/*!
 * Viewer.js v1.11.7
 * https://fengyuanchen.github.io/viewerjs
 *
 * Copyright 2015-present Chen Fengyuan
 * Released under the MIT license
 *
 * Date: 2024-11-24T04:32:14.526Z
 */

.viewer-zoom-in::before, .viewer-zoom-out::before, .viewer-one-to-one::before, .viewer-reset::before, .viewer-prev::before, .viewer-play::before, .viewer-next::before, .viewer-rotate-left::before, .viewer-rotate-right::before, .viewer-flip-horizontal::before, .viewer-flip-vertical::before, .viewer-fullscreen::before, .viewer-fullscreen-exit::before, .viewer-close::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 560 40%22%3E%3Cpath fill%3D%22%23fff%22 d%3D%22M49.6 17.9h20.2v3.9H49.6zm123.1 2 10.9-11 2.7 2.8-8.2 8.2 8.2 8.2-2.7 2.7-10.9-10.9zm94 0-10.8-11-2.7 2.8 8.1 8.2-8.1 8.2 2.7 2.7 10.8-10.9zM212 9.3l20.1 10.6L212 30.5V9.3zm161.5 4.6-7.2 6 7.2 5.9v-4h12.4v4l7.3-5.9-7.3-6v4h-12.4v-4zm40.2 12.3 5.9 7.2 5.9-7.2h-4V13.6h4l-5.9-7.3-5.9 7.3h4v12.6h-4zm35.9-16.5h6.3v2h-4.3V16h-2V9.7Zm14 0h6.2V16h-2v-4.3h-4.2v-2Zm6.2 14V30h-6.2v-2h4.2v-4.3h2Zm-14 6.3h-6.2v-6.3h2v4.4h4.3v2Zm-438 .1v-8.3H9.6v-3.9h8.2V9.7h3.9v8.2h8.1v3.9h-8.1v8.3h-3.9zM93.6 9.7h-5.8v3.9h2V30h3.8V9.7zm16.1 0h-5.8v3.9h1.9V30h3.9V9.7zm-11.9 4.1h3.9v3.9h-3.9zm0 8.2h3.9v3.9h-3.9zm244.6-11.7 7.2 5.9-7.2 6v-3.6c-5.4-.4-7.8.8-8.7 2.8-.8 1.7-1.8 4.9 2.8 8.2-6.3-2-7.5-6.9-6-11.3 1.6-4.4 8-5 11.9-4.9v-3.1Zm147.2 13.4h6.3V30h-2v-4.3h-4.3v-2zm14 6.3v-6.3h6.2v2h-4.3V30h-1.9zm6.2-14h-6.2V9.7h1.9V14h4.3v2zm-13.9 0h-6.3v-2h4.3V9.7h2V16zm33.3 12.5 8.6-8.6-8.6-8.7 1.9-1.9 8.6 8.7 8.6-8.7 1.9 1.9-8.6 8.7 8.6 8.6-1.9 2-8.6-8.7-8.6 8.7-1.9-2zM297 10.3l-7.1 5.9 7.2 6v-3.6c5.3-.4 7.7.8 8.7 2.8.8 1.7 1.7 4.9-2.9 8.2 6.3-2 7.5-6.9 6-11.3-1.6-4.4-7.9-5-11.8-4.9v-3.1Zm-157.3-.6c2.3 0 4.4.7 6 2l2.5-3 1.9 9.2h-9.3l2.6-3.1a6.2 6.2 0 0 0-9.9 5.1c0 3.4 2.8 6.3 6.2 6.3 2.8 0 5.1-1.9 6-4.4h4c-1 4.7-5 8.3-10 8.3a10 10 0 0 1-10-10.2 10 10 0 0 1 10-10.2Z%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-size: 280px;
    color: transparent;
    display: block;
    font-size: 0;
    height: 20px;
    line-height: 0;
    width: 20px;
  }

.viewer-zoom-in::before {
  background-position: 0 0;
  content: 'Zoom In';
}

.viewer-zoom-out::before {
  background-position: -20px 0;
  content: 'Zoom Out';
}

.viewer-one-to-one::before {
  background-position: -40px 0;
  content: 'One to One';
}

.viewer-reset::before {
  background-position: -60px 0;
  content: 'Reset';
}

.viewer-prev::before {
  background-position: -80px 0;
  content: 'Previous';
}

.viewer-play::before {
  background-position: -100px 0;
  content: 'Play';
}

.viewer-next::before {
  background-position: -120px 0;
  content: 'Next';
}

.viewer-rotate-left::before {
  background-position: -140px 0;
  content: 'Rotate Left';
}

.viewer-rotate-right::before {
  background-position: -160px 0;
  content: 'Rotate Right';
}

.viewer-flip-horizontal::before {
  background-position: -180px 0;
  content: 'Flip Horizontal';
}

.viewer-flip-vertical::before {
  background-position: -200px 0;
  content: 'Flip Vertical';
}

.viewer-fullscreen::before {
  background-position: -220px 0;
  content: 'Enter Full Screen';
}

.viewer-fullscreen-exit::before {
  background-position: -240px 0;
  content: 'Exit Full Screen';
}

.viewer-close::before {
  background-position: -260px 0;
  content: 'Close';
}

.viewer-container {
  bottom: 0;
  direction: ltr;
  font-size: 0;
  left: 0;
  line-height: 0;
  overflow: hidden;
  position: absolute;
  right: 0;
  -webkit-tap-highlight-color: transparent;
  top: 0;
  -ms-touch-action: none;
      touch-action: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.viewer-container::-moz-selection, .viewer-container *::-moz-selection {
    background-color: transparent;
  }

.viewer-container::selection,
  .viewer-container *::selection {
    background-color: transparent;
  }

.viewer-container:focus {
    outline: 0;
  }

.viewer-container img {
    display: block;
    height: auto;
    max-height: none !important;
    max-width: none !important;
    min-height: 0 !important;
    min-width: 0 !important;
    width: 100%;
  }

.viewer-canvas {
  bottom: 0;
  left: 0;
  overflow: hidden;
  position: absolute;
  right: 0;
  top: 0;
}

.viewer-canvas > img {
    height: auto;
    margin: 15px auto;
    max-width: 90% !important;
    width: auto;
  }

.viewer-footer {
  bottom: 0;
  left: 0;
  overflow: hidden;
  position: absolute;
  right: 0;
  text-align: center;
}

.viewer-navbar {
  background-color: rgba(0, 0, 0, 0.5);
  overflow: hidden;
}

.viewer-list {
  box-sizing: content-box;
  height: 50px;
  margin: 0;
  overflow: hidden;
  padding: 1px 0;
}

.viewer-list > li {
    color: transparent;
    cursor: pointer;
    float: left;
    font-size: 0;
    height: 50px;
    line-height: 0;
    opacity: 0.5;
    overflow: hidden;
    transition: opacity 0.15s;
    width: 30px;
  }

.viewer-list > li:focus,
    .viewer-list > li:hover {
      opacity: 0.75;
    }

.viewer-list > li:focus {
      outline: 0;
    }

.viewer-list > li + li {
      margin-left: 1px;
    }

.viewer-list > .viewer-loading {
    position: relative;
  }

.viewer-list > .viewer-loading::after {
      border-width: 2px;
      height: 20px;
      margin-left: -10px;
      margin-top: -10px;
      width: 20px;
    }

.viewer-list > .viewer-active,
  .viewer-list > .viewer-active:focus,
  .viewer-list > .viewer-active:hover {
    opacity: 1;
  }

.viewer-player {
  background-color: #000;
  bottom: 0;
  cursor: none;
  display: none;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}

.viewer-player > img {
    left: 0;
    position: absolute;
    top: 0;
  }

.viewer-toolbar > ul {
    display: inline-block;
    margin: 0 auto 5px;
    overflow: hidden;
    padding: 6px 3px;
  }

.viewer-toolbar > ul > li {
      background-color: rgba(0, 0, 0, 0.5);
      border-radius: 50%;
      cursor: pointer;
      float: left;
      height: 24px;
      overflow: hidden;
      transition: background-color 0.15s;
      width: 24px;
    }

.viewer-toolbar > ul > li:focus,
      .viewer-toolbar > ul > li:hover {
        background-color: rgba(0, 0, 0, 0.8);
      }

.viewer-toolbar > ul > li:focus {
        box-shadow: 0 0 3px #fff;
        outline: 0;
        position: relative;
        z-index: 1;
      }

.viewer-toolbar > ul > li::before {
        margin: 2px;
      }

.viewer-toolbar > ul > li + li {
        margin-left: 1px;
      }

.viewer-toolbar > ul > .viewer-small {
      height: 18px;
      margin-bottom: 3px;
      margin-top: 3px;
      width: 18px;
    }

.viewer-toolbar > ul > .viewer-small::before {
        margin: -1px;
      }

.viewer-toolbar > ul > .viewer-large {
      height: 30px;
      margin-bottom: -3px;
      margin-top: -3px;
      width: 30px;
    }

.viewer-toolbar > ul > .viewer-large::before {
        margin: 5px;
      }

.viewer-tooltip {
  background-color: rgba(0, 0, 0, 0.8);
  border-radius: 10px;
  color: #fff;
  display: none;
  font-size: 12px;
  height: 20px;
  left: 50%;
  line-height: 20px;
  margin-left: -25px;
  margin-top: -10px;
  position: absolute;
  text-align: center;
  top: 50%;
  width: 50px;
}

.viewer-title {
  color: #ccc;
  display: inline-block;
  font-size: 12px;
  line-height: 1.2;
  margin: 5px 5%;
  max-width: 90%;
  min-height: 14px;
  opacity: 0.8;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: opacity 0.15s;
  white-space: nowrap;
}

.viewer-title:hover {
    opacity: 1;
  }

.viewer-button {
  -webkit-app-region: no-drag;
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 50%;
  cursor: pointer;
  height: 80px;
  overflow: hidden;
  position: absolute;
  right: -40px;
  top: -40px;
  transition: background-color 0.15s;
  width: 80px;
}

.viewer-button:focus,
  .viewer-button:hover {
    background-color: rgba(0, 0, 0, 0.8);
  }

.viewer-button:focus {
    box-shadow: 0 0 3px #fff;
    outline: 0;
  }

.viewer-button::before {
    bottom: 15px;
    left: 15px;
    position: absolute;
  }

.viewer-fixed {
  position: fixed;
}

.viewer-open {
  overflow: hidden;
}

.viewer-show {
  display: block;
}

.viewer-hide {
  display: none;
}

.viewer-backdrop {
  background-color: rgba(0, 0, 0, 0.5);
}

.viewer-invisible {
  visibility: hidden;
}

.viewer-move {
  cursor: move;
  cursor: grab;
}

.viewer-fade {
  opacity: 0;
}

.viewer-in {
  opacity: 1;
}

.viewer-transition {
  transition: all 0.3s;
}

@keyframes viewer-spinner {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

.viewer-loading::after {
    animation: viewer-spinner 1s linear infinite;
    border: 4px solid rgba(255, 255, 255, 0.1);
    border-left-color: rgba(255, 255, 255, 0.5);
    border-radius: 50%;
    content: '';
    display: inline-block;
    height: 40px;
    left: 50%;
    margin-left: -20px;
    margin-top: -20px;
    position: absolute;
    top: 50%;
    width: 40px;
    z-index: 1;
  }

@media (max-width: 767px) {
  .viewer-hide-xs-down {
    display: none;
  }
}

@media (max-width: 991px) {
  .viewer-hide-sm-down {
    display: none;
  }
}

@media (max-width: 1199px) {
  .viewer-hide-md-down {
    display: none;
  }
}
.vue-cropper[data-v-a742df44]{position:relative;width:100%;height:100%;box-sizing:border-box;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;direction:ltr;touch-action:none;text-align:left;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC)}.cropper-box[data-v-a742df44],.cropper-box-canvas[data-v-a742df44],.cropper-drag-box[data-v-a742df44],.cropper-crop-box[data-v-a742df44],.cropper-face[data-v-a742df44]{position:absolute;top:0;right:0;bottom:0;left:0;-webkit-user-select:none;user-select:none}.cropper-box-canvas img[data-v-a742df44]{position:relative;text-align:left;-webkit-user-select:none;user-select:none;transform:none;max-width:none;max-height:none}.cropper-box[data-v-a742df44]{overflow:hidden}.cropper-move[data-v-a742df44]{cursor:move}.cropper-crop[data-v-a742df44]{cursor:crosshair}.cropper-modal[data-v-a742df44]{background:rgba(0,0,0,.5)}.cropper-view-box[data-v-a742df44]{display:block;overflow:hidden;width:100%;height:100%;outline:1px solid #39f;outline-color:#3399ffbf;-webkit-user-select:none;user-select:none}.cropper-view-box img[data-v-a742df44]{-webkit-user-select:none;user-select:none;text-align:left;max-width:none;max-height:none}.cropper-face[data-v-a742df44]{top:0;left:0;background-color:#fff;opacity:.1}.crop-info[data-v-a742df44]{position:absolute;left:0;min-width:65px;text-align:center;color:#fff;line-height:20px;background-color:#000c;font-size:12px}.crop-line[data-v-a742df44]{position:absolute;display:block;width:100%;height:100%;opacity:.1}.line-w[data-v-a742df44]{top:-3px;left:0;height:5px;cursor:n-resize}.line-a[data-v-a742df44]{top:0;left:-3px;width:5px;cursor:w-resize}.line-s[data-v-a742df44]{bottom:-3px;left:0;height:5px;cursor:s-resize}.line-d[data-v-a742df44]{top:0;right:-3px;width:5px;cursor:e-resize}.crop-point[data-v-a742df44]{position:absolute;width:8px;height:8px;opacity:.75;background-color:#39f;border-radius:100%}.point1[data-v-a742df44]{top:-4px;left:-4px;cursor:nw-resize}.point2[data-v-a742df44]{top:-5px;left:50%;margin-left:-3px;cursor:n-resize}.point3[data-v-a742df44]{top:-4px;right:-4px;cursor:ne-resize}.point4[data-v-a742df44]{top:50%;left:-4px;margin-top:-3px;cursor:w-resize}.point5[data-v-a742df44]{top:50%;right:-4px;margin-top:-3px;cursor:e-resize}.point6[data-v-a742df44]{bottom:-5px;left:-4px;cursor:sw-resize}.point7[data-v-a742df44]{bottom:-5px;left:50%;margin-left:-3px;cursor:s-resize}.point8[data-v-a742df44]{bottom:-5px;right:-4px;cursor:se-resize}@media screen and (max-width: 500px){.crop-point[data-v-a742df44]{position:absolute;width:20px;height:20px;opacity:.45;background-color:#39f;border-radius:100%}.point1[data-v-a742df44]{top:-10px;left:-10px}.point2[data-v-a742df44],.point4[data-v-a742df44],.point5[data-v-a742df44],.point7[data-v-a742df44]{display:none}.point3[data-v-a742df44]{top:-10px;right:-10px}.point4[data-v-a742df44]{top:0;left:0}.point6[data-v-a742df44]{bottom:-10px;left:-10px}.point8[data-v-a742df44]{bottom:-10px;right:-10px}}
/* stylelint-disable */
html,
body {
  width: 100%;
  height: 100%;
}
input::-ms-clear,
input::-ms-reveal {
  display: none;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -ms-overflow-style: scrollbar;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
@-ms-viewport {
  width: device-width;
}
body {
  margin: 0;
}
[tabindex='-1']:focus {
  outline: none;
}
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  margin-bottom: 0.5em;
  font-weight: 500;
}
p {
  margin-top: 0;
  margin-bottom: 1em;
}
abbr[title],
abbr[data-original-title] {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline;
  text-decoration: underline dotted;
  border-bottom: 0;
  cursor: help;
}
address {
  margin-bottom: 1em;
  font-style: normal;
  line-height: inherit;
}
input[type='text'],
input[type='password'],
input[type='number'],
textarea {
  -webkit-appearance: none;
}
ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1em;
}
ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}
dt {
  font-weight: 500;
}
dd {
  margin-bottom: 0.5em;
  margin-left: 0;
}
blockquote {
  margin: 0 0 1em;
}
dfn {
  font-style: italic;
}
b,
strong {
  font-weight: bolder;
}
small {
  font-size: 80%;
}
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
pre,
code,
kbd,
samp {
  font-size: 1em;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace;
}
pre {
  margin-top: 0;
  margin-bottom: 1em;
  overflow: auto;
}
figure {
  margin: 0 0 1em;
}
img {
  vertical-align: middle;
  border-style: none;
}
a,
area,
button,
[role='button'],
input:not([type='range']),
label,
select,
summary,
textarea {
  touch-action: manipulation;
}
table {
  border-collapse: collapse;
}
caption {
  padding-top: 0.75em;
  padding-bottom: 0.3em;
  text-align: left;
  caption-side: bottom;
}
input,
button,
select,
optgroup,
textarea {
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
}
button,
input {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
button,
html [type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button;
}
button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
  padding: 0;
  border-style: none;
}
input[type='radio'],
input[type='checkbox'] {
  box-sizing: border-box;
  padding: 0;
}
input[type='date'],
input[type='time'],
input[type='datetime-local'],
input[type='month'] {
  -webkit-appearance: listbox;
}
textarea {
  overflow: auto;
  resize: vertical;
}
fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
legend {
  display: block;
  width: 100%;
  max-width: 100%;
  margin-bottom: 0.5em;
  padding: 0;
  color: inherit;
  font-size: 1.5em;
  line-height: inherit;
  white-space: normal;
}
progress {
  vertical-align: baseline;
}
[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
  height: auto;
}
[type='search'] {
  outline-offset: -2px;
  -webkit-appearance: none;
}
[type='search']::-webkit-search-cancel-button,
[type='search']::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}
output {
  display: inline-block;
}
summary {
  display: list-item;
}
template {
  display: none;
}
[hidden] {
  display: none !important;
}
mark {
  padding: 0.2em;
  background-color: #feffe6;
}
:root{--color-primary: #1377eb;--color-primary-light: #3b99f7;--color-primary-dark: #0c5fc5;--color-primary-50: #e7f1fd;--color-primary-100: #dbeafe;--color-primary-200: #eff6ff;--color-success: #40bd48;--color-success-bg: #ebf8ec;--color-warning: #ffb829;--color-error: #f54645;--color-error-bg: #fff2f0;--color-error-border: #ffccc7;--color-info: #1377eb;--color-heading: #1a253b;--color-text: #1e293b;--color-text-secondary: #8894a8;--color-text-muted: #94a3b8;--color-disabled: #bcc1cc;--color-bg: #ffffff;--color-bg-secondary: #f8fafc;--color-bg-tertiary: #f5f5f7;--color-bg-hover: #e7f1fd;--color-bg-active: #dbeafe;--color-border: #e1e5eb;--color-border-light: #e2e8f0;--color-border-lighter: #f0f0f0;--shadow-sm: 0 2px 8px 0 rgba(0, 0, 0, .1);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-card: 0 10px 6px -6px rgba(30, 30, 30, .1), 12px 0 8px -8px rgba(50, 50, 50, .1);--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 20px;--space-xxl: 24px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 13px;--font-size-md: 14px;--font-size-lg: 16px;--font-size-xl: 18px;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease}::-webkit-scrollbar{width:7px;height:7px;background-color:transparent}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#d0d3db}::-webkit-scrollbar-thumb:hover{border-radius:3px;background-color:#8894a8}.process-modal>.ant-modal{top:2rem}.a-link{padding:4px;color:#4e5d78;border-radius:4px}.a-link:hover{cursor:pointer;color:#1377eb;background-color:#e7f1fd}.card-shadow{box-shadow:0 10px 6px -6px #1e1e1e1a,12px 0 8px -8px #3232321a;transition:all .2s ease-in-out}.card-shadow2{box-shadow:0 4px 8px #0003,0 6px 20px #00000030}.card-shadow3{box-shadow:#0000001a 0 10px 15px -3px}.card-shadow4{box-shadow:0 2px 12px #0000001a}.card-shadow5{box-shadow:0 10px 10px #0003}.card-shadow6{box-shadow:0 10px 39px 10px #21212138}.card-shadow-left{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.box{width:700px;height:700px;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);background-size:100%;background-position:center}.frosted__glass{width:80%;height:40%;border-radius:40px;display:flex;justify-content:center;align-items:center;font-size:60px;letter-spacing:.5em;backdrop-filter:blur(20px);color:#fff;box-shadow:0 0 30px 10px #0000004d}.gradient{background:linear-gradient(-45deg,#ee7752,#e73c7e,#23a6d5,#23d5ab);background-size:600% 600%;animation:gradientBG 30s ease infinite}@keyframes gradientBG{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.zebra__shadow__text{font-size:100px;font-weight:700;color:transparent;-webkit-text-fill-color:transparent;text-shadow:6px -6px #000,4px -4px #fff;background-image:linear-gradient(135deg,#fff 0% 25%,#000 25% 50%,#fff 50% 75%,#000 75% 100%);background-size:6px 6px;background-repeat:repeat;-webkit-background-clip:text;background-clip:text}.ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.multi-ellipsis--l2{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical}.multi-ellipsis--l3{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:3;-webkit-box-orient:vertical}.noFooter .ant-modal-footer{display:none}.required_icon:before{content:"*";margin-right:4px;color:#ff4d4f}.required_bdr_color,.required_bdr_color .ant-input,.required_bdr_color .select-tree,.required_bdr_color .ant-calendar-picker-input,.required_bdr_color .ant-select-selection,.required_bdr_color .ant-select-selection--single,.ant-form-item .has-error .rule-wrapper{border-color:#ff4d4f}.status-blue{color:#1377eb}.status-gray{color:#bcc1cc}.status-green{color:#40bd48}.status-orange{color:#ffb829}.status-red{color:#f54645}.input-readonly-show-border{border:1px solid #e1e5eb;border-radius:4px}.ant-form-item .rule-wrapper{min-height:32px;padding:2px}.container .ant-tree li .ant-tree-node-content-wrapper.ant-tree-node-selected{background-color:#e7f1fd}.ant-input-suffix #icon-user{font-size:14px;padding-bottom:2px}.ant-tree-title .a-link{display:initial}.ant-table-row .ant-btn-sm{font-size:14px}.date-range-set-all{z-index:800}.date-range-set-all .ant-popover-content{display:inline-block}.flow-a-link-icon:hover{cursor:pointer;color:#1377eb;background-color:#e1ebf9}.flow-a-link-icon:active{color:#0658c4;background-color:#e7f1fd}.flow-icon-hint{color:#8894a8;vertical-align:middle;font-size:16px;cursor:pointer}.flow-icon-hint:hover{color:#1377eb}.flow-icon-hint:active{color:#0658c4}.ant-table .ant-table-tbody .options .a-link{margin-right:8px}.text-no-select{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-khtml-user-select:none;user-select:none}.card-b-shadow{box-shadow:0 12px 12px -12px #0000001a}.card-b-shadow2{box-shadow:0 10px 6px -6px #1e1e1e1a,12px 0 8px -8px #3232321a;transition:all .2s ease-in-out}.process-disabled-component{height:32px;color:#4e5d78;border-radius:4px;padding-left:8px;padding-right:8px;border:1px solid #e1e5eb;background-color:#f5f5f7}.config-content .form-item .ant-form-item,.group-menu .ant-form-item{margin-bottom:12px!important}.draw2d_menu_container{background-color:#f8fafc!important;border:1px solid #e2e8f0!important;border-radius:8px!important;box-shadow:0 4px 6px -1px #00000014,0 10px 15px -3px #0000001a,0 0 0 1px #00000008!important;padding:0!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,Microsoft YaHei,Helvetica Neue,Arial,sans-serif!important;font-size:13px!important;line-height:1.5!important;color:#1e293b!important;z-index:1000!important;min-width:180px!important;backdrop-filter:blur(12px) saturate(180%)!important;-webkit-backdrop-filter:blur(12px) saturate(180%)!important}.draw2d_menu_container ul{list-style:none!important;margin:0!important;padding:0!important;background-color:transparent!important;box-shadow:none!important}.draw2d_menu_container li{padding:7px 12px!important;margin:0 4px!important;cursor:pointer!important;transition:background-color .15s ease,color .15s ease!important;position:relative!important;white-space:nowrap!important;border-radius:5px!important;color:#334155!important;font-size:13px!important;display:flex!important;align-items:center!important;justify-content:space-between!important}.draw2d_menu_container li:hover{background-color:#eff6ff!important;color:#1377eb!important}.draw2d_menu_container li:active{background-color:#dbeafe!important;color:#0c5fc5!important}.draw2d_menu_text{display:inline-flex!important;align-items:center!important;flex:1!important;font-size:13px!important}.draw2d_menu_sub_span{display:inline-flex!important;align-items:center!important;justify-content:center!important;margin-left:12px!important;width:16px!important;height:16px!important;flex-shrink:0!important}.menu_sub_icon{width:14px!important;height:14px!important;fill:#94a3b8!important;transition:fill .15s ease,transform .15s ease!important}.draw2d_menu_container li:hover .menu_sub_icon{fill:#1377eb!important;transform:translate(1px)!important}.draw2d_menu_container li:hover>.draw2d_menu_sub_span{background:transparent!important;color:#1377eb!important}.draw2d_menu_container li.draw2d_menu_divider{border-bottom:none!important;border-top:1px solid #e2e8f0!important;margin:4px 8px!important;padding:0!important;height:0!important;cursor:default!important;border-radius:0!important}.draw2d_menu_container li.draw2d_menu_divider:hover{background-color:transparent!important}.draw2d_menu_container li[disabled=""]{color:#94a3b8!important;cursor:not-allowed!important;opacity:.6!important}.draw2d_menu_container li[disabled=""]:hover{background-color:transparent!important;color:#94a3b8!important}.draw2d_menu_container li .draw2d_menu_icon_span{width:1.5em!important;height:1.2em!important;vertical-align:middle!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;margin-right:6px!important;flex-shrink:0!important}.draw2d_menu_container li ul{position:absolute!important;top:-4px!important;left:calc(100% + 4px)!important;display:none!important;background-color:#f8fafc!important;border:1px solid #e2e8f0!important;border-radius:8px!important;box-shadow:0 4px 6px -1px #00000014,0 10px 15px -3px #0000001a,0 0 0 1px #00000008!important;padding:4px 0!important;min-width:180px!important;backdrop-filter:blur(12px) saturate(180%)!important;-webkit-backdrop-filter:blur(12px) saturate(180%)!important;transition:opacity .15s ease,transform .15s ease!important;opacity:0!important;transform:translate(4px) scale(.98)!important;pointer-events:none!important;visibility:hidden!important}.draw2d_menu_container li:hover>ul{display:block!important;opacity:1!important;transform:translate(0) scale(1)!important;pointer-events:auto!important;visibility:visible!important;z-index:1001!important}.draw2d_menu_container li ul:before{content:""!important;position:absolute!important;top:-4px!important;left:-10px!important;width:14px!important;height:calc(100% + 8px)!important;background:transparent!important}.draw2d_menu_container li ul li{padding:7px 12px!important;margin:0 4px!important;border-radius:5px!important;font-size:13px!important}.draw2d_menu_container li ul li:hover{background-color:#eff6ff!important;color:#1377eb!important}.draw2d_menu_container li ul li:active{background-color:#dbeafe!important;color:#0c5fc5!important}.draw2d_menu_container li ul li.draw2d_menu_divider{border-top:1px solid #e2e8f0!important;margin:4px 8px!important;padding:0!important;height:0!important}.draw2d_menu_container.draw2d_menu_border_right>ul ul{left:unset!important;right:calc(100% + 4px)!important}.draw2d_menu_container.draw2d_menu_border_bottom>ul ul{top:unset!important;bottom:-4px!important}.scrollbar-sm[data-v-8625884d]::-webkit-scrollbar{width:6px;height:6px}.scrollbar-sm[data-v-8625884d] *::-webkit-scrollbar{width:6px;height:6px}.scroll-overlay[data-v-8625884d]::-webkit-scrollbar{overflow:overlay}.font-size-sm[data-v-8625884d]{font-size:12px}.font-size-normal[data-v-8625884d]{font-size:14px}.font-size-lg[data-v-8625884d]{font-size:16px}.primary-color[data-v-8625884d]{color:#1377eb}.primary-bgColor[data-v-8625884d]{background-color:#1377eb}.link-color[data-v-8625884d]{color:#1377eb}.success-color[data-v-8625884d]{color:#52c41a}.success-bgColor[data-v-8625884d]{background-color:#52c41a}.warning-color[data-v-8625884d]{color:#faad14}.error-color[data-v-8625884d]{color:#ff4d4f}.error-bgColor[data-v-8625884d]{background-color:#fff2f0}.label-color[data-v-8625884d]{color:#64748b}.heading-color[data-v-8625884d]{color:#1a253b}.heading-bgColor[data-v-8625884d]{background-color:#1a253b}.text-color[data-v-8625884d]{color:#1a253b}.text-color-secondary[data-v-8625884d]{color:#4e5d78}.disabled-color[data-v-8625884d]{color:#bcc1cc}.bgColor-light[data-v-8625884d],.table-head-bgColor[data-v-8625884d]{background-color:#f5f7fa}.hover-bg-color[data-v-8625884d]:hover{background-color:#f0f7ff}.icon-bg-color[data-v-8625884d]:hover{background-color:#e6f4ff}.padding-xs[data-v-8625884d]{padding:.25rem}.padding-s[data-v-8625884d]{padding:.5rem}.padding-l[data-v-8625884d]{padding:.75rem}.padding-xl[data-v-8625884d]{padding:1rem}.padding-xxl[data-v-8625884d]{padding:1.5rem}.padding-xxxl[data-v-8625884d]{padding:2rem}.margin-xs[data-v-8625884d]{margin:.25rem}.margin-s[data-v-8625884d]{margin:.5rem}.margin-l[data-v-8625884d]{margin:.75rem}.margin-xl[data-v-8625884d]{margin:1rem}.margin-xxl[data-v-8625884d]{margin:1.5rem}.margin-xxxl[data-v-8625884d]{margin:2rem}.a-link[data-v-8625884d]{display:inline-block;padding-left:2px;padding-right:2px;color:#1377eb;border-radius:6px}.a-link[data-v-8625884d]:hover{color:#3b99f7;background-color:#e6f4ff;cursor:pointer}.a-link[data-v-8625884d]:active{color:#0658c4;background-color:#fafbfc}.a-link--disabled[data-v-8625884d]{color:#bcc1cc}.a-link--disabled[data-v-8625884d]:hover,.a-link--disabled[data-v-8625884d]:active{color:#bcc1cc;background-color:transparent;cursor:not-allowed}.snake-step-container[data-v-8625884d]{display:grid;grid-template-columns:repeat(var(--v1ff31516),1fr);gap:42px 30px;padding-top:6px;position:relative}.snake-step-item[data-v-8625884d]{position:relative;display:flex;align-items:center;justify-content:center;z-index:1}.step-content[data-v-8625884d]{position:relative;width:8rem;height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f8fafd;border:2px dashed #c3d9f0;border-radius:4px;padding:4px;box-shadow:0 2px 6px #0000000d;transition:all .3s ease}.step-content[data-v-8625884d]:hover{transform:translateY(-5px);box-shadow:0 6px 12px #0000001a;border-color:#66b8ff;background:#fff}.step-name[data-v-8625884d]{font-size:14px;line-height:24px;color:#1a253b;text-align:center;font-weight:500;margin-bottom:4px}.step-index[data-v-8625884d]{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#66b8ff;color:#fff;border-radius:50%;font-size:12px;font-weight:700}.horizontal-line[data-v-8625884d]{position:absolute;top:50%;right:-30px;width:30px;height:1px;background:repeating-linear-gradient(to right,#8894a8,#8894a8 4px,transparent 4px,transparent 8px);transform:translateY(-50%);z-index:0}.vertical-line[data-v-8625884d]{position:absolute;bottom:-42px;left:50%;width:1px;height:42px;background:repeating-linear-gradient(to bottom,#8894a8,#8894a8 4px,transparent 4px,transparent 8px);transform:translate(-50%);z-index:0}.horizontal-arrow[data-v-8625884d]{position:absolute;top:50%;right:-26px;width:10px;height:10px;border-top:1px solid #8894a8;border-right:1px solid #8894a8;transform:translateY(-50%) rotate(45deg);z-index:0}.vertical-arrow[data-v-8625884d]{position:absolute;bottom:-38px;left:50%;width:10px;height:10px;border-bottom:1px solid #8894a8;border-right:1px solid #8894a8;transform:translate(-50%) rotate(45deg);z-index:0}.snake-step-item:nth-child(2n) .horizontal-line[data-v-8625884d]{right:auto;left:-30px;transform:translateY(-50%) rotate(180deg)}.snake-step-item:nth-child(2n) .horizontal-arrow[data-v-8625884d]{right:auto;left:-26px;transform:translateY(-50%) rotate(-135deg)}.container[data-v-18bc60fe]{display:flex;flex-direction:column;gap:16px}.ant-empty-small[data-v-18bc60fe]{padding:12px 0}.svg-icon[data-v-bf4b0779]{vertical-align:-.15em;fill:currentColor;overflow:hidden;font-size:16px}.scrollbar-sm[data-v-5d40c862]::-webkit-scrollbar{width:6px;height:6px}.scrollbar-sm[data-v-5d40c862] *::-webkit-scrollbar{width:6px;height:6px}.scroll-overlay[data-v-5d40c862]::-webkit-scrollbar{overflow:overlay}.font-size-sm[data-v-5d40c862]{font-size:12px}.font-size-normal[data-v-5d40c862]{font-size:14px}.font-size-lg[data-v-5d40c862]{font-size:16px}.primary-color[data-v-5d40c862]{color:#1377eb}.primary-bgColor[data-v-5d40c862]{background-color:#1377eb}.link-color[data-v-5d40c862]{color:#1377eb}.success-color[data-v-5d40c862]{color:#52c41a}.success-bgColor[data-v-5d40c862]{background-color:#52c41a}.warning-color[data-v-5d40c862]{color:#faad14}.error-color[data-v-5d40c862]{color:#ff4d4f}.error-bgColor[data-v-5d40c862]{background-color:#fff2f0}.label-color[data-v-5d40c862]{color:#64748b}.heading-color[data-v-5d40c862]{color:#1a253b}.heading-bgColor[data-v-5d40c862]{background-color:#1a253b}.text-color[data-v-5d40c862]{color:#1a253b}.text-color-secondary[data-v-5d40c862]{color:#4e5d78}.disabled-color[data-v-5d40c862]{color:#bcc1cc}.bgColor-light[data-v-5d40c862],.table-head-bgColor[data-v-5d40c862]{background-color:#f5f7fa}.hover-bg-color[data-v-5d40c862]:hover{background-color:#f0f7ff}.icon-bg-color[data-v-5d40c862]:hover{background-color:#e6f4ff}.padding-xs[data-v-5d40c862]{padding:.25rem}.padding-s[data-v-5d40c862]{padding:.5rem}.padding-l[data-v-5d40c862]{padding:.75rem}.padding-xl[data-v-5d40c862]{padding:1rem}.padding-xxl[data-v-5d40c862]{padding:1.5rem}.padding-xxxl[data-v-5d40c862]{padding:2rem}.margin-xs[data-v-5d40c862]{margin:.25rem}.margin-s[data-v-5d40c862]{margin:.5rem}.margin-l[data-v-5d40c862]{margin:.75rem}.margin-xl[data-v-5d40c862]{margin:1rem}.margin-xxl[data-v-5d40c862]{margin:1.5rem}.margin-xxxl[data-v-5d40c862]{margin:2rem}.a-link[data-v-5d40c862]{display:inline-block;padding-left:2px;padding-right:2px;color:#1377eb;border-radius:6px}.a-link[data-v-5d40c862]:hover{color:#3b99f7;background-color:#e6f4ff;cursor:pointer}.a-link[data-v-5d40c862]:active{color:#0658c4;background-color:#fafbfc}.a-link--disabled[data-v-5d40c862]{color:#bcc1cc}.a-link--disabled[data-v-5d40c862]:hover,.a-link--disabled[data-v-5d40c862]:active{color:#bcc1cc;background-color:transparent;cursor:not-allowed}[data-v-5d40c862]:root{--color-primary: #1377eb;--color-primary-light: #3b99f7;--color-primary-dark: #0c5fc5;--color-primary-50: #e7f1fd;--color-primary-100: #dbeafe;--color-primary-200: #eff6ff;--color-success: #40bd48;--color-success-bg: #ebf8ec;--color-warning: #ffb829;--color-error: #f54645;--color-error-bg: #fff2f0;--color-error-border: #ffccc7;--color-info: #1377eb;--color-heading: #1a253b;--color-text: #1e293b;--color-text-secondary: #8894a8;--color-text-muted: #94a3b8;--color-disabled: #bcc1cc;--color-bg: #ffffff;--color-bg-secondary: #f8fafc;--color-bg-tertiary: #f5f5f7;--color-bg-hover: #e7f1fd;--color-bg-active: #dbeafe;--color-border: #e1e5eb;--color-border-light: #e2e8f0;--color-border-lighter: #f0f0f0;--shadow-sm: 0 2px 8px 0 rgba(0, 0, 0, .1);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-card: 0 10px 6px -6px rgba(30, 30, 30, .1), 12px 0 8px -8px rgba(50, 50, 50, .1);--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 20px;--space-xxl: 24px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 13px;--font-size-md: 14px;--font-size-lg: 16px;--font-size-xl: 18px;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease}[data-v-5d40c862]::-webkit-scrollbar{width:7px;height:7px;background-color:transparent}[data-v-5d40c862]::-webkit-scrollbar-track{background:transparent}[data-v-5d40c862]::-webkit-scrollbar-thumb{border-radius:3px;background-color:#d0d3db}[data-v-5d40c862]::-webkit-scrollbar-thumb:hover{border-radius:3px;background-color:#8894a8}.process-modal>.ant-modal[data-v-5d40c862]{top:2rem}.a-link[data-v-5d40c862]{padding:4px;color:#4e5d78;border-radius:4px}.a-link[data-v-5d40c862]:hover{cursor:pointer;color:#1377eb;background-color:#e7f1fd}.card-shadow[data-v-5d40c862]{box-shadow:0 10px 6px -6px #1e1e1e1a,12px 0 8px -8px #3232321a;transition:all .2s ease-in-out}.card-shadow2[data-v-5d40c862]{box-shadow:0 4px 8px #0003,0 6px 20px #00000030}.card-shadow3[data-v-5d40c862]{box-shadow:#0000001a 0 10px 15px -3px}.card-shadow4[data-v-5d40c862]{box-shadow:0 2px 12px #0000001a}.card-shadow5[data-v-5d40c862]{box-shadow:0 10px 10px #0003}.card-shadow6[data-v-5d40c862]{box-shadow:0 10px 39px 10px #21212138}.card-shadow-left[data-v-5d40c862]{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.box[data-v-5d40c862]{width:700px;height:700px;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);background-size:100%;background-position:center}.frosted__glass[data-v-5d40c862]{width:80%;height:40%;border-radius:40px;display:flex;justify-content:center;align-items:center;font-size:60px;letter-spacing:.5em;backdrop-filter:blur(20px);color:#fff;box-shadow:0 0 30px 10px #0000004d}.gradient[data-v-5d40c862]{background:linear-gradient(-45deg,#ee7752,#e73c7e,#23a6d5,#23d5ab);background-size:600% 600%;animation:gradientBG-5d40c862 30s ease infinite}@keyframes gradientBG-5d40c862{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.zebra__shadow__text[data-v-5d40c862]{font-size:100px;font-weight:700;color:transparent;-webkit-text-fill-color:transparent;text-shadow:6px -6px #000,4px -4px #fff;background-image:linear-gradient(135deg,#fff 0% 25%,#000 25% 50%,#fff 50% 75%,#000 75% 100%);background-size:6px 6px;background-repeat:repeat;-webkit-background-clip:text;background-clip:text}.ellipsis[data-v-5d40c862]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.multi-ellipsis--l2[data-v-5d40c862]{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical}.multi-ellipsis--l3[data-v-5d40c862]{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:3;-webkit-box-orient:vertical}.required_icon[data-v-5d40c862]:before{content:"*";margin-right:4px;color:#ff4d4f}.required_bdr_color[data-v-5d40c862],.required_bdr_color .ant-input[data-v-5d40c862],.required_bdr_color .select-tree[data-v-5d40c862],.required_bdr_color .ant-calendar-picker-input[data-v-5d40c862],.required_bdr_color .ant-select-selection[data-v-5d40c862],.required_bdr_color .ant-select-selection--single[data-v-5d40c862],.ant-form-item .has-error .rule-wrapper[data-v-5d40c862]{border-color:#ff4d4f}.status-blue[data-v-5d40c862]{color:#1377eb}.status-gray[data-v-5d40c862]{color:#bcc1cc}.status-green[data-v-5d40c862]{color:#40bd48}.status-orange[data-v-5d40c862]{color:#ffb829}.status-red[data-v-5d40c862]{color:#f54645}.input-readonly-show-border[data-v-5d40c862]{border:1px solid #e1e5eb;border-radius:4px}.ant-form-item .rule-wrapper[data-v-5d40c862]{min-height:32px;padding:2px}.container .ant-tree li .ant-tree-node-content-wrapper.ant-tree-node-selected[data-v-5d40c862]{background-color:#e7f1fd}.ant-input-suffix #icon-user[data-v-5d40c862]{font-size:14px;padding-bottom:2px}.ant-tree-title .a-link[data-v-5d40c862]{display:initial}.ant-table-row .ant-btn-sm[data-v-5d40c862]{font-size:14px}.date-range-set-all[data-v-5d40c862]{z-index:800}.date-range-set-all .ant-popover-content[data-v-5d40c862]{display:inline-block}.flow-a-link-icon[data-v-5d40c862]:hover{cursor:pointer;color:#1377eb;background-color:#e1ebf9}.flow-a-link-icon[data-v-5d40c862]:active{color:#0658c4;background-color:#e7f1fd}.flow-icon-hint[data-v-5d40c862]{color:#8894a8;vertical-align:middle;font-size:16px;cursor:pointer}.flow-icon-hint[data-v-5d40c862]:hover{color:#1377eb}.flow-icon-hint[data-v-5d40c862]:active{color:#0658c4}.ant-table .ant-table-tbody .options .a-link[data-v-5d40c862]{margin-right:8px}.text-no-select[data-v-5d40c862]{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-khtml-user-select:none;user-select:none}.card-b-shadow[data-v-5d40c862]{box-shadow:0 12px 12px -12px #0000001a}.card-b-shadow2[data-v-5d40c862]{box-shadow:0 10px 6px -6px #1e1e1e1a,12px 0 8px -8px #3232321a;transition:all .2s ease-in-out}.process-disabled-component[data-v-5d40c862]{height:32px;color:#4e5d78;border-radius:4px;padding-left:8px;padding-right:8px;border:1px solid #e1e5eb;background-color:#f5f5f7}.config-content .form-item .ant-form-item[data-v-5d40c862],.group-menu .ant-form-item[data-v-5d40c862]{margin-bottom:12px!important}.draw2d_menu_container[data-v-5d40c862]{background-color:#f8fafc!important;border:1px solid #e2e8f0!important;border-radius:8px!important;box-shadow:0 4px 6px -1px #00000014,0 10px 15px -3px #0000001a,0 0 0 1px #00000008!important;padding:0!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,Microsoft YaHei,Helvetica Neue,Arial,sans-serif!important;font-size:13px!important;line-height:1.5!important;color:#1e293b!important;z-index:1000!important;min-width:180px!important;backdrop-filter:blur(12px) saturate(180%)!important;-webkit-backdrop-filter:blur(12px) saturate(180%)!important}.draw2d_menu_container ul[data-v-5d40c862]{list-style:none!important;margin:0!important;padding:0!important;background-color:transparent!important;box-shadow:none!important}.draw2d_menu_container li[data-v-5d40c862]{padding:7px 12px!important;margin:0 4px!important;cursor:pointer!important;transition:background-color .15s ease,color .15s ease!important;position:relative!important;white-space:nowrap!important;border-radius:5px!important;color:#334155!important;font-size:13px!important;display:flex!important;align-items:center!important;justify-content:space-between!important}.draw2d_menu_container li[data-v-5d40c862]:hover{background-color:#eff6ff!important;color:#1377eb!important}.draw2d_menu_container li[data-v-5d40c862]:active{background-color:#dbeafe!important;color:#0c5fc5!important}.draw2d_menu_text[data-v-5d40c862]{display:inline-flex!important;align-items:center!important;flex:1!important;font-size:13px!important}.draw2d_menu_sub_span[data-v-5d40c862]{display:inline-flex!important;align-items:center!important;justify-content:center!important;margin-left:12px!important;width:16px!important;height:16px!important;flex-shrink:0!important}.menu_sub_icon[data-v-5d40c862]{width:14px!important;height:14px!important;fill:#94a3b8!important;transition:fill .15s ease,transform .15s ease!important}.draw2d_menu_container li:hover .menu_sub_icon[data-v-5d40c862]{fill:#1377eb!important;transform:translate(1px)!important}.draw2d_menu_container li:hover>.draw2d_menu_sub_span[data-v-5d40c862]{background:transparent!important;color:#1377eb!important}.draw2d_menu_container li.draw2d_menu_divider[data-v-5d40c862]{border-bottom:none!important;border-top:1px solid #e2e8f0!important;margin:4px 8px!important;padding:0!important;height:0!important;cursor:default!important;border-radius:0!important}.draw2d_menu_container li.draw2d_menu_divider[data-v-5d40c862]:hover{background-color:transparent!important}.draw2d_menu_container li[disabled=""][data-v-5d40c862]{color:#94a3b8!important;cursor:not-allowed!important;opacity:.6!important}.draw2d_menu_container li[disabled=""][data-v-5d40c862]:hover{background-color:transparent!important;color:#94a3b8!important}.draw2d_menu_container li .draw2d_menu_icon_span[data-v-5d40c862]{width:1.5em!important;height:1.2em!important;vertical-align:middle!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;margin-right:6px!important;flex-shrink:0!important}.draw2d_menu_container li ul[data-v-5d40c862]{position:absolute!important;top:-4px!important;left:calc(100% + 4px)!important;display:none!important;background-color:#f8fafc!important;border:1px solid #e2e8f0!important;border-radius:8px!important;box-shadow:0 4px 6px -1px #00000014,0 10px 15px -3px #0000001a,0 0 0 1px #00000008!important;padding:4px 0!important;min-width:180px!important;backdrop-filter:blur(12px) saturate(180%)!important;-webkit-backdrop-filter:blur(12px) saturate(180%)!important;transition:opacity .15s ease,transform .15s ease!important;opacity:0!important;transform:translate(4px) scale(.98)!important;pointer-events:none!important;visibility:hidden!important}.draw2d_menu_container li:hover>ul[data-v-5d40c862]{display:block!important;opacity:1!important;transform:translate(0) scale(1)!important;pointer-events:auto!important;visibility:visible!important;z-index:1001!important}.draw2d_menu_container li ul[data-v-5d40c862]:before{content:""!important;position:absolute!important;top:-4px!important;left:-10px!important;width:14px!important;height:calc(100% + 8px)!important;background:transparent!important}.draw2d_menu_container li ul li[data-v-5d40c862]{padding:7px 12px!important;margin:0 4px!important;border-radius:5px!important;font-size:13px!important}.draw2d_menu_container li ul li[data-v-5d40c862]:hover{background-color:#eff6ff!important;color:#1377eb!important}.draw2d_menu_container li ul li[data-v-5d40c862]:active{background-color:#dbeafe!important;color:#0c5fc5!important}.draw2d_menu_container li ul li.draw2d_menu_divider[data-v-5d40c862]{border-top:1px solid #e2e8f0!important;margin:4px 8px!important;padding:0!important;height:0!important}.draw2d_menu_container.draw2d_menu_border_right>ul ul[data-v-5d40c862]{left:unset!important;right:calc(100% + 4px)!important}.draw2d_menu_container.draw2d_menu_border_bottom>ul ul[data-v-5d40c862]{top:unset!important;bottom:-4px!important}.noFooter .ant-modal-footer[data-v-5d40c862]{display:none}[data-v-5d40c862] .ant-modal-body{padding:24px!important}[data-v-5d40c862] .ant-modal-body .ant-form{max-height:60vh;overflow-y:auto}[data-v-5d40c862] .ant-modal-body .ant-form .ant-form-item{height:32px;margin-bottom:12px}[data-v-5d40c862] .ant-modal-body .ant-form .ant-form-item .ant-form-item-label{height:32px;line-height:32px}[data-v-5d40c862] .ant-modal-body .ant-form .ant-form-item .ant-input,[data-v-5d40c862] .ant-modal-body .ant-form .ant-form-item .ant-input-affix-wrapper{height:32px;border-radius:4px}[data-v-5d40c862] .ant-modal-body .ant-form .ant-form-item .ant-input-textarea{border-radius:4px}.btnBlue[data-v-5d40c862]{background-color:#1377eb;border-color:#1377eb}.btnBlue[data-v-5d40c862]:hover{background-color:#4192f0;border-color:#4192f0}.ant-empty[data-v-5d40c862]{padding:16px 0}.scrollbar-sm[data-v-63af1dab]::-webkit-scrollbar{width:6px;height:6px}.scrollbar-sm[data-v-63af1dab] *::-webkit-scrollbar{width:6px;height:6px}.scroll-overlay[data-v-63af1dab]::-webkit-scrollbar{overflow:overlay}.font-size-sm[data-v-63af1dab]{font-size:12px}.font-size-normal[data-v-63af1dab]{font-size:14px}.font-size-lg[data-v-63af1dab]{font-size:16px}.primary-color[data-v-63af1dab]{color:#1377eb}.primary-bgColor[data-v-63af1dab]{background-color:#1377eb}.link-color[data-v-63af1dab]{color:#1377eb}.success-color[data-v-63af1dab]{color:#52c41a}.success-bgColor[data-v-63af1dab]{background-color:#52c41a}.warning-color[data-v-63af1dab]{color:#faad14}.error-color[data-v-63af1dab]{color:#ff4d4f}.error-bgColor[data-v-63af1dab]{background-color:#fff2f0}.label-color[data-v-63af1dab]{color:#64748b}.heading-color[data-v-63af1dab]{color:#1a253b}.heading-bgColor[data-v-63af1dab]{background-color:#1a253b}.text-color[data-v-63af1dab]{color:#1a253b}.text-color-secondary[data-v-63af1dab]{color:#4e5d78}.disabled-color[data-v-63af1dab]{color:#bcc1cc}.bgColor-light[data-v-63af1dab],.table-head-bgColor[data-v-63af1dab]{background-color:#f5f7fa}.hover-bg-color[data-v-63af1dab]:hover{background-color:#f0f7ff}.icon-bg-color[data-v-63af1dab]:hover{background-color:#e6f4ff}.padding-xs[data-v-63af1dab]{padding:.25rem}.padding-s[data-v-63af1dab]{padding:.5rem}.padding-l[data-v-63af1dab]{padding:.75rem}.padding-xl[data-v-63af1dab]{padding:1rem}.padding-xxl[data-v-63af1dab]{padding:1.5rem}.padding-xxxl[data-v-63af1dab]{padding:2rem}.margin-xs[data-v-63af1dab]{margin:.25rem}.margin-s[data-v-63af1dab]{margin:.5rem}.margin-l[data-v-63af1dab]{margin:.75rem}.margin-xl[data-v-63af1dab]{margin:1rem}.margin-xxl[data-v-63af1dab]{margin:1.5rem}.margin-xxxl[data-v-63af1dab]{margin:2rem}.a-link[data-v-63af1dab]{display:inline-block;padding-left:2px;padding-right:2px;color:#1377eb;border-radius:6px}.a-link[data-v-63af1dab]:hover{color:#3b99f7;background-color:#e6f4ff;cursor:pointer}.a-link[data-v-63af1dab]:active{color:#0658c4;background-color:#fafbfc}.a-link--disabled[data-v-63af1dab]{color:#bcc1cc}.a-link--disabled[data-v-63af1dab]:hover,.a-link--disabled[data-v-63af1dab]:active{color:#bcc1cc;background-color:transparent;cursor:not-allowed}.multiline-input[data-v-63af1dab]{margin:0;padding:0}.multiline-input[data-v-63af1dab] .ant-input-affix-wrapper{line-height:32px}.multiline-input[data-v-63af1dab] .ant-input-textarea-clear-icon{top:4px}.multiline-input .multiline-input-icon[data-v-63af1dab]{margin-left:4px;height:32px;line-height:56px}.lang-icon[data-v-63af1dab]{color:#4e5d78;cursor:pointer;transition:color .3s}.lang-icon[data-v-63af1dab]:hover{color:#1377eb}.multiline-lang-icon[data-v-63af1dab]{font-size:22px}.multilingual-input[data-v-63af1dab] .ant-input-group-addon{padding:0;background:transparent;border:none}.multilingual-input[data-v-63af1dab] .ant-input{border-radius:4px 0 0 4px}@media(max-width:768px){.multiline-input[data-v-63af1dab]{flex-direction:column}.multiline-input .multiline-input-icon[data-v-63af1dab]{margin-left:0;margin-top:8px;height:auto;line-height:1.5}}.scrollbar-sm[data-v-0e470352]::-webkit-scrollbar{width:6px;height:6px}.scrollbar-sm[data-v-0e470352] *::-webkit-scrollbar{width:6px;height:6px}.scroll-overlay[data-v-0e470352]::-webkit-scrollbar{overflow:overlay}.font-size-sm[data-v-0e470352]{font-size:12px}.font-size-normal[data-v-0e470352]{font-size:14px}.font-size-lg[data-v-0e470352]{font-size:16px}.primary-color[data-v-0e470352]{color:#1377eb}.primary-bgColor[data-v-0e470352]{background-color:#1377eb}.link-color[data-v-0e470352]{color:#1377eb}.success-color[data-v-0e470352]{color:#52c41a}.success-bgColor[data-v-0e470352]{background-color:#52c41a}.warning-color[data-v-0e470352]{color:#faad14}.error-color[data-v-0e470352]{color:#ff4d4f}.error-bgColor[data-v-0e470352]{background-color:#fff2f0}.label-color[data-v-0e470352]{color:#64748b}.heading-color[data-v-0e470352]{color:#1a253b}.heading-bgColor[data-v-0e470352]{background-color:#1a253b}.text-color[data-v-0e470352]{color:#1a253b}.text-color-secondary[data-v-0e470352]{color:#4e5d78}.disabled-color[data-v-0e470352]{color:#bcc1cc}.bgColor-light[data-v-0e470352],.table-head-bgColor[data-v-0e470352]{background-color:#f5f7fa}.hover-bg-color[data-v-0e470352]:hover{background-color:#f0f7ff}.icon-bg-color[data-v-0e470352]:hover{background-color:#e6f4ff}.padding-xs[data-v-0e470352]{padding:.25rem}.padding-s[data-v-0e470352]{padding:.5rem}.padding-l[data-v-0e470352]{padding:.75rem}.padding-xl[data-v-0e470352]{padding:1rem}.padding-xxl[data-v-0e470352]{padding:1.5rem}.padding-xxxl[data-v-0e470352]{padding:2rem}.margin-xs[data-v-0e470352]{margin:.25rem}.margin-s[data-v-0e470352]{margin:.5rem}.margin-l[data-v-0e470352]{margin:.75rem}.margin-xl[data-v-0e470352]{margin:1rem}.margin-xxl[data-v-0e470352]{margin:1.5rem}.margin-xxxl[data-v-0e470352]{margin:2rem}.a-link[data-v-0e470352]{display:inline-block;padding-left:2px;padding-right:2px;color:#1377eb;border-radius:6px}.a-link[data-v-0e470352]:hover{color:#3b99f7;background-color:#e6f4ff;cursor:pointer}.a-link[data-v-0e470352]:active{color:#0658c4;background-color:#fafbfc}.a-link--disabled[data-v-0e470352]{color:#bcc1cc}.a-link--disabled[data-v-0e470352]:hover,.a-link--disabled[data-v-0e470352]:active{color:#bcc1cc;background-color:transparent;cursor:not-allowed}.required-icon[data-v-0e470352]:before{content:"*";margin-right:4px;color:#ff4d4f}.field-label[data-v-0e470352]{cursor:default;display:inline-block;max-width:100%}.field-label .label-text[data-v-0e470352]{display:inline-block;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;vertical-align:bottom}.dynamic-params-editor[data-v-31f0724e]{width:100%;padding:12px;border:1px solid #f0f0f0;border-radius:8px;background-color:#fff;box-shadow:0 2px 8px #0000000d}.param-row[data-v-31f0724e]{display:flex;gap:8px;margin-bottom:8px;align-items:center}.param-input[data-v-31f0724e]{flex:1;transition:all .3s}.param-input[data-v-31f0724e]:focus-within{box-shadow:0 0 0 2px #1890ff33;border-color:#40a9ff}.param-action[data-v-31f0724e]{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.add-button[data-v-31f0724e]{width:100%;margin-top:8px;border-radius:4px;border-color:#40a9ff;color:#40a9ff;transition:all .3s}.add-button[data-v-31f0724e]:hover{border-color:#1890ff;color:#1890ff}.dynamic-tips[data-v-31f0724e]{margin-top:12px}.tip-content[data-v-31f0724e]{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.tip-content span[data-v-31f0724e]{margin-right:6px}.tip-content .ant-tag[data-v-31f0724e]{cursor:pointer;transition:transform .2s;user-select:none}.tip-content .ant-tag[data-v-31f0724e]:hover{transform:translateY(-2px);box-shadow:0 2px 8px #0000001a}.field-senior-select[data-v-6d3c226e],.field-senior-select[data-v-6d3c226e] .ant-select{width:100%}.field-senior-select .option-content[data-v-6d3c226e]{display:flex;align-items:center;justify-content:space-between}.field-senior-select .select-footer[data-v-6d3c226e]{padding:8px}.field-senior-select .select-footer .config-section[data-v-6d3c226e]{width:100%;text-align:center}.field-senior-select[data-v-6d3c226e] .ant-table{margin-bottom:8px}.field-senior-select-modal .ant-form-item{margin-bottom:0}.field-senior-select-modal .ant-table-placeholder{display:none}.field-date[data-v-e07c4b15],.field-date[data-v-e07c4b15] .ant-picker{width:100%}.scrollbar-sm[data-v-4463fdfa]::-webkit-scrollbar{width:6px;height:6px}.scrollbar-sm[data-v-4463fdfa] *::-webkit-scrollbar{width:6px;height:6px}.scroll-overlay[data-v-4463fdfa]::-webkit-scrollbar{overflow:overlay}.font-size-sm[data-v-4463fdfa]{font-size:12px}.font-size-normal[data-v-4463fdfa]{font-size:14px}.font-size-lg[data-v-4463fdfa]{font-size:16px}.primary-color[data-v-4463fdfa]{color:#1377eb}.primary-bgColor[data-v-4463fdfa]{background-color:#1377eb}.link-color[data-v-4463fdfa]{color:#1377eb}.success-color[data-v-4463fdfa]{color:#52c41a}.success-bgColor[data-v-4463fdfa]{background-color:#52c41a}.warning-color[data-v-4463fdfa]{color:#faad14}.error-color[data-v-4463fdfa]{color:#ff4d4f}.error-bgColor[data-v-4463fdfa]{background-color:#fff2f0}.label-color[data-v-4463fdfa]{color:#64748b}.heading-color[data-v-4463fdfa]{color:#1a253b}.heading-bgColor[data-v-4463fdfa]{background-color:#1a253b}.text-color[data-v-4463fdfa]{color:#1a253b}.text-color-secondary[data-v-4463fdfa]{color:#4e5d78}.disabled-color[data-v-4463fdfa]{color:#bcc1cc}.bgColor-light[data-v-4463fdfa],.table-head-bgColor[data-v-4463fdfa]{background-color:#f5f7fa}.hover-bg-color[data-v-4463fdfa]:hover{background-color:#f0f7ff}.icon-bg-color[data-v-4463fdfa]:hover{background-color:#e6f4ff}.padding-xs[data-v-4463fdfa]{padding:.25rem}.padding-s[data-v-4463fdfa]{padding:.5rem}.padding-l[data-v-4463fdfa]{padding:.75rem}.padding-xl[data-v-4463fdfa]{padding:1rem}.padding-xxl[data-v-4463fdfa]{padding:1.5rem}.padding-xxxl[data-v-4463fdfa]{padding:2rem}.margin-xs[data-v-4463fdfa]{margin:.25rem}.margin-s[data-v-4463fdfa]{margin:.5rem}.margin-l[data-v-4463fdfa]{margin:.75rem}.margin-xl[data-v-4463fdfa]{margin:1rem}.margin-xxl[data-v-4463fdfa]{margin:1.5rem}.margin-xxxl[data-v-4463fdfa]{margin:2rem}.a-link[data-v-4463fdfa]{display:inline-block;padding-left:2px;padding-right:2px;color:#1377eb;border-radius:6px}.a-link[data-v-4463fdfa]:hover{color:#3b99f7;background-color:#e6f4ff;cursor:pointer}.a-link[data-v-4463fdfa]:active{color:#0658c4;background-color:#fafbfc}.a-link--disabled[data-v-4463fdfa]{color:#bcc1cc}.a-link--disabled[data-v-4463fdfa]:hover,.a-link--disabled[data-v-4463fdfa]:active{color:#bcc1cc;background-color:transparent;cursor:not-allowed}.field-list[data-v-4463fdfa]{height:100%;text-align:left;display:block}.field-list[data-v-4463fdfa] .ant-radio-group .ant-radio-wrapper,.field-list[data-v-4463fdfa] .ant-checkbox-group .ant-checkbox-wrapper{margin-left:0;margin-right:8px}.block[data-v-4463fdfa] .ant-radio-group .ant-radio-wrapper,.block[data-v-4463fdfa] .ant-checkbox-group .ant-checkbox-wrapper{display:block;width:100%;margin-left:0;line-height:36px}.common-flex[data-v-47c33ffc]{display:flex;box-sizing:border-box}.common-flex.flex-full-height[data-v-47c33ffc]{height:100%}.common-flex.flex-direction-row[data-v-47c33ffc]{flex-direction:row}.common-flex.flex-direction-row-reverse[data-v-47c33ffc]{flex-direction:row-reverse}.common-flex.flex-direction-column[data-v-47c33ffc]{flex-direction:column}.common-flex.flex-direction-column-reverse[data-v-47c33ffc]{flex-direction:column-reverse}.common-flex.flex-justify-start[data-v-47c33ffc]{justify-content:flex-start}.common-flex.flex-justify-center[data-v-47c33ffc]{justify-content:center}.common-flex.flex-justify-end[data-v-47c33ffc]{justify-content:flex-end}.common-flex.flex-justify-space-around[data-v-47c33ffc]{justify-content:space-around}.common-flex.flex-justify-space-between[data-v-47c33ffc]{justify-content:space-between}.common-flex.flex-justify-space-evenly[data-v-47c33ffc]{justify-content:space-evenly}.common-flex.flex-align-start[data-v-47c33ffc]{align-items:flex-start}.common-flex.flex-align-end[data-v-47c33ffc]{align-items:flex-end}.common-flex.flex-align-center[data-v-47c33ffc]{align-items:center}.common-flex.flex-align-baseline[data-v-47c33ffc]{align-items:baseline}.common-flex.flex-align-stretch[data-v-47c33ffc]{align-items:stretch}.common-flex.flex-wrap[data-v-47c33ffc]{flex-wrap:wrap}.common-flex.flex-nowrap[data-v-47c33ffc]{flex-wrap:nowrap}.common-flex.flex-inline[data-v-47c33ffc]{display:inline-flex}.common-flex.flex-item-0>.flex-item[data-v-47c33ffc]{flex:0}.common-flex.flex-item-1>.flex-item[data-v-47c33ffc]{flex:1}.common-flex.flex-item-initial>.flex-item[data-v-47c33ffc]{flex:initial}.common-flex.flex-item-auto>.flex-item[data-v-47c33ffc]{flex:auto}.common-flex.flex-item-none>.flex-item[data-v-47c33ffc]{flex:none}.col-xs-12-1[data-v-47c33ffc]{width:8.33333333%;min-width:8.33333333%;max-width:8.33333333%}.col-xs-12-2[data-v-47c33ffc]{width:16.66666667%;min-width:16.66666667%;max-width:16.66666667%}.col-xs-12-3[data-v-47c33ffc]{width:25%;min-width:25%;max-width:25%}.col-xs-12-4[data-v-47c33ffc]{width:33.33333333%;min-width:33.33333333%;max-width:33.33333333%}.col-xs-12-5[data-v-47c33ffc]{width:41.66666667%;min-width:41.66666667%;max-width:41.66666667%}.col-xs-12-6[data-v-47c33ffc]{width:50%;min-width:50%;max-width:50%}.col-xs-12-7[data-v-47c33ffc]{width:58.33333333%;min-width:58.33333333%;max-width:58.33333333%}.col-xs-12-8[data-v-47c33ffc]{width:66.66666667%;min-width:66.66666667%;max-width:66.66666667%}.col-xs-12-9[data-v-47c33ffc]{width:75%;min-width:75%;max-width:75%}.col-xs-12-10[data-v-47c33ffc]{width:83.33333333%;min-width:83.33333333%;max-width:83.33333333%}.col-xs-12-11[data-v-47c33ffc]{width:91.66666667%;min-width:91.66666667%;max-width:91.66666667%}.col-xs-12-12[data-v-47c33ffc]{width:100%;min-width:100%;max-width:100%}.col-xs-24-1[data-v-47c33ffc]{width:4.16666667%;min-width:4.16666667%;max-width:4.16666667%}.col-xs-24-2[data-v-47c33ffc]{width:8.33333333%;min-width:8.33333333%;max-width:8.33333333%}.col-xs-24-3[data-v-47c33ffc]{width:12.5%;min-width:12.5%;max-width:12.5%}.col-xs-24-4[data-v-47c33ffc]{width:16.66666667%;min-width:16.66666667%;max-width:16.66666667%}.col-xs-24-5[data-v-47c33ffc]{width:20.83333333%;min-width:20.83333333%;max-width:20.83333333%}.col-xs-24-6[data-v-47c33ffc]{width:25%;min-width:25%;max-width:25%}.col-xs-24-7[data-v-47c33ffc]{width:29.16666667%;min-width:29.16666667%;max-width:29.16666667%}.col-xs-24-8[data-v-47c33ffc]{width:33.33333333%;min-width:33.33333333%;max-width:33.33333333%}.col-xs-24-9[data-v-47c33ffc]{width:37.5%;min-width:37.5%;max-width:37.5%}.col-xs-24-10[data-v-47c33ffc]{width:41.66666667%;min-width:41.66666667%;max-width:41.66666667%}.col-xs-24-11[data-v-47c33ffc]{width:45.83333333%;min-width:45.83333333%;max-width:45.83333333%}.col-xs-24-12[data-v-47c33ffc]{width:50%;min-width:50%;max-width:50%}.col-xs-24-13[data-v-47c33ffc]{width:54.16666667%;min-width:54.16666667%;max-width:54.16666667%}.col-xs-24-14[data-v-47c33ffc]{width:58.33333333%;min-width:58.33333333%;max-width:58.33333333%}.col-xs-24-15[data-v-47c33ffc]{width:62.5%;min-width:62.5%;max-width:62.5%}.col-xs-24-16[data-v-47c33ffc]{width:66.66666667%;min-width:66.66666667%;max-width:66.66666667%}.col-xs-24-17[data-v-47c33ffc]{width:70.83333333%;min-width:70.83333333%;max-width:70.83333333%}.col-xs-24-18[data-v-47c33ffc]{width:75%;min-width:75%;max-width:75%}.col-xs-24-19[data-v-47c33ffc]{width:79.16666667%;min-width:79.16666667%;max-width:79.16666667%}.col-xs-24-20[data-v-47c33ffc]{width:83.33333333%;min-width:83.33333333%;max-width:83.33333333%}.col-xs-24-21[data-v-47c33ffc]{width:87.5%;min-width:87.5%;max-width:87.5%}.col-xs-24-22[data-v-47c33ffc]{width:91.66666667%;min-width:91.66666667%;max-width:91.66666667%}.col-xs-24-23[data-v-47c33ffc]{width:95.83333333%;min-width:95.83333333%;max-width:95.83333333%}.col-xs-24-24[data-v-47c33ffc]{width:100%;min-width:100%;max-width:100%}@media(min-width:576px){.col-sm-12-1[data-v-47c33ffc]{width:8.33333333%;min-width:8.33333333%;max-width:8.33333333%}.col-sm-12-2[data-v-47c33ffc]{width:16.66666667%;min-width:16.66666667%;max-width:16.66666667%}.col-sm-12-3[data-v-47c33ffc]{width:25%;min-width:25%;max-width:25%}.col-sm-12-4[data-v-47c33ffc]{width:33.33333333%;min-width:33.33333333%;max-width:33.33333333%}.col-sm-12-5[data-v-47c33ffc]{width:41.66666667%;min-width:41.66666667%;max-width:41.66666667%}.col-sm-12-6[data-v-47c33ffc]{width:50%;min-width:50%;max-width:50%}.col-sm-12-7[data-v-47c33ffc]{width:58.33333333%;min-width:58.33333333%;max-width:58.33333333%}.col-sm-12-8[data-v-47c33ffc]{width:66.66666667%;min-width:66.66666667%;max-width:66.66666667%}.col-sm-12-9[data-v-47c33ffc]{width:75%;min-width:75%;max-width:75%}.col-sm-12-10[data-v-47c33ffc]{width:83.33333333%;min-width:83.33333333%;max-width:83.33333333%}.col-sm-12-11[data-v-47c33ffc]{width:91.66666667%;min-width:91.66666667%;max-width:91.66666667%}.col-sm-12-12[data-v-47c33ffc]{width:100%;min-width:100%;max-width:100%}.col-sm-24-1[data-v-47c33ffc]{width:4.16666667%;min-width:4.16666667%;max-width:4.16666667%}.col-sm-24-2[data-v-47c33ffc]{width:8.33333333%;min-width:8.33333333%;max-width:8.33333333%}.col-sm-24-3[data-v-47c33ffc]{width:12.5%;min-width:12.5%;max-width:12.5%}.col-sm-24-4[data-v-47c33ffc]{width:16.66666667%;min-width:16.66666667%;max-width:16.66666667%}.col-sm-24-5[data-v-47c33ffc]{width:20.83333333%;min-width:20.83333333%;max-width:20.83333333%}.col-sm-24-6[data-v-47c33ffc]{width:25%;min-width:25%;max-width:25%}.col-sm-24-7[data-v-47c33ffc]{width:29.16666667%;min-width:29.16666667%;max-width:29.16666667%}.col-sm-24-8[data-v-47c33ffc]{width:33.33333333%;min-width:33.33333333%;max-width:33.33333333%}.col-sm-24-9[data-v-47c33ffc]{width:37.5%;min-width:37.5%;max-width:37.5%}.col-sm-24-10[data-v-47c33ffc]{width:41.66666667%;min-width:41.66666667%;max-width:41.66666667%}.col-sm-24-11[data-v-47c33ffc]{width:45.83333333%;min-width:45.83333333%;max-width:45.83333333%}.col-sm-24-12[data-v-47c33ffc]{width:50%;min-width:50%;max-width:50%}.col-sm-24-13[data-v-47c33ffc]{width:54.16666667%;min-width:54.16666667%;max-width:54.16666667%}.col-sm-24-14[data-v-47c33ffc]{width:58.33333333%;min-width:58.33333333%;max-width:58.33333333%}.col-sm-24-15[data-v-47c33ffc]{width:62.5%;min-width:62.5%;max-width:62.5%}.col-sm-24-16[data-v-47c33ffc]{width:66.66666667%;min-width:66.66666667%;max-width:66.66666667%}.col-sm-24-17[data-v-47c33ffc]{width:70.83333333%;min-width:70.83333333%;max-width:70.83333333%}.col-sm-24-18[data-v-47c33ffc]{width:75%;min-width:75%;max-width:75%}.col-sm-24-19[data-v-47c33ffc]{width:79.16666667%;min-width:79.16666667%;max-width:79.16666667%}.col-sm-24-20[data-v-47c33ffc]{width:83.33333333%;min-width:83.33333333%;max-width:83.33333333%}.col-sm-24-21[data-v-47c33ffc]{width:87.5%;min-width:87.5%;max-width:87.5%}.col-sm-24-22[data-v-47c33ffc]{width:91.66666667%;min-width:91.66666667%;max-width:91.66666667%}.col-sm-24-23[data-v-47c33ffc]{width:95.83333333%;min-width:95.83333333%;max-width:95.83333333%}.col-sm-24-24[data-v-47c33ffc]{width:100%;min-width:100%;max-width:100%}}@media(min-width:768px){.col-md-12-1[data-v-47c33ffc]{width:8.33333333%;min-width:8.33333333%;max-width:8.33333333%}.col-md-12-2[data-v-47c33ffc]{width:16.66666667%;min-width:16.66666667%;max-width:16.66666667%}.col-md-12-3[data-v-47c33ffc]{width:25%;min-width:25%;max-width:25%}.col-md-12-4[data-v-47c33ffc]{width:33.33333333%;min-width:33.33333333%;max-width:33.33333333%}.col-md-12-5[data-v-47c33ffc]{width:41.66666667%;min-width:41.66666667%;max-width:41.66666667%}.col-md-12-6[data-v-47c33ffc]{width:50%;min-width:50%;max-width:50%}.col-md-12-7[data-v-47c33ffc]{width:58.33333333%;min-width:58.33333333%;max-width:58.33333333%}.col-md-12-8[data-v-47c33ffc]{width:66.66666667%;min-width:66.66666667%;max-width:66.66666667%}.col-md-12-9[data-v-47c33ffc]{width:75%;min-width:75%;max-width:75%}.col-md-12-10[data-v-47c33ffc]{width:83.33333333%;min-width:83.33333333%;max-width:83.33333333%}.col-md-12-11[data-v-47c33ffc]{width:91.66666667%;min-width:91.66666667%;max-width:91.66666667%}.col-md-12-12[data-v-47c33ffc]{width:100%;min-width:100%;max-width:100%}.col-md-24-1[data-v-47c33ffc]{width:4.16666667%;min-width:4.16666667%;max-width:4.16666667%}.col-md-24-2[data-v-47c33ffc]{width:8.33333333%;min-width:8.33333333%;max-width:8.33333333%}.col-md-24-3[data-v-47c33ffc]{width:12.5%;min-width:12.5%;max-width:12.5%}.col-md-24-4[data-v-47c33ffc]{width:16.66666667%;min-width:16.66666667%;max-width:16.66666667%}.col-md-24-5[data-v-47c33ffc]{width:20.83333333%;min-width:20.83333333%;max-width:20.83333333%}.col-md-24-6[data-v-47c33ffc]{width:25%;min-width:25%;max-width:25%}.col-md-24-7[data-v-47c33ffc]{width:29.16666667%;min-width:29.16666667%;max-width:29.16666667%}.col-md-24-8[data-v-47c33ffc]{width:33.33333333%;min-width:33.33333333%;max-width:33.33333333%}.col-md-24-9[data-v-47c33ffc]{width:37.5%;min-width:37.5%;max-width:37.5%}.col-md-24-10[data-v-47c33ffc]{width:41.66666667%;min-width:41.66666667%;max-width:41.66666667%}.col-md-24-11[data-v-47c33ffc]{width:45.83333333%;min-width:45.83333333%;max-width:45.83333333%}.col-md-24-12[data-v-47c33ffc]{width:50%;min-width:50%;max-width:50%}.col-md-24-13[data-v-47c33ffc]{width:54.16666667%;min-width:54.16666667%;max-width:54.16666667%}.col-md-24-14[data-v-47c33ffc]{width:58.33333333%;min-width:58.33333333%;max-width:58.33333333%}.col-md-24-15[data-v-47c33ffc]{width:62.5%;min-width:62.5%;max-width:62.5%}.col-md-24-16[data-v-47c33ffc]{width:66.66666667%;min-width:66.66666667%;max-width:66.66666667%}.col-md-24-17[data-v-47c33ffc]{width:70.83333333%;min-width:70.83333333%;max-width:70.83333333%}.col-md-24-18[data-v-47c33ffc]{width:75%;min-width:75%;max-width:75%}.col-md-24-19[data-v-47c33ffc]{width:79.16666667%;min-width:79.16666667%;max-width:79.16666667%}.col-md-24-20[data-v-47c33ffc]{width:83.33333333%;min-width:83.33333333%;max-width:83.33333333%}.col-md-24-21[data-v-47c33ffc]{width:87.5%;min-width:87.5%;max-width:87.5%}.col-md-24-22[data-v-47c33ffc]{width:91.66666667%;min-width:91.66666667%;max-width:91.66666667%}.col-md-24-23[data-v-47c33ffc]{width:95.83333333%;min-width:95.83333333%;max-width:95.83333333%}.col-md-24-24[data-v-47c33ffc]{width:100%;min-width:100%;max-width:100%}}@media(min-width:992px){.col-lg-12-1[data-v-47c33ffc]{width:8.33333333%;min-width:8.33333333%;max-width:8.33333333%}.col-lg-12-2[data-v-47c33ffc]{width:16.66666667%;min-width:16.66666667%;max-width:16.66666667%}.col-lg-12-3[data-v-47c33ffc]{width:25%;min-width:25%;max-width:25%}.col-lg-12-4[data-v-47c33ffc]{width:33.33333333%;min-width:33.33333333%;max-width:33.33333333%}.col-lg-12-5[data-v-47c33ffc]{width:41.66666667%;min-width:41.66666667%;max-width:41.66666667%}.col-lg-12-6[data-v-47c33ffc]{width:50%;min-width:50%;max-width:50%}.col-lg-12-7[data-v-47c33ffc]{width:58.33333333%;min-width:58.33333333%;max-width:58.33333333%}.col-lg-12-8[data-v-47c33ffc]{width:66.66666667%;min-width:66.66666667%;max-width:66.66666667%}.col-lg-12-9[data-v-47c33ffc]{width:75%;min-width:75%;max-width:75%}.col-lg-12-10[data-v-47c33ffc]{width:83.33333333%;min-width:83.33333333%;max-width:83.33333333%}.col-lg-12-11[data-v-47c33ffc]{width:91.66666667%;min-width:91.66666667%;max-width:91.66666667%}.col-lg-12-12[data-v-47c33ffc]{width:100%;min-width:100%;max-width:100%}.col-lg-24-1[data-v-47c33ffc]{width:4.16666667%;min-width:4.16666667%;max-width:4.16666667%}.col-lg-24-2[data-v-47c33ffc]{width:8.33333333%;min-width:8.33333333%;max-width:8.33333333%}.col-lg-24-3[data-v-47c33ffc]{width:12.5%;min-width:12.5%;max-width:12.5%}.col-lg-24-4[data-v-47c33ffc]{width:16.66666667%;min-width:16.66666667%;max-width:16.66666667%}.col-lg-24-5[data-v-47c33ffc]{width:20.83333333%;min-width:20.83333333%;max-width:20.83333333%}.col-lg-24-6[data-v-47c33ffc]{width:25%;min-width:25%;max-width:25%}.col-lg-24-7[data-v-47c33ffc]{width:29.16666667%;min-width:29.16666667%;max-width:29.16666667%}.col-lg-24-8[data-v-47c33ffc]{width:33.33333333%;min-width:33.33333333%;max-width:33.33333333%}.col-lg-24-9[data-v-47c33ffc]{width:37.5%;min-width:37.5%;max-width:37.5%}.col-lg-24-10[data-v-47c33ffc]{width:41.66666667%;min-width:41.66666667%;max-width:41.66666667%}.col-lg-24-11[data-v-47c33ffc]{width:45.83333333%;min-width:45.83333333%;max-width:45.83333333%}.col-lg-24-12[data-v-47c33ffc]{width:50%;min-width:50%;max-width:50%}.col-lg-24-13[data-v-47c33ffc]{width:54.16666667%;min-width:54.16666667%;max-width:54.16666667%}.col-lg-24-14[data-v-47c33ffc]{width:58.33333333%;min-width:58.33333333%;max-width:58.33333333%}.col-lg-24-15[data-v-47c33ffc]{width:62.5%;min-width:62.5%;max-width:62.5%}.col-lg-24-16[data-v-47c33ffc]{width:66.66666667%;min-width:66.66666667%;max-width:66.66666667%}.col-lg-24-17[data-v-47c33ffc]{width:70.83333333%;min-width:70.83333333%;max-width:70.83333333%}.col-lg-24-18[data-v-47c33ffc]{width:75%;min-width:75%;max-width:75%}.col-lg-24-19[data-v-47c33ffc]{width:79.16666667%;min-width:79.16666667%;max-width:79.16666667%}.col-lg-24-20[data-v-47c33ffc]{width:83.33333333%;min-width:83.33333333%;max-width:83.33333333%}.col-lg-24-21[data-v-47c33ffc]{width:87.5%;min-width:87.5%;max-width:87.5%}.col-lg-24-22[data-v-47c33ffc]{width:91.66666667%;min-width:91.66666667%;max-width:91.66666667%}.col-lg-24-23[data-v-47c33ffc]{width:95.83333333%;min-width:95.83333333%;max-width:95.83333333%}.col-lg-24-24[data-v-47c33ffc]{width:100%;min-width:100%;max-width:100%}}@media(min-width:1200px){.col-xl-12-1[data-v-47c33ffc]{width:8.33333333%;min-width:8.33333333%;max-width:8.33333333%}.col-xl-12-2[data-v-47c33ffc]{width:16.66666667%;min-width:16.66666667%;max-width:16.66666667%}.col-xl-12-3[data-v-47c33ffc]{width:25%;min-width:25%;max-width:25%}.col-xl-12-4[data-v-47c33ffc]{width:33.33333333%;min-width:33.33333333%;max-width:33.33333333%}.col-xl-12-5[data-v-47c33ffc]{width:41.66666667%;min-width:41.66666667%;max-width:41.66666667%}.col-xl-12-6[data-v-47c33ffc]{width:50%;min-width:50%;max-width:50%}.col-xl-12-7[data-v-47c33ffc]{width:58.33333333%;min-width:58.33333333%;max-width:58.33333333%}.col-xl-12-8[data-v-47c33ffc]{width:66.66666667%;min-width:66.66666667%;max-width:66.66666667%}.col-xl-12-9[data-v-47c33ffc]{width:75%;min-width:75%;max-width:75%}.col-xl-12-10[data-v-47c33ffc]{width:83.33333333%;min-width:83.33333333%;max-width:83.33333333%}.col-xl-12-11[data-v-47c33ffc]{width:91.66666667%;min-width:91.66666667%;max-width:91.66666667%}.col-xl-12-12[data-v-47c33ffc]{width:100%;min-width:100%;max-width:100%}.col-xl-24-1[data-v-47c33ffc]{width:4.16666667%;min-width:4.16666667%;max-width:4.16666667%}.col-xl-24-2[data-v-47c33ffc]{width:8.33333333%;min-width:8.33333333%;max-width:8.33333333%}.col-xl-24-3[data-v-47c33ffc]{width:12.5%;min-width:12.5%;max-width:12.5%}.col-xl-24-4[data-v-47c33ffc]{width:16.66666667%;min-width:16.66666667%;max-width:16.66666667%}.col-xl-24-5[data-v-47c33ffc]{width:20.83333333%;min-width:20.83333333%;max-width:20.83333333%}.col-xl-24-6[data-v-47c33ffc]{width:25%;min-width:25%;max-width:25%}.col-xl-24-7[data-v-47c33ffc]{width:29.16666667%;min-width:29.16666667%;max-width:29.16666667%}.col-xl-24-8[data-v-47c33ffc]{width:33.33333333%;min-width:33.33333333%;max-width:33.33333333%}.col-xl-24-9[data-v-47c33ffc]{width:37.5%;min-width:37.5%;max-width:37.5%}.col-xl-24-10[data-v-47c33ffc]{width:41.66666667%;min-width:41.66666667%;max-width:41.66666667%}.col-xl-24-11[data-v-47c33ffc]{width:45.83333333%;min-width:45.83333333%;max-width:45.83333333%}.col-xl-24-12[data-v-47c33ffc]{width:50%;min-width:50%;max-width:50%}.col-xl-24-13[data-v-47c33ffc]{width:54.16666667%;min-width:54.16666667%;max-width:54.16666667%}.col-xl-24-14[data-v-47c33ffc]{width:58.33333333%;min-width:58.33333333%;max-width:58.33333333%}.col-xl-24-15[data-v-47c33ffc]{width:62.5%;min-width:62.5%;max-width:62.5%}.col-xl-24-16[data-v-47c33ffc]{width:66.66666667%;min-width:66.66666667%;max-width:66.66666667%}.col-xl-24-17[data-v-47c33ffc]{width:70.83333333%;min-width:70.83333333%;max-width:70.83333333%}.col-xl-24-18[data-v-47c33ffc]{width:75%;min-width:75%;max-width:75%}.col-xl-24-19[data-v-47c33ffc]{width:79.16666667%;min-width:79.16666667%;max-width:79.16666667%}.col-xl-24-20[data-v-47c33ffc]{width:83.33333333%;min-width:83.33333333%;max-width:83.33333333%}.col-xl-24-21[data-v-47c33ffc]{width:87.5%;min-width:87.5%;max-width:87.5%}.col-xl-24-22[data-v-47c33ffc]{width:91.66666667%;min-width:91.66666667%;max-width:91.66666667%}.col-xl-24-23[data-v-47c33ffc]{width:95.83333333%;min-width:95.83333333%;max-width:95.83333333%}.col-xl-24-24[data-v-47c33ffc]{width:100%;min-width:100%;max-width:100%}}@media(min-width:1600px){.col-xxl-12-1[data-v-47c33ffc]{width:8.33333333%;min-width:8.33333333%;max-width:8.33333333%}.col-xxl-12-2[data-v-47c33ffc]{width:16.66666667%;min-width:16.66666667%;max-width:16.66666667%}.col-xxl-12-3[data-v-47c33ffc]{width:25%;min-width:25%;max-width:25%}.col-xxl-12-4[data-v-47c33ffc]{width:33.33333333%;min-width:33.33333333%;max-width:33.33333333%}.col-xxl-12-5[data-v-47c33ffc]{width:41.66666667%;min-width:41.66666667%;max-width:41.66666667%}.col-xxl-12-6[data-v-47c33ffc]{width:50%;min-width:50%;max-width:50%}.col-xxl-12-7[data-v-47c33ffc]{width:58.33333333%;min-width:58.33333333%;max-width:58.33333333%}.col-xxl-12-8[data-v-47c33ffc]{width:66.66666667%;min-width:66.66666667%;max-width:66.66666667%}.col-xxl-12-9[data-v-47c33ffc]{width:75%;min-width:75%;max-width:75%}.col-xxl-12-10[data-v-47c33ffc]{width:83.33333333%;min-width:83.33333333%;max-width:83.33333333%}.col-xxl-12-11[data-v-47c33ffc]{width:91.66666667%;min-width:91.66666667%;max-width:91.66666667%}.col-xxl-12-12[data-v-47c33ffc]{width:100%;min-width:100%;max-width:100%}.col-xxl-24-1[data-v-47c33ffc]{width:4.16666667%;min-width:4.16666667%;max-width:4.16666667%}.col-xxl-24-2[data-v-47c33ffc]{width:8.33333333%;min-width:8.33333333%;max-width:8.33333333%}.col-xxl-24-3[data-v-47c33ffc]{width:12.5%;min-width:12.5%;max-width:12.5%}.col-xxl-24-4[data-v-47c33ffc]{width:16.66666667%;min-width:16.66666667%;max-width:16.66666667%}.col-xxl-24-5[data-v-47c33ffc]{width:20.83333333%;min-width:20.83333333%;max-width:20.83333333%}.col-xxl-24-6[data-v-47c33ffc]{width:25%;min-width:25%;max-width:25%}.col-xxl-24-7[data-v-47c33ffc]{width:29.16666667%;min-width:29.16666667%;max-width:29.16666667%}.col-xxl-24-8[data-v-47c33ffc]{width:33.33333333%;min-width:33.33333333%;max-width:33.33333333%}.col-xxl-24-9[data-v-47c33ffc]{width:37.5%;min-width:37.5%;max-width:37.5%}.col-xxl-24-10[data-v-47c33ffc]{width:41.66666667%;min-width:41.66666667%;max-width:41.66666667%}.col-xxl-24-11[data-v-47c33ffc]{width:45.83333333%;min-width:45.83333333%;max-width:45.83333333%}.col-xxl-24-12[data-v-47c33ffc]{width:50%;min-width:50%;max-width:50%}.col-xxl-24-13[data-v-47c33ffc]{width:54.16666667%;min-width:54.16666667%;max-width:54.16666667%}.col-xxl-24-14[data-v-47c33ffc]{width:58.33333333%;min-width:58.33333333%;max-width:58.33333333%}.col-xxl-24-15[data-v-47c33ffc]{width:62.5%;min-width:62.5%;max-width:62.5%}.col-xxl-24-16[data-v-47c33ffc]{width:66.66666667%;min-width:66.66666667%;max-width:66.66666667%}.col-xxl-24-17[data-v-47c33ffc]{width:70.83333333%;min-width:70.83333333%;max-width:70.83333333%}.col-xxl-24-18[data-v-47c33ffc]{width:75%;min-width:75%;max-width:75%}.col-xxl-24-19[data-v-47c33ffc]{width:79.16666667%;min-width:79.16666667%;max-width:79.16666667%}.col-xxl-24-20[data-v-47c33ffc]{width:83.33333333%;min-width:83.33333333%;max-width:83.33333333%}.col-xxl-24-21[data-v-47c33ffc]{width:87.5%;min-width:87.5%;max-width:87.5%}.col-xxl-24-22[data-v-47c33ffc]{width:91.66666667%;min-width:91.66666667%;max-width:91.66666667%}.col-xxl-24-23[data-v-47c33ffc]{width:95.83333333%;min-width:95.83333333%;max-width:95.83333333%}.col-xxl-24-24[data-v-47c33ffc]{width:100%;min-width:100%;max-width:100%}}.flex-item[data-v-d0cd02ce]{box-sizing:border-box;min-width:0;transition:all .3s ease}.flex-item[data-v-d0cd02ce]:hover{box-shadow:inset 0 0 0 1px #1890ff80}.flex-item-0[data-v-d0cd02ce]{flex:0}.flex-item-1[data-v-d0cd02ce]{flex:1}.flex-item-initial[data-v-d0cd02ce]{flex:initial}.flex-item-auto[data-v-d0cd02ce]{flex:auto}.flex-item-none[data-v-d0cd02ce]{flex:none}.align-self-start[data-v-d0cd02ce]{align-self:flex-start}.align-self-end[data-v-d0cd02ce]{align-self:flex-end}.align-self-center[data-v-d0cd02ce]{align-self:center}.align-self-stretch[data-v-d0cd02ce]{align-self:stretch}.align-self-baseline[data-v-d0cd02ce]{align-self:baseline}.col-sm-12-1[data-v-d0cd02ce]{width:8.33333333%}@media(min-width:768px){.col-md-12-1[data-v-d0cd02ce]{width:8.33333333%}}@media(min-width:992px){.col-lg-12-1[data-v-d0cd02ce]{width:8.33333333%}}@media(min-width:1200px){.col-xl-12-1[data-v-d0cd02ce]{width:8.33333333%}}@media(min-width:1600px){.col-xxl-12-1[data-v-d0cd02ce]{width:8.33333333%}}.col-sm-12-2[data-v-d0cd02ce]{width:16.66666667%}@media(min-width:768px){.col-md-12-2[data-v-d0cd02ce]{width:16.66666667%}}@media(min-width:992px){.col-lg-12-2[data-v-d0cd02ce]{width:16.66666667%}}@media(min-width:1200px){.col-xl-12-2[data-v-d0cd02ce]{width:16.66666667%}}@media(min-width:1600px){.col-xxl-12-2[data-v-d0cd02ce]{width:16.66666667%}}.col-sm-12-3[data-v-d0cd02ce]{width:25%}@media(min-width:768px){.col-md-12-3[data-v-d0cd02ce]{width:25%}}@media(min-width:992px){.col-lg-12-3[data-v-d0cd02ce]{width:25%}}@media(min-width:1200px){.col-xl-12-3[data-v-d0cd02ce]{width:25%}}@media(min-width:1600px){.col-xxl-12-3[data-v-d0cd02ce]{width:25%}}.col-sm-12-4[data-v-d0cd02ce]{width:33.33333333%}@media(min-width:768px){.col-md-12-4[data-v-d0cd02ce]{width:33.33333333%}}@media(min-width:992px){.col-lg-12-4[data-v-d0cd02ce]{width:33.33333333%}}@media(min-width:1200px){.col-xl-12-4[data-v-d0cd02ce]{width:33.33333333%}}@media(min-width:1600px){.col-xxl-12-4[data-v-d0cd02ce]{width:33.33333333%}}.col-sm-12-5[data-v-d0cd02ce]{width:41.66666667%}@media(min-width:768px){.col-md-12-5[data-v-d0cd02ce]{width:41.66666667%}}@media(min-width:992px){.col-lg-12-5[data-v-d0cd02ce]{width:41.66666667%}}@media(min-width:1200px){.col-xl-12-5[data-v-d0cd02ce]{width:41.66666667%}}@media(min-width:1600px){.col-xxl-12-5[data-v-d0cd02ce]{width:41.66666667%}}.col-sm-12-6[data-v-d0cd02ce]{width:50%}@media(min-width:768px){.col-md-12-6[data-v-d0cd02ce]{width:50%}}@media(min-width:992px){.col-lg-12-6[data-v-d0cd02ce]{width:50%}}@media(min-width:1200px){.col-xl-12-6[data-v-d0cd02ce]{width:50%}}@media(min-width:1600px){.col-xxl-12-6[data-v-d0cd02ce]{width:50%}}.col-sm-12-7[data-v-d0cd02ce]{width:58.33333333%}@media(min-width:768px){.col-md-12-7[data-v-d0cd02ce]{width:58.33333333%}}@media(min-width:992px){.col-lg-12-7[data-v-d0cd02ce]{width:58.33333333%}}@media(min-width:1200px){.col-xl-12-7[data-v-d0cd02ce]{width:58.33333333%}}@media(min-width:1600px){.col-xxl-12-7[data-v-d0cd02ce]{width:58.33333333%}}.col-sm-12-8[data-v-d0cd02ce]{width:66.66666667%}@media(min-width:768px){.col-md-12-8[data-v-d0cd02ce]{width:66.66666667%}}@media(min-width:992px){.col-lg-12-8[data-v-d0cd02ce]{width:66.66666667%}}@media(min-width:1200px){.col-xl-12-8[data-v-d0cd02ce]{width:66.66666667%}}@media(min-width:1600px){.col-xxl-12-8[data-v-d0cd02ce]{width:66.66666667%}}.col-sm-12-9[data-v-d0cd02ce]{width:75%}@media(min-width:768px){.col-md-12-9[data-v-d0cd02ce]{width:75%}}@media(min-width:992px){.col-lg-12-9[data-v-d0cd02ce]{width:75%}}@media(min-width:1200px){.col-xl-12-9[data-v-d0cd02ce]{width:75%}}@media(min-width:1600px){.col-xxl-12-9[data-v-d0cd02ce]{width:75%}}.col-sm-12-10[data-v-d0cd02ce]{width:83.33333333%}@media(min-width:768px){.col-md-12-10[data-v-d0cd02ce]{width:83.33333333%}}@media(min-width:992px){.col-lg-12-10[data-v-d0cd02ce]{width:83.33333333%}}@media(min-width:1200px){.col-xl-12-10[data-v-d0cd02ce]{width:83.33333333%}}@media(min-width:1600px){.col-xxl-12-10[data-v-d0cd02ce]{width:83.33333333%}}.col-sm-12-11[data-v-d0cd02ce]{width:91.66666667%}@media(min-width:768px){.col-md-12-11[data-v-d0cd02ce]{width:91.66666667%}}@media(min-width:992px){.col-lg-12-11[data-v-d0cd02ce]{width:91.66666667%}}@media(min-width:1200px){.col-xl-12-11[data-v-d0cd02ce]{width:91.66666667%}}@media(min-width:1600px){.col-xxl-12-11[data-v-d0cd02ce]{width:91.66666667%}}.col-sm-12-12[data-v-d0cd02ce]{width:100%}@media(min-width:768px){.col-md-12-12[data-v-d0cd02ce]{width:100%}}@media(min-width:992px){.col-lg-12-12[data-v-d0cd02ce]{width:100%}}@media(min-width:1200px){.col-xl-12-12[data-v-d0cd02ce]{width:100%}}@media(min-width:1600px){.col-xxl-12-12[data-v-d0cd02ce]{width:100%}}.col-sm-24-1[data-v-d0cd02ce]{width:4.16666667%}@media(min-width:768px){.col-md-24-1[data-v-d0cd02ce]{width:4.16666667%}}@media(min-width:992px){.col-lg-24-1[data-v-d0cd02ce]{width:4.16666667%}}@media(min-width:1200px){.col-xl-24-1[data-v-d0cd02ce]{width:4.16666667%}}@media(min-width:1600px){.col-xxl-24-1[data-v-d0cd02ce]{width:4.16666667%}}.col-sm-24-2[data-v-d0cd02ce]{width:8.33333333%}@media(min-width:768px){.col-md-24-2[data-v-d0cd02ce]{width:8.33333333%}}@media(min-width:992px){.col-lg-24-2[data-v-d0cd02ce]{width:8.33333333%}}@media(min-width:1200px){.col-xl-24-2[data-v-d0cd02ce]{width:8.33333333%}}@media(min-width:1600px){.col-xxl-24-2[data-v-d0cd02ce]{width:8.33333333%}}.col-sm-24-3[data-v-d0cd02ce]{width:12.5%}@media(min-width:768px){.col-md-24-3[data-v-d0cd02ce]{width:12.5%}}@media(min-width:992px){.col-lg-24-3[data-v-d0cd02ce]{width:12.5%}}@media(min-width:1200px){.col-xl-24-3[data-v-d0cd02ce]{width:12.5%}}@media(min-width:1600px){.col-xxl-24-3[data-v-d0cd02ce]{width:12.5%}}.col-sm-24-4[data-v-d0cd02ce]{width:16.66666667%}@media(min-width:768px){.col-md-24-4[data-v-d0cd02ce]{width:16.66666667%}}@media(min-width:992px){.col-lg-24-4[data-v-d0cd02ce]{width:16.66666667%}}@media(min-width:1200px){.col-xl-24-4[data-v-d0cd02ce]{width:16.66666667%}}@media(min-width:1600px){.col-xxl-24-4[data-v-d0cd02ce]{width:16.66666667%}}.col-sm-24-5[data-v-d0cd02ce]{width:20.83333333%}@media(min-width:768px){.col-md-24-5[data-v-d0cd02ce]{width:20.83333333%}}@media(min-width:992px){.col-lg-24-5[data-v-d0cd02ce]{width:20.83333333%}}@media(min-width:1200px){.col-xl-24-5[data-v-d0cd02ce]{width:20.83333333%}}@media(min-width:1600px){.col-xxl-24-5[data-v-d0cd02ce]{width:20.83333333%}}.col-sm-24-6[data-v-d0cd02ce]{width:25%}@media(min-width:768px){.col-md-24-6[data-v-d0cd02ce]{width:25%}}@media(min-width:992px){.col-lg-24-6[data-v-d0cd02ce]{width:25%}}@media(min-width:1200px){.col-xl-24-6[data-v-d0cd02ce]{width:25%}}@media(min-width:1600px){.col-xxl-24-6[data-v-d0cd02ce]{width:25%}}.col-sm-24-7[data-v-d0cd02ce]{width:29.16666667%}@media(min-width:768px){.col-md-24-7[data-v-d0cd02ce]{width:29.16666667%}}@media(min-width:992px){.col-lg-24-7[data-v-d0cd02ce]{width:29.16666667%}}@media(min-width:1200px){.col-xl-24-7[data-v-d0cd02ce]{width:29.16666667%}}@media(min-width:1600px){.col-xxl-24-7[data-v-d0cd02ce]{width:29.16666667%}}.col-sm-24-8[data-v-d0cd02ce]{width:33.33333333%}@media(min-width:768px){.col-md-24-8[data-v-d0cd02ce]{width:33.33333333%}}@media(min-width:992px){.col-lg-24-8[data-v-d0cd02ce]{width:33.33333333%}}@media(min-width:1200px){.col-xl-24-8[data-v-d0cd02ce]{width:33.33333333%}}@media(min-width:1600px){.col-xxl-24-8[data-v-d0cd02ce]{width:33.33333333%}}.col-sm-24-9[data-v-d0cd02ce]{width:37.5%}@media(min-width:768px){.col-md-24-9[data-v-d0cd02ce]{width:37.5%}}@media(min-width:992px){.col-lg-24-9[data-v-d0cd02ce]{width:37.5%}}@media(min-width:1200px){.col-xl-24-9[data-v-d0cd02ce]{width:37.5%}}@media(min-width:1600px){.col-xxl-24-9[data-v-d0cd02ce]{width:37.5%}}.col-sm-24-10[data-v-d0cd02ce]{width:41.66666667%}@media(min-width:768px){.col-md-24-10[data-v-d0cd02ce]{width:41.66666667%}}@media(min-width:992px){.col-lg-24-10[data-v-d0cd02ce]{width:41.66666667%}}@media(min-width:1200px){.col-xl-24-10[data-v-d0cd02ce]{width:41.66666667%}}@media(min-width:1600px){.col-xxl-24-10[data-v-d0cd02ce]{width:41.66666667%}}.col-sm-24-11[data-v-d0cd02ce]{width:45.83333333%}@media(min-width:768px){.col-md-24-11[data-v-d0cd02ce]{width:45.83333333%}}@media(min-width:992px){.col-lg-24-11[data-v-d0cd02ce]{width:45.83333333%}}@media(min-width:1200px){.col-xl-24-11[data-v-d0cd02ce]{width:45.83333333%}}@media(min-width:1600px){.col-xxl-24-11[data-v-d0cd02ce]{width:45.83333333%}}.col-sm-24-12[data-v-d0cd02ce]{width:50%}@media(min-width:768px){.col-md-24-12[data-v-d0cd02ce]{width:50%}}@media(min-width:992px){.col-lg-24-12[data-v-d0cd02ce]{width:50%}}@media(min-width:1200px){.col-xl-24-12[data-v-d0cd02ce]{width:50%}}@media(min-width:1600px){.col-xxl-24-12[data-v-d0cd02ce]{width:50%}}.col-sm-24-13[data-v-d0cd02ce]{width:54.16666667%}@media(min-width:768px){.col-md-24-13[data-v-d0cd02ce]{width:54.16666667%}}@media(min-width:992px){.col-lg-24-13[data-v-d0cd02ce]{width:54.16666667%}}@media(min-width:1200px){.col-xl-24-13[data-v-d0cd02ce]{width:54.16666667%}}@media(min-width:1600px){.col-xxl-24-13[data-v-d0cd02ce]{width:54.16666667%}}.col-sm-24-14[data-v-d0cd02ce]{width:58.33333333%}@media(min-width:768px){.col-md-24-14[data-v-d0cd02ce]{width:58.33333333%}}@media(min-width:992px){.col-lg-24-14[data-v-d0cd02ce]{width:58.33333333%}}@media(min-width:1200px){.col-xl-24-14[data-v-d0cd02ce]{width:58.33333333%}}@media(min-width:1600px){.col-xxl-24-14[data-v-d0cd02ce]{width:58.33333333%}}.col-sm-24-15[data-v-d0cd02ce]{width:62.5%}@media(min-width:768px){.col-md-24-15[data-v-d0cd02ce]{width:62.5%}}@media(min-width:992px){.col-lg-24-15[data-v-d0cd02ce]{width:62.5%}}@media(min-width:1200px){.col-xl-24-15[data-v-d0cd02ce]{width:62.5%}}@media(min-width:1600px){.col-xxl-24-15[data-v-d0cd02ce]{width:62.5%}}.col-sm-24-16[data-v-d0cd02ce]{width:66.66666667%}@media(min-width:768px){.col-md-24-16[data-v-d0cd02ce]{width:66.66666667%}}@media(min-width:992px){.col-lg-24-16[data-v-d0cd02ce]{width:66.66666667%}}@media(min-width:1200px){.col-xl-24-16[data-v-d0cd02ce]{width:66.66666667%}}@media(min-width:1600px){.col-xxl-24-16[data-v-d0cd02ce]{width:66.66666667%}}.col-sm-24-17[data-v-d0cd02ce]{width:70.83333333%}@media(min-width:768px){.col-md-24-17[data-v-d0cd02ce]{width:70.83333333%}}@media(min-width:992px){.col-lg-24-17[data-v-d0cd02ce]{width:70.83333333%}}@media(min-width:1200px){.col-xl-24-17[data-v-d0cd02ce]{width:70.83333333%}}@media(min-width:1600px){.col-xxl-24-17[data-v-d0cd02ce]{width:70.83333333%}}.col-sm-24-18[data-v-d0cd02ce]{width:75%}@media(min-width:768px){.col-md-24-18[data-v-d0cd02ce]{width:75%}}@media(min-width:992px){.col-lg-24-18[data-v-d0cd02ce]{width:75%}}@media(min-width:1200px){.col-xl-24-18[data-v-d0cd02ce]{width:75%}}@media(min-width:1600px){.col-xxl-24-18[data-v-d0cd02ce]{width:75%}}.col-sm-24-19[data-v-d0cd02ce]{width:79.16666667%}@media(min-width:768px){.col-md-24-19[data-v-d0cd02ce]{width:79.16666667%}}@media(min-width:992px){.col-lg-24-19[data-v-d0cd02ce]{width:79.16666667%}}@media(min-width:1200px){.col-xl-24-19[data-v-d0cd02ce]{width:79.16666667%}}@media(min-width:1600px){.col-xxl-24-19[data-v-d0cd02ce]{width:79.16666667%}}.col-sm-24-20[data-v-d0cd02ce]{width:83.33333333%}@media(min-width:768px){.col-md-24-20[data-v-d0cd02ce]{width:83.33333333%}}@media(min-width:992px){.col-lg-24-20[data-v-d0cd02ce]{width:83.33333333%}}@media(min-width:1200px){.col-xl-24-20[data-v-d0cd02ce]{width:83.33333333%}}@media(min-width:1600px){.col-xxl-24-20[data-v-d0cd02ce]{width:83.33333333%}}.col-sm-24-21[data-v-d0cd02ce]{width:87.5%}@media(min-width:768px){.col-md-24-21[data-v-d0cd02ce]{width:87.5%}}@media(min-width:992px){.col-lg-24-21[data-v-d0cd02ce]{width:87.5%}}@media(min-width:1200px){.col-xl-24-21[data-v-d0cd02ce]{width:87.5%}}@media(min-width:1600px){.col-xxl-24-21[data-v-d0cd02ce]{width:87.5%}}.col-sm-24-22[data-v-d0cd02ce]{width:91.66666667%}@media(min-width:768px){.col-md-24-22[data-v-d0cd02ce]{width:91.66666667%}}@media(min-width:992px){.col-lg-24-22[data-v-d0cd02ce]{width:91.66666667%}}@media(min-width:1200px){.col-xl-24-22[data-v-d0cd02ce]{width:91.66666667%}}@media(min-width:1600px){.col-xxl-24-22[data-v-d0cd02ce]{width:91.66666667%}}.col-sm-24-23[data-v-d0cd02ce]{width:95.83333333%}@media(min-width:768px){.col-md-24-23[data-v-d0cd02ce]{width:95.83333333%}}@media(min-width:992px){.col-lg-24-23[data-v-d0cd02ce]{width:95.83333333%}}@media(min-width:1200px){.col-xl-24-23[data-v-d0cd02ce]{width:95.83333333%}}@media(min-width:1600px){.col-xxl-24-23[data-v-d0cd02ce]{width:95.83333333%}}.col-sm-24-24[data-v-d0cd02ce]{width:100%}@media(min-width:768px){.col-md-24-24[data-v-d0cd02ce]{width:100%}}@media(min-width:992px){.col-lg-24-24[data-v-d0cd02ce]{width:100%}}@media(min-width:1200px){.col-xl-24-24[data-v-d0cd02ce]{width:100%}}@media(min-width:1600px){.col-xxl-24-24[data-v-d0cd02ce]{width:100%}}.scrollbar-sm[data-v-f7bb5280]::-webkit-scrollbar{width:6px;height:6px}.scrollbar-sm[data-v-f7bb5280] *::-webkit-scrollbar{width:6px;height:6px}.scroll-overlay[data-v-f7bb5280]::-webkit-scrollbar{overflow:overlay}.font-size-sm[data-v-f7bb5280]{font-size:12px}.font-size-normal[data-v-f7bb5280]{font-size:14px}.font-size-lg[data-v-f7bb5280]{font-size:16px}.primary-color[data-v-f7bb5280]{color:#1377eb}.primary-bgColor[data-v-f7bb5280]{background-color:#1377eb}.link-color[data-v-f7bb5280]{color:#1377eb}.success-color[data-v-f7bb5280]{color:#52c41a}.success-bgColor[data-v-f7bb5280]{background-color:#52c41a}.warning-color[data-v-f7bb5280]{color:#faad14}.error-color[data-v-f7bb5280]{color:#ff4d4f}.error-bgColor[data-v-f7bb5280]{background-color:#fff2f0}.label-color[data-v-f7bb5280]{color:#64748b}.heading-color[data-v-f7bb5280]{color:#1a253b}.heading-bgColor[data-v-f7bb5280]{background-color:#1a253b}.text-color[data-v-f7bb5280]{color:#1a253b}.text-color-secondary[data-v-f7bb5280]{color:#4e5d78}.disabled-color[data-v-f7bb5280]{color:#bcc1cc}.bgColor-light[data-v-f7bb5280],.table-head-bgColor[data-v-f7bb5280]{background-color:#f5f7fa}.hover-bg-color[data-v-f7bb5280]:hover{background-color:#f0f7ff}.icon-bg-color[data-v-f7bb5280]:hover{background-color:#e6f4ff}.padding-xs[data-v-f7bb5280]{padding:.25rem}.padding-s[data-v-f7bb5280]{padding:.5rem}.padding-l[data-v-f7bb5280]{padding:.75rem}.padding-xl[data-v-f7bb5280]{padding:1rem}.padding-xxl[data-v-f7bb5280]{padding:1.5rem}.padding-xxxl[data-v-f7bb5280]{padding:2rem}.margin-xs[data-v-f7bb5280]{margin:.25rem}.margin-s[data-v-f7bb5280]{margin:.5rem}.margin-l[data-v-f7bb5280]{margin:.75rem}.margin-xl[data-v-f7bb5280]{margin:1rem}.margin-xxl[data-v-f7bb5280]{margin:1.5rem}.margin-xxxl[data-v-f7bb5280]{margin:2rem}.a-link[data-v-f7bb5280]{display:inline-block;padding-left:2px;padding-right:2px;color:#1377eb;border-radius:6px}.a-link[data-v-f7bb5280]:hover{color:#3b99f7;background-color:#e6f4ff;cursor:pointer}.a-link[data-v-f7bb5280]:active{color:#0658c4;background-color:#fafbfc}.a-link--disabled[data-v-f7bb5280]{color:#bcc1cc}.a-link--disabled[data-v-f7bb5280]:hover,.a-link--disabled[data-v-f7bb5280]:active{color:#bcc1cc;background-color:transparent;cursor:not-allowed}.container[data-v-f7bb5280]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding:8px 16px 0;height:100%;width:100%;overflow:hidden;display:flex;flex-direction:row;justify-content:space-between}.content-left[data-v-f7bb5280]{overflow:hidden;float:left;width:calc(50% - 8px)}.content-left .left-tree[data-v-f7bb5280]{margin-top:8px;overflow:auto;border:1px solid #e4e8ee;height:calc(100% - 2.9375rem)}.content-left .left-tree .tips[data-v-f7bb5280]{padding-left:1.5625rem;font-size:12px;color:#999;text-align:center;padding:8px 0}.content-right[data-v-f7bb5280]{overflow:hidden;float:right;width:calc(50% - 8px)}.content-right .right-list[data-v-f7bb5280]{margin-top:8px;overflow:hidden;border:1px solid #e4e8ee;height:calc(100% - 2.9375rem);display:flex;flex-direction:column}.content-right .right-list .right-list-content[data-v-f7bb5280]{flex:1;overflow:auto;padding:8px}.content-right .right-list .right-list-content .ant-tag[data-v-f7bb5280]{background:#f5f7fa;height:32px;line-height:32px;width:calc(100% - 16px);margin:8px 8px 0;display:flex;align-items:center;justify-content:space-between}.content-right .right-list .right-list-content .ant-tag[data-v-f7bb5280]:hover{background:#fafbfc}.content-right .right-list .right-list-content .ant-tag .tag-content[data-v-f7bb5280]{width:calc(100% - 1.5625rem);display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content-right .right-list .right-list-option[data-v-f7bb5280]{border-top:1px solid #e4e8ee;height:40px;line-height:40px;padding:0 0 0 8px;background-color:#fafafa}.no-data[data-v-f7bb5280]{position:relative;height:100%}.no-data .ant-empty[data-v-f7bb5280]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;text-align:center}.scrollbar-sm::-webkit-scrollbar{width:6px;height:6px}.scrollbar-sm *::-webkit-scrollbar{width:6px;height:6px}.scroll-overlay::-webkit-scrollbar{overflow:overlay}.font-size-sm{font-size:12px}.font-size-normal{font-size:14px}.font-size-lg{font-size:16px}.primary-color{color:#1377eb}.primary-bgColor{background-color:#1377eb}.link-color{color:#1377eb}.success-color{color:#52c41a}.success-bgColor{background-color:#52c41a}.warning-color{color:#faad14}.error-color{color:#ff4d4f}.error-bgColor{background-color:#fff2f0}.label-color{color:#64748b}.heading-color{color:#1a253b}.heading-bgColor{background-color:#1a253b}.text-color{color:#1a253b}.text-color-secondary{color:#4e5d78}.disabled-color{color:#bcc1cc}.bgColor-light,.table-head-bgColor{background-color:#f5f7fa}.hover-bg-color:hover{background-color:#f0f7ff}.icon-bg-color:hover{background-color:#e6f4ff}.padding-xs{padding:.25rem}.padding-s{padding:.5rem}.padding-l{padding:.75rem}.padding-xl{padding:1rem}.padding-xxl{padding:1.5rem}.padding-xxxl{padding:2rem}.margin-xs{margin:.25rem}.margin-s{margin:.5rem}.margin-l{margin:.75rem}.margin-xl{margin:1rem}.margin-xxl{margin:1.5rem}.margin-xxxl{margin:2rem}.a-link{display:inline-block;padding-left:2px;padding-right:2px;color:#1377eb;border-radius:6px}.a-link:hover{color:#3b99f7;background-color:#e6f4ff;cursor:pointer}.a-link:active{color:#0658c4;background-color:#fafbfc}.a-link--disabled{color:#bcc1cc}.a-link--disabled:hover,.a-link--disabled:active{color:#bcc1cc;background-color:transparent;cursor:not-allowed}.flow-field .common-field-input-group input{cursor:default}.flow-field .common-field-input-group .icon{color:#4e5d78}.flow-field .common-field-input-group:hover{cursor:pointer}.flow-field .common-field-input-group:hover .icon{color:#1377eb}.flow-field .common-field-table{margin-top:0;margin-bottom:0;padding-top:0;padding-right:0}.flow-field .common-field-table .block-field{padding:0;width:100%}.process-wrap-common-modal .ant-modal{height:45rem;width:50rem;top:4rem}.process-wrap-common-modal .ant-modal .ant-modal-content{height:100%;max-height:100%}.process-wrap-common-modal .ant-modal .ant-modal-body{height:100%;max-height:100%;overflow:hidden;padding:0}.process-wrap-common-modal .ant-modal .ant-modal-body iframe{background:#fff;height:100%;width:100%;border:0;border-radius:4px;display:block}.personnel-input-mode-bar[data-v-b6a935cd]{margin-bottom:8px}.mode-label[data-v-b6a935cd]{margin-left:8px}.and-or-rule[data-v-e6771a80]{position:relative;height:30px;margin-left:16px!important;padding-left:5px}.form-group[data-v-e6771a80]{margin-bottom:12px}.form-control[data-v-e6771a80]{border-radius:0;box-shadow:none;border-color:#d2d6de;width:100%}.and-or-rule[data-v-e6771a80]:before,.and-or-rule[data-v-e6771a80]:after{content:"";position:absolute;left:-1px;width:21px;height:calc(50% + 15px);border-style:solid}.and-or-rule[data-v-e6771a80]:before{top:-15px;border-width:0 0 2px 2px}.and-or-rule[data-v-e6771a80]:after{top:50%;border-width:0 0 0 2px}.and-or-rule[data-v-e6771a80]:last-child:after{border:none}.padding-left-0[data-v-e6771a80]{padding-left:0!important}.color-danger[data-v-e6771a80]:hover{color:#ff5722!important}.and-or-container[data-v-1a6d4dd5]{padding:8px 8px 0;position:relative;margin-bottom:8px;background-color:#ffffffe6}.and-or-container[data-v-1a6d4dd5],.group-sub[data-v-1a6d4dd5]{border:1px solid #5ed9f9;border-top:2.5px solid #5ed9f9}.or-container[data-v-1a6d4dd5]:before,.or-container[data-v-1a6d4dd5]:after{border-color:#3dc7be}[data-v-1a6d4dd5] .ant-switch{background-color:#3dc7be}[data-v-1a6d4dd5] .ant-switch-checked{background-color:#ff9c5e}.and-container[data-v-1a6d4dd5]:before,.and-container[data-v-1a6d4dd5]:after{border-color:#ff9c5e}.group-sub[data-v-1a6d4dd5]{border-radius:3px;margin-left:30px;width:96%}.form-group-tool[data-v-1a6d4dd5]{margin-bottom:8px;padding-bottom:0}.and-or-container[data-v-1a6d4dd5]:before,.and-or-container[data-v-1a6d4dd5]:after{content:"";position:absolute;left:-16px;width:16px;height:calc(50% + 18px);border-style:solid}.and-or-container[data-v-1a6d4dd5]:after{margin-bottom:8px}.and-or-container[data-v-1a6d4dd5]:before{top:-2px;border-width:0 0 2px 2px}.and-or-container[data-v-1a6d4dd5]:after{top:50%;border-width:0 0 0 2px}.and-or-first[data-v-1a6d4dd5]{margin-bottom:0}.and-or-first[data-v-1a6d4dd5]:before,.and-or-first[data-v-1a6d4dd5]:after,.and-or-container[data-v-1a6d4dd5]:last-child:after{border:none;height:50%}.and-or-top[data-v-1a6d4dd5]{padding:0}.align-right[data-v-1a6d4dd5]{float:right!important;margin-left:8px}.btn-primary-color[data-v-1a6d4dd5]:hover,.btn-primary-color:hover .svg-icon[data-v-1a6d4dd5]{color:#1890ff!important}.btn-danger-color[data-v-1a6d4dd5]:hover{color:#ff5722!important;border-color:#ff5722!important}.btn-danger-color:hover .svg-icon[data-v-1a6d4dd5]{color:#ff5722!important}.common-field-input-group[data-v-76eed43e]{position:relative;width:100%}.rule-icon[data-v-76eed43e]{cursor:pointer;color:#1890ff;transition:all .3s;padding:0 8px}.rule-icon[data-v-76eed43e]:hover{color:#40a9ff;transform:scale(1.1)}[data-v-76eed43e] .ant-input{cursor:pointer;background-color:#fafafa;border-radius:4px;transition:all .3s}[data-v-76eed43e] .ant-input:hover{border-color:#40a9ff;background-color:#fff}.condition-rule-modal .ant-modal-body{max-height:60vh;overflow-y:auto;padding:16px;background-color:#f8f9fa}.condition-rule-modal .and-or-container{padding:8px 16px 0;border-radius:8px;background-color:#fff;box-shadow:0 1px 3px #0000000d}.condition-rule-modal .ant-modal-footer{padding:12px 16px;background-color:#f8f9fa;border-top:1px solid #e8e8e8;border-radius:0 0 8px 8px}.condition-rule-modal .ant-btn{border-radius:4px;padding:0 16px;height:32px}.condition-rule-modal .ant-btn-primary{background-color:#1890ff;border-color:#1890ff}.scrollbar-sm[data-v-1f6a7605]::-webkit-scrollbar{width:6px;height:6px}.scrollbar-sm[data-v-1f6a7605] *::-webkit-scrollbar{width:6px;height:6px}.scroll-overlay[data-v-1f6a7605]::-webkit-scrollbar{overflow:overlay}.font-size-sm[data-v-1f6a7605]{font-size:12px}.font-size-normal[data-v-1f6a7605]{font-size:14px}.font-size-lg[data-v-1f6a7605]{font-size:16px}.primary-color[data-v-1f6a7605]{color:#1377eb}.primary-bgColor[data-v-1f6a7605]{background-color:#1377eb}.link-color[data-v-1f6a7605]{color:#1377eb}.success-color[data-v-1f6a7605]{color:#52c41a}.success-bgColor[data-v-1f6a7605]{background-color:#52c41a}.warning-color[data-v-1f6a7605]{color:#faad14}.error-color[data-v-1f6a7605]{color:#ff4d4f}.error-bgColor[data-v-1f6a7605]{background-color:#fff2f0}.label-color[data-v-1f6a7605]{color:#64748b}.heading-color[data-v-1f6a7605]{color:#1a253b}.heading-bgColor[data-v-1f6a7605]{background-color:#1a253b}.text-color[data-v-1f6a7605]{color:#1a253b}.text-color-secondary[data-v-1f6a7605]{color:#4e5d78}.disabled-color[data-v-1f6a7605]{color:#bcc1cc}.bgColor-light[data-v-1f6a7605],.table-head-bgColor[data-v-1f6a7605]{background-color:#f5f7fa}.hover-bg-color[data-v-1f6a7605]:hover{background-color:#f0f7ff}.icon-bg-color[data-v-1f6a7605]:hover{background-color:#e6f4ff}.padding-xs[data-v-1f6a7605]{padding:.25rem}.padding-s[data-v-1f6a7605]{padding:.5rem}.padding-l[data-v-1f6a7605]{padding:.75rem}.padding-xl[data-v-1f6a7605]{padding:1rem}.padding-xxl[data-v-1f6a7605]{padding:1.5rem}.padding-xxxl[data-v-1f6a7605]{padding:2rem}.margin-xs[data-v-1f6a7605]{margin:.25rem}.margin-s[data-v-1f6a7605]{margin:.5rem}.margin-l[data-v-1f6a7605]{margin:.75rem}.margin-xl[data-v-1f6a7605]{margin:1rem}.margin-xxl[data-v-1f6a7605]{margin:1.5rem}.margin-xxxl[data-v-1f6a7605]{margin:2rem}.a-link[data-v-1f6a7605]{display:inline-block;padding-left:2px;padding-right:2px;color:#1377eb;border-radius:6px}.a-link[data-v-1f6a7605]:hover{color:#3b99f7;background-color:#e6f4ff;cursor:pointer}.a-link[data-v-1f6a7605]:active{color:#0658c4;background-color:#fafbfc}.a-link--disabled[data-v-1f6a7605]{color:#bcc1cc}.a-link--disabled[data-v-1f6a7605]:hover,.a-link--disabled[data-v-1f6a7605]:active{color:#bcc1cc;background-color:transparent;cursor:not-allowed}.user-group[data-v-1f6a7605]{height:100%;padding-top:8px;overflow:hidden}.user-group .search[data-v-1f6a7605]{padding-right:8px}.user-group .tree-container[data-v-1f6a7605]{padding:0 8px 8px;overflow:auto;height:calc(100% - 2rem)}.user-group .tree-container[data-v-1f6a7605] .ant-tree-switcher{display:none}.user-group .tree-container .tips[data-v-1f6a7605]{padding-left:1.5625rem}.vdr{touch-action:none;border:1px dashed #d6d6d6}.handle,.vdr{position:absolute;box-sizing:border-box}.handle{width:8px;height:8px;background:#fff;border:1px solid #333;box-shadow:0 0 2px #bbb}.handle-tl{top:-5px;left:-5px;cursor:nw-resize}.handle-tm{top:-5px;left:calc(50% - 4px);cursor:n-resize}.handle-tr{top:-5px;right:-5px;cursor:ne-resize}.handle-ml{top:calc(50% - 4px);left:-5px;cursor:w-resize}.handle-mr{top:calc(50% - 4px);right:-5px;cursor:e-resize}.handle-bl{bottom:-5px;left:-5px;cursor:sw-resize}.handle-bm{bottom:-5px;left:calc(50% - 4px);cursor:s-resize}.handle-br{bottom:-5px;right:-5px;cursor:se-resize}.ref-line{position:absolute;background-color:#f0c;z-index:9999}.v-line{width:1px}.h-line{height:1px}@media only screen and (max-width:768px){[class*=handle-]:before{content:"";inset:-10px;position:absolute}}.scrollbar-sm[data-v-69f64189]::-webkit-scrollbar{width:6px;height:6px}.scrollbar-sm[data-v-69f64189] *::-webkit-scrollbar{width:6px;height:6px}.scroll-overlay[data-v-69f64189]::-webkit-scrollbar{overflow:overlay}.font-size-sm[data-v-69f64189]{font-size:12px}.font-size-normal[data-v-69f64189]{font-size:14px}.font-size-lg[data-v-69f64189]{font-size:16px}.primary-color[data-v-69f64189]{color:#1377eb}.primary-bgColor[data-v-69f64189]{background-color:#1377eb}.link-color[data-v-69f64189]{color:#1377eb}.success-color[data-v-69f64189]{color:#52c41a}.success-bgColor[data-v-69f64189]{background-color:#52c41a}.warning-color[data-v-69f64189]{color:#faad14}.error-color[data-v-69f64189]{color:#ff4d4f}.error-bgColor[data-v-69f64189]{background-color:#fff2f0}.label-color[data-v-69f64189]{color:#64748b}.heading-color[data-v-69f64189]{color:#1a253b}.heading-bgColor[data-v-69f64189]{background-color:#1a253b}.text-color[data-v-69f64189]{color:#1a253b}.text-color-secondary[data-v-69f64189]{color:#4e5d78}.disabled-color[data-v-69f64189]{color:#bcc1cc}.bgColor-light[data-v-69f64189],.table-head-bgColor[data-v-69f64189]{background-color:#f5f7fa}.hover-bg-color[data-v-69f64189]:hover{background-color:#f0f7ff}.icon-bg-color[data-v-69f64189]:hover{background-color:#e6f4ff}.padding-xs[data-v-69f64189]{padding:.25rem}.padding-s[data-v-69f64189]{padding:.5rem}.padding-l[data-v-69f64189]{padding:.75rem}.padding-xl[data-v-69f64189]{padding:1rem}.padding-xxl[data-v-69f64189]{padding:1.5rem}.padding-xxxl[data-v-69f64189]{padding:2rem}.margin-xs[data-v-69f64189]{margin:.25rem}.margin-s[data-v-69f64189]{margin:.5rem}.margin-l[data-v-69f64189]{margin:.75rem}.margin-xl[data-v-69f64189]{margin:1rem}.margin-xxl[data-v-69f64189]{margin:1.5rem}.margin-xxxl[data-v-69f64189]{margin:2rem}.a-link[data-v-69f64189]{display:inline-block;padding-left:2px;padding-right:2px;color:#1377eb;border-radius:6px}.a-link[data-v-69f64189]:hover{color:#3b99f7;background-color:#e6f4ff;cursor:pointer}.a-link[data-v-69f64189]:active{color:#0658c4;background-color:#fafbfc}.a-link--disabled[data-v-69f64189]{color:#bcc1cc}.a-link--disabled[data-v-69f64189]:hover,.a-link--disabled[data-v-69f64189]:active{color:#bcc1cc;background-color:transparent;cursor:not-allowed}.process-drag-table[data-v-69f64189]{background:#fff;height:100%;width:100%;margin:0;padding:0;overflow:hidden}.process-drag-table[data-v-69f64189] .ant-skeleton{padding:16px;background-color:#fff}.process-drag-table[data-v-69f64189] .ant-table-thead>tr>th,.process-drag-table[data-v-69f64189] .ant-table-tbody>tr>td{padding:8px!important}.process-drag-table .empty-small[data-v-69f64189] .ant-table-placeholder .ant-empty-image{height:3.5rem}.process-drag-table[data-v-69f64189] .ant-table .resize-table-th .vdr{height:100%!important;width:100%!important;padding:7px 16px!important;border:none;transform:none!important;position:relative!important}.process-drag-table[data-v-69f64189] .ant-table .resize-table-th{padding:0!important}.process-drag-table[data-v-69f64189] .ant-table .resize-table-th:hover .handle-mr{background:#d0d3db}.process-drag-table[data-v-69f64189] .ant-table .resize-table-th .handle{cursor:col-resize;border:none!important;box-shadow:none!important}.process-drag-table[data-v-69f64189] .ant-table .resize-table-th .handle-mr{width:2px!important;z-index:2;cursor:col-resize;background:inherit;border:none;height:calc(100% - 12px)!important;top:6px!important;right:0!important;display:block!important}.process-drag-table[data-v-69f64189] .ant-table :deep(.ant-table) .ant-table-thead>tr>th.ant-table-column-has-actions.ant-table-column-has-filters{padding-right:0!important}.process-drag-table[data-v-69f64189] .ant-table :deep(.ant-table) .ant-table-thead>tr>th.ant-table-column-has-actions.ant-table-column-has-filters .vdr{padding-top:.125rem!important;padding-bottom:.125rem!important}.process-drag-table[data-v-69f64189] .ant-table .ant-table.ant-table-empty .ant-table-placeholder{background:inherit}.process-drag-table[data-v-69f64189] .ant-table .ant-table.ant-table-empty .ant-table-placeholder .ant-empty{padding:16px 0 8px}.process-drag-table[data-v-69f64189] .ant-table .ant-table.ant-table-fixed-header .ant-table-header.ant-table-hide-scrollbar{background:inherit!important}.process-drag-table[data-v-69f64189] .ant-table .ant-table-bordered.ant-table-fixed-header .ant-table-scroll .ant-table-header::-webkit-scrollbar{border:none!important}.process-drag-table[data-v-69f64189] .ant-table .ant-table-body::-webkit-scrollbar-thumb{min-height:2rem;border-radius:5px}.process-drag-table[data-v-69f64189] .ant-table .ant-table-body::-webkit-scrollbar-corner{border-radius:0;background:#f5f7fa}.process-drag-table[data-v-69f64189] .ant-table .ant-table-empty .ant-table-body{position:unset!important}.process-drag-table[data-v-69f64189] .ant-table .ant-table-empty .ant-table-hide-scrollbar{overflow:hidden!important}.process-drag-table[data-v-69f64189] .ant-table .ant-table-hide-scrollbar::-webkit-scrollbar-track-piece,.process-drag-table[data-v-69f64189] .ant-table .ant-table-hide-scrollbar::-webkit-scrollbar-track,.process-drag-table[data-v-69f64189] .ant-table .ant-table-hide-scrollbar::-webkit-scrollbar-thumb{background:inherit!important}.scrollbar-sm[data-v-02639527]::-webkit-scrollbar{width:6px;height:6px}.scrollbar-sm[data-v-02639527] *::-webkit-scrollbar{width:6px;height:6px}.scroll-overlay[data-v-02639527]::-webkit-scrollbar{overflow:overlay}.font-size-sm[data-v-02639527]{font-size:12px}.font-size-normal[data-v-02639527]{font-size:14px}.font-size-lg[data-v-02639527]{font-size:16px}.primary-color[data-v-02639527]{color:#1377eb}.primary-bgColor[data-v-02639527]{background-color:#1377eb}.link-color[data-v-02639527]{color:#1377eb}.success-color[data-v-02639527]{color:#52c41a}.success-bgColor[data-v-02639527]{background-color:#52c41a}.warning-color[data-v-02639527]{color:#faad14}.error-color[data-v-02639527]{color:#ff4d4f}.error-bgColor[data-v-02639527]{background-color:#fff2f0}.label-color[data-v-02639527]{color:#64748b}.heading-color[data-v-02639527]{color:#1a253b}.heading-bgColor[data-v-02639527]{background-color:#1a253b}.text-color[data-v-02639527]{color:#1a253b}.text-color-secondary[data-v-02639527]{color:#4e5d78}.disabled-color[data-v-02639527]{color:#bcc1cc}.bgColor-light[data-v-02639527],.table-head-bgColor[data-v-02639527]{background-color:#f5f7fa}.hover-bg-color[data-v-02639527]:hover{background-color:#f0f7ff}.icon-bg-color[data-v-02639527]:hover{background-color:#e6f4ff}.padding-xs[data-v-02639527]{padding:.25rem}.padding-s[data-v-02639527]{padding:.5rem}.padding-l[data-v-02639527]{padding:.75rem}.padding-xl[data-v-02639527]{padding:1rem}.padding-xxl[data-v-02639527]{padding:1.5rem}.padding-xxxl[data-v-02639527]{padding:2rem}.margin-xs[data-v-02639527]{margin:.25rem}.margin-s[data-v-02639527]{margin:.5rem}.margin-l[data-v-02639527]{margin:.75rem}.margin-xl[data-v-02639527]{margin:1rem}.margin-xxl[data-v-02639527]{margin:1.5rem}.margin-xxxl[data-v-02639527]{margin:2rem}.a-link[data-v-02639527]{display:inline-block;padding-left:2px;padding-right:2px;color:#1377eb;border-radius:6px}.a-link[data-v-02639527]:hover{color:#3b99f7;background-color:#e6f4ff;cursor:pointer}.a-link[data-v-02639527]:active{color:#0658c4;background-color:#fafbfc}.a-link--disabled[data-v-02639527]{color:#bcc1cc}.a-link--disabled[data-v-02639527]:hover,.a-link--disabled[data-v-02639527]:active{color:#bcc1cc;background-color:transparent;cursor:not-allowed}.list-transfer[data-v-02639527]{display:flex;height:100%;width:100%;overflow:hidden;padding:16px 24px;gap:16px}.list-transfer.tree-single .content-left[data-v-02639527]{width:100%}.list-transfer.tree-single .content-right[data-v-02639527]{display:none}.list-transfer .no-data[data-v-02639527]{position:relative}.list-transfer .no-data .ant-empty[data-v-02639527]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;padding:0;margin:0}.list-transfer .border-bottom-none[data-v-02639527]{border-bottom:none}.list-transfer .list-option[data-v-02639527]{height:40px;line-height:40px;padding:0 0 0 8px;border-bottom:1px solid #e4e8ee}.list-transfer[data-v-02639527] .ant-input-search{margin:8px 8px 0;width:calc(100% - 16px)}.list-transfer .content-left[data-v-02639527]{flex:0 0 55%;border:1px solid #e4e8ee;border-radius:4px;overflow:hidden;background:#fff}.list-transfer .content-left .left-tree-content[data-v-02639527]{height:calc(100% - 92px);overflow:auto;padding:8px}.list-transfer .content-left .left-tree-content .tips[data-v-02639527]{text-align:center;padding:8px;color:#4e5d78}.list-transfer .content-right[data-v-02639527]{flex:1;border:1px solid #e4e8ee;border-radius:4px;overflow:hidden;background:#fff}.list-transfer .content-right .right-list-content[data-v-02639527]{height:calc(100% - 92px);overflow:auto;padding:8px}.list-transfer .content-right .right-list-content .ant-tag[data-v-02639527]{display:block;margin:8px 0;padding:8px 12px;border-radius:4px;background-color:#fafbfc;border:1px solid #e4e8ee;transition:all .2s}.list-transfer .content-right .right-list-content .ant-tag .tag-content[data-v-02639527]{display:inline-block;width:calc(100% - 24px)}.list-transfer .content-right .right-list-content .ant-tag[data-v-02639527]:hover{border-color:#3b99f7}.list-transfer .content-right .right-list-content .ant-tag[data-v-02639527] .anticon-close{color:#4e5d78;transition:color .2s}.list-transfer .content-right .right-list-content .ant-tag[data-v-02639527] .anticon-close:hover{color:#ff4d4f}.list-transfer[data-v-02639527] .ant-skeleton{padding:0 8px}.list-transfer[data-v-02639527] .ant-skeleton .ant-skeleton-content{padding:8px}.scrollbar-sm[data-v-ac816c2f]::-webkit-scrollbar{width:6px;height:6px}.scrollbar-sm[data-v-ac816c2f] *::-webkit-scrollbar{width:6px;height:6px}.scroll-overlay[data-v-ac816c2f]::-webkit-scrollbar{overflow:overlay}.font-size-sm[data-v-ac816c2f]{font-size:12px}.font-size-normal[data-v-ac816c2f]{font-size:14px}.font-size-lg[data-v-ac816c2f]{font-size:16px}.primary-color[data-v-ac816c2f]{color:#1377eb}.primary-bgColor[data-v-ac816c2f]{background-color:#1377eb}.link-color[data-v-ac816c2f]{color:#1377eb}.success-color[data-v-ac816c2f]{color:#52c41a}.success-bgColor[data-v-ac816c2f]{background-color:#52c41a}.warning-color[data-v-ac816c2f]{color:#faad14}.error-color[data-v-ac816c2f]{color:#ff4d4f}.error-bgColor[data-v-ac816c2f]{background-color:#fff2f0}.label-color[data-v-ac816c2f]{color:#64748b}.heading-color[data-v-ac816c2f]{color:#1a253b}.heading-bgColor[data-v-ac816c2f]{background-color:#1a253b}.text-color[data-v-ac816c2f]{color:#1a253b}.text-color-secondary[data-v-ac816c2f]{color:#4e5d78}.disabled-color[data-v-ac816c2f]{color:#bcc1cc}.bgColor-light[data-v-ac816c2f],.table-head-bgColor[data-v-ac816c2f]{background-color:#f5f7fa}.hover-bg-color[data-v-ac816c2f]:hover{background-color:#f0f7ff}.icon-bg-color[data-v-ac816c2f]:hover{background-color:#e6f4ff}.padding-xs[data-v-ac816c2f]{padding:.25rem}.padding-s[data-v-ac816c2f]{padding:.5rem}.padding-l[data-v-ac816c2f]{padding:.75rem}.padding-xl[data-v-ac816c2f]{padding:1rem}.padding-xxl[data-v-ac816c2f]{padding:1.5rem}.padding-xxxl[data-v-ac816c2f]{padding:2rem}.margin-xs[data-v-ac816c2f]{margin:.25rem}.margin-s[data-v-ac816c2f]{margin:.5rem}.margin-l[data-v-ac816c2f]{margin:.75rem}.margin-xl[data-v-ac816c2f]{margin:1rem}.margin-xxl[data-v-ac816c2f]{margin:1.5rem}.margin-xxxl[data-v-ac816c2f]{margin:2rem}.a-link[data-v-ac816c2f]{display:inline-block;padding-left:2px;padding-right:2px;color:#1377eb;border-radius:6px}.a-link[data-v-ac816c2f]:hover{color:#3b99f7;background-color:#e6f4ff;cursor:pointer}.a-link[data-v-ac816c2f]:active{color:#0658c4;background-color:#fafbfc}.a-link--disabled[data-v-ac816c2f]{color:#bcc1cc}.a-link--disabled[data-v-ac816c2f]:hover,.a-link--disabled[data-v-ac816c2f]:active{color:#bcc1cc;background-color:transparent;cursor:not-allowed}.object-rule-tmp-table[data-v-ac816c2f]{padding-bottom:8px;overflow-x:hidden;text-align:left}.object-rule-tmp-table .row-options[data-v-ac816c2f]{padding:4px 8px;background-color:#f5f7fa}.object-rule-tmp-table .table-action[data-v-ac816c2f]{margin-right:8px}.scrollbar-sm[data-v-47069e55]::-webkit-scrollbar{width:6px;height:6px}.scrollbar-sm[data-v-47069e55] *::-webkit-scrollbar{width:6px;height:6px}.scroll-overlay[data-v-47069e55]::-webkit-scrollbar{overflow:overlay}.font-size-sm[data-v-47069e55]{font-size:12px}.font-size-normal[data-v-47069e55]{font-size:14px}.font-size-lg[data-v-47069e55]{font-size:16px}.primary-color[data-v-47069e55]{color:#1377eb}.primary-bgColor[data-v-47069e55]{background-color:#1377eb}.link-color[data-v-47069e55]{color:#1377eb}.success-color[data-v-47069e55]{color:#52c41a}.success-bgColor[data-v-47069e55]{background-color:#52c41a}.warning-color[data-v-47069e55]{color:#faad14}.error-color[data-v-47069e55]{color:#ff4d4f}.error-bgColor[data-v-47069e55]{background-color:#fff2f0}.label-color[data-v-47069e55]{color:#64748b}.heading-color[data-v-47069e55]{color:#1a253b}.heading-bgColor[data-v-47069e55]{background-color:#1a253b}.text-color[data-v-47069e55]{color:#1a253b}.text-color-secondary[data-v-47069e55]{color:#4e5d78}.disabled-color[data-v-47069e55]{color:#bcc1cc}.bgColor-light[data-v-47069e55],.table-head-bgColor[data-v-47069e55]{background-color:#f5f7fa}.hover-bg-color[data-v-47069e55]:hover{background-color:#f0f7ff}.icon-bg-color[data-v-47069e55]:hover{background-color:#e6f4ff}.padding-xs[data-v-47069e55]{padding:.25rem}.padding-s[data-v-47069e55]{padding:.5rem}.padding-l[data-v-47069e55]{padding:.75rem}.padding-xl[data-v-47069e55]{padding:1rem}.padding-xxl[data-v-47069e55]{padding:1.5rem}.padding-xxxl[data-v-47069e55]{padding:2rem}.margin-xs[data-v-47069e55]{margin:.25rem}.margin-s[data-v-47069e55]{margin:.5rem}.margin-l[data-v-47069e55]{margin:.75rem}.margin-xl[data-v-47069e55]{margin:1rem}.margin-xxl[data-v-47069e55]{margin:1.5rem}.margin-xxxl[data-v-47069e55]{margin:2rem}.a-link[data-v-47069e55]{display:inline-block;padding-left:2px;padding-right:2px;color:#1377eb;border-radius:6px}.a-link[data-v-47069e55]:hover{color:#3b99f7;background-color:#e6f4ff;cursor:pointer}.a-link[data-v-47069e55]:active{color:#0658c4;background-color:#fafbfc}.a-link--disabled[data-v-47069e55]{color:#bcc1cc}.a-link--disabled[data-v-47069e55]:hover,.a-link--disabled[data-v-47069e55]:active{color:#bcc1cc;background-color:transparent;cursor:not-allowed}.message-tmp-table[data-v-47069e55]{padding-bottom:8px;overflow-x:hidden}.message-tmp-table .row-options[data-v-47069e55]{padding:4px 8px;background-color:#f5f7fa}.message-tmp-table .table-action[data-v-47069e55]{margin-right:8px}.field-msg-template-modal .ant-modal{height:80%;min-height:30rem;max-height:96vh}.field-msg-template-modal .ant-modal .ant-modal-content,.field-msg-template-modal .ant-modal .ant-modal-body{padding:0;overflow:hidden;width:100%;height:100%;max-height:100%}.scrollbar-sm[data-v-145311e8]::-webkit-scrollbar{width:6px;height:6px}.scrollbar-sm[data-v-145311e8] *::-webkit-scrollbar{width:6px;height:6px}.scroll-overlay[data-v-145311e8]::-webkit-scrollbar{overflow:overlay}.font-size-sm[data-v-145311e8]{font-size:12px}.font-size-normal[data-v-145311e8]{font-size:14px}.font-size-lg[data-v-145311e8]{font-size:16px}.primary-color[data-v-145311e8]{color:#1377eb}.primary-bgColor[data-v-145311e8]{background-color:#1377eb}.link-color[data-v-145311e8]{color:#1377eb}.success-color[data-v-145311e8]{color:#52c41a}.success-bgColor[data-v-145311e8]{background-color:#52c41a}.warning-color[data-v-145311e8]{color:#faad14}.error-color[data-v-145311e8]{color:#ff4d4f}.error-bgColor[data-v-145311e8]{background-color:#fff2f0}.label-color[data-v-145311e8]{color:#64748b}.heading-color[data-v-145311e8]{color:#1a253b}.heading-bgColor[data-v-145311e8]{background-color:#1a253b}.text-color[data-v-145311e8]{color:#1a253b}.text-color-secondary[data-v-145311e8]{color:#4e5d78}.disabled-color[data-v-145311e8]{color:#bcc1cc}.bgColor-light[data-v-145311e8],.table-head-bgColor[data-v-145311e8]{background-color:#f5f7fa}.hover-bg-color[data-v-145311e8]:hover{background-color:#f0f7ff}.icon-bg-color[data-v-145311e8]:hover{background-color:#e6f4ff}.padding-xs[data-v-145311e8]{padding:.25rem}.padding-s[data-v-145311e8]{padding:.5rem}.padding-l[data-v-145311e8]{padding:.75rem}.padding-xl[data-v-145311e8]{padding:1rem}.padding-xxl[data-v-145311e8]{padding:1.5rem}.padding-xxxl[data-v-145311e8]{padding:2rem}.margin-xs[data-v-145311e8]{margin:.25rem}.margin-s[data-v-145311e8]{margin:.5rem}.margin-l[data-v-145311e8]{margin:.75rem}.margin-xl[data-v-145311e8]{margin:1rem}.margin-xxl[data-v-145311e8]{margin:1.5rem}.margin-xxxl[data-v-145311e8]{margin:2rem}.a-link[data-v-145311e8]{display:inline-block;padding-left:2px;padding-right:2px;color:#1377eb;border-radius:6px}.a-link[data-v-145311e8]:hover{color:#3b99f7;background-color:#e6f4ff;cursor:pointer}.a-link[data-v-145311e8]:active{color:#0658c4;background-color:#fafbfc}.a-link--disabled[data-v-145311e8]{color:#bcc1cc}.a-link--disabled[data-v-145311e8]:hover,.a-link--disabled[data-v-145311e8]:active{color:#bcc1cc;background-color:transparent;cursor:not-allowed}.data-conversion-tmp-table[data-v-145311e8]{padding-bottom:8px;overflow-x:hidden;text-align:left}.data-conversion-tmp-table .row-options[data-v-145311e8]{padding:4px 8px;background-color:#f5f7fa}.scrollbar-sm[data-v-195a5ec6]::-webkit-scrollbar{width:6px;height:6px}.scrollbar-sm[data-v-195a5ec6] *::-webkit-scrollbar{width:6px;height:6px}.scroll-overlay[data-v-195a5ec6]::-webkit-scrollbar{overflow:overlay}.font-size-sm[data-v-195a5ec6]{font-size:12px}.font-size-normal[data-v-195a5ec6]{font-size:14px}.font-size-lg[data-v-195a5ec6]{font-size:16px}.primary-color[data-v-195a5ec6]{color:#1377eb}.primary-bgColor[data-v-195a5ec6]{background-color:#1377eb}.link-color[data-v-195a5ec6]{color:#1377eb}.success-color[data-v-195a5ec6]{color:#52c41a}.success-bgColor[data-v-195a5ec6]{background-color:#52c41a}.warning-color[data-v-195a5ec6]{color:#faad14}.error-color[data-v-195a5ec6]{color:#ff4d4f}.error-bgColor[data-v-195a5ec6]{background-color:#fff2f0}.label-color[data-v-195a5ec6]{color:#64748b}.heading-color[data-v-195a5ec6]{color:#1a253b}.heading-bgColor[data-v-195a5ec6]{background-color:#1a253b}.text-color[data-v-195a5ec6]{color:#1a253b}.text-color-secondary[data-v-195a5ec6]{color:#4e5d78}.disabled-color[data-v-195a5ec6]{color:#bcc1cc}.bgColor-light[data-v-195a5ec6],.table-head-bgColor[data-v-195a5ec6]{background-color:#f5f7fa}.hover-bg-color[data-v-195a5ec6]:hover{background-color:#f0f7ff}.icon-bg-color[data-v-195a5ec6]:hover{background-color:#e6f4ff}.padding-xs[data-v-195a5ec6]{padding:.25rem}.padding-s[data-v-195a5ec6]{padding:.5rem}.padding-l[data-v-195a5ec6]{padding:.75rem}.padding-xl[data-v-195a5ec6]{padding:1rem}.padding-xxl[data-v-195a5ec6]{padding:1.5rem}.padding-xxxl[data-v-195a5ec6]{padding:2rem}.margin-xs[data-v-195a5ec6]{margin:.25rem}.margin-s[data-v-195a5ec6]{margin:.5rem}.margin-l[data-v-195a5ec6]{margin:.75rem}.margin-xl[data-v-195a5ec6]{margin:1rem}.margin-xxl[data-v-195a5ec6]{margin:1.5rem}.margin-xxxl[data-v-195a5ec6]{margin:2rem}.a-link[data-v-195a5ec6]{display:inline-block;padding-left:2px;padding-right:2px;color:#1377eb;border-radius:6px}.a-link[data-v-195a5ec6]:hover{color:#3b99f7;background-color:#e6f4ff;cursor:pointer}.a-link[data-v-195a5ec6]:active{color:#0658c4;background-color:#fafbfc}.a-link--disabled[data-v-195a5ec6]{color:#bcc1cc}.a-link--disabled[data-v-195a5ec6]:hover,.a-link--disabled[data-v-195a5ec6]:active{color:#bcc1cc;background-color:transparent;cursor:not-allowed}.field-orgs-modal-wrapper[data-v-195a5ec6]{width:100%}.field-orgs-modal-wrapper[data-v-195a5ec6] .ant-input{cursor:pointer}.field-orgs-modal-wrapper .field-orgs-setting-icon[data-v-195a5ec6]{cursor:pointer;color:#4e5d78;font-size:14px;transition:color .3s}.field-orgs-modal-wrapper .field-orgs-setting-icon[data-v-195a5ec6]:hover{color:#1377eb}.field-orgs-modal-wrapper .field-orgs-setting-icon.icon-disabled[data-v-195a5ec6]{cursor:not-allowed;color:#bcc1cc}.tree-container[data-v-195a5ec6]{padding:8px 16px 0;height:100%;width:100%;overflow:hidden;display:flex;justify-content:space-between}.tree-container[data-v-195a5ec6] .ant-skeleton{padding-left:8px}.tree-container .no-data[data-v-195a5ec6]{position:relative}.tree-container .no-data .ant-empty[data-v-195a5ec6]{position:relative;top:50%;width:100%;margin:0;padding:0;text-align:center;transform:translateY(-50%)}.tree-container[data-v-195a5ec6] .ant-input-search{width:calc(100% - 16px)}.tree-container .content-left[data-v-195a5ec6]{overflow:hidden;width:55%}.tree-container .content-left .left-tree[data-v-195a5ec6]{margin-top:8px;overflow:auto;border:1px solid #e4e8ee;height:calc(100% - 2.4375rem)}.tree-container .content-left .left-tree .left-tree-content[data-v-195a5ec6]{height:100%;padding-right:8px;overflow:auto}.tree-container .content-right[data-v-195a5ec6]{overflow:hidden;flex:1}.tree-container .content-right .right-list[data-v-195a5ec6]{margin-top:8px;overflow:hidden;border:1px solid #e4e8ee;height:calc(100% - 2.4375rem)}.tree-container .content-right .right-list .right-list-content[data-v-195a5ec6]{height:calc(100% - 40px);overflow:auto}.tree-container .content-right .right-list .right-list-content[data-v-195a5ec6] .ant-tag{background:#f5f7fa;height:32px;line-height:32px;width:calc(100% - 16px);margin:8px 8px 0}.tree-container .content-right .right-list .right-list-content[data-v-195a5ec6] .ant-tag .tag-content{width:calc(100% - 1.5625rem);display:inline-block}.tree-container .content-right .right-list .right-list-content[data-v-195a5ec6] .ant-tag:hover{background:#fafbfc}.tree-container .content-right .right-list .right-list-option[data-v-195a5ec6]{border-top:1px solid #e4e8ee;height:40px;line-height:40px;padding:0 0 0 8px}.expression-editor[data-v-960b0fd1]{width:100%}.expression-editor .expression-result[data-v-960b0fd1]{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background-color:#f9fbfd;border:1px solid #e8e8e8;border-radius:4px;min-height:32px}.expression-editor .expression-result .result-text[data-v-960b0fd1]{flex:1;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;color:#314659;word-break:break-all}.expression-editor .expression-result .result-placeholder[data-v-960b0fd1]{flex:1;font-size:14px;color:#bfbfbf}.expression-editor .expression-result .action-buttons[data-v-960b0fd1]{display:flex;gap:4px;margin-left:8px}.expression-editor .expression-result .action-buttons .action-button[data-v-960b0fd1]{color:#666;font-size:14px}.expression-editor .expression-result .action-buttons .action-button[data-v-960b0fd1]:hover{color:#1890ff;background-color:#e6f7ff}.expression-editor .editor-content[data-v-960b0fd1]{display:flex;flex-direction:column;gap:12px}.expression-editor-modal .expression-input[data-v-960b0fd1]{position:relative}.expression-editor-modal .expression-input[data-v-960b0fd1] .ant-input-textarea{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.5}.expression-editor-modal .expression-input .error-message[data-v-960b0fd1]{color:#ff4d4f;font-size:12px;margin-top:4px}.expression-editor-modal .toolbar[data-v-960b0fd1]{display:flex;flex-direction:column;gap:12px}.expression-editor-modal .toolbar .toolbar-section h4[data-v-960b0fd1]{margin:0 0 8px;font-size:13px;font-weight:500;color:#314659}.expression-editor-modal .toolbar .toolbar-section .toolbar-items[data-v-960b0fd1]{display:flex;flex-wrap:wrap;gap:6px}.expression-editor-modal .toolbar .toolbar-section .toolbar-items .toolbar-item[data-v-960b0fd1]{cursor:pointer;transition:all .2s ease;font-size:12px;padding:2px 8px}.expression-editor-modal .toolbar .toolbar-section .toolbar-items .toolbar-item[data-v-960b0fd1]:hover{background-color:#e6f7ff;border-color:#91d5ff}.scrollbar-sm[data-v-1e623cf5]::-webkit-scrollbar{width:6px;height:6px}.scrollbar-sm[data-v-1e623cf5] *::-webkit-scrollbar{width:6px;height:6px}.scroll-overlay[data-v-1e623cf5]::-webkit-scrollbar{overflow:overlay}.font-size-sm[data-v-1e623cf5]{font-size:12px}.font-size-normal[data-v-1e623cf5]{font-size:14px}.font-size-lg[data-v-1e623cf5]{font-size:16px}.primary-color[data-v-1e623cf5]{color:#1377eb}.primary-bgColor[data-v-1e623cf5]{background-color:#1377eb}.link-color[data-v-1e623cf5]{color:#1377eb}.success-color[data-v-1e623cf5]{color:#52c41a}.success-bgColor[data-v-1e623cf5]{background-color:#52c41a}.warning-color[data-v-1e623cf5]{color:#faad14}.error-color[data-v-1e623cf5]{color:#ff4d4f}.error-bgColor[data-v-1e623cf5]{background-color:#fff2f0}.label-color[data-v-1e623cf5]{color:#64748b}.heading-color[data-v-1e623cf5]{color:#1a253b}.heading-bgColor[data-v-1e623cf5]{background-color:#1a253b}.text-color[data-v-1e623cf5]{color:#1a253b}.text-color-secondary[data-v-1e623cf5]{color:#4e5d78}.disabled-color[data-v-1e623cf5]{color:#bcc1cc}.bgColor-light[data-v-1e623cf5],.table-head-bgColor[data-v-1e623cf5]{background-color:#f5f7fa}.hover-bg-color[data-v-1e623cf5]:hover{background-color:#f0f7ff}.icon-bg-color[data-v-1e623cf5]:hover{background-color:#e6f4ff}.padding-xs[data-v-1e623cf5]{padding:.25rem}.padding-s[data-v-1e623cf5]{padding:.5rem}.padding-l[data-v-1e623cf5]{padding:.75rem}.padding-xl[data-v-1e623cf5]{padding:1rem}.padding-xxl[data-v-1e623cf5]{padding:1.5rem}.padding-xxxl[data-v-1e623cf5]{padding:2rem}.margin-xs[data-v-1e623cf5]{margin:.25rem}.margin-s[data-v-1e623cf5]{margin:.5rem}.margin-l[data-v-1e623cf5]{margin:.75rem}.margin-xl[data-v-1e623cf5]{margin:1rem}.margin-xxl[data-v-1e623cf5]{margin:1.5rem}.margin-xxxl[data-v-1e623cf5]{margin:2rem}.a-link[data-v-1e623cf5]{display:inline-block;padding-left:2px;padding-right:2px;color:#1377eb;border-radius:6px}.a-link[data-v-1e623cf5]:hover{color:#3b99f7;background-color:#e6f4ff;cursor:pointer}.a-link[data-v-1e623cf5]:active{color:#0658c4;background-color:#fafbfc}.a-link--disabled[data-v-1e623cf5]{color:#bcc1cc}.a-link--disabled[data-v-1e623cf5]:hover,.a-link--disabled[data-v-1e623cf5]:active{color:#bcc1cc;background-color:transparent;cursor:not-allowed}.block-item[data-v-1e623cf5]{padding:4px 0 0;line-height:36px}.block-item .block-label[data-v-1e623cf5]{padding-left:16px}.block-item .block-field[data-v-1e623cf5]{overflow:auto;padding-right:8px}.scrollbar-sm[data-v-c96b67ac]::-webkit-scrollbar{width:6px;height:6px}.scrollbar-sm[data-v-c96b67ac] *::-webkit-scrollbar{width:6px;height:6px}.scroll-overlay[data-v-c96b67ac]::-webkit-scrollbar{overflow:overlay}.font-size-sm[data-v-c96b67ac]{font-size:12px}.font-size-normal[data-v-c96b67ac]{font-size:14px}.font-size-lg[data-v-c96b67ac]{font-size:16px}.primary-color[data-v-c96b67ac]{color:#1377eb}.primary-bgColor[data-v-c96b67ac]{background-color:#1377eb}.link-color[data-v-c96b67ac]{color:#1377eb}.success-color[data-v-c96b67ac]{color:#52c41a}.success-bgColor[data-v-c96b67ac]{background-color:#52c41a}.warning-color[data-v-c96b67ac]{color:#faad14}.error-color[data-v-c96b67ac]{color:#ff4d4f}.error-bgColor[data-v-c96b67ac]{background-color:#fff2f0}.label-color[data-v-c96b67ac]{color:#64748b}.heading-color[data-v-c96b67ac]{color:#1a253b}.heading-bgColor[data-v-c96b67ac]{background-color:#1a253b}.text-color[data-v-c96b67ac]{color:#1a253b}.text-color-secondary[data-v-c96b67ac]{color:#4e5d78}.disabled-color[data-v-c96b67ac]{color:#bcc1cc}.bgColor-light[data-v-c96b67ac],.table-head-bgColor[data-v-c96b67ac]{background-color:#f5f7fa}.hover-bg-color[data-v-c96b67ac]:hover{background-color:#f0f7ff}.icon-bg-color[data-v-c96b67ac]:hover{background-color:#e6f4ff}.padding-xs[data-v-c96b67ac]{padding:.25rem}.padding-s[data-v-c96b67ac]{padding:.5rem}.padding-l[data-v-c96b67ac]{padding:.75rem}.padding-xl[data-v-c96b67ac]{padding:1rem}.padding-xxl[data-v-c96b67ac]{padding:1.5rem}.padding-xxxl[data-v-c96b67ac]{padding:2rem}.margin-xs[data-v-c96b67ac]{margin:.25rem}.margin-s[data-v-c96b67ac]{margin:.5rem}.margin-l[data-v-c96b67ac]{margin:.75rem}.margin-xl[data-v-c96b67ac]{margin:1rem}.margin-xxl[data-v-c96b67ac]{margin:1.5rem}.margin-xxxl[data-v-c96b67ac]{margin:2rem}.a-link[data-v-c96b67ac]{display:inline-block;padding-left:2px;padding-right:2px;color:#1377eb;border-radius:6px}.a-link[data-v-c96b67ac]:hover{color:#3b99f7;background-color:#e6f4ff;cursor:pointer}.a-link[data-v-c96b67ac]:active{color:#0658c4;background-color:#fafbfc}.a-link--disabled[data-v-c96b67ac]{color:#bcc1cc}.a-link--disabled[data-v-c96b67ac]:hover,.a-link--disabled[data-v-c96b67ac]:active{color:#bcc1cc;background-color:transparent;cursor:not-allowed}.form-item[data-v-c96b67ac]{transition:all .2s cubic-bezier(.4,0,.2,1);margin-bottom:8px;padding:0;border-bottom:1px solid #f0f2f5}.form-item[data-v-c96b67ac]:hover{background-color:transparent}.form-item[data-v-c96b67ac]:focus-within{background-color:transparent;border-left:2px solid #1377eb;padding-left:8px}.form-item[data-v-c96b67ac]:last-child{margin-bottom:0;border-bottom:none}[data-v-c96b67ac] .ant-form-item{margin:0;padding-bottom:0}[data-v-c96b67ac] .ant-form-item .ant-form-item-label label{font-weight:500;font-size:13px;color:#64748b;letter-spacing:.2px}[data-v-c96b67ac] .ant-form-item .ant-form-item-label label.ant-form-item-required:before{color:#ff4d4f;font-weight:700}[data-v-c96b67ac] .ant-form-item .ant-form-item-control{text-align:left;min-height:auto}[data-v-c96b67ac] .ant-form-item .ant-form-item-control>div{display:flex;align-items:center}[data-v-c96b67ac] .ant-form-item .ant-form-item-explain{margin-top:6px;font-size:12px;line-height:1.5}[data-v-c96b67ac] .ant-form-item .ant-form-item-explain .ant-form-item-explain-error{color:#ff4d4f;display:flex;align-items:center;gap:4px}[data-v-c96b67ac] .ant-form-item .ant-form-item-explain .ant-form-item-explain-error:before{content:"⚠";font-size:12px}[data-v-c96b67ac] .ant-form-item.ant-form-item-has-error .ant-input,[data-v-c96b67ac] .ant-form-item.ant-form-item-has-error .ant-select-selector,[data-v-c96b67ac] .ant-form-item.ant-form-item-has-error .ant-picker{border-color:#ff4d4f;box-shadow:0 0 0 2px #f546451a}[data-v-c96b67ac] .ant-form-item.ant-form-item-has-error .ant-input:hover,[data-v-c96b67ac] .ant-form-item.ant-form-item-has-error .ant-select-selector:hover,[data-v-c96b67ac] .ant-form-item.ant-form-item-has-error .ant-picker:hover,[data-v-c96b67ac] .ant-form-item.ant-form-item-has-error .ant-input:focus,[data-v-c96b67ac] .ant-form-item.ant-form-item-has-error .ant-select-selector:focus,[data-v-c96b67ac] .ant-form-item.ant-form-item-has-error .ant-picker:focus{border-color:#ff4d4f}[data-v-c96b67ac] .ant-form-item.ant-form-item-has-success .ant-input,[data-v-c96b67ac] .ant-form-item.ant-form-item-has-success .ant-select-selector,[data-v-c96b67ac] .ant-form-item.ant-form-item-has-success .ant-input:hover,[data-v-c96b67ac] .ant-form-item.ant-form-item-has-success .ant-select-selector:hover{border-color:#52c41a}[data-v-c96b67ac] .ant-input,[data-v-c96b67ac] .ant-input-affix-wrapper{border-radius:8px;border-color:#d1d5db;transition:all .2s ease}[data-v-c96b67ac] .ant-input:hover,[data-v-c96b67ac] .ant-input-affix-wrapper:hover{border-color:#1377eb}[data-v-c96b67ac] .ant-input:focus,[data-v-c96b67ac] .ant-input-affix-wrapper:focus,[data-v-c96b67ac] .ant-input-focused,[data-v-c96b67ac] .ant-input-affix-wrapper-focused{border-color:#1377eb;box-shadow:0 0 0 3px #1377eb1a}[data-v-c96b67ac] .ant-select .ant-select-selector{border-radius:8px;border-color:#d1d5db;transition:all .2s ease}[data-v-c96b67ac] .ant-select .ant-select-selector:hover{border-color:#1377eb}[data-v-c96b67ac] .ant-select.ant-select-focused .ant-select-selector{border-color:#1377eb;box-shadow:0 0 0 3px #1377eb1a}@media(max-width:768px){.form-item[data-v-c96b67ac]{margin-bottom:6px}[data-v-c96b67ac] .ant-form-item{flex-direction:column;align-items:flex-start}[data-v-c96b67ac] .ant-form-item .ant-form-item-label{text-align:left;padding:0}[data-v-c96b67ac] .ant-form-item .ant-form-item-label label{font-size:13px}[data-v-c96b67ac] .ant-form-item .ant-form-item-control{width:100%}}@media(max-width:320px){.form-item[data-v-c96b67ac]{margin-bottom:8px}[data-v-c96b67ac] .ant-form-item .ant-form-item-label label{font-size:12px}}@media(prefers-reduced-motion:reduce){.form-item[data-v-c96b67ac],.form-item[data-v-c96b67ac]:hover,[data-v-c96b67ac] .ant-input,[data-v-c96b67ac] .ant-input-affix-wrapper,[data-v-c96b67ac] .ant-select .ant-select-selector{transition:none}}.scrollbar-sm[data-v-ac052db6]::-webkit-scrollbar{width:6px;height:6px}.scrollbar-sm[data-v-ac052db6] *::-webkit-scrollbar{width:6px;height:6px}.scroll-overlay[data-v-ac052db6]::-webkit-scrollbar{overflow:overlay}.font-size-sm[data-v-ac052db6]{font-size:12px}.font-size-normal[data-v-ac052db6]{font-size:14px}.font-size-lg[data-v-ac052db6]{font-size:16px}.primary-color[data-v-ac052db6]{color:#1377eb}.primary-bgColor[data-v-ac052db6]{background-color:#1377eb}.link-color[data-v-ac052db6]{color:#1377eb}.success-color[data-v-ac052db6]{color:#52c41a}.success-bgColor[data-v-ac052db6]{background-color:#52c41a}.warning-color[data-v-ac052db6]{color:#faad14}.error-color[data-v-ac052db6]{color:#ff4d4f}.error-bgColor[data-v-ac052db6]{background-color:#fff2f0}.label-color[data-v-ac052db6]{color:#64748b}.heading-color[data-v-ac052db6]{color:#1a253b}.heading-bgColor[data-v-ac052db6]{background-color:#1a253b}.text-color[data-v-ac052db6]{color:#1a253b}.text-color-secondary[data-v-ac052db6]{color:#4e5d78}.disabled-color[data-v-ac052db6]{color:#bcc1cc}.bgColor-light[data-v-ac052db6],.table-head-bgColor[data-v-ac052db6]{background-color:#f5f7fa}.hover-bg-color[data-v-ac052db6]:hover{background-color:#f0f7ff}.icon-bg-color[data-v-ac052db6]:hover{background-color:#e6f4ff}.padding-xs[data-v-ac052db6]{padding:.25rem}.padding-s[data-v-ac052db6]{padding:.5rem}.padding-l[data-v-ac052db6]{padding:.75rem}.padding-xl[data-v-ac052db6]{padding:1rem}.padding-xxl[data-v-ac052db6]{padding:1.5rem}.padding-xxxl[data-v-ac052db6]{padding:2rem}.margin-xs[data-v-ac052db6]{margin:.25rem}.margin-s[data-v-ac052db6]{margin:.5rem}.margin-l[data-v-ac052db6]{margin:.75rem}.margin-xl[data-v-ac052db6]{margin:1rem}.margin-xxl[data-v-ac052db6]{margin:1.5rem}.margin-xxxl[data-v-ac052db6]{margin:2rem}.a-link[data-v-ac052db6]{display:inline-block;padding-left:2px;padding-right:2px;color:#1377eb;border-radius:6px}.a-link[data-v-ac052db6]:hover{color:#3b99f7;background-color:#e6f4ff;cursor:pointer}.a-link[data-v-ac052db6]:active{color:#0658c4;background-color:#fafbfc}.a-link--disabled[data-v-ac052db6]{color:#bcc1cc}.a-link--disabled[data-v-ac052db6]:hover,.a-link--disabled[data-v-ac052db6]:active{color:#bcc1cc;background-color:transparent;cursor:not-allowed}.manage-card-container[data-v-ac052db6]{height:100%;width:100%;overflow-x:hidden;overflow-y:auto;padding:0 0 8px}.manage-card-container .manage-card-content[data-v-ac052db6]{position:relative;background-color:#fff;border-radius:6px;width:100%;padding:4px 8px 8px 0;margin-bottom:8px;border:1px solid #f0f2f5;transition:all .2s ease}.manage-card-container .manage-card-content[data-v-ac052db6]:hover{border-color:#e4e8ee;box-shadow:0 2px 8px #0000000a}.manage-card-container .manage-card-content:hover .manage-card-delete[data-v-ac052db6]{opacity:1}.manage-card-container .manage-card-content .card-num[data-v-ac052db6]{margin:0;padding:0;display:inline-block;font-size:14px;position:absolute;color:#4e5d78;top:6px;left:8px}.manage-card-container .manage-card-content .manage-card-span[data-v-ac052db6]{display:block;width:100%;height:24px;margin-bottom:.125rem}.manage-card-container .manage-card-content .manage-card-delete[data-v-ac052db6]{opacity:0;font-size:14px;margin-top:4px;float:right;transition:opacity .2s ease;cursor:pointer}.manage-card-container .manage-card-content .manage-card-delete[data-v-ac052db6]:hover{color:#ff4d4f}.manage-card-container .disabled-card[data-v-ac052db6]:last-of-type{margin-bottom:0}.manage-card-container .manage-card-button[data-v-ac052db6]{border-radius:6px;transition:all .2s ease}.manage-card-container .manage-card-button[data-v-ac052db6]:hover{border-color:#1377eb;color:#1377eb}.manage-card-container .manage-card-button .manage-card-button-icon[data-v-ac052db6]{font-size:12px}.panel-collapse[data-v-ac052db6]{padding:0 12px}.panel-collapse .manage-card-add[data-v-ac052db6]{margin-top:8px;margin-bottom:8px}.scrollbar-sm[data-v-f7384a2f]::-webkit-scrollbar{width:6px;height:6px}.scrollbar-sm[data-v-f7384a2f] *::-webkit-scrollbar{width:6px;height:6px}.scroll-overlay[data-v-f7384a2f]::-webkit-scrollbar{overflow:overlay}.font-size-sm[data-v-f7384a2f]{font-size:12px}.font-size-normal[data-v-f7384a2f]{font-size:14px}.font-size-lg[data-v-f7384a2f]{font-size:16px}.primary-color[data-v-f7384a2f]{color:#1377eb}.primary-bgColor[data-v-f7384a2f]{background-color:#1377eb}.link-color[data-v-f7384a2f]{color:#1377eb}.success-color[data-v-f7384a2f]{color:#52c41a}.success-bgColor[data-v-f7384a2f]{background-color:#52c41a}.warning-color[data-v-f7384a2f]{color:#faad14}.error-color[data-v-f7384a2f]{color:#ff4d4f}.error-bgColor[data-v-f7384a2f]{background-color:#fff2f0}.label-color[data-v-f7384a2f]{color:#64748b}.heading-color[data-v-f7384a2f]{color:#1a253b}.heading-bgColor[data-v-f7384a2f]{background-color:#1a253b}.text-color[data-v-f7384a2f]{color:#1a253b}.text-color-secondary[data-v-f7384a2f]{color:#4e5d78}.disabled-color[data-v-f7384a2f]{color:#bcc1cc}.bgColor-light[data-v-f7384a2f],.table-head-bgColor[data-v-f7384a2f]{background-color:#f5f7fa}.hover-bg-color[data-v-f7384a2f]:hover{background-color:#f0f7ff}.icon-bg-color[data-v-f7384a2f]:hover{background-color:#e6f4ff}.padding-xs[data-v-f7384a2f]{padding:.25rem}.padding-s[data-v-f7384a2f]{padding:.5rem}.padding-l[data-v-f7384a2f]{padding:.75rem}.padding-xl[data-v-f7384a2f]{padding:1rem}.padding-xxl[data-v-f7384a2f]{padding:1.5rem}.padding-xxxl[data-v-f7384a2f]{padding:2rem}.margin-xs[data-v-f7384a2f]{margin:.25rem}.margin-s[data-v-f7384a2f]{margin:.5rem}.margin-l[data-v-f7384a2f]{margin:.75rem}.margin-xl[data-v-f7384a2f]{margin:1rem}.margin-xxl[data-v-f7384a2f]{margin:1.5rem}.margin-xxxl[data-v-f7384a2f]{margin:2rem}.a-link[data-v-f7384a2f]{display:inline-block;padding-left:2px;padding-right:2px;color:#1377eb;border-radius:6px}.a-link[data-v-f7384a2f]:hover{color:#3b99f7;background-color:#e6f4ff;cursor:pointer}.a-link[data-v-f7384a2f]:active{color:#0658c4;background-color:#fafbfc}.a-link--disabled[data-v-f7384a2f]{color:#bcc1cc}.a-link--disabled[data-v-f7384a2f]:hover,.a-link--disabled[data-v-f7384a2f]:active{color:#bcc1cc;background-color:transparent;cursor:not-allowed}.fold-group[data-v-f7384a2f]{margin:0 0 8px;padding-bottom:0;border-radius:12px;overflow-x:hidden;overflow-y:visible;background:#fff;box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005;transition:all .3s cubic-bezier(.4,0,.2,1)}.fold-group[data-v-f7384a2f]:hover{box-shadow:0 4px 12px #0000000f}.fold-group[data-v-f7384a2f]:last-child{margin-bottom:0}.fold-group>.ant-collapse-item[data-v-f7384a2f]>.ant-collapse-header{border-bottom:1px solid transparent;height:40px;padding:0 12px;text-align:left;background:#f8fafc;border-radius:12px 12px 0 0;transition:all .25s ease}.fold-group>.ant-collapse-item[data-v-f7384a2f]>.ant-collapse-header .ant-collapse-header-text{font-weight:600;font-size:14px;color:#1a253b;letter-spacing:.3px}.fold-group>.ant-collapse-item[data-v-f7384a2f]>.ant-collapse-header .ant-collapse-arrow{color:#4e5d78;opacity:.7;transition:all .25s ease;border-radius:6px;padding:4px}.fold-group>.ant-collapse-item[data-v-f7384a2f]>.ant-collapse-header .ant-collapse-arrow .svg-icon{font-size:20px;transition:transform .25s ease}.fold-group>.ant-collapse-item[data-v-f7384a2f]>.ant-collapse-header .ant-collapse-arrow:hover{color:#1377eb;background:#1377eb14;opacity:1}.fold-group>.ant-collapse-item[data-v-f7384a2f]>.ant-collapse-header:hover{background:#f0f7ff}.fold-group>.ant-collapse-item[data-v-f7384a2f]>.ant-collapse-header:hover .ant-collapse-arrow{opacity:1}.fold-group>.ant-collapse-item[data-v-f7384a2f]>.ant-collapse-header[aria-expanded=true]{border-bottom-color:#e4e8ee}.fold-group>.ant-collapse-item[data-v-f7384a2f]>.ant-collapse-header[aria-expanded=true] .ant-collapse-arrow .svg-icon{transform:rotate(180deg)}.fold-group[data-v-f7384a2f] .ant-collapse-item{border-bottom:none;background:#fff;border-radius:12px;overflow:hidden}.fold-group[data-v-f7384a2f] .ant-collapse-content{background:#fff;border-radius:0 0 12px 12px}.fold-group[data-v-f7384a2f] .ant-collapse-content .ant-collapse-content-box{padding:16px}.fold-group[data-v-f7384a2f] .ant-collapse-item-disabled>.ant-collapse-header{color:#bcc1cc;background:#f5f7fa;cursor:not-allowed}.fold-group[data-v-f7384a2f] .ant-collapse-item-disabled>.ant-collapse-header .ant-collapse-header-text{color:#bcc1cc}.fold-group:hover .expand-icon[data-v-f7384a2f]{opacity:1}.fold-group .expand-icon[data-v-f7384a2f]{display:flex!important;opacity:.5;align-items:center}.fold-group .expand-icon-hidden[data-v-f7384a2f]{display:none}.panel-collapse[data-v-f7384a2f]{padding:0 12px}.panel-collapse[data-v-f7384a2f] .ant-collapse-item>.ant-collapse-header{box-shadow:none;border:1px solid #e4e8ee}.panel-collapse[data-v-f7384a2f] .ant-collapse-item>.ant-collapse-header:hover{border-color:#1377eb}.disabled-card[data-v-f7384a2f]{opacity:.7}.disabled-card[data-v-f7384a2f]:last-of-type{margin-bottom:0}[data-v-f7384a2f] .ant-collapse-content{transition:height .25s cubic-bezier(.4,0,.2,1),opacity .25s cubic-bezier(.4,0,.2,1)}@media(max-width:320px){.fold-group[data-v-f7384a2f]{border-radius:8px;margin-bottom:6px}.fold-group>.ant-collapse-item[data-v-f7384a2f]>.ant-collapse-header{height:38px;padding:0 12px;border-radius:8px 8px 0 0}.fold-group>.ant-collapse-item[data-v-f7384a2f]>.ant-collapse-header .ant-collapse-header-text{font-size:13px}.fold-group[data-v-f7384a2f] .ant-collapse-content .ant-collapse-content-box{padding:12px}}@media(prefers-reduced-motion:reduce){.fold-group[data-v-f7384a2f]{transition:none}.fold-group>.ant-collapse-item[data-v-f7384a2f]>.ant-collapse-header{transition:none}.fold-group>.ant-collapse-item[data-v-f7384a2f]>.ant-collapse-header .ant-collapse-arrow .svg-icon{transition:none}[data-v-f7384a2f] .ant-collapse-content{transition:none}}.scrollbar-sm[data-v-b4b01c27]::-webkit-scrollbar{width:6px;height:6px}.scrollbar-sm[data-v-b4b01c27] *::-webkit-scrollbar{width:6px;height:6px}.scroll-overlay[data-v-b4b01c27]::-webkit-scrollbar{overflow:overlay}.font-size-sm[data-v-b4b01c27]{font-size:12px}.font-size-normal[data-v-b4b01c27]{font-size:14px}.font-size-lg[data-v-b4b01c27]{font-size:16px}.primary-color[data-v-b4b01c27]{color:#1377eb}.primary-bgColor[data-v-b4b01c27]{background-color:#1377eb}.link-color[data-v-b4b01c27]{color:#1377eb}.success-color[data-v-b4b01c27]{color:#52c41a}.success-bgColor[data-v-b4b01c27]{background-color:#52c41a}.warning-color[data-v-b4b01c27]{color:#faad14}.error-color[data-v-b4b01c27]{color:#ff4d4f}.error-bgColor[data-v-b4b01c27]{background-color:#fff2f0}.label-color[data-v-b4b01c27]{color:#64748b}.heading-color[data-v-b4b01c27]{color:#1a253b}.heading-bgColor[data-v-b4b01c27]{background-color:#1a253b}.text-color[data-v-b4b01c27]{color:#1a253b}.text-color-secondary[data-v-b4b01c27]{color:#4e5d78}.disabled-color[data-v-b4b01c27]{color:#bcc1cc}.bgColor-light[data-v-b4b01c27],.table-head-bgColor[data-v-b4b01c27]{background-color:#f5f7fa}.hover-bg-color[data-v-b4b01c27]:hover{background-color:#f0f7ff}.icon-bg-color[data-v-b4b01c27]:hover{background-color:#e6f4ff}.padding-xs[data-v-b4b01c27]{padding:.25rem}.padding-s[data-v-b4b01c27]{padding:.5rem}.padding-l[data-v-b4b01c27]{padding:.75rem}.padding-xl[data-v-b4b01c27]{padding:1rem}.padding-xxl[data-v-b4b01c27]{padding:1.5rem}.padding-xxxl[data-v-b4b01c27]{padding:2rem}.margin-xs[data-v-b4b01c27]{margin:.25rem}.margin-s[data-v-b4b01c27]{margin:.5rem}.margin-l[data-v-b4b01c27]{margin:.75rem}.margin-xl[data-v-b4b01c27]{margin:1rem}.margin-xxl[data-v-b4b01c27]{margin:1.5rem}.margin-xxxl[data-v-b4b01c27]{margin:2rem}.a-link[data-v-b4b01c27]{display:inline-block;padding-left:2px;padding-right:2px;color:#1377eb;border-radius:6px}.a-link[data-v-b4b01c27]:hover{color:#3b99f7;background-color:#e6f4ff;cursor:pointer}.a-link[data-v-b4b01c27]:active{color:#0658c4;background-color:#fafbfc}.a-link--disabled[data-v-b4b01c27]{color:#bcc1cc}.a-link--disabled[data-v-b4b01c27]:hover,.a-link--disabled[data-v-b4b01c27]:active{color:#bcc1cc;background-color:transparent;cursor:not-allowed}.group-menu[data-v-b4b01c27]{overflow-x:hidden;overflow-y:visible;padding:8px 12px}.group-menu:not(.background-white) .padding-right-8[data-v-b4b01c27]{padding-right:12px}.group-menu:not(.background-white) .padding-right-8[data-v-b4b01c27]:not(:last-child){margin-bottom:4px}.flow-field-common-field-table[data-v-b4b01c27] .ant-table{border-radius:8px;overflow:hidden;box-shadow:0 1px 4px #0000000a}.flow-field-common-field-table[data-v-b4b01c27] .ant-table .ant-table-thead>tr>th{background:#f8fafc;font-weight:600;color:#1a253b;padding:8px 12px}.flow-field-common-field-table[data-v-b4b01c27] .ant-table .ant-table-tbody>tr>td{padding:8px 12px;transition:background .2s ease}.flow-field-common-field-table[data-v-b4b01c27] .ant-table .ant-table-tbody>tr:hover>td{background:#1377eb0a}.padding-right-8[data-v-b4b01c27]{padding-right:12px}.background-white[data-v-b4b01c27]{background-color:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005;margin:8px 0;padding:16px;transition:all .3s ease}.background-white[data-v-b4b01c27]:hover{box-shadow:0 4px 12px #0000000f}.background-white[data-v-b4b01c27]:first-child{margin-top:0}.background-white[data-v-b4b01c27]:last-child{margin-bottom:0}@media(max-width:320px){.group-menu[data-v-b4b01c27]{padding:6px 8px}.background-white[data-v-b4b01c27]{padding:10px;border-radius:8px}}.scrollbar-sm[data-v-fbe173ab]::-webkit-scrollbar{width:6px;height:6px}.scrollbar-sm[data-v-fbe173ab] *::-webkit-scrollbar{width:6px;height:6px}.scroll-overlay[data-v-fbe173ab]::-webkit-scrollbar{overflow:overlay}.font-size-sm[data-v-fbe173ab]{font-size:12px}.font-size-normal[data-v-fbe173ab]{font-size:14px}.font-size-lg[data-v-fbe173ab]{font-size:16px}.primary-color[data-v-fbe173ab]{color:#1377eb}.primary-bgColor[data-v-fbe173ab]{background-color:#1377eb}.link-color[data-v-fbe173ab]{color:#1377eb}.success-color[data-v-fbe173ab]{color:#52c41a}.success-bgColor[data-v-fbe173ab]{background-color:#52c41a}.warning-color[data-v-fbe173ab]{color:#faad14}.error-color[data-v-fbe173ab]{color:#ff4d4f}.error-bgColor[data-v-fbe173ab]{background-color:#fff2f0}.label-color[data-v-fbe173ab]{color:#64748b}.heading-color[data-v-fbe173ab]{color:#1a253b}.heading-bgColor[data-v-fbe173ab]{background-color:#1a253b}.text-color[data-v-fbe173ab]{color:#1a253b}.text-color-secondary[data-v-fbe173ab]{color:#4e5d78}.disabled-color[data-v-fbe173ab]{color:#bcc1cc}.bgColor-light[data-v-fbe173ab],.table-head-bgColor[data-v-fbe173ab]{background-color:#f5f7fa}.hover-bg-color[data-v-fbe173ab]:hover{background-color:#f0f7ff}.icon-bg-color[data-v-fbe173ab]:hover{background-color:#e6f4ff}.padding-xs[data-v-fbe173ab]{padding:.25rem}.padding-s[data-v-fbe173ab]{padding:.5rem}.padding-l[data-v-fbe173ab]{padding:.75rem}.padding-xl[data-v-fbe173ab]{padding:1rem}.padding-xxl[data-v-fbe173ab]{padding:1.5rem}.padding-xxxl[data-v-fbe173ab]{padding:2rem}.margin-xs[data-v-fbe173ab]{margin:.25rem}.margin-s[data-v-fbe173ab]{margin:.5rem}.margin-l[data-v-fbe173ab]{margin:.75rem}.margin-xl[data-v-fbe173ab]{margin:1rem}.margin-xxl[data-v-fbe173ab]{margin:1.5rem}.margin-xxxl[data-v-fbe173ab]{margin:2rem}.a-link[data-v-fbe173ab]{display:inline-block;padding-left:2px;padding-right:2px;color:#1377eb;border-radius:6px}.a-link[data-v-fbe173ab]:hover{color:#3b99f7;background-color:#e6f4ff;cursor:pointer}.a-link[data-v-fbe173ab]:active{color:#0658c4;background-color:#fafbfc}.a-link--disabled[data-v-fbe173ab]{color:#bcc1cc}.a-link--disabled[data-v-fbe173ab]:hover,.a-link--disabled[data-v-fbe173ab]:active{color:#bcc1cc;background-color:transparent;cursor:not-allowed}.property-panel[data-v-fbe173ab]{position:relative;width:100%;height:100%;overflow-y:auto;overflow-x:hidden;background-color:#fafbfc}.property-panel[data-v-fbe173ab]::-webkit-scrollbar{width:6px;height:6px}.property-panel[data-v-fbe173ab]::-webkit-scrollbar-track{background:transparent}.property-panel[data-v-fbe173ab]::-webkit-scrollbar-thumb{background:#c4c9d0;border-radius:3px;transition:background .2s ease}.property-panel[data-v-fbe173ab]::-webkit-scrollbar-thumb:hover{background:#8894a8}.property-panel .loading-overlay[data-v-fbe173ab]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background-color:#ffffffe6;backdrop-filter:blur(4px);z-index:10}.property-panel .loading-overlay[data-v-fbe173ab] .ant-spin{color:#1377eb}.property-panel .empty-state[data-v-fbe173ab]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:400px;padding:48px 24px;text-align:center;background:linear-gradient(180deg,#fff,#fafbfc)}.property-panel .empty-state .empty-icon[data-v-fbe173ab]{margin-bottom:24px;opacity:.6;transform:scale(1.2);transition:all .3s ease}.property-panel .empty-state .empty-icon svg[data-v-fbe173ab]{filter:drop-shadow(0 4px 12px rgba(0,0,0,.08))}.property-panel .empty-state h3[data-v-fbe173ab]{font-size:18px;font-weight:600;color:#1a253b;margin-bottom:12px;letter-spacing:.5px}.property-panel .empty-state p[data-v-fbe173ab]{font-size:14px;color:#4e5d78;max-width:280px;line-height:1.6}.property-panel .empty-state:hover .empty-icon[data-v-fbe173ab]{opacity:.8;transform:scale(1.25)}.property-panel[data-v-fbe173ab] .group-menu{margin-bottom:8px}.property-panel[data-v-fbe173ab] .group-menu:last-child{margin-bottom:0}@media(max-width:320px){.property-panel .empty-state[data-v-fbe173ab]{padding:32px 16px}.property-panel .empty-state .empty-icon[data-v-fbe173ab]{transform:scale(1)}.property-panel .empty-state h3[data-v-fbe173ab]{font-size:16px}}@media(prefers-reduced-motion:reduce){.property-panel .empty-state .empty-icon[data-v-fbe173ab]{transition:none}}.scrollbar-sm[data-v-77e70831]::-webkit-scrollbar{width:6px;height:6px}.scrollbar-sm[data-v-77e70831] *::-webkit-scrollbar{width:6px;height:6px}.scroll-overlay[data-v-77e70831]::-webkit-scrollbar{overflow:overlay}.font-size-sm[data-v-77e70831]{font-size:12px}.font-size-normal[data-v-77e70831]{font-size:14px}.font-size-lg[data-v-77e70831]{font-size:16px}.primary-color[data-v-77e70831]{color:#1377eb}.primary-bgColor[data-v-77e70831]{background-color:#1377eb}.link-color[data-v-77e70831]{color:#1377eb}.success-color[data-v-77e70831]{color:#52c41a}.success-bgColor[data-v-77e70831]{background-color:#52c41a}.warning-color[data-v-77e70831]{color:#faad14}.error-color[data-v-77e70831]{color:#ff4d4f}.error-bgColor[data-v-77e70831]{background-color:#fff2f0}.label-color[data-v-77e70831]{color:#64748b}.heading-color[data-v-77e70831]{color:#1a253b}.heading-bgColor[data-v-77e70831]{background-color:#1a253b}.text-color[data-v-77e70831]{color:#1a253b}.text-color-secondary[data-v-77e70831]{color:#4e5d78}.disabled-color[data-v-77e70831]{color:#bcc1cc}.bgColor-light[data-v-77e70831],.table-head-bgColor[data-v-77e70831]{background-color:#f5f7fa}.hover-bg-color[data-v-77e70831]:hover{background-color:#f0f7ff}.icon-bg-color[data-v-77e70831]:hover{background-color:#e6f4ff}.padding-xs[data-v-77e70831]{padding:.25rem}.padding-s[data-v-77e70831]{padding:.5rem}.padding-l[data-v-77e70831]{padding:.75rem}.padding-xl[data-v-77e70831]{padding:1rem}.padding-xxl[data-v-77e70831]{padding:1.5rem}.padding-xxxl[data-v-77e70831]{padding:2rem}.margin-xs[data-v-77e70831]{margin:.25rem}.margin-s[data-v-77e70831]{margin:.5rem}.margin-l[data-v-77e70831]{margin:.75rem}.margin-xl[data-v-77e70831]{margin:1rem}.margin-xxl[data-v-77e70831]{margin:1.5rem}.margin-xxxl[data-v-77e70831]{margin:2rem}.a-link[data-v-77e70831]{display:inline-block;padding-left:2px;padding-right:2px;color:#1377eb;border-radius:6px}.a-link[data-v-77e70831]:hover{color:#3b99f7;background-color:#e6f4ff;cursor:pointer}.a-link[data-v-77e70831]:active{color:#0658c4;background-color:#fafbfc}.a-link--disabled[data-v-77e70831]{color:#bcc1cc}.a-link--disabled[data-v-77e70831]:hover,.a-link--disabled[data-v-77e70831]:active{color:#bcc1cc;background-color:transparent;cursor:not-allowed}[data-v-77e70831]:root{--color-primary: #1377eb;--color-primary-light: #3b99f7;--color-primary-dark: #0c5fc5;--color-primary-50: #e7f1fd;--color-primary-100: #dbeafe;--color-primary-200: #eff6ff;--color-success: #40bd48;--color-success-bg: #ebf8ec;--color-warning: #ffb829;--color-error: #f54645;--color-error-bg: #fff2f0;--color-error-border: #ffccc7;--color-info: #1377eb;--color-heading: #1a253b;--color-text: #1e293b;--color-text-secondary: #8894a8;--color-text-muted: #94a3b8;--color-disabled: #bcc1cc;--color-bg: #ffffff;--color-bg-secondary: #f8fafc;--color-bg-tertiary: #f5f5f7;--color-bg-hover: #e7f1fd;--color-bg-active: #dbeafe;--color-border: #e1e5eb;--color-border-light: #e2e8f0;--color-border-lighter: #f0f0f0;--shadow-sm: 0 2px 8px 0 rgba(0, 0, 0, .1);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-card: 0 10px 6px -6px rgba(30, 30, 30, .1), 12px 0 8px -8px rgba(50, 50, 50, .1);--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 20px;--space-xxl: 24px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 13px;--font-size-md: 14px;--font-size-lg: 16px;--font-size-xl: 18px;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease}[data-v-77e70831]::-webkit-scrollbar{width:7px;height:7px;background-color:transparent}[data-v-77e70831]::-webkit-scrollbar-track{background:transparent}[data-v-77e70831]::-webkit-scrollbar-thumb{border-radius:3px;background-color:#d0d3db}[data-v-77e70831]::-webkit-scrollbar-thumb:hover{border-radius:3px;background-color:#8894a8}.process-modal>.ant-modal[data-v-77e70831]{top:2rem}.a-link[data-v-77e70831]{padding:4px;color:#4e5d78;border-radius:4px}.a-link[data-v-77e70831]:hover{cursor:pointer;color:#1377eb;background-color:#e7f1fd}.card-shadow[data-v-77e70831]{box-shadow:0 10px 6px -6px #1e1e1e1a,12px 0 8px -8px #3232321a;transition:all .2s ease-in-out}.card-shadow2[data-v-77e70831]{box-shadow:0 4px 8px #0003,0 6px 20px #00000030}.card-shadow3[data-v-77e70831]{box-shadow:#0000001a 0 10px 15px -3px}.card-shadow4[data-v-77e70831]{box-shadow:0 2px 12px #0000001a}.card-shadow5[data-v-77e70831]{box-shadow:0 10px 10px #0003}.card-shadow6[data-v-77e70831]{box-shadow:0 10px 39px 10px #21212138}.card-shadow-left[data-v-77e70831]{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.box[data-v-77e70831]{width:700px;height:700px;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);background-size:100%;background-position:center}.frosted__glass[data-v-77e70831]{width:80%;height:40%;border-radius:40px;display:flex;justify-content:center;align-items:center;font-size:60px;letter-spacing:.5em;backdrop-filter:blur(20px);color:#fff;box-shadow:0 0 30px 10px #0000004d}.gradient[data-v-77e70831]{background:linear-gradient(-45deg,#ee7752,#e73c7e,#23a6d5,#23d5ab);background-size:600% 600%;animation:gradientBG-77e70831 30s ease infinite}@keyframes gradientBG-77e70831{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.zebra__shadow__text[data-v-77e70831]{font-size:100px;font-weight:700;color:transparent;-webkit-text-fill-color:transparent;text-shadow:6px -6px #000,4px -4px #fff;background-image:linear-gradient(135deg,#fff 0% 25%,#000 25% 50%,#fff 50% 75%,#000 75% 100%);background-size:6px 6px;background-repeat:repeat;-webkit-background-clip:text;background-clip:text}.ellipsis[data-v-77e70831]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.multi-ellipsis--l2[data-v-77e70831]{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical}.multi-ellipsis--l3[data-v-77e70831]{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:3;-webkit-box-orient:vertical}.noFooter .ant-modal-footer[data-v-77e70831]{display:none}.required_icon[data-v-77e70831]:before{content:"*";margin-right:4px;color:#ff4d4f}.required_bdr_color[data-v-77e70831],.required_bdr_color .ant-input[data-v-77e70831],.required_bdr_color .select-tree[data-v-77e70831],.required_bdr_color .ant-calendar-picker-input[data-v-77e70831],.required_bdr_color .ant-select-selection[data-v-77e70831],.required_bdr_color .ant-select-selection--single[data-v-77e70831],.ant-form-item .has-error .rule-wrapper[data-v-77e70831]{border-color:#ff4d4f}.status-blue[data-v-77e70831]{color:#1377eb}.status-gray[data-v-77e70831]{color:#bcc1cc}.status-green[data-v-77e70831]{color:#40bd48}.status-orange[data-v-77e70831]{color:#ffb829}.status-red[data-v-77e70831]{color:#f54645}.input-readonly-show-border[data-v-77e70831]{border:1px solid #e1e5eb;border-radius:4px}.ant-form-item .rule-wrapper[data-v-77e70831]{min-height:32px;padding:2px}.container .ant-tree li .ant-tree-node-content-wrapper.ant-tree-node-selected[data-v-77e70831]{background-color:#e7f1fd}.ant-input-suffix #icon-user[data-v-77e70831]{font-size:14px;padding-bottom:2px}.ant-tree-title .a-link[data-v-77e70831]{display:initial}.ant-table-row .ant-btn-sm[data-v-77e70831]{font-size:14px}.date-range-set-all[data-v-77e70831]{z-index:800}.date-range-set-all .ant-popover-content[data-v-77e70831]{display:inline-block}.flow-a-link-icon[data-v-77e70831]:hover{cursor:pointer;color:#1377eb;background-color:#e1ebf9}.flow-a-link-icon[data-v-77e70831]:active{color:#0658c4;background-color:#e7f1fd}.flow-icon-hint[data-v-77e70831]{color:#8894a8;vertical-align:middle;font-size:16px;cursor:pointer}.flow-icon-hint[data-v-77e70831]:hover{color:#1377eb}.flow-icon-hint[data-v-77e70831]:active{color:#0658c4}.ant-table .ant-table-tbody .options .a-link[data-v-77e70831]{margin-right:8px}.text-no-select[data-v-77e70831]{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-khtml-user-select:none;user-select:none}.card-b-shadow[data-v-77e70831]{box-shadow:0 12px 12px -12px #0000001a}.card-b-shadow2[data-v-77e70831]{box-shadow:0 10px 6px -6px #1e1e1e1a,12px 0 8px -8px #3232321a;transition:all .2s ease-in-out}.process-disabled-component[data-v-77e70831]{height:32px;color:#4e5d78;border-radius:4px;padding-left:8px;padding-right:8px;border:1px solid #e1e5eb;background-color:#f5f5f7}.config-content .form-item .ant-form-item[data-v-77e70831],.group-menu .ant-form-item[data-v-77e70831]{margin-bottom:12px!important}.draw2d_menu_container[data-v-77e70831]{background-color:#f8fafc!important;border:1px solid #e2e8f0!important;border-radius:8px!important;box-shadow:0 4px 6px -1px #00000014,0 10px 15px -3px #0000001a,0 0 0 1px #00000008!important;padding:0!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,Microsoft YaHei,Helvetica Neue,Arial,sans-serif!important;font-size:13px!important;line-height:1.5!important;color:#1e293b!important;z-index:1000!important;min-width:180px!important;backdrop-filter:blur(12px) saturate(180%)!important;-webkit-backdrop-filter:blur(12px) saturate(180%)!important}.draw2d_menu_container ul[data-v-77e70831]{list-style:none!important;margin:0!important;padding:0!important;background-color:transparent!important;box-shadow:none!important}.draw2d_menu_container li[data-v-77e70831]{padding:7px 12px!important;margin:0 4px!important;cursor:pointer!important;transition:background-color .15s ease,color .15s ease!important;position:relative!important;white-space:nowrap!important;border-radius:5px!important;color:#334155!important;font-size:13px!important;display:flex!important;align-items:center!important;justify-content:space-between!important}.draw2d_menu_container li[data-v-77e70831]:hover{background-color:#eff6ff!important;color:#1377eb!important}.draw2d_menu_container li[data-v-77e70831]:active{background-color:#dbeafe!important;color:#0c5fc5!important}.draw2d_menu_text[data-v-77e70831]{display:inline-flex!important;align-items:center!important;flex:1!important;font-size:13px!important}.draw2d_menu_sub_span[data-v-77e70831]{display:inline-flex!important;align-items:center!important;justify-content:center!important;margin-left:12px!important;width:16px!important;height:16px!important;flex-shrink:0!important}.menu_sub_icon[data-v-77e70831]{width:14px!important;height:14px!important;fill:#94a3b8!important;transition:fill .15s ease,transform .15s ease!important}.draw2d_menu_container li:hover .menu_sub_icon[data-v-77e70831]{fill:#1377eb!important;transform:translate(1px)!important}.draw2d_menu_container li:hover>.draw2d_menu_sub_span[data-v-77e70831]{background:transparent!important;color:#1377eb!important}.draw2d_menu_container li.draw2d_menu_divider[data-v-77e70831]{border-bottom:none!important;border-top:1px solid #e2e8f0!important;margin:4px 8px!important;padding:0!important;height:0!important;cursor:default!important;border-radius:0!important}.draw2d_menu_container li.draw2d_menu_divider[data-v-77e70831]:hover{background-color:transparent!important}.draw2d_menu_container li[disabled=""][data-v-77e70831]{color:#94a3b8!important;cursor:not-allowed!important;opacity:.6!important}.draw2d_menu_container li[disabled=""][data-v-77e70831]:hover{background-color:transparent!important;color:#94a3b8!important}.draw2d_menu_container li .draw2d_menu_icon_span[data-v-77e70831]{width:1.5em!important;height:1.2em!important;vertical-align:middle!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;margin-right:6px!important;flex-shrink:0!important}.draw2d_menu_container li ul[data-v-77e70831]{position:absolute!important;top:-4px!important;left:calc(100% + 4px)!important;display:none!important;background-color:#f8fafc!important;border:1px solid #e2e8f0!important;border-radius:8px!important;box-shadow:0 4px 6px -1px #00000014,0 10px 15px -3px #0000001a,0 0 0 1px #00000008!important;padding:4px 0!important;min-width:180px!important;backdrop-filter:blur(12px) saturate(180%)!important;-webkit-backdrop-filter:blur(12px) saturate(180%)!important;transition:opacity .15s ease,transform .15s ease!important;opacity:0!important;transform:translate(4px) scale(.98)!important;pointer-events:none!important;visibility:hidden!important}.draw2d_menu_container li:hover>ul[data-v-77e70831]{display:block!important;opacity:1!important;transform:translate(0) scale(1)!important;pointer-events:auto!important;visibility:visible!important;z-index:1001!important}.draw2d_menu_container li ul[data-v-77e70831]:before{content:""!important;position:absolute!important;top:-4px!important;left:-10px!important;width:14px!important;height:calc(100% + 8px)!important;background:transparent!important}.draw2d_menu_container li ul li[data-v-77e70831]{padding:7px 12px!important;margin:0 4px!important;border-radius:5px!important;font-size:13px!important}.draw2d_menu_container li ul li[data-v-77e70831]:hover{background-color:#eff6ff!important;color:#1377eb!important}.draw2d_menu_container li ul li[data-v-77e70831]:active{background-color:#dbeafe!important;color:#0c5fc5!important}.draw2d_menu_container li ul li.draw2d_menu_divider[data-v-77e70831]{border-top:1px solid #e2e8f0!important;margin:4px 8px!important;padding:0!important;height:0!important}.draw2d_menu_container.draw2d_menu_border_right>ul ul[data-v-77e70831]{left:unset!important;right:calc(100% + 4px)!important}.draw2d_menu_container.draw2d_menu_border_bottom>ul ul[data-v-77e70831]{top:unset!important;bottom:-4px!important}.property-config[data-v-77e70831]{width:100%;height:100%;overflow:hidden}.property-config .btn-more[data-v-77e70831]{color:#1a253b;margin-right:8px}.property-config[data-v-77e70831] .ant-skeleton{padding:0 16px 8px}.property-config[data-v-77e70831] .ant-tabs-bar{margin-bottom:8px;background-color:#fff;box-shadow:0 12px 12px -12px #0000001a}.property-config[data-v-77e70831] .ant-tabs .ant-tabs-extra-content{line-height:40px}.property-config[data-v-77e70831] .ant-tabs-nav{padding-left:16px}.property-config[data-v-77e70831] .ant-tabs-nav-container{text-align:left}.property-config[data-v-77e70831] .ant-tabs-nav-container-scrolling .ant-tabs-nav{padding-left:4px}.property-config[data-v-77e70831] .ant-tabs-content{height:calc(100% - 48px)}.property-config-bg[data-v-77e70831]{background-color:#fff}.property-header[data-v-77e70831]{height:48px;line-height:48px;font-size:16px;font-weight:600;text-align:left;padding-left:1rem;box-sizing:border-box;border-bottom:1px solid #e4e8ee;background-color:#fafbfc;box-shadow:0 1px 3px #0000000d;transition:all .3s ease}.property-header[data-v-77e70831]:hover{background-color:#f0f7ff;border-bottom-color:#e4e8ee}.property-content[data-v-77e70831]{height:calc(100% - 48px);overflow:auto;box-sizing:border-box;padding:0}.tabs-wrapper .ant-tabs-extra-content i.ant-tabs-new-tab[data-v-77e70831]{float:right;margin-top:9px;margin-left:5px}.tabs-wrapper .ant-tabs-extra-content .more.ant-dropdown-trigger i[data-v-77e70831]{cursor:pointer;vertical-align:middle;padding:6px 8px;border-radius:4px}.tabs-wrapper .ant-tabs-extra-content .more.ant-dropdown-trigger i svg[data-v-77e70831]{font-size:16px}.tabs-wrapper .ant-tabs-extra-content .more.ant-dropdown-trigger i[data-v-77e70831]:hover{color:#3b99f7;background-color:#e6f4ff}[data-v-77e70831] .ant-tabs-nav .ant-tabs-tab{margin-right:0}.ant-tabs:not(.tabs-line-reverse,.ant-tabs-card,.ant-tabs-left,.ant-tabs-right) .ant-tabs-nav .ant-tabs-tab[data-v-77e70831]{margin-right:0}[data-v-77e70831] .ant-collapse{border-left:none}[data-v-77e70831] .ant-collapse-header{text-align:left}.property-config>.property-content[data-v-77e70831]>.ant-collapse>.ant-collapse-item>.ant-collapse-header,.property-config>.property-content[data-v-77e70831]>.ant-collapse>.ant-collapse-item-active>.ant-collapse-header{padding:6px 12px}.property-config>.property-content[data-v-77e70831]>.ant-collapse>.ant-collapse-item-active:last-of-type{border-bottom:none}[data-v-77e70831] .ant-collapse-content>.ant-collapse-content-box{padding:12px}.color-picker-container[data-v-4da8d084]{display:flex;align-items:center;gap:8px}.color-picker-container .color-input[data-v-4da8d084]{width:28px;height:28px;border:1px solid #d9d9d9;border-radius:4px;cursor:pointer;padding:0;overflow:hidden;background:transparent}.color-picker-container .color-input[data-v-4da8d084]::-webkit-color-swatch-wrapper{padding:0}.color-picker-container .color-input[data-v-4da8d084]::-webkit-color-swatch{border:none}.color-picker-container .color-text[data-v-4da8d084]{flex:1;min-width:80px;height:32px;padding:0 8px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px}.color-picker-container .color-text[data-v-4da8d084]:focus{border-color:#40a9ff;outline:none;box-shadow:0 0 0 2px #1890ff33}.color-picker-container .color-text[data-v-4da8d084]:disabled{background-color:#f5f5f5;cursor:not-allowed}.scrollbar-sm[data-v-14858292]::-webkit-scrollbar{width:6px;height:6px}.scrollbar-sm[data-v-14858292] *::-webkit-scrollbar{width:6px;height:6px}.scroll-overlay[data-v-14858292]::-webkit-scrollbar{overflow:overlay}.font-size-sm[data-v-14858292]{font-size:12px}.font-size-normal[data-v-14858292]{font-size:14px}.font-size-lg[data-v-14858292]{font-size:16px}.primary-color[data-v-14858292]{color:#1377eb}.primary-bgColor[data-v-14858292]{background-color:#1377eb}.link-color[data-v-14858292]{color:#1377eb}.success-color[data-v-14858292]{color:#52c41a}.success-bgColor[data-v-14858292]{background-color:#52c41a}.warning-color[data-v-14858292]{color:#faad14}.error-color[data-v-14858292]{color:#ff4d4f}.error-bgColor[data-v-14858292]{background-color:#fff2f0}.label-color[data-v-14858292]{color:#64748b}.heading-color[data-v-14858292]{color:#1a253b}.heading-bgColor[data-v-14858292]{background-color:#1a253b}.text-color[data-v-14858292]{color:#1a253b}.text-color-secondary[data-v-14858292]{color:#4e5d78}.disabled-color[data-v-14858292]{color:#bcc1cc}.bgColor-light[data-v-14858292],.table-head-bgColor[data-v-14858292]{background-color:#f5f7fa}.hover-bg-color[data-v-14858292]:hover{background-color:#f0f7ff}.icon-bg-color[data-v-14858292]:hover{background-color:#e6f4ff}.padding-xs[data-v-14858292]{padding:.25rem}.padding-s[data-v-14858292]{padding:.5rem}.padding-l[data-v-14858292]{padding:.75rem}.padding-xl[data-v-14858292]{padding:1rem}.padding-xxl[data-v-14858292]{padding:1.5rem}.padding-xxxl[data-v-14858292]{padding:2rem}.margin-xs[data-v-14858292]{margin:.25rem}.margin-s[data-v-14858292]{margin:.5rem}.margin-l[data-v-14858292]{margin:.75rem}.margin-xl[data-v-14858292]{margin:1rem}.margin-xxl[data-v-14858292]{margin:1.5rem}.margin-xxxl[data-v-14858292]{margin:2rem}.a-link[data-v-14858292]{display:inline-block;padding-left:2px;padding-right:2px;color:#1377eb;border-radius:6px}.a-link[data-v-14858292]:hover{color:#3b99f7;background-color:#e6f4ff;cursor:pointer}.a-link[data-v-14858292]:active{color:#0658c4;background-color:#fafbfc}.a-link--disabled[data-v-14858292]{color:#bcc1cc}.a-link--disabled[data-v-14858292]:hover,.a-link--disabled[data-v-14858292]:active{color:#bcc1cc;background-color:transparent;cursor:not-allowed}.shape-attribute[data-v-14858292]{width:100%;height:100%;padding:12px;background-color:#fff;border-radius:8px;box-shadow:0 2px 12px #0000000d}.shape-attribute[data-v-14858292] .ant-form-item{margin-bottom:12px;padding:0 8px;border-radius:6px;transition:background-color .15s ease}.shape-attribute[data-v-14858292] .ant-form-item:hover{background-color:#f0f7ff}.shape-attribute[data-v-14858292] .ant-form-item-label label{font-weight:500;color:#314659}.shape-attribute[data-v-14858292] .ant-form-item-control{line-height:1}.shape-attribute[data-v-14858292] .ant-input-number{width:100px}.shape-attribute[data-v-14858292] .ant-switch{margin:8px 0 0}.shape-attribute .color-overlay[data-v-14858292] .ant-popover-inner-content{padding:0!important}@media(max-width:768px){.shape-attribute[data-v-14858292] .ant-form-item{flex-direction:column;align-items:flex-start}.shape-attribute[data-v-14858292] .ant-form-item .ant-form-item-label{text-align:left;margin-bottom:8px;padding:0}.shape-attribute[data-v-14858292] .ant-form-item .ant-form-item-control,.shape-attribute[data-v-14858292] .ant-input-number{width:100%}}.scrollbar-sm[data-v-590736d8]::-webkit-scrollbar{width:6px;height:6px}.scrollbar-sm[data-v-590736d8] *::-webkit-scrollbar{width:6px;height:6px}.scroll-overlay[data-v-590736d8]::-webkit-scrollbar{overflow:overlay}.font-size-sm[data-v-590736d8]{font-size:12px}.font-size-normal[data-v-590736d8]{font-size:14px}.font-size-lg[data-v-590736d8]{font-size:16px}.primary-color[data-v-590736d8]{color:#1377eb}.primary-bgColor[data-v-590736d8]{background-color:#1377eb}.link-color[data-v-590736d8]{color:#1377eb}.success-color[data-v-590736d8]{color:#52c41a}.success-bgColor[data-v-590736d8]{background-color:#52c41a}.warning-color[data-v-590736d8]{color:#faad14}.error-color[data-v-590736d8]{color:#ff4d4f}.error-bgColor[data-v-590736d8]{background-color:#fff2f0}.label-color[data-v-590736d8]{color:#64748b}.heading-color[data-v-590736d8]{color:#1a253b}.heading-bgColor[data-v-590736d8]{background-color:#1a253b}.text-color[data-v-590736d8]{color:#1a253b}.text-color-secondary[data-v-590736d8]{color:#4e5d78}.disabled-color[data-v-590736d8]{color:#bcc1cc}.bgColor-light[data-v-590736d8],.table-head-bgColor[data-v-590736d8]{background-color:#f5f7fa}.hover-bg-color[data-v-590736d8]:hover{background-color:#f0f7ff}.icon-bg-color[data-v-590736d8]:hover{background-color:#e6f4ff}.padding-xs[data-v-590736d8]{padding:.25rem}.padding-s[data-v-590736d8]{padding:.5rem}.padding-l[data-v-590736d8]{padding:.75rem}.padding-xl[data-v-590736d8]{padding:1rem}.padding-xxl[data-v-590736d8]{padding:1.5rem}.padding-xxxl[data-v-590736d8]{padding:2rem}.margin-xs[data-v-590736d8]{margin:.25rem}.margin-s[data-v-590736d8]{margin:.5rem}.margin-l[data-v-590736d8]{margin:.75rem}.margin-xl[data-v-590736d8]{margin:1rem}.margin-xxl[data-v-590736d8]{margin:1.5rem}.margin-xxxl[data-v-590736d8]{margin:2rem}.a-link[data-v-590736d8]{display:inline-block;padding-left:2px;padding-right:2px;color:#1377eb;border-radius:6px}.a-link[data-v-590736d8]:hover{color:#3b99f7;background-color:#e6f4ff;cursor:pointer}.a-link[data-v-590736d8]:active{color:#0658c4;background-color:#fafbfc}.a-link--disabled[data-v-590736d8]{color:#bcc1cc}.a-link--disabled[data-v-590736d8]:hover,.a-link--disabled[data-v-590736d8]:active{color:#bcc1cc;background-color:transparent;cursor:not-allowed}.message-feedback-container[data-v-590736d8]{position:relative;z-index:1000;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.message-feedback-container .message-tag[data-v-590736d8]{position:relative;min-width:120px;background:#1377eb;color:#fff;border-radius:4px;box-shadow:0 2px 8px #00000026;cursor:pointer;user-select:none;transition:all .3s ease;overflow:hidden}.message-feedback-container .message-tag.error-tag[data-v-590736d8]{background:#ff4d4f}.message-feedback-container .message-tag.warning-tag[data-v-590736d8]{background:#faad14}.message-feedback-container .message-tag.info-tag[data-v-590736d8]{background:#1377eb}.message-feedback-container .message-tag.active[data-v-590736d8]{border-bottom-left-radius:0;border-bottom-right-radius:0}.message-feedback-container .message-tag[data-v-590736d8]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.message-feedback-container .message-tag .tag-content[data-v-590736d8]{display:flex;align-items:center;padding:8px 12px}.message-feedback-container .message-tag .tag-content .tag-icon[data-v-590736d8]{margin-right:8px;font-size:14px}.message-feedback-container .message-tag .tag-content .tag-count[data-v-590736d8]{font-weight:700;font-size:14px;margin-right:4px}.message-feedback-container .message-tag .tag-content .tag-type[data-v-590736d8]{font-size:12px;flex:1}.message-feedback-container .message-tag .tag-content .tag-arrow[data-v-590736d8]{font-size:10px;transition:transform .3s}.message-feedback-container .message-tag .tag-content .tag-arrow .anticon[data-v-590736d8]{transition:transform .3s}.message-feedback-container .message-tag .tag-hover-tip[data-v-590736d8]{position:absolute;bottom:100%;left:0;background:#fff;border:1px solid #e4e8ee;border-radius:4px;box-shadow:0 2px 8px #00000026;padding:8px;min-width:120px;margin-bottom:8px}.message-feedback-container .message-tag .tag-hover-tip .tip-item[data-v-590736d8]{display:flex;align-items:center;margin:4px 0}.message-feedback-container .message-tag .tag-hover-tip .tip-item .tip-icon[data-v-590736d8]{width:8px;height:8px;border-radius:50%;margin-right:8px}.message-feedback-container .message-tag .tag-hover-tip .tip-item .tip-icon.error[data-v-590736d8]{background:#ff4d4f}.message-feedback-container .message-tag .tag-hover-tip .tip-item .tip-icon.warning[data-v-590736d8]{background:#faad14}.message-feedback-container .message-tag .tag-hover-tip .tip-item .tip-text[data-v-590736d8]{font-size:12px;color:#1a253b}.message-feedback-container .message-tag.position-bottom-right[data-v-590736d8]{left:auto;right:20px}.message-feedback-container .message-tag.position-top-left[data-v-590736d8]{top:20px;bottom:auto}.message-feedback-container .message-tag.position-top-right[data-v-590736d8]{inset:20px 20px auto auto}.message-feedback-container .message-card[data-v-590736d8]{position:relative;bottom:calc(100% + 10px);width:380px;left:0;background:#fff;border:1px solid #e4e8ee;border-radius:8px 8px 0 0;box-shadow:0 -2px 20px #0000001a;display:flex;flex-direction:column;min-height:100px;max-height:calc(90vh - 100px);overflow:hidden}.message-feedback-container .message-card .card-header[data-v-590736d8]{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-bottom:1px solid #e4e8ee;background:#fff}.message-feedback-container .message-card .card-header .header-left[data-v-590736d8]{display:flex;align-items:center}.message-feedback-container .message-card .card-header .header-left .header-title[data-v-590736d8]{font-weight:700;margin-right:12px}.message-feedback-container .message-card .card-header .header-left .header-count[data-v-590736d8]{display:flex;gap:8px}.message-feedback-container .message-card .card-header .header-left .header-count .count-item[data-v-590736d8]{display:flex;align-items:center}.message-feedback-container .message-card .card-header .header-left .header-count .count-item .count-icon[data-v-590736d8]{width:8px;height:8px;border-radius:50%;margin-right:4px}.message-feedback-container .message-card .card-header .header-left .header-count .count-item .count-icon.error[data-v-590736d8]{background:#ff4d4f}.message-feedback-container .message-card .card-header .header-left .header-count .count-item .count-icon.warning[data-v-590736d8]{background:#faad14}.message-feedback-container .message-card .card-header .header-left .header-count .count-item .count-text[data-v-590736d8]{font-size:12px;color:#4e5d78}.message-feedback-container .message-card .card-header .header-right[data-v-590736d8]{display:flex;align-items:center}.message-feedback-container .message-card .card-header .header-right .mode-switch[data-v-590736d8]{margin-left:12px}.message-feedback-container .message-card .card-header .header-right .mode-switch[data-v-590736d8] .ant-radio-button-wrapper{font-size:12px;padding:0 8px;height:24px;line-height:22px}.message-feedback-container .message-card .card-header .header-right .mode-switch[data-v-590736d8] .ant-radio-button-wrapper.error{color:#ff4d4f;border-color:#ff4d4f}.message-feedback-container .message-card .card-header .header-right .mode-switch[data-v-590736d8] .ant-radio-button-wrapper.error.ant-radio-button-wrapper-checked{background:#ff4d4f;color:#fff}.message-feedback-container .message-card .card-header .header-right .mode-switch[data-v-590736d8] .ant-radio-button-wrapper.warning{color:#faad14;border-color:#faad14}.message-feedback-container .message-card .card-header .header-right .mode-switch[data-v-590736d8] .ant-radio-button-wrapper.warning.ant-radio-button-wrapper-checked{background:#faad14;color:#fff}.message-feedback-container .message-card .card-header .header-right .close-btn[data-v-590736d8]{cursor:pointer;color:#4e5d78;font-size:12px;padding:4px}.message-feedback-container .message-card .card-header .header-right .close-btn[data-v-590736d8]:hover{color:#1a253b}.message-feedback-container .message-card .card-content[data-v-590736d8]{flex:1;overflow:auto;max-height:var(--v00f479ea);scrollbar-width:thin;scrollbar-color:#e4e8ee #fafbfc}.message-feedback-container .message-card .card-content[data-v-590736d8]::-webkit-scrollbar{width:6px}.message-feedback-container .message-card .card-content[data-v-590736d8]::-webkit-scrollbar-track{background:#fafbfc;border-radius:3px}.message-feedback-container .message-card .card-content[data-v-590736d8]::-webkit-scrollbar-thumb{background:#e4e8ee;border-radius:3px}.message-feedback-container .message-card .card-content[data-v-590736d8]::-webkit-scrollbar-thumb:hover{background:#4e5d78}.message-feedback-container .message-card .card-content .message-list[data-v-590736d8]{padding:8px}.message-feedback-container .message-card .card-content .message-list .message-item[data-v-590736d8]{padding:12px 14px;margin-bottom:8px;border-radius:6px;border-left:3px solid transparent;cursor:pointer;transition:all .2s ease;background:#fff;border:1px solid #e4e8ee;box-shadow:0 1px 3px #0000000a}.message-feedback-container .message-card .card-content .message-list .message-item[data-v-590736d8]:last-child{margin-bottom:0}.message-feedback-container .message-card .card-content .message-list .message-item.error[data-v-590736d8]{background:#ff4d4f0a;border-left-color:#ff4d4f;border-color:#ff4d4f26}.message-feedback-container .message-card .card-content .message-list .message-item.error[data-v-590736d8]:hover{background:#ff4d4f12;box-shadow:0 2px 6px #00000014;border-color:#ff4d4f40}.message-feedback-container .message-card .card-content .message-list .message-item.warning[data-v-590736d8]{background:#faad140a;border-left-color:#faad14;border-color:#faad1426}.message-feedback-container .message-card .card-content .message-list .message-item.warning[data-v-590736d8]:hover{background:#faad1412;box-shadow:0 2px 6px #00000014;border-color:#faad1440}.message-feedback-container .message-card .card-content .message-list .message-item .message-header[data-v-590736d8]{display:flex;align-items:flex-start;margin-bottom:6px}.message-feedback-container .message-card .card-content .message-list .message-item .message-header .message-icon[data-v-590736d8]{margin-right:8px;font-size:14px;flex-shrink:0;margin-top:1px}.error .message-feedback-container .message-card .card-content .message-list .message-item .message-header .message-icon[data-v-590736d8]{color:#ff4d4f}.warning .message-feedback-container .message-card .card-content .message-list .message-item .message-header .message-icon[data-v-590736d8]{color:#faad14}.message-feedback-container .message-card .card-content .message-list .message-item .message-header .message-main-info[data-v-590736d8]{flex:1;overflow:hidden}.message-feedback-container .message-card .card-content .message-list .message-item .message-header .message-title[data-v-590736d8]{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:#1a253b;margin-bottom:2px}.message-feedback-container .message-card .card-content .message-list .message-item .message-header .message-content[data-v-590736d8]{display:block;font-size:12px;color:#4e5d78;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2}.message-feedback-container .message-card .card-content .message-list .message-item .message-header .message-time[data-v-590736d8]{font-size:11px;color:#4e5d78;margin-left:6px;flex-shrink:0;margin-top:1px}.message-feedback-container .message-card .card-content .message-list .message-item .message-meta[data-v-590736d8]{display:flex;flex-wrap:wrap;gap:12px;font-size:11px;color:#4e5d78;padding-left:22px}.message-feedback-container .message-card .card-content .message-list .message-item .message-meta .meta-item[data-v-590736d8]{display:flex;align-items:center;gap:3px}.message-feedback-container .message-card .card-content .message-list .message-item .message-meta .meta-item .anticon[data-v-590736d8]{font-size:11px}.message-feedback-container .message-card .card-content .empty-state[data-v-590736d8]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#4e5d78;text-align:center}.message-feedback-container .message-card .card-content .empty-state .empty-icon[data-v-590736d8]{font-size:56px;margin-bottom:20px;opacity:.2;color:#e4e8ee}.message-feedback-container .message-card .card-content .empty-state .empty-text[data-v-590736d8]{font-size:14px;line-height:1.5}.message-feedback-container .slide-up-enter-active[data-v-590736d8],.message-feedback-container .slide-up-leave-active[data-v-590736d8]{transition:all .3s ease;transform:translateY(0)}.message-feedback-container .slide-up-enter-from[data-v-590736d8],.message-feedback-container .slide-up-leave-to[data-v-590736d8]{transform:translateY(10px);opacity:0}.scrollbar-sm[data-v-1ffddc6e]::-webkit-scrollbar{width:6px;height:6px}.scrollbar-sm[data-v-1ffddc6e] *::-webkit-scrollbar{width:6px;height:6px}.scroll-overlay[data-v-1ffddc6e]::-webkit-scrollbar{overflow:overlay}.font-size-sm[data-v-1ffddc6e]{font-size:12px}.font-size-normal[data-v-1ffddc6e]{font-size:14px}.font-size-lg[data-v-1ffddc6e]{font-size:16px}.primary-color[data-v-1ffddc6e]{color:#1377eb}.primary-bgColor[data-v-1ffddc6e]{background-color:#1377eb}.link-color[data-v-1ffddc6e]{color:#1377eb}.success-color[data-v-1ffddc6e]{color:#52c41a}.success-bgColor[data-v-1ffddc6e]{background-color:#52c41a}.warning-color[data-v-1ffddc6e]{color:#faad14}.error-color[data-v-1ffddc6e]{color:#ff4d4f}.error-bgColor[data-v-1ffddc6e]{background-color:#fff2f0}.label-color[data-v-1ffddc6e]{color:#64748b}.heading-color[data-v-1ffddc6e]{color:#1a253b}.heading-bgColor[data-v-1ffddc6e]{background-color:#1a253b}.text-color[data-v-1ffddc6e]{color:#1a253b}.text-color-secondary[data-v-1ffddc6e]{color:#4e5d78}.disabled-color[data-v-1ffddc6e]{color:#bcc1cc}.bgColor-light[data-v-1ffddc6e],.table-head-bgColor[data-v-1ffddc6e]{background-color:#f5f7fa}.hover-bg-color[data-v-1ffddc6e]:hover{background-color:#f0f7ff}.icon-bg-color[data-v-1ffddc6e]:hover{background-color:#e6f4ff}.padding-xs[data-v-1ffddc6e]{padding:.25rem}.padding-s[data-v-1ffddc6e]{padding:.5rem}.padding-l[data-v-1ffddc6e]{padding:.75rem}.padding-xl[data-v-1ffddc6e]{padding:1rem}.padding-xxl[data-v-1ffddc6e]{padding:1.5rem}.padding-xxxl[data-v-1ffddc6e]{padding:2rem}.margin-xs[data-v-1ffddc6e]{margin:.25rem}.margin-s[data-v-1ffddc6e]{margin:.5rem}.margin-l[data-v-1ffddc6e]{margin:.75rem}.margin-xl[data-v-1ffddc6e]{margin:1rem}.margin-xxl[data-v-1ffddc6e]{margin:1.5rem}.margin-xxxl[data-v-1ffddc6e]{margin:2rem}.a-link[data-v-1ffddc6e]{display:inline-block;padding-left:2px;padding-right:2px;color:#1377eb;border-radius:6px}.a-link[data-v-1ffddc6e]:hover{color:#3b99f7;background-color:#e6f4ff;cursor:pointer}.a-link[data-v-1ffddc6e]:active{color:#0658c4;background-color:#fafbfc}.a-link--disabled[data-v-1ffddc6e]{color:#bcc1cc}.a-link--disabled[data-v-1ffddc6e]:hover,.a-link--disabled[data-v-1ffddc6e]:active{color:#bcc1cc;background-color:transparent;cursor:not-allowed}.lcr-layout[data-v-1ffddc6e]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%;width:100%;overflow:hidden;display:flex;flex-direction:row;justify-content:space-between;position:relative}.layout-left[data-v-1ffddc6e]{overflow:auto;box-shadow:inset -1px 0 #e4e8ee;transition:width .3s ease,margin-left .3s ease;z-index:10;position:relative}.layout-area[data-v-1ffddc6e]{height:100%;position:relative;z-index:20}.layout-right[data-v-1ffddc6e]{overflow:auto;border-left:1px solid #e4e8ee;box-shadow:inset 1px 0 #e4e8ee;transition:width .3s ease,margin-right .3s ease;z-index:10;position:relative}.layout-area-right[data-v-1ffddc6e]{height:100%;width:0;position:relative;z-index:10}.layout-proxy-l[data-v-1ffddc6e]{cursor:col-resize;width:5px;margin-left:-5px;z-index:50;opacity:0;position:absolute;top:0;bottom:0;transition:opacity .2s ease}.layout-proxy-l[data-v-1ffddc6e]:hover{opacity:1!important}.layout-proxy-l[data-v-1ffddc6e]:hover:after{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translate(-50%);background-color:#1377eb;border-radius:1px}.layout-proxy-r[data-v-1ffddc6e]{cursor:col-resize;width:5px;z-index:50;opacity:0;position:absolute;top:0;bottom:0;right:0;transition:opacity .2s ease}.layout-proxy-r[data-v-1ffddc6e]:hover{opacity:1!important}.layout-proxy-r[data-v-1ffddc6e]:hover:after{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translate(-50%);background-color:#1377eb;border-radius:1px}.layout-center[data-v-1ffddc6e]{position:relative;flex:1;overflow:hidden;min-width:300px;z-index:5}.icon-left[data-v-1ffddc6e],.icon-right[data-v-1ffddc6e]{transition:color .2s,border-color .2s;cursor:pointer;position:absolute;display:flex;align-items:center;justify-content:center;background:transparent;width:26px;height:26px}.icon-left[data-v-1ffddc6e]:hover,.icon-right[data-v-1ffddc6e]:hover{border-color:#1377eb!important}.icon-left:hover .svg-icon[data-v-1ffddc6e],.icon-right:hover .svg-icon[data-v-1ffddc6e]{color:#1377eb!important}.icon-left .svg-icon[data-v-1ffddc6e],.icon-right .svg-icon[data-v-1ffddc6e]{height:unset!important;width:unset!important;font-size:16px;cursor:pointer;position:relative}.icon-left[data-v-1ffddc6e]{top:50%;right:-12px;transform:translateY(-50%)}.icon-right[data-v-1ffddc6e]{top:50%;transform:translateY(-50%)}.icon-right-expand[data-v-1ffddc6e],.icon-right-collapse[data-v-1ffddc6e]{left:-20px}.left-enter-active[data-v-1ffddc6e],.left-leave-active[data-v-1ffddc6e],.right-enter-active[data-v-1ffddc6e],.right-leave-active[data-v-1ffddc6e]{transition:all .3s ease}.left-enter-from[data-v-1ffddc6e],.left-leave-to[data-v-1ffddc6e]{transform:translate(-100%);opacity:0}.right-enter-from[data-v-1ffddc6e],.right-leave-to[data-v-1ffddc6e]{transform:translate(100%);opacity:0}.scrollbar-sm[data-v-7a42fb8a]::-webkit-scrollbar{width:6px;height:6px}.scrollbar-sm[data-v-7a42fb8a] *::-webkit-scrollbar{width:6px;height:6px}.scroll-overlay[data-v-7a42fb8a]::-webkit-scrollbar{overflow:overlay}.font-size-sm[data-v-7a42fb8a]{font-size:12px}.font-size-normal[data-v-7a42fb8a]{font-size:14px}.font-size-lg[data-v-7a42fb8a]{font-size:16px}.primary-color[data-v-7a42fb8a]{color:#1377eb}.primary-bgColor[data-v-7a42fb8a]{background-color:#1377eb}.link-color[data-v-7a42fb8a]{color:#1377eb}.success-color[data-v-7a42fb8a]{color:#52c41a}.success-bgColor[data-v-7a42fb8a]{background-color:#52c41a}.warning-color[data-v-7a42fb8a]{color:#faad14}.error-color[data-v-7a42fb8a]{color:#ff4d4f}.error-bgColor[data-v-7a42fb8a]{background-color:#fff2f0}.label-color[data-v-7a42fb8a]{color:#64748b}.heading-color[data-v-7a42fb8a]{color:#1a253b}.heading-bgColor[data-v-7a42fb8a]{background-color:#1a253b}.text-color[data-v-7a42fb8a]{color:#1a253b}.text-color-secondary[data-v-7a42fb8a]{color:#4e5d78}.disabled-color[data-v-7a42fb8a]{color:#bcc1cc}.bgColor-light[data-v-7a42fb8a],.table-head-bgColor[data-v-7a42fb8a]{background-color:#f5f7fa}.hover-bg-color[data-v-7a42fb8a]:hover{background-color:#f0f7ff}.icon-bg-color[data-v-7a42fb8a]:hover{background-color:#e6f4ff}.padding-xs[data-v-7a42fb8a]{padding:.25rem}.padding-s[data-v-7a42fb8a]{padding:.5rem}.padding-l[data-v-7a42fb8a]{padding:.75rem}.padding-xl[data-v-7a42fb8a]{padding:1rem}.padding-xxl[data-v-7a42fb8a]{padding:1.5rem}.padding-xxxl[data-v-7a42fb8a]{padding:2rem}.margin-xs[data-v-7a42fb8a]{margin:.25rem}.margin-s[data-v-7a42fb8a]{margin:.5rem}.margin-l[data-v-7a42fb8a]{margin:.75rem}.margin-xl[data-v-7a42fb8a]{margin:1rem}.margin-xxl[data-v-7a42fb8a]{margin:1.5rem}.margin-xxxl[data-v-7a42fb8a]{margin:2rem}.a-link[data-v-7a42fb8a]{display:inline-block;padding-left:2px;padding-right:2px;color:#1377eb;border-radius:6px}.a-link[data-v-7a42fb8a]:hover{color:#3b99f7;background-color:#e6f4ff;cursor:pointer}.a-link[data-v-7a42fb8a]:active{color:#0658c4;background-color:#fafbfc}.a-link--disabled[data-v-7a42fb8a]{color:#bcc1cc}.a-link--disabled[data-v-7a42fb8a]:hover,.a-link--disabled[data-v-7a42fb8a]:active{color:#bcc1cc;background-color:transparent;cursor:not-allowed}.drag-drawer[data-v-7a42fb8a]{flex-direction:column}.mask-show[data-v-7a42fb8a]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;transition:all .3s;opacity:.5}.mask-hide[data-v-7a42fb8a]{transition:all .3s;opacity:0}.layout-proxy-lr[data-v-7a42fb8a]{width:20px;height:100%;position:absolute;cursor:col-resize;opacity:0}.layout-proxy-ud[data-v-7a42fb8a]{width:100%;height:20px;position:absolute;cursor:row-resize;opacity:0}.main[data-v-7a42fb8a]{position:fixed;height:100%;background:#fff;will-change:transform}.main .close-btn[data-v-7a42fb8a]{top:0;right:0;width:3rem;height:3rem;line-height:3rem;cursor:pointer;text-align:center;position:absolute;z-index:10;display:flex;align-items:center;justify-content:center;color:#4e5d78;transition:color .2s ease,background-color .2s ease}.main .close-btn[data-v-7a42fb8a]:hover{color:#1a253b;background-color:#f0f7ff}.main .close-btn .svg-icon[data-v-7a42fb8a]{vertical-align:middle}.drag-drawer-enter-active[data-v-7a42fb8a],.drag-drawer-leave-active[data-v-7a42fb8a]{transition:opacity .3s ease}.drag-drawer-enter-active .main[data-v-7a42fb8a],.drag-drawer-leave-active .main[data-v-7a42fb8a]{transition:transform .3s ease}.drag-drawer-enter-from[data-v-7a42fb8a],.drag-drawer-leave-to[data-v-7a42fb8a]{opacity:0}.drag-drawer-enter-from .main[data-v-7a42fb8a],.drag-drawer-leave-to .main[data-v-7a42fb8a]{transform:translate(100%)}.drag-drawer-enter-from .main[style*="left: 0"][data-v-7a42fb8a],.drag-drawer-leave-to .main[style*="left: 0"][data-v-7a42fb8a]{transform:translate(-100%)}.drag-drawer-enter-from .main[style*="bottom: 0"][data-v-7a42fb8a],.drag-drawer-leave-to .main[style*="bottom: 0"][data-v-7a42fb8a]{transform:translateY(100%)}.drag-drawer-enter-from .main[style*="top: 0"][data-v-7a42fb8a],.drag-drawer-leave-to .main[style*="top: 0"][data-v-7a42fb8a]{transform:translateY(-100%)}.inner[data-v-7a42fb8a]{position:absolute;max-width:100%}.drawer-head[data-v-7a42fb8a]{display:flex;width:100%;justify-content:space-between;align-items:center;height:3rem;line-height:3rem;padding:0 3rem 0 16px;font-size:16px;font-weight:500;color:#4e5d78;box-shadow:inset 0 -1px #e1e5eb}.drawer-body[data-v-7a42fb8a]{font-size:14px;padding:24px;width:100%;overflow:auto}.drawer-body .maskBody[data-v-7a42fb8a]{position:absolute;opacity:0;background-color:#f5f7fa;width:100%;height:100%}.drawer-footer[data-v-7a42fb8a]{width:100%;display:flex;height:54px;line-height:54px;padding:.35rem 16px;font-size:14px;box-shadow:inset 0 1px #e1e5eb}.drawer-footer button[data-v-7a42fb8a],.drawer-footer .ant-btn[data-v-7a42fb8a]{min-width:5rem}.drawer-footer .btn-cancel[data-v-7a42fb8a]{margin-right:8px}.usertask{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vertical-text{transform:rotate(90deg);transform-origin:left bottom;white-space:nowrap}.cursor-pointer{cursor:pointer!important}.process-library-tooltip{position:absolute;padding:6px 12px;max-width:850px;border-radius:6px;background:#404040d9;box-shadow:0 1px 4px #0003;color:#fff;font-size:12px;text-align:center;user-select:none}.process-library-tooltip:after{top:100%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-top-color:#404040d9;border-width:4px;left:50%;margin-left:-4px}.process-library-delete-tip{width:32px;height:28px;position:absolute;padding-top:4px;border-radius:6px;background:#fff;box-shadow:0 1px 4px #0003;color:#fff;font-size:12px;text-align:center;line-height:18px;user-select:none}.process-library-delete-tip:after{top:50%;content:"";height:8px;width:8px;position:absolute;pointer-events:none;box-shadow:-.2px .2px #0003;right:100%;margin-right:-4px;margin-top:-4px;transform:rotate(45deg);background:#fff}.imgType{width:16px;height:16px}.circle{box-shadow:0 1px 4px #0003;border:1px solid black}.img_dis{display:none}.html-node-container{overflow:hidden;pointer-events:all}.html-node-content{width:100%;height:100%;background:#fff;border:2px solid #333;border-radius:5px;padding:10px}.scrollbar-sm[data-v-46240807]::-webkit-scrollbar{width:6px;height:6px}.scrollbar-sm[data-v-46240807] *::-webkit-scrollbar{width:6px;height:6px}.scroll-overlay[data-v-46240807]::-webkit-scrollbar{overflow:overlay}.font-size-sm[data-v-46240807]{font-size:12px}.font-size-normal[data-v-46240807]{font-size:14px}.font-size-lg[data-v-46240807]{font-size:16px}.primary-color[data-v-46240807]{color:#1377eb}.primary-bgColor[data-v-46240807]{background-color:#1377eb}.link-color[data-v-46240807]{color:#1377eb}.success-color[data-v-46240807]{color:#52c41a}.success-bgColor[data-v-46240807]{background-color:#52c41a}.warning-color[data-v-46240807]{color:#faad14}.error-color[data-v-46240807]{color:#ff4d4f}.error-bgColor[data-v-46240807]{background-color:#fff2f0}.label-color[data-v-46240807]{color:#64748b}.heading-color[data-v-46240807]{color:#1a253b}.heading-bgColor[data-v-46240807]{background-color:#1a253b}.text-color[data-v-46240807]{color:#1a253b}.text-color-secondary[data-v-46240807]{color:#4e5d78}.disabled-color[data-v-46240807]{color:#bcc1cc}.bgColor-light[data-v-46240807],.table-head-bgColor[data-v-46240807]{background-color:#f5f7fa}.hover-bg-color[data-v-46240807]:hover{background-color:#f0f7ff}.icon-bg-color[data-v-46240807]:hover{background-color:#e6f4ff}.padding-xs[data-v-46240807]{padding:.25rem}.padding-s[data-v-46240807]{padding:.5rem}.padding-l[data-v-46240807]{padding:.75rem}.padding-xl[data-v-46240807]{padding:1rem}.padding-xxl[data-v-46240807]{padding:1.5rem}.padding-xxxl[data-v-46240807]{padding:2rem}.margin-xs[data-v-46240807]{margin:.25rem}.margin-s[data-v-46240807]{margin:.5rem}.margin-l[data-v-46240807]{margin:.75rem}.margin-xl[data-v-46240807]{margin:1rem}.margin-xxl[data-v-46240807]{margin:1.5rem}.margin-xxxl[data-v-46240807]{margin:2rem}.a-link[data-v-46240807]{display:inline-block;padding-left:2px;padding-right:2px;color:#1377eb;border-radius:6px}.a-link[data-v-46240807]:hover{color:#3b99f7;background-color:#e6f4ff;cursor:pointer}.a-link[data-v-46240807]:active{color:#0658c4;background-color:#fafbfc}.a-link--disabled[data-v-46240807]{color:#bcc1cc}.a-link--disabled[data-v-46240807]:hover,.a-link--disabled[data-v-46240807]:active{color:#bcc1cc;background-color:transparent;cursor:not-allowed}[data-v-46240807]:root{--color-primary: #1377eb;--color-primary-light: #3b99f7;--color-primary-dark: #0c5fc5;--color-primary-50: #e7f1fd;--color-primary-100: #dbeafe;--color-primary-200: #eff6ff;--color-success: #40bd48;--color-success-bg: #ebf8ec;--color-warning: #ffb829;--color-error: #f54645;--color-error-bg: #fff2f0;--color-error-border: #ffccc7;--color-info: #1377eb;--color-heading: #1a253b;--color-text: #1e293b;--color-text-secondary: #8894a8;--color-text-muted: #94a3b8;--color-disabled: #bcc1cc;--color-bg: #ffffff;--color-bg-secondary: #f8fafc;--color-bg-tertiary: #f5f5f7;--color-bg-hover: #e7f1fd;--color-bg-active: #dbeafe;--color-border: #e1e5eb;--color-border-light: #e2e8f0;--color-border-lighter: #f0f0f0;--shadow-sm: 0 2px 8px 0 rgba(0, 0, 0, .1);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-card: 0 10px 6px -6px rgba(30, 30, 30, .1), 12px 0 8px -8px rgba(50, 50, 50, .1);--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 20px;--space-xxl: 24px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 13px;--font-size-md: 14px;--font-size-lg: 16px;--font-size-xl: 18px;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease}[data-v-46240807]::-webkit-scrollbar{width:7px;height:7px;background-color:transparent}[data-v-46240807]::-webkit-scrollbar-track{background:transparent}[data-v-46240807]::-webkit-scrollbar-thumb{border-radius:3px;background-color:#d0d3db}[data-v-46240807]::-webkit-scrollbar-thumb:hover{border-radius:3px;background-color:#8894a8}.process-modal>.ant-modal[data-v-46240807]{top:2rem}.a-link[data-v-46240807]{padding:4px;color:#4e5d78;border-radius:4px}.a-link[data-v-46240807]:hover{cursor:pointer;color:#1377eb;background-color:#e7f1fd}.card-shadow[data-v-46240807]{box-shadow:0 10px 6px -6px #1e1e1e1a,12px 0 8px -8px #3232321a;transition:all .2s ease-in-out}.card-shadow2[data-v-46240807]{box-shadow:0 4px 8px #0003,0 6px 20px #00000030}.card-shadow3[data-v-46240807]{box-shadow:#0000001a 0 10px 15px -3px}.card-shadow4[data-v-46240807]{box-shadow:0 2px 12px #0000001a}.card-shadow5[data-v-46240807]{box-shadow:0 10px 10px #0003}.card-shadow6[data-v-46240807]{box-shadow:0 10px 39px 10px #21212138}.card-shadow-left[data-v-46240807]{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.box[data-v-46240807]{width:700px;height:700px;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);background-size:100%;background-position:center}.frosted__glass[data-v-46240807]{width:80%;height:40%;border-radius:40px;display:flex;justify-content:center;align-items:center;font-size:60px;letter-spacing:.5em;backdrop-filter:blur(20px);color:#fff;box-shadow:0 0 30px 10px #0000004d}.gradient[data-v-46240807]{background:linear-gradient(-45deg,#ee7752,#e73c7e,#23a6d5,#23d5ab);background-size:600% 600%;animation:gradientBG-46240807 30s ease infinite}@keyframes gradientBG-46240807{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.zebra__shadow__text[data-v-46240807]{font-size:100px;font-weight:700;color:transparent;-webkit-text-fill-color:transparent;text-shadow:6px -6px #000,4px -4px #fff;background-image:linear-gradient(135deg,#fff 0% 25%,#000 25% 50%,#fff 50% 75%,#000 75% 100%);background-size:6px 6px;background-repeat:repeat;-webkit-background-clip:text;background-clip:text}.ellipsis[data-v-46240807]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.multi-ellipsis--l2[data-v-46240807]{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical}.multi-ellipsis--l3[data-v-46240807]{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:3;-webkit-box-orient:vertical}.noFooter .ant-modal-footer[data-v-46240807]{display:none}.required_icon[data-v-46240807]:before{content:"*";margin-right:4px;color:#ff4d4f}.required_bdr_color[data-v-46240807],.required_bdr_color .ant-input[data-v-46240807],.required_bdr_color .select-tree[data-v-46240807],.required_bdr_color .ant-calendar-picker-input[data-v-46240807],.required_bdr_color .ant-select-selection[data-v-46240807],.required_bdr_color .ant-select-selection--single[data-v-46240807],.ant-form-item .has-error .rule-wrapper[data-v-46240807]{border-color:#ff4d4f}.status-blue[data-v-46240807]{color:#1377eb}.status-gray[data-v-46240807]{color:#bcc1cc}.status-green[data-v-46240807]{color:#40bd48}.status-orange[data-v-46240807]{color:#ffb829}.status-red[data-v-46240807]{color:#f54645}.input-readonly-show-border[data-v-46240807]{border:1px solid #e1e5eb;border-radius:4px}.ant-form-item .rule-wrapper[data-v-46240807]{min-height:32px;padding:2px}.container .ant-tree li .ant-tree-node-content-wrapper.ant-tree-node-selected[data-v-46240807]{background-color:#e7f1fd}.ant-input-suffix #icon-user[data-v-46240807]{font-size:14px;padding-bottom:2px}.ant-tree-title .a-link[data-v-46240807]{display:initial}.ant-table-row .ant-btn-sm[data-v-46240807]{font-size:14px}.date-range-set-all[data-v-46240807]{z-index:800}.date-range-set-all .ant-popover-content[data-v-46240807]{display:inline-block}.flow-a-link-icon[data-v-46240807]:hover{cursor:pointer;color:#1377eb;background-color:#e1ebf9}.flow-a-link-icon[data-v-46240807]:active{color:#0658c4;background-color:#e7f1fd}.flow-icon-hint[data-v-46240807]{color:#8894a8;vertical-align:middle;font-size:16px;cursor:pointer}.flow-icon-hint[data-v-46240807]:hover{color:#1377eb}.flow-icon-hint[data-v-46240807]:active{color:#0658c4}.ant-table .ant-table-tbody .options .a-link[data-v-46240807]{margin-right:8px}.text-no-select[data-v-46240807]{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-khtml-user-select:none;user-select:none}.card-b-shadow[data-v-46240807]{box-shadow:0 12px 12px -12px #0000001a}.card-b-shadow2[data-v-46240807]{box-shadow:0 10px 6px -6px #1e1e1e1a,12px 0 8px -8px #3232321a;transition:all .2s ease-in-out}.process-disabled-component[data-v-46240807]{height:32px;color:#4e5d78;border-radius:4px;padding-left:8px;padding-right:8px;border:1px solid #e1e5eb;background-color:#f5f5f7}.config-content .form-item .ant-form-item[data-v-46240807],.group-menu .ant-form-item[data-v-46240807]{margin-bottom:12px!important}.draw2d_menu_container[data-v-46240807]{background-color:#f8fafc!important;border:1px solid #e2e8f0!important;border-radius:8px!important;box-shadow:0 4px 6px -1px #00000014,0 10px 15px -3px #0000001a,0 0 0 1px #00000008!important;padding:0!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,Microsoft YaHei,Helvetica Neue,Arial,sans-serif!important;font-size:13px!important;line-height:1.5!important;color:#1e293b!important;z-index:1000!important;min-width:180px!important;backdrop-filter:blur(12px) saturate(180%)!important;-webkit-backdrop-filter:blur(12px) saturate(180%)!important}.draw2d_menu_container ul[data-v-46240807]{list-style:none!important;margin:0!important;padding:0!important;background-color:transparent!important;box-shadow:none!important}.draw2d_menu_container li[data-v-46240807]{padding:7px 12px!important;margin:0 4px!important;cursor:pointer!important;transition:background-color .15s ease,color .15s ease!important;position:relative!important;white-space:nowrap!important;border-radius:5px!important;color:#334155!important;font-size:13px!important;display:flex!important;align-items:center!important;justify-content:space-between!important}.draw2d_menu_container li[data-v-46240807]:hover{background-color:#eff6ff!important;color:#1377eb!important}.draw2d_menu_container li[data-v-46240807]:active{background-color:#dbeafe!important;color:#0c5fc5!important}.draw2d_menu_text[data-v-46240807]{display:inline-flex!important;align-items:center!important;flex:1!important;font-size:13px!important}.draw2d_menu_sub_span[data-v-46240807]{display:inline-flex!important;align-items:center!important;justify-content:center!important;margin-left:12px!important;width:16px!important;height:16px!important;flex-shrink:0!important}.menu_sub_icon[data-v-46240807]{width:14px!important;height:14px!important;fill:#94a3b8!important;transition:fill .15s ease,transform .15s ease!important}.draw2d_menu_container li:hover .menu_sub_icon[data-v-46240807]{fill:#1377eb!important;transform:translate(1px)!important}.draw2d_menu_container li:hover>.draw2d_menu_sub_span[data-v-46240807]{background:transparent!important;color:#1377eb!important}.draw2d_menu_container li.draw2d_menu_divider[data-v-46240807]{border-bottom:none!important;border-top:1px solid #e2e8f0!important;margin:4px 8px!important;padding:0!important;height:0!important;cursor:default!important;border-radius:0!important}.draw2d_menu_container li.draw2d_menu_divider[data-v-46240807]:hover{background-color:transparent!important}.draw2d_menu_container li[disabled=""][data-v-46240807]{color:#94a3b8!important;cursor:not-allowed!important;opacity:.6!important}.draw2d_menu_container li[disabled=""][data-v-46240807]:hover{background-color:transparent!important;color:#94a3b8!important}.draw2d_menu_container li .draw2d_menu_icon_span[data-v-46240807]{width:1.5em!important;height:1.2em!important;vertical-align:middle!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;margin-right:6px!important;flex-shrink:0!important}.draw2d_menu_container li ul[data-v-46240807]{position:absolute!important;top:-4px!important;left:calc(100% + 4px)!important;display:none!important;background-color:#f8fafc!important;border:1px solid #e2e8f0!important;border-radius:8px!important;box-shadow:0 4px 6px -1px #00000014,0 10px 15px -3px #0000001a,0 0 0 1px #00000008!important;padding:4px 0!important;min-width:180px!important;backdrop-filter:blur(12px) saturate(180%)!important;-webkit-backdrop-filter:blur(12px) saturate(180%)!important;transition:opacity .15s ease,transform .15s ease!important;opacity:0!important;transform:translate(4px) scale(.98)!important;pointer-events:none!important;visibility:hidden!important}.draw2d_menu_container li:hover>ul[data-v-46240807]{display:block!important;opacity:1!important;transform:translate(0) scale(1)!important;pointer-events:auto!important;visibility:visible!important;z-index:1001!important}.draw2d_menu_container li ul[data-v-46240807]:before{content:""!important;position:absolute!important;top:-4px!important;left:-10px!important;width:14px!important;height:calc(100% + 8px)!important;background:transparent!important}.draw2d_menu_container li ul li[data-v-46240807]{padding:7px 12px!important;margin:0 4px!important;border-radius:5px!important;font-size:13px!important}.draw2d_menu_container li ul li[data-v-46240807]:hover{background-color:#eff6ff!important;color:#1377eb!important}.draw2d_menu_container li ul li[data-v-46240807]:active{background-color:#dbeafe!important;color:#0c5fc5!important}.draw2d_menu_container li ul li.draw2d_menu_divider[data-v-46240807]{border-top:1px solid #e2e8f0!important;margin:4px 8px!important;padding:0!important;height:0!important}.draw2d_menu_container.draw2d_menu_border_right>ul ul[data-v-46240807]{left:unset!important;right:calc(100% + 4px)!important}.draw2d_menu_container.draw2d_menu_border_bottom>ul ul[data-v-46240807]{top:unset!important;bottom:-4px!important}.container[data-v-46240807]{height:100%;position:relative;background-color:#fff;overflow:hidden}.container[data-v-46240807] .ant-skeleton{padding:16px}.container .process-content[data-v-46240807]{height:100%;display:flex;flex-direction:column}.container .status-bar[data-v-46240807]{position:absolute;right:16px;bottom:6px;z-index:500;font-size:12px;color:#1a253b;background:#ffffffd9;padding:4px 10px;border-radius:4px;box-shadow:0 1px 4px #00000014;backdrop-filter:blur(4px)}.container .status-bar .coordinates>span[data-v-46240807]{margin-right:16px;font-weight:500}.container .status-bar .coordinates>span[data-v-46240807]:last-child{margin-right:0}.container .flow-mask[data-v-46240807]{opacity:.5;pointer-events:none;transition:opacity .3s ease}.container .scroll-wrapper[data-v-46240807]{width:100%;height:100%;position:relative;overflow:auto;border-radius:4px}.container .scroll-wrapper .process-screen[data-v-46240807]{position:relative;width:100%;height:100%;overflow:auto;scrollbar-width:thin;scrollbar-color:#d0d3db rgba(255,255,255,.9)}.container .message-box[data-v-46240807]{position:absolute;left:16px;bottom:16px;z-index:500;max-width:450px;background:#fff;border-radius:6px;box-shadow:0 4px 12px #00000026;overflow:hidden}.container .process-canvas-container[data-v-46240807]{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PHBhdHRlcm4gaWQ9ImEiIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgcGF0dGVyblVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHBhdGggZD0iTTAgMTBoNDBNMTAgMHY0ME0wIDIwaDQwTTIwIDB2NDBNMCAzMGg0ME0zMCAwdjQwIiBmaWxsPSJub25lIiBzdHJva2U9IiNjY2NjY2MiIG9wYWNpdHk9Ii4yIi8+PHBhdGggZD0iTTQwIDBIMHY0MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjOTk5OTk5Ii8+PC9wYXR0ZXJuPjwvZGVmcz48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2EpIi8+PC9zdmc+) repeat!important}.condition-branch[data-v-e6d92955]{width:100%;background-color:#f9fbfd;border-radius:8px;padding:8px;box-shadow:0 2px 8px #0000000d}.condition-branch .condition-header[data-v-e6d92955]{margin-bottom:8px}.condition-branch .condition-header h3[data-v-e6d92955]{margin:0;font-size:16px;font-weight:600;color:#314659}.condition-branch .condition-content[data-v-e6d92955]{display:flex;flex-direction:column;gap:8px}.condition-branch .condition-content .priority-control[data-v-e6d92955]{display:flex;align-items:center;gap:8px}.condition-branch .condition-content .priority-control span[data-v-e6d92955]{min-width:20px;text-align:center}.condition-branch .condition-content .condition-actions[data-v-e6d92955]{display:flex;justify-content:flex-start}.condition-branch .condition-content .xsi-type-hint[data-v-e6d92955]{font-size:11px;color:#8c8c8c;margin-top:2px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.action-button[data-v-e6d92955]{border:none;background:none;padding:4px 8px;border-radius:4px}.action-button[type=link][data-v-e6d92955]{color:#1890ff}.action-button[type=link][data-v-e6d92955]:hover{color:#40a9ff;background-color:#e6f7ff}.action-button[type=text][danger][data-v-e6d92955]{color:#ff4d4f}.action-button[type=text][danger][data-v-e6d92955]:hover{color:#ff7875;background-color:#fff1f0}.multi-instance[data-v-7522aedd]{width:100%;border-radius:8px;padding:8px;box-shadow:0 2px 8px #0000000d}.multi-instance .multi-instance-header[data-v-7522aedd]{margin-bottom:8px}.multi-instance .multi-instance-header h3[data-v-7522aedd]{margin:0;font-size:16px;font-weight:600;color:#314659}.multi-instance .multi-instance-content[data-v-7522aedd],.multi-instance .multi-instance-content .config-section[data-v-7522aedd]{display:flex;flex-direction:column;gap:8px}.multi-instance .multi-instance-content .config-section h4[data-v-7522aedd]{margin:0;font-size:14px;font-weight:500;color:#314659}.multi-instance .multi-instance-content .config-section .help-text[data-v-7522aedd]{font-size:12px;color:#8c8c8c;margin-left:8px}.multi-instance .multi-instance-content .config-section[data-v-7522aedd] .ant-radio-group{display:flex;gap:8px}.scrollbar-sm[data-v-818ddeb0]::-webkit-scrollbar{width:6px;height:6px}.scrollbar-sm[data-v-818ddeb0] *::-webkit-scrollbar{width:6px;height:6px}.scroll-overlay[data-v-818ddeb0]::-webkit-scrollbar{overflow:overlay}.font-size-sm[data-v-818ddeb0]{font-size:12px}.font-size-normal[data-v-818ddeb0]{font-size:14px}.font-size-lg[data-v-818ddeb0]{font-size:16px}.primary-color[data-v-818ddeb0]{color:#1377eb}.primary-bgColor[data-v-818ddeb0]{background-color:#1377eb}.link-color[data-v-818ddeb0]{color:#1377eb}.success-color[data-v-818ddeb0]{color:#52c41a}.success-bgColor[data-v-818ddeb0]{background-color:#52c41a}.warning-color[data-v-818ddeb0]{color:#faad14}.error-color[data-v-818ddeb0]{color:#ff4d4f}.error-bgColor[data-v-818ddeb0]{background-color:#fff2f0}.label-color[data-v-818ddeb0]{color:#64748b}.heading-color[data-v-818ddeb0]{color:#1a253b}.heading-bgColor[data-v-818ddeb0]{background-color:#1a253b}.text-color[data-v-818ddeb0]{color:#1a253b}.text-color-secondary[data-v-818ddeb0]{color:#4e5d78}.disabled-color[data-v-818ddeb0]{color:#bcc1cc}.bgColor-light[data-v-818ddeb0],.table-head-bgColor[data-v-818ddeb0]{background-color:#f5f7fa}.hover-bg-color[data-v-818ddeb0]:hover{background-color:#f0f7ff}.icon-bg-color[data-v-818ddeb0]:hover{background-color:#e6f4ff}.padding-xs[data-v-818ddeb0]{padding:.25rem}.padding-s[data-v-818ddeb0]{padding:.5rem}.padding-l[data-v-818ddeb0]{padding:.75rem}.padding-xl[data-v-818ddeb0]{padding:1rem}.padding-xxl[data-v-818ddeb0]{padding:1.5rem}.padding-xxxl[data-v-818ddeb0]{padding:2rem}.margin-xs[data-v-818ddeb0]{margin:.25rem}.margin-s[data-v-818ddeb0]{margin:.5rem}.margin-l[data-v-818ddeb0]{margin:.75rem}.margin-xl[data-v-818ddeb0]{margin:1rem}.margin-xxl[data-v-818ddeb0]{margin:1.5rem}.margin-xxxl[data-v-818ddeb0]{margin:2rem}.a-link[data-v-818ddeb0]{display:inline-block;padding-left:2px;padding-right:2px;color:#1377eb;border-radius:6px}.a-link[data-v-818ddeb0]:hover{color:#3b99f7;background-color:#e6f4ff;cursor:pointer}.a-link[data-v-818ddeb0]:active{color:#0658c4;background-color:#fafbfc}.a-link--disabled[data-v-818ddeb0]{color:#bcc1cc}.a-link--disabled[data-v-818ddeb0]:hover,.a-link--disabled[data-v-818ddeb0]:active{color:#bcc1cc;background-color:transparent;cursor:not-allowed}.composite-field[data-v-818ddeb0]{width:100%;background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid transparent}.composite-field[data-v-818ddeb0]:hover{box-shadow:0 4px 16px #0000000f;border-color:#e4e8ee}.composite-field[data-v-818ddeb0]:focus-within{border-color:#1377eb;box-shadow:0 0 0 3px #1377eb14}.composite-field .field-header[data-v-818ddeb0]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid #f0f2f5}.composite-field .field-header h3[data-v-818ddeb0]{margin:0;font-size:16px;font-weight:600;color:#1a253b;letter-spacing:.3px;padding-left:8px;border-left:3px solid #1377eb}.composite-field .field-header .header-actions[data-v-818ddeb0]{display:flex;gap:8px}.composite-field .field-header .header-actions .ant-btn[data-v-818ddeb0]{border-radius:6px;transition:all .2s ease}.composite-field .field-header .header-actions .ant-btn[data-v-818ddeb0]:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.composite-field .field-content[data-v-818ddeb0]{display:flex;flex-direction:column;gap:8px}.composite-field .config-section[data-v-818ddeb0]{display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:8px;border:1px solid #f0f2f5}.composite-field .config-section h4[data-v-818ddeb0]{margin:0;font-size:14px;font-weight:600;color:#1a253b;display:flex;align-items:center;gap:8px}.composite-field .config-section h4[data-v-818ddeb0]:before{content:"";width:4px;height:16px;background:#1377eb;border-radius:2px}.composite-field .form-item[data-v-818ddeb0]{margin-bottom:0}.composite-field .form-item[data-v-818ddeb0]:not(:last-child){margin-bottom:6px}.composite-field .overview-card[data-v-818ddeb0]{background:#fff;border-radius:10px;padding:8px;border:1px solid #e4e8ee;transition:all .3s cubic-bezier(.4,0,.2,1)}.composite-field .overview-card[data-v-818ddeb0]:hover{box-shadow:0 4px 12px #00000014;border-color:#1377eb}.composite-field .overview-card .overview-content[data-v-818ddeb0]{display:flex;flex-direction:column;gap:8px}.composite-field .overview-card .overview-content .overview-item[data-v-818ddeb0]{display:flex;align-items:center;gap:8px}.composite-field .overview-card .overview-content .overview-item .overview-label[data-v-818ddeb0]{font-size:13px;font-weight:500;color:#64748b;min-width:100px}.composite-field .overview-card .overview-content .overview-item .overview-value[data-v-818ddeb0]{font-size:14px;color:#1a253b;font-weight:500}.composite-field .edit-content[data-v-818ddeb0],.composite-field .edit-content .config-item[data-v-818ddeb0]{display:flex;flex-direction:column;gap:8px}.composite-field .edit-content .config-item label[data-v-818ddeb0]{font-size:14px;font-weight:600;color:#1a253b}.composite-field .edit-content .config-item label.required[data-v-818ddeb0]:after{content:"*";color:#ff4d4f;margin-left:4px}.composite-field .list-container[data-v-818ddeb0]{display:flex;flex-direction:column;gap:8px}.composite-field .list-container .list-item[data-v-818ddeb0]{background:#fff;border-radius:8px;padding:8px 12px;border:1px solid #e4e8ee;transition:all .25s cubic-bezier(.4,0,.2,1)}.composite-field .list-container .list-item[data-v-818ddeb0]:hover{box-shadow:0 2px 8px #0000000f;border-color:#1377eb}.composite-field .list-container .list-item.selected[data-v-818ddeb0]{border-color:#1377eb;background:#f0f7ff;box-shadow:0 0 0 2px #1377eb1a}.composite-field .action-buttons[data-v-818ddeb0]{display:flex;gap:8px;justify-content:flex-end;padding-top:8px;border-top:1px solid #f0f2f5}.composite-field .action-buttons .ant-btn[data-v-818ddeb0]{border-radius:6px;min-width:80px}.composite-field .action-buttons .ant-btn.ant-btn-primary[data-v-818ddeb0]{box-shadow:0 2px 8px #1377eb33}.composite-field .action-buttons .ant-btn.ant-btn-primary[data-v-818ddeb0]:hover{box-shadow:0 4px 12px #1377eb4d;transform:translateY(-1px)}.composite-field .help-text[data-v-818ddeb0]{font-size:12px;color:#4e5d78;line-height:1.5;padding:8px 12px;background:#f5f7fa;border-radius:6px;border-left:3px solid #1377eb}.composite-field .help-text[data-v-818ddeb0]:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#1377eb;margin-right:6px;vertical-align:middle}.composite-field .status-label[data-v-818ddeb0]{font-size:12px;font-weight:500;padding:4px 12px;border-radius:12px;display:inline-flex;align-items:center;gap:4px}.composite-field .status-label.status-success[data-v-818ddeb0]{background-color:#f6ffed;color:#52c41a}.composite-field .status-label.status-success[data-v-818ddeb0]:before{content:"✓"}.composite-field .status-label.status-warning[data-v-818ddeb0]{background-color:#fffbe6;color:#faad14}.composite-field .status-label.status-warning[data-v-818ddeb0]:before{content:"!"}.composite-field .status-label.status-error[data-v-818ddeb0]{background-color:#fff2f0;color:#ff4d4f}.composite-field .status-label.status-error[data-v-818ddeb0]:before{content:"✕"}.composite-field .status-label.status-info[data-v-818ddeb0]{background-color:#f5f7fa;color:#1377eb}.composite-field .status-label.status-info[data-v-818ddeb0]:before{content:"ℹ"}.composite-field .empty-state-inline[data-v-818ddeb0]{display:flex;flex-direction:column;align-items:center;padding:16px 12px;text-align:center}.composite-field .empty-state-inline .empty-icon[data-v-818ddeb0]{font-size:48px;margin-bottom:12px;opacity:.5}.composite-field .empty-state-inline .empty-text[data-v-818ddeb0]{font-size:14px;color:#4e5d78;margin-bottom:8px}@media(max-width:768px){.composite-field[data-v-818ddeb0]{border-radius:10px}.composite-field .field-header[data-v-818ddeb0]{margin-bottom:8px;padding-bottom:8px}.composite-field .field-header h3[data-v-818ddeb0]{font-size:15px;padding-left:8px}.composite-field .config-section[data-v-818ddeb0]{padding:10px;gap:10px}.composite-field .overview-card[data-v-818ddeb0]{padding:12px}}@media(max-width:320px){.composite-field[data-v-818ddeb0]{border-radius:8px}.composite-field .field-header h3[data-v-818ddeb0]{font-size:14px}.composite-field .action-buttons[data-v-818ddeb0]{flex-direction:column;gap:8px}.composite-field .action-buttons .ant-btn[data-v-818ddeb0]{width:100%}}@media(prefers-reduced-motion:reduce){.composite-field[data-v-818ddeb0]{transition:none}.composite-field[data-v-818ddeb0]:hover{transition:none;transform:none}.composite-field .overview-card[data-v-818ddeb0],.composite-field .list-item[data-v-818ddeb0],.composite-field .ant-btn[data-v-818ddeb0]{transition:none}.composite-field .overview-card[data-v-818ddeb0]:hover,.composite-field .list-item[data-v-818ddeb0]:hover,.composite-field .ant-btn[data-v-818ddeb0]:hover{transform:none}}.composite-field[data-v-818ddeb0] .ant-form-item{margin-bottom:8px}.composite-field[data-v-818ddeb0] .ant-table{font-size:13px}.composite-field[data-v-818ddeb0] .ant-table .ant-table-thead>tr>th,.composite-field[data-v-818ddeb0] .ant-table .ant-table-tbody>tr>td{padding:6px 8px}.composite-field[data-v-818ddeb0] .ant-table .ant-table-thead>tr>th{background:#f8fafc;font-weight:500;font-size:13px}.composite-field[data-v-818ddeb0] .ant-table .ant-table-empty .ant-table-placeholder{padding:8px}.composite-field[data-v-818ddeb0] .ant-checkbox-group{display:flex;flex-direction:column;gap:6px}.composite-field[data-v-818ddeb0] .ant-checkbox-group .ant-checkbox-wrapper{margin:0;padding:2px 0;font-size:13px}.composite-field[data-v-818ddeb0] .ant-radio-group{display:flex;flex-direction:column;gap:6px}.composite-field[data-v-818ddeb0] .ant-radio-group .ant-radio-wrapper{font-size:13px}.composite-field[data-v-818ddeb0] .ant-collapse .ant-collapse-header{padding:8px 12px!important;font-size:13px}.composite-field[data-v-818ddeb0] .ant-collapse .ant-collapse-content>.ant-collapse-content-box{padding:8px 12px!important}.composite-field[data-v-818ddeb0] .ant-input,.composite-field[data-v-818ddeb0] .ant-select-selector,.composite-field[data-v-818ddeb0] .ant-input-number{font-size:13px}.composite-field[data-v-818ddeb0] .ant-btn{font-size:13px;height:28px;padding:0 10px}.composite-field[data-v-818ddeb0] .ant-btn-sm{height:24px;padding:0 8px;font-size:12px}.composite-field[data-v-818ddeb0] .ant-tabs .ant-tabs-nav{margin-bottom:8px}.composite-field[data-v-818ddeb0] .ant-modal-footer{padding:8px 16px}.composite-field[data-v-818ddeb0] .ant-alert{padding:6px 8px;font-size:13px}.composite-field[data-v-818ddeb0] .ant-btn-link,.composite-field[data-v-818ddeb0] .ant-btn-icon-only.ant-btn-link{color:#1377eb;padding:0 4px;height:auto;font-size:13px}.composite-field[data-v-818ddeb0] .ant-btn-link:hover,.composite-field[data-v-818ddeb0] .ant-btn-icon-only.ant-btn-link:hover{color:#1377eb;opacity:.85}.composite-field[data-v-818ddeb0] .ant-btn-link:active,.composite-field[data-v-818ddeb0] .ant-btn-icon-only.ant-btn-link:active{color:#096dd9}.composite-field[data-v-818ddeb0] .ant-btn-link:disabled,.composite-field[data-v-818ddeb0] .ant-btn-icon-only.ant-btn-link:disabled,.composite-field[data-v-818ddeb0] .ant-btn-link[disabled],.composite-field[data-v-818ddeb0] .ant-btn-icon-only.ant-btn-link[disabled]{color:#bcc1cc}.composite-field[data-v-818ddeb0] .edit-icon,.composite-field[data-v-818ddeb0] .action-edit{color:#1377eb;cursor:pointer;transition:color .2s ease,opacity .2s ease}.composite-field[data-v-818ddeb0] .edit-icon:hover,.composite-field[data-v-818ddeb0] .action-edit:hover{color:#1377eb}.composite-field[data-v-818ddeb0] .ant-btn-text.ant-btn-dangerous,.composite-field[data-v-818ddeb0] .ant-btn-link.ant-btn-dangerous{color:#ff4d4f;padding:0 4px;height:auto;font-size:13px}.composite-field[data-v-818ddeb0] .ant-btn-text.ant-btn-dangerous:hover,.composite-field[data-v-818ddeb0] .ant-btn-link.ant-btn-dangerous:hover{color:#ff4d4f;background:#ff4d4f14;opacity:.85}.composite-field[data-v-818ddeb0] .ant-btn-text.ant-btn-dangerous:active,.composite-field[data-v-818ddeb0] .ant-btn-link.ant-btn-dangerous:active{color:#cf4446;background:#ff4d4f1f}.composite-field[data-v-818ddeb0] .ant-btn-text.ant-btn-dangerous:disabled,.composite-field[data-v-818ddeb0] .ant-btn-link.ant-btn-dangerous:disabled,.composite-field[data-v-818ddeb0] .ant-btn-text.ant-btn-dangerous[disabled],.composite-field[data-v-818ddeb0] .ant-btn-link.ant-btn-dangerous[disabled]{color:#bcc1cc}.composite-field[data-v-818ddeb0] .delete-icon,.composite-field[data-v-818ddeb0] .action-delete,.composite-field[data-v-818ddeb0] .delete-outlined,.composite-field[data-v-818ddeb0] .anticon-delete,.composite-field[data-v-818ddeb0] .anticon-delete-outlined{color:#ff4d4f;cursor:pointer;transition:color .2s ease}.composite-field[data-v-818ddeb0] .delete-icon:hover,.composite-field[data-v-818ddeb0] .action-delete:hover,.composite-field[data-v-818ddeb0] .delete-outlined:hover,.composite-field[data-v-818ddeb0] .anticon-delete:hover,.composite-field[data-v-818ddeb0] .anticon-delete-outlined:hover{color:#cf4446}.composite-field[data-v-818ddeb0] .ant-table .ant-btn-icon-only{padding:0;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center}.composite-field[data-v-818ddeb0] .toolbar-icon,.composite-field[data-v-818ddeb0] .header-icon{font-size:14px;vertical-align:middle}.timer-config .duration-inputs[data-v-818ddeb0]{display:flex;align-items:center}.timer-config .cycle-mode-switch[data-v-818ddeb0]{margin-bottom:8px}.timer-config .cron-help[data-v-818ddeb0]{margin-top:4px}.timer-config .preview-box[data-v-818ddeb0]{display:flex;align-items:center;gap:8px;margin-top:8px;padding:6px 10px;background:#f0f7ff;border:1px solid #d6e4ff;border-radius:6px}.timer-config .preview-box .preview-label[data-v-818ddeb0]{font-size:12px;color:#597ef7;font-weight:500;white-space:nowrap}.timer-config .preview-box .preview-value[data-v-818ddeb0]{font-size:13px;color:#1d39c4;background:#e6f4ff;padding:2px 8px;border-radius:4px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;word-break:break-all}.timer-config .bpmn-preview-section[data-v-818ddeb0]{background:#fafafa;border-color:#d9d9d9}.timer-config .bpmn-preview-section .bpmn-preview-box[data-v-818ddeb0]{padding:8px 12px;background:#141414;border-radius:6px;overflow-x:auto}.timer-config .bpmn-preview-section .bpmn-preview-box .bpmn-preview-code[data-v-818ddeb0]{font-size:13px;color:#73d13d;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;white-space:pre-wrap;word-break:break-all;line-height:1.6}.timer-config .validation-error[data-v-818ddeb0]{background:#fff2f0;border-color:#ffccc7}.timer-config .validation-error[data-v-818ddeb0] .ant-alert{padding:4px 8px;font-size:12px}.timer-config[data-v-818ddeb0] .ant-radio-group{display:flex;flex-wrap:wrap;gap:0}.timer-config[data-v-818ddeb0] .ant-radio-group.ant-radio-group-solid .ant-radio-button-wrapper{border-radius:4px;margin-right:4px}.timer-config[data-v-818ddeb0] .ant-radio-group.ant-radio-group-solid .ant-radio-button-wrapper:first-child{border-radius:4px}.timer-config[data-v-818ddeb0] .ant-radio-group.ant-radio-group-solid .ant-radio-button-wrapper:last-child{border-radius:4px}.scrollbar-sm[data-v-809b2ff6]::-webkit-scrollbar{width:6px;height:6px}.scrollbar-sm[data-v-809b2ff6] *::-webkit-scrollbar{width:6px;height:6px}.scroll-overlay[data-v-809b2ff6]::-webkit-scrollbar{overflow:overlay}.font-size-sm[data-v-809b2ff6]{font-size:12px}.font-size-normal[data-v-809b2ff6]{font-size:14px}.font-size-lg[data-v-809b2ff6]{font-size:16px}.primary-color[data-v-809b2ff6]{color:#1377eb}.primary-bgColor[data-v-809b2ff6]{background-color:#1377eb}.link-color[data-v-809b2ff6]{color:#1377eb}.success-color[data-v-809b2ff6]{color:#52c41a}.success-bgColor[data-v-809b2ff6]{background-color:#52c41a}.warning-color[data-v-809b2ff6]{color:#faad14}.error-color[data-v-809b2ff6]{color:#ff4d4f}.error-bgColor[data-v-809b2ff6]{background-color:#fff2f0}.label-color[data-v-809b2ff6]{color:#64748b}.heading-color[data-v-809b2ff6]{color:#1a253b}.heading-bgColor[data-v-809b2ff6]{background-color:#1a253b}.text-color[data-v-809b2ff6]{color:#1a253b}.text-color-secondary[data-v-809b2ff6]{color:#4e5d78}.disabled-color[data-v-809b2ff6]{color:#bcc1cc}.bgColor-light[data-v-809b2ff6],.table-head-bgColor[data-v-809b2ff6]{background-color:#f5f7fa}.hover-bg-color[data-v-809b2ff6]:hover{background-color:#f0f7ff}.icon-bg-color[data-v-809b2ff6]:hover{background-color:#e6f4ff}.padding-xs[data-v-809b2ff6]{padding:.25rem}.padding-s[data-v-809b2ff6]{padding:.5rem}.padding-l[data-v-809b2ff6]{padding:.75rem}.padding-xl[data-v-809b2ff6]{padding:1rem}.padding-xxl[data-v-809b2ff6]{padding:1.5rem}.padding-xxxl[data-v-809b2ff6]{padding:2rem}.margin-xs[data-v-809b2ff6]{margin:.25rem}.margin-s[data-v-809b2ff6]{margin:.5rem}.margin-l[data-v-809b2ff6]{margin:.75rem}.margin-xl[data-v-809b2ff6]{margin:1rem}.margin-xxl[data-v-809b2ff6]{margin:1.5rem}.margin-xxxl[data-v-809b2ff6]{margin:2rem}.a-link[data-v-809b2ff6]{display:inline-block;padding-left:2px;padding-right:2px;color:#1377eb;border-radius:6px}.a-link[data-v-809b2ff6]:hover{color:#3b99f7;background-color:#e6f4ff;cursor:pointer}.a-link[data-v-809b2ff6]:active{color:#0658c4;background-color:#fafbfc}.a-link--disabled[data-v-809b2ff6]{color:#bcc1cc}.a-link--disabled[data-v-809b2ff6]:hover,.a-link--disabled[data-v-809b2ff6]:active{color:#bcc1cc;background-color:transparent;cursor:not-allowed}.composite-field[data-v-809b2ff6]{width:100%;background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid transparent}.composite-field[data-v-809b2ff6]:hover{box-shadow:0 4px 16px #0000000f;border-color:#e4e8ee}.composite-field[data-v-809b2ff6]:focus-within{border-color:#1377eb;box-shadow:0 0 0 3px #1377eb14}.composite-field .field-header[data-v-809b2ff6]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid #f0f2f5}.composite-field .field-header h3[data-v-809b2ff6]{margin:0;font-size:16px;font-weight:600;color:#1a253b;letter-spacing:.3px;padding-left:8px;border-left:3px solid #1377eb}.composite-field .field-header .header-actions[data-v-809b2ff6]{display:flex;gap:8px}.composite-field .field-header .header-actions .ant-btn[data-v-809b2ff6]{border-radius:6px;transition:all .2s ease}.composite-field .field-header .header-actions .ant-btn[data-v-809b2ff6]:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.composite-field .field-content[data-v-809b2ff6]{display:flex;flex-direction:column;gap:8px}.composite-field .config-section[data-v-809b2ff6]{display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:8px;border:1px solid #f0f2f5}.composite-field .config-section h4[data-v-809b2ff6]{margin:0;font-size:14px;font-weight:600;color:#1a253b;display:flex;align-items:center;gap:8px}.composite-field .config-section h4[data-v-809b2ff6]:before{content:"";width:4px;height:16px;background:#1377eb;border-radius:2px}.composite-field .form-item[data-v-809b2ff6]{margin-bottom:0}.composite-field .form-item[data-v-809b2ff6]:not(:last-child){margin-bottom:6px}.composite-field .overview-card[data-v-809b2ff6]{background:#fff;border-radius:10px;padding:8px;border:1px solid #e4e8ee;transition:all .3s cubic-bezier(.4,0,.2,1)}.composite-field .overview-card[data-v-809b2ff6]:hover{box-shadow:0 4px 12px #00000014;border-color:#1377eb}.composite-field .overview-card .overview-content[data-v-809b2ff6]{display:flex;flex-direction:column;gap:8px}.composite-field .overview-card .overview-content .overview-item[data-v-809b2ff6]{display:flex;align-items:center;gap:8px}.composite-field .overview-card .overview-content .overview-item .overview-label[data-v-809b2ff6]{font-size:13px;font-weight:500;color:#64748b;min-width:100px}.composite-field .overview-card .overview-content .overview-item .overview-value[data-v-809b2ff6]{font-size:14px;color:#1a253b;font-weight:500}.composite-field .edit-content[data-v-809b2ff6],.composite-field .edit-content .config-item[data-v-809b2ff6]{display:flex;flex-direction:column;gap:8px}.composite-field .edit-content .config-item label[data-v-809b2ff6]{font-size:14px;font-weight:600;color:#1a253b}.composite-field .edit-content .config-item label.required[data-v-809b2ff6]:after{content:"*";color:#ff4d4f;margin-left:4px}.composite-field .list-container[data-v-809b2ff6]{display:flex;flex-direction:column;gap:8px}.composite-field .list-container .list-item[data-v-809b2ff6]{background:#fff;border-radius:8px;padding:8px 12px;border:1px solid #e4e8ee;transition:all .25s cubic-bezier(.4,0,.2,1)}.composite-field .list-container .list-item[data-v-809b2ff6]:hover{box-shadow:0 2px 8px #0000000f;border-color:#1377eb}.composite-field .list-container .list-item.selected[data-v-809b2ff6]{border-color:#1377eb;background:#f0f7ff;box-shadow:0 0 0 2px #1377eb1a}.composite-field .action-buttons[data-v-809b2ff6]{display:flex;gap:8px;justify-content:flex-end;padding-top:8px;border-top:1px solid #f0f2f5}.composite-field .action-buttons .ant-btn[data-v-809b2ff6]{border-radius:6px;min-width:80px}.composite-field .action-buttons .ant-btn.ant-btn-primary[data-v-809b2ff6]{box-shadow:0 2px 8px #1377eb33}.composite-field .action-buttons .ant-btn.ant-btn-primary[data-v-809b2ff6]:hover{box-shadow:0 4px 12px #1377eb4d;transform:translateY(-1px)}.composite-field .help-text[data-v-809b2ff6]{font-size:12px;color:#4e5d78;line-height:1.5;padding:8px 12px;background:#f5f7fa;border-radius:6px;border-left:3px solid #1377eb}.composite-field .help-text[data-v-809b2ff6]:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#1377eb;margin-right:6px;vertical-align:middle}.composite-field .status-label[data-v-809b2ff6]{font-size:12px;font-weight:500;padding:4px 12px;border-radius:12px;display:inline-flex;align-items:center;gap:4px}.composite-field .status-label.status-success[data-v-809b2ff6]{background-color:#f6ffed;color:#52c41a}.composite-field .status-label.status-success[data-v-809b2ff6]:before{content:"✓"}.composite-field .status-label.status-warning[data-v-809b2ff6]{background-color:#fffbe6;color:#faad14}.composite-field .status-label.status-warning[data-v-809b2ff6]:before{content:"!"}.composite-field .status-label.status-error[data-v-809b2ff6]{background-color:#fff2f0;color:#ff4d4f}.composite-field .status-label.status-error[data-v-809b2ff6]:before{content:"✕"}.composite-field .status-label.status-info[data-v-809b2ff6]{background-color:#f5f7fa;color:#1377eb}.composite-field .status-label.status-info[data-v-809b2ff6]:before{content:"ℹ"}.composite-field .empty-state-inline[data-v-809b2ff6]{display:flex;flex-direction:column;align-items:center;padding:16px 12px;text-align:center}.composite-field .empty-state-inline .empty-icon[data-v-809b2ff6]{font-size:48px;margin-bottom:12px;opacity:.5}.composite-field .empty-state-inline .empty-text[data-v-809b2ff6]{font-size:14px;color:#4e5d78;margin-bottom:8px}@media(max-width:768px){.composite-field[data-v-809b2ff6]{border-radius:10px}.composite-field .field-header[data-v-809b2ff6]{margin-bottom:8px;padding-bottom:8px}.composite-field .field-header h3[data-v-809b2ff6]{font-size:15px;padding-left:8px}.composite-field .config-section[data-v-809b2ff6]{padding:10px;gap:10px}.composite-field .overview-card[data-v-809b2ff6]{padding:12px}}@media(max-width:320px){.composite-field[data-v-809b2ff6]{border-radius:8px}.composite-field .field-header h3[data-v-809b2ff6]{font-size:14px}.composite-field .action-buttons[data-v-809b2ff6]{flex-direction:column;gap:8px}.composite-field .action-buttons .ant-btn[data-v-809b2ff6]{width:100%}}@media(prefers-reduced-motion:reduce){.composite-field[data-v-809b2ff6]{transition:none}.composite-field[data-v-809b2ff6]:hover{transition:none;transform:none}.composite-field .overview-card[data-v-809b2ff6],.composite-field .list-item[data-v-809b2ff6],.composite-field .ant-btn[data-v-809b2ff6]{transition:none}.composite-field .overview-card[data-v-809b2ff6]:hover,.composite-field .list-item[data-v-809b2ff6]:hover,.composite-field .ant-btn[data-v-809b2ff6]:hover{transform:none}}.composite-field[data-v-809b2ff6] .ant-form-item{margin-bottom:8px}.composite-field[data-v-809b2ff6] .ant-table{font-size:13px}.composite-field[data-v-809b2ff6] .ant-table .ant-table-thead>tr>th,.composite-field[data-v-809b2ff6] .ant-table .ant-table-tbody>tr>td{padding:6px 8px}.composite-field[data-v-809b2ff6] .ant-table .ant-table-thead>tr>th{background:#f8fafc;font-weight:500;font-size:13px}.composite-field[data-v-809b2ff6] .ant-table .ant-table-empty .ant-table-placeholder{padding:8px}.composite-field[data-v-809b2ff6] .ant-checkbox-group{display:flex;flex-direction:column;gap:6px}.composite-field[data-v-809b2ff6] .ant-checkbox-group .ant-checkbox-wrapper{margin:0;padding:2px 0;font-size:13px}.composite-field[data-v-809b2ff6] .ant-radio-group{display:flex;flex-direction:column;gap:6px}.composite-field[data-v-809b2ff6] .ant-radio-group .ant-radio-wrapper{font-size:13px}.composite-field[data-v-809b2ff6] .ant-collapse .ant-collapse-header{padding:8px 12px!important;font-size:13px}.composite-field[data-v-809b2ff6] .ant-collapse .ant-collapse-content>.ant-collapse-content-box{padding:8px 12px!important}.composite-field[data-v-809b2ff6] .ant-input,.composite-field[data-v-809b2ff6] .ant-select-selector,.composite-field[data-v-809b2ff6] .ant-input-number{font-size:13px}.composite-field[data-v-809b2ff6] .ant-btn{font-size:13px;height:28px;padding:0 10px}.composite-field[data-v-809b2ff6] .ant-btn-sm{height:24px;padding:0 8px;font-size:12px}.composite-field[data-v-809b2ff6] .ant-tabs .ant-tabs-nav{margin-bottom:8px}.composite-field[data-v-809b2ff6] .ant-modal-footer{padding:8px 16px}.composite-field[data-v-809b2ff6] .ant-alert{padding:6px 8px;font-size:13px}.composite-field[data-v-809b2ff6] .ant-btn-link,.composite-field[data-v-809b2ff6] .ant-btn-icon-only.ant-btn-link{color:#1377eb;padding:0 4px;height:auto;font-size:13px}.composite-field[data-v-809b2ff6] .ant-btn-link:hover,.composite-field[data-v-809b2ff6] .ant-btn-icon-only.ant-btn-link:hover{color:#1377eb;opacity:.85}.composite-field[data-v-809b2ff6] .ant-btn-link:active,.composite-field[data-v-809b2ff6] .ant-btn-icon-only.ant-btn-link:active{color:#096dd9}.composite-field[data-v-809b2ff6] .ant-btn-link:disabled,.composite-field[data-v-809b2ff6] .ant-btn-icon-only.ant-btn-link:disabled,.composite-field[data-v-809b2ff6] .ant-btn-link[disabled],.composite-field[data-v-809b2ff6] .ant-btn-icon-only.ant-btn-link[disabled]{color:#bcc1cc}.composite-field[data-v-809b2ff6] .edit-icon,.composite-field[data-v-809b2ff6] .action-edit{color:#1377eb;cursor:pointer;transition:color .2s ease,opacity .2s ease}.composite-field[data-v-809b2ff6] .edit-icon:hover,.composite-field[data-v-809b2ff6] .action-edit:hover{color:#1377eb}.composite-field[data-v-809b2ff6] .ant-btn-text.ant-btn-dangerous,.composite-field[data-v-809b2ff6] .ant-btn-link.ant-btn-dangerous{color:#ff4d4f;padding:0 4px;height:auto;font-size:13px}.composite-field[data-v-809b2ff6] .ant-btn-text.ant-btn-dangerous:hover,.composite-field[data-v-809b2ff6] .ant-btn-link.ant-btn-dangerous:hover{color:#ff4d4f;background:#ff4d4f14;opacity:.85}.composite-field[data-v-809b2ff6] .ant-btn-text.ant-btn-dangerous:active,.composite-field[data-v-809b2ff6] .ant-btn-link.ant-btn-dangerous:active{color:#cf4446;background:#ff4d4f1f}.composite-field[data-v-809b2ff6] .ant-btn-text.ant-btn-dangerous:disabled,.composite-field[data-v-809b2ff6] .ant-btn-link.ant-btn-dangerous:disabled,.composite-field[data-v-809b2ff6] .ant-btn-text.ant-btn-dangerous[disabled],.composite-field[data-v-809b2ff6] .ant-btn-link.ant-btn-dangerous[disabled]{color:#bcc1cc}.composite-field[data-v-809b2ff6] .delete-icon,.composite-field[data-v-809b2ff6] .action-delete,.composite-field[data-v-809b2ff6] .delete-outlined,.composite-field[data-v-809b2ff6] .anticon-delete,.composite-field[data-v-809b2ff6] .anticon-delete-outlined{color:#ff4d4f;cursor:pointer;transition:color .2s ease}.composite-field[data-v-809b2ff6] .delete-icon:hover,.composite-field[data-v-809b2ff6] .action-delete:hover,.composite-field[data-v-809b2ff6] .delete-outlined:hover,.composite-field[data-v-809b2ff6] .anticon-delete:hover,.composite-field[data-v-809b2ff6] .anticon-delete-outlined:hover{color:#cf4446}.composite-field[data-v-809b2ff6] .ant-table .ant-btn-icon-only{padding:0;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center}.composite-field[data-v-809b2ff6] .toolbar-icon,.composite-field[data-v-809b2ff6] .header-icon{font-size:14px;vertical-align:middle}.form-config .field-info[data-v-809b2ff6]{display:flex;align-items:center;gap:8px}.form-config .field-info .field-label[data-v-809b2ff6]{font-weight:500;font-size:14px}.form-config .field-info .field-type[data-v-809b2ff6]{font-size:12px;color:#6b7280;background-color:#f3f4f6;padding:2px 8px;border-radius:10px}.form-config .field-info .field-required[data-v-809b2ff6]{font-size:12px;color:#ef4444}.form-config .options-list[data-v-809b2ff6]{display:flex;flex-direction:column;gap:8px;margin-top:8px}.form-config .options-list .option-item[data-v-809b2ff6]{display:flex;align-items:center}.form-config .validation-rules[data-v-809b2ff6]{display:flex;flex-direction:column;gap:8px;margin-top:8px}.form-config .validation-rules .rule-item[data-v-809b2ff6]{display:flex;align-items:center;gap:8px}.scrollbar-sm[data-v-3ee7afd1]::-webkit-scrollbar{width:6px;height:6px}.scrollbar-sm[data-v-3ee7afd1] *::-webkit-scrollbar{width:6px;height:6px}.scroll-overlay[data-v-3ee7afd1]::-webkit-scrollbar{overflow:overlay}.font-size-sm[data-v-3ee7afd1]{font-size:12px}.font-size-normal[data-v-3ee7afd1]{font-size:14px}.font-size-lg[data-v-3ee7afd1]{font-size:16px}.primary-color[data-v-3ee7afd1]{color:#1377eb}.primary-bgColor[data-v-3ee7afd1]{background-color:#1377eb}.link-color[data-v-3ee7afd1]{color:#1377eb}.success-color[data-v-3ee7afd1]{color:#52c41a}.success-bgColor[data-v-3ee7afd1]{background-color:#52c41a}.warning-color[data-v-3ee7afd1]{color:#faad14}.error-color[data-v-3ee7afd1]{color:#ff4d4f}.error-bgColor[data-v-3ee7afd1]{background-color:#fff2f0}.label-color[data-v-3ee7afd1]{color:#64748b}.heading-color[data-v-3ee7afd1]{color:#1a253b}.heading-bgColor[data-v-3ee7afd1]{background-color:#1a253b}.text-color[data-v-3ee7afd1]{color:#1a253b}.text-color-secondary[data-v-3ee7afd1]{color:#4e5d78}.disabled-color[data-v-3ee7afd1]{color:#bcc1cc}.bgColor-light[data-v-3ee7afd1],.table-head-bgColor[data-v-3ee7afd1]{background-color:#f5f7fa}.hover-bg-color[data-v-3ee7afd1]:hover{background-color:#f0f7ff}.icon-bg-color[data-v-3ee7afd1]:hover{background-color:#e6f4ff}.padding-xs[data-v-3ee7afd1]{padding:.25rem}.padding-s[data-v-3ee7afd1]{padding:.5rem}.padding-l[data-v-3ee7afd1]{padding:.75rem}.padding-xl[data-v-3ee7afd1]{padding:1rem}.padding-xxl[data-v-3ee7afd1]{padding:1.5rem}.padding-xxxl[data-v-3ee7afd1]{padding:2rem}.margin-xs[data-v-3ee7afd1]{margin:.25rem}.margin-s[data-v-3ee7afd1]{margin:.5rem}.margin-l[data-v-3ee7afd1]{margin:.75rem}.margin-xl[data-v-3ee7afd1]{margin:1rem}.margin-xxl[data-v-3ee7afd1]{margin:1.5rem}.margin-xxxl[data-v-3ee7afd1]{margin:2rem}.a-link[data-v-3ee7afd1]{display:inline-block;padding-left:2px;padding-right:2px;color:#1377eb;border-radius:6px}.a-link[data-v-3ee7afd1]:hover{color:#3b99f7;background-color:#e6f4ff;cursor:pointer}.a-link[data-v-3ee7afd1]:active{color:#0658c4;background-color:#fafbfc}.a-link--disabled[data-v-3ee7afd1]{color:#bcc1cc}.a-link--disabled[data-v-3ee7afd1]:hover,.a-link--disabled[data-v-3ee7afd1]:active{color:#bcc1cc;background-color:transparent;cursor:not-allowed}.composite-field[data-v-3ee7afd1]{width:100%;background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid transparent}.composite-field[data-v-3ee7afd1]:hover{box-shadow:0 4px 16px #0000000f;border-color:#e4e8ee}.composite-field[data-v-3ee7afd1]:focus-within{border-color:#1377eb;box-shadow:0 0 0 3px #1377eb14}.composite-field .field-header[data-v-3ee7afd1]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid #f0f2f5}.composite-field .field-header h3[data-v-3ee7afd1]{margin:0;font-size:16px;font-weight:600;color:#1a253b;letter-spacing:.3px;padding-left:8px;border-left:3px solid #1377eb}.composite-field .field-header .header-actions[data-v-3ee7afd1]{display:flex;gap:8px}.composite-field .field-header .header-actions .ant-btn[data-v-3ee7afd1]{border-radius:6px;transition:all .2s ease}.composite-field .field-header .header-actions .ant-btn[data-v-3ee7afd1]:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.composite-field .field-content[data-v-3ee7afd1]{display:flex;flex-direction:column;gap:8px}.composite-field .config-section[data-v-3ee7afd1]{display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:8px;border:1px solid #f0f2f5}.composite-field .config-section h4[data-v-3ee7afd1]{margin:0;font-size:14px;font-weight:600;color:#1a253b;display:flex;align-items:center;gap:8px}.composite-field .config-section h4[data-v-3ee7afd1]:before{content:"";width:4px;height:16px;background:#1377eb;border-radius:2px}.composite-field .form-item[data-v-3ee7afd1]{margin-bottom:0}.composite-field .form-item[data-v-3ee7afd1]:not(:last-child){margin-bottom:6px}.composite-field .overview-card[data-v-3ee7afd1]{background:#fff;border-radius:10px;padding:8px;border:1px solid #e4e8ee;transition:all .3s cubic-bezier(.4,0,.2,1)}.composite-field .overview-card[data-v-3ee7afd1]:hover{box-shadow:0 4px 12px #00000014;border-color:#1377eb}.composite-field .overview-card .overview-content[data-v-3ee7afd1]{display:flex;flex-direction:column;gap:8px}.composite-field .overview-card .overview-content .overview-item[data-v-3ee7afd1]{display:flex;align-items:center;gap:8px}.composite-field .overview-card .overview-content .overview-item .overview-label[data-v-3ee7afd1]{font-size:13px;font-weight:500;color:#64748b;min-width:100px}.composite-field .overview-card .overview-content .overview-item .overview-value[data-v-3ee7afd1]{font-size:14px;color:#1a253b;font-weight:500}.composite-field .edit-content[data-v-3ee7afd1],.composite-field .edit-content .config-item[data-v-3ee7afd1]{display:flex;flex-direction:column;gap:8px}.composite-field .edit-content .config-item label[data-v-3ee7afd1]{font-size:14px;font-weight:600;color:#1a253b}.composite-field .edit-content .config-item label.required[data-v-3ee7afd1]:after{content:"*";color:#ff4d4f;margin-left:4px}.composite-field .list-container[data-v-3ee7afd1]{display:flex;flex-direction:column;gap:8px}.composite-field .list-container .list-item[data-v-3ee7afd1]{background:#fff;border-radius:8px;padding:8px 12px;border:1px solid #e4e8ee;transition:all .25s cubic-bezier(.4,0,.2,1)}.composite-field .list-container .list-item[data-v-3ee7afd1]:hover{box-shadow:0 2px 8px #0000000f;border-color:#1377eb}.composite-field .list-container .list-item.selected[data-v-3ee7afd1]{border-color:#1377eb;background:#f0f7ff;box-shadow:0 0 0 2px #1377eb1a}.composite-field .action-buttons[data-v-3ee7afd1]{display:flex;gap:8px;justify-content:flex-end;padding-top:8px;border-top:1px solid #f0f2f5}.composite-field .action-buttons .ant-btn[data-v-3ee7afd1]{border-radius:6px;min-width:80px}.composite-field .action-buttons .ant-btn.ant-btn-primary[data-v-3ee7afd1]{box-shadow:0 2px 8px #1377eb33}.composite-field .action-buttons .ant-btn.ant-btn-primary[data-v-3ee7afd1]:hover{box-shadow:0 4px 12px #1377eb4d;transform:translateY(-1px)}.composite-field .help-text[data-v-3ee7afd1]{font-size:12px;color:#4e5d78;line-height:1.5;padding:8px 12px;background:#f5f7fa;border-radius:6px;border-left:3px solid #1377eb}.composite-field .help-text[data-v-3ee7afd1]:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#1377eb;margin-right:6px;vertical-align:middle}.composite-field .status-label[data-v-3ee7afd1]{font-size:12px;font-weight:500;padding:4px 12px;border-radius:12px;display:inline-flex;align-items:center;gap:4px}.composite-field .status-label.status-success[data-v-3ee7afd1]{background-color:#f6ffed;color:#52c41a}.composite-field .status-label.status-success[data-v-3ee7afd1]:before{content:"✓"}.composite-field .status-label.status-warning[data-v-3ee7afd1]{background-color:#fffbe6;color:#faad14}.composite-field .status-label.status-warning[data-v-3ee7afd1]:before{content:"!"}.composite-field .status-label.status-error[data-v-3ee7afd1]{background-color:#fff2f0;color:#ff4d4f}.composite-field .status-label.status-error[data-v-3ee7afd1]:before{content:"✕"}.composite-field .status-label.status-info[data-v-3ee7afd1]{background-color:#f5f7fa;color:#1377eb}.composite-field .status-label.status-info[data-v-3ee7afd1]:before{content:"ℹ"}.composite-field .empty-state-inline[data-v-3ee7afd1]{display:flex;flex-direction:column;align-items:center;padding:16px 12px;text-align:center}.composite-field .empty-state-inline .empty-icon[data-v-3ee7afd1]{font-size:48px;margin-bottom:12px;opacity:.5}.composite-field .empty-state-inline .empty-text[data-v-3ee7afd1]{font-size:14px;color:#4e5d78;margin-bottom:8px}@media(max-width:768px){.composite-field[data-v-3ee7afd1]{border-radius:10px}.composite-field .field-header[data-v-3ee7afd1]{margin-bottom:8px;padding-bottom:8px}.composite-field .field-header h3[data-v-3ee7afd1]{font-size:15px;padding-left:8px}.composite-field .config-section[data-v-3ee7afd1]{padding:10px;gap:10px}.composite-field .overview-card[data-v-3ee7afd1]{padding:12px}}@media(max-width:320px){.composite-field[data-v-3ee7afd1]{border-radius:8px}.composite-field .field-header h3[data-v-3ee7afd1]{font-size:14px}.composite-field .action-buttons[data-v-3ee7afd1]{flex-direction:column;gap:8px}.composite-field .action-buttons .ant-btn[data-v-3ee7afd1]{width:100%}}@media(prefers-reduced-motion:reduce){.composite-field[data-v-3ee7afd1]{transition:none}.composite-field[data-v-3ee7afd1]:hover{transition:none;transform:none}.composite-field .overview-card[data-v-3ee7afd1],.composite-field .list-item[data-v-3ee7afd1],.composite-field .ant-btn[data-v-3ee7afd1]{transition:none}.composite-field .overview-card[data-v-3ee7afd1]:hover,.composite-field .list-item[data-v-3ee7afd1]:hover,.composite-field .ant-btn[data-v-3ee7afd1]:hover{transform:none}}.composite-field[data-v-3ee7afd1] .ant-form-item{margin-bottom:8px}.composite-field[data-v-3ee7afd1] .ant-table{font-size:13px}.composite-field[data-v-3ee7afd1] .ant-table .ant-table-thead>tr>th,.composite-field[data-v-3ee7afd1] .ant-table .ant-table-tbody>tr>td{padding:6px 8px}.composite-field[data-v-3ee7afd1] .ant-table .ant-table-thead>tr>th{background:#f8fafc;font-weight:500;font-size:13px}.composite-field[data-v-3ee7afd1] .ant-table .ant-table-empty .ant-table-placeholder{padding:8px}.composite-field[data-v-3ee7afd1] .ant-checkbox-group{display:flex;flex-direction:column;gap:6px}.composite-field[data-v-3ee7afd1] .ant-checkbox-group .ant-checkbox-wrapper{margin:0;padding:2px 0;font-size:13px}.composite-field[data-v-3ee7afd1] .ant-radio-group{display:flex;flex-direction:column;gap:6px}.composite-field[data-v-3ee7afd1] .ant-radio-group .ant-radio-wrapper{font-size:13px}.composite-field[data-v-3ee7afd1] .ant-collapse .ant-collapse-header{padding:8px 12px!important;font-size:13px}.composite-field[data-v-3ee7afd1] .ant-collapse .ant-collapse-content>.ant-collapse-content-box{padding:8px 12px!important}.composite-field[data-v-3ee7afd1] .ant-input,.composite-field[data-v-3ee7afd1] .ant-select-selector,.composite-field[data-v-3ee7afd1] .ant-input-number{font-size:13px}.composite-field[data-v-3ee7afd1] .ant-btn{font-size:13px;height:28px;padding:0 10px}.composite-field[data-v-3ee7afd1] .ant-btn-sm{height:24px;padding:0 8px;font-size:12px}.composite-field[data-v-3ee7afd1] .ant-tabs .ant-tabs-nav{margin-bottom:8px}.composite-field[data-v-3ee7afd1] .ant-modal-footer{padding:8px 16px}.composite-field[data-v-3ee7afd1] .ant-alert{padding:6px 8px;font-size:13px}.composite-field[data-v-3ee7afd1] .ant-btn-link,.composite-field[data-v-3ee7afd1] .ant-btn-icon-only.ant-btn-link{color:#1377eb;padding:0 4px;height:auto;font-size:13px}.composite-field[data-v-3ee7afd1] .ant-btn-link:hover,.composite-field[data-v-3ee7afd1] .ant-btn-icon-only.ant-btn-link:hover{color:#1377eb;opacity:.85}.composite-field[data-v-3ee7afd1] .ant-btn-link:active,.composite-field[data-v-3ee7afd1] .ant-btn-icon-only.ant-btn-link:active{color:#096dd9}.composite-field[data-v-3ee7afd1] .ant-btn-link:disabled,.composite-field[data-v-3ee7afd1] .ant-btn-icon-only.ant-btn-link:disabled,.composite-field[data-v-3ee7afd1] .ant-btn-link[disabled],.composite-field[data-v-3ee7afd1] .ant-btn-icon-only.ant-btn-link[disabled]{color:#bcc1cc}.composite-field[data-v-3ee7afd1] .edit-icon,.composite-field[data-v-3ee7afd1] .action-edit{color:#1377eb;cursor:pointer;transition:color .2s ease,opacity .2s ease}.composite-field[data-v-3ee7afd1] .edit-icon:hover,.composite-field[data-v-3ee7afd1] .action-edit:hover{color:#1377eb}.composite-field[data-v-3ee7afd1] .ant-btn-text.ant-btn-dangerous,.composite-field[data-v-3ee7afd1] .ant-btn-link.ant-btn-dangerous{color:#ff4d4f;padding:0 4px;height:auto;font-size:13px}.composite-field[data-v-3ee7afd1] .ant-btn-text.ant-btn-dangerous:hover,.composite-field[data-v-3ee7afd1] .ant-btn-link.ant-btn-dangerous:hover{color:#ff4d4f;background:#ff4d4f14;opacity:.85}.composite-field[data-v-3ee7afd1] .ant-btn-text.ant-btn-dangerous:active,.composite-field[data-v-3ee7afd1] .ant-btn-link.ant-btn-dangerous:active{color:#cf4446;background:#ff4d4f1f}.composite-field[data-v-3ee7afd1] .ant-btn-text.ant-btn-dangerous:disabled,.composite-field[data-v-3ee7afd1] .ant-btn-link.ant-btn-dangerous:disabled,.composite-field[data-v-3ee7afd1] .ant-btn-text.ant-btn-dangerous[disabled],.composite-field[data-v-3ee7afd1] .ant-btn-link.ant-btn-dangerous[disabled]{color:#bcc1cc}.composite-field[data-v-3ee7afd1] .delete-icon,.composite-field[data-v-3ee7afd1] .action-delete,.composite-field[data-v-3ee7afd1] .delete-outlined,.composite-field[data-v-3ee7afd1] .anticon-delete,.composite-field[data-v-3ee7afd1] .anticon-delete-outlined{color:#ff4d4f;cursor:pointer;transition:color .2s ease}.composite-field[data-v-3ee7afd1] .delete-icon:hover,.composite-field[data-v-3ee7afd1] .action-delete:hover,.composite-field[data-v-3ee7afd1] .delete-outlined:hover,.composite-field[data-v-3ee7afd1] .anticon-delete:hover,.composite-field[data-v-3ee7afd1] .anticon-delete-outlined:hover{color:#cf4446}.composite-field[data-v-3ee7afd1] .ant-table .ant-btn-icon-only{padding:0;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center}.composite-field[data-v-3ee7afd1] .toolbar-icon,.composite-field[data-v-3ee7afd1] .header-icon{font-size:14px;vertical-align:middle}.notification-config .custom-recipients[data-v-3ee7afd1]{margin-top:8px;padding:4px;background-color:#f0f7ff;border-radius:4px}.notification-config .template-config[data-v-3ee7afd1]{display:flex;flex-direction:column;gap:8px;margin-top:4px}.notification-config .template-config .template-item[data-v-3ee7afd1]{padding:8px;border-radius:4px}.notification-config .template-config .template-item h5[data-v-3ee7afd1]{margin:0 0 4px;font-size:14px;font-weight:500;color:#314659}.notification-config .template-config .template-item .template-fields[data-v-3ee7afd1]{display:flex;flex-direction:column;gap:8px}.notification-config .template-config .template-item .template-fields .template-field[data-v-3ee7afd1]{display:flex;flex-direction:column;gap:4px}.notification-config .template-config .template-item .template-fields .template-field label[data-v-3ee7afd1]{font-size:12px;color:#666}.notification-config[data-v-3ee7afd1] .ant-checkbox-group{display:flex;flex-wrap:wrap;gap:8px}.execution-listener[data-v-f7c64374]{width:100%;background-color:#f9fbfd;border-radius:8px;padding:4px 16px;box-shadow:0 2px 8px #0000000d}.execution-listener .listener-header[data-v-f7c64374]{margin-bottom:8px}.execution-listener .listener-header h3[data-v-f7c64374]{margin:0;font-size:16px;font-weight:600;color:#314659}.execution-listener .listener-content[data-v-f7c64374]{display:flex;flex-direction:column;gap:8px}.execution-listener .listener-content .implementation-text[data-v-f7c64374]{color:#314659;font-size:14px}.execution-listener .listener-content .action-buttons[data-v-f7c64374]{display:flex;justify-content:center;gap:8px}.execution-listener .listener-content .action-buttons .action-button[data-v-f7c64374]{border:none;background:none;padding:4px 8px;border-radius:4px}.execution-listener .listener-content .action-buttons .action-button[type=link][data-v-f7c64374]{color:#1890ff}.execution-listener .listener-content .action-buttons .action-button[type=link][data-v-f7c64374]:hover{color:#40a9ff;background-color:#e6f7ff}.execution-listener .listener-content .action-buttons .action-button.delete-button[data-v-f7c64374]{color:#ff4d4f}.execution-listener .listener-content .action-buttons .action-button.delete-button[data-v-f7c64374]:hover{color:#ff7875;background-color:#fff1f0}.execution-listener .listener-content .listener-actions[data-v-f7c64374]{display:flex;justify-content:flex-start}.execution-listener-modal .modal-form{display:flex;flex-direction:column;gap:8px}.execution-listener-modal .modal-form .form-item label{display:block;margin-bottom:4px;font-size:14px;font-weight:500;color:#314659;line-height:20px}.execution-listener-modal .modal-form .form-item :deep(.ant-select-selector),.execution-listener-modal .modal-form .form-item :deep(.ant-input){border-radius:6px;height:36px;font-size:14px}.execution-listener-modal .modal-form .form-item :deep(.ant-select-dropdown-menu-item){font-size:14px}.execution-listener-modal .modal-form .parameters-list{display:flex;flex-direction:column;gap:8px}.execution-listener-modal .modal-form .parameters-list .parameter-item{display:flex;align-items:center;gap:8px;padding:4px;background-color:#f9fbfd;border-radius:6px;border:1px solid #e8f0fe}.execution-listener-modal .modal-form .parameters-list .parameter-item :deep(.ant-input){flex:1;min-width:0}.execution-listener-modal .modal-form .parameters-list .parameter-item .ant-btn{margin-left:4px}.execution-listener-modal .modal-form .parameters-list .ant-btn-dashed{margin-top:4px;border-radius:6px;font-size:14px}.execution-listener-modal .modal-form .parameters-list .ant-btn-dashed:hover{border-color:#1890ff;color:#1890ff}.execution-listener-modal .ant-modal-footer{padding:8px 16px;border-top:1px solid #f0f0f0}.execution-listener-modal .ant-modal-title{font-size:16px;font-weight:600;color:#314659}.task-listener[data-v-a285fceb]{width:100%;background-color:#f9fbfd;border-radius:8px;padding:8px;box-shadow:0 2px 8px #0000000d}.task-listener .listener-header[data-v-a285fceb]{margin-bottom:8px}.task-listener .listener-header h3[data-v-a285fceb]{margin:0;font-size:16px;font-weight:600;color:#314659}.task-listener .listener-content[data-v-a285fceb],.task-listener .listener-content .parameters-list[data-v-a285fceb]{display:flex;flex-direction:column;gap:8px}.task-listener .listener-content .parameters-list .parameter-item[data-v-a285fceb]{display:flex;align-items:center}.task-listener .listener-content .listener-actions[data-v-a285fceb]{display:flex;justify-content:flex-start}.action-button[data-v-a285fceb]{border:none;background:none;padding:4px 8px;border-radius:4px}.action-button[type=link][data-v-a285fceb]{color:#1890ff}.action-button[type=link][data-v-a285fceb]:hover{color:#40a9ff;background-color:#e6f7ff}.action-button[type=text][danger][data-v-a285fceb]{color:#ff4d4f}.action-button[type=text][danger][data-v-a285fceb]:hover{color:#ff7875;background-color:#fff1f0}.data-element[data-v-6bf6af14]{width:100%;background-color:#f9fbfd;border-radius:8px;padding:8px;box-shadow:0 2px 8px #0000000d}.data-element .element-header[data-v-6bf6af14]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.data-element .element-header h3[data-v-6bf6af14]{margin:0;font-size:16px;font-weight:600;color:#314659}.data-element .element-header .element-actions[data-v-6bf6af14]{display:flex;gap:8px}.data-element .element-content[data-v-6bf6af14]{display:flex;flex-direction:column;gap:8px}.action-button[data-v-6bf6af14]{border:none;background:none;padding:4px 8px;border-radius:4px}.action-button[type=link][data-v-6bf6af14]{color:#1890ff}.action-button[type=link][data-v-6bf6af14]:hover{color:#40a9ff;background-color:#e6f7ff}.action-button[type=text][danger][data-v-6bf6af14]{color:#ff4d4f}.action-button[type=text][danger][data-v-6bf6af14]:hover{color:#ff7875;background-color:#fff1f0}.scrollbar-sm[data-v-24cd2f06]::-webkit-scrollbar{width:6px;height:6px}.scrollbar-sm[data-v-24cd2f06] *::-webkit-scrollbar{width:6px;height:6px}.scroll-overlay[data-v-24cd2f06]::-webkit-scrollbar{overflow:overlay}.font-size-sm[data-v-24cd2f06]{font-size:12px}.font-size-normal[data-v-24cd2f06]{font-size:14px}.font-size-lg[data-v-24cd2f06]{font-size:16px}.primary-color[data-v-24cd2f06]{color:#1377eb}.primary-bgColor[data-v-24cd2f06]{background-color:#1377eb}.link-color[data-v-24cd2f06]{color:#1377eb}.success-color[data-v-24cd2f06]{color:#52c41a}.success-bgColor[data-v-24cd2f06]{background-color:#52c41a}.warning-color[data-v-24cd2f06]{color:#faad14}.error-color[data-v-24cd2f06]{color:#ff4d4f}.error-bgColor[data-v-24cd2f06]{background-color:#fff2f0}.label-color[data-v-24cd2f06]{color:#64748b}.heading-color[data-v-24cd2f06]{color:#1a253b}.heading-bgColor[data-v-24cd2f06]{background-color:#1a253b}.text-color[data-v-24cd2f06]{color:#1a253b}.text-color-secondary[data-v-24cd2f06]{color:#4e5d78}.disabled-color[data-v-24cd2f06]{color:#bcc1cc}.bgColor-light[data-v-24cd2f06],.table-head-bgColor[data-v-24cd2f06]{background-color:#f5f7fa}.hover-bg-color[data-v-24cd2f06]:hover{background-color:#f0f7ff}.icon-bg-color[data-v-24cd2f06]:hover{background-color:#e6f4ff}.padding-xs[data-v-24cd2f06]{padding:.25rem}.padding-s[data-v-24cd2f06]{padding:.5rem}.padding-l[data-v-24cd2f06]{padding:.75rem}.padding-xl[data-v-24cd2f06]{padding:1rem}.padding-xxl[data-v-24cd2f06]{padding:1.5rem}.padding-xxxl[data-v-24cd2f06]{padding:2rem}.margin-xs[data-v-24cd2f06]{margin:.25rem}.margin-s[data-v-24cd2f06]{margin:.5rem}.margin-l[data-v-24cd2f06]{margin:.75rem}.margin-xl[data-v-24cd2f06]{margin:1rem}.margin-xxl[data-v-24cd2f06]{margin:1.5rem}.margin-xxxl[data-v-24cd2f06]{margin:2rem}.a-link[data-v-24cd2f06]{display:inline-block;padding-left:2px;padding-right:2px;color:#1377eb;border-radius:6px}.a-link[data-v-24cd2f06]:hover{color:#3b99f7;background-color:#e6f4ff;cursor:pointer}.a-link[data-v-24cd2f06]:active{color:#0658c4;background-color:#fafbfc}.a-link--disabled[data-v-24cd2f06]{color:#bcc1cc}.a-link--disabled[data-v-24cd2f06]:hover,.a-link--disabled[data-v-24cd2f06]:active{color:#bcc1cc;background-color:transparent;cursor:not-allowed}.composite-field[data-v-24cd2f06]{width:100%;background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid transparent}.composite-field[data-v-24cd2f06]:hover{box-shadow:0 4px 16px #0000000f;border-color:#e4e8ee}.composite-field[data-v-24cd2f06]:focus-within{border-color:#1377eb;box-shadow:0 0 0 3px #1377eb14}.composite-field .field-header[data-v-24cd2f06]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid #f0f2f5}.composite-field .field-header h3[data-v-24cd2f06]{margin:0;font-size:16px;font-weight:600;color:#1a253b;letter-spacing:.3px;padding-left:8px;border-left:3px solid #1377eb}.composite-field .field-header .header-actions[data-v-24cd2f06]{display:flex;gap:8px}.composite-field .field-header .header-actions .ant-btn[data-v-24cd2f06]{border-radius:6px;transition:all .2s ease}.composite-field .field-header .header-actions .ant-btn[data-v-24cd2f06]:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.composite-field .field-content[data-v-24cd2f06]{display:flex;flex-direction:column;gap:8px}.composite-field .config-section[data-v-24cd2f06]{display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:8px;border:1px solid #f0f2f5}.composite-field .config-section h4[data-v-24cd2f06]{margin:0;font-size:14px;font-weight:600;color:#1a253b;display:flex;align-items:center;gap:8px}.composite-field .config-section h4[data-v-24cd2f06]:before{content:"";width:4px;height:16px;background:#1377eb;border-radius:2px}.composite-field .form-item[data-v-24cd2f06]{margin-bottom:0}.composite-field .form-item[data-v-24cd2f06]:not(:last-child){margin-bottom:6px}.composite-field .overview-card[data-v-24cd2f06]{background:#fff;border-radius:10px;padding:8px;border:1px solid #e4e8ee;transition:all .3s cubic-bezier(.4,0,.2,1)}.composite-field .overview-card[data-v-24cd2f06]:hover{box-shadow:0 4px 12px #00000014;border-color:#1377eb}.composite-field .overview-card .overview-content[data-v-24cd2f06]{display:flex;flex-direction:column;gap:8px}.composite-field .overview-card .overview-content .overview-item[data-v-24cd2f06]{display:flex;align-items:center;gap:8px}.composite-field .overview-card .overview-content .overview-item .overview-label[data-v-24cd2f06]{font-size:13px;font-weight:500;color:#64748b;min-width:100px}.composite-field .overview-card .overview-content .overview-item .overview-value[data-v-24cd2f06]{font-size:14px;color:#1a253b;font-weight:500}.composite-field .edit-content[data-v-24cd2f06],.composite-field .edit-content .config-item[data-v-24cd2f06]{display:flex;flex-direction:column;gap:8px}.composite-field .edit-content .config-item label[data-v-24cd2f06]{font-size:14px;font-weight:600;color:#1a253b}.composite-field .edit-content .config-item label.required[data-v-24cd2f06]:after{content:"*";color:#ff4d4f;margin-left:4px}.composite-field .list-container[data-v-24cd2f06]{display:flex;flex-direction:column;gap:8px}.composite-field .list-container .list-item[data-v-24cd2f06]{background:#fff;border-radius:8px;padding:8px 12px;border:1px solid #e4e8ee;transition:all .25s cubic-bezier(.4,0,.2,1)}.composite-field .list-container .list-item[data-v-24cd2f06]:hover{box-shadow:0 2px 8px #0000000f;border-color:#1377eb}.composite-field .list-container .list-item.selected[data-v-24cd2f06]{border-color:#1377eb;background:#f0f7ff;box-shadow:0 0 0 2px #1377eb1a}.composite-field .action-buttons[data-v-24cd2f06]{display:flex;gap:8px;justify-content:flex-end;padding-top:8px;border-top:1px solid #f0f2f5}.composite-field .action-buttons .ant-btn[data-v-24cd2f06]{border-radius:6px;min-width:80px}.composite-field .action-buttons .ant-btn.ant-btn-primary[data-v-24cd2f06]{box-shadow:0 2px 8px #1377eb33}.composite-field .action-buttons .ant-btn.ant-btn-primary[data-v-24cd2f06]:hover{box-shadow:0 4px 12px #1377eb4d;transform:translateY(-1px)}.composite-field .help-text[data-v-24cd2f06]{font-size:12px;color:#4e5d78;line-height:1.5;padding:8px 12px;background:#f5f7fa;border-radius:6px;border-left:3px solid #1377eb}.composite-field .help-text[data-v-24cd2f06]:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#1377eb;margin-right:6px;vertical-align:middle}.composite-field .status-label[data-v-24cd2f06]{font-size:12px;font-weight:500;padding:4px 12px;border-radius:12px;display:inline-flex;align-items:center;gap:4px}.composite-field .status-label.status-success[data-v-24cd2f06]{background-color:#f6ffed;color:#52c41a}.composite-field .status-label.status-success[data-v-24cd2f06]:before{content:"✓"}.composite-field .status-label.status-warning[data-v-24cd2f06]{background-color:#fffbe6;color:#faad14}.composite-field .status-label.status-warning[data-v-24cd2f06]:before{content:"!"}.composite-field .status-label.status-error[data-v-24cd2f06]{background-color:#fff2f0;color:#ff4d4f}.composite-field .status-label.status-error[data-v-24cd2f06]:before{content:"✕"}.composite-field .status-label.status-info[data-v-24cd2f06]{background-color:#f5f7fa;color:#1377eb}.composite-field .status-label.status-info[data-v-24cd2f06]:before{content:"ℹ"}.composite-field .empty-state-inline[data-v-24cd2f06]{display:flex;flex-direction:column;align-items:center;padding:16px 12px;text-align:center}.composite-field .empty-state-inline .empty-icon[data-v-24cd2f06]{font-size:48px;margin-bottom:12px;opacity:.5}.composite-field .empty-state-inline .empty-text[data-v-24cd2f06]{font-size:14px;color:#4e5d78;margin-bottom:8px}@media(max-width:768px){.composite-field[data-v-24cd2f06]{border-radius:10px}.composite-field .field-header[data-v-24cd2f06]{margin-bottom:8px;padding-bottom:8px}.composite-field .field-header h3[data-v-24cd2f06]{font-size:15px;padding-left:8px}.composite-field .config-section[data-v-24cd2f06]{padding:10px;gap:10px}.composite-field .overview-card[data-v-24cd2f06]{padding:12px}}@media(max-width:320px){.composite-field[data-v-24cd2f06]{border-radius:8px}.composite-field .field-header h3[data-v-24cd2f06]{font-size:14px}.composite-field .action-buttons[data-v-24cd2f06]{flex-direction:column;gap:8px}.composite-field .action-buttons .ant-btn[data-v-24cd2f06]{width:100%}}@media(prefers-reduced-motion:reduce){.composite-field[data-v-24cd2f06]{transition:none}.composite-field[data-v-24cd2f06]:hover{transition:none;transform:none}.composite-field .overview-card[data-v-24cd2f06],.composite-field .list-item[data-v-24cd2f06],.composite-field .ant-btn[data-v-24cd2f06]{transition:none}.composite-field .overview-card[data-v-24cd2f06]:hover,.composite-field .list-item[data-v-24cd2f06]:hover,.composite-field .ant-btn[data-v-24cd2f06]:hover{transform:none}}.composite-field[data-v-24cd2f06] .ant-form-item{margin-bottom:8px}.composite-field[data-v-24cd2f06] .ant-table{font-size:13px}.composite-field[data-v-24cd2f06] .ant-table .ant-table-thead>tr>th,.composite-field[data-v-24cd2f06] .ant-table .ant-table-tbody>tr>td{padding:6px 8px}.composite-field[data-v-24cd2f06] .ant-table .ant-table-thead>tr>th{background:#f8fafc;font-weight:500;font-size:13px}.composite-field[data-v-24cd2f06] .ant-table .ant-table-empty .ant-table-placeholder{padding:8px}.composite-field[data-v-24cd2f06] .ant-checkbox-group{display:flex;flex-direction:column;gap:6px}.composite-field[data-v-24cd2f06] .ant-checkbox-group .ant-checkbox-wrapper{margin:0;padding:2px 0;font-size:13px}.composite-field[data-v-24cd2f06] .ant-radio-group{display:flex;flex-direction:column;gap:6px}.composite-field[data-v-24cd2f06] .ant-radio-group .ant-radio-wrapper{font-size:13px}.composite-field[data-v-24cd2f06] .ant-collapse .ant-collapse-header{padding:8px 12px!important;font-size:13px}.composite-field[data-v-24cd2f06] .ant-collapse .ant-collapse-content>.ant-collapse-content-box{padding:8px 12px!important}.composite-field[data-v-24cd2f06] .ant-input,.composite-field[data-v-24cd2f06] .ant-select-selector,.composite-field[data-v-24cd2f06] .ant-input-number{font-size:13px}.composite-field[data-v-24cd2f06] .ant-btn{font-size:13px;height:28px;padding:0 10px}.composite-field[data-v-24cd2f06] .ant-btn-sm{height:24px;padding:0 8px;font-size:12px}.composite-field[data-v-24cd2f06] .ant-tabs .ant-tabs-nav{margin-bottom:8px}.composite-field[data-v-24cd2f06] .ant-modal-footer{padding:8px 16px}.composite-field[data-v-24cd2f06] .ant-alert{padding:6px 8px;font-size:13px}.composite-field[data-v-24cd2f06] .ant-btn-link,.composite-field[data-v-24cd2f06] .ant-btn-icon-only.ant-btn-link{color:#1377eb;padding:0 4px;height:auto;font-size:13px}.composite-field[data-v-24cd2f06] .ant-btn-link:hover,.composite-field[data-v-24cd2f06] .ant-btn-icon-only.ant-btn-link:hover{color:#1377eb;opacity:.85}.composite-field[data-v-24cd2f06] .ant-btn-link:active,.composite-field[data-v-24cd2f06] .ant-btn-icon-only.ant-btn-link:active{color:#096dd9}.composite-field[data-v-24cd2f06] .ant-btn-link:disabled,.composite-field[data-v-24cd2f06] .ant-btn-icon-only.ant-btn-link:disabled,.composite-field[data-v-24cd2f06] .ant-btn-link[disabled],.composite-field[data-v-24cd2f06] .ant-btn-icon-only.ant-btn-link[disabled]{color:#bcc1cc}.composite-field[data-v-24cd2f06] .edit-icon,.composite-field[data-v-24cd2f06] .action-edit{color:#1377eb;cursor:pointer;transition:color .2s ease,opacity .2s ease}.composite-field[data-v-24cd2f06] .edit-icon:hover,.composite-field[data-v-24cd2f06] .action-edit:hover{color:#1377eb}.composite-field[data-v-24cd2f06] .ant-btn-text.ant-btn-dangerous,.composite-field[data-v-24cd2f06] .ant-btn-link.ant-btn-dangerous{color:#ff4d4f;padding:0 4px;height:auto;font-size:13px}.composite-field[data-v-24cd2f06] .ant-btn-text.ant-btn-dangerous:hover,.composite-field[data-v-24cd2f06] .ant-btn-link.ant-btn-dangerous:hover{color:#ff4d4f;background:#ff4d4f14;opacity:.85}.composite-field[data-v-24cd2f06] .ant-btn-text.ant-btn-dangerous:active,.composite-field[data-v-24cd2f06] .ant-btn-link.ant-btn-dangerous:active{color:#cf4446;background:#ff4d4f1f}.composite-field[data-v-24cd2f06] .ant-btn-text.ant-btn-dangerous:disabled,.composite-field[data-v-24cd2f06] .ant-btn-link.ant-btn-dangerous:disabled,.composite-field[data-v-24cd2f06] .ant-btn-text.ant-btn-dangerous[disabled],.composite-field[data-v-24cd2f06] .ant-btn-link.ant-btn-dangerous[disabled]{color:#bcc1cc}.composite-field[data-v-24cd2f06] .delete-icon,.composite-field[data-v-24cd2f06] .action-delete,.composite-field[data-v-24cd2f06] .delete-outlined,.composite-field[data-v-24cd2f06] .anticon-delete,.composite-field[data-v-24cd2f06] .anticon-delete-outlined{color:#ff4d4f;cursor:pointer;transition:color .2s ease}.composite-field[data-v-24cd2f06] .delete-icon:hover,.composite-field[data-v-24cd2f06] .action-delete:hover,.composite-field[data-v-24cd2f06] .delete-outlined:hover,.composite-field[data-v-24cd2f06] .anticon-delete:hover,.composite-field[data-v-24cd2f06] .anticon-delete-outlined:hover{color:#cf4446}.composite-field[data-v-24cd2f06] .ant-table .ant-btn-icon-only{padding:0;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center}.composite-field[data-v-24cd2f06] .toolbar-icon,.composite-field[data-v-24cd2f06] .header-icon{font-size:14px;vertical-align:middle}.service-task .extension-checkboxes[data-v-24cd2f06]{display:flex;flex-direction:column;gap:8px;padding:8px 12px;background:#f8fafc;border-radius:6px;border:1px solid #e4e8ee}.service-task .service-edit-content[data-v-24cd2f06]{background-color:#fff;width:100%;box-shadow:0 1px 3px #0000000d}.service-task .service-edit-content .ant-form-item[data-v-24cd2f06]{margin-bottom:8px}.service-task .action-button[data-v-24cd2f06]{border:none;background:none;padding:4px 8px;border-radius:4px}.service-task .action-button[type=text][danger][data-v-24cd2f06]{color:#ff4d4f}.service-task .action-button[type=text][danger][data-v-24cd2f06]:hover{color:#ff7875;background-color:#fff1f0}.subprocess-config[data-v-4f5a0b1b]{width:100%;background-color:#f9fbfd;border-radius:8px;padding:4px 16px;box-shadow:0 2px 8px #0000000d}.subprocess-config .config-header[data-v-4f5a0b1b]{margin-bottom:8px}.subprocess-config .config-header h3[data-v-4f5a0b1b]{margin:0;font-size:16px;font-weight:600;color:#314659}.subprocess-config .config-content[data-v-4f5a0b1b]{display:flex;flex-direction:column;gap:8px}.subprocess-config .config-content .form-item[data-v-4f5a0b1b]{margin-bottom:0}.action-button[data-v-4f5a0b1b]{border:none;background:none;padding:4px 8px;border-radius:4px}.action-button[type=link][data-v-4f5a0b1b]{color:#1890ff}.action-button[type=link][data-v-4f5a0b1b]:hover{color:#40a9ff;background-color:#e6f7ff}.action-button[type=text][danger][data-v-4f5a0b1b]{color:#ff4d4f}.action-button[type=text][danger][data-v-4f5a0b1b]:hover{color:#ff7875;background-color:#fff1f0}.sla-config[data-v-caec9a29]{width:100%;background-color:#f9fbfd;border-radius:8px;padding:8px;box-shadow:0 2px 8px #0000000d}.sla-config .config-header[data-v-caec9a29]{margin-bottom:8px}.sla-config .config-header h3[data-v-caec9a29]{margin:0;font-size:16px;font-weight:600;color:#314659}.sla-config .config-content[data-v-caec9a29]{display:flex;flex-direction:column;gap:8px}.sla-config .config-content .form-item[data-v-caec9a29]{margin-bottom:0}.action-button[data-v-caec9a29]{border:none;background:none;padding:4px 8px;border-radius:4px}.action-button[type=link][data-v-caec9a29]{color:#1890ff}.action-button[type=link][data-v-caec9a29]:hover{color:#40a9ff;background-color:#e6f7ff}.action-button[type=text][danger][data-v-caec9a29]{color:#ff4d4f}.action-button[type=text][danger][data-v-caec9a29]:hover{color:#ff7875;background-color:#fff1f0}.scrollbar-sm[data-v-22373369]::-webkit-scrollbar{width:6px;height:6px}.scrollbar-sm[data-v-22373369] *::-webkit-scrollbar{width:6px;height:6px}.scroll-overlay[data-v-22373369]::-webkit-scrollbar{overflow:overlay}.font-size-sm[data-v-22373369]{font-size:12px}.font-size-normal[data-v-22373369]{font-size:14px}.font-size-lg[data-v-22373369]{font-size:16px}.primary-color[data-v-22373369]{color:#1377eb}.primary-bgColor[data-v-22373369]{background-color:#1377eb}.link-color[data-v-22373369]{color:#1377eb}.success-color[data-v-22373369]{color:#52c41a}.success-bgColor[data-v-22373369]{background-color:#52c41a}.warning-color[data-v-22373369]{color:#faad14}.error-color[data-v-22373369]{color:#ff4d4f}.error-bgColor[data-v-22373369]{background-color:#fff2f0}.label-color[data-v-22373369]{color:#64748b}.heading-color[data-v-22373369]{color:#1a253b}.heading-bgColor[data-v-22373369]{background-color:#1a253b}.text-color[data-v-22373369]{color:#1a253b}.text-color-secondary[data-v-22373369]{color:#4e5d78}.disabled-color[data-v-22373369]{color:#bcc1cc}.bgColor-light[data-v-22373369],.table-head-bgColor[data-v-22373369]{background-color:#f5f7fa}.hover-bg-color[data-v-22373369]:hover{background-color:#f0f7ff}.icon-bg-color[data-v-22373369]:hover{background-color:#e6f4ff}.padding-xs[data-v-22373369]{padding:.25rem}.padding-s[data-v-22373369]{padding:.5rem}.padding-l[data-v-22373369]{padding:.75rem}.padding-xl[data-v-22373369]{padding:1rem}.padding-xxl[data-v-22373369]{padding:1.5rem}.padding-xxxl[data-v-22373369]{padding:2rem}.margin-xs[data-v-22373369]{margin:.25rem}.margin-s[data-v-22373369]{margin:.5rem}.margin-l[data-v-22373369]{margin:.75rem}.margin-xl[data-v-22373369]{margin:1rem}.margin-xxl[data-v-22373369]{margin:1.5rem}.margin-xxxl[data-v-22373369]{margin:2rem}.a-link[data-v-22373369]{display:inline-block;padding-left:2px;padding-right:2px;color:#1377eb;border-radius:6px}.a-link[data-v-22373369]:hover{color:#3b99f7;background-color:#e6f4ff;cursor:pointer}.a-link[data-v-22373369]:active{color:#0658c4;background-color:#fafbfc}.a-link--disabled[data-v-22373369]{color:#bcc1cc}.a-link--disabled[data-v-22373369]:hover,.a-link--disabled[data-v-22373369]:active{color:#bcc1cc;background-color:transparent;cursor:not-allowed}.composite-field[data-v-22373369]{width:100%;background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid transparent}.composite-field[data-v-22373369]:hover{box-shadow:0 4px 16px #0000000f;border-color:#e4e8ee}.composite-field[data-v-22373369]:focus-within{border-color:#1377eb;box-shadow:0 0 0 3px #1377eb14}.composite-field .field-header[data-v-22373369]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid #f0f2f5}.composite-field .field-header h3[data-v-22373369]{margin:0;font-size:16px;font-weight:600;color:#1a253b;letter-spacing:.3px;padding-left:8px;border-left:3px solid #1377eb}.composite-field .field-header .header-actions[data-v-22373369]{display:flex;gap:8px}.composite-field .field-header .header-actions .ant-btn[data-v-22373369]{border-radius:6px;transition:all .2s ease}.composite-field .field-header .header-actions .ant-btn[data-v-22373369]:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.composite-field .field-content[data-v-22373369]{display:flex;flex-direction:column;gap:8px}.composite-field .config-section[data-v-22373369]{display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:8px;border:1px solid #f0f2f5}.composite-field .config-section h4[data-v-22373369]{margin:0;font-size:14px;font-weight:600;color:#1a253b;display:flex;align-items:center;gap:8px}.composite-field .config-section h4[data-v-22373369]:before{content:"";width:4px;height:16px;background:#1377eb;border-radius:2px}.composite-field .form-item[data-v-22373369]{margin-bottom:0}.composite-field .form-item[data-v-22373369]:not(:last-child){margin-bottom:6px}.composite-field .overview-card[data-v-22373369]{background:#fff;border-radius:10px;padding:8px;border:1px solid #e4e8ee;transition:all .3s cubic-bezier(.4,0,.2,1)}.composite-field .overview-card[data-v-22373369]:hover{box-shadow:0 4px 12px #00000014;border-color:#1377eb}.composite-field .overview-card .overview-content[data-v-22373369]{display:flex;flex-direction:column;gap:8px}.composite-field .overview-card .overview-content .overview-item[data-v-22373369]{display:flex;align-items:center;gap:8px}.composite-field .overview-card .overview-content .overview-item .overview-label[data-v-22373369]{font-size:13px;font-weight:500;color:#64748b;min-width:100px}.composite-field .overview-card .overview-content .overview-item .overview-value[data-v-22373369]{font-size:14px;color:#1a253b;font-weight:500}.composite-field .edit-content[data-v-22373369],.composite-field .edit-content .config-item[data-v-22373369]{display:flex;flex-direction:column;gap:8px}.composite-field .edit-content .config-item label[data-v-22373369]{font-size:14px;font-weight:600;color:#1a253b}.composite-field .edit-content .config-item label.required[data-v-22373369]:after{content:"*";color:#ff4d4f;margin-left:4px}.composite-field .list-container[data-v-22373369]{display:flex;flex-direction:column;gap:8px}.composite-field .list-container .list-item[data-v-22373369]{background:#fff;border-radius:8px;padding:8px 12px;border:1px solid #e4e8ee;transition:all .25s cubic-bezier(.4,0,.2,1)}.composite-field .list-container .list-item[data-v-22373369]:hover{box-shadow:0 2px 8px #0000000f;border-color:#1377eb}.composite-field .list-container .list-item.selected[data-v-22373369]{border-color:#1377eb;background:#f0f7ff;box-shadow:0 0 0 2px #1377eb1a}.composite-field .action-buttons[data-v-22373369]{display:flex;gap:8px;justify-content:flex-end;padding-top:8px;border-top:1px solid #f0f2f5}.composite-field .action-buttons .ant-btn[data-v-22373369]{border-radius:6px;min-width:80px}.composite-field .action-buttons .ant-btn.ant-btn-primary[data-v-22373369]{box-shadow:0 2px 8px #1377eb33}.composite-field .action-buttons .ant-btn.ant-btn-primary[data-v-22373369]:hover{box-shadow:0 4px 12px #1377eb4d;transform:translateY(-1px)}.composite-field .help-text[data-v-22373369]{font-size:12px;color:#4e5d78;line-height:1.5;padding:8px 12px;background:#f5f7fa;border-radius:6px;border-left:3px solid #1377eb}.composite-field .help-text[data-v-22373369]:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#1377eb;margin-right:6px;vertical-align:middle}.composite-field .status-label[data-v-22373369]{font-size:12px;font-weight:500;padding:4px 12px;border-radius:12px;display:inline-flex;align-items:center;gap:4px}.composite-field .status-label.status-success[data-v-22373369]{background-color:#f6ffed;color:#52c41a}.composite-field .status-label.status-success[data-v-22373369]:before{content:"✓"}.composite-field .status-label.status-warning[data-v-22373369]{background-color:#fffbe6;color:#faad14}.composite-field .status-label.status-warning[data-v-22373369]:before{content:"!"}.composite-field .status-label.status-error[data-v-22373369]{background-color:#fff2f0;color:#ff4d4f}.composite-field .status-label.status-error[data-v-22373369]:before{content:"✕"}.composite-field .status-label.status-info[data-v-22373369]{background-color:#f5f7fa;color:#1377eb}.composite-field .status-label.status-info[data-v-22373369]:before{content:"ℹ"}.composite-field .empty-state-inline[data-v-22373369]{display:flex;flex-direction:column;align-items:center;padding:16px 12px;text-align:center}.composite-field .empty-state-inline .empty-icon[data-v-22373369]{font-size:48px;margin-bottom:12px;opacity:.5}.composite-field .empty-state-inline .empty-text[data-v-22373369]{font-size:14px;color:#4e5d78;margin-bottom:8px}@media(max-width:768px){.composite-field[data-v-22373369]{border-radius:10px}.composite-field .field-header[data-v-22373369]{margin-bottom:8px;padding-bottom:8px}.composite-field .field-header h3[data-v-22373369]{font-size:15px;padding-left:8px}.composite-field .config-section[data-v-22373369]{padding:10px;gap:10px}.composite-field .overview-card[data-v-22373369]{padding:12px}}@media(max-width:320px){.composite-field[data-v-22373369]{border-radius:8px}.composite-field .field-header h3[data-v-22373369]{font-size:14px}.composite-field .action-buttons[data-v-22373369]{flex-direction:column;gap:8px}.composite-field .action-buttons .ant-btn[data-v-22373369]{width:100%}}@media(prefers-reduced-motion:reduce){.composite-field[data-v-22373369]{transition:none}.composite-field[data-v-22373369]:hover{transition:none;transform:none}.composite-field .overview-card[data-v-22373369],.composite-field .list-item[data-v-22373369],.composite-field .ant-btn[data-v-22373369]{transition:none}.composite-field .overview-card[data-v-22373369]:hover,.composite-field .list-item[data-v-22373369]:hover,.composite-field .ant-btn[data-v-22373369]:hover{transform:none}}.composite-field[data-v-22373369] .ant-form-item{margin-bottom:8px}.composite-field[data-v-22373369] .ant-table{font-size:13px}.composite-field[data-v-22373369] .ant-table .ant-table-thead>tr>th,.composite-field[data-v-22373369] .ant-table .ant-table-tbody>tr>td{padding:6px 8px}.composite-field[data-v-22373369] .ant-table .ant-table-thead>tr>th{background:#f8fafc;font-weight:500;font-size:13px}.composite-field[data-v-22373369] .ant-table .ant-table-empty .ant-table-placeholder{padding:8px}.composite-field[data-v-22373369] .ant-checkbox-group{display:flex;flex-direction:column;gap:6px}.composite-field[data-v-22373369] .ant-checkbox-group .ant-checkbox-wrapper{margin:0;padding:2px 0;font-size:13px}.composite-field[data-v-22373369] .ant-radio-group{display:flex;flex-direction:column;gap:6px}.composite-field[data-v-22373369] .ant-radio-group .ant-radio-wrapper{font-size:13px}.composite-field[data-v-22373369] .ant-collapse .ant-collapse-header{padding:8px 12px!important;font-size:13px}.composite-field[data-v-22373369] .ant-collapse .ant-collapse-content>.ant-collapse-content-box{padding:8px 12px!important}.composite-field[data-v-22373369] .ant-input,.composite-field[data-v-22373369] .ant-select-selector,.composite-field[data-v-22373369] .ant-input-number{font-size:13px}.composite-field[data-v-22373369] .ant-btn{font-size:13px;height:28px;padding:0 10px}.composite-field[data-v-22373369] .ant-btn-sm{height:24px;padding:0 8px;font-size:12px}.composite-field[data-v-22373369] .ant-tabs .ant-tabs-nav{margin-bottom:8px}.composite-field[data-v-22373369] .ant-modal-footer{padding:8px 16px}.composite-field[data-v-22373369] .ant-alert{padding:6px 8px;font-size:13px}.composite-field[data-v-22373369] .ant-btn-link,.composite-field[data-v-22373369] .ant-btn-icon-only.ant-btn-link{color:#1377eb;padding:0 4px;height:auto;font-size:13px}.composite-field[data-v-22373369] .ant-btn-link:hover,.composite-field[data-v-22373369] .ant-btn-icon-only.ant-btn-link:hover{color:#1377eb;opacity:.85}.composite-field[data-v-22373369] .ant-btn-link:active,.composite-field[data-v-22373369] .ant-btn-icon-only.ant-btn-link:active{color:#096dd9}.composite-field[data-v-22373369] .ant-btn-link:disabled,.composite-field[data-v-22373369] .ant-btn-icon-only.ant-btn-link:disabled,.composite-field[data-v-22373369] .ant-btn-link[disabled],.composite-field[data-v-22373369] .ant-btn-icon-only.ant-btn-link[disabled]{color:#bcc1cc}.composite-field[data-v-22373369] .edit-icon,.composite-field[data-v-22373369] .action-edit{color:#1377eb;cursor:pointer;transition:color .2s ease,opacity .2s ease}.composite-field[data-v-22373369] .edit-icon:hover,.composite-field[data-v-22373369] .action-edit:hover{color:#1377eb}.composite-field[data-v-22373369] .ant-btn-text.ant-btn-dangerous,.composite-field[data-v-22373369] .ant-btn-link.ant-btn-dangerous{color:#ff4d4f;padding:0 4px;height:auto;font-size:13px}.composite-field[data-v-22373369] .ant-btn-text.ant-btn-dangerous:hover,.composite-field[data-v-22373369] .ant-btn-link.ant-btn-dangerous:hover{color:#ff4d4f;background:#ff4d4f14;opacity:.85}.composite-field[data-v-22373369] .ant-btn-text.ant-btn-dangerous:active,.composite-field[data-v-22373369] .ant-btn-link.ant-btn-dangerous:active{color:#cf4446;background:#ff4d4f1f}.composite-field[data-v-22373369] .ant-btn-text.ant-btn-dangerous:disabled,.composite-field[data-v-22373369] .ant-btn-link.ant-btn-dangerous:disabled,.composite-field[data-v-22373369] .ant-btn-text.ant-btn-dangerous[disabled],.composite-field[data-v-22373369] .ant-btn-link.ant-btn-dangerous[disabled]{color:#bcc1cc}.composite-field[data-v-22373369] .delete-icon,.composite-field[data-v-22373369] .action-delete,.composite-field[data-v-22373369] .delete-outlined,.composite-field[data-v-22373369] .anticon-delete,.composite-field[data-v-22373369] .anticon-delete-outlined{color:#ff4d4f;cursor:pointer;transition:color .2s ease}.composite-field[data-v-22373369] .delete-icon:hover,.composite-field[data-v-22373369] .action-delete:hover,.composite-field[data-v-22373369] .delete-outlined:hover,.composite-field[data-v-22373369] .anticon-delete:hover,.composite-field[data-v-22373369] .anticon-delete-outlined:hover{color:#cf4446}.composite-field[data-v-22373369] .ant-table .ant-btn-icon-only{padding:0;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center}.composite-field[data-v-22373369] .toolbar-icon,.composite-field[data-v-22373369] .header-icon{font-size:14px;vertical-align:middle}.i18n-config[data-v-22373369]{width:100%;background-color:#f9fbfd;border-radius:8px;padding:8px;box-shadow:0 2px 8px #0000000d}.i18n-config .config-header[data-v-22373369]{margin-bottom:8px}.i18n-config .config-header h3[data-v-22373369]{margin:0;font-size:16px;font-weight:600;color:#314659}.i18n-config .config-content[data-v-22373369]{display:flex;flex-direction:column;gap:8px}.i18n-config .config-content .form-item[data-v-22373369]{margin-bottom:0}.i18n-config .config-content .add-language-tag[data-v-22373369]{cursor:pointer;user-select:none}.permission-config[data-v-a2c67ba1]{width:100%;background-color:#f9fbfd;border-radius:8px;padding:8px;box-shadow:0 2px 8px #0000000d}.permission-config .config-header[data-v-a2c67ba1]{margin-bottom:8px}.permission-config .config-header h3[data-v-a2c67ba1]{margin:0;font-size:16px;font-weight:600;color:#314659}.permission-config .config-content[data-v-a2c67ba1]{display:flex;flex-direction:column;gap:8px}.permission-config .config-content .form-item[data-v-a2c67ba1]{margin-bottom:0}.permission-config .config-content .custom-permission[data-v-a2c67ba1]{border-top:1px solid #e8e8e8;padding-top:8px;margin-top:8px}.action-button[data-v-a2c67ba1]{border:none;background:none;padding:4px 8px;border-radius:4px}.action-button[type=link][data-v-a2c67ba1]{color:#1890ff}.action-button[type=link][data-v-a2c67ba1]:hover{color:#40a9ff;background-color:#e6f7ff}.action-button[type=text][danger][data-v-a2c67ba1]{color:#ff4d4f}.action-button[type=text][danger][data-v-a2c67ba1]:hover{color:#ff7875;background-color:#fff1f0}.scrollbar-sm[data-v-9b9d9c37]::-webkit-scrollbar{width:6px;height:6px}.scrollbar-sm[data-v-9b9d9c37] *::-webkit-scrollbar{width:6px;height:6px}.scroll-overlay[data-v-9b9d9c37]::-webkit-scrollbar{overflow:overlay}.font-size-sm[data-v-9b9d9c37]{font-size:12px}.font-size-normal[data-v-9b9d9c37]{font-size:14px}.font-size-lg[data-v-9b9d9c37]{font-size:16px}.primary-color[data-v-9b9d9c37]{color:#1377eb}.primary-bgColor[data-v-9b9d9c37]{background-color:#1377eb}.link-color[data-v-9b9d9c37]{color:#1377eb}.success-color[data-v-9b9d9c37]{color:#52c41a}.success-bgColor[data-v-9b9d9c37]{background-color:#52c41a}.warning-color[data-v-9b9d9c37]{color:#faad14}.error-color[data-v-9b9d9c37]{color:#ff4d4f}.error-bgColor[data-v-9b9d9c37]{background-color:#fff2f0}.label-color[data-v-9b9d9c37]{color:#64748b}.heading-color[data-v-9b9d9c37]{color:#1a253b}.heading-bgColor[data-v-9b9d9c37]{background-color:#1a253b}.text-color[data-v-9b9d9c37]{color:#1a253b}.text-color-secondary[data-v-9b9d9c37]{color:#4e5d78}.disabled-color[data-v-9b9d9c37]{color:#bcc1cc}.bgColor-light[data-v-9b9d9c37],.table-head-bgColor[data-v-9b9d9c37]{background-color:#f5f7fa}.hover-bg-color[data-v-9b9d9c37]:hover{background-color:#f0f7ff}.icon-bg-color[data-v-9b9d9c37]:hover{background-color:#e6f4ff}.padding-xs[data-v-9b9d9c37]{padding:.25rem}.padding-s[data-v-9b9d9c37]{padding:.5rem}.padding-l[data-v-9b9d9c37]{padding:.75rem}.padding-xl[data-v-9b9d9c37]{padding:1rem}.padding-xxl[data-v-9b9d9c37]{padding:1.5rem}.padding-xxxl[data-v-9b9d9c37]{padding:2rem}.margin-xs[data-v-9b9d9c37]{margin:.25rem}.margin-s[data-v-9b9d9c37]{margin:.5rem}.margin-l[data-v-9b9d9c37]{margin:.75rem}.margin-xl[data-v-9b9d9c37]{margin:1rem}.margin-xxl[data-v-9b9d9c37]{margin:1.5rem}.margin-xxxl[data-v-9b9d9c37]{margin:2rem}.a-link[data-v-9b9d9c37]{display:inline-block;padding-left:2px;padding-right:2px;color:#1377eb;border-radius:6px}.a-link[data-v-9b9d9c37]:hover{color:#3b99f7;background-color:#e6f4ff;cursor:pointer}.a-link[data-v-9b9d9c37]:active{color:#0658c4;background-color:#fafbfc}.a-link--disabled[data-v-9b9d9c37]{color:#bcc1cc}.a-link--disabled[data-v-9b9d9c37]:hover,.a-link--disabled[data-v-9b9d9c37]:active{color:#bcc1cc;background-color:transparent;cursor:not-allowed}.composite-field[data-v-9b9d9c37]{width:100%;background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid transparent}.composite-field[data-v-9b9d9c37]:hover{box-shadow:0 4px 16px #0000000f;border-color:#e4e8ee}.composite-field[data-v-9b9d9c37]:focus-within{border-color:#1377eb;box-shadow:0 0 0 3px #1377eb14}.composite-field .field-header[data-v-9b9d9c37]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid #f0f2f5}.composite-field .field-header h3[data-v-9b9d9c37]{margin:0;font-size:16px;font-weight:600;color:#1a253b;letter-spacing:.3px;padding-left:8px;border-left:3px solid #1377eb}.composite-field .field-header .header-actions[data-v-9b9d9c37]{display:flex;gap:8px}.composite-field .field-header .header-actions .ant-btn[data-v-9b9d9c37]{border-radius:6px;transition:all .2s ease}.composite-field .field-header .header-actions .ant-btn[data-v-9b9d9c37]:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.composite-field .field-content[data-v-9b9d9c37]{display:flex;flex-direction:column;gap:8px}.composite-field .config-section[data-v-9b9d9c37]{display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:8px;border:1px solid #f0f2f5}.composite-field .config-section h4[data-v-9b9d9c37]{margin:0;font-size:14px;font-weight:600;color:#1a253b;display:flex;align-items:center;gap:8px}.composite-field .config-section h4[data-v-9b9d9c37]:before{content:"";width:4px;height:16px;background:#1377eb;border-radius:2px}.composite-field .form-item[data-v-9b9d9c37]{margin-bottom:0}.composite-field .form-item[data-v-9b9d9c37]:not(:last-child){margin-bottom:6px}.composite-field .overview-card[data-v-9b9d9c37]{background:#fff;border-radius:10px;padding:8px;border:1px solid #e4e8ee;transition:all .3s cubic-bezier(.4,0,.2,1)}.composite-field .overview-card[data-v-9b9d9c37]:hover{box-shadow:0 4px 12px #00000014;border-color:#1377eb}.composite-field .overview-card .overview-content[data-v-9b9d9c37]{display:flex;flex-direction:column;gap:8px}.composite-field .overview-card .overview-content .overview-item[data-v-9b9d9c37]{display:flex;align-items:center;gap:8px}.composite-field .overview-card .overview-content .overview-item .overview-label[data-v-9b9d9c37]{font-size:13px;font-weight:500;color:#64748b;min-width:100px}.composite-field .overview-card .overview-content .overview-item .overview-value[data-v-9b9d9c37]{font-size:14px;color:#1a253b;font-weight:500}.composite-field .edit-content[data-v-9b9d9c37],.composite-field .edit-content .config-item[data-v-9b9d9c37]{display:flex;flex-direction:column;gap:8px}.composite-field .edit-content .config-item label[data-v-9b9d9c37]{font-size:14px;font-weight:600;color:#1a253b}.composite-field .edit-content .config-item label.required[data-v-9b9d9c37]:after{content:"*";color:#ff4d4f;margin-left:4px}.composite-field .list-container[data-v-9b9d9c37]{display:flex;flex-direction:column;gap:8px}.composite-field .list-container .list-item[data-v-9b9d9c37]{background:#fff;border-radius:8px;padding:8px 12px;border:1px solid #e4e8ee;transition:all .25s cubic-bezier(.4,0,.2,1)}.composite-field .list-container .list-item[data-v-9b9d9c37]:hover{box-shadow:0 2px 8px #0000000f;border-color:#1377eb}.composite-field .list-container .list-item.selected[data-v-9b9d9c37]{border-color:#1377eb;background:#f0f7ff;box-shadow:0 0 0 2px #1377eb1a}.composite-field .action-buttons[data-v-9b9d9c37]{display:flex;gap:8px;justify-content:flex-end;padding-top:8px;border-top:1px solid #f0f2f5}.composite-field .action-buttons .ant-btn[data-v-9b9d9c37]{border-radius:6px;min-width:80px}.composite-field .action-buttons .ant-btn.ant-btn-primary[data-v-9b9d9c37]{box-shadow:0 2px 8px #1377eb33}.composite-field .action-buttons .ant-btn.ant-btn-primary[data-v-9b9d9c37]:hover{box-shadow:0 4px 12px #1377eb4d;transform:translateY(-1px)}.composite-field .help-text[data-v-9b9d9c37]{font-size:12px;color:#4e5d78;line-height:1.5;padding:8px 12px;background:#f5f7fa;border-radius:6px;border-left:3px solid #1377eb}.composite-field .help-text[data-v-9b9d9c37]:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#1377eb;margin-right:6px;vertical-align:middle}.composite-field .status-label[data-v-9b9d9c37]{font-size:12px;font-weight:500;padding:4px 12px;border-radius:12px;display:inline-flex;align-items:center;gap:4px}.composite-field .status-label.status-success[data-v-9b9d9c37]{background-color:#f6ffed;color:#52c41a}.composite-field .status-label.status-success[data-v-9b9d9c37]:before{content:"✓"}.composite-field .status-label.status-warning[data-v-9b9d9c37]{background-color:#fffbe6;color:#faad14}.composite-field .status-label.status-warning[data-v-9b9d9c37]:before{content:"!"}.composite-field .status-label.status-error[data-v-9b9d9c37]{background-color:#fff2f0;color:#ff4d4f}.composite-field .status-label.status-error[data-v-9b9d9c37]:before{content:"✕"}.composite-field .status-label.status-info[data-v-9b9d9c37]{background-color:#f5f7fa;color:#1377eb}.composite-field .status-label.status-info[data-v-9b9d9c37]:before{content:"ℹ"}.composite-field .empty-state-inline[data-v-9b9d9c37]{display:flex;flex-direction:column;align-items:center;padding:16px 12px;text-align:center}.composite-field .empty-state-inline .empty-icon[data-v-9b9d9c37]{font-size:48px;margin-bottom:12px;opacity:.5}.composite-field .empty-state-inline .empty-text[data-v-9b9d9c37]{font-size:14px;color:#4e5d78;margin-bottom:8px}@media(max-width:768px){.composite-field[data-v-9b9d9c37]{border-radius:10px}.composite-field .field-header[data-v-9b9d9c37]{margin-bottom:8px;padding-bottom:8px}.composite-field .field-header h3[data-v-9b9d9c37]{font-size:15px;padding-left:8px}.composite-field .config-section[data-v-9b9d9c37]{padding:10px;gap:10px}.composite-field .overview-card[data-v-9b9d9c37]{padding:12px}}@media(max-width:320px){.composite-field[data-v-9b9d9c37]{border-radius:8px}.composite-field .field-header h3[data-v-9b9d9c37]{font-size:14px}.composite-field .action-buttons[data-v-9b9d9c37]{flex-direction:column;gap:8px}.composite-field .action-buttons .ant-btn[data-v-9b9d9c37]{width:100%}}@media(prefers-reduced-motion:reduce){.composite-field[data-v-9b9d9c37]{transition:none}.composite-field[data-v-9b9d9c37]:hover{transition:none;transform:none}.composite-field .overview-card[data-v-9b9d9c37],.composite-field .list-item[data-v-9b9d9c37],.composite-field .ant-btn[data-v-9b9d9c37]{transition:none}.composite-field .overview-card[data-v-9b9d9c37]:hover,.composite-field .list-item[data-v-9b9d9c37]:hover,.composite-field .ant-btn[data-v-9b9d9c37]:hover{transform:none}}.composite-field[data-v-9b9d9c37] .ant-form-item{margin-bottom:8px}.composite-field[data-v-9b9d9c37] .ant-table{font-size:13px}.composite-field[data-v-9b9d9c37] .ant-table .ant-table-thead>tr>th,.composite-field[data-v-9b9d9c37] .ant-table .ant-table-tbody>tr>td{padding:6px 8px}.composite-field[data-v-9b9d9c37] .ant-table .ant-table-thead>tr>th{background:#f8fafc;font-weight:500;font-size:13px}.composite-field[data-v-9b9d9c37] .ant-table .ant-table-empty .ant-table-placeholder{padding:8px}.composite-field[data-v-9b9d9c37] .ant-checkbox-group{display:flex;flex-direction:column;gap:6px}.composite-field[data-v-9b9d9c37] .ant-checkbox-group .ant-checkbox-wrapper{margin:0;padding:2px 0;font-size:13px}.composite-field[data-v-9b9d9c37] .ant-radio-group{display:flex;flex-direction:column;gap:6px}.composite-field[data-v-9b9d9c37] .ant-radio-group .ant-radio-wrapper{font-size:13px}.composite-field[data-v-9b9d9c37] .ant-collapse .ant-collapse-header{padding:8px 12px!important;font-size:13px}.composite-field[data-v-9b9d9c37] .ant-collapse .ant-collapse-content>.ant-collapse-content-box{padding:8px 12px!important}.composite-field[data-v-9b9d9c37] .ant-input,.composite-field[data-v-9b9d9c37] .ant-select-selector,.composite-field[data-v-9b9d9c37] .ant-input-number{font-size:13px}.composite-field[data-v-9b9d9c37] .ant-btn{font-size:13px;height:28px;padding:0 10px}.composite-field[data-v-9b9d9c37] .ant-btn-sm{height:24px;padding:0 8px;font-size:12px}.composite-field[data-v-9b9d9c37] .ant-tabs .ant-tabs-nav{margin-bottom:8px}.composite-field[data-v-9b9d9c37] .ant-modal-footer{padding:8px 16px}.composite-field[data-v-9b9d9c37] .ant-alert{padding:6px 8px;font-size:13px}.composite-field[data-v-9b9d9c37] .ant-btn-link,.composite-field[data-v-9b9d9c37] .ant-btn-icon-only.ant-btn-link{color:#1377eb;padding:0 4px;height:auto;font-size:13px}.composite-field[data-v-9b9d9c37] .ant-btn-link:hover,.composite-field[data-v-9b9d9c37] .ant-btn-icon-only.ant-btn-link:hover{color:#1377eb;opacity:.85}.composite-field[data-v-9b9d9c37] .ant-btn-link:active,.composite-field[data-v-9b9d9c37] .ant-btn-icon-only.ant-btn-link:active{color:#096dd9}.composite-field[data-v-9b9d9c37] .ant-btn-link:disabled,.composite-field[data-v-9b9d9c37] .ant-btn-icon-only.ant-btn-link:disabled,.composite-field[data-v-9b9d9c37] .ant-btn-link[disabled],.composite-field[data-v-9b9d9c37] .ant-btn-icon-only.ant-btn-link[disabled]{color:#bcc1cc}.composite-field[data-v-9b9d9c37] .edit-icon,.composite-field[data-v-9b9d9c37] .action-edit{color:#1377eb;cursor:pointer;transition:color .2s ease,opacity .2s ease}.composite-field[data-v-9b9d9c37] .edit-icon:hover,.composite-field[data-v-9b9d9c37] .action-edit:hover{color:#1377eb}.composite-field[data-v-9b9d9c37] .ant-btn-text.ant-btn-dangerous,.composite-field[data-v-9b9d9c37] .ant-btn-link.ant-btn-dangerous{color:#ff4d4f;padding:0 4px;height:auto;font-size:13px}.composite-field[data-v-9b9d9c37] .ant-btn-text.ant-btn-dangerous:hover,.composite-field[data-v-9b9d9c37] .ant-btn-link.ant-btn-dangerous:hover{color:#ff4d4f;background:#ff4d4f14;opacity:.85}.composite-field[data-v-9b9d9c37] .ant-btn-text.ant-btn-dangerous:active,.composite-field[data-v-9b9d9c37] .ant-btn-link.ant-btn-dangerous:active{color:#cf4446;background:#ff4d4f1f}.composite-field[data-v-9b9d9c37] .ant-btn-text.ant-btn-dangerous:disabled,.composite-field[data-v-9b9d9c37] .ant-btn-link.ant-btn-dangerous:disabled,.composite-field[data-v-9b9d9c37] .ant-btn-text.ant-btn-dangerous[disabled],.composite-field[data-v-9b9d9c37] .ant-btn-link.ant-btn-dangerous[disabled]{color:#bcc1cc}.composite-field[data-v-9b9d9c37] .delete-icon,.composite-field[data-v-9b9d9c37] .action-delete,.composite-field[data-v-9b9d9c37] .delete-outlined,.composite-field[data-v-9b9d9c37] .anticon-delete,.composite-field[data-v-9b9d9c37] .anticon-delete-outlined{color:#ff4d4f;cursor:pointer;transition:color .2s ease}.composite-field[data-v-9b9d9c37] .delete-icon:hover,.composite-field[data-v-9b9d9c37] .action-delete:hover,.composite-field[data-v-9b9d9c37] .delete-outlined:hover,.composite-field[data-v-9b9d9c37] .anticon-delete:hover,.composite-field[data-v-9b9d9c37] .anticon-delete-outlined:hover{color:#cf4446}.composite-field[data-v-9b9d9c37] .ant-table .ant-btn-icon-only{padding:0;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center}.composite-field[data-v-9b9d9c37] .toolbar-icon,.composite-field[data-v-9b9d9c37] .header-icon{font-size:14px;vertical-align:middle}.auto-form-generator[data-v-9b9d9c37]{width:100%;border-radius:8px;padding:8px;box-shadow:0 2px 8px #0000000d}.auto-form-generator .config-header[data-v-9b9d9c37]{margin-bottom:8px}.auto-form-generator .config-header h3[data-v-9b9d9c37]{margin:0;font-size:16px;font-weight:600;color:#314659}.auto-form-generator .config-content[data-v-9b9d9c37]{display:flex;flex-direction:column}.auto-form-generator .config-content .form-item[data-v-9b9d9c37]{margin-bottom:0}.auto-form-generator .config-content .form-item .template-actions[data-v-9b9d9c37]{margin-top:12px;display:flex;gap:8px}.auto-form-generator .config-content .form-item .form-preview[data-v-9b9d9c37]{border:1px solid #e8e8e8;border-radius:4px;padding:8px;background-color:#fff;min-height:200px}.auto-form-generator .config-content .form-item .form-preview .no-preview[data-v-9b9d9c37]{text-align:center;color:#999;padding:20px 0}.scrollbar-sm[data-v-0967ae56]::-webkit-scrollbar{width:6px;height:6px}.scrollbar-sm[data-v-0967ae56] *::-webkit-scrollbar{width:6px;height:6px}.scroll-overlay[data-v-0967ae56]::-webkit-scrollbar{overflow:overlay}.font-size-sm[data-v-0967ae56]{font-size:12px}.font-size-normal[data-v-0967ae56]{font-size:14px}.font-size-lg[data-v-0967ae56]{font-size:16px}.primary-color[data-v-0967ae56]{color:#1377eb}.primary-bgColor[data-v-0967ae56]{background-color:#1377eb}.link-color[data-v-0967ae56]{color:#1377eb}.success-color[data-v-0967ae56]{color:#52c41a}.success-bgColor[data-v-0967ae56]{background-color:#52c41a}.warning-color[data-v-0967ae56]{color:#faad14}.error-color[data-v-0967ae56]{color:#ff4d4f}.error-bgColor[data-v-0967ae56]{background-color:#fff2f0}.label-color[data-v-0967ae56]{color:#64748b}.heading-color[data-v-0967ae56]{color:#1a253b}.heading-bgColor[data-v-0967ae56]{background-color:#1a253b}.text-color[data-v-0967ae56]{color:#1a253b}.text-color-secondary[data-v-0967ae56]{color:#4e5d78}.disabled-color[data-v-0967ae56]{color:#bcc1cc}.bgColor-light[data-v-0967ae56],.table-head-bgColor[data-v-0967ae56]{background-color:#f5f7fa}.hover-bg-color[data-v-0967ae56]:hover{background-color:#f0f7ff}.icon-bg-color[data-v-0967ae56]:hover{background-color:#e6f4ff}.padding-xs[data-v-0967ae56]{padding:.25rem}.padding-s[data-v-0967ae56]{padding:.5rem}.padding-l[data-v-0967ae56]{padding:.75rem}.padding-xl[data-v-0967ae56]{padding:1rem}.padding-xxl[data-v-0967ae56]{padding:1.5rem}.padding-xxxl[data-v-0967ae56]{padding:2rem}.margin-xs[data-v-0967ae56]{margin:.25rem}.margin-s[data-v-0967ae56]{margin:.5rem}.margin-l[data-v-0967ae56]{margin:.75rem}.margin-xl[data-v-0967ae56]{margin:1rem}.margin-xxl[data-v-0967ae56]{margin:1.5rem}.margin-xxxl[data-v-0967ae56]{margin:2rem}.a-link[data-v-0967ae56]{display:inline-block;padding-left:2px;padding-right:2px;color:#1377eb;border-radius:6px}.a-link[data-v-0967ae56]:hover{color:#3b99f7;background-color:#e6f4ff;cursor:pointer}.a-link[data-v-0967ae56]:active{color:#0658c4;background-color:#fafbfc}.a-link--disabled[data-v-0967ae56]{color:#bcc1cc}.a-link--disabled[data-v-0967ae56]:hover,.a-link--disabled[data-v-0967ae56]:active{color:#bcc1cc;background-color:transparent;cursor:not-allowed}.composite-field[data-v-0967ae56]{width:100%;background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid transparent}.composite-field[data-v-0967ae56]:hover{box-shadow:0 4px 16px #0000000f;border-color:#e4e8ee}.composite-field[data-v-0967ae56]:focus-within{border-color:#1377eb;box-shadow:0 0 0 3px #1377eb14}.composite-field .field-header[data-v-0967ae56]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid #f0f2f5}.composite-field .field-header h3[data-v-0967ae56]{margin:0;font-size:16px;font-weight:600;color:#1a253b;letter-spacing:.3px;padding-left:8px;border-left:3px solid #1377eb}.composite-field .field-header .header-actions[data-v-0967ae56]{display:flex;gap:8px}.composite-field .field-header .header-actions .ant-btn[data-v-0967ae56]{border-radius:6px;transition:all .2s ease}.composite-field .field-header .header-actions .ant-btn[data-v-0967ae56]:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.composite-field .field-content[data-v-0967ae56]{display:flex;flex-direction:column;gap:8px}.composite-field .config-section[data-v-0967ae56]{display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:8px;border:1px solid #f0f2f5}.composite-field .config-section h4[data-v-0967ae56]{margin:0;font-size:14px;font-weight:600;color:#1a253b;display:flex;align-items:center;gap:8px}.composite-field .config-section h4[data-v-0967ae56]:before{content:"";width:4px;height:16px;background:#1377eb;border-radius:2px}.composite-field .form-item[data-v-0967ae56]{margin-bottom:0}.composite-field .form-item[data-v-0967ae56]:not(:last-child){margin-bottom:6px}.composite-field .overview-card[data-v-0967ae56]{background:#fff;border-radius:10px;padding:8px;border:1px solid #e4e8ee;transition:all .3s cubic-bezier(.4,0,.2,1)}.composite-field .overview-card[data-v-0967ae56]:hover{box-shadow:0 4px 12px #00000014;border-color:#1377eb}.composite-field .overview-card .overview-content[data-v-0967ae56]{display:flex;flex-direction:column;gap:8px}.composite-field .overview-card .overview-content .overview-item[data-v-0967ae56]{display:flex;align-items:center;gap:8px}.composite-field .overview-card .overview-content .overview-item .overview-label[data-v-0967ae56]{font-size:13px;font-weight:500;color:#64748b;min-width:100px}.composite-field .overview-card .overview-content .overview-item .overview-value[data-v-0967ae56]{font-size:14px;color:#1a253b;font-weight:500}.composite-field .edit-content[data-v-0967ae56],.composite-field .edit-content .config-item[data-v-0967ae56]{display:flex;flex-direction:column;gap:8px}.composite-field .edit-content .config-item label[data-v-0967ae56]{font-size:14px;font-weight:600;color:#1a253b}.composite-field .edit-content .config-item label.required[data-v-0967ae56]:after{content:"*";color:#ff4d4f;margin-left:4px}.composite-field .list-container[data-v-0967ae56]{display:flex;flex-direction:column;gap:8px}.composite-field .list-container .list-item[data-v-0967ae56]{background:#fff;border-radius:8px;padding:8px 12px;border:1px solid #e4e8ee;transition:all .25s cubic-bezier(.4,0,.2,1)}.composite-field .list-container .list-item[data-v-0967ae56]:hover{box-shadow:0 2px 8px #0000000f;border-color:#1377eb}.composite-field .list-container .list-item.selected[data-v-0967ae56]{border-color:#1377eb;background:#f0f7ff;box-shadow:0 0 0 2px #1377eb1a}.composite-field .action-buttons[data-v-0967ae56]{display:flex;gap:8px;justify-content:flex-end;padding-top:8px;border-top:1px solid #f0f2f5}.composite-field .action-buttons .ant-btn[data-v-0967ae56]{border-radius:6px;min-width:80px}.composite-field .action-buttons .ant-btn.ant-btn-primary[data-v-0967ae56]{box-shadow:0 2px 8px #1377eb33}.composite-field .action-buttons .ant-btn.ant-btn-primary[data-v-0967ae56]:hover{box-shadow:0 4px 12px #1377eb4d;transform:translateY(-1px)}.composite-field .help-text[data-v-0967ae56]{font-size:12px;color:#4e5d78;line-height:1.5;padding:8px 12px;background:#f5f7fa;border-radius:6px;border-left:3px solid #1377eb}.composite-field .help-text[data-v-0967ae56]:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#1377eb;margin-right:6px;vertical-align:middle}.composite-field .status-label[data-v-0967ae56]{font-size:12px;font-weight:500;padding:4px 12px;border-radius:12px;display:inline-flex;align-items:center;gap:4px}.composite-field .status-label.status-success[data-v-0967ae56]{background-color:#f6ffed;color:#52c41a}.composite-field .status-label.status-success[data-v-0967ae56]:before{content:"✓"}.composite-field .status-label.status-warning[data-v-0967ae56]{background-color:#fffbe6;color:#faad14}.composite-field .status-label.status-warning[data-v-0967ae56]:before{content:"!"}.composite-field .status-label.status-error[data-v-0967ae56]{background-color:#fff2f0;color:#ff4d4f}.composite-field .status-label.status-error[data-v-0967ae56]:before{content:"✕"}.composite-field .status-label.status-info[data-v-0967ae56]{background-color:#f5f7fa;color:#1377eb}.composite-field .status-label.status-info[data-v-0967ae56]:before{content:"ℹ"}.composite-field .empty-state-inline[data-v-0967ae56]{display:flex;flex-direction:column;align-items:center;padding:16px 12px;text-align:center}.composite-field .empty-state-inline .empty-icon[data-v-0967ae56]{font-size:48px;margin-bottom:12px;opacity:.5}.composite-field .empty-state-inline .empty-text[data-v-0967ae56]{font-size:14px;color:#4e5d78;margin-bottom:8px}@media(max-width:768px){.composite-field[data-v-0967ae56]{border-radius:10px}.composite-field .field-header[data-v-0967ae56]{margin-bottom:8px;padding-bottom:8px}.composite-field .field-header h3[data-v-0967ae56]{font-size:15px;padding-left:8px}.composite-field .config-section[data-v-0967ae56]{padding:10px;gap:10px}.composite-field .overview-card[data-v-0967ae56]{padding:12px}}@media(max-width:320px){.composite-field[data-v-0967ae56]{border-radius:8px}.composite-field .field-header h3[data-v-0967ae56]{font-size:14px}.composite-field .action-buttons[data-v-0967ae56]{flex-direction:column;gap:8px}.composite-field .action-buttons .ant-btn[data-v-0967ae56]{width:100%}}@media(prefers-reduced-motion:reduce){.composite-field[data-v-0967ae56]{transition:none}.composite-field[data-v-0967ae56]:hover{transition:none;transform:none}.composite-field .overview-card[data-v-0967ae56],.composite-field .list-item[data-v-0967ae56],.composite-field .ant-btn[data-v-0967ae56]{transition:none}.composite-field .overview-card[data-v-0967ae56]:hover,.composite-field .list-item[data-v-0967ae56]:hover,.composite-field .ant-btn[data-v-0967ae56]:hover{transform:none}}.composite-field[data-v-0967ae56] .ant-form-item{margin-bottom:8px}.composite-field[data-v-0967ae56] .ant-table{font-size:13px}.composite-field[data-v-0967ae56] .ant-table .ant-table-thead>tr>th,.composite-field[data-v-0967ae56] .ant-table .ant-table-tbody>tr>td{padding:6px 8px}.composite-field[data-v-0967ae56] .ant-table .ant-table-thead>tr>th{background:#f8fafc;font-weight:500;font-size:13px}.composite-field[data-v-0967ae56] .ant-table .ant-table-empty .ant-table-placeholder{padding:8px}.composite-field[data-v-0967ae56] .ant-checkbox-group{display:flex;flex-direction:column;gap:6px}.composite-field[data-v-0967ae56] .ant-checkbox-group .ant-checkbox-wrapper{margin:0;padding:2px 0;font-size:13px}.composite-field[data-v-0967ae56] .ant-radio-group{display:flex;flex-direction:column;gap:6px}.composite-field[data-v-0967ae56] .ant-radio-group .ant-radio-wrapper{font-size:13px}.composite-field[data-v-0967ae56] .ant-collapse .ant-collapse-header{padding:8px 12px!important;font-size:13px}.composite-field[data-v-0967ae56] .ant-collapse .ant-collapse-content>.ant-collapse-content-box{padding:8px 12px!important}.composite-field[data-v-0967ae56] .ant-input,.composite-field[data-v-0967ae56] .ant-select-selector,.composite-field[data-v-0967ae56] .ant-input-number{font-size:13px}.composite-field[data-v-0967ae56] .ant-btn{font-size:13px;height:28px;padding:0 10px}.composite-field[data-v-0967ae56] .ant-btn-sm{height:24px;padding:0 8px;font-size:12px}.composite-field[data-v-0967ae56] .ant-tabs .ant-tabs-nav{margin-bottom:8px}.composite-field[data-v-0967ae56] .ant-modal-footer{padding:8px 16px}.composite-field[data-v-0967ae56] .ant-alert{padding:6px 8px;font-size:13px}.composite-field[data-v-0967ae56] .ant-btn-link,.composite-field[data-v-0967ae56] .ant-btn-icon-only.ant-btn-link{color:#1377eb;padding:0 4px;height:auto;font-size:13px}.composite-field[data-v-0967ae56] .ant-btn-link:hover,.composite-field[data-v-0967ae56] .ant-btn-icon-only.ant-btn-link:hover{color:#1377eb;opacity:.85}.composite-field[data-v-0967ae56] .ant-btn-link:active,.composite-field[data-v-0967ae56] .ant-btn-icon-only.ant-btn-link:active{color:#096dd9}.composite-field[data-v-0967ae56] .ant-btn-link:disabled,.composite-field[data-v-0967ae56] .ant-btn-icon-only.ant-btn-link:disabled,.composite-field[data-v-0967ae56] .ant-btn-link[disabled],.composite-field[data-v-0967ae56] .ant-btn-icon-only.ant-btn-link[disabled]{color:#bcc1cc}.composite-field[data-v-0967ae56] .edit-icon,.composite-field[data-v-0967ae56] .action-edit{color:#1377eb;cursor:pointer;transition:color .2s ease,opacity .2s ease}.composite-field[data-v-0967ae56] .edit-icon:hover,.composite-field[data-v-0967ae56] .action-edit:hover{color:#1377eb}.composite-field[data-v-0967ae56] .ant-btn-text.ant-btn-dangerous,.composite-field[data-v-0967ae56] .ant-btn-link.ant-btn-dangerous{color:#ff4d4f;padding:0 4px;height:auto;font-size:13px}.composite-field[data-v-0967ae56] .ant-btn-text.ant-btn-dangerous:hover,.composite-field[data-v-0967ae56] .ant-btn-link.ant-btn-dangerous:hover{color:#ff4d4f;background:#ff4d4f14;opacity:.85}.composite-field[data-v-0967ae56] .ant-btn-text.ant-btn-dangerous:active,.composite-field[data-v-0967ae56] .ant-btn-link.ant-btn-dangerous:active{color:#cf4446;background:#ff4d4f1f}.composite-field[data-v-0967ae56] .ant-btn-text.ant-btn-dangerous:disabled,.composite-field[data-v-0967ae56] .ant-btn-link.ant-btn-dangerous:disabled,.composite-field[data-v-0967ae56] .ant-btn-text.ant-btn-dangerous[disabled],.composite-field[data-v-0967ae56] .ant-btn-link.ant-btn-dangerous[disabled]{color:#bcc1cc}.composite-field[data-v-0967ae56] .delete-icon,.composite-field[data-v-0967ae56] .action-delete,.composite-field[data-v-0967ae56] .delete-outlined,.composite-field[data-v-0967ae56] .anticon-delete,.composite-field[data-v-0967ae56] .anticon-delete-outlined{color:#ff4d4f;cursor:pointer;transition:color .2s ease}.composite-field[data-v-0967ae56] .delete-icon:hover,.composite-field[data-v-0967ae56] .action-delete:hover,.composite-field[data-v-0967ae56] .delete-outlined:hover,.composite-field[data-v-0967ae56] .anticon-delete:hover,.composite-field[data-v-0967ae56] .anticon-delete-outlined:hover{color:#cf4446}.composite-field[data-v-0967ae56] .ant-table .ant-btn-icon-only{padding:0;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center}.composite-field[data-v-0967ae56] .toolbar-icon,.composite-field[data-v-0967ae56] .header-icon{font-size:14px;vertical-align:middle}.config-template[data-v-0967ae56]{width:100%;background-color:#f9fbfd;border-radius:8px;padding:8px;box-shadow:0 2px 8px #0000000d}.config-template .config-header[data-v-0967ae56]{margin-bottom:8px}.config-template .config-header h3[data-v-0967ae56]{margin:0;font-size:16px;font-weight:600;color:#314659}.config-template .config-content[data-v-0967ae56]{display:flex;flex-direction:column;gap:8px}.config-template .config-content .form-item[data-v-0967ae56]{margin-bottom:0}.config-template .config-content .form-item .template-actions[data-v-0967ae56]{margin-top:12px;display:flex;gap:8px}.config-template .config-content .form-item .import-export-actions[data-v-0967ae56]{display:flex;gap:8px}.config-template .config-content .form-item .no-version[data-v-0967ae56]{text-align:center;color:#999;padding:20px 0}.config-template .share-modal p[data-v-0967ae56]{margin-bottom:8px;font-weight:500}.action-button[data-v-0967ae56]{border:none;background:none;padding:4px 8px;border-radius:4px}.action-button[type=link][data-v-0967ae56]{color:#1890ff}.action-button[type=link][data-v-0967ae56]:hover{color:#40a9ff;background-color:#e6f7ff}.action-button[type=text][danger][data-v-0967ae56]{color:#ff4d4f}.action-button[type=text][danger][data-v-0967ae56]:hover{color:#ff7875;background-color:#fff1f0}.scrollbar-sm[data-v-84acb2cb]::-webkit-scrollbar{width:6px;height:6px}.scrollbar-sm[data-v-84acb2cb] *::-webkit-scrollbar{width:6px;height:6px}.scroll-overlay[data-v-84acb2cb]::-webkit-scrollbar{overflow:overlay}.font-size-sm[data-v-84acb2cb]{font-size:12px}.font-size-normal[data-v-84acb2cb]{font-size:14px}.font-size-lg[data-v-84acb2cb]{font-size:16px}.primary-color[data-v-84acb2cb]{color:#1377eb}.primary-bgColor[data-v-84acb2cb]{background-color:#1377eb}.link-color[data-v-84acb2cb]{color:#1377eb}.success-color[data-v-84acb2cb]{color:#52c41a}.success-bgColor[data-v-84acb2cb]{background-color:#52c41a}.warning-color[data-v-84acb2cb]{color:#faad14}.error-color[data-v-84acb2cb]{color:#ff4d4f}.error-bgColor[data-v-84acb2cb]{background-color:#fff2f0}.label-color[data-v-84acb2cb]{color:#64748b}.heading-color[data-v-84acb2cb]{color:#1a253b}.heading-bgColor[data-v-84acb2cb]{background-color:#1a253b}.text-color[data-v-84acb2cb]{color:#1a253b}.text-color-secondary[data-v-84acb2cb]{color:#4e5d78}.disabled-color[data-v-84acb2cb]{color:#bcc1cc}.bgColor-light[data-v-84acb2cb],.table-head-bgColor[data-v-84acb2cb]{background-color:#f5f7fa}.hover-bg-color[data-v-84acb2cb]:hover{background-color:#f0f7ff}.icon-bg-color[data-v-84acb2cb]:hover{background-color:#e6f4ff}.padding-xs[data-v-84acb2cb]{padding:.25rem}.padding-s[data-v-84acb2cb]{padding:.5rem}.padding-l[data-v-84acb2cb]{padding:.75rem}.padding-xl[data-v-84acb2cb]{padding:1rem}.padding-xxl[data-v-84acb2cb]{padding:1.5rem}.padding-xxxl[data-v-84acb2cb]{padding:2rem}.margin-xs[data-v-84acb2cb]{margin:.25rem}.margin-s[data-v-84acb2cb]{margin:.5rem}.margin-l[data-v-84acb2cb]{margin:.75rem}.margin-xl[data-v-84acb2cb]{margin:1rem}.margin-xxl[data-v-84acb2cb]{margin:1.5rem}.margin-xxxl[data-v-84acb2cb]{margin:2rem}.a-link[data-v-84acb2cb]{display:inline-block;padding-left:2px;padding-right:2px;color:#1377eb;border-radius:6px}.a-link[data-v-84acb2cb]:hover{color:#3b99f7;background-color:#e6f4ff;cursor:pointer}.a-link[data-v-84acb2cb]:active{color:#0658c4;background-color:#fafbfc}.a-link--disabled[data-v-84acb2cb]{color:#bcc1cc}.a-link--disabled[data-v-84acb2cb]:hover,.a-link--disabled[data-v-84acb2cb]:active{color:#bcc1cc;background-color:transparent;cursor:not-allowed}.composite-field[data-v-84acb2cb]{width:100%;background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid transparent}.composite-field[data-v-84acb2cb]:hover{box-shadow:0 4px 16px #0000000f;border-color:#e4e8ee}.composite-field[data-v-84acb2cb]:focus-within{border-color:#1377eb;box-shadow:0 0 0 3px #1377eb14}.composite-field .field-header[data-v-84acb2cb]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid #f0f2f5}.composite-field .field-header h3[data-v-84acb2cb]{margin:0;font-size:16px;font-weight:600;color:#1a253b;letter-spacing:.3px;padding-left:8px;border-left:3px solid #1377eb}.composite-field .field-header .header-actions[data-v-84acb2cb]{display:flex;gap:8px}.composite-field .field-header .header-actions .ant-btn[data-v-84acb2cb]{border-radius:6px;transition:all .2s ease}.composite-field .field-header .header-actions .ant-btn[data-v-84acb2cb]:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.composite-field .field-content[data-v-84acb2cb]{display:flex;flex-direction:column;gap:8px}.composite-field .config-section[data-v-84acb2cb]{display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:8px;border:1px solid #f0f2f5}.composite-field .config-section h4[data-v-84acb2cb]{margin:0;font-size:14px;font-weight:600;color:#1a253b;display:flex;align-items:center;gap:8px}.composite-field .config-section h4[data-v-84acb2cb]:before{content:"";width:4px;height:16px;background:#1377eb;border-radius:2px}.composite-field .form-item[data-v-84acb2cb]{margin-bottom:0}.composite-field .form-item[data-v-84acb2cb]:not(:last-child){margin-bottom:6px}.composite-field .overview-card[data-v-84acb2cb]{background:#fff;border-radius:10px;padding:8px;border:1px solid #e4e8ee;transition:all .3s cubic-bezier(.4,0,.2,1)}.composite-field .overview-card[data-v-84acb2cb]:hover{box-shadow:0 4px 12px #00000014;border-color:#1377eb}.composite-field .overview-card .overview-content[data-v-84acb2cb]{display:flex;flex-direction:column;gap:8px}.composite-field .overview-card .overview-content .overview-item[data-v-84acb2cb]{display:flex;align-items:center;gap:8px}.composite-field .overview-card .overview-content .overview-item .overview-label[data-v-84acb2cb]{font-size:13px;font-weight:500;color:#64748b;min-width:100px}.composite-field .overview-card .overview-content .overview-item .overview-value[data-v-84acb2cb]{font-size:14px;color:#1a253b;font-weight:500}.composite-field .edit-content[data-v-84acb2cb],.composite-field .edit-content .config-item[data-v-84acb2cb]{display:flex;flex-direction:column;gap:8px}.composite-field .edit-content .config-item label[data-v-84acb2cb]{font-size:14px;font-weight:600;color:#1a253b}.composite-field .edit-content .config-item label.required[data-v-84acb2cb]:after{content:"*";color:#ff4d4f;margin-left:4px}.composite-field .list-container[data-v-84acb2cb]{display:flex;flex-direction:column;gap:8px}.composite-field .list-container .list-item[data-v-84acb2cb]{background:#fff;border-radius:8px;padding:8px 12px;border:1px solid #e4e8ee;transition:all .25s cubic-bezier(.4,0,.2,1)}.composite-field .list-container .list-item[data-v-84acb2cb]:hover{box-shadow:0 2px 8px #0000000f;border-color:#1377eb}.composite-field .list-container .list-item.selected[data-v-84acb2cb]{border-color:#1377eb;background:#f0f7ff;box-shadow:0 0 0 2px #1377eb1a}.composite-field .action-buttons[data-v-84acb2cb]{display:flex;gap:8px;justify-content:flex-end;padding-top:8px;border-top:1px solid #f0f2f5}.composite-field .action-buttons .ant-btn[data-v-84acb2cb]{border-radius:6px;min-width:80px}.composite-field .action-buttons .ant-btn.ant-btn-primary[data-v-84acb2cb]{box-shadow:0 2px 8px #1377eb33}.composite-field .action-buttons .ant-btn.ant-btn-primary[data-v-84acb2cb]:hover{box-shadow:0 4px 12px #1377eb4d;transform:translateY(-1px)}.composite-field .help-text[data-v-84acb2cb]{font-size:12px;color:#4e5d78;line-height:1.5;padding:8px 12px;background:#f5f7fa;border-radius:6px;border-left:3px solid #1377eb}.composite-field .help-text[data-v-84acb2cb]:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#1377eb;margin-right:6px;vertical-align:middle}.composite-field .status-label[data-v-84acb2cb]{font-size:12px;font-weight:500;padding:4px 12px;border-radius:12px;display:inline-flex;align-items:center;gap:4px}.composite-field .status-label.status-success[data-v-84acb2cb]{background-color:#f6ffed;color:#52c41a}.composite-field .status-label.status-success[data-v-84acb2cb]:before{content:"✓"}.composite-field .status-label.status-warning[data-v-84acb2cb]{background-color:#fffbe6;color:#faad14}.composite-field .status-label.status-warning[data-v-84acb2cb]:before{content:"!"}.composite-field .status-label.status-error[data-v-84acb2cb]{background-color:#fff2f0;color:#ff4d4f}.composite-field .status-label.status-error[data-v-84acb2cb]:before{content:"✕"}.composite-field .status-label.status-info[data-v-84acb2cb]{background-color:#f5f7fa;color:#1377eb}.composite-field .status-label.status-info[data-v-84acb2cb]:before{content:"ℹ"}.composite-field .empty-state-inline[data-v-84acb2cb]{display:flex;flex-direction:column;align-items:center;padding:16px 12px;text-align:center}.composite-field .empty-state-inline .empty-icon[data-v-84acb2cb]{font-size:48px;margin-bottom:12px;opacity:.5}.composite-field .empty-state-inline .empty-text[data-v-84acb2cb]{font-size:14px;color:#4e5d78;margin-bottom:8px}@media(max-width:768px){.composite-field[data-v-84acb2cb]{border-radius:10px}.composite-field .field-header[data-v-84acb2cb]{margin-bottom:8px;padding-bottom:8px}.composite-field .field-header h3[data-v-84acb2cb]{font-size:15px;padding-left:8px}.composite-field .config-section[data-v-84acb2cb]{padding:10px;gap:10px}.composite-field .overview-card[data-v-84acb2cb]{padding:12px}}@media(max-width:320px){.composite-field[data-v-84acb2cb]{border-radius:8px}.composite-field .field-header h3[data-v-84acb2cb]{font-size:14px}.composite-field .action-buttons[data-v-84acb2cb]{flex-direction:column;gap:8px}.composite-field .action-buttons .ant-btn[data-v-84acb2cb]{width:100%}}@media(prefers-reduced-motion:reduce){.composite-field[data-v-84acb2cb]{transition:none}.composite-field[data-v-84acb2cb]:hover{transition:none;transform:none}.composite-field .overview-card[data-v-84acb2cb],.composite-field .list-item[data-v-84acb2cb],.composite-field .ant-btn[data-v-84acb2cb]{transition:none}.composite-field .overview-card[data-v-84acb2cb]:hover,.composite-field .list-item[data-v-84acb2cb]:hover,.composite-field .ant-btn[data-v-84acb2cb]:hover{transform:none}}.composite-field[data-v-84acb2cb] .ant-form-item{margin-bottom:8px}.composite-field[data-v-84acb2cb] .ant-table{font-size:13px}.composite-field[data-v-84acb2cb] .ant-table .ant-table-thead>tr>th,.composite-field[data-v-84acb2cb] .ant-table .ant-table-tbody>tr>td{padding:6px 8px}.composite-field[data-v-84acb2cb] .ant-table .ant-table-thead>tr>th{background:#f8fafc;font-weight:500;font-size:13px}.composite-field[data-v-84acb2cb] .ant-table .ant-table-empty .ant-table-placeholder{padding:8px}.composite-field[data-v-84acb2cb] .ant-checkbox-group{display:flex;flex-direction:column;gap:6px}.composite-field[data-v-84acb2cb] .ant-checkbox-group .ant-checkbox-wrapper{margin:0;padding:2px 0;font-size:13px}.composite-field[data-v-84acb2cb] .ant-radio-group{display:flex;flex-direction:column;gap:6px}.composite-field[data-v-84acb2cb] .ant-radio-group .ant-radio-wrapper{font-size:13px}.composite-field[data-v-84acb2cb] .ant-collapse .ant-collapse-header{padding:8px 12px!important;font-size:13px}.composite-field[data-v-84acb2cb] .ant-collapse .ant-collapse-content>.ant-collapse-content-box{padding:8px 12px!important}.composite-field[data-v-84acb2cb] .ant-input,.composite-field[data-v-84acb2cb] .ant-select-selector,.composite-field[data-v-84acb2cb] .ant-input-number{font-size:13px}.composite-field[data-v-84acb2cb] .ant-btn{font-size:13px;height:28px;padding:0 10px}.composite-field[data-v-84acb2cb] .ant-btn-sm{height:24px;padding:0 8px;font-size:12px}.composite-field[data-v-84acb2cb] .ant-tabs .ant-tabs-nav{margin-bottom:8px}.composite-field[data-v-84acb2cb] .ant-modal-footer{padding:8px 16px}.composite-field[data-v-84acb2cb] .ant-alert{padding:6px 8px;font-size:13px}.composite-field[data-v-84acb2cb] .ant-btn-link,.composite-field[data-v-84acb2cb] .ant-btn-icon-only.ant-btn-link{color:#1377eb;padding:0 4px;height:auto;font-size:13px}.composite-field[data-v-84acb2cb] .ant-btn-link:hover,.composite-field[data-v-84acb2cb] .ant-btn-icon-only.ant-btn-link:hover{color:#1377eb;opacity:.85}.composite-field[data-v-84acb2cb] .ant-btn-link:active,.composite-field[data-v-84acb2cb] .ant-btn-icon-only.ant-btn-link:active{color:#096dd9}.composite-field[data-v-84acb2cb] .ant-btn-link:disabled,.composite-field[data-v-84acb2cb] .ant-btn-icon-only.ant-btn-link:disabled,.composite-field[data-v-84acb2cb] .ant-btn-link[disabled],.composite-field[data-v-84acb2cb] .ant-btn-icon-only.ant-btn-link[disabled]{color:#bcc1cc}.composite-field[data-v-84acb2cb] .edit-icon,.composite-field[data-v-84acb2cb] .action-edit{color:#1377eb;cursor:pointer;transition:color .2s ease,opacity .2s ease}.composite-field[data-v-84acb2cb] .edit-icon:hover,.composite-field[data-v-84acb2cb] .action-edit:hover{color:#1377eb}.composite-field[data-v-84acb2cb] .ant-btn-text.ant-btn-dangerous,.composite-field[data-v-84acb2cb] .ant-btn-link.ant-btn-dangerous{color:#ff4d4f;padding:0 4px;height:auto;font-size:13px}.composite-field[data-v-84acb2cb] .ant-btn-text.ant-btn-dangerous:hover,.composite-field[data-v-84acb2cb] .ant-btn-link.ant-btn-dangerous:hover{color:#ff4d4f;background:#ff4d4f14;opacity:.85}.composite-field[data-v-84acb2cb] .ant-btn-text.ant-btn-dangerous:active,.composite-field[data-v-84acb2cb] .ant-btn-link.ant-btn-dangerous:active{color:#cf4446;background:#ff4d4f1f}.composite-field[data-v-84acb2cb] .ant-btn-text.ant-btn-dangerous:disabled,.composite-field[data-v-84acb2cb] .ant-btn-link.ant-btn-dangerous:disabled,.composite-field[data-v-84acb2cb] .ant-btn-text.ant-btn-dangerous[disabled],.composite-field[data-v-84acb2cb] .ant-btn-link.ant-btn-dangerous[disabled]{color:#bcc1cc}.composite-field[data-v-84acb2cb] .delete-icon,.composite-field[data-v-84acb2cb] .action-delete,.composite-field[data-v-84acb2cb] .delete-outlined,.composite-field[data-v-84acb2cb] .anticon-delete,.composite-field[data-v-84acb2cb] .anticon-delete-outlined{color:#ff4d4f;cursor:pointer;transition:color .2s ease}.composite-field[data-v-84acb2cb] .delete-icon:hover,.composite-field[data-v-84acb2cb] .action-delete:hover,.composite-field[data-v-84acb2cb] .delete-outlined:hover,.composite-field[data-v-84acb2cb] .anticon-delete:hover,.composite-field[data-v-84acb2cb] .anticon-delete-outlined:hover{color:#cf4446}.composite-field[data-v-84acb2cb] .ant-table .ant-btn-icon-only{padding:0;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center}.composite-field[data-v-84acb2cb] .toolbar-icon,.composite-field[data-v-84acb2cb] .header-icon{font-size:14px;vertical-align:middle}.component-library[data-v-84acb2cb]{width:100%;background-color:#f9fbfd;border-radius:8px;padding:8px;box-shadow:0 2px 8px #0000000d}.component-library .config-header[data-v-84acb2cb]{margin-bottom:8px}.component-library .config-header h3[data-v-84acb2cb]{margin:0;font-size:16px;font-weight:600;color:#314659}.component-library .config-content[data-v-84acb2cb]{display:flex;flex-direction:column;gap:8px}.component-library .config-content .form-item[data-v-84acb2cb]{margin-bottom:0}.component-library .config-content .form-item .search-filter[data-v-84acb2cb]{display:flex;align-items:center}.component-library .config-content .form-item .component-actions[data-v-84acb2cb]{margin-top:12px;display:flex;gap:8px}.component-library .config-content .form-item .category-actions[data-v-84acb2cb]{margin-top:12px}.component-library .config-content .form-item .no-version[data-v-84acb2cb]{text-align:center;color:#999;padding:20px 0}.action-button[data-v-84acb2cb]{border:none;background:none;padding:4px 8px;border-radius:4px}.action-button[type=link][data-v-84acb2cb]{color:#1890ff}.action-button[type=link][data-v-84acb2cb]:hover{color:#40a9ff;background-color:#e6f7ff}.action-button[type=text][danger][data-v-84acb2cb]{color:#ff4d4f}.action-button[type=text][danger][data-v-84acb2cb]:hover{color:#ff7875;background-color:#fff1f0}.process-template[data-v-d78a1eb9]{width:100%;background-color:#f9fbfd;border-radius:8px;padding:8px;box-shadow:0 2px 8px #0000000d}.process-template .config-header[data-v-d78a1eb9]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.process-template .config-header h3[data-v-d78a1eb9]{margin:0;font-size:16px;font-weight:600;color:#314659}.process-template .config-header .header-actions[data-v-d78a1eb9]{display:flex;gap:8px}.process-template .config-content .tab-content[data-v-d78a1eb9]{padding-top:8px}.process-template .config-content .search-filter-bar[data-v-d78a1eb9]{display:flex;align-items:center;margin-bottom:8px;flex-wrap:wrap;gap:8px}.process-template .config-content .category-actions[data-v-d78a1eb9]{margin-bottom:8px}.process-template .config-content .template-name-cell[data-v-d78a1eb9]{display:flex;align-items:center}.process-template .config-content .template-name-cell .name[data-v-d78a1eb9]{font-weight:500}.process-template .config-content .category-name-cell[data-v-d78a1eb9]{display:flex;align-items:center}.process-template .config-content .version-tag[data-v-d78a1eb9]{font-family:Monaco,Menlo,monospace;background:#f0f0f0;padding:2px 8px;border-radius:4px;font-size:12px}.process-template .version-item .version-header[data-v-d78a1eb9]{display:flex;align-items:center;gap:12px;margin-bottom:8px}.process-template .version-item .version-header .version-tag[data-v-d78a1eb9]{font-weight:600}.process-template .version-item .version-header .version-date[data-v-d78a1eb9]{color:#999;font-size:12px}.process-template .version-item .version-description[data-v-d78a1eb9]{color:#666;margin-bottom:8px}.process-template .version-item .version-actions[data-v-d78a1eb9]{display:flex;gap:8px}.process-template .template-preview .preview-diagram h4[data-v-d78a1eb9]{margin:0 0 12px;font-size:14px;font-weight:600}.process-template .template-preview .preview-diagram .diagram-placeholder[data-v-d78a1eb9]{border:1px dashed #e8e8e8;border-radius:8px;padding:24px 20px;text-align:center;color:#999;background:#fafafa}.action-button[data-v-d78a1eb9]{border:none;background:none;padding:4px 8px;border-radius:4px}.action-button[type=link][data-v-d78a1eb9]{color:#1890ff}.action-button[type=link][data-v-d78a1eb9]:hover{color:#40a9ff;background-color:#e6f7ff}.action-button[type=text][danger][data-v-d78a1eb9]{color:#ff4d4f}.action-button[type=text][danger][data-v-d78a1eb9]:hover{color:#ff7875;background-color:#fff1f0}.ai-process-advisor[data-v-c15da348]{width:100%;background-color:#f9fbfd;border-radius:8px;padding:8px;box-shadow:0 2px 8px #0000000d}.ai-process-advisor .config-header[data-v-c15da348]{margin-bottom:8px}.ai-process-advisor .config-header h3[data-v-c15da348]{margin:0;font-size:16px;font-weight:600;color:#314659}.ai-process-advisor .config-content[data-v-c15da348]{display:flex;flex-direction:column;gap:8px}.ai-process-advisor .config-content .form-item[data-v-c15da348]{margin-bottom:0}.ai-process-advisor .config-content .form-item .analysis-controls[data-v-c15da348]{display:flex;align-items:center}.ai-process-advisor .config-content .form-item .analysis-results[data-v-c15da348]{margin-top:8px}.ai-process-advisor .config-content .form-item .analysis-results .result-content[data-v-c15da348]{padding:8px}.ai-process-advisor .config-content .form-item .analysis-results .result-content .result-type[data-v-c15da348]{margin-bottom:8px}.ai-process-advisor .config-content .form-item .analysis-results .result-content .result-description[data-v-c15da348]{margin-bottom:8px;line-height:1.5}.ai-process-advisor .config-content .form-item .analysis-results .result-content .result-suggestion[data-v-c15da348],.ai-process-advisor .config-content .form-item .analysis-results .result-content .result-impact[data-v-c15da348]{margin-bottom:8px}.ai-process-advisor .config-content .form-item .analysis-results .result-content .result-suggestion h5[data-v-c15da348],.ai-process-advisor .config-content .form-item .analysis-results .result-content .result-impact h5[data-v-c15da348]{margin:0 0 8px;font-size:14px;font-weight:600}.ai-process-advisor .config-content .form-item .analysis-results .result-content .result-suggestion p[data-v-c15da348],.ai-process-advisor .config-content .form-item .analysis-results .result-content .result-impact p[data-v-c15da348]{margin:0;line-height:1.5}.ai-process-advisor .config-content .form-item .analysis-results .result-content .result-actions[data-v-c15da348]{display:flex;gap:8px;margin-top:8px}.ai-process-advisor .config-content .form-item .design-assistant .design-actions[data-v-c15da348]{margin:12px 0;display:flex;gap:8px}.ai-process-advisor .config-content .form-item .design-assistant .design-result[data-v-c15da348]{margin-top:8px;padding:8px;border:1px solid #e8e8e8;border-radius:4px;background-color:#f5f5f5}.ai-process-advisor .config-content .form-item .design-assistant .design-result h4[data-v-c15da348]{margin:0 0 12px;font-size:14px;font-weight:600}.ai-process-advisor .config-content .form-item .design-assistant .design-result .design-content[data-v-c15da348]{margin-bottom:8px;line-height:1.5;white-space:pre-wrap}.ai-process-advisor .config-content .form-item .health-score[data-v-c15da348]{display:flex;gap:12px;align-items:flex-start}.ai-process-advisor .config-content .form-item .health-score .score-card[data-v-c15da348]{flex:1;text-align:center;padding:12px;border:1px solid #e8e8e8;border-radius:8px;background-color:#fff}.ai-process-advisor .config-content .form-item .health-score .score-card .score-value[data-v-c15da348]{font-size:32px;font-weight:600;color:#1890ff;margin-bottom:8px}.ai-process-advisor .config-content .form-item .health-score .score-card .score-label[data-v-c15da348]{font-size:14px;color:#666;margin-bottom:8px}.ai-process-advisor .config-content .form-item .health-score .score-card .score-bar[data-v-c15da348]{height:8px;background-color:#f0f0f0;border-radius:4px;overflow:hidden}.ai-process-advisor .config-content .form-item .health-score .score-card .score-bar .score-progress[data-v-c15da348]{height:100%;transition:width .3s ease}.ai-process-advisor .config-content .form-item .health-score .health-details[data-v-c15da348]{flex:1;display:flex;flex-direction:column;gap:12px}.ai-process-advisor .config-content .form-item .health-score .health-details .health-item[data-v-c15da348]{display:flex;justify-content:space-between}.ai-process-advisor .config-content .form-item .health-score .health-details .health-item .health-label[data-v-c15da348]{font-size:14px;color:#666}.ai-process-advisor .config-content .form-item .health-score .health-details .health-item .health-value[data-v-c15da348]{font-size:14px;font-weight:600;color:#333}.intelligent-routing[data-v-eb57e59b]{width:100%;background-color:#f9fbfd;border-radius:8px;padding:8px;box-shadow:0 2px 8px #0000000d}.intelligent-routing .config-header[data-v-eb57e59b]{margin-bottom:8px}.intelligent-routing .config-header h3[data-v-eb57e59b]{margin:0;font-size:16px;font-weight:600;color:#314659}.intelligent-routing .config-content[data-v-eb57e59b]{display:flex;flex-direction:column;gap:8px}.intelligent-routing .config-content .form-item[data-v-eb57e59b]{margin-bottom:0}.intelligent-routing .config-content .form-item .rule-config[data-v-eb57e59b],.intelligent-routing .config-content .form-item .ai-config[data-v-eb57e59b],.intelligent-routing .config-content .form-item .decision-matrix[data-v-eb57e59b],.intelligent-routing .config-content .form-item .simulation[data-v-eb57e59b]{margin-top:8px}.intelligent-routing .config-content .form-item .simulation-result[data-v-eb57e59b]{margin-top:8px;padding:8px;border:1px solid #e8e8e8;border-radius:4px;background-color:#f5f5f5}.intelligent-routing .config-content .form-item .simulation-result h4[data-v-eb57e59b]{margin:0 0 12px;font-size:14px;font-weight:600}.intelligent-routing .config-content .form-item .simulation-result .result-content[data-v-eb57e59b]{line-height:1.5}.intelligent-routing .config-content .form-item .simulation-result .result-content p[data-v-eb57e59b]{margin:4px 0}.intelligent-routing .config-content .form-item .routing-stats[data-v-eb57e59b]{display:flex;gap:8px;flex-wrap:wrap}.intelligent-routing .config-content .form-item .routing-stats .ant-card[data-v-eb57e59b]{flex:1;min-width:200px}.intelligent-routing .config-content .form-item .routing-stats .ant-card .stat-description[data-v-eb57e59b]{margin-top:8px;font-size:12px;color:#666}.action-button[data-v-eb57e59b]{border:none;background:none;padding:4px 8px;border-radius:4px}.action-button[type=link][data-v-eb57e59b]{color:#1890ff}.action-button[type=link][data-v-eb57e59b]:hover{color:#40a9ff;background-color:#e6f7ff}.action-button[type=text][danger][data-v-eb57e59b]{color:#ff4d4f}.action-button[type=text][danger][data-v-eb57e59b]:hover{color:#ff7875;background-color:#fff1f0}.process-simulation[data-v-92f21ac0]{width:100%;background-color:#f9fbfd;border-radius:8px;padding:8px;box-shadow:0 2px 8px #0000000d}.process-simulation .config-header[data-v-92f21ac0]{margin-bottom:8px}.process-simulation .config-header h3[data-v-92f21ac0]{margin:0;font-size:16px;font-weight:600;color:#314659}.process-simulation .config-content[data-v-92f21ac0]{display:flex;flex-direction:column;gap:8px}.process-simulation .config-content .form-item[data-v-92f21ac0]{margin-bottom:0}.process-simulation .config-content .form-item .simulation-controls[data-v-92f21ac0]{display:flex;align-items:center}.process-simulation .config-content .form-item .simulation-status[data-v-92f21ac0]{margin-top:8px}.process-simulation .config-content .form-item .simulation-status .status-info[data-v-92f21ac0]{margin-top:12px;display:flex;gap:12px}.process-simulation .config-content .form-item .simulation-status .status-info p[data-v-92f21ac0]{margin:0;font-size:14px}.process-simulation .config-content .form-item .result-summary[data-v-92f21ac0]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.process-simulation .config-content .form-item .result-charts[data-v-92f21ac0]{display:flex;gap:12px}.process-simulation .config-content .form-item .result-charts .chart-item[data-v-92f21ac0]{flex:1}.process-simulation .config-content .form-item .result-charts .chart-item h4[data-v-92f21ac0]{margin:0 0 16px;font-size:14px;font-weight:600}.process-simulation .config-content .form-item .bottleneck-content[data-v-92f21ac0]{padding:8px}.process-simulation .config-content .form-item .bottleneck-content p[data-v-92f21ac0]{margin:8px 0;line-height:1.5}.process-simulation .config-content .form-item .suggestion-actions[data-v-92f21ac0]{display:flex;gap:8px}.process-monitoring[data-v-bea3aef6]{width:100%;background-color:#f9fbfd;border-radius:8px;padding:8px;box-shadow:0 2px 8px #0000000d}.process-monitoring .config-header[data-v-bea3aef6]{margin-bottom:8px}.process-monitoring .config-header h3[data-v-bea3aef6]{margin:0;font-size:16px;font-weight:600;color:#314659}.process-monitoring .config-content[data-v-bea3aef6]{display:flex;flex-direction:column;gap:8px}.process-monitoring .config-content .form-item[data-v-bea3aef6]{margin-bottom:0}.process-monitoring .config-content .form-item .metrics-config[data-v-bea3aef6]{margin-top:8px}.process-monitoring .config-content .form-item .metrics-config .ant-checkbox-group[data-v-bea3aef6]{display:flex;flex-wrap:wrap;gap:8px}.process-monitoring .config-content .form-item .dashboard-grid[data-v-bea3aef6]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;margin-top:8px}.process-monitoring .config-content .form-item .dashboard-grid .dashboard-card[data-v-bea3aef6]{background-color:#fff;border:1px solid #e8e8e8;border-radius:8px;padding:8px;text-align:center}.process-monitoring .config-content .form-item .dashboard-grid .dashboard-card h4[data-v-bea3aef6]{margin:0 0 12px;font-size:14px;font-weight:600;color:#666}.process-monitoring .config-content .form-item .dashboard-grid .dashboard-card .metric-value[data-v-bea3aef6]{font-size:24px;font-weight:600;color:#333;margin-bottom:8px}.process-monitoring .config-content .form-item .dashboard-grid .dashboard-card .metric-trend[data-v-bea3aef6]{font-size:12px}.process-monitoring .config-content .form-item .dashboard-grid .dashboard-card .metric-trend .trend-up[data-v-bea3aef6]{color:#f5222d}.process-monitoring .config-content .form-item .dashboard-grid .dashboard-card .metric-trend .trend-down[data-v-bea3aef6]{color:#52c41a}.process-monitoring .config-content .form-item .dashboard-grid .dashboard-card .metric-trend .trend-stable[data-v-bea3aef6]{color:#1890ff}.process-monitoring .config-content .form-item .realtime-data[data-v-bea3aef6]{margin-top:8px;padding:8px;border:1px solid #e8e8e8;border-radius:8px;background-color:#f5f5f5}.process-monitoring .config-content .form-item .realtime-data h4[data-v-bea3aef6]{margin:0 0 12px;font-size:14px;font-weight:600}.process-monitoring .config-content .form-item .realtime-data .realtime-stats[data-v-bea3aef6]{display:flex;flex-wrap:wrap;gap:8px}.process-monitoring .config-content .form-item .realtime-data .realtime-stats .stat-item[data-v-bea3aef6]{display:flex;align-items:center}.process-monitoring .config-content .form-item .realtime-data .realtime-stats .stat-item .stat-label[data-v-bea3aef6]{font-size:14px;color:#666;margin-right:8px}.process-monitoring .config-content .form-item .realtime-data .realtime-stats .stat-item .stat-value[data-v-bea3aef6]{font-size:14px;font-weight:600;color:#333}.action-button[data-v-bea3aef6]{border:none;background:none;padding:4px 8px;border-radius:4px}.action-button[type=link][data-v-bea3aef6]{color:#1890ff}.action-button[type=link][data-v-bea3aef6]:hover{color:#40a9ff;background-color:#e6f7ff}.action-button[type=text][danger][data-v-bea3aef6]{color:#ff4d4f}.action-button[type=text][danger][data-v-bea3aef6]:hover{color:#ff7875;background-color:#fff1f0}.scrollbar-sm[data-v-c34274e7]::-webkit-scrollbar{width:6px;height:6px}.scrollbar-sm[data-v-c34274e7] *::-webkit-scrollbar{width:6px;height:6px}.scroll-overlay[data-v-c34274e7]::-webkit-scrollbar{overflow:overlay}.font-size-sm[data-v-c34274e7]{font-size:12px}.font-size-normal[data-v-c34274e7]{font-size:14px}.font-size-lg[data-v-c34274e7]{font-size:16px}.primary-color[data-v-c34274e7]{color:#1377eb}.primary-bgColor[data-v-c34274e7]{background-color:#1377eb}.link-color[data-v-c34274e7]{color:#1377eb}.success-color[data-v-c34274e7]{color:#52c41a}.success-bgColor[data-v-c34274e7]{background-color:#52c41a}.warning-color[data-v-c34274e7]{color:#faad14}.error-color[data-v-c34274e7]{color:#ff4d4f}.error-bgColor[data-v-c34274e7]{background-color:#fff2f0}.label-color[data-v-c34274e7]{color:#64748b}.heading-color[data-v-c34274e7]{color:#1a253b}.heading-bgColor[data-v-c34274e7]{background-color:#1a253b}.text-color[data-v-c34274e7]{color:#1a253b}.text-color-secondary[data-v-c34274e7]{color:#4e5d78}.disabled-color[data-v-c34274e7]{color:#bcc1cc}.bgColor-light[data-v-c34274e7],.table-head-bgColor[data-v-c34274e7]{background-color:#f5f7fa}.hover-bg-color[data-v-c34274e7]:hover{background-color:#f0f7ff}.icon-bg-color[data-v-c34274e7]:hover{background-color:#e6f4ff}.padding-xs[data-v-c34274e7]{padding:.25rem}.padding-s[data-v-c34274e7]{padding:.5rem}.padding-l[data-v-c34274e7]{padding:.75rem}.padding-xl[data-v-c34274e7]{padding:1rem}.padding-xxl[data-v-c34274e7]{padding:1.5rem}.padding-xxxl[data-v-c34274e7]{padding:2rem}.margin-xs[data-v-c34274e7]{margin:.25rem}.margin-s[data-v-c34274e7]{margin:.5rem}.margin-l[data-v-c34274e7]{margin:.75rem}.margin-xl[data-v-c34274e7]{margin:1rem}.margin-xxl[data-v-c34274e7]{margin:1.5rem}.margin-xxxl[data-v-c34274e7]{margin:2rem}.a-link[data-v-c34274e7]{display:inline-block;padding-left:2px;padding-right:2px;color:#1377eb;border-radius:6px}.a-link[data-v-c34274e7]:hover{color:#3b99f7;background-color:#e6f4ff;cursor:pointer}.a-link[data-v-c34274e7]:active{color:#0658c4;background-color:#fafbfc}.a-link--disabled[data-v-c34274e7]{color:#bcc1cc}.a-link--disabled[data-v-c34274e7]:hover,.a-link--disabled[data-v-c34274e7]:active{color:#bcc1cc;background-color:transparent;cursor:not-allowed}.composite-field[data-v-c34274e7]{width:100%;background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid transparent}.composite-field[data-v-c34274e7]:hover{box-shadow:0 4px 16px #0000000f;border-color:#e4e8ee}.composite-field[data-v-c34274e7]:focus-within{border-color:#1377eb;box-shadow:0 0 0 3px #1377eb14}.composite-field .field-header[data-v-c34274e7]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid #f0f2f5}.composite-field .field-header h3[data-v-c34274e7]{margin:0;font-size:16px;font-weight:600;color:#1a253b;letter-spacing:.3px;padding-left:8px;border-left:3px solid #1377eb}.composite-field .field-header .header-actions[data-v-c34274e7]{display:flex;gap:8px}.composite-field .field-header .header-actions .ant-btn[data-v-c34274e7]{border-radius:6px;transition:all .2s ease}.composite-field .field-header .header-actions .ant-btn[data-v-c34274e7]:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.composite-field .field-content[data-v-c34274e7]{display:flex;flex-direction:column;gap:8px}.composite-field .config-section[data-v-c34274e7]{display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:8px;border:1px solid #f0f2f5}.composite-field .config-section h4[data-v-c34274e7]{margin:0;font-size:14px;font-weight:600;color:#1a253b;display:flex;align-items:center;gap:8px}.composite-field .config-section h4[data-v-c34274e7]:before{content:"";width:4px;height:16px;background:#1377eb;border-radius:2px}.composite-field .form-item[data-v-c34274e7]{margin-bottom:0}.composite-field .form-item[data-v-c34274e7]:not(:last-child){margin-bottom:6px}.composite-field .overview-card[data-v-c34274e7]{background:#fff;border-radius:10px;padding:8px;border:1px solid #e4e8ee;transition:all .3s cubic-bezier(.4,0,.2,1)}.composite-field .overview-card[data-v-c34274e7]:hover{box-shadow:0 4px 12px #00000014;border-color:#1377eb}.composite-field .overview-card .overview-content[data-v-c34274e7]{display:flex;flex-direction:column;gap:8px}.composite-field .overview-card .overview-content .overview-item[data-v-c34274e7]{display:flex;align-items:center;gap:8px}.composite-field .overview-card .overview-content .overview-item .overview-label[data-v-c34274e7]{font-size:13px;font-weight:500;color:#64748b;min-width:100px}.composite-field .overview-card .overview-content .overview-item .overview-value[data-v-c34274e7]{font-size:14px;color:#1a253b;font-weight:500}.composite-field .edit-content[data-v-c34274e7],.composite-field .edit-content .config-item[data-v-c34274e7]{display:flex;flex-direction:column;gap:8px}.composite-field .edit-content .config-item label[data-v-c34274e7]{font-size:14px;font-weight:600;color:#1a253b}.composite-field .edit-content .config-item label.required[data-v-c34274e7]:after{content:"*";color:#ff4d4f;margin-left:4px}.composite-field .list-container[data-v-c34274e7]{display:flex;flex-direction:column;gap:8px}.composite-field .list-container .list-item[data-v-c34274e7]{background:#fff;border-radius:8px;padding:8px 12px;border:1px solid #e4e8ee;transition:all .25s cubic-bezier(.4,0,.2,1)}.composite-field .list-container .list-item[data-v-c34274e7]:hover{box-shadow:0 2px 8px #0000000f;border-color:#1377eb}.composite-field .list-container .list-item.selected[data-v-c34274e7]{border-color:#1377eb;background:#f0f7ff;box-shadow:0 0 0 2px #1377eb1a}.composite-field .action-buttons[data-v-c34274e7]{display:flex;gap:8px;justify-content:flex-end;padding-top:8px;border-top:1px solid #f0f2f5}.composite-field .action-buttons .ant-btn[data-v-c34274e7]{border-radius:6px;min-width:80px}.composite-field .action-buttons .ant-btn.ant-btn-primary[data-v-c34274e7]{box-shadow:0 2px 8px #1377eb33}.composite-field .action-buttons .ant-btn.ant-btn-primary[data-v-c34274e7]:hover{box-shadow:0 4px 12px #1377eb4d;transform:translateY(-1px)}.composite-field .help-text[data-v-c34274e7]{font-size:12px;color:#4e5d78;line-height:1.5;padding:8px 12px;background:#f5f7fa;border-radius:6px;border-left:3px solid #1377eb}.composite-field .help-text[data-v-c34274e7]:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#1377eb;margin-right:6px;vertical-align:middle}.composite-field .status-label[data-v-c34274e7]{font-size:12px;font-weight:500;padding:4px 12px;border-radius:12px;display:inline-flex;align-items:center;gap:4px}.composite-field .status-label.status-success[data-v-c34274e7]{background-color:#f6ffed;color:#52c41a}.composite-field .status-label.status-success[data-v-c34274e7]:before{content:"✓"}.composite-field .status-label.status-warning[data-v-c34274e7]{background-color:#fffbe6;color:#faad14}.composite-field .status-label.status-warning[data-v-c34274e7]:before{content:"!"}.composite-field .status-label.status-error[data-v-c34274e7]{background-color:#fff2f0;color:#ff4d4f}.composite-field .status-label.status-error[data-v-c34274e7]:before{content:"✕"}.composite-field .status-label.status-info[data-v-c34274e7]{background-color:#f5f7fa;color:#1377eb}.composite-field .status-label.status-info[data-v-c34274e7]:before{content:"ℹ"}.composite-field .empty-state-inline[data-v-c34274e7]{display:flex;flex-direction:column;align-items:center;padding:16px 12px;text-align:center}.composite-field .empty-state-inline .empty-icon[data-v-c34274e7]{font-size:48px;margin-bottom:12px;opacity:.5}.composite-field .empty-state-inline .empty-text[data-v-c34274e7]{font-size:14px;color:#4e5d78;margin-bottom:8px}@media(max-width:768px){.composite-field[data-v-c34274e7]{border-radius:10px}.composite-field .field-header[data-v-c34274e7]{margin-bottom:8px;padding-bottom:8px}.composite-field .field-header h3[data-v-c34274e7]{font-size:15px;padding-left:8px}.composite-field .config-section[data-v-c34274e7]{padding:10px;gap:10px}.composite-field .overview-card[data-v-c34274e7]{padding:12px}}@media(max-width:320px){.composite-field[data-v-c34274e7]{border-radius:8px}.composite-field .field-header h3[data-v-c34274e7]{font-size:14px}.composite-field .action-buttons[data-v-c34274e7]{flex-direction:column;gap:8px}.composite-field .action-buttons .ant-btn[data-v-c34274e7]{width:100%}}@media(prefers-reduced-motion:reduce){.composite-field[data-v-c34274e7]{transition:none}.composite-field[data-v-c34274e7]:hover{transition:none;transform:none}.composite-field .overview-card[data-v-c34274e7],.composite-field .list-item[data-v-c34274e7],.composite-field .ant-btn[data-v-c34274e7]{transition:none}.composite-field .overview-card[data-v-c34274e7]:hover,.composite-field .list-item[data-v-c34274e7]:hover,.composite-field .ant-btn[data-v-c34274e7]:hover{transform:none}}.composite-field[data-v-c34274e7] .ant-form-item{margin-bottom:8px}.composite-field[data-v-c34274e7] .ant-table{font-size:13px}.composite-field[data-v-c34274e7] .ant-table .ant-table-thead>tr>th,.composite-field[data-v-c34274e7] .ant-table .ant-table-tbody>tr>td{padding:6px 8px}.composite-field[data-v-c34274e7] .ant-table .ant-table-thead>tr>th{background:#f8fafc;font-weight:500;font-size:13px}.composite-field[data-v-c34274e7] .ant-table .ant-table-empty .ant-table-placeholder{padding:8px}.composite-field[data-v-c34274e7] .ant-checkbox-group{display:flex;flex-direction:column;gap:6px}.composite-field[data-v-c34274e7] .ant-checkbox-group .ant-checkbox-wrapper{margin:0;padding:2px 0;font-size:13px}.composite-field[data-v-c34274e7] .ant-radio-group{display:flex;flex-direction:column;gap:6px}.composite-field[data-v-c34274e7] .ant-radio-group .ant-radio-wrapper{font-size:13px}.composite-field[data-v-c34274e7] .ant-collapse .ant-collapse-header{padding:8px 12px!important;font-size:13px}.composite-field[data-v-c34274e7] .ant-collapse .ant-collapse-content>.ant-collapse-content-box{padding:8px 12px!important}.composite-field[data-v-c34274e7] .ant-input,.composite-field[data-v-c34274e7] .ant-select-selector,.composite-field[data-v-c34274e7] .ant-input-number{font-size:13px}.composite-field[data-v-c34274e7] .ant-btn{font-size:13px;height:28px;padding:0 10px}.composite-field[data-v-c34274e7] .ant-btn-sm{height:24px;padding:0 8px;font-size:12px}.composite-field[data-v-c34274e7] .ant-tabs .ant-tabs-nav{margin-bottom:8px}.composite-field[data-v-c34274e7] .ant-modal-footer{padding:8px 16px}.composite-field[data-v-c34274e7] .ant-alert{padding:6px 8px;font-size:13px}.composite-field[data-v-c34274e7] .ant-btn-link,.composite-field[data-v-c34274e7] .ant-btn-icon-only.ant-btn-link{color:#1377eb;padding:0 4px;height:auto;font-size:13px}.composite-field[data-v-c34274e7] .ant-btn-link:hover,.composite-field[data-v-c34274e7] .ant-btn-icon-only.ant-btn-link:hover{color:#1377eb;opacity:.85}.composite-field[data-v-c34274e7] .ant-btn-link:active,.composite-field[data-v-c34274e7] .ant-btn-icon-only.ant-btn-link:active{color:#096dd9}.composite-field[data-v-c34274e7] .ant-btn-link:disabled,.composite-field[data-v-c34274e7] .ant-btn-icon-only.ant-btn-link:disabled,.composite-field[data-v-c34274e7] .ant-btn-link[disabled],.composite-field[data-v-c34274e7] .ant-btn-icon-only.ant-btn-link[disabled]{color:#bcc1cc}.composite-field[data-v-c34274e7] .edit-icon,.composite-field[data-v-c34274e7] .action-edit{color:#1377eb;cursor:pointer;transition:color .2s ease,opacity .2s ease}.composite-field[data-v-c34274e7] .edit-icon:hover,.composite-field[data-v-c34274e7] .action-edit:hover{color:#1377eb}.composite-field[data-v-c34274e7] .ant-btn-text.ant-btn-dangerous,.composite-field[data-v-c34274e7] .ant-btn-link.ant-btn-dangerous{color:#ff4d4f;padding:0 4px;height:auto;font-size:13px}.composite-field[data-v-c34274e7] .ant-btn-text.ant-btn-dangerous:hover,.composite-field[data-v-c34274e7] .ant-btn-link.ant-btn-dangerous:hover{color:#ff4d4f;background:#ff4d4f14;opacity:.85}.composite-field[data-v-c34274e7] .ant-btn-text.ant-btn-dangerous:active,.composite-field[data-v-c34274e7] .ant-btn-link.ant-btn-dangerous:active{color:#cf4446;background:#ff4d4f1f}.composite-field[data-v-c34274e7] .ant-btn-text.ant-btn-dangerous:disabled,.composite-field[data-v-c34274e7] .ant-btn-link.ant-btn-dangerous:disabled,.composite-field[data-v-c34274e7] .ant-btn-text.ant-btn-dangerous[disabled],.composite-field[data-v-c34274e7] .ant-btn-link.ant-btn-dangerous[disabled]{color:#bcc1cc}.composite-field[data-v-c34274e7] .delete-icon,.composite-field[data-v-c34274e7] .action-delete,.composite-field[data-v-c34274e7] .delete-outlined,.composite-field[data-v-c34274e7] .anticon-delete,.composite-field[data-v-c34274e7] .anticon-delete-outlined{color:#ff4d4f;cursor:pointer;transition:color .2s ease}.composite-field[data-v-c34274e7] .delete-icon:hover,.composite-field[data-v-c34274e7] .action-delete:hover,.composite-field[data-v-c34274e7] .delete-outlined:hover,.composite-field[data-v-c34274e7] .anticon-delete:hover,.composite-field[data-v-c34274e7] .anticon-delete-outlined:hover{color:#cf4446}.composite-field[data-v-c34274e7] .ant-table .ant-btn-icon-only{padding:0;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center}.composite-field[data-v-c34274e7] .toolbar-icon,.composite-field[data-v-c34274e7] .header-icon{font-size:14px;vertical-align:middle}.approver-config .person-selector[data-v-c34274e7]{margin-top:8px}.approver-config .person-selector .ant-checkbox-group[data-v-c34274e7]{display:flex;flex-wrap:wrap;gap:8px}.approver-config .dynamic-config[data-v-c34274e7]{margin-top:8px}.approver-config .uel-expression-config[data-v-c34274e7]{margin-top:8px;padding:12px;border:1px dashed #d9d9d9;border-radius:4px}.approver-config .group-management[data-v-c34274e7],.approver-config .advanced-config[data-v-c34274e7]{margin-top:8px}.action-button[data-v-c34274e7]{border:none;background:none;padding:4px 8px;border-radius:4px}.action-button[type=link][data-v-c34274e7]{color:#1890ff}.action-button[type=link][data-v-c34274e7]:hover{color:#40a9ff;background-color:#e6f7ff}.action-button[type=text][danger][data-v-c34274e7]{color:#ff4d4f}.action-button[type=text][danger][data-v-c34274e7]:hover{color:#ff7875;background-color:#fff1f0}.scrollbar-sm[data-v-9573109b]::-webkit-scrollbar{width:6px;height:6px}.scrollbar-sm[data-v-9573109b] *::-webkit-scrollbar{width:6px;height:6px}.scroll-overlay[data-v-9573109b]::-webkit-scrollbar{overflow:overlay}.font-size-sm[data-v-9573109b]{font-size:12px}.font-size-normal[data-v-9573109b]{font-size:14px}.font-size-lg[data-v-9573109b]{font-size:16px}.primary-color[data-v-9573109b]{color:#1377eb}.primary-bgColor[data-v-9573109b]{background-color:#1377eb}.link-color[data-v-9573109b]{color:#1377eb}.success-color[data-v-9573109b]{color:#52c41a}.success-bgColor[data-v-9573109b]{background-color:#52c41a}.warning-color[data-v-9573109b]{color:#faad14}.error-color[data-v-9573109b]{color:#ff4d4f}.error-bgColor[data-v-9573109b]{background-color:#fff2f0}.label-color[data-v-9573109b]{color:#64748b}.heading-color[data-v-9573109b]{color:#1a253b}.heading-bgColor[data-v-9573109b]{background-color:#1a253b}.text-color[data-v-9573109b]{color:#1a253b}.text-color-secondary[data-v-9573109b]{color:#4e5d78}.disabled-color[data-v-9573109b]{color:#bcc1cc}.bgColor-light[data-v-9573109b],.table-head-bgColor[data-v-9573109b]{background-color:#f5f7fa}.hover-bg-color[data-v-9573109b]:hover{background-color:#f0f7ff}.icon-bg-color[data-v-9573109b]:hover{background-color:#e6f4ff}.padding-xs[data-v-9573109b]{padding:.25rem}.padding-s[data-v-9573109b]{padding:.5rem}.padding-l[data-v-9573109b]{padding:.75rem}.padding-xl[data-v-9573109b]{padding:1rem}.padding-xxl[data-v-9573109b]{padding:1.5rem}.padding-xxxl[data-v-9573109b]{padding:2rem}.margin-xs[data-v-9573109b]{margin:.25rem}.margin-s[data-v-9573109b]{margin:.5rem}.margin-l[data-v-9573109b]{margin:.75rem}.margin-xl[data-v-9573109b]{margin:1rem}.margin-xxl[data-v-9573109b]{margin:1.5rem}.margin-xxxl[data-v-9573109b]{margin:2rem}.a-link[data-v-9573109b]{display:inline-block;padding-left:2px;padding-right:2px;color:#1377eb;border-radius:6px}.a-link[data-v-9573109b]:hover{color:#3b99f7;background-color:#e6f4ff;cursor:pointer}.a-link[data-v-9573109b]:active{color:#0658c4;background-color:#fafbfc}.a-link--disabled[data-v-9573109b]{color:#bcc1cc}.a-link--disabled[data-v-9573109b]:hover,.a-link--disabled[data-v-9573109b]:active{color:#bcc1cc;background-color:transparent;cursor:not-allowed}.composite-field[data-v-9573109b]{width:100%;background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid transparent}.composite-field[data-v-9573109b]:hover{box-shadow:0 4px 16px #0000000f;border-color:#e4e8ee}.composite-field[data-v-9573109b]:focus-within{border-color:#1377eb;box-shadow:0 0 0 3px #1377eb14}.composite-field .field-header[data-v-9573109b]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid #f0f2f5}.composite-field .field-header h3[data-v-9573109b]{margin:0;font-size:16px;font-weight:600;color:#1a253b;letter-spacing:.3px;padding-left:8px;border-left:3px solid #1377eb}.composite-field .field-header .header-actions[data-v-9573109b]{display:flex;gap:8px}.composite-field .field-header .header-actions .ant-btn[data-v-9573109b]{border-radius:6px;transition:all .2s ease}.composite-field .field-header .header-actions .ant-btn[data-v-9573109b]:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.composite-field .field-content[data-v-9573109b]{display:flex;flex-direction:column;gap:8px}.composite-field .config-section[data-v-9573109b]{display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:8px;border:1px solid #f0f2f5}.composite-field .config-section h4[data-v-9573109b]{margin:0;font-size:14px;font-weight:600;color:#1a253b;display:flex;align-items:center;gap:8px}.composite-field .config-section h4[data-v-9573109b]:before{content:"";width:4px;height:16px;background:#1377eb;border-radius:2px}.composite-field .form-item[data-v-9573109b]{margin-bottom:0}.composite-field .form-item[data-v-9573109b]:not(:last-child){margin-bottom:6px}.composite-field .overview-card[data-v-9573109b]{background:#fff;border-radius:10px;padding:8px;border:1px solid #e4e8ee;transition:all .3s cubic-bezier(.4,0,.2,1)}.composite-field .overview-card[data-v-9573109b]:hover{box-shadow:0 4px 12px #00000014;border-color:#1377eb}.composite-field .overview-card .overview-content[data-v-9573109b]{display:flex;flex-direction:column;gap:8px}.composite-field .overview-card .overview-content .overview-item[data-v-9573109b]{display:flex;align-items:center;gap:8px}.composite-field .overview-card .overview-content .overview-item .overview-label[data-v-9573109b]{font-size:13px;font-weight:500;color:#64748b;min-width:100px}.composite-field .overview-card .overview-content .overview-item .overview-value[data-v-9573109b]{font-size:14px;color:#1a253b;font-weight:500}.composite-field .edit-content[data-v-9573109b],.composite-field .edit-content .config-item[data-v-9573109b]{display:flex;flex-direction:column;gap:8px}.composite-field .edit-content .config-item label[data-v-9573109b]{font-size:14px;font-weight:600;color:#1a253b}.composite-field .edit-content .config-item label.required[data-v-9573109b]:after{content:"*";color:#ff4d4f;margin-left:4px}.composite-field .list-container[data-v-9573109b]{display:flex;flex-direction:column;gap:8px}.composite-field .list-container .list-item[data-v-9573109b]{background:#fff;border-radius:8px;padding:8px 12px;border:1px solid #e4e8ee;transition:all .25s cubic-bezier(.4,0,.2,1)}.composite-field .list-container .list-item[data-v-9573109b]:hover{box-shadow:0 2px 8px #0000000f;border-color:#1377eb}.composite-field .list-container .list-item.selected[data-v-9573109b]{border-color:#1377eb;background:#f0f7ff;box-shadow:0 0 0 2px #1377eb1a}.composite-field .action-buttons[data-v-9573109b]{display:flex;gap:8px;justify-content:flex-end;padding-top:8px;border-top:1px solid #f0f2f5}.composite-field .action-buttons .ant-btn[data-v-9573109b]{border-radius:6px;min-width:80px}.composite-field .action-buttons .ant-btn.ant-btn-primary[data-v-9573109b]{box-shadow:0 2px 8px #1377eb33}.composite-field .action-buttons .ant-btn.ant-btn-primary[data-v-9573109b]:hover{box-shadow:0 4px 12px #1377eb4d;transform:translateY(-1px)}.composite-field .help-text[data-v-9573109b]{font-size:12px;color:#4e5d78;line-height:1.5;padding:8px 12px;background:#f5f7fa;border-radius:6px;border-left:3px solid #1377eb}.composite-field .help-text[data-v-9573109b]:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#1377eb;margin-right:6px;vertical-align:middle}.composite-field .status-label[data-v-9573109b]{font-size:12px;font-weight:500;padding:4px 12px;border-radius:12px;display:inline-flex;align-items:center;gap:4px}.composite-field .status-label.status-success[data-v-9573109b]{background-color:#f6ffed;color:#52c41a}.composite-field .status-label.status-success[data-v-9573109b]:before{content:"✓"}.composite-field .status-label.status-warning[data-v-9573109b]{background-color:#fffbe6;color:#faad14}.composite-field .status-label.status-warning[data-v-9573109b]:before{content:"!"}.composite-field .status-label.status-error[data-v-9573109b]{background-color:#fff2f0;color:#ff4d4f}.composite-field .status-label.status-error[data-v-9573109b]:before{content:"✕"}.composite-field .status-label.status-info[data-v-9573109b]{background-color:#f5f7fa;color:#1377eb}.composite-field .status-label.status-info[data-v-9573109b]:before{content:"ℹ"}.composite-field .empty-state-inline[data-v-9573109b]{display:flex;flex-direction:column;align-items:center;padding:16px 12px;text-align:center}.composite-field .empty-state-inline .empty-icon[data-v-9573109b]{font-size:48px;margin-bottom:12px;opacity:.5}.composite-field .empty-state-inline .empty-text[data-v-9573109b]{font-size:14px;color:#4e5d78;margin-bottom:8px}@media(max-width:768px){.composite-field[data-v-9573109b]{border-radius:10px}.composite-field .field-header[data-v-9573109b]{margin-bottom:8px;padding-bottom:8px}.composite-field .field-header h3[data-v-9573109b]{font-size:15px;padding-left:8px}.composite-field .config-section[data-v-9573109b]{padding:10px;gap:10px}.composite-field .overview-card[data-v-9573109b]{padding:12px}}@media(max-width:320px){.composite-field[data-v-9573109b]{border-radius:8px}.composite-field .field-header h3[data-v-9573109b]{font-size:14px}.composite-field .action-buttons[data-v-9573109b]{flex-direction:column;gap:8px}.composite-field .action-buttons .ant-btn[data-v-9573109b]{width:100%}}@media(prefers-reduced-motion:reduce){.composite-field[data-v-9573109b]{transition:none}.composite-field[data-v-9573109b]:hover{transition:none;transform:none}.composite-field .overview-card[data-v-9573109b],.composite-field .list-item[data-v-9573109b],.composite-field .ant-btn[data-v-9573109b]{transition:none}.composite-field .overview-card[data-v-9573109b]:hover,.composite-field .list-item[data-v-9573109b]:hover,.composite-field .ant-btn[data-v-9573109b]:hover{transform:none}}.composite-field[data-v-9573109b] .ant-form-item{margin-bottom:8px}.composite-field[data-v-9573109b] .ant-table{font-size:13px}.composite-field[data-v-9573109b] .ant-table .ant-table-thead>tr>th,.composite-field[data-v-9573109b] .ant-table .ant-table-tbody>tr>td{padding:6px 8px}.composite-field[data-v-9573109b] .ant-table .ant-table-thead>tr>th{background:#f8fafc;font-weight:500;font-size:13px}.composite-field[data-v-9573109b] .ant-table .ant-table-empty .ant-table-placeholder{padding:8px}.composite-field[data-v-9573109b] .ant-checkbox-group{display:flex;flex-direction:column;gap:6px}.composite-field[data-v-9573109b] .ant-checkbox-group .ant-checkbox-wrapper{margin:0;padding:2px 0;font-size:13px}.composite-field[data-v-9573109b] .ant-radio-group{display:flex;flex-direction:column;gap:6px}.composite-field[data-v-9573109b] .ant-radio-group .ant-radio-wrapper{font-size:13px}.composite-field[data-v-9573109b] .ant-collapse .ant-collapse-header{padding:8px 12px!important;font-size:13px}.composite-field[data-v-9573109b] .ant-collapse .ant-collapse-content>.ant-collapse-content-box{padding:8px 12px!important}.composite-field[data-v-9573109b] .ant-input,.composite-field[data-v-9573109b] .ant-select-selector,.composite-field[data-v-9573109b] .ant-input-number{font-size:13px}.composite-field[data-v-9573109b] .ant-btn{font-size:13px;height:28px;padding:0 10px}.composite-field[data-v-9573109b] .ant-btn-sm{height:24px;padding:0 8px;font-size:12px}.composite-field[data-v-9573109b] .ant-tabs .ant-tabs-nav{margin-bottom:8px}.composite-field[data-v-9573109b] .ant-modal-footer{padding:8px 16px}.composite-field[data-v-9573109b] .ant-alert{padding:6px 8px;font-size:13px}.composite-field[data-v-9573109b] .ant-btn-link,.composite-field[data-v-9573109b] .ant-btn-icon-only.ant-btn-link{color:#1377eb;padding:0 4px;height:auto;font-size:13px}.composite-field[data-v-9573109b] .ant-btn-link:hover,.composite-field[data-v-9573109b] .ant-btn-icon-only.ant-btn-link:hover{color:#1377eb;opacity:.85}.composite-field[data-v-9573109b] .ant-btn-link:active,.composite-field[data-v-9573109b] .ant-btn-icon-only.ant-btn-link:active{color:#096dd9}.composite-field[data-v-9573109b] .ant-btn-link:disabled,.composite-field[data-v-9573109b] .ant-btn-icon-only.ant-btn-link:disabled,.composite-field[data-v-9573109b] .ant-btn-link[disabled],.composite-field[data-v-9573109b] .ant-btn-icon-only.ant-btn-link[disabled]{color:#bcc1cc}.composite-field[data-v-9573109b] .edit-icon,.composite-field[data-v-9573109b] .action-edit{color:#1377eb;cursor:pointer;transition:color .2s ease,opacity .2s ease}.composite-field[data-v-9573109b] .edit-icon:hover,.composite-field[data-v-9573109b] .action-edit:hover{color:#1377eb}.composite-field[data-v-9573109b] .ant-btn-text.ant-btn-dangerous,.composite-field[data-v-9573109b] .ant-btn-link.ant-btn-dangerous{color:#ff4d4f;padding:0 4px;height:auto;font-size:13px}.composite-field[data-v-9573109b] .ant-btn-text.ant-btn-dangerous:hover,.composite-field[data-v-9573109b] .ant-btn-link.ant-btn-dangerous:hover{color:#ff4d4f;background:#ff4d4f14;opacity:.85}.composite-field[data-v-9573109b] .ant-btn-text.ant-btn-dangerous:active,.composite-field[data-v-9573109b] .ant-btn-link.ant-btn-dangerous:active{color:#cf4446;background:#ff4d4f1f}.composite-field[data-v-9573109b] .ant-btn-text.ant-btn-dangerous:disabled,.composite-field[data-v-9573109b] .ant-btn-link.ant-btn-dangerous:disabled,.composite-field[data-v-9573109b] .ant-btn-text.ant-btn-dangerous[disabled],.composite-field[data-v-9573109b] .ant-btn-link.ant-btn-dangerous[disabled]{color:#bcc1cc}.composite-field[data-v-9573109b] .delete-icon,.composite-field[data-v-9573109b] .action-delete,.composite-field[data-v-9573109b] .delete-outlined,.composite-field[data-v-9573109b] .anticon-delete,.composite-field[data-v-9573109b] .anticon-delete-outlined{color:#ff4d4f;cursor:pointer;transition:color .2s ease}.composite-field[data-v-9573109b] .delete-icon:hover,.composite-field[data-v-9573109b] .action-delete:hover,.composite-field[data-v-9573109b] .delete-outlined:hover,.composite-field[data-v-9573109b] .anticon-delete:hover,.composite-field[data-v-9573109b] .anticon-delete-outlined:hover{color:#cf4446}.composite-field[data-v-9573109b] .ant-table .ant-btn-icon-only{padding:0;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center}.composite-field[data-v-9573109b] .toolbar-icon,.composite-field[data-v-9573109b] .header-icon{font-size:14px;vertical-align:middle}.approval-rule-config .rule-management[data-v-9573109b],.approval-rule-config .template-management[data-v-9573109b],.approval-rule-config .priority-management[data-v-9573109b],.approval-rule-config .advanced-config[data-v-9573109b]{margin-top:8px}.approval-rule-config .template-actions[data-v-9573109b]{margin-bottom:8px}.approval-rule-config .test-result[data-v-9573109b]{margin-top:8px;padding:8px;border:1px solid #e8e8e8;border-radius:4px;background-color:#f5f5f5}.approval-rule-config .test-result h4[data-v-9573109b]{margin:0 0 12px;font-size:14px;font-weight:600}.approval-rule-config .test-result .result-content[data-v-9573109b]{line-height:1.5}.approval-rule-config .test-result .result-content p[data-v-9573109b]{margin:4px 0}.approval-rule-config .expression-editor .expression-preview[data-v-9573109b]{margin-top:8px;padding:12px;border:1px solid #e8e8e8;border-radius:4px;background-color:#fafafa;font-family:monospace}.action-button[data-v-9573109b]{border:none;background:none;padding:4px 8px;border-radius:4px}.action-button[type=link][data-v-9573109b]{color:#1890ff}.action-button[type=link][data-v-9573109b]:hover{color:#40a9ff;background-color:#e6f7ff}.action-button[type=text][danger][data-v-9573109b]{color:#ff4d4f}.action-button[type=text][danger][data-v-9573109b]:hover{color:#ff7875;background-color:#fff1f0}.scrollbar-sm[data-v-e0b2d90f]::-webkit-scrollbar{width:6px;height:6px}.scrollbar-sm[data-v-e0b2d90f] *::-webkit-scrollbar{width:6px;height:6px}.scroll-overlay[data-v-e0b2d90f]::-webkit-scrollbar{overflow:overlay}.font-size-sm[data-v-e0b2d90f]{font-size:12px}.font-size-normal[data-v-e0b2d90f]{font-size:14px}.font-size-lg[data-v-e0b2d90f]{font-size:16px}.primary-color[data-v-e0b2d90f]{color:#1377eb}.primary-bgColor[data-v-e0b2d90f]{background-color:#1377eb}.link-color[data-v-e0b2d90f]{color:#1377eb}.success-color[data-v-e0b2d90f]{color:#52c41a}.success-bgColor[data-v-e0b2d90f]{background-color:#52c41a}.warning-color[data-v-e0b2d90f]{color:#faad14}.error-color[data-v-e0b2d90f]{color:#ff4d4f}.error-bgColor[data-v-e0b2d90f]{background-color:#fff2f0}.label-color[data-v-e0b2d90f]{color:#64748b}.heading-color[data-v-e0b2d90f]{color:#1a253b}.heading-bgColor[data-v-e0b2d90f]{background-color:#1a253b}.text-color[data-v-e0b2d90f]{color:#1a253b}.text-color-secondary[data-v-e0b2d90f]{color:#4e5d78}.disabled-color[data-v-e0b2d90f]{color:#bcc1cc}.bgColor-light[data-v-e0b2d90f],.table-head-bgColor[data-v-e0b2d90f]{background-color:#f5f7fa}.hover-bg-color[data-v-e0b2d90f]:hover{background-color:#f0f7ff}.icon-bg-color[data-v-e0b2d90f]:hover{background-color:#e6f4ff}.padding-xs[data-v-e0b2d90f]{padding:.25rem}.padding-s[data-v-e0b2d90f]{padding:.5rem}.padding-l[data-v-e0b2d90f]{padding:.75rem}.padding-xl[data-v-e0b2d90f]{padding:1rem}.padding-xxl[data-v-e0b2d90f]{padding:1.5rem}.padding-xxxl[data-v-e0b2d90f]{padding:2rem}.margin-xs[data-v-e0b2d90f]{margin:.25rem}.margin-s[data-v-e0b2d90f]{margin:.5rem}.margin-l[data-v-e0b2d90f]{margin:.75rem}.margin-xl[data-v-e0b2d90f]{margin:1rem}.margin-xxl[data-v-e0b2d90f]{margin:1.5rem}.margin-xxxl[data-v-e0b2d90f]{margin:2rem}.a-link[data-v-e0b2d90f]{display:inline-block;padding-left:2px;padding-right:2px;color:#1377eb;border-radius:6px}.a-link[data-v-e0b2d90f]:hover{color:#3b99f7;background-color:#e6f4ff;cursor:pointer}.a-link[data-v-e0b2d90f]:active{color:#0658c4;background-color:#fafbfc}.a-link--disabled[data-v-e0b2d90f]{color:#bcc1cc}.a-link--disabled[data-v-e0b2d90f]:hover,.a-link--disabled[data-v-e0b2d90f]:active{color:#bcc1cc;background-color:transparent;cursor:not-allowed}.composite-field[data-v-e0b2d90f]{width:100%;background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid transparent}.composite-field[data-v-e0b2d90f]:hover{box-shadow:0 4px 16px #0000000f;border-color:#e4e8ee}.composite-field[data-v-e0b2d90f]:focus-within{border-color:#1377eb;box-shadow:0 0 0 3px #1377eb14}.composite-field .field-header[data-v-e0b2d90f]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid #f0f2f5}.composite-field .field-header h3[data-v-e0b2d90f]{margin:0;font-size:16px;font-weight:600;color:#1a253b;letter-spacing:.3px;padding-left:8px;border-left:3px solid #1377eb}.composite-field .field-header .header-actions[data-v-e0b2d90f]{display:flex;gap:8px}.composite-field .field-header .header-actions .ant-btn[data-v-e0b2d90f]{border-radius:6px;transition:all .2s ease}.composite-field .field-header .header-actions .ant-btn[data-v-e0b2d90f]:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.composite-field .field-content[data-v-e0b2d90f]{display:flex;flex-direction:column;gap:8px}.composite-field .config-section[data-v-e0b2d90f]{display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:8px;border:1px solid #f0f2f5}.composite-field .config-section h4[data-v-e0b2d90f]{margin:0;font-size:14px;font-weight:600;color:#1a253b;display:flex;align-items:center;gap:8px}.composite-field .config-section h4[data-v-e0b2d90f]:before{content:"";width:4px;height:16px;background:#1377eb;border-radius:2px}.composite-field .form-item[data-v-e0b2d90f]{margin-bottom:0}.composite-field .form-item[data-v-e0b2d90f]:not(:last-child){margin-bottom:6px}.composite-field .overview-card[data-v-e0b2d90f]{background:#fff;border-radius:10px;padding:8px;border:1px solid #e4e8ee;transition:all .3s cubic-bezier(.4,0,.2,1)}.composite-field .overview-card[data-v-e0b2d90f]:hover{box-shadow:0 4px 12px #00000014;border-color:#1377eb}.composite-field .overview-card .overview-content[data-v-e0b2d90f]{display:flex;flex-direction:column;gap:8px}.composite-field .overview-card .overview-content .overview-item[data-v-e0b2d90f]{display:flex;align-items:center;gap:8px}.composite-field .overview-card .overview-content .overview-item .overview-label[data-v-e0b2d90f]{font-size:13px;font-weight:500;color:#64748b;min-width:100px}.composite-field .overview-card .overview-content .overview-item .overview-value[data-v-e0b2d90f]{font-size:14px;color:#1a253b;font-weight:500}.composite-field .edit-content[data-v-e0b2d90f],.composite-field .edit-content .config-item[data-v-e0b2d90f]{display:flex;flex-direction:column;gap:8px}.composite-field .edit-content .config-item label[data-v-e0b2d90f]{font-size:14px;font-weight:600;color:#1a253b}.composite-field .edit-content .config-item label.required[data-v-e0b2d90f]:after{content:"*";color:#ff4d4f;margin-left:4px}.composite-field .list-container[data-v-e0b2d90f]{display:flex;flex-direction:column;gap:8px}.composite-field .list-container .list-item[data-v-e0b2d90f]{background:#fff;border-radius:8px;padding:8px 12px;border:1px solid #e4e8ee;transition:all .25s cubic-bezier(.4,0,.2,1)}.composite-field .list-container .list-item[data-v-e0b2d90f]:hover{box-shadow:0 2px 8px #0000000f;border-color:#1377eb}.composite-field .list-container .list-item.selected[data-v-e0b2d90f]{border-color:#1377eb;background:#f0f7ff;box-shadow:0 0 0 2px #1377eb1a}.composite-field .action-buttons[data-v-e0b2d90f]{display:flex;gap:8px;justify-content:flex-end;padding-top:8px;border-top:1px solid #f0f2f5}.composite-field .action-buttons .ant-btn[data-v-e0b2d90f]{border-radius:6px;min-width:80px}.composite-field .action-buttons .ant-btn.ant-btn-primary[data-v-e0b2d90f]{box-shadow:0 2px 8px #1377eb33}.composite-field .action-buttons .ant-btn.ant-btn-primary[data-v-e0b2d90f]:hover{box-shadow:0 4px 12px #1377eb4d;transform:translateY(-1px)}.composite-field .help-text[data-v-e0b2d90f]{font-size:12px;color:#4e5d78;line-height:1.5;padding:8px 12px;background:#f5f7fa;border-radius:6px;border-left:3px solid #1377eb}.composite-field .help-text[data-v-e0b2d90f]:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#1377eb;margin-right:6px;vertical-align:middle}.composite-field .status-label[data-v-e0b2d90f]{font-size:12px;font-weight:500;padding:4px 12px;border-radius:12px;display:inline-flex;align-items:center;gap:4px}.composite-field .status-label.status-success[data-v-e0b2d90f]{background-color:#f6ffed;color:#52c41a}.composite-field .status-label.status-success[data-v-e0b2d90f]:before{content:"✓"}.composite-field .status-label.status-warning[data-v-e0b2d90f]{background-color:#fffbe6;color:#faad14}.composite-field .status-label.status-warning[data-v-e0b2d90f]:before{content:"!"}.composite-field .status-label.status-error[data-v-e0b2d90f]{background-color:#fff2f0;color:#ff4d4f}.composite-field .status-label.status-error[data-v-e0b2d90f]:before{content:"✕"}.composite-field .status-label.status-info[data-v-e0b2d90f]{background-color:#f5f7fa;color:#1377eb}.composite-field .status-label.status-info[data-v-e0b2d90f]:before{content:"ℹ"}.composite-field .empty-state-inline[data-v-e0b2d90f]{display:flex;flex-direction:column;align-items:center;padding:16px 12px;text-align:center}.composite-field .empty-state-inline .empty-icon[data-v-e0b2d90f]{font-size:48px;margin-bottom:12px;opacity:.5}.composite-field .empty-state-inline .empty-text[data-v-e0b2d90f]{font-size:14px;color:#4e5d78;margin-bottom:8px}@media(max-width:768px){.composite-field[data-v-e0b2d90f]{border-radius:10px}.composite-field .field-header[data-v-e0b2d90f]{margin-bottom:8px;padding-bottom:8px}.composite-field .field-header h3[data-v-e0b2d90f]{font-size:15px;padding-left:8px}.composite-field .config-section[data-v-e0b2d90f]{padding:10px;gap:10px}.composite-field .overview-card[data-v-e0b2d90f]{padding:12px}}@media(max-width:320px){.composite-field[data-v-e0b2d90f]{border-radius:8px}.composite-field .field-header h3[data-v-e0b2d90f]{font-size:14px}.composite-field .action-buttons[data-v-e0b2d90f]{flex-direction:column;gap:8px}.composite-field .action-buttons .ant-btn[data-v-e0b2d90f]{width:100%}}@media(prefers-reduced-motion:reduce){.composite-field[data-v-e0b2d90f]{transition:none}.composite-field[data-v-e0b2d90f]:hover{transition:none;transform:none}.composite-field .overview-card[data-v-e0b2d90f],.composite-field .list-item[data-v-e0b2d90f],.composite-field .ant-btn[data-v-e0b2d90f]{transition:none}.composite-field .overview-card[data-v-e0b2d90f]:hover,.composite-field .list-item[data-v-e0b2d90f]:hover,.composite-field .ant-btn[data-v-e0b2d90f]:hover{transform:none}}.composite-field[data-v-e0b2d90f] .ant-form-item{margin-bottom:8px}.composite-field[data-v-e0b2d90f] .ant-table{font-size:13px}.composite-field[data-v-e0b2d90f] .ant-table .ant-table-thead>tr>th,.composite-field[data-v-e0b2d90f] .ant-table .ant-table-tbody>tr>td{padding:6px 8px}.composite-field[data-v-e0b2d90f] .ant-table .ant-table-thead>tr>th{background:#f8fafc;font-weight:500;font-size:13px}.composite-field[data-v-e0b2d90f] .ant-table .ant-table-empty .ant-table-placeholder{padding:8px}.composite-field[data-v-e0b2d90f] .ant-checkbox-group{display:flex;flex-direction:column;gap:6px}.composite-field[data-v-e0b2d90f] .ant-checkbox-group .ant-checkbox-wrapper{margin:0;padding:2px 0;font-size:13px}.composite-field[data-v-e0b2d90f] .ant-radio-group{display:flex;flex-direction:column;gap:6px}.composite-field[data-v-e0b2d90f] .ant-radio-group .ant-radio-wrapper{font-size:13px}.composite-field[data-v-e0b2d90f] .ant-collapse .ant-collapse-header{padding:8px 12px!important;font-size:13px}.composite-field[data-v-e0b2d90f] .ant-collapse .ant-collapse-content>.ant-collapse-content-box{padding:8px 12px!important}.composite-field[data-v-e0b2d90f] .ant-input,.composite-field[data-v-e0b2d90f] .ant-select-selector,.composite-field[data-v-e0b2d90f] .ant-input-number{font-size:13px}.composite-field[data-v-e0b2d90f] .ant-btn{font-size:13px;height:28px;padding:0 10px}.composite-field[data-v-e0b2d90f] .ant-btn-sm{height:24px;padding:0 8px;font-size:12px}.composite-field[data-v-e0b2d90f] .ant-tabs .ant-tabs-nav{margin-bottom:8px}.composite-field[data-v-e0b2d90f] .ant-modal-footer{padding:8px 16px}.composite-field[data-v-e0b2d90f] .ant-alert{padding:6px 8px;font-size:13px}.composite-field[data-v-e0b2d90f] .ant-btn-link,.composite-field[data-v-e0b2d90f] .ant-btn-icon-only.ant-btn-link{color:#1377eb;padding:0 4px;height:auto;font-size:13px}.composite-field[data-v-e0b2d90f] .ant-btn-link:hover,.composite-field[data-v-e0b2d90f] .ant-btn-icon-only.ant-btn-link:hover{color:#1377eb;opacity:.85}.composite-field[data-v-e0b2d90f] .ant-btn-link:active,.composite-field[data-v-e0b2d90f] .ant-btn-icon-only.ant-btn-link:active{color:#096dd9}.composite-field[data-v-e0b2d90f] .ant-btn-link:disabled,.composite-field[data-v-e0b2d90f] .ant-btn-icon-only.ant-btn-link:disabled,.composite-field[data-v-e0b2d90f] .ant-btn-link[disabled],.composite-field[data-v-e0b2d90f] .ant-btn-icon-only.ant-btn-link[disabled]{color:#bcc1cc}.composite-field[data-v-e0b2d90f] .edit-icon,.composite-field[data-v-e0b2d90f] .action-edit{color:#1377eb;cursor:pointer;transition:color .2s ease,opacity .2s ease}.composite-field[data-v-e0b2d90f] .edit-icon:hover,.composite-field[data-v-e0b2d90f] .action-edit:hover{color:#1377eb}.composite-field[data-v-e0b2d90f] .ant-btn-text.ant-btn-dangerous,.composite-field[data-v-e0b2d90f] .ant-btn-link.ant-btn-dangerous{color:#ff4d4f;padding:0 4px;height:auto;font-size:13px}.composite-field[data-v-e0b2d90f] .ant-btn-text.ant-btn-dangerous:hover,.composite-field[data-v-e0b2d90f] .ant-btn-link.ant-btn-dangerous:hover{color:#ff4d4f;background:#ff4d4f14;opacity:.85}.composite-field[data-v-e0b2d90f] .ant-btn-text.ant-btn-dangerous:active,.composite-field[data-v-e0b2d90f] .ant-btn-link.ant-btn-dangerous:active{color:#cf4446;background:#ff4d4f1f}.composite-field[data-v-e0b2d90f] .ant-btn-text.ant-btn-dangerous:disabled,.composite-field[data-v-e0b2d90f] .ant-btn-link.ant-btn-dangerous:disabled,.composite-field[data-v-e0b2d90f] .ant-btn-text.ant-btn-dangerous[disabled],.composite-field[data-v-e0b2d90f] .ant-btn-link.ant-btn-dangerous[disabled]{color:#bcc1cc}.composite-field[data-v-e0b2d90f] .delete-icon,.composite-field[data-v-e0b2d90f] .action-delete,.composite-field[data-v-e0b2d90f] .delete-outlined,.composite-field[data-v-e0b2d90f] .anticon-delete,.composite-field[data-v-e0b2d90f] .anticon-delete-outlined{color:#ff4d4f;cursor:pointer;transition:color .2s ease}.composite-field[data-v-e0b2d90f] .delete-icon:hover,.composite-field[data-v-e0b2d90f] .action-delete:hover,.composite-field[data-v-e0b2d90f] .delete-outlined:hover,.composite-field[data-v-e0b2d90f] .anticon-delete:hover,.composite-field[data-v-e0b2d90f] .anticon-delete-outlined:hover{color:#cf4446}.composite-field[data-v-e0b2d90f] .ant-table .ant-btn-icon-only{padding:0;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center}.composite-field[data-v-e0b2d90f] .toolbar-icon,.composite-field[data-v-e0b2d90f] .header-icon{font-size:14px;vertical-align:middle}.approval-scheduling[data-v-e0b2d90f]{width:100%;background-color:#f9fbfd;border-radius:8px;padding:8px;box-shadow:0 2px 8px #0000000d}.approval-scheduling .config-header[data-v-e0b2d90f]{margin-bottom:8px}.approval-scheduling .config-header h3[data-v-e0b2d90f]{margin:0;font-size:16px;font-weight:600;color:#314659}.approval-scheduling .config-content[data-v-e0b2d90f]{display:flex;flex-direction:column;gap:8px}.approval-scheduling .config-content .form-item[data-v-e0b2d90f]{margin-bottom:0}.approval-scheduling .config-content .form-item .rule-management[data-v-e0b2d90f],.approval-scheduling .config-content .form-item .approver-pool[data-v-e0b2d90f],.approval-scheduling .config-content .form-item .scheduling-analysis[data-v-e0b2d90f],.approval-scheduling .config-content .form-item .advanced-config[data-v-e0b2d90f]{margin-top:8px}.approval-scheduling .config-content .form-item .result-cards[data-v-e0b2d90f]{display:flex;flex-wrap:wrap;margin-bottom:8px}.approval-scheduling .config-content .form-item .analysis-details[data-v-e0b2d90f],.approval-scheduling .config-content .form-item .optimization-suggestions[data-v-e0b2d90f]{margin-top:8px}.approval-scheduling .config-content .form-item .analysis-details h4[data-v-e0b2d90f],.approval-scheduling .config-content .form-item .optimization-suggestions h4[data-v-e0b2d90f]{margin:0 0 12px;font-size:14px;font-weight:600}.approval-scheduling .config-content .form-item .analysis-details ul[data-v-e0b2d90f],.approval-scheduling .config-content .form-item .optimization-suggestions ul[data-v-e0b2d90f]{margin:0;padding-left:20px}.approval-scheduling .config-content .form-item .analysis-details ul li[data-v-e0b2d90f],.approval-scheduling .config-content .form-item .optimization-suggestions ul li[data-v-e0b2d90f]{margin:4px 0;line-height:1.5}.action-button[data-v-e0b2d90f]{border:none;background:none;padding:4px 8px;border-radius:4px}.action-button[type=link][data-v-e0b2d90f]{color:#1890ff}.action-button[type=link][data-v-e0b2d90f]:hover{color:#40a9ff;background-color:#e6f7ff}.action-button[type=text][danger][data-v-e0b2d90f]{color:#ff4d4f}.action-button[type=text][danger][data-v-e0b2d90f]:hover{color:#ff7875;background-color:#fff1f0}.data-transformation[data-v-d4c6bd96]{width:100%;background-color:#f9fbfd;border-radius:8px;padding:8px;box-shadow:0 2px 8px #0000000d}.data-transformation .config-header[data-v-d4c6bd96]{margin-bottom:8px}.data-transformation .config-header h3[data-v-d4c6bd96]{margin:0;font-size:16px;font-weight:600;color:#314659}.data-transformation .config-content[data-v-d4c6bd96]{display:flex;flex-direction:column;gap:8px}.data-transformation .config-content .rule-list-section .section-header[data-v-d4c6bd96]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.data-transformation .config-content .rule-list-section .section-header span[data-v-d4c6bd96]{font-weight:500;color:#314659}.data-transformation .config-content .rule-config-section[data-v-d4c6bd96]{margin-top:8px;padding-top:8px;border-top:1px solid #e8e8e8}.action-button[data-v-d4c6bd96]{border:none;background:none;padding:4px 8px;border-radius:4px}.action-button[type=link][data-v-d4c6bd96]{color:#1890ff}.action-button[type=link][data-v-d4c6bd96]:hover{color:#40a9ff;background-color:#e6f7ff}.action-button[type=text][danger][data-v-d4c6bd96]{color:#ff4d4f}.action-button[type=text][danger][data-v-d4c6bd96]:hover{color:#ff7875;background-color:#fff1f0}.event-task-config[data-v-84efab1c]{width:100%;background-color:#f9fbfd;border-radius:8px;padding:8px;box-shadow:0 2px 8px #0000000d}.event-task-config .config-header[data-v-84efab1c]{margin-bottom:8px}.event-task-config .config-header h3[data-v-84efab1c]{margin:0;font-size:16px;font-weight:600;color:#314659}.event-task-config .config-content[data-v-84efab1c]{display:flex;flex-direction:column;gap:8px}.event-task-config .config-content .form-item[data-v-84efab1c]{margin-bottom:0}.event-task-config .config-content .form-item .timer-config[data-v-84efab1c],.event-task-config .config-content .form-item .message-config[data-v-84efab1c],.event-task-config .config-content .form-item .signal-config[data-v-84efab1c],.event-task-config .config-content .form-item .error-config[data-v-84efab1c],.event-task-config .config-content .form-item .escalation-config[data-v-84efab1c],.event-task-config .config-content .form-item .compensation-config[data-v-84efab1c],.event-task-config .config-content .form-item .listener-management[data-v-84efab1c],.event-task-config .config-content .form-item .event-handling[data-v-84efab1c],.event-task-config .config-content .form-item .advanced-config[data-v-84efab1c]{margin-top:8px}.action-button[data-v-84efab1c]{border:none;background:none;padding:4px 8px;border-radius:4px}.action-button[type=link][data-v-84efab1c]{color:#1890ff}.action-button[type=link][data-v-84efab1c]:hover{color:#40a9ff;background-color:#e6f7ff}.action-button[type=text][danger][data-v-84efab1c]{color:#ff4d4f}.action-button[type=text][danger][data-v-84efab1c]:hover{color:#ff7875;background-color:#fff1f0}.dmn-decision-table[data-v-0c6cb3f9]{width:100%;background-color:#f9fbfd;border-radius:8px;padding:8px;box-shadow:0 2px 8px #0000000d}.dmn-decision-table .config-header[data-v-0c6cb3f9]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.dmn-decision-table .config-header .header-left[data-v-0c6cb3f9]{display:flex;align-items:center}.dmn-decision-table .config-header h3[data-v-0c6cb3f9]{margin:0;font-size:16px;font-weight:600;color:#314659}.dmn-decision-table .config-content[data-v-0c6cb3f9]{display:flex;flex-direction:column;gap:8px}.dmn-decision-table .config-content .structure-section[data-v-0c6cb3f9],.dmn-decision-table .config-content .rules-section[data-v-0c6cb3f9],.dmn-decision-table .config-content .settings-section[data-v-0c6cb3f9]{margin-top:8px}.dmn-decision-table .config-content .structure-section .section-title[data-v-0c6cb3f9],.dmn-decision-table .config-content .rules-section .section-title[data-v-0c6cb3f9],.dmn-decision-table .config-content .settings-section .section-title[data-v-0c6cb3f9]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.dmn-decision-table .config-content .structure-section .section-title h4[data-v-0c6cb3f9],.dmn-decision-table .config-content .rules-section .section-title h4[data-v-0c6cb3f9],.dmn-decision-table .config-content .settings-section .section-title h4[data-v-0c6cb3f9]{margin:0;font-size:14px;font-weight:600;color:#314659}.dmn-decision-table .config-content .structure-section .decision-table-container[data-v-0c6cb3f9],.dmn-decision-table .config-content .rules-section .decision-table-container[data-v-0c6cb3f9],.dmn-decision-table .config-content .settings-section .decision-table-container[data-v-0c6cb3f9]{overflow-x:auto}.dmn-decision-table .config-content .structure-section .rule-cell[data-v-0c6cb3f9],.dmn-decision-table .config-content .rules-section .rule-cell[data-v-0c6cb3f9],.dmn-decision-table .config-content .settings-section .rule-cell[data-v-0c6cb3f9]{display:flex;align-items:center;gap:4px}.expression-editor-modal .editor-toolbar[data-v-0c6cb3f9]{margin-bottom:8px}.expression-editor-modal .expression-textarea[data-v-0c6cb3f9]{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.6}.expression-editor-modal .editor-actions[data-v-0c6cb3f9]{margin-top:12px;display:flex;justify-content:flex-end}.expression-editor-modal .validation-result[data-v-0c6cb3f9]{margin-top:12px}.editable-text[data-v-0c6cb3f9]{cursor:pointer}.editable-text[data-v-0c6cb3f9]:hover{background-color:#f0f0f0}.test-modal .test-input-section[data-v-0c6cb3f9],.test-modal .test-result-section[data-v-0c6cb3f9],.test-modal .test-history-section[data-v-0c6cb3f9]{padding:8px 0}.test-modal .test-actions[data-v-0c6cb3f9]{margin-top:8px;display:flex;justify-content:flex-start}.test-modal .matched-rules[data-v-0c6cb3f9],.test-modal .test-outputs[data-v-0c6cb3f9],.test-modal .execution-time[data-v-0c6cb3f9]{margin-top:8px}.test-modal .matched-rules h4[data-v-0c6cb3f9],.test-modal .test-outputs h4[data-v-0c6cb3f9],.test-modal .execution-time h4[data-v-0c6cb3f9]{margin:0 0 12px;font-size:14px;font-weight:600}.action-button[data-v-0c6cb3f9]{border:none;background:none;padding:4px 8px;border-radius:4px}.action-button[type=link][data-v-0c6cb3f9]{color:#1890ff}.action-button[type=link][data-v-0c6cb3f9]:hover{color:#40a9ff;background-color:#e6f7ff}.action-button[type=text][danger][data-v-0c6cb3f9]{color:#ff4d4f}.action-button[type=text][danger][data-v-0c6cb3f9]:hover{color:#ff7875;background-color:#fff1f0}.boundary-event-config[data-v-730964f9]{width:100%;background-color:#f9fbfd;border-radius:8px;padding:8px;box-shadow:0 2px 8px #0000000d}.boundary-event-config .config-header[data-v-730964f9]{margin-bottom:8px}.boundary-event-config .config-header h3[data-v-730964f9]{margin:0;font-size:16px;font-weight:600;color:#314659}.boundary-event-config .config-content[data-v-730964f9],.boundary-event-config .config-content .config-section[data-v-730964f9]{display:flex;flex-direction:column;gap:12px}.boundary-event-config .config-content .config-section h4[data-v-730964f9]{margin:0;font-size:14px;font-weight:500;color:#314659}.boundary-event-config .config-content .config-section .mode-description[data-v-730964f9]{font-size:12px;color:#8c8c8c;padding:8px 12px;background-color:#f0f5ff;border-radius:4px;border-left:3px solid #1890ff}.boundary-event-config .config-content .config-section .bpmn-note[data-v-730964f9]{font-size:12px;color:#d48806;padding:8px 12px;background-color:#fffbe6;border-radius:4px;border-left:3px solid #ffe58f}.boundary-event-config .config-content .config-section .field-help[data-v-730964f9]{font-size:12px;color:#8c8c8c;margin-top:4px}.boundary-event-config .config-content .config-section .switch-label[data-v-730964f9]{margin-left:8px;color:#595959}.boundary-event-config .config-content .config-section[data-v-730964f9] .ant-radio-group{display:flex;flex-wrap:wrap;gap:8px}.boundary-event-config .config-content .config-section[data-v-730964f9] .ant-form-item{margin-bottom:8px}.boundary-event-config .config-content .config-section[data-v-730964f9] .ant-form-item:last-child{margin-bottom:0}.message-event-config[data-v-eaad3324]{width:100%}.message-event-config .form-item[data-v-eaad3324]{margin-bottom:8px}.message-event-config .field-help[data-v-eaad3324]{font-size:12px;color:#8c8c8c;margin-top:4px}.signal-event-config[data-v-10a9cf35]{width:100%}.signal-event-config .form-item[data-v-10a9cf35]{margin-bottom:8px}.signal-event-config .field-help[data-v-10a9cf35]{font-size:12px;color:#8c8c8c;margin-top:4px}.business-rule-task[data-v-8544b15e]{width:100%;background-color:#f9fbfd;border-radius:8px;padding:8px;box-shadow:0 2px 8px #0000000d}.business-rule-task .task-header[data-v-8544b15e]{margin-bottom:8px}.business-rule-task .task-header h3[data-v-8544b15e]{margin:0;font-size:16px;font-weight:600;color:#314659}.business-rule-task .task-content[data-v-8544b15e]{display:flex;flex-direction:column;gap:8px}.business-rule-task .task-content .decision-config-section[data-v-8544b15e],.business-rule-task .task-content .mapping-section[data-v-8544b15e],.business-rule-task .task-content .test-section[data-v-8544b15e],.business-rule-task .task-content .advanced-section[data-v-8544b15e]{background-color:#fff;border-radius:6px;padding:8px;box-shadow:0 1px 3px #0000000d}.business-rule-task .task-content .decision-config-section .section-title[data-v-8544b15e],.business-rule-task .task-content .mapping-section .section-title[data-v-8544b15e],.business-rule-task .task-content .test-section .section-title[data-v-8544b15e],.business-rule-task .task-content .advanced-section .section-title[data-v-8544b15e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.business-rule-task .task-content .decision-config-section .section-title h4[data-v-8544b15e],.business-rule-task .task-content .mapping-section .section-title h4[data-v-8544b15e],.business-rule-task .task-content .test-section .section-title h4[data-v-8544b15e],.business-rule-task .task-content .advanced-section .section-title h4[data-v-8544b15e]{margin:0;font-size:14px;font-weight:600;color:#314659}.business-rule-task .task-content .decision-config-section .test-header[data-v-8544b15e],.business-rule-task .task-content .mapping-section .test-header[data-v-8544b15e],.business-rule-task .task-content .test-section .test-header[data-v-8544b15e],.business-rule-task .task-content .advanced-section .test-header[data-v-8544b15e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.business-rule-task .task-content .decision-config-section .test-header h4[data-v-8544b15e],.business-rule-task .task-content .mapping-section .test-header h4[data-v-8544b15e],.business-rule-task .task-content .test-section .test-header h4[data-v-8544b15e],.business-rule-task .task-content .advanced-section .test-header h4[data-v-8544b15e]{margin:0;font-size:14px;font-weight:600;color:#314659}.business-rule-task .task-content .decision-config-section .test-input-form[data-v-8544b15e],.business-rule-task .task-content .mapping-section .test-input-form[data-v-8544b15e],.business-rule-task .task-content .test-section .test-input-form[data-v-8544b15e],.business-rule-task .task-content .advanced-section .test-input-form[data-v-8544b15e]{padding-top:8px}.business-rule-task .task-content .decision-config-section .test-outputs[data-v-8544b15e],.business-rule-task .task-content .mapping-section .test-outputs[data-v-8544b15e],.business-rule-task .task-content .test-section .test-outputs[data-v-8544b15e],.business-rule-task .task-content .advanced-section .test-outputs[data-v-8544b15e],.business-rule-task .task-content .decision-config-section .execution-time[data-v-8544b15e],.business-rule-task .task-content .mapping-section .execution-time[data-v-8544b15e],.business-rule-task .task-content .test-section .execution-time[data-v-8544b15e],.business-rule-task .task-content .advanced-section .execution-time[data-v-8544b15e]{margin-top:8px}.business-rule-task .task-content .decision-config-section .test-outputs h5[data-v-8544b15e],.business-rule-task .task-content .mapping-section .test-outputs h5[data-v-8544b15e],.business-rule-task .task-content .test-section .test-outputs h5[data-v-8544b15e],.business-rule-task .task-content .advanced-section .test-outputs h5[data-v-8544b15e],.business-rule-task .task-content .decision-config-section .execution-time h5[data-v-8544b15e],.business-rule-task .task-content .mapping-section .execution-time h5[data-v-8544b15e],.business-rule-task .task-content .test-section .execution-time h5[data-v-8544b15e],.business-rule-task .task-content .advanced-section .execution-time h5[data-v-8544b15e]{margin:0 0 12px;font-size:14px;font-weight:600}.decision-selector-modal .ant-table-tbody>tr[data-v-8544b15e]{cursor:pointer}.decision-selector-modal .ant-table-tbody>tr[data-v-8544b15e]:hover{background-color:#f5f5f5}.action-button[data-v-8544b15e]{border:none;background:none;padding:4px 8px;border-radius:4px}.action-button[type=link][data-v-8544b15e]{color:#1890ff}.action-button[type=link][data-v-8544b15e]:hover{color:#40a9ff;background-color:#e6f7ff}.action-button[type=text][danger][data-v-8544b15e]{color:#ff4d4f}.action-button[type=text][danger][data-v-8544b15e]:hover{color:#ff7875;background-color:#fff1f0}.transaction-subprocess[data-v-c57c5993]{width:100%;background-color:#f9fbfd;border-radius:8px;padding:8px;box-shadow:0 2px 8px #0000000d}.transaction-subprocess .config-header[data-v-c57c5993]{margin-bottom:8px}.transaction-subprocess .config-header h3[data-v-c57c5993]{margin:0;font-size:16px;font-weight:600;color:#314659}.transaction-subprocess .config-content[data-v-c57c5993]{display:flex;flex-direction:column}.transaction-subprocess .config-content .transaction-tabs[data-v-c57c5993]{width:100%}.transaction-subprocess .config-content .transaction-tabs[data-v-c57c5993] .ant-tabs-content{padding-top:8px}.transaction-subprocess .config-content .transaction-tabs .acid-config[data-v-c57c5993],.transaction-subprocess .config-content .transaction-tabs .isolation-config[data-v-c57c5993],.transaction-subprocess .config-content .transaction-tabs .timeout-config[data-v-c57c5993],.transaction-subprocess .config-content .transaction-tabs .compensation-config[data-v-c57c5993],.transaction-subprocess .config-content .transaction-tabs .rollback-config[data-v-c57c5993],.transaction-subprocess .config-content .transaction-tabs .advanced-config[data-v-c57c5993]{display:flex;flex-direction:column;gap:8px}.transaction-subprocess .config-content .transaction-tabs .acid-config .form-item[data-v-c57c5993],.transaction-subprocess .config-content .transaction-tabs .isolation-config .form-item[data-v-c57c5993],.transaction-subprocess .config-content .transaction-tabs .timeout-config .form-item[data-v-c57c5993],.transaction-subprocess .config-content .transaction-tabs .compensation-config .form-item[data-v-c57c5993],.transaction-subprocess .config-content .transaction-tabs .rollback-config .form-item[data-v-c57c5993],.transaction-subprocess .config-content .transaction-tabs .advanced-config .form-item[data-v-c57c5993]{margin-bottom:0}.transaction-subprocess .config-content .transaction-tabs .acid-config .isolation-desc[data-v-c57c5993],.transaction-subprocess .config-content .transaction-tabs .isolation-config .isolation-desc[data-v-c57c5993],.transaction-subprocess .config-content .transaction-tabs .timeout-config .isolation-desc[data-v-c57c5993],.transaction-subprocess .config-content .transaction-tabs .compensation-config .isolation-desc[data-v-c57c5993],.transaction-subprocess .config-content .transaction-tabs .rollback-config .isolation-desc[data-v-c57c5993],.transaction-subprocess .config-content .transaction-tabs .advanced-config .isolation-desc[data-v-c57c5993]{margin:0;padding-left:20px}.transaction-subprocess .config-content .transaction-tabs .acid-config .isolation-desc li[data-v-c57c5993],.transaction-subprocess .config-content .transaction-tabs .isolation-config .isolation-desc li[data-v-c57c5993],.transaction-subprocess .config-content .transaction-tabs .timeout-config .isolation-desc li[data-v-c57c5993],.transaction-subprocess .config-content .transaction-tabs .compensation-config .isolation-desc li[data-v-c57c5993],.transaction-subprocess .config-content .transaction-tabs .rollback-config .isolation-desc li[data-v-c57c5993],.transaction-subprocess .config-content .transaction-tabs .advanced-config .isolation-desc li[data-v-c57c5993]{margin-bottom:8px;color:#606266;line-height:1.6}.transaction-subprocess .config-content .transaction-tabs .acid-config .isolation-desc li[data-v-c57c5993]:last-child,.transaction-subprocess .config-content .transaction-tabs .isolation-config .isolation-desc li[data-v-c57c5993]:last-child,.transaction-subprocess .config-content .transaction-tabs .timeout-config .isolation-desc li[data-v-c57c5993]:last-child,.transaction-subprocess .config-content .transaction-tabs .compensation-config .isolation-desc li[data-v-c57c5993]:last-child,.transaction-subprocess .config-content .transaction-tabs .rollback-config .isolation-desc li[data-v-c57c5993]:last-child,.transaction-subprocess .config-content .transaction-tabs .advanced-config .isolation-desc li[data-v-c57c5993]:last-child{margin-bottom:0}.compensation-event-config[data-v-692566b3]{width:100%;background-color:#f9fbfd;border-radius:8px;padding:8px;box-shadow:0 2px 8px #0000000d}.compensation-event-config .config-header[data-v-692566b3]{margin-bottom:8px}.compensation-event-config .config-header h3[data-v-692566b3]{margin:0;font-size:16px;font-weight:600;color:#314659}.compensation-event-config .config-content .form-item[data-v-692566b3]{margin-bottom:8px}.compensation-event-config .config-content .field-help[data-v-692566b3]{font-size:12px;color:#8c8c8c;margin-top:4px}.compensation-event-config .config-content .bpmn-note[data-v-692566b3]{margin-top:12px;padding:12px;background-color:#fffbe6;border:1px solid #ffe58f;border-radius:4px}.compensation-event-config .config-content .bpmn-note .note-title[data-v-692566b3]{font-weight:600;color:#d48806;margin-bottom:8px}.compensation-event-config .config-content .bpmn-note ul[data-v-692566b3]{margin:0;padding-left:20px;color:#595959;font-size:12px;line-height:1.8}.loop-subprocess[data-v-2a02db82]{width:100%;background-color:#f9fbfd;border-radius:8px;padding:8px;box-shadow:0 2px 8px #0000000d}.loop-subprocess .loop-subprocess-header[data-v-2a02db82]{margin-bottom:8px}.loop-subprocess .loop-subprocess-header h3[data-v-2a02db82]{margin:0;font-size:16px;font-weight:600;color:#314659}.loop-subprocess .loop-subprocess-content[data-v-2a02db82],.loop-subprocess .loop-subprocess-content .config-section[data-v-2a02db82]{display:flex;flex-direction:column;gap:8px}.loop-subprocess .loop-subprocess-content .config-section h4[data-v-2a02db82]{margin:0;font-size:14px;font-weight:500;color:#314659}.loop-subprocess .loop-subprocess-content .config-section .help-text[data-v-2a02db82]{font-size:12px;color:#8c8c8c;margin-top:4px}.loop-subprocess .loop-subprocess-content .config-section .counter-config[data-v-2a02db82],.loop-subprocess .loop-subprocess-content .config-section .exception-config[data-v-2a02db82],.loop-subprocess .loop-subprocess-content .config-section .advanced-config[data-v-2a02db82]{margin-top:8px;padding:12px;background-color:#fff;border-radius:4px;border:1px solid #e8e8e8}.loop-subprocess .loop-subprocess-content .config-section .form-row[data-v-2a02db82]{margin-bottom:8px}.loop-subprocess .loop-subprocess-content .config-section .form-row[data-v-2a02db82]:last-child{margin-bottom:0}.loop-subprocess .loop-subprocess-content .config-section[data-v-2a02db82] .ant-radio-group{display:flex;gap:8px}.loop-subprocess .loop-subprocess-content .config-section[data-v-2a02db82] .ant-form-item{margin-bottom:0}.conditional-subprocess[data-v-d4afd4cb]{width:100%;background-color:#f9fbfd;border-radius:8px;padding:8px;box-shadow:0 2px 8px #0000000d}.conditional-subprocess .config-header[data-v-d4afd4cb]{margin-bottom:8px}.conditional-subprocess .config-header h3[data-v-d4afd4cb]{margin:0;font-size:16px;font-weight:600;color:#314659}.conditional-subprocess .config-content[data-v-d4afd4cb]{display:flex;flex-direction:column;gap:8px}.conditional-subprocess .config-content[data-v-d4afd4cb] .ant-tabs .ant-tabs-content{padding:8px 0}.conditional-subprocess .config-content .conditions-section .priority-control[data-v-d4afd4cb],.conditional-subprocess .config-content .default-section .priority-control[data-v-d4afd4cb],.conditional-subprocess .config-content .settings-section .priority-control[data-v-d4afd4cb]{display:flex;align-items:center;gap:8px}.conditional-subprocess .config-content .conditions-section .priority-control span[data-v-d4afd4cb],.conditional-subprocess .config-content .default-section .priority-control span[data-v-d4afd4cb],.conditional-subprocess .config-content .settings-section .priority-control span[data-v-d4afd4cb]{min-width:20px;text-align:center}.conditional-subprocess .config-content .conditions-section .condition-actions[data-v-d4afd4cb],.conditional-subprocess .config-content .default-section .condition-actions[data-v-d4afd4cb],.conditional-subprocess .config-content .settings-section .condition-actions[data-v-d4afd4cb]{display:flex;justify-content:flex-start;margin-top:8px}.conditional-subprocess .config-content .conditions-section .form-item[data-v-d4afd4cb],.conditional-subprocess .config-content .default-section .form-item[data-v-d4afd4cb],.conditional-subprocess .config-content .settings-section .form-item[data-v-d4afd4cb]{margin-bottom:8px}.action-button[data-v-d4afd4cb]{border:none;background:none;padding:4px 8px;border-radius:4px}.action-button[type=link][data-v-d4afd4cb]{color:#1890ff}.action-button[type=link][data-v-d4afd4cb]:hover{color:#40a9ff;background-color:#e6f7ff}.action-button[type=text][danger][data-v-d4afd4cb]{color:#ff4d4f}.action-button[type=text][danger][data-v-d4afd4cb]:hover{color:#ff7875;background-color:#fff1f0}.variable-persistence[data-v-93e739a2]{width:100%;background-color:#f9fbfd;border-radius:8px;padding:8px;box-shadow:0 2px 8px #0000000d}.variable-persistence .config-header[data-v-93e739a2]{margin-bottom:8px}.variable-persistence .config-header h3[data-v-93e739a2]{margin:0;font-size:16px;font-weight:600;color:#314659}.variable-persistence .config-content .tab-content[data-v-93e739a2]{padding-top:8px;display:flex;flex-direction:column;gap:12px}.variable-persistence .config-content .tab-content .form-item[data-v-93e739a2]{margin-bottom:0}.variable-persistence .config-content .tab-content .custom-strategy[data-v-93e739a2],.variable-persistence .config-content .tab-content .history-config[data-v-93e739a2],.variable-persistence .config-content .tab-content .encryption-config[data-v-93e739a2],.variable-persistence .config-content .tab-content .access-control-config[data-v-93e739a2]{border-top:1px solid #e8e8e8;padding-top:8px;margin-top:8px}.variable-persistence[data-v-93e739a2] .ant-tabs-nav{margin-bottom:0}.variable-persistence[data-v-93e739a2] .ant-tabs-content{min-height:300px}.action-button[data-v-93e739a2]{border:none;background:none;padding:4px 8px;border-radius:4px}.action-button[type=link][data-v-93e739a2]{color:#1890ff}.action-button[type=link][data-v-93e739a2]:hover{color:#40a9ff;background-color:#e6f7ff}.action-button[type=text][danger][data-v-93e739a2]{color:#ff4d4f}.action-button[type=text][danger][data-v-93e739a2]:hover{color:#ff7875;background-color:#fff1f0}.async-executor-config[data-v-49dbde87]{width:100%;border-radius:8px;padding:8px;box-shadow:0 2px 8px #0000000d}.async-executor-config .config-header[data-v-49dbde87]{margin-bottom:8px}.async-executor-config .config-header h3[data-v-49dbde87]{margin:0;font-size:16px;font-weight:600;color:#314659}.async-executor-config .config-content[data-v-49dbde87]{display:flex;flex-direction:column;gap:8px}.async-executor-config .config-content .form-item[data-v-49dbde87]{margin-bottom:0}.async-executor-config .config-content .form-item .thread-pool-config[data-v-49dbde87],.async-executor-config .config-content .form-item .priority-config[data-v-49dbde87],.async-executor-config .config-content .form-item .retry-config[data-v-49dbde87],.async-executor-config .config-content .form-item .timeout-config[data-v-49dbde87],.async-executor-config .config-content .form-item .monitor-config[data-v-49dbde87],.async-executor-config .config-content .form-item .task-rule-management[data-v-49dbde87],.async-executor-config .config-content .form-item .advanced-config[data-v-49dbde87]{margin-top:8px}.async-executor-config .action-button[data-v-49dbde87]{border:none;background:none;padding:4px 8px;border-radius:4px}.async-executor-config .action-button[type=link][data-v-49dbde87]{color:#1890ff}.async-executor-config .action-button[type=link][data-v-49dbde87]:hover{color:#40a9ff;background-color:#e6f7ff}.async-executor-config .action-button[type=text][danger][data-v-49dbde87]{color:#ff4d4f}.async-executor-config .action-button[type=text][danger][data-v-49dbde87]:hover{color:#ff7875;background-color:#fff1f0}.process-permission[data-v-f3cce94a]{width:100%;background-color:#f9fbfd;border-radius:8px;padding:8px;box-shadow:0 2px 8px #0000000d}.process-permission .config-header[data-v-f3cce94a]{margin-bottom:8px}.process-permission .config-header h3[data-v-f3cce94a]{margin:0;font-size:16px;font-weight:600;color:#314659}.process-permission .config-content[data-v-f3cce94a]{display:flex;flex-direction:column;gap:8px}.process-permission .config-content .form-item[data-v-f3cce94a]{margin-bottom:0}.process-permission .config-content .custom-permission[data-v-f3cce94a]{border-top:1px solid #e8e8e8;padding-top:8px;margin-top:8px}.process-permission .config-content .custom-permission .permission-section[data-v-f3cce94a]{padding:8px 0}.process-permission .config-content .custom-permission .permission-section .section-desc[data-v-f3cce94a]{color:#666;font-size:13px;margin-bottom:8px}.process-permission .config-content .custom-permission .advanced-settings[data-v-f3cce94a]{margin-top:8px}.action-button[data-v-f3cce94a]{border:none;background:none;padding:4px 8px;border-radius:4px}.action-button[type=link][data-v-f3cce94a]{color:#1890ff}.action-button[type=link][data-v-f3cce94a]:hover{color:#40a9ff;background-color:#e6f7ff}.action-button[type=text][danger][data-v-f3cce94a]{color:#ff4d4f}.action-button[type=text][danger][data-v-f3cce94a]:hover{color:#ff7875;background-color:#fff1f0}.scrollbar-sm[data-v-85fdbdf7]::-webkit-scrollbar{width:6px;height:6px}.scrollbar-sm[data-v-85fdbdf7] *::-webkit-scrollbar{width:6px;height:6px}.scroll-overlay[data-v-85fdbdf7]::-webkit-scrollbar{overflow:overlay}.font-size-sm[data-v-85fdbdf7]{font-size:12px}.font-size-normal[data-v-85fdbdf7]{font-size:14px}.font-size-lg[data-v-85fdbdf7]{font-size:16px}.primary-color[data-v-85fdbdf7]{color:#1377eb}.primary-bgColor[data-v-85fdbdf7]{background-color:#1377eb}.link-color[data-v-85fdbdf7]{color:#1377eb}.success-color[data-v-85fdbdf7]{color:#52c41a}.success-bgColor[data-v-85fdbdf7]{background-color:#52c41a}.warning-color[data-v-85fdbdf7]{color:#faad14}.error-color[data-v-85fdbdf7]{color:#ff4d4f}.error-bgColor[data-v-85fdbdf7]{background-color:#fff2f0}.label-color[data-v-85fdbdf7]{color:#64748b}.heading-color[data-v-85fdbdf7]{color:#1a253b}.heading-bgColor[data-v-85fdbdf7]{background-color:#1a253b}.text-color[data-v-85fdbdf7]{color:#1a253b}.text-color-secondary[data-v-85fdbdf7]{color:#4e5d78}.disabled-color[data-v-85fdbdf7]{color:#bcc1cc}.bgColor-light[data-v-85fdbdf7],.table-head-bgColor[data-v-85fdbdf7]{background-color:#f5f7fa}.hover-bg-color[data-v-85fdbdf7]:hover{background-color:#f0f7ff}.icon-bg-color[data-v-85fdbdf7]:hover{background-color:#e6f4ff}.padding-xs[data-v-85fdbdf7]{padding:.25rem}.padding-s[data-v-85fdbdf7]{padding:.5rem}.padding-l[data-v-85fdbdf7]{padding:.75rem}.padding-xl[data-v-85fdbdf7]{padding:1rem}.padding-xxl[data-v-85fdbdf7]{padding:1.5rem}.padding-xxxl[data-v-85fdbdf7]{padding:2rem}.margin-xs[data-v-85fdbdf7]{margin:.25rem}.margin-s[data-v-85fdbdf7]{margin:.5rem}.margin-l[data-v-85fdbdf7]{margin:.75rem}.margin-xl[data-v-85fdbdf7]{margin:1rem}.margin-xxl[data-v-85fdbdf7]{margin:1.5rem}.margin-xxxl[data-v-85fdbdf7]{margin:2rem}.a-link[data-v-85fdbdf7]{display:inline-block;padding-left:2px;padding-right:2px;color:#1377eb;border-radius:6px}.a-link[data-v-85fdbdf7]:hover{color:#3b99f7;background-color:#e6f4ff;cursor:pointer}.a-link[data-v-85fdbdf7]:active{color:#0658c4;background-color:#fafbfc}.a-link--disabled[data-v-85fdbdf7]{color:#bcc1cc}.a-link--disabled[data-v-85fdbdf7]:hover,.a-link--disabled[data-v-85fdbdf7]:active{color:#bcc1cc;background-color:transparent;cursor:not-allowed}.composite-field[data-v-85fdbdf7]{width:100%;background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid transparent}.composite-field[data-v-85fdbdf7]:hover{box-shadow:0 4px 16px #0000000f;border-color:#e4e8ee}.composite-field[data-v-85fdbdf7]:focus-within{border-color:#1377eb;box-shadow:0 0 0 3px #1377eb14}.composite-field .field-header[data-v-85fdbdf7]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid #f0f2f5}.composite-field .field-header h3[data-v-85fdbdf7]{margin:0;font-size:16px;font-weight:600;color:#1a253b;letter-spacing:.3px;padding-left:8px;border-left:3px solid #1377eb}.composite-field .field-header .header-actions[data-v-85fdbdf7]{display:flex;gap:8px}.composite-field .field-header .header-actions .ant-btn[data-v-85fdbdf7]{border-radius:6px;transition:all .2s ease}.composite-field .field-header .header-actions .ant-btn[data-v-85fdbdf7]:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.composite-field .field-content[data-v-85fdbdf7]{display:flex;flex-direction:column;gap:8px}.composite-field .config-section[data-v-85fdbdf7]{display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:8px;border:1px solid #f0f2f5}.composite-field .config-section h4[data-v-85fdbdf7]{margin:0;font-size:14px;font-weight:600;color:#1a253b;display:flex;align-items:center;gap:8px}.composite-field .config-section h4[data-v-85fdbdf7]:before{content:"";width:4px;height:16px;background:#1377eb;border-radius:2px}.composite-field .form-item[data-v-85fdbdf7]{margin-bottom:0}.composite-field .form-item[data-v-85fdbdf7]:not(:last-child){margin-bottom:6px}.composite-field .overview-card[data-v-85fdbdf7]{background:#fff;border-radius:10px;padding:8px;border:1px solid #e4e8ee;transition:all .3s cubic-bezier(.4,0,.2,1)}.composite-field .overview-card[data-v-85fdbdf7]:hover{box-shadow:0 4px 12px #00000014;border-color:#1377eb}.composite-field .overview-card .overview-content[data-v-85fdbdf7]{display:flex;flex-direction:column;gap:8px}.composite-field .overview-card .overview-content .overview-item[data-v-85fdbdf7]{display:flex;align-items:center;gap:8px}.composite-field .overview-card .overview-content .overview-item .overview-label[data-v-85fdbdf7]{font-size:13px;font-weight:500;color:#64748b;min-width:100px}.composite-field .overview-card .overview-content .overview-item .overview-value[data-v-85fdbdf7]{font-size:14px;color:#1a253b;font-weight:500}.composite-field .edit-content[data-v-85fdbdf7],.composite-field .edit-content .config-item[data-v-85fdbdf7]{display:flex;flex-direction:column;gap:8px}.composite-field .edit-content .config-item label[data-v-85fdbdf7]{font-size:14px;font-weight:600;color:#1a253b}.composite-field .edit-content .config-item label.required[data-v-85fdbdf7]:after{content:"*";color:#ff4d4f;margin-left:4px}.composite-field .list-container[data-v-85fdbdf7]{display:flex;flex-direction:column;gap:8px}.composite-field .list-container .list-item[data-v-85fdbdf7]{background:#fff;border-radius:8px;padding:8px 12px;border:1px solid #e4e8ee;transition:all .25s cubic-bezier(.4,0,.2,1)}.composite-field .list-container .list-item[data-v-85fdbdf7]:hover{box-shadow:0 2px 8px #0000000f;border-color:#1377eb}.composite-field .list-container .list-item.selected[data-v-85fdbdf7]{border-color:#1377eb;background:#f0f7ff;box-shadow:0 0 0 2px #1377eb1a}.composite-field .action-buttons[data-v-85fdbdf7]{display:flex;gap:8px;justify-content:flex-end;padding-top:8px;border-top:1px solid #f0f2f5}.composite-field .action-buttons .ant-btn[data-v-85fdbdf7]{border-radius:6px;min-width:80px}.composite-field .action-buttons .ant-btn.ant-btn-primary[data-v-85fdbdf7]{box-shadow:0 2px 8px #1377eb33}.composite-field .action-buttons .ant-btn.ant-btn-primary[data-v-85fdbdf7]:hover{box-shadow:0 4px 12px #1377eb4d;transform:translateY(-1px)}.composite-field .help-text[data-v-85fdbdf7]{font-size:12px;color:#4e5d78;line-height:1.5;padding:8px 12px;background:#f5f7fa;border-radius:6px;border-left:3px solid #1377eb}.composite-field .help-text[data-v-85fdbdf7]:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#1377eb;margin-right:6px;vertical-align:middle}.composite-field .status-label[data-v-85fdbdf7]{font-size:12px;font-weight:500;padding:4px 12px;border-radius:12px;display:inline-flex;align-items:center;gap:4px}.composite-field .status-label.status-success[data-v-85fdbdf7]{background-color:#f6ffed;color:#52c41a}.composite-field .status-label.status-success[data-v-85fdbdf7]:before{content:"✓"}.composite-field .status-label.status-warning[data-v-85fdbdf7]{background-color:#fffbe6;color:#faad14}.composite-field .status-label.status-warning[data-v-85fdbdf7]:before{content:"!"}.composite-field .status-label.status-error[data-v-85fdbdf7]{background-color:#fff2f0;color:#ff4d4f}.composite-field .status-label.status-error[data-v-85fdbdf7]:before{content:"✕"}.composite-field .status-label.status-info[data-v-85fdbdf7]{background-color:#f5f7fa;color:#1377eb}.composite-field .status-label.status-info[data-v-85fdbdf7]:before{content:"ℹ"}.composite-field .empty-state-inline[data-v-85fdbdf7]{display:flex;flex-direction:column;align-items:center;padding:16px 12px;text-align:center}.composite-field .empty-state-inline .empty-icon[data-v-85fdbdf7]{font-size:48px;margin-bottom:12px;opacity:.5}.composite-field .empty-state-inline .empty-text[data-v-85fdbdf7]{font-size:14px;color:#4e5d78;margin-bottom:8px}@media(max-width:768px){.composite-field[data-v-85fdbdf7]{border-radius:10px}.composite-field .field-header[data-v-85fdbdf7]{margin-bottom:8px;padding-bottom:8px}.composite-field .field-header h3[data-v-85fdbdf7]{font-size:15px;padding-left:8px}.composite-field .config-section[data-v-85fdbdf7]{padding:10px;gap:10px}.composite-field .overview-card[data-v-85fdbdf7]{padding:12px}}@media(max-width:320px){.composite-field[data-v-85fdbdf7]{border-radius:8px}.composite-field .field-header h3[data-v-85fdbdf7]{font-size:14px}.composite-field .action-buttons[data-v-85fdbdf7]{flex-direction:column;gap:8px}.composite-field .action-buttons .ant-btn[data-v-85fdbdf7]{width:100%}}@media(prefers-reduced-motion:reduce){.composite-field[data-v-85fdbdf7]{transition:none}.composite-field[data-v-85fdbdf7]:hover{transition:none;transform:none}.composite-field .overview-card[data-v-85fdbdf7],.composite-field .list-item[data-v-85fdbdf7],.composite-field .ant-btn[data-v-85fdbdf7]{transition:none}.composite-field .overview-card[data-v-85fdbdf7]:hover,.composite-field .list-item[data-v-85fdbdf7]:hover,.composite-field .ant-btn[data-v-85fdbdf7]:hover{transform:none}}.composite-field[data-v-85fdbdf7] .ant-form-item{margin-bottom:8px}.composite-field[data-v-85fdbdf7] .ant-table{font-size:13px}.composite-field[data-v-85fdbdf7] .ant-table .ant-table-thead>tr>th,.composite-field[data-v-85fdbdf7] .ant-table .ant-table-tbody>tr>td{padding:6px 8px}.composite-field[data-v-85fdbdf7] .ant-table .ant-table-thead>tr>th{background:#f8fafc;font-weight:500;font-size:13px}.composite-field[data-v-85fdbdf7] .ant-table .ant-table-empty .ant-table-placeholder{padding:8px}.composite-field[data-v-85fdbdf7] .ant-checkbox-group{display:flex;flex-direction:column;gap:6px}.composite-field[data-v-85fdbdf7] .ant-checkbox-group .ant-checkbox-wrapper{margin:0;padding:2px 0;font-size:13px}.composite-field[data-v-85fdbdf7] .ant-radio-group{display:flex;flex-direction:column;gap:6px}.composite-field[data-v-85fdbdf7] .ant-radio-group .ant-radio-wrapper{font-size:13px}.composite-field[data-v-85fdbdf7] .ant-collapse .ant-collapse-header{padding:8px 12px!important;font-size:13px}.composite-field[data-v-85fdbdf7] .ant-collapse .ant-collapse-content>.ant-collapse-content-box{padding:8px 12px!important}.composite-field[data-v-85fdbdf7] .ant-input,.composite-field[data-v-85fdbdf7] .ant-select-selector,.composite-field[data-v-85fdbdf7] .ant-input-number{font-size:13px}.composite-field[data-v-85fdbdf7] .ant-btn{font-size:13px;height:28px;padding:0 10px}.composite-field[data-v-85fdbdf7] .ant-btn-sm{height:24px;padding:0 8px;font-size:12px}.composite-field[data-v-85fdbdf7] .ant-tabs .ant-tabs-nav{margin-bottom:8px}.composite-field[data-v-85fdbdf7] .ant-modal-footer{padding:8px 16px}.composite-field[data-v-85fdbdf7] .ant-alert{padding:6px 8px;font-size:13px}.composite-field[data-v-85fdbdf7] .ant-btn-link,.composite-field[data-v-85fdbdf7] .ant-btn-icon-only.ant-btn-link{color:#1377eb;padding:0 4px;height:auto;font-size:13px}.composite-field[data-v-85fdbdf7] .ant-btn-link:hover,.composite-field[data-v-85fdbdf7] .ant-btn-icon-only.ant-btn-link:hover{color:#1377eb;opacity:.85}.composite-field[data-v-85fdbdf7] .ant-btn-link:active,.composite-field[data-v-85fdbdf7] .ant-btn-icon-only.ant-btn-link:active{color:#096dd9}.composite-field[data-v-85fdbdf7] .ant-btn-link:disabled,.composite-field[data-v-85fdbdf7] .ant-btn-icon-only.ant-btn-link:disabled,.composite-field[data-v-85fdbdf7] .ant-btn-link[disabled],.composite-field[data-v-85fdbdf7] .ant-btn-icon-only.ant-btn-link[disabled]{color:#bcc1cc}.composite-field[data-v-85fdbdf7] .edit-icon,.composite-field[data-v-85fdbdf7] .action-edit{color:#1377eb;cursor:pointer;transition:color .2s ease,opacity .2s ease}.composite-field[data-v-85fdbdf7] .edit-icon:hover,.composite-field[data-v-85fdbdf7] .action-edit:hover{color:#1377eb}.composite-field[data-v-85fdbdf7] .ant-btn-text.ant-btn-dangerous,.composite-field[data-v-85fdbdf7] .ant-btn-link.ant-btn-dangerous{color:#ff4d4f;padding:0 4px;height:auto;font-size:13px}.composite-field[data-v-85fdbdf7] .ant-btn-text.ant-btn-dangerous:hover,.composite-field[data-v-85fdbdf7] .ant-btn-link.ant-btn-dangerous:hover{color:#ff4d4f;background:#ff4d4f14;opacity:.85}.composite-field[data-v-85fdbdf7] .ant-btn-text.ant-btn-dangerous:active,.composite-field[data-v-85fdbdf7] .ant-btn-link.ant-btn-dangerous:active{color:#cf4446;background:#ff4d4f1f}.composite-field[data-v-85fdbdf7] .ant-btn-text.ant-btn-dangerous:disabled,.composite-field[data-v-85fdbdf7] .ant-btn-link.ant-btn-dangerous:disabled,.composite-field[data-v-85fdbdf7] .ant-btn-text.ant-btn-dangerous[disabled],.composite-field[data-v-85fdbdf7] .ant-btn-link.ant-btn-dangerous[disabled]{color:#bcc1cc}.composite-field[data-v-85fdbdf7] .delete-icon,.composite-field[data-v-85fdbdf7] .action-delete,.composite-field[data-v-85fdbdf7] .delete-outlined,.composite-field[data-v-85fdbdf7] .anticon-delete,.composite-field[data-v-85fdbdf7] .anticon-delete-outlined{color:#ff4d4f;cursor:pointer;transition:color .2s ease}.composite-field[data-v-85fdbdf7] .delete-icon:hover,.composite-field[data-v-85fdbdf7] .action-delete:hover,.composite-field[data-v-85fdbdf7] .delete-outlined:hover,.composite-field[data-v-85fdbdf7] .anticon-delete:hover,.composite-field[data-v-85fdbdf7] .anticon-delete-outlined:hover{color:#cf4446}.composite-field[data-v-85fdbdf7] .ant-table .ant-btn-icon-only{padding:0;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center}.composite-field[data-v-85fdbdf7] .toolbar-icon,.composite-field[data-v-85fdbdf7] .header-icon{font-size:14px;vertical-align:middle}.variable-mapping[data-v-85fdbdf7]{width:100%;background-color:#f9fbfd;border-radius:8px;padding:8px;box-shadow:0 2px 8px #0000000d}.variable-mapping .config-header[data-v-85fdbdf7]{margin-bottom:8px}.variable-mapping .config-header h3[data-v-85fdbdf7]{margin:0;font-size:16px;font-weight:600;color:#314659}.variable-mapping .config-content[data-v-85fdbdf7]{display:flex;flex-direction:column;gap:8px}.variable-mapping .config-content .section-header[data-v-85fdbdf7]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-weight:500;color:#314659}.variable-mapping .config-content .mapping-section[data-v-85fdbdf7],.variable-mapping .config-content .transformation-section[data-v-85fdbdf7],.variable-mapping .config-content .validation-section[data-v-85fdbdf7],.variable-mapping .config-content .advanced-section[data-v-85fdbdf7]{padding:8px 0}.variable-mapping .test-result[data-v-85fdbdf7]{margin-top:8px}.variable-mapping .test-result .json-preview[data-v-85fdbdf7]{margin:0;padding:8px;background:#f5f5f5;border-radius:4px;font-size:12px;max-height:150px;overflow:auto}.variable-mapping .test-result .test-messages[data-v-85fdbdf7]{margin-top:12px}.variable-mapping .test-result .test-messages h4[data-v-85fdbdf7]{margin:0 0 8px;font-size:14px}.variable-mapping .test-result .test-messages ul[data-v-85fdbdf7]{margin:0;padding-left:20px}.variable-mapping .test-result .test-messages ul li[data-v-85fdbdf7]{margin:4px 0}.process-exception-config[data-v-8f70f449]{width:100%;background-color:#f9fbfd;border-radius:8px;padding:8px;box-shadow:0 2px 8px #0000000d}.process-exception-config .config-header[data-v-8f70f449]{margin-bottom:8px}.process-exception-config .config-header h3[data-v-8f70f449]{margin:0;font-size:16px;font-weight:600;color:#314659}.process-exception-config .config-content .tab-content[data-v-8f70f449]{padding-top:8px}.process-exception-config .config-content .tab-content .config-section[data-v-8f70f449]{display:flex;flex-direction:column;gap:12px}.process-exception-config .config-content .tab-content .config-section h4[data-v-8f70f449]{margin:0;font-size:14px;font-weight:500;color:#314659}.process-exception-config .config-content .tab-content .config-section[data-v-8f70f449] .ant-checkbox-group,.process-exception-config .config-content .tab-content .config-section[data-v-8f70f449] .ant-radio-group{display:flex;flex-wrap:wrap;gap:8px}.process-exception-config .config-content .tab-content .config-section[data-v-8f70f449] .ant-form-item{margin-bottom:8px}.process-exception-config .config-content .tab-content .config-section[data-v-8f70f449] .ant-form-item:last-child{margin-bottom:0}.cmmn-case-management[data-v-ca73a8d5]{width:100%;background-color:#f9fbfd;border-radius:8px;padding:8px;box-shadow:0 2px 8px #0000000d}.cmmn-case-management .config-header[data-v-ca73a8d5]{margin-bottom:8px}.cmmn-case-management .config-header h3[data-v-ca73a8d5]{margin:0;font-size:16px;font-weight:600;color:#314659}.cmmn-case-management .config-content[data-v-ca73a8d5]{display:flex;flex-direction:column;gap:8px}.cmmn-case-management .config-content .tab-content[data-v-ca73a8d5]{padding-top:8px}.cmmn-case-management .config-content .form-item[data-v-ca73a8d5]{margin-bottom:0}.cmmn-case-management .config-content .task-config[data-v-ca73a8d5]{padding:12px;background-color:#fff;border-radius:4px;margin-bottom:8px}.history-archive[data-v-07b91011]{width:100%;background-color:#f9fbfd;border-radius:8px;padding:8px;box-shadow:0 2px 8px #0000000d}.history-archive .config-header[data-v-07b91011]{margin-bottom:8px}.history-archive .config-header h3[data-v-07b91011]{margin:0;font-size:16px;font-weight:600;color:#314659}.history-archive .config-content[data-v-07b91011]{display:flex;flex-direction:column;gap:8px}.history-archive .config-content .form-item[data-v-07b91011]{margin-bottom:0}.history-archive .config-content .form-item .time-config[data-v-07b91011],.history-archive .config-content .form-item .count-config[data-v-07b91011],.history-archive .config-content .form-item .size-config[data-v-07b91011],.history-archive .config-content .form-item .database-config[data-v-07b91011],.history-archive .config-content .form-item .file-config[data-v-07b91011],.history-archive .config-content .form-item .object-storage-config[data-v-07b91011],.history-archive .config-content .form-item .compression-config[data-v-07b91011],.history-archive .config-content .form-item .restore-config[data-v-07b91011],.history-archive .config-content .form-item .schedule-config[data-v-07b91011],.history-archive .config-content .form-item .rule-management[data-v-07b91011],.history-archive .config-content .form-item .advanced-config[data-v-07b91011]{margin-top:8px}.action-button[data-v-07b91011]{border:none;background:none;padding:4px 8px;border-radius:4px}.action-button[type=link][data-v-07b91011]{color:#1890ff}.action-button[type=link][data-v-07b91011]:hover{color:#40a9ff;background-color:#e6f7ff}.action-button[type=text][danger][data-v-07b91011]{color:#ff4d4f}.action-button[type=text][danger][data-v-07b91011]:hover{color:#ff7875;background-color:#fff1f0}.process-simulation-config[data-v-343b6d5b]{width:100%;background-color:#f9fbfd;border-radius:8px;padding:8px;box-shadow:0 2px 8px #0000000d}.process-simulation-config .config-header[data-v-343b6d5b]{margin-bottom:8px}.process-simulation-config .config-header h3[data-v-343b6d5b]{margin:0;font-size:16px;font-weight:600;color:#314659}.process-simulation-config .config-content[data-v-343b6d5b]{display:flex;flex-direction:column;gap:8px}.process-simulation-config .config-content .tab-content[data-v-343b6d5b]{padding-top:8px}.process-simulation-config .config-content .form-item[data-v-343b6d5b]{margin-bottom:8px}.process-simulation-config .config-content .form-item .variable-management[data-v-343b6d5b],.process-simulation-config .config-content .form-item .database-config[data-v-343b6d5b],.process-simulation-config .config-content .form-item .parameters-config[data-v-343b6d5b],.process-simulation-config .config-content .form-item .advanced-options[data-v-343b6d5b],.process-simulation-config .config-content .form-item .report-options[data-v-343b6d5b]{margin-top:8px}.process-simulation-config .config-content .form-item .simulation-controls[data-v-343b6d5b]{display:flex;align-items:center}.process-simulation-config .config-content .form-item .simulation-progress .progress-info[data-v-343b6d5b]{margin-top:12px;display:flex;gap:12px;font-size:14px}.process-simulation-config .config-content .form-item .stats-overview[data-v-343b6d5b],.process-simulation-config .config-content .form-item .data-preview[data-v-343b6d5b]{margin-top:8px}.process-simulation-config .config-content .form-item .bottleneck-detail[data-v-343b6d5b]{padding:8px 0}.process-simulation-config .config-content .form-item .bottleneck-detail p[data-v-343b6d5b]{margin:4px 0}.process-simulation-config .config-content .form-item .report-options[data-v-343b6d5b]{display:flex;flex-direction:column;gap:8px}.process-simulation-config .config-content .form-item .report-preview[data-v-343b6d5b]{margin-top:8px}.process-simulation-config .config-content .form-item .report-preview .report-section[data-v-343b6d5b]{margin-bottom:8px}.process-simulation-config .config-content .form-item .report-preview .report-section h4[data-v-343b6d5b]{margin:0 0 12px;font-size:14px;font-weight:600;color:#1890ff}.process-simulation-config .config-content .form-item .report-preview .report-section p[data-v-343b6d5b]{margin:4px 0}.process-simulation-config .config-content .form-item .report-preview .report-section ul[data-v-343b6d5b]{margin:8px 0 0 20px}.process-monitoring-config[data-v-f14bf45f]{width:100%;background-color:#f9fbfd;border-radius:8px;padding:8px;box-shadow:0 2px 8px #0000000d}.process-monitoring-config .config-header[data-v-f14bf45f]{margin-bottom:8px}.process-monitoring-config .config-header h3[data-v-f14bf45f]{margin:0;font-size:16px;font-weight:600;color:#314659}.process-monitoring-config .config-content .section-header[data-v-f14bf45f]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.process-monitoring-config .config-content .section-header h4[data-v-f14bf45f]{margin:0;font-size:14px;font-weight:600;color:#333}.process-monitoring-config .config-content .metrics-grid[data-v-f14bf45f]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px}.process-monitoring-config .config-content .metrics-grid .metric-card[data-v-f14bf45f]{background:#fff;border:1px solid #e8e8e8;border-radius:8px;padding:8px;transition:all .3s}.process-monitoring-config .config-content .metrics-grid .metric-card[data-v-f14bf45f]:hover{box-shadow:0 4px 12px #0000001a}.process-monitoring-config .config-content .metrics-grid .metric-card.selected[data-v-f14bf45f]{border-color:#1890ff;box-shadow:0 2px 8px #1890ff33}.process-monitoring-config .config-content .metrics-grid .metric-card .metric-card-header[data-v-f14bf45f]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.process-monitoring-config .config-content .metrics-grid .metric-card .metric-card-header .metric-name[data-v-f14bf45f]{font-weight:500;color:#333}.process-monitoring-config .config-content .metrics-grid .metric-card .metric-card-header .metric-icon[data-v-f14bf45f]{width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:16px}.process-monitoring-config .config-content .metrics-grid .metric-card .metric-description[data-v-f14bf45f]{font-size:12px;color:#666;margin:0 0 12px}.process-monitoring-config .config-content .mock-chart[data-v-f14bf45f]{background:#fff;border:1px solid #e8e8e8;border-radius:8px;padding:8px}.process-monitoring-config .config-content .mock-chart .mock-chart-header[data-v-f14bf45f]{font-weight:600;margin-bottom:8px;color:#333}.process-monitoring-config .config-content .mock-chart .mock-chart-body .chart-axis[data-v-f14bf45f]{display:flex;height:200px}.process-monitoring-config .config-content .mock-chart .mock-chart-body .chart-axis .y-axis[data-v-f14bf45f]{display:flex;flex-direction:column;justify-content:space-between;padding-right:8px;font-size:12px;color:#666}.process-monitoring-config .config-content .mock-chart .mock-chart-body .chart-axis .chart-area[data-v-f14bf45f]{flex:1;position:relative}.process-monitoring-config .config-content .mock-chart .mock-chart-body .chart-axis .chart-area .chart-grid[data-v-f14bf45f]{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between}.process-monitoring-config .config-content .mock-chart .mock-chart-body .chart-axis .chart-area .chart-grid .grid-line[data-v-f14bf45f]{border-bottom:1px dashed #e8e8e8}.process-monitoring-config .config-content .mock-chart .mock-chart-body .chart-axis .chart-area .chart-line[data-v-f14bf45f]{position:absolute;inset:0}.process-monitoring-config .config-content .mock-chart .mock-chart-body .chart-axis .chart-area .chart-line .line-chart[data-v-f14bf45f]{width:100%;height:100%}.process-monitoring-config .config-content .mock-chart .mock-chart-body .x-axis[data-v-f14bf45f]{display:flex;justify-content:space-between;margin-top:8px;font-size:12px;color:#666}.process-monitoring-config .config-content .event-header[data-v-f14bf45f]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.process-monitoring-config .config-content .event-header .event-time[data-v-f14bf45f]{font-size:12px;color:#666}.process-monitoring-config .config-content .event-message[data-v-f14bf45f]{margin:0 0 8px;color:#333}.process-monitoring-config .config-content .advanced-section .ant-card[data-v-f14bf45f]{background:#fff}.action-button[data-v-f14bf45f]{border:none;background:none;padding:4px 8px;border-radius:4px}.action-button[type=link][data-v-f14bf45f]{color:#1890ff}.action-button[type=link][data-v-f14bf45f]:hover{color:#40a9ff;background-color:#e6f7ff}.action-button[type=text][danger][data-v-f14bf45f]{color:#ff4d4f}.action-button[type=text][danger][data-v-f14bf45f]:hover{color:#ff7875;background-color:#fff1f0}.scrollbar-sm[data-v-fb12c6e7]::-webkit-scrollbar{width:6px;height:6px}.scrollbar-sm[data-v-fb12c6e7] *::-webkit-scrollbar{width:6px;height:6px}.scroll-overlay[data-v-fb12c6e7]::-webkit-scrollbar{overflow:overlay}.font-size-sm[data-v-fb12c6e7]{font-size:12px}.font-size-normal[data-v-fb12c6e7]{font-size:14px}.font-size-lg[data-v-fb12c6e7]{font-size:16px}.primary-color[data-v-fb12c6e7]{color:#1377eb}.primary-bgColor[data-v-fb12c6e7]{background-color:#1377eb}.link-color[data-v-fb12c6e7]{color:#1377eb}.success-color[data-v-fb12c6e7]{color:#52c41a}.success-bgColor[data-v-fb12c6e7]{background-color:#52c41a}.warning-color[data-v-fb12c6e7]{color:#faad14}.error-color[data-v-fb12c6e7]{color:#ff4d4f}.error-bgColor[data-v-fb12c6e7]{background-color:#fff2f0}.label-color[data-v-fb12c6e7]{color:#64748b}.heading-color[data-v-fb12c6e7]{color:#1a253b}.heading-bgColor[data-v-fb12c6e7]{background-color:#1a253b}.text-color[data-v-fb12c6e7]{color:#1a253b}.text-color-secondary[data-v-fb12c6e7]{color:#4e5d78}.disabled-color[data-v-fb12c6e7]{color:#bcc1cc}.bgColor-light[data-v-fb12c6e7],.table-head-bgColor[data-v-fb12c6e7]{background-color:#f5f7fa}.hover-bg-color[data-v-fb12c6e7]:hover{background-color:#f0f7ff}.icon-bg-color[data-v-fb12c6e7]:hover{background-color:#e6f4ff}.padding-xs[data-v-fb12c6e7]{padding:.25rem}.padding-s[data-v-fb12c6e7]{padding:.5rem}.padding-l[data-v-fb12c6e7]{padding:.75rem}.padding-xl[data-v-fb12c6e7]{padding:1rem}.padding-xxl[data-v-fb12c6e7]{padding:1.5rem}.padding-xxxl[data-v-fb12c6e7]{padding:2rem}.margin-xs[data-v-fb12c6e7]{margin:.25rem}.margin-s[data-v-fb12c6e7]{margin:.5rem}.margin-l[data-v-fb12c6e7]{margin:.75rem}.margin-xl[data-v-fb12c6e7]{margin:1rem}.margin-xxl[data-v-fb12c6e7]{margin:1.5rem}.margin-xxxl[data-v-fb12c6e7]{margin:2rem}.a-link[data-v-fb12c6e7]{display:inline-block;padding-left:2px;padding-right:2px;color:#1377eb;border-radius:6px}.a-link[data-v-fb12c6e7]:hover{color:#3b99f7;background-color:#e6f4ff;cursor:pointer}.a-link[data-v-fb12c6e7]:active{color:#0658c4;background-color:#fafbfc}.a-link--disabled[data-v-fb12c6e7]{color:#bcc1cc}.a-link--disabled[data-v-fb12c6e7]:hover,.a-link--disabled[data-v-fb12c6e7]:active{color:#bcc1cc;background-color:transparent;cursor:not-allowed}.composite-field[data-v-fb12c6e7]{width:100%;background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid transparent}.composite-field[data-v-fb12c6e7]:hover{box-shadow:0 4px 16px #0000000f;border-color:#e4e8ee}.composite-field[data-v-fb12c6e7]:focus-within{border-color:#1377eb;box-shadow:0 0 0 3px #1377eb14}.composite-field .field-header[data-v-fb12c6e7]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid #f0f2f5}.composite-field .field-header h3[data-v-fb12c6e7]{margin:0;font-size:16px;font-weight:600;color:#1a253b;letter-spacing:.3px;padding-left:8px;border-left:3px solid #1377eb}.composite-field .field-header .header-actions[data-v-fb12c6e7]{display:flex;gap:8px}.composite-field .field-header .header-actions .ant-btn[data-v-fb12c6e7]{border-radius:6px;transition:all .2s ease}.composite-field .field-header .header-actions .ant-btn[data-v-fb12c6e7]:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.composite-field .field-content[data-v-fb12c6e7]{display:flex;flex-direction:column;gap:8px}.composite-field .config-section[data-v-fb12c6e7]{display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:8px;border:1px solid #f0f2f5}.composite-field .config-section h4[data-v-fb12c6e7]{margin:0;font-size:14px;font-weight:600;color:#1a253b;display:flex;align-items:center;gap:8px}.composite-field .config-section h4[data-v-fb12c6e7]:before{content:"";width:4px;height:16px;background:#1377eb;border-radius:2px}.composite-field .form-item[data-v-fb12c6e7]{margin-bottom:0}.composite-field .form-item[data-v-fb12c6e7]:not(:last-child){margin-bottom:6px}.composite-field .overview-card[data-v-fb12c6e7]{background:#fff;border-radius:10px;padding:8px;border:1px solid #e4e8ee;transition:all .3s cubic-bezier(.4,0,.2,1)}.composite-field .overview-card[data-v-fb12c6e7]:hover{box-shadow:0 4px 12px #00000014;border-color:#1377eb}.composite-field .overview-card .overview-content[data-v-fb12c6e7]{display:flex;flex-direction:column;gap:8px}.composite-field .overview-card .overview-content .overview-item[data-v-fb12c6e7]{display:flex;align-items:center;gap:8px}.composite-field .overview-card .overview-content .overview-item .overview-label[data-v-fb12c6e7]{font-size:13px;font-weight:500;color:#64748b;min-width:100px}.composite-field .overview-card .overview-content .overview-item .overview-value[data-v-fb12c6e7]{font-size:14px;color:#1a253b;font-weight:500}.composite-field .edit-content[data-v-fb12c6e7],.composite-field .edit-content .config-item[data-v-fb12c6e7]{display:flex;flex-direction:column;gap:8px}.composite-field .edit-content .config-item label[data-v-fb12c6e7]{font-size:14px;font-weight:600;color:#1a253b}.composite-field .edit-content .config-item label.required[data-v-fb12c6e7]:after{content:"*";color:#ff4d4f;margin-left:4px}.composite-field .list-container[data-v-fb12c6e7]{display:flex;flex-direction:column;gap:8px}.composite-field .list-container .list-item[data-v-fb12c6e7]{background:#fff;border-radius:8px;padding:8px 12px;border:1px solid #e4e8ee;transition:all .25s cubic-bezier(.4,0,.2,1)}.composite-field .list-container .list-item[data-v-fb12c6e7]:hover{box-shadow:0 2px 8px #0000000f;border-color:#1377eb}.composite-field .list-container .list-item.selected[data-v-fb12c6e7]{border-color:#1377eb;background:#f0f7ff;box-shadow:0 0 0 2px #1377eb1a}.composite-field .action-buttons[data-v-fb12c6e7]{display:flex;gap:8px;justify-content:flex-end;padding-top:8px;border-top:1px solid #f0f2f5}.composite-field .action-buttons .ant-btn[data-v-fb12c6e7]{border-radius:6px;min-width:80px}.composite-field .action-buttons .ant-btn.ant-btn-primary[data-v-fb12c6e7]{box-shadow:0 2px 8px #1377eb33}.composite-field .action-buttons .ant-btn.ant-btn-primary[data-v-fb12c6e7]:hover{box-shadow:0 4px 12px #1377eb4d;transform:translateY(-1px)}.composite-field .help-text[data-v-fb12c6e7]{font-size:12px;color:#4e5d78;line-height:1.5;padding:8px 12px;background:#f5f7fa;border-radius:6px;border-left:3px solid #1377eb}.composite-field .help-text[data-v-fb12c6e7]:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#1377eb;margin-right:6px;vertical-align:middle}.composite-field .status-label[data-v-fb12c6e7]{font-size:12px;font-weight:500;padding:4px 12px;border-radius:12px;display:inline-flex;align-items:center;gap:4px}.composite-field .status-label.status-success[data-v-fb12c6e7]{background-color:#f6ffed;color:#52c41a}.composite-field .status-label.status-success[data-v-fb12c6e7]:before{content:"✓"}.composite-field .status-label.status-warning[data-v-fb12c6e7]{background-color:#fffbe6;color:#faad14}.composite-field .status-label.status-warning[data-v-fb12c6e7]:before{content:"!"}.composite-field .status-label.status-error[data-v-fb12c6e7]{background-color:#fff2f0;color:#ff4d4f}.composite-field .status-label.status-error[data-v-fb12c6e7]:before{content:"✕"}.composite-field .status-label.status-info[data-v-fb12c6e7]{background-color:#f5f7fa;color:#1377eb}.composite-field .status-label.status-info[data-v-fb12c6e7]:before{content:"ℹ"}.composite-field .empty-state-inline[data-v-fb12c6e7]{display:flex;flex-direction:column;align-items:center;padding:16px 12px;text-align:center}.composite-field .empty-state-inline .empty-icon[data-v-fb12c6e7]{font-size:48px;margin-bottom:12px;opacity:.5}.composite-field .empty-state-inline .empty-text[data-v-fb12c6e7]{font-size:14px;color:#4e5d78;margin-bottom:8px}@media(max-width:768px){.composite-field[data-v-fb12c6e7]{border-radius:10px}.composite-field .field-header[data-v-fb12c6e7]{margin-bottom:8px;padding-bottom:8px}.composite-field .field-header h3[data-v-fb12c6e7]{font-size:15px;padding-left:8px}.composite-field .config-section[data-v-fb12c6e7]{padding:10px;gap:10px}.composite-field .overview-card[data-v-fb12c6e7]{padding:12px}}@media(max-width:320px){.composite-field[data-v-fb12c6e7]{border-radius:8px}.composite-field .field-header h3[data-v-fb12c6e7]{font-size:14px}.composite-field .action-buttons[data-v-fb12c6e7]{flex-direction:column;gap:8px}.composite-field .action-buttons .ant-btn[data-v-fb12c6e7]{width:100%}}@media(prefers-reduced-motion:reduce){.composite-field[data-v-fb12c6e7]{transition:none}.composite-field[data-v-fb12c6e7]:hover{transition:none;transform:none}.composite-field .overview-card[data-v-fb12c6e7],.composite-field .list-item[data-v-fb12c6e7],.composite-field .ant-btn[data-v-fb12c6e7]{transition:none}.composite-field .overview-card[data-v-fb12c6e7]:hover,.composite-field .list-item[data-v-fb12c6e7]:hover,.composite-field .ant-btn[data-v-fb12c6e7]:hover{transform:none}}.composite-field[data-v-fb12c6e7] .ant-form-item{margin-bottom:8px}.composite-field[data-v-fb12c6e7] .ant-table{font-size:13px}.composite-field[data-v-fb12c6e7] .ant-table .ant-table-thead>tr>th,.composite-field[data-v-fb12c6e7] .ant-table .ant-table-tbody>tr>td{padding:6px 8px}.composite-field[data-v-fb12c6e7] .ant-table .ant-table-thead>tr>th{background:#f8fafc;font-weight:500;font-size:13px}.composite-field[data-v-fb12c6e7] .ant-table .ant-table-empty .ant-table-placeholder{padding:8px}.composite-field[data-v-fb12c6e7] .ant-checkbox-group{display:flex;flex-direction:column;gap:6px}.composite-field[data-v-fb12c6e7] .ant-checkbox-group .ant-checkbox-wrapper{margin:0;padding:2px 0;font-size:13px}.composite-field[data-v-fb12c6e7] .ant-radio-group{display:flex;flex-direction:column;gap:6px}.composite-field[data-v-fb12c6e7] .ant-radio-group .ant-radio-wrapper{font-size:13px}.composite-field[data-v-fb12c6e7] .ant-collapse .ant-collapse-header{padding:8px 12px!important;font-size:13px}.composite-field[data-v-fb12c6e7] .ant-collapse .ant-collapse-content>.ant-collapse-content-box{padding:8px 12px!important}.composite-field[data-v-fb12c6e7] .ant-input,.composite-field[data-v-fb12c6e7] .ant-select-selector,.composite-field[data-v-fb12c6e7] .ant-input-number{font-size:13px}.composite-field[data-v-fb12c6e7] .ant-btn{font-size:13px;height:28px;padding:0 10px}.composite-field[data-v-fb12c6e7] .ant-btn-sm{height:24px;padding:0 8px;font-size:12px}.composite-field[data-v-fb12c6e7] .ant-tabs .ant-tabs-nav{margin-bottom:8px}.composite-field[data-v-fb12c6e7] .ant-modal-footer{padding:8px 16px}.composite-field[data-v-fb12c6e7] .ant-alert{padding:6px 8px;font-size:13px}.composite-field[data-v-fb12c6e7] .ant-btn-link,.composite-field[data-v-fb12c6e7] .ant-btn-icon-only.ant-btn-link{color:#1377eb;padding:0 4px;height:auto;font-size:13px}.composite-field[data-v-fb12c6e7] .ant-btn-link:hover,.composite-field[data-v-fb12c6e7] .ant-btn-icon-only.ant-btn-link:hover{color:#1377eb;opacity:.85}.composite-field[data-v-fb12c6e7] .ant-btn-link:active,.composite-field[data-v-fb12c6e7] .ant-btn-icon-only.ant-btn-link:active{color:#096dd9}.composite-field[data-v-fb12c6e7] .ant-btn-link:disabled,.composite-field[data-v-fb12c6e7] .ant-btn-icon-only.ant-btn-link:disabled,.composite-field[data-v-fb12c6e7] .ant-btn-link[disabled],.composite-field[data-v-fb12c6e7] .ant-btn-icon-only.ant-btn-link[disabled]{color:#bcc1cc}.composite-field[data-v-fb12c6e7] .edit-icon,.composite-field[data-v-fb12c6e7] .action-edit{color:#1377eb;cursor:pointer;transition:color .2s ease,opacity .2s ease}.composite-field[data-v-fb12c6e7] .edit-icon:hover,.composite-field[data-v-fb12c6e7] .action-edit:hover{color:#1377eb}.composite-field[data-v-fb12c6e7] .ant-btn-text.ant-btn-dangerous,.composite-field[data-v-fb12c6e7] .ant-btn-link.ant-btn-dangerous{color:#ff4d4f;padding:0 4px;height:auto;font-size:13px}.composite-field[data-v-fb12c6e7] .ant-btn-text.ant-btn-dangerous:hover,.composite-field[data-v-fb12c6e7] .ant-btn-link.ant-btn-dangerous:hover{color:#ff4d4f;background:#ff4d4f14;opacity:.85}.composite-field[data-v-fb12c6e7] .ant-btn-text.ant-btn-dangerous:active,.composite-field[data-v-fb12c6e7] .ant-btn-link.ant-btn-dangerous:active{color:#cf4446;background:#ff4d4f1f}.composite-field[data-v-fb12c6e7] .ant-btn-text.ant-btn-dangerous:disabled,.composite-field[data-v-fb12c6e7] .ant-btn-link.ant-btn-dangerous:disabled,.composite-field[data-v-fb12c6e7] .ant-btn-text.ant-btn-dangerous[disabled],.composite-field[data-v-fb12c6e7] .ant-btn-link.ant-btn-dangerous[disabled]{color:#bcc1cc}.composite-field[data-v-fb12c6e7] .delete-icon,.composite-field[data-v-fb12c6e7] .action-delete,.composite-field[data-v-fb12c6e7] .delete-outlined,.composite-field[data-v-fb12c6e7] .anticon-delete,.composite-field[data-v-fb12c6e7] .anticon-delete-outlined{color:#ff4d4f;cursor:pointer;transition:color .2s ease}.composite-field[data-v-fb12c6e7] .delete-icon:hover,.composite-field[data-v-fb12c6e7] .action-delete:hover,.composite-field[data-v-fb12c6e7] .delete-outlined:hover,.composite-field[data-v-fb12c6e7] .anticon-delete:hover,.composite-field[data-v-fb12c6e7] .anticon-delete-outlined:hover{color:#cf4446}.composite-field[data-v-fb12c6e7] .ant-table .ant-btn-icon-only{padding:0;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center}.composite-field[data-v-fb12c6e7] .toolbar-icon,.composite-field[data-v-fb12c6e7] .header-icon{font-size:14px;vertical-align:middle}.process-versioning[data-v-fb12c6e7]{width:100%;background-color:#f9fbfd;border-radius:8px;padding:8px;box-shadow:0 2px 8px #0000000d}.process-versioning .config-header[data-v-fb12c6e7]{margin-bottom:8px}.process-versioning .config-header h3[data-v-fb12c6e7]{margin:0;font-size:16px;font-weight:600;color:#314659}.process-versioning .config-content[data-v-fb12c6e7]{display:flex;flex-direction:column;gap:8px}.process-versioning .config-content .form-item[data-v-fb12c6e7]{margin-bottom:0}.process-versioning .config-content .form-item .version-list .list-header[data-v-fb12c6e7]{display:flex;align-items:center;margin-bottom:8px}.process-versioning .config-content .form-item .version-list[data-v-fb12c6e7] .row-published{background-color:#f6ffed}.process-versioning .config-content .form-item .version-number[data-v-fb12c6e7]{font-weight:600;color:#1890ff}.process-versioning .config-content .form-item .version-number-detail[data-v-fb12c6e7]{font-size:18px;font-weight:600;color:#1890ff}.process-versioning .version-compare .compare-header[data-v-fb12c6e7]{display:flex;justify-content:center;align-items:center;margin-bottom:12px;padding:8px;background-color:#f5f5f5;border-radius:8px}.process-versioning .version-compare .compare-header .compare-version[data-v-fb12c6e7]{text-align:center;padding:8px}.process-versioning .version-compare .compare-header .compare-version .version-label[data-v-fb12c6e7]{display:block;font-size:12px;color:#999;margin-bottom:4px}.process-versioning .version-compare .compare-header .compare-version .version-number[data-v-fb12c6e7]{display:block;font-size:24px;font-weight:600;color:#1890ff;margin-bottom:4px}.process-versioning .version-compare .compare-header .compare-version .version-name[data-v-fb12c6e7]{display:block;font-size:14px;color:#333}.process-versioning .version-compare .compare-header .swap-icon[data-v-fb12c6e7]{font-size:24px;color:#1890ff;margin:0 32px}.process-versioning .version-compare .diagram-compare[data-v-fb12c6e7],.process-versioning .version-compare .xml-compare[data-v-fb12c6e7]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.process-versioning .version-compare .diagram-compare .diagram-item h5[data-v-fb12c6e7],.process-versioning .version-compare .xml-compare .diagram-item h5[data-v-fb12c6e7],.process-versioning .version-compare .diagram-compare .xml-item h5[data-v-fb12c6e7],.process-versioning .version-compare .xml-compare .xml-item h5[data-v-fb12c6e7]{margin:0 0 12px;font-size:14px;font-weight:600}.process-versioning .version-compare .diagram-compare .diagram-item .diagram-placeholder[data-v-fb12c6e7],.process-versioning .version-compare .xml-compare .diagram-item .diagram-placeholder[data-v-fb12c6e7],.process-versioning .version-compare .diagram-compare .xml-item .diagram-placeholder[data-v-fb12c6e7],.process-versioning .version-compare .xml-compare .xml-item .diagram-placeholder[data-v-fb12c6e7],.process-versioning .version-compare .diagram-compare .diagram-item .xml-placeholder[data-v-fb12c6e7],.process-versioning .version-compare .xml-compare .diagram-item .xml-placeholder[data-v-fb12c6e7],.process-versioning .version-compare .diagram-compare .xml-item .xml-placeholder[data-v-fb12c6e7],.process-versioning .version-compare .xml-compare .xml-item .xml-placeholder[data-v-fb12c6e7]{border:1px dashed #e8e8e8;border-radius:4px;padding:20px;text-align:center;color:#999;min-height:200px}.process-versioning .version-compare .diagram-compare .diagram-item .diagram-placeholder pre[data-v-fb12c6e7],.process-versioning .version-compare .xml-compare .diagram-item .diagram-placeholder pre[data-v-fb12c6e7],.process-versioning .version-compare .diagram-compare .xml-item .diagram-placeholder pre[data-v-fb12c6e7],.process-versioning .version-compare .xml-compare .xml-item .diagram-placeholder pre[data-v-fb12c6e7],.process-versioning .version-compare .diagram-compare .diagram-item .xml-placeholder pre[data-v-fb12c6e7],.process-versioning .version-compare .xml-compare .diagram-item .xml-placeholder pre[data-v-fb12c6e7],.process-versioning .version-compare .diagram-compare .xml-item .xml-placeholder pre[data-v-fb12c6e7],.process-versioning .version-compare .xml-compare .xml-item .xml-placeholder pre[data-v-fb12c6e7]{margin:0;text-align:left;font-size:12px;color:#666;overflow-x:auto}.process-versioning .version-compare .changes-compare[data-v-fb12c6e7] .change-type-add{color:#52c41a;font-weight:600}.process-versioning .version-compare .changes-compare[data-v-fb12c6e7] .change-type-modify{color:#1890ff;font-weight:600}.process-versioning .version-compare .changes-compare[data-v-fb12c6e7] .change-type-delete{color:#ff4d4f;font-weight:600}.process-versioning .version-compare .changes-compare[data-v-fb12c6e7] .change-time{font-size:12px;color:#999}.action-button[data-v-fb12c6e7]{border:none;background:none;padding:4px 8px;border-radius:4px}.action-button[type=link][data-v-fb12c6e7]{color:#1890ff}.action-button[type=link][data-v-fb12c6e7]:hover{color:#40a9ff;background-color:#e6f7ff}.action-button[type=text][danger][data-v-fb12c6e7]{color:#ff4d4f}.action-button[type=text][danger][data-v-fb12c6e7]:hover{color:#ff7875;background-color:#fff1f0}.data-object-config[data-v-1452dac5]{padding:8px;background-color:#f9f9f9;border-radius:8px}@media(max-width:768px){.data-object-config[data-v-1452dac5]{padding:12px}}.error-message[data-v-1452dac5]{color:#ff4d4f;font-size:14px;margin-top:8px}.data-store-config[data-v-7f5dbea3]{padding:8px;background-color:#f9f9f9;border-radius:8px}@media(max-width:768px){.data-store-config[data-v-7f5dbea3]{padding:12px}}.error-message[data-v-7f5dbea3]{color:#ff4d4f;font-size:14px;margin-top:8px}.data-mapping[data-v-ad170d9b]{padding:8px;background-color:#f9f9f9;border-radius:8px}.data-mapping .mapping-container[data-v-ad170d9b]{width:100%}.data-mapping .mapping-areas[data-v-ad170d9b]{display:flex;gap:8px;margin-bottom:20px;flex-direction:column}.data-mapping .mapping-areas .mapping-area[data-v-ad170d9b]{flex:1;border:1px solid #e8e8e8;border-radius:4px;padding:8px 12px;background-color:#fff}.data-mapping .mapping-areas .mapping-area h4[data-v-ad170d9b]{margin:0 0 12px;font-size:14px;font-weight:500}.data-mapping .mapping-areas .mapping-area .full-width[data-v-ad170d9b]{width:100%;margin-bottom:8px}.data-mapping .mapping-areas .mapping-area .fields-list[data-v-ad170d9b]{max-height:200px;overflow-y:auto}.data-mapping .mapping-areas .mapping-area .fields-list .field-item[data-v-ad170d9b]{padding:8px;border:1px solid #e8e8e8;border-radius:4px;margin-bottom:8px;cursor:move;transition:all .3s}.data-mapping .mapping-areas .mapping-area .fields-list .field-item[data-v-ad170d9b]:hover{border-color:#1890ff;background-color:#e6f7ff}.data-mapping .mapping-areas .mapping-area .fields-list .field-item.dragging[data-v-ad170d9b]{opacity:.5}.data-mapping .mapping-areas .mapping-relations[data-v-ad170d9b]{flex:1;border:1px solid #e8e8e8;border-radius:4px;padding:12px;background-color:#fff}.data-mapping .mapping-areas .mapping-relations h4[data-v-ad170d9b]{margin:0 0 12px;font-size:14px;font-weight:500}.data-mapping .mapping-areas .mapping-relations .relations-list[data-v-ad170d9b]{max-height:200px;overflow-y:auto}.data-mapping .mapping-areas .mapping-relations .relations-list .mapping-item[data-v-ad170d9b]{display:flex;align-items:center;padding:4px 8px;border:1px solid #e8e8e8;border-radius:4px;margin-bottom:8px}.data-mapping .mapping-areas .mapping-relations .relations-list .mapping-item .mapping-source[data-v-ad170d9b],.data-mapping .mapping-areas .mapping-relations .relations-list .mapping-item .mapping-target[data-v-ad170d9b]{flex:1;padding:4px 8px;background-color:#f5f5f5;border-radius:4px}.data-mapping .mapping-areas .mapping-relations .relations-list .mapping-item .mapping-arrow[data-v-ad170d9b]{margin:0 12px;color:#1890ff}.data-mapping .mapping-areas .mapping-relations .relations-list .add-mapping[data-v-ad170d9b]{margin-top:12px}.data-mapping .validation-result[data-v-ad170d9b]{margin-top:8px}.action-button[data-v-ad170d9b]{border:none;background:none;padding:4px 8px;border-radius:4px}.action-button[type=link][data-v-ad170d9b]{color:#1890ff}.action-button[type=link][data-v-ad170d9b]:hover{color:#40a9ff;background-color:#e6f7ff}.action-button[type=text][danger][data-v-ad170d9b]{color:#ff4d4f}.action-button[type=text][danger][data-v-ad170d9b]:hover{color:#ff7875;background-color:#fff1f0}.data-validation[data-v-05429b36]{padding:8px;background-color:#f9f9f9;border-radius:8px}.data-validation .validation-rules-container[data-v-05429b36]{width:100%}.data-validation .validation-rules-container .rule-item[data-v-05429b36]{margin-bottom:8px;padding:8px;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d}.data-validation .validation-rules-container .add-rule-btn[data-v-05429b36]{width:100%}@media(max-width:768px){.data-validation[data-v-05429b36],.data-validation .validation-rules-container .rule-item[data-v-05429b36]{padding:12px}}.action-button[data-v-05429b36]{border:none;background:none;padding:4px 8px;border-radius:4px}.action-button[type=link][data-v-05429b36]{color:#1890ff}.action-button[type=link][data-v-05429b36]:hover{color:#40a9ff;background-color:#e6f7ff}.action-button[type=text][danger][data-v-05429b36]{color:#ff4d4f}.action-button[type=text][danger][data-v-05429b36]:hover{color:#ff7875;background-color:#fff1f0}
:root,
:host {
  --w-e-textarea-bg-color: #fff;
  --w-e-textarea-color: #333;
  --w-e-textarea-border-color: #ccc;
  --w-e-textarea-slight-border-color: #e8e8e8;
  --w-e-textarea-slight-color: #d4d4d4;
  --w-e-textarea-slight-bg-color: #f5f2f0;
  --w-e-textarea-selected-border-color: #B4D5FF;
  --w-e-textarea-handler-bg-color: #4290f7;
  --w-e-toolbar-color: #595959;
  --w-e-toolbar-bg-color: #fff;
  --w-e-toolbar-active-color: #333;
  --w-e-toolbar-active-bg-color: #f1f1f1;
  --w-e-toolbar-disabled-color: #999;
  --w-e-toolbar-border-color: #e8e8e8;
  --w-e-modal-button-bg-color: #fafafa;
  --w-e-modal-button-border-color: #d9d9d9;
}

.w-e-text-container *,.w-e-toolbar *{box-sizing:border-box;margin:0;outline:none;padding:0}.w-e-text-container blockquote,.w-e-text-container li,.w-e-text-container p,.w-e-text-container td,.w-e-text-container th,.w-e-toolbar *{line-height:1.5}.w-e-text-container{background-color:var(--w-e-textarea-bg-color);color:var(--w-e-textarea-color);height:100%;position:relative}.w-e-text-container .w-e-scroll{-webkit-overflow-scrolling:touch;height:100%}.w-e-text-container [data-slate-editor]{word-wrap:break-word;border-top:1px solid transparent;min-height:100%;outline:0;padding:0 10px;white-space:pre-wrap}.w-e-text-container [data-slate-editor] p{margin:15px 0}.w-e-text-container [data-slate-editor] h1,.w-e-text-container [data-slate-editor] h2,.w-e-text-container [data-slate-editor] h3,.w-e-text-container [data-slate-editor] h4,.w-e-text-container [data-slate-editor] h5{margin:20px 0}.w-e-text-container [data-slate-editor] img{cursor:default;display:inline!important;max-width:100%;min-height:20px;min-width:20px}.w-e-text-container [data-slate-editor] span{text-indent:0}.w-e-text-container [data-slate-editor] [data-selected=true]{box-shadow:0 0 0 2px var(--w-e-textarea-selected-border-color)}.w-e-text-placeholder{font-style:italic;left:10px;top:17px;width:90%}.w-e-max-length-info,.w-e-text-placeholder{color:var(--w-e-textarea-slight-color);pointer-events:none;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none}.w-e-max-length-info{bottom:.5em;right:1em}.w-e-bar{background-color:var(--w-e-toolbar-bg-color);color:var(--w-e-toolbar-color);font-size:14px;padding:0 5px}.w-e-bar svg{fill:var(--w-e-toolbar-color);height:14px;width:14px}.w-e-bar-show{display:flex}.w-e-bar-hidden{display:none}.w-e-hover-bar{border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 5px #0000001f;position:absolute}.w-e-toolbar{flex-wrap:wrap;position:relative}.w-e-bar-divider{background-color:var(--w-e-toolbar-border-color);display:inline-flex;height:40px;margin:0 5px;width:1px}.w-e-bar-item{display:flex;height:40px;padding:4px;position:relative;text-align:center}.w-e-bar-item,.w-e-bar-item button{align-items:center;justify-content:center}.w-e-bar-item button{background:transparent;border:none;color:var(--w-e-toolbar-color);cursor:pointer;display:inline-flex;height:32px;overflow:hidden;padding:0 8px;white-space:nowrap}.w-e-bar-item button:hover{background-color:var(--w-e-toolbar-active-bg-color);color:var(--w-e-toolbar-active-color)}.w-e-bar-item button .title{margin-left:5px}.w-e-bar-item .active{background-color:var(--w-e-toolbar-active-bg-color);color:var(--w-e-toolbar-active-color)}.w-e-bar-item .disabled{color:var(--w-e-toolbar-disabled-color);cursor:not-allowed}.w-e-bar-item .disabled svg{fill:var(--w-e-toolbar-disabled-color)}.w-e-bar-item .disabled:hover{background-color:var(--w-e-toolbar-bg-color);color:var(--w-e-toolbar-disabled-color)}.w-e-bar-item .disabled:hover svg{fill:var(--w-e-toolbar-disabled-color)}.w-e-menu-tooltip-v5:before{background-color:var(--w-e-toolbar-active-color);border-radius:5px;color:var(--w-e-toolbar-bg-color);content:attr(data-tooltip);font-size:.75em;opacity:0;padding:5px 10px;position:absolute;text-align:center;top:40px;transition:opacity .6s;visibility:hidden;white-space:pre;z-index:1}.w-e-menu-tooltip-v5:after{border:5px solid transparent;border-bottom:5px solid var(--w-e-toolbar-active-color);content:"";opacity:0;position:absolute;top:30px;transition:opacity .6s;visibility:hidden}.w-e-menu-tooltip-v5:hover:after,.w-e-menu-tooltip-v5:hover:before{opacity:1;visibility:visible}.w-e-menu-tooltip-v5.tooltip-right:before{left:100%;top:10px}.w-e-menu-tooltip-v5.tooltip-right:after{border-bottom-color:transparent;border-left-color:transparent;border-right-color:var(--w-e-toolbar-active-color);border-top-color:transparent;left:100%;margin-left:-10px;top:16px}.w-e-bar-item-group .w-e-bar-item-menus-container{background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 10px #0000001f;display:none;left:0;margin-top:40px;position:absolute;top:0;z-index:1}.w-e-bar-item-group:hover .w-e-bar-item-menus-container{display:block}.w-e-select-list{background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 10px #0000001f;left:0;margin-top:40px;max-height:350px;min-width:100px;overflow-y:auto;position:absolute;top:0;z-index:1}.w-e-select-list ul{line-height:1;list-style:none}.w-e-select-list ul .selected{background-color:var(--w-e-toolbar-active-bg-color)}.w-e-select-list ul li{cursor:pointer;padding:7px 0 7px 25px;position:relative;text-align:left;white-space:nowrap}.w-e-select-list ul li:hover{background-color:var(--w-e-toolbar-active-bg-color)}.w-e-select-list ul li svg{left:0;margin-left:5px;margin-top:-7px;position:absolute;top:50%}.w-e-bar-bottom .w-e-select-list{bottom:0;margin-bottom:40px;margin-top:0;top:inherit}.w-e-drop-panel{background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 10px #0000001f;margin-top:40px;min-width:200px;padding:10px;position:absolute;top:0;z-index:1}.w-e-bar-bottom .w-e-drop-panel{bottom:0;margin-bottom:40px;margin-top:0;top:inherit}.w-e-modal{background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-toolbar-border-color);border-radius:3px;box-shadow:0 2px 10px #0000001f;color:var(--w-e-toolbar-color);font-size:14px;min-height:40px;min-width:100px;padding:20px 15px 0;position:absolute;text-align:left;z-index:1}.w-e-modal .btn-close{cursor:pointer;line-height:1;padding:5px;position:absolute;right:8px;top:7px}.w-e-modal .btn-close svg{fill:var(--w-e-toolbar-color);height:10px;width:10px}.w-e-modal .babel-container{display:block;margin-bottom:15px}.w-e-modal .babel-container span{display:block;margin-bottom:10px}.w-e-modal .button-container{margin-bottom:15px}.w-e-modal button{background-color:var(--w-e-modal-button-bg-color);border:1px solid var(--w-e-modal-button-border-color);border-radius:4px;color:var(--w-e-toolbar-color);cursor:pointer;font-weight:400;height:32px;padding:4.5px 15px;text-align:center;touch-action:manipulation;transition:all .3s cubic-bezier(.645,.045,.355,1);-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.w-e-modal input[type=number],.w-e-modal input[type=text],.w-e-modal textarea{font-feature-settings:"tnum";background-color:var(--w-e-toolbar-bg-color);border:1px solid var(--w-e-modal-button-border-color);border-radius:4px;color:var(--w-e-toolbar-color);font-variant:tabular-nums;padding:4.5px 11px;transition:all .3s;width:100%}.w-e-modal textarea{min-height:60px}body .w-e-modal,body .w-e-modal *{box-sizing:border-box}.w-e-progress-bar{background-color:var(--w-e-textarea-handler-bg-color);height:1px;position:absolute;transition:width .3s;width:0}.w-e-full-screen-container{bottom:0!important;display:flex!important;flex-direction:column!important;height:100%!important;left:0!important;margin:0!important;padding:0!important;position:fixed;right:0!important;top:0!important;width:100%!important}.w-e-full-screen-container [data-w-e-textarea=true]{flex:1!important}
.w-e-text-container [data-slate-editor] code{background-color:var(--w-e-textarea-slight-bg-color);border-radius:3px;font-family:monospace;padding:3px}.w-e-panel-content-color{list-style:none;text-align:left;width:230px}.w-e-panel-content-color li{border:1px solid var(--w-e-toolbar-bg-color);border-radius:3px 3px;cursor:pointer;display:inline-block;padding:2px}.w-e-panel-content-color li:hover{border-color:var(--w-e-toolbar-color)}.w-e-panel-content-color li .color-block{border:1px solid var(--w-e-toolbar-border-color);border-radius:3px 3px;height:17px;width:17px}.w-e-panel-content-color .active{border-color:var(--w-e-toolbar-color)}.w-e-panel-content-color .clear{line-height:1.5;margin-bottom:5px;width:100%}.w-e-panel-content-color .clear svg{height:16px;margin-bottom:-4px;width:16px}.w-e-text-container [data-slate-editor] blockquote{background-color:var(--w-e-textarea-slight-bg-color);border-left:8px solid var(--w-e-textarea-selected-border-color);display:block;font-size:100%;line-height:1.5;margin:10px 0;padding:10px}.w-e-panel-content-emotion{font-size:20px;list-style:none;text-align:left;width:300px}.w-e-panel-content-emotion li{border-radius:3px 3px;cursor:pointer;display:inline-block;padding:0 5px}.w-e-panel-content-emotion li:hover{background-color:var(--w-e-textarea-slight-bg-color)}.w-e-textarea-divider{border-radius:3px;margin:20px auto;padding:20px}.w-e-textarea-divider hr{background-color:var(--w-e-textarea-border-color);border:0;display:block;height:1px}.w-e-text-container [data-slate-editor] pre>code{background-color:var(--w-e-textarea-slight-bg-color);border:1px solid var(--w-e-textarea-slight-border-color);border-radius:4px 4px;display:block;font-size:14px;padding:10px;text-indent:0}.w-e-text-container [data-slate-editor] .w-e-image-container{display:inline-block;margin:0 3px}.w-e-text-container [data-slate-editor] .w-e-image-container:hover{box-shadow:0 0 0 2px var(--w-e-textarea-selected-border-color)}.w-e-text-container [data-slate-editor] .w-e-selected-image-container{overflow:hidden;position:relative}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .w-e-image-dragger{background-color:var(--w-e-textarea-handler-bg-color);height:7px;position:absolute;width:7px}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .left-top{cursor:nwse-resize;left:0;top:0}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .right-top{cursor:nesw-resize;right:0;top:0}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .left-bottom{bottom:0;cursor:nesw-resize;left:0}.w-e-text-container [data-slate-editor] .w-e-selected-image-container .right-bottom{bottom:0;cursor:nwse-resize;right:0}.w-e-text-container [data-slate-editor] .w-e-selected-image-container:hover{box-shadow:none}.w-e-text-container [contenteditable=false] .w-e-image-container:hover{box-shadow:none}

.w-e-text-container [data-slate-editor] .table-container{border:1px dashed var(--w-e-textarea-border-color);border-radius:5px;margin-top:10px;overflow-x:auto;padding:10px;width:100%}.w-e-text-container [data-slate-editor] table{border-collapse:collapse}.w-e-text-container [data-slate-editor] table td,.w-e-text-container [data-slate-editor] table th{border:1px solid var(--w-e-textarea-border-color);line-height:1.5;min-width:30px;padding:3px 5px;text-align:left}.w-e-text-container [data-slate-editor] table th{background-color:var(--w-e-textarea-slight-bg-color);font-weight:700;text-align:center}.w-e-panel-content-table{background-color:var(--w-e-toolbar-bg-color)}.w-e-panel-content-table table{border-collapse:collapse}.w-e-panel-content-table td{border:1px solid var(--w-e-toolbar-border-color);cursor:pointer;height:15px;padding:3px 5px;width:20px}.w-e-panel-content-table td.active{background-color:var(--w-e-toolbar-active-bg-color)}
.w-e-textarea-video-container{background-image:linear-gradient(45deg,#eee 25%,transparent 0,transparent 75%,#eee 0,#eee),linear-gradient(45deg,#eee 25%,#fff 0,#fff 75%,#eee 0,#eee);background-position:0 0,10px 10px;background-size:20px 20px;border:1px dashed var(--w-e-textarea-border-color);border-radius:5px;margin:10px auto 0;padding:10px 0;text-align:center}

.w-e-text-container [data-slate-editor] pre>code{word-wrap:normal;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;-webkit-hyphens:none;hyphens:none;line-height:1.5;margin:.5em 0;overflow:auto;padding:1em;-moz-tab-size:4;-o-tab-size:4;tab-size:4;text-align:left;text-shadow:0 1px #fff;white-space:pre;word-break:normal;word-spacing:normal}.w-e-text-container [data-slate-editor] pre>code .token.cdata,.w-e-text-container [data-slate-editor] pre>code .token.comment,.w-e-text-container [data-slate-editor] pre>code .token.doctype,.w-e-text-container [data-slate-editor] pre>code .token.prolog{color:#708090}.w-e-text-container [data-slate-editor] pre>code .token.punctuation{color:#999}.w-e-text-container [data-slate-editor] pre>code .token.namespace{opacity:.7}.w-e-text-container [data-slate-editor] pre>code .token.boolean,.w-e-text-container [data-slate-editor] pre>code .token.constant,.w-e-text-container [data-slate-editor] pre>code .token.deleted,.w-e-text-container [data-slate-editor] pre>code .token.number,.w-e-text-container [data-slate-editor] pre>code .token.property,.w-e-text-container [data-slate-editor] pre>code .token.symbol,.w-e-text-container [data-slate-editor] pre>code .token.tag{color:#905}.w-e-text-container [data-slate-editor] pre>code .token.attr-name,.w-e-text-container [data-slate-editor] pre>code .token.builtin,.w-e-text-container [data-slate-editor] pre>code .token.char,.w-e-text-container [data-slate-editor] pre>code .token.inserted,.w-e-text-container [data-slate-editor] pre>code .token.selector,.w-e-text-container [data-slate-editor] pre>code .token.string{color:#690}.w-e-text-container [data-slate-editor] pre>code .language-css .token.string,.w-e-text-container [data-slate-editor] pre>code .style .token.string,.w-e-text-container [data-slate-editor] pre>code .token.entity,.w-e-text-container [data-slate-editor] pre>code .token.operator,.w-e-text-container [data-slate-editor] pre>code .token.url{color:#9a6e3a}.w-e-text-container [data-slate-editor] pre>code .token.atrule,.w-e-text-container [data-slate-editor] pre>code .token.attr-value,.w-e-text-container [data-slate-editor] pre>code .token.keyword{color:#07a}.w-e-text-container [data-slate-editor] pre>code .token.class-name,.w-e-text-container [data-slate-editor] pre>code .token.function{color:#dd4a68}.w-e-text-container [data-slate-editor] pre>code .token.important,.w-e-text-container [data-slate-editor] pre>code .token.regex,.w-e-text-container [data-slate-editor] pre>code .token.variable{color:#e90}.w-e-text-container [data-slate-editor] pre>code .token.bold,.w-e-text-container [data-slate-editor] pre>code .token.important{font-weight:700}.w-e-text-container [data-slate-editor] pre>code .token.italic{font-style:italic}.w-e-text-container [data-slate-editor] pre>code .token.entity{cursor:help}.collaboration-layout[data-v-ee36d2c1] {
  height: 100%;
  width: 100%;
}
.collaboration-index[data-v-90ed7215] {
  padding: var(--spacing-4);
  background: var(--color-bg-layout);
  min-height: calc(100vh - 64px);
}
/* ==================== Hero 区域 ==================== */
.hero-bg-decoration[data-v-90ed7215] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-90ed7215] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.07);
}
.hero-circle--1[data-v-90ed7215] {
  width: 220px;
  height: 220px;
  top: -70px;
  right: -50px;
}
.hero-circle--2[data-v-90ed7215] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.hero-circle--3[data-v-90ed7215] {
  width: 80px;
  height: 80px;
  top: 20px;
  right: 280px;
  background: rgba(255, 255, 255, 0.05);
}
.hero-line[data-v-90ed7215] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.1);
}
.hero-line--1[data-v-90ed7215] {
  width: 300px;
  top: 30%;
  right: 8%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-90ed7215] {
  width: 200px;
  bottom: 25%;
  right: 28%;
  transform: rotate(10deg);
}
.hero-dot[data-v-90ed7215] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.18);
}
.hero-dot--1[data-v-90ed7215] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-90ed7215] {
  bottom: 30%;
  right: 15%;
}
.hero-dot--3[data-v-90ed7215] {
  top: 50%;
  right: 45%;
}
.hero-content[data-v-90ed7215] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-90ed7215] {
  flex: 1;
}
.hero-title[data-v-90ed7215] {
  margin: 0 0 8px;
  font-size: 28px;
  font-weight: 700;
  color: white;
  letter-spacing: -0.5px;
}
.hero-desc[data-v-90ed7215] {
  margin: 0 0 24px;
  font-size: 15px;
  opacity: 0.85;
  max-width: 600px;
  line-height: 1.6;
}
.hero-stats[data-v-90ed7215] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.hero-stat[data-v-90ed7215] {
  display: flex;
  flex-direction: column;
}
.hero-stat-divider[data-v-90ed7215] {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.25);
}
.hero-stat-value[data-v-90ed7215] {
  font-size: 22px;
  font-weight: 700;
}
.hero-stat-label[data-v-90ed7215] {
  font-size: 12px;
  opacity: 0.7;
}
.hero-right[data-v-90ed7215] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
/* ==================== 内容区域 ==================== */
.content-section[data-v-90ed7215] {
  padding: 0;
}
.content-card[data-v-90ed7215] {
  border-radius: var(--radius-lg);
  border: none;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease;
}
@media (max-width: 768px) {
.content-card[data-v-90ed7215] {
    padding: 12px;
}
}
.content-card[data-v-90ed7215]:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}
.content-card[data-v-90ed7215] .ant-card-head {
  border-bottom: 1px solid #f0f0f0;
  padding: 0 20px;
}
.content-card[data-v-90ed7215] .ant-card-head-title {
  font-weight: 600;
  font-size: 16px;
  color: #1a1a1a;
}
.content-card[data-v-90ed7215] .ant-card-body {
  padding: 20px;
}
.empty-state[data-v-90ed7215] {
  padding: 48px 0;
  text-align: center;
}
/* ==================== 会话列表 ==================== */
.session-list[data-v-90ed7215] {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.session-item[data-v-90ed7215] {
  display: flex;
  gap: 12px;
  padding: 14px;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.2s ease;
  background: #fff;
  border: 1px solid #f0f0f0;
  align-items: center;
}
@media (max-width: 768px) {
.session-item[data-v-90ed7215] {
    padding: 10px;
    gap: 10px;
}
}
.session-item[data-v-90ed7215]:hover {
  background: #fafafa;
  transform: translateX(2px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  border-color: #e0e0e0;
}
.session-icon[data-v-90ed7215] {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 18px;
  flex-shrink: 0;
}
@media (max-width: 768px) {
.session-icon[data-v-90ed7215] {
    width: 36px;
    height: 36px;
    font-size: 16px;
}
}
.session-info[data-v-90ed7215] {
  flex: 1;
  min-width: 0;
}
.session-name[data-v-90ed7215] {
  font-weight: 500;
  color: #1a1a1a;
  font-size: 14px;
  margin-bottom: 4px;
}
.session-meta[data-v-90ed7215] {
  font-size: 12px;
  color: #8c8c8c;
  display: flex;
  align-items: center;
  gap: 6px;
}
.session-actions[data-v-90ed7215] {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.session-actions[data-v-90ed7215] .ant-tag {
  font-size: 11px;
  padding: 2px 6px;
}
.session-actions[data-v-90ed7215] .ant-btn {
  font-size: 12px;
  padding: 0 8px;
}
/* ==================== 评论列表 ==================== */
.comment-list[data-v-90ed7215] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.comment-item[data-v-90ed7215] {
  display: flex;
  gap: 12px;
  padding: 16px;
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.3s ease;
  background: #fff;
  border: 1px solid #f0f0f0;
}
@media (max-width: 768px) {
.comment-item[data-v-90ed7215] {
    padding: 12px;
}
}
.comment-item[data-v-90ed7215]:hover {
  background: #fafafa;
  transform: translateX(4px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
  border-color: #e8e8e8;
}
.comment-info[data-v-90ed7215] {
  flex: 1;
  min-width: 0;
}
.comment-header[data-v-90ed7215] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.user-name[data-v-90ed7215] {
  font-weight: 600;
  color: #1a1a1a;
  font-size: 14px;
}
.comment-content[data-v-90ed7215] {
  font-size: 14px;
  color: #595959;
  margin-bottom: 8px;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.6;
}
.comment-meta[data-v-90ed7215] {
  font-size: 12px;
  color: #8c8c8c;
  display: flex;
  gap: 12px;
  margin-top: 4px;
}
.comment-resource[data-v-90ed7215] {
  color: #1890ff;
}
.comment-time[data-v-90ed7215] {
  font-size: 12px;
  color: #8c8c8c;
}
.comment-avatar[data-v-90ed7215] {
  flex-shrink: 0;
}
.comment-avatar[data-v-90ed7215] .ant-avatar {
  border-radius: 50%;
  font-size: 16px;
  font-weight: 600;
}
.comment-tags[data-v-90ed7215] {
  display: flex;
  align-items: center;
  gap: 8px;
}
/* ==================== 版本列表 ==================== */
.version-list[data-v-90ed7215] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.version-item[data-v-90ed7215] {
  display: flex;
  gap: 12px;
  padding: 16px;
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.3s ease;
  background: #fff;
  border: 1px solid #f0f0f0;
}
@media (max-width: 768px) {
.version-item[data-v-90ed7215] {
    padding: 12px;
}
}
.version-item[data-v-90ed7215]:hover {
  background: #fafafa;
  transform: translateX(4px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
  border-color: #e8e8e8;
}
.version-number[data-v-90ed7215] {
  font-weight: 700;
  font-size: 14px;
  color: white;
  min-width: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #1890ff 0%, #096dd9 100%);
  border-radius: 8px;
  height: 36px;
  letter-spacing: 1px;
}
.version-info[data-v-90ed7215] {
  flex: 1;
}
.version-label[data-v-90ed7215] {
  font-weight: 600;
  color: #1a1a1a;
  margin-bottom: 6px;
  font-size: 14px;
}
.version-meta[data-v-90ed7215] {
  font-size: 12px;
  color: #8c8c8c;
  display: flex;
  gap: 8px;
  align-items: center;
}
.version-actions[data-v-90ed7215] {
  display: flex;
  gap: 4px;
  flex-shrink: 0;
}
.separator[data-v-90ed7215] {
  color: #d9d9d9;
}
/* ==================== 响应式 ==================== */
/* Tablet */
@media (max-width: 992px) {
.hero-title[data-v-90ed7215] {
    font-size: 24px;
}
.content-card[data-v-90ed7215] {
    padding: 16px;
}
}
@media (max-width: 992px) and (max-width: 768px) {
.content-card[data-v-90ed7215] {
    padding: 12px;
}
}
/* Mobile */
@media (max-width: 768px) {
.collaboration-index[data-v-90ed7215] {
    padding: var(--spacing-3);
}
.hero-section[data-v-90ed7215] {
    margin-bottom: 12px;
}
.hero-title[data-v-90ed7215] {
    font-size: 20px;
    margin-bottom: 6px;
}
.hero-desc[data-v-90ed7215] {
    font-size: 13px;
    margin-bottom: 16px;
    line-height: 1.5;
}
.hero-content[data-v-90ed7215] {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
}
.hero-left[data-v-90ed7215] {
    width: 100%;
}
.hero-stats[data-v-90ed7215] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    padding: 12px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    backdrop-filter: blur(4px);
}
.hero-stat[data-v-90ed7215] {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    padding: 8px 0;
}
.hero-stat-divider[data-v-90ed7215] {
    display: none;
}
.hero-stat-value[data-v-90ed7215] {
    font-size: 22px;
    font-weight: 700;
    min-width: 36px;
}
.hero-stat-label[data-v-90ed7215] {
    font-size: 12px;
    opacity: 0.85;
    margin-top: 0;
    white-space: nowrap;
}
.hero-right[data-v-90ed7215] {
    width: 100%;
    justify-content: center;
}
.session-item[data-v-90ed7215] {
    flex-wrap: wrap;
    gap: 10px;
}
.session-info[data-v-90ed7215] {
    flex: 1 1 calc(100% - 60px);
    min-width: 0;
}
.session-name[data-v-90ed7215] {
    font-size: 14px;
    font-weight: 500;
}
.session-meta[data-v-90ed7215] {
    font-size: 11px;
    flex-wrap: wrap;
    gap: 4px;
}
.session-actions[data-v-90ed7215] {
    width: 100%;
    justify-content: space-between;
    margin-top: 4px;
    padding-top: 8px;
    border-top: 1px dashed #f0f0f0;
}
.version-item[data-v-90ed7215] {
    flex-wrap: wrap;
    gap: 10px;
}
.version-number[data-v-90ed7215] {
    min-width: 60px;
    height: 32px;
    font-size: 12px;
}
.version-info[data-v-90ed7215] {
    flex: 1 1 calc(100% - 80px);
}
.version-label[data-v-90ed7215] {
    font-size: 13px;
}
.version-meta[data-v-90ed7215] {
    font-size: 11px;
    flex-wrap: wrap;
    gap: 4px;
}
.version-actions[data-v-90ed7215] {
    width: 100%;
    justify-content: flex-end;
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px dashed #f0f0f0;
}
.collaboration-modal[data-v-90ed7215] .ant-modal,[data-v-90ed7215] .ant-modal {
    max-width: calc(100vw - 32px) !important;
    width: 100% !important;
}
}
/* Small Mobile */
@media (max-width: 576px) {
.collaboration-index[data-v-90ed7215] {
    padding: 8px;
}
.hero-stats[data-v-90ed7215] {
    flex-wrap: wrap;
    gap: 8px;
}
.hero-stat[data-v-90ed7215] {
    padding: 0 10px;
}
.hero-stat-label[data-v-90ed7215] {
    display: block;
}
.hero-stat-divider[data-v-90ed7215] {
    display: none;
}
}
.mention-input[data-v-ec55b873] {
  position: relative;
  width: 100%;
}
.editor-container[data-v-ec55b873] {
  position: relative;
}
.mention-textarea[data-v-ec55b873] {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid #d9d9d9;
  border-radius: 6px;
  font-size: 14px;
  line-height: 1.6;
  resize: vertical;
  transition: border-color 0.3s;
}
.mention-textarea[data-v-ec55b873]:focus {
  outline: none;
  border-color: #1890ff;
  box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
}
.mentions-dropdown {
  position: fixed;
  background: white;
  border: 1px solid #e8e8e8;
  border-radius: 10px;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(0, 0, 0, 0.02);
  max-height: 280px;
  overflow-y: auto;
  z-index: 1050;
  padding: 4px;
}
.mention-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  cursor: pointer;
  transition: background 0.15s;
  border-radius: 8px;
}
.mention-item:hover,
.mention-item.is-active {
  background: #e6f4ff;
}
.mention-info {
  flex: 1;
  min-width: 0;
}
.mention-name {
  font-weight: 600;
  font-size: 14px;
  color: #1f1f1f;
}
.mention-meta {
  font-size: 12px;
  color: #8c8c8c;
  display: flex;
  align-items: center;
  gap: 4px;
}
.mention-position {
  color: #bfbfbf;
}
.mention-position::before {
  content: '·';
  margin-right: 4px;
}
.comment-thread[data-v-9ede837f] {
  margin-bottom: 4px;
}
.comment-thread--resolved[data-v-9ede837f] {
  opacity: 0.7;
}
.comment-thread--resolved[data-v-9ede837f]:hover {
  opacity: 1;
}
.comment-main[data-v-9ede837f] {
  display: flex;
  gap: 12px;
}
.comment-avatar[data-v-9ede837f] {
  margin-top: 2px;
}
.comment-body[data-v-9ede837f] {
  flex: 1;
  min-width: 0;
}
/* 元信息 */
.comment-meta[data-v-9ede837f] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 4px;
}
.comment-meta__left[data-v-9ede837f] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.comment-author[data-v-9ede837f] {
  font-weight: 600;
  font-size: 14px;
  color: #1f1f1f;
}
.comment-time[data-v-9ede837f] {
  font-size: 12px;
  color: #8c8c8c;
}
.comment-status-tag[data-v-9ede837f] {
  font-size: 11px;
  line-height: 18px;
  padding: 0 6px;
  border-radius: 10px;
}
.comment-meta__right[data-v-9ede837f] {
  flex-shrink: 0;
}
.comment-more-btn[data-v-9ede837f] {
  color: #8c8c8c;
  border-radius: 6px;
}
.comment-more-btn[data-v-9ede837f]:hover {
  color: #595959;
  background: #f5f5f5;
}
/* 上下文信息（优先级、标签、资源） */
.comment-context[data-v-9ede837f] {
  margin-bottom: 8px;
}
.comment-context__row[data-v-9ede837f] {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.priority-tag[data-v-9ede837f] {
  font-size: 11px;
  line-height: 18px;
  padding: 0 6px;
  border-radius: 10px;
}
.context-tag[data-v-9ede837f] {
  font-size: 11px;
  line-height: 18px;
  padding: 0 6px;
  border-radius: 10px;
  background: #f5f5f5;
  border-color: #e8e8e8;
  color: #595959;
}
.resource-badge[data-v-9ede837f] {
  font-size: 11px;
  color: #1677ff;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  cursor: pointer;
}
.resource-badge[data-v-9ede837f]:hover {
  text-decoration: underline;
}
/* 评论内容 */
.comment-content[data-v-9ede837f] {
  font-size: 14px;
  line-height: 1.7;
  color: #333;
  margin-bottom: 8px;
  word-break: break-word;
}
/* 操作栏 */
.comment-actions-bar[data-v-9ede837f] {
  display: flex;
  align-items: center;
  gap: 2px;
}
.action-btn[data-v-9ede837f] {
  font-size: 12px;
  color: #8c8c8c;
  border-radius: 6px;
  padding: 0 8px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.action-btn[data-v-9ede837f]:hover {
  color: #1677ff;
  background: #e6f7ff;
}
.action-btn--success[data-v-9ede837f]:hover {
  color: #52c41a;
  background: #f6ffed;
}
.reply-count[data-v-9ede837f] {
  background: #f0f0f0;
  color: #595959;
  font-size: 10px;
  padding: 0 5px;
  border-radius: 8px;
  font-weight: 500;
  line-height: 16px;
}
/* 内联回复 */
.inline-reply[data-v-9ede837f] {
  margin-top: 10px;
  padding: 12px;
  background: #fafafa;
  border-radius: 8px;
  border: 1px solid #f0f0f0;
}
.inline-reply__actions[data-v-9ede837f] {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 8px;
}
/* 回复列表 */
.comment-replies[data-v-9ede837f] {
  margin-left: 18px;
  margin-top: 8px;
  padding-left: 16px;
  border-left: 2px solid #e8e8e8;
}
.reply-item[data-v-9ede837f] {
  margin-bottom: 8px;
}
.reply-item .comment-main[data-v-9ede837f] {
  gap: 8px;
}
.reply-item .comment-avatar[data-v-9ede837f] {
  width: 28px;
  height: 28px;
  min-width: 28px;
  font-size: 11px;
}
.reply-item .comment-content[data-v-9ede837f] {
  font-size: 13px;
  margin-bottom: 4px;
}
.reply-item .comment-actions-bar[data-v-9ede837f] {
  margin-top: 2px;
}
.reply-item .comment-context[data-v-9ede837f] {
  display: none;
}
/* 菜单文字 */
.menu-text[data-v-9ede837f] {
  margin-left: 8px;
}
/* ===== 设计系统 Token ===== */
.comments-page[data-v-033752a7] {
  padding: 16px;
  background: var(--color-bg-layout);
}
@media (max-width: 768px) {
.comments-page[data-v-033752a7] {
    padding: 12px;
}
}
/* ===== Hero Section（统一设计系统风格） ===== */
.hero-bg-decoration[data-v-033752a7] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-033752a7] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-033752a7] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -40px;
}
.hero-circle--2[data-v-033752a7] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 200px;
}
.hero-circle--3[data-v-033752a7] {
  width: 80px;
  height: 80px;
  top: 20px;
  right: 400px;
}
.hero-line[data-v-033752a7] {
  position: absolute;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-033752a7] {
  width: 300px;
  height: 1px;
  top: 30px;
  right: 100px;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-033752a7] {
  width: 200px;
  height: 1px;
  bottom: 40px;
  right: 350px;
  transform: rotate(10deg);
}
.hero-dot[data-v-033752a7] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.18);
}
.hero-dot--1[data-v-033752a7] {
  top: 60px;
  right: 300px;
}
.hero-dot--2[data-v-033752a7] {
  bottom: 50px;
  right: 150px;
}
.hero-dot--3[data-v-033752a7] {
  top: 80px;
  right: 500px;
}
.hero-content[data-v-033752a7] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 32px;
}
.hero-left[data-v-033752a7] {
  flex: 1;
  min-width: 0;
}
.hero-title[data-v-033752a7] {
  font-size: 26px;
  font-weight: 700;
  color: #fff;
  margin: 0 0 8px 0;
  line-height: 1.3;
}
.hero-desc[data-v-033752a7] {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.85);
  margin: 0 0 24px 0;
  line-height: 1.6;
}
.hero-stats[data-v-033752a7] {
  display: flex;
  align-items: center;
  gap: 24px;
}
.hero-stat[data-v-033752a7] {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.hero-stat-value[data-v-033752a7] {
  font-size: 22px;
  font-weight: 700;
  color: #fff;
}
.hero-stat-label[data-v-033752a7] {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.7);
  margin-top: 4px;
}
.hero-stat-divider[data-v-033752a7] {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.25);
}
.hero-right[data-v-033752a7] {
  flex-shrink: 0;
}
/* ===== Page Content ===== */
.page-content[data-v-033752a7] {
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
/* ===== Filter Section ===== */
.filter-section[data-v-033752a7] {
  background: var(--color-bg-container);
  border-radius: var(--radius-xl);
  border: 1px solid var(--color-border-light);
  box-shadow: var(--shadow-xs);
  padding: 20px 24px;
}
@media (max-width: 768px) {
.filter-section[data-v-033752a7] {
    padding: 12px;
}
}
.filter-desktop[data-v-033752a7] {
  display: block;
}
.filter-mobile[data-v-033752a7] {
  display: none;
}
/* ===== Comments Container ===== */
.comments-container[data-v-033752a7] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.comments-list[data-v-033752a7] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.comment-card[data-v-033752a7] {
  background: var(--color-bg-container);
  border-radius: var(--radius-xl);
  border: 1px solid var(--color-border-light);
  box-shadow: var(--shadow-xs);
  padding: 20px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.comment-card[data-v-033752a7]:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  border-color: rgba(24, 144, 255, 0.2);
}
@media (max-width: 768px) {
.comment-card .comment-card[data-v-033752a7] {
    padding: 12px;
}
}
.loading-container[data-v-033752a7],
.empty-container[data-v-033752a7] {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 400px;
  background: var(--color-bg-container);
  border-radius: var(--radius-xl);
  border: 1px solid var(--color-border-light);
  box-shadow: var(--shadow-xs);
}
/* ===== Pagination ===== */
.pagination-container[data-v-033752a7] {
  display: flex;
  justify-content: flex-end;
  padding: 16px 0;
}
@media (max-width: 768px) {
.pagination-container[data-v-033752a7] {
    padding: 12px;
}
}
/* ===== 响应式 - 平板 ===== */
@media (max-width: 992px) {
.hero-title[data-v-033752a7] {
    font-size: 24px;
}
.hero-stats[data-v-033752a7] {
    gap: 20px;
}
}
/* ===== 响应式 - 手机 ===== */
@media (max-width: 768px) {
.hero-content[data-v-033752a7] {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}
.hero-title[data-v-033752a7] {
    font-size: 22px;
}
.hero-desc[data-v-033752a7] {
    font-size: 13px;
    margin-bottom: 16px;
}
.hero-stats[data-v-033752a7] {
    flex-wrap: wrap;
    gap: 16px;
}
.hero-stat-value[data-v-033752a7] {
    font-size: 20px;
}
.hero-stat-divider[data-v-033752a7] {
    display: none;
}
.hero-right[data-v-033752a7] {
    width: 100%;
}
.page-content[data-v-033752a7] {
    padding: 0;
}
.filter-section[data-v-033752a7] {
    padding: 16px;
}
.filter-section[data-v-033752a7] .ant-col {
    margin-bottom: 12px;
}
.filter-section[data-v-033752a7] .ant-col:last-child {
    margin-bottom: 0;
}
.comment-card[data-v-033752a7] {
    padding: 16px;
}
.pagination-container[data-v-033752a7] {
    justify-content: center;
}
.pagination-container[data-v-033752a7] .ant-pagination-options {
    display: none;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.filter-section[data-v-033752a7] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.comment-card[data-v-033752a7] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.pagination-container[data-v-033752a7] {
    padding: 12px;
}
}
/* ===== 响应式 - 小屏手机 ===== */
@media (max-width: 576px) {
.hero-title[data-v-033752a7] {
    font-size: 20px;
}
.hero-desc[data-v-033752a7] {
    font-size: 12px;
    margin-bottom: 14px;
}
.hero-stats[data-v-033752a7] {
    gap: 12px;
}
.hero-stat-value[data-v-033752a7] {
    font-size: 18px;
}
.filter-section[data-v-033752a7] {
    padding: 12px;
}
.filter-desktop[data-v-033752a7] {
    display: none;
}
.filter-mobile[data-v-033752a7] {
    display: block;
}
.filter-search-row[data-v-033752a7] {
    display: flex;
    gap: 8px;
    margin-bottom: 0;
}
.filter-search[data-v-033752a7] {
    flex: 1;
}
.filter-search[data-v-033752a7] .ant-input {
    border-radius: 8px;
}
.filter-toggle-btn[data-v-033752a7] {
    display: flex;
    align-items: center;
    gap: 4px;
    border-radius: 8px;
}
.filter-dropdowns[data-v-033752a7] {
    display: none;
    grid-template-columns: 1fr;
    gap: 8px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--color-border-light);
}
.filter-dropdowns.expanded[data-v-033752a7] {
    display: grid;
}
.filter-dropdowns[data-v-033752a7] .ant-select {
    width: 100%;
}
.filter-actions[data-v-033752a7] {
    display: flex;
    gap: 8px;
    margin-top: 12px;
}
.filter-actions[data-v-033752a7] .ant-btn {
    flex: 1;
    border-radius: 8px;
}
.comment-card[data-v-033752a7] {
    padding: 12px;
}
}
@media (max-width: 576px) and (max-width: 768px) {
.filter-section[data-v-033752a7] {
    padding: 12px;
}
}
@media (max-width: 576px) and (max-width: 768px) {
.comment-card[data-v-033752a7] {
    padding: 12px;
}
}
.versions-page[data-v-d0ffcf3b] {
  padding: var(--spacing-4);
  background: var(--color-bg-layout);
  min-height: calc(100vh - 64px);
}
/* Hero区域 */
.hero-bg-decoration[data-v-d0ffcf3b] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.hero-circle[data-v-d0ffcf3b] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.07);
}
.hero-circle--1[data-v-d0ffcf3b] {
  width: 220px;
  height: 220px;
  top: -70px;
  right: -50px;
}
.hero-circle--2[data-v-d0ffcf3b] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.hero-circle--3[data-v-d0ffcf3b] {
  width: 80px;
  height: 80px;
  top: 20px;
  right: 120px;
  background: rgba(255, 255, 255, 0.05);
}
.hero-line[data-v-d0ffcf3b] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.1);
}
.hero-line--1[data-v-d0ffcf3b] {
  width: 300px;
  top: 30%;
  right: 8%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-d0ffcf3b] {
  width: 200px;
  bottom: 25%;
  right: 28%;
  transform: rotate(10deg);
}
.hero-dot[data-v-d0ffcf3b] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.18);
}
.hero-dot--1[data-v-d0ffcf3b] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-d0ffcf3b] {
  bottom: 30%;
  right: 15%;
}
.hero-dot--3[data-v-d0ffcf3b] {
  top: 50%;
  right: 45%;
}
.hero-content[data-v-d0ffcf3b] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-d0ffcf3b] {
  flex: 1;
}
.hero-title[data-v-d0ffcf3b] {
  font-size: 28px;
  font-weight: 700;
  color: #fff;
  margin: 0 0 8px 0;
  letter-spacing: -0.5px;
}
.hero-desc[data-v-d0ffcf3b] {
  font-size: 15px;
  color: rgba(255, 255, 255, 0.75);
  margin: 0 0 20px 0;
  line-height: 1.5;
}
.hero-stats[data-v-d0ffcf3b] {
  display: flex;
  gap: 32px;
}
.hero-stat[data-v-d0ffcf3b] {
  display: flex;
  flex-direction: column;
}
.hero-stat-value[data-v-d0ffcf3b] {
  font-size: 24px;
  font-weight: 700;
  color: #fff;
  line-height: 1.2;
}
.hero-stat-label[data-v-d0ffcf3b] {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.6);
  margin-top: 2px;
}
.hero-right[data-v-d0ffcf3b] {
  flex-shrink: 0;
  margin-left: 32px;
}
.page-content[data-v-d0ffcf3b] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.filter-section[data-v-d0ffcf3b] {
  background: #fff;
  border-radius: 8px;
  padding: 16px 24px;
}
@media (max-width: 768px) {
.filter-section[data-v-d0ffcf3b] {
    padding: 12px;
}
}
.content-card[data-v-d0ffcf3b] {
  border-radius: var(--radius-lg);
}
.loading-container[data-v-d0ffcf3b],
.empty-container[data-v-d0ffcf3b] {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 400px;
  background: #fff;
  border-radius: 8px;
}
.versions-container[data-v-d0ffcf3b] {
  background: white;
  border-radius: 8px;
  padding: 16px;
}
@media (max-width: 768px) {
.versions-container[data-v-d0ffcf3b] {
    padding: 12px;
}
}
.preview-content[data-v-d0ffcf3b] {
  background: #fafafa;
  padding: 16px;
  border-radius: 8px;
  max-height: 500px;
  overflow: auto;
}
@media (max-width: 768px) {
.preview-content[data-v-d0ffcf3b] {
    padding: 12px;
}
}
.preview-content pre[data-v-d0ffcf3b] {
  margin: 0;
  font-family: monospace;
  font-size: 13px;
  line-height: 1.5;
  white-space: pre-wrap;
  word-break: break-all;
}
/* Tablet */
@media (max-width: 992px) {
.hero-title[data-v-d0ffcf3b] {
    font-size: 24px;
}
.hero-desc[data-v-d0ffcf3b] {
    font-size: 14px;
}
.hero-stats[data-v-d0ffcf3b] {
    gap: 24px;
}
.hero-stat-value[data-v-d0ffcf3b] {
    font-size: 20px;
}
}
/* Mobile */
@media (max-width: 768px) {
.versions-page[data-v-d0ffcf3b] {
    padding: var(--spacing-3);
}
.hero-content[data-v-d0ffcf3b] {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}
.hero-right[data-v-d0ffcf3b] {
    margin-left: 0;
    width: 100%;
}
.hero-title[data-v-d0ffcf3b] {
    font-size: 22px;
}
.hero-desc[data-v-d0ffcf3b] {
    font-size: 13px;
}
.hero-stats[data-v-d0ffcf3b] {
    flex-wrap: wrap;
    gap: 12px;
}
.hero-stat-value[data-v-d0ffcf3b] {
    font-size: 18px;
}
.filter-section[data-v-d0ffcf3b] {
    padding: 12px 16px;
}
.filter-section[data-v-d0ffcf3b] .ant-col {
    margin-bottom: 12px;
}
.filter-section[data-v-d0ffcf3b] .ant-col:last-child {
    margin-bottom: 0;
}
.filter-section[data-v-d0ffcf3b] .ant-input-search {
    width: 100% !important;
}
.filter-section[data-v-d0ffcf3b] .ant-select {
    width: 100% !important;
}
.filter-section[data-v-d0ffcf3b] .ant-space {
    width: 100%;
    flex-wrap: wrap;
    gap: 10px;
}
.filter-section[data-v-d0ffcf3b] .ant-btn {
    flex: 1;
    min-width: calc(50% - 5px);
}
.versions-container[data-v-d0ffcf3b] {
    padding: 12px;
}
.versions-container[data-v-d0ffcf3b] .ant-table {
    font-size: 13px;
}
.versions-container[data-v-d0ffcf3b] .ant-table-thead > tr > th,
  .versions-container[data-v-d0ffcf3b] .ant-table-tbody > tr > td {
    padding: 10px 12px;
}
.versions-container[data-v-d0ffcf3b] .ant-table-column-title {
    font-size: 12px;
}
.versions-container[data-v-d0ffcf3b] .ant-pagination {
    padding-top: 12px;
}
.versions-container[data-v-d0ffcf3b] .ant-pagination-options {
    display: none;
}
.preview-content[data-v-d0ffcf3b] {
    padding: 12px;
    max-height: 400px;
}
.preview-content pre[data-v-d0ffcf3b] {
    font-size: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.filter-section[data-v-d0ffcf3b] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.versions-container[data-v-d0ffcf3b] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.preview-content[data-v-d0ffcf3b] {
    padding: 12px;
}
}
/* Small Mobile */
@media (max-width: 576px) {
.versions-page[data-v-d0ffcf3b] {
    padding: 8px;
}
.hero-title[data-v-d0ffcf3b] {
    font-size: 20px;
}
.hero-stats[data-v-d0ffcf3b] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}
.hero-stat[data-v-d0ffcf3b] {
    background: rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    padding: 12px 8px;
    text-align: center;
}
.hero-stat-label[data-v-d0ffcf3b] {
    display: block;
}
.hero-stat-value[data-v-d0ffcf3b] {
    font-size: 16px;
}
.filter-section[data-v-d0ffcf3b] {
    padding: 10px 12px;
}
.filter-section[data-v-d0ffcf3b] .ant-btn {
    min-width: 100%;
}
.versions-container[data-v-d0ffcf3b] .ant-table-thead > tr > th,
  .versions-container[data-v-d0ffcf3b] .ant-table-tbody > tr > td {
    padding: 8px 10px;
    font-size: 12px;
}
.versions-container[data-v-d0ffcf3b] .ant-btn {
    padding: 4px 8px;
    font-size: 11px;
}
}
@media (max-width: 576px) and (max-width: 768px) {
.filter-section[data-v-d0ffcf3b] {
    padding: 12px;
}
}
.filter-actions-col[data-v-d0ffcf3b] {
  display: flex;
  justify-content: flex-end;
}
/* 移动端版本卡片视图 */
.mobile-versions-list[data-v-d0ffcf3b] {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.mobile-version-card[data-v-d0ffcf3b] {
  background: #fff;
  border-radius: 10px;
  padding: 14px;
  border: 1px solid #f0f0f0;
}
.mobile-version-header[data-v-d0ffcf3b] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}
.mobile-version-tag[data-v-d0ffcf3b] {
  font-size: 13px;
  font-weight: 600;
}
.mobile-version-label[data-v-d0ffcf3b] {
  font-size: 14px;
  font-weight: 500;
  color: #1a1a1a;
}
.mobile-version-body[data-v-d0ffcf3b] {
  margin-bottom: 12px;
}
.mobile-version-desc[data-v-d0ffcf3b] {
  font-size: 13px;
  color: #595959;
  line-height: 1.5;
  margin-bottom: 8px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.mobile-version-meta[data-v-d0ffcf3b] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  color: #8c8c8c;
}
.mobile-version-creator[data-v-d0ffcf3b] {
  display: flex;
  align-items: center;
  gap: 6px;
}
.mobile-version-time[data-v-d0ffcf3b] {
  font-size: 11px;
}
.mobile-version-footer[data-v-d0ffcf3b] {
  padding-top: 10px;
  border-top: 1px solid #f0f0f0;
  text-align: right;
}
.mobile-version-actions[data-v-d0ffcf3b] .ant-btn {
  min-width: 32px;
  min-height: 32px;
  padding: 0;
}
.mobile-version-actions[data-v-d0ffcf3b] .ant-btn > span {
  font-size: 14px;
}
.version-diff[data-v-6bf6de3a] {
  width: 100%;
}
.diff-header[data-v-6bf6de3a] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
  padding: 16px;
  background: #fafafa;
  border-radius: 8px;
}
.version-info[data-v-6bf6de3a] {
  flex: 1;
}
.version-label[data-v-6bf6de3a] {
  font-size: 12px;
  color: #999;
  margin-bottom: 4px;
}
.version-number[data-v-6bf6de3a] {
  font-size: 18px;
  font-weight: 600;
  color: #333;
  margin-bottom: 4px;
}
.version-meta[data-v-6bf6de3a] {
  font-size: 12px;
  color: #666;
  display: flex;
  gap: 8px;
}
.version-old .version-number[data-v-6bf6de3a] {
  color: #ff4d4f;
}
.version-new .version-number[data-v-6bf6de3a] {
  color: #52c41a;
}
.diff-arrow[data-v-6bf6de3a] {
  font-size: 24px;
  color: #999;
}
.diff-content[data-v-6bf6de3a] {
  background: white;
  border: 1px solid #f0f0f0;
  border-radius: 8px;
  padding: 16px;
}
.diff-summary[data-v-6bf6de3a] {
  display: flex;
  gap: 24px;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid #f0f0f0;
}
.summary-item[data-v-6bf6de3a] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: #666;
}
.diff-changes[data-v-6bf6de3a] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.diff-item[data-v-6bf6de3a] {
  border: 1px solid #f0f0f0;
  border-radius: 6px;
  overflow: hidden;
}
.diff-added[data-v-6bf6de3a] {
  border-color: #b7eb8f;
  background: #f6ffed;
}
.diff-removed[data-v-6bf6de3a] {
  border-color: #ffa39e;
  background: #fff1f0;
}
.diff-modified[data-v-6bf6de3a] {
  border-color: #ffe58f;
  background: #fffbe6;
}
.diff-type[data-v-6bf6de3a] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px;
  background: rgba(0, 0, 0, 0.02);
  border-bottom: 1px solid #f0f0f0;
}
.diff-path[data-v-6bf6de3a] {
  font-family: monospace;
  font-weight: 500;
  color: #333;
}
.diff-values[data-v-6bf6de3a] {
  padding: 12px;
}
.diff-comparison[data-v-6bf6de3a] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.old-value[data-v-6bf6de3a] {
  background: #fff1f0;
  padding: 8px;
  border-radius: 4px;
}
.new-value[data-v-6bf6de3a] {
  background: #f6ffed;
  padding: 8px;
  border-radius: 4px;
}
.value-label[data-v-6bf6de3a] {
  font-size: 12px;
  color: #666;
  margin-bottom: 8px;
  font-weight: 500;
}
.value-content[data-v-6bf6de3a] {
  margin: 0;
  font-family: monospace;
  font-size: 13px;
  line-height: 1.5;
  color: #333;
  white-space: pre-wrap;
  word-break: break-all;
}
.single-value[data-v-6bf6de3a] {
  background: #fafafa;
  padding: 8px;
  border-radius: 4px;
}
.no-changes[data-v-6bf6de3a] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 48px;
  color: #52c41a;
  font-size: 16px;
}
.compare-page[data-v-0c5a53c2] {
  padding: var(--spacing-4);
  background: var(--color-bg-layout);
  min-height: calc(100vh - 64px);
}
/* ==================== Hero区域 ==================== */
.hero-section[data-v-0c5a53c2] {
  position: relative;
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #3dbbae) 0%, var(--color-hero-gradient-end, #08979c) 100%);
  border-radius: var(--radius-xl);
  margin-bottom: var(--spacing-3);
  color: white;
  overflow: hidden;
}
.hero-bg-decoration[data-v-0c5a53c2] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-0c5a53c2] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.07);
}
.hero-circle--1[data-v-0c5a53c2] {
  width: 220px;
  height: 220px;
  top: -70px;
  right: -50px;
}
.hero-circle--2[data-v-0c5a53c2] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.hero-circle--3[data-v-0c5a53c2] {
  width: 80px;
  height: 80px;
  top: 20px;
  right: 280px;
  background: rgba(255, 255, 255, 0.05);
}
.hero-line[data-v-0c5a53c2] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.1);
}
.hero-line--1[data-v-0c5a53c2] {
  width: 300px;
  top: 30%;
  right: 8%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-0c5a53c2] {
  width: 200px;
  bottom: 25%;
  right: 28%;
  transform: rotate(10deg);
}
.hero-dot[data-v-0c5a53c2] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.18);
}
.hero-dot--1[data-v-0c5a53c2] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-0c5a53c2] {
  bottom: 30%;
  right: 15%;
}
.hero-dot--3[data-v-0c5a53c2] {
  top: 50%;
  right: 45%;
}
.hero-content[data-v-0c5a53c2] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-0c5a53c2] {
  flex: 1;
}
.hero-right[data-v-0c5a53c2] {
  flex-shrink: 0;
}
.hero-title[data-v-0c5a53c2] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-0c5a53c2] {
  margin: 0 0 16px;
  font-size: 14px;
  opacity: 0.85;
  max-width: 600px;
}
.hero-stats[data-v-0c5a53c2] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.hero-stat[data-v-0c5a53c2] {
  display: flex;
  flex-direction: column;
}
.hero-stat-divider[data-v-0c5a53c2] {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.25);
}
.hero-stat-value[data-v-0c5a53c2] {
  font-size: 22px;
  font-weight: 700;
}
.hero-stat-label[data-v-0c5a53c2] {
  font-size: 12px;
  opacity: 0.7;
}
/* ==================== 页面内容 ==================== */
.page-content[data-v-0c5a53c2] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.version-selector[data-v-0c5a53c2] {
  background: white;
  border-radius: 12px;
  padding: 20px 24px;
}
@media (max-width: 768px) {
.version-selector[data-v-0c5a53c2] {
    padding: 12px;
}
}
.version-option[data-v-0c5a53c2] {
  display: flex;
  gap: 8px;
  align-items: center;
}
.button-col[data-v-0c5a53c2] {
  display: flex;
  align-items: flex-end;
  padding-bottom: 4px;
}
.button-space[data-v-0c5a53c2] {
  width: 100%;
  justify-content: flex-start;
}
.version-number[data-v-0c5a53c2] {
  font-weight: 600;
  color: #1890ff;
}
.version-label[data-v-0c5a53c2] {
  color: #666;
  font-size: 12px;
}
.loading-container[data-v-0c5a53c2] {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 400px;
  background: white;
  border-radius: 12px;
}
.content-card[data-v-0c5a53c2] {
  border-radius: var(--radius-lg);
}
.diff-result[data-v-0c5a53c2] {
  background: white;
  border-radius: 12px;
  padding: 24px;
}
@media (max-width: 768px) {
.diff-result[data-v-0c5a53c2] {
    padding: 12px;
}
}
.diff-header[data-v-0c5a53c2] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid #f0f0f0;
}
.diff-info[data-v-0c5a53c2] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.diff-label[data-v-0c5a53c2] {
  font-size: 14px;
  color: #666;
}
.diff-count[data-v-0c5a53c2] {
  font-weight: 600;
  font-size: 18px;
  color: #1890ff;
}
.empty-diff[data-v-0c5a53c2] {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 400px;
  background: white;
  border-radius: 12px;
}
/* ==================== 响应式 ==================== */
/* Tablet */
@media (max-width: 992px) {
.compare-page[data-v-0c5a53c2] {
    padding: var(--spacing-4);
}
.hero-title[data-v-0c5a53c2] {
    font-size: 24px;
}
.hero-desc[data-v-0c5a53c2] {
    font-size: 14px;
    margin-bottom: 20px;
}
.hero-stats[data-v-0c5a53c2] {
    flex-wrap: wrap;
    gap: 12px;
}
.hero-stat-value[data-v-0c5a53c2] {
    font-size: 20px;
}
.version-selector[data-v-0c5a53c2] {
    padding: 16px 24px;
}
}
@media (max-width: 992px) and (max-width: 768px) {
.version-selector[data-v-0c5a53c2] {
    padding: 12px;
}
}
/* Mobile */
@media (max-width: 768px) {
.compare-page[data-v-0c5a53c2] {
    padding: var(--spacing-3);
}
.hero-content[data-v-0c5a53c2] {
    flex-direction: column;
}
.hero-right[data-v-0c5a53c2] {
    display: none;
}
.hero-title[data-v-0c5a53c2] {
    font-size: 22px;
}
.hero-desc[data-v-0c5a53c2] {
    font-size: 13px;
    margin-bottom: 16px;
}
.hero-stats[data-v-0c5a53c2] {
    flex-wrap: wrap;
    gap: 12px;
}
.hero-stat-value[data-v-0c5a53c2] {
    font-size: 20px;
}
.version-selector[data-v-0c5a53c2] {
    padding: 12px 16px;
}
.version-selector[data-v-0c5a53c2] .ant-col {
    margin-bottom: 12px;
}
.version-selector[data-v-0c5a53c2] .ant-col:last-child {
    margin-bottom: 0;
}
.version-selector[data-v-0c5a53c2] .ant-form-item-label {
    padding-bottom: 6px;
}
.version-selector[data-v-0c5a53c2] .ant-select {
    width: 100% !important;
}
.version-selector[data-v-0c5a53c2] .ant-input {
    width: 100% !important;
}
.version-selector[data-v-0c5a53c2] .ant-space {
    width: 100%;
    flex-wrap: wrap;
    gap: 10px;
}
.version-selector[data-v-0c5a53c2] .ant-btn {
    flex: 1;
    min-width: calc(50% - 5px);
    justify-content: center;
}
.button-col[data-v-0c5a53c2] {
    align-items: flex-start;
    padding-bottom: 0;
    margin-top: 12px;
}
.button-space[data-v-0c5a53c2] {
    width: 100%;
    gap: 10px;
}
.loading-container[data-v-0c5a53c2],
  .empty-diff[data-v-0c5a53c2] {
    min-height: 300px;
}
.diff-result[data-v-0c5a53c2] {
    padding: 16px;
}
.diff-header[data-v-0c5a53c2] {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}
.diff-count[data-v-0c5a53c2] {
    font-size: 16px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.version-selector[data-v-0c5a53c2] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.diff-result[data-v-0c5a53c2] {
    padding: 12px;
}
}
/* Small Mobile */
@media (max-width: 576px) {
.compare-page[data-v-0c5a53c2] {
    padding: 8px;
}
.hero-title[data-v-0c5a53c2] {
    font-size: 20px;
}
.hero-desc[data-v-0c5a53c2] {
    font-size: 12px;
}
.hero-stats[data-v-0c5a53c2] {
    flex-wrap: wrap;
    gap: 8px;
}
.hero-stat[data-v-0c5a53c2] {
    padding: 0 10px;
}
.hero-stat-label[data-v-0c5a53c2] {
    display: block;
}
.hero-stat-divider[data-v-0c5a53c2] {
    display: none;
}
.hero-stat-value[data-v-0c5a53c2] {
    font-size: 18px;
}
.version-selector[data-v-0c5a53c2] {
    padding: 10px 12px;
}
.version-selector[data-v-0c5a53c2] .ant-btn {
    min-width: 100%;
}
.diff-result[data-v-0c5a53c2] {
    padding: 12px;
}
}
@media (max-width: 576px) and (max-width: 768px) {
.version-selector[data-v-0c5a53c2] {
    padding: 12px;
}
}
@media (max-width: 576px) and (max-width: 768px) {
.diff-result[data-v-0c5a53c2] {
    padding: 12px;
}
}
.collaboration-spaces-page[data-v-f4b245aa] {
  padding: var(--spacing-4);
}
/* ==================== Hero区域 ==================== */
.hero-bg-decoration[data-v-f4b245aa] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-f4b245aa] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-f4b245aa] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-f4b245aa] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-f4b245aa] {
  position: absolute;
  background: rgba(255, 255, 255, 0.06);
}
.hero-line--1[data-v-f4b245aa] {
  width: 300px;
  height: 1px;
  top: 40%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-f4b245aa] {
  width: 200px;
  height: 1px;
  bottom: 30%;
  right: 20%;
  transform: rotate(25deg);
}
.hero-dot[data-v-f4b245aa] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.15);
}
.hero-dot--1[data-v-f4b245aa] {
  top: 20%;
  right: 30%;
}
.hero-dot--2[data-v-f4b245aa] {
  bottom: 25%;
  right: 15%;
}
.hero-content[data-v-f4b245aa] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.hero-left[data-v-f4b245aa] {
  flex: 1;
}
.hero-title[data-v-f4b245aa] {
  font-size: 24px;
  font-weight: 600;
  margin: 0 0 8px 0;
  color: white;
}
.hero-desc[data-v-f4b245aa] {
  font-size: 14px;
  opacity: 0.85;
  margin: 0 0 20px 0;
}
.hero-stats[data-v-f4b245aa] {
  display: flex;
  align-items: center;
  gap: 0;
}
.hero-stat[data-v-f4b245aa] {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 20px;
  cursor: pointer;
}
.hero-stat-value[data-v-f4b245aa] {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.2;
}
.hero-stat-label[data-v-f4b245aa] {
  font-size: 12px;
  opacity: 0.75;
  margin-top: 4px;
}
.hero-stat-divider[data-v-f4b245aa] {
  width: 1px;
  height: 36px;
  background: rgba(255, 255, 255, 0.2);
}
.hero-right[data-v-f4b245aa] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
/* ==================== 移动端Hero区域优化 ==================== */
@media (max-width: 768px) {
.collaboration-spaces-page[data-v-f4b245aa] {
    padding: var(--spacing-3);
}
.hero-section[data-v-f4b245aa] {
    margin-bottom: 16px;
}
.hero-content[data-v-f4b245aa] {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
}
.hero-left[data-v-f4b245aa] {
    width: 100%;
}
.hero-title[data-v-f4b245aa] {
    font-size: 20px;
    margin-bottom: 6px;
}
.hero-desc[data-v-f4b245aa] {
    font-size: 13px;
    margin-bottom: 16px;
    line-height: 1.5;
}
.hero-stats[data-v-f4b245aa] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    padding: 12px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    backdrop-filter: blur(4px);
}
.hero-stat[data-v-f4b245aa] {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    padding: 8px 0;
}
.hero-stat-divider[data-v-f4b245aa] {
    display: none;
}
.hero-stat-value[data-v-f4b245aa] {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
}
.hero-stat-label[data-v-f4b245aa] {
    font-size: 12px;
    opacity: 0.85;
    margin-top: 0;
    white-space: nowrap;
}
.hero-right[data-v-f4b245aa] {
    width: 100%;
    justify-content: center;
}
.hero-btn-primary[data-v-f4b245aa] {
    width: 100%;
    font-size: 15px;
    border-radius: 10px;
}
}
/* Small Mobile - 超小屏幕优化 */
@media (max-width: 375px) {
.hero-stats[data-v-f4b245aa] {
    grid-template-columns: repeat(2, 1fr);
    gap: 6px;
    padding: 10px;
}
.hero-stat[data-v-f4b245aa] {
    padding: 6px 0;
    gap: 8px;
}
.hero-stat-value[data-v-f4b245aa] {
    font-size: 18px;
}
.hero-stat-label[data-v-f4b245aa] {
    font-size: 11px;
}
}
/* ==================== 空间卡片 ==================== */
.space-card[data-v-f4b245aa] {
  border-radius: var(--radius-lg);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
  transition: transform 0.2s, box-shadow 0.2s;
  height: 100%;
}
.space-card[data-v-f4b245aa] .ant-card-body {
  padding: 0;
}
.space-card[data-v-f4b245aa]:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.space-card-cover[data-v-f4b245aa] {
  height: 120px;
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
/* 研发空间 - 蓝紫科技感 */
.space-card-cover--rocket[data-v-f4b245aa] {
  background: linear-gradient(135deg, #4f46e5 0%, #7c3aed 50%, #a855f7 100%);
}
/* 营销空间 - 橙粉活力感 */
.space-card-cover--megaphone[data-v-f4b245aa] {
  background: linear-gradient(135deg, #f97316 0%, #ec4899 50%, #f43f5e 100%);
}
/* 数据分析 - 青蓝专业感 */
.space-card-cover--chart[data-v-f4b245aa] {
  background: linear-gradient(135deg, #0891b2 0%, #0d9488 50%, #10b981 100%);
}
/* 装饰性圆形光晕 */
.space-card-cover-decoration[data-v-f4b245aa] {
  position: absolute;
  width: 160px;
  height: 160px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.12) 0%, transparent 70%);
  top: -40px;
  right: -30px;
  pointer-events: none;
}
.space-card-cover-decoration[data-v-f4b245aa]::after {
  content: '';
  position: absolute;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.08) 0%, transparent 70%);
  bottom: -20px;
  left: -10px;
}
.space-card-icon[data-v-f4b245aa] {
  font-size: 40px;
  color: rgba(255, 255, 255, 0.95);
  z-index: 1;
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.15));
  transition: transform 0.3s ease;
}
.space-card:hover .space-card-icon[data-v-f4b245aa] {
  transform: scale(1.1);
}
.space-card-body[data-v-f4b245aa] {
  padding: 16px;
}
@media (max-width: 768px) {
.space-card-body[data-v-f4b245aa] {
    padding: 12px;
}
.space-card-cover[data-v-f4b245aa] {
    height: 100px;
}
.space-card-icon[data-v-f4b245aa] {
    font-size: 32px;
}
}
.space-card-header[data-v-f4b245aa] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  gap: 8px;
}
@media (max-width: 768px) {
.space-card-header[data-v-f4b245aa] {
    flex-wrap: wrap;
}
}
.space-card-title[data-v-f4b245aa] {
  font-size: 16px;
  font-weight: 600;
  margin: 0;
  color: var(--color-text-primary);
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.space-card-desc[data-v-f4b245aa] {
  font-size: 13px;
  color: var(--color-text-secondary);
  margin: 0 0 12px 0;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.space-card-meta[data-v-f4b245aa] {
  display: flex;
  gap: 12px;
  margin-bottom: 12px;
  font-size: 12px;
  color: var(--color-text-tertiary);
  flex-wrap: wrap;
}
@media (max-width: 768px) {
.space-card-meta[data-v-f4b245aa] {
    gap: 8px;
}
}
.space-card-meta-item[data-v-f4b245aa] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.space-card-footer[data-v-f4b245aa] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid var(--color-border);
  padding-top: 12px;
}
@media (max-width: 768px) {
.space-card-footer[data-v-f4b245aa] {
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}
}
/* ==================== 内容卡片 ==================== */
/* ==================== 详情头部 ==================== */
.detail-header-bar[data-v-f4b245aa] {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  border-radius: var(--radius-xl);
  padding: 20px 24px;
  margin-bottom: 16px;
  color: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.detail-header-left h2[data-v-f4b245aa] {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: white;
}
.detail-header-desc[data-v-f4b245aa] {
  font-size: 13px;
  opacity: 0.85;
  margin-top: 4px;
  display: block;
}
.detail-header-right[data-v-f4b245aa] {
  flex-shrink: 0;
}
.detail-back-btn[data-v-f4b245aa] {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
}
.detail-back-btn[data-v-f4b245aa]:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
}
@media (max-width: 768px) {
.detail-header-bar[data-v-f4b245aa] {
    flex-direction: column;
    gap: 12px;
    align-items: flex-start;
    padding: 16px;
}
.detail-header-left[data-v-f4b245aa] {
    width: 100%;
}
.detail-header-left h2[data-v-f4b245aa] {
    font-size: 18px;
}
.detail-header-right[data-v-f4b245aa] {
    width: 100%;
}
.detail-back-btn[data-v-f4b245aa] {
    width: 100%;
}
}
.content-card[data-v-f4b245aa] {
  border-radius: var(--radius-lg);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}
.section-title[data-v-f4b245aa] {
  font-size: 15px;
  font-weight: 600;
  margin: 0 0 16px 0;
  color: var(--color-text-primary);
}
/* ==================== 活动时间线 ==================== */
.activity-item[data-v-f4b245aa] {
  padding: 4px 0;
}
.activity-header[data-v-f4b245aa] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
  flex-wrap: wrap;
}
.activity-user[data-v-f4b245aa] {
  font-weight: 600;
  color: var(--color-text-primary);
}
.activity-action[data-v-f4b245aa] {
  color: var(--color-text-secondary);
}
.activity-target[data-v-f4b245aa] {
  font-size: 13px;
  color: var(--color-text-primary);
  margin-bottom: 2px;
}
.activity-time[data-v-f4b245aa] {
  font-size: 12px;
  color: var(--color-text-tertiary);
}
/* 移动端Modal优化 */
@media (max-width: 768px) {
[data-v-f4b245aa] .ant-modal {
    max-width: calc(100vw - 32px) !important;
    width: 100% !important;
}
}
.search-card[data-v-d4adf9b7] {
  margin-bottom: 12px;
  border-radius: 16px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.5);
  position: relative;
  z-index: 1;
  transition: all 0.3s ease;
}
.search-card[data-v-d4adf9b7]:hover {
  box-shadow: 0 8px 24px rgba(0, 105, 92, 0.12);
  transform: translateY(-2px);
}
.search-card .ant-card-body[data-v-d4adf9b7] {
  padding: 12px 16px;
}
.search-card .ant-input-search .ant-input[data-v-d4adf9b7] {
  border-radius: 8px;
  transition: all 0.3s ease;
}
.search-card .ant-input-search .ant-input[data-v-d4adf9b7]:focus,
.search-card .ant-input-search .ant-input[data-v-d4adf9b7]:hover {
  box-shadow: 0 0 0 3px rgba(38, 166, 154, 0.15);
}
.search-card .ant-select:not(.ant-select-disabled) .ant-select-selector[data-v-d4adf9b7] {
  border-radius: 8px;
  transition: all 0.3s ease;
}
.search-card .ant-btn[data-v-d4adf9b7] {
  border-radius: 8px;
  font-weight: 500;
  transition: all 0.3s ease;
}
.batch-toolbar[data-v-d4adf9b7] {
  background: linear-gradient(135deg, rgba(38, 166, 154, 0.1) 0%, rgba(0, 150, 136, 0.15) 100%);
  border: 2px solid rgba(38, 166, 154, 0.3);
  border-radius: 12px;
  padding: 8px 20px;
  margin-bottom: 16px;
  position: relative;
  z-index: 1;
  backdrop-filter: blur(10px);
  transition: all 0.3s ease;
}
.batch-toolbar[data-v-d4adf9b7]:hover {
  box-shadow: 0 4px 16px rgba(0, 105, 92, 0.15);
}
.batch-toolbar-content[data-v-d4adf9b7] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.selection-info[data-v-d4adf9b7] {
  display: flex;
  align-items: center;
}
.batch-actions[data-v-d4adf9b7] {
  display: flex;
  gap: 8px;
}
.batch-actions .ant-btn[data-v-d4adf9b7] {
  border-radius: 6px;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 6px;
}
.batch-actions .ant-btn[data-v-d4adf9b7]:hover {
  transform: translateY(-1px);
}
.batch-actions .ant-btn-dangerous[data-v-d4adf9b7] {
  color: #f5222d;
  border-color: #f5222d;
}
.batch-actions .ant-btn-dangerous[data-v-d4adf9b7]:hover {
  background: #f5222d;
  color: #fff;
}
.batch-toolbar .ant-btn-text[data-v-d4adf9b7] {
  color: #00695c;
}
.batch-toolbar .ant-btn-text[data-v-d4adf9b7]:hover {
  background: rgba(38, 166, 154, 0.1);
}
.users-container > .ant-card[data-v-d4adf9b7] {
  border-radius: 16px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.5);
  position: relative;
  z-index: 1;
  transition: all 0.3s ease;
}
.users-container > .ant-card[data-v-d4adf9b7]:hover {
  box-shadow: 0 8px 24px rgba(0, 105, 92, 0.12);
  transform: translateY(-2px);
}
.users-container > .ant-card .ant-card-head[data-v-d4adf9b7] {
  padding: 0 24px;
}
.users-container > .ant-card .ant-card-head-title[data-v-d4adf9b7] {
  font-weight: 600;
  color: #00695c;
  font-size: 16px;
}
.users-container > .ant-card .ant-table[data-v-d4adf9b7] {
  border-radius: 0 0 16px 16px;
}
.users-container > .ant-card .ant-table-thead > tr > th[data-v-d4adf9b7] {
  background: linear-gradient(135deg, #e0f2f1 0%, #b2dfdb 100%);
  color: #004d40;
  font-weight: 600;
}
.users-container > .ant-card .ant-table-tbody > tr:hover > td[data-v-d4adf9b7] {
  background: rgba(38, 166, 154, 0.08);
  transition: all 0.2s ease;
}
.users-container > .ant-card .ant-table-tbody > tr.ant-table-row[data-v-d4adf9b7]:hover {
  box-shadow: 0 4px 12px rgba(0, 105, 92, 0.15);
  transform: translateY(-1px);
}
.users-container > .ant-card .ant-table-tbody > tr > td[data-v-d4adf9b7] {
  transition: all 0.2s ease;
}
.users-container > .ant-card .ant-pagination[data-v-d4adf9b7] {
  margin: 16px 24px;
}
.users-container > .ant-card .ant-pagination-item-active a[data-v-d4adf9b7] {
  color: #fff;
}
.users-container .ant-tag[data-v-d4adf9b7] {
  border-radius: 6px;
  font-weight: 500;
  padding: 2px 12px;
  border: none;
}
.users-container .ant-badge-status-success[data-v-d4adf9b7] {
  background: #26a69a;
}
.users-container .ant-badge-status-warning[data-v-d4adf9b7] {
  background: #faad14;
}
.users-container .ant-badge-status-error[data-v-d4adf9b7] {
  background: #ff4d4f;
}
.ant-avatar[data-v-d4adf9b7] {
  border: 2px solid #b2dfdb;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}
.ant-avatar[data-v-d4adf9b7]:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.user-management-modal .ant-modal-header[data-v-d4adf9b7] {
  border-radius: 8px 8px 0 0;
  padding: 16px 24px;
}
@media (max-width: 768px) {
.ant-modal-header[data-v-d4adf9b7] {
    padding: 12px;
}
}
@media (max-width: 768px) {
.ant-modal-header[data-v-d4adf9b7] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.ant-modal-header[data-v-d4adf9b7] {
    padding: 12px;
}
}
.user-management-modal .ant-modal-title[data-v-d4adf9b7] {
  color: var(--color-text-inverse);
  font-weight: 600;
  font-size: 18px;
}
.user-management-modal .ant-modal-close-x[data-v-d4adf9b7] {
  color: var(--color-text-inverse);
}
.user-management-modal .ant-modal-body[data-v-d4adf9b7] {
  padding: 24px;
}
.user-management-modal .ant-form-item-label > label[data-v-d4adf9b7] {
  font-weight: 500;
}
.user-management-modal .ant-input[data-v-d4adf9b7],
.user-management-modal .ant-select-selector[data-v-d4adf9b7] {
  border-radius: 8px;
  transition: all 0.3s ease;
}
.user-management-modal .ant-input[data-v-d4adf9b7]:focus,
.user-management-modal .ant-input[data-v-d4adf9b7]:hover,
.user-management-modal .ant-select-focused .ant-select-selector[data-v-d4adf9b7] {
  box-shadow: 0 0 0 3px rgba(38, 166, 154, 0.15);
}
.user-management-modal .ant-modal-footer[data-v-d4adf9b7] {
  padding: 16px 24px;
  border-top: 1px solid #e0f2f1;
}
@media (max-width: 768px) {
.ant-modal-footer[data-v-d4adf9b7] {
    padding: 12px;
}
}
.user-management-modal .ant-btn-primary[data-v-d4adf9b7] {
  border: none;
  border-radius: 8px;
  font-weight: 500;
  transition: all 0.3s ease;
}
.user-management-modal .ant-btn-primary[data-v-d4adf9b7]:hover {
  transform: translateY(-1px);
}
.user-view-modal .ant-modal-header[data-v-d4adf9b7] {
  border-radius: 8px 8px 0 0;
  padding: 16px 24px;
}
@media (max-width: 768px) {
.ant-modal-header[data-v-d4adf9b7] {
    padding: 12px;
}
}
@media (max-width: 768px) {
.ant-modal-header[data-v-d4adf9b7] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.ant-modal-header[data-v-d4adf9b7] {
    padding: 12px;
}
}
.user-view-modal .ant-modal-title[data-v-d4adf9b7] {
  color: var(--color-text-inverse);
  font-weight: 600;
}
.user-view-modal .ant-modal-close-x[data-v-d4adf9b7] {
  color: var(--color-text-inverse);
}
.user-view-modal .ant-descriptions-bordered .ant-descriptions-item-label[data-v-d4adf9b7] {
  font-weight: 500;
}
.user-view-modal .ant-btn-primary[data-v-d4adf9b7] {
  border: none;
  border-radius: 8px;
  font-weight: 500;
}
.ant-dropdown-menu[data-v-d4adf9b7] {
  border-radius: 8px;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
  border: 1px solid #e0f2f1;
  padding: 4px;
}
.ant-dropdown-menu-item[data-v-d4adf9b7] {
  border-radius: 4px;
  transition: all 0.2s ease;
}
.ant-dropdown-menu-item[data-v-d4adf9b7]:hover {
  background: rgba(38, 166, 154, 0.1);
}
.ant-dropdown-menu-item-danger[data-v-d4adf9b7]:hover {
  background: rgba(245, 34, 45, 0.1);
}
.ant-menu-divider[data-v-d4adf9b7] {
  margin: 4px 0;
}
/* 筛选区域样式 */
.user-filter-wrapper[data-v-d4adf9b7] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.user-filter-search[data-v-d4adf9b7] {
  flex: 1;
  min-width: 200px;
  max-width: 360px;
}
.user-filter-select[data-v-d4adf9b7] {
  width: 160px;
  flex-shrink: 0;
}
.user-filter-reset[data-v-d4adf9b7] {
  flex-shrink: 0;
  border-radius: 8px;
  font-weight: 500;
  color: var(--color-text-secondary);
  border-color: var(--color-border);
}
.user-filter-reset[data-v-d4adf9b7]:hover {
  color: var(--color-primary);
  border-color: var(--color-primary);
}
/* 用户卡片头部 */
.user-card-header[data-v-d4adf9b7] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--color-border-secondary);
  margin-bottom: 0;
}
.user-card-avatar[data-v-d4adf9b7] {
  flex-shrink: 0;
  background: var(--color-primary-bg);
  color: var(--color-primary);
  font-weight: 600;
  font-size: 16px;
}
.user-card-info[data-v-d4adf9b7] {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.user-card-name-row[data-v-d4adf9b7] {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.user-card-name[data-v-d4adf9b7] {
  font-size: 15px;
  font-weight: 600;
  color: var(--color-text);
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex-shrink: 1;
  min-width: 0;
}
.user-card-role-tag[data-v-d4adf9b7] {
  font-size: 10px;
  line-height: 1;
  padding: 2px 6px;
  border-radius: 4px;
  margin: 0;
  max-width: 80px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex-shrink: 0;
}
.user-card-email[data-v-d4adf9b7] {
  font-size: 12px;
  color: var(--color-text-quaternary);
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.user-card-status[data-v-d4adf9b7] {
  flex-shrink: 0;
  display: flex;
  align-items: center;
}
.user-card-status[data-v-d4adf9b7] .ant-badge-status-text {
  font-size: 11px;
  color: var(--color-text-tertiary);
}
/* 卡片底部操作区域 */
[data-v-d4adf9b7] .mobile-card-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  background: var(--color-bg-layout);
  border-top: 1px solid var(--color-border-secondary);
}
/* 用户卡片字段区域 */
.user-card-fields[data-v-d4adf9b7] {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--color-border-secondary);
}
.user-card-field[data-v-d4adf9b7] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  line-height: 1.5;
  padding: 4px 0;
}
.user-card-field-label[data-v-d4adf9b7] {
  font-size: 13px;
  color: var(--color-text-tertiary);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 6px;
}
.user-card-field-value[data-v-d4adf9b7] {
  font-size: 13px;
  color: var(--color-text-secondary);
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}
/* 移动端卡片操作按钮 - 确保触摸目标达到44px标准 */
.mobile-primary-action[data-v-d4adf9b7],
.mobile-view-action[data-v-d4adf9b7],
.mobile-more-action[data-v-d4adf9b7] {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  min-width: 44px;
  padding: 10px 16px;
  font-size: 14px;
  border-radius: 8px;
}
.mobile-primary-action[data-v-d4adf9b7] {
  color: var(--color-primary);
  font-weight: 500;
}
.mobile-view-action[data-v-d4adf9b7] {
  color: var(--color-text-secondary);
}
.mobile-more-action[data-v-d4adf9b7] {
  padding: 10px;
}
@media (max-width: 768px) {
.users-container[data-v-d4adf9b7] {
    padding: 16px;
}
.page-header[data-v-d4adf9b7] {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}
.page-header h1[data-v-d4adf9b7] {
    font-size: 20px;
}
.header-actions[data-v-d4adf9b7] {
    justify-content: flex-end;
}
.batch-toolbar-content[data-v-d4adf9b7] {
    flex-direction: column;
    gap: 12px;
}
.batch-actions[data-v-d4adf9b7] {
    flex-wrap: wrap;
    justify-content: center;
}
.batch-actions .ant-btn[data-v-d4adf9b7] {
    min-height: 44px;
}
.user-filter-search[data-v-d4adf9b7] {
    flex: 1 1 100%;
    min-width: 0;
}
.user-filter-select[data-v-d4adf9b7] {
    flex: 1;
    width: auto;
}
.user-management-modal[data-v-d4adf9b7],
  .user-view-modal[data-v-d4adf9b7] {
    max-width: 100vw !important;
    margin: 0 !important;
    top: 0 !important;
}
.user-management-modal[data-v-d4adf9b7] .ant-modal-content,
  .user-view-modal[data-v-d4adf9b7] .ant-modal-content {
    border-radius: 0 !important;
    display: flex;
    flex-direction: column;
}
.user-management-modal[data-v-d4adf9b7] .ant-modal-body,
  .user-view-modal[data-v-d4adf9b7] .ant-modal-body {
    flex: 1;
    overflow-y: auto;
    padding: 16px !important;
}
.user-management-modal[data-v-d4adf9b7] .ant-modal-footer,
  .user-view-modal[data-v-d4adf9b7] .ant-modal-footer {
    padding: 12px 16px !important;
    border-top: 1px solid #f0f0f0;
}
.user-view-modal[data-v-d4adf9b7] .ant-descriptions-bordered {
    border: none;
}
.user-view-modal[data-v-d4adf9b7] .ant-descriptions {
    font-size: 13px;
}
.user-view-modal[data-v-d4adf9b7] .ant-descriptions-row {
    border-bottom: none;
}
.user-view-modal[data-v-d4adf9b7] .ant-descriptions-bordered .ant-descriptions-item-label {
    font-weight: 600;
    font-size: 12px;
    color: var(--color-text-tertiary);
    background: var(--color-bg-layout);
    min-width: 90px;
    padding: 8px 12px !important;
    white-space: nowrap;
    border-inline-end: none;
}
.user-view-modal[data-v-d4adf9b7] .ant-descriptions-item-content {
    padding: 8px 12px !important;
    font-size: 13px;
    word-break: break-all;
}
.user-view-modal[data-v-d4adf9b7] .ant-descriptions-bordered .ant-descriptions-item {
    padding: 0 !important;
    border-bottom: 1px solid var(--color-border-light);
}
.user-view-modal[data-v-d4adf9b7] .ant-badge-status-text {
    font-size: 12px;
}
.user-view-modal[data-v-d4adf9b7] .ant-tag {
    font-size: 11px;
    padding: 0 6px;
    line-height: 20px;
    border-radius: 4px;
}
.user-management-modal[data-v-d4adf9b7] .ant-row {
    flex-direction: column;
}
.user-management-modal[data-v-d4adf9b7] .ant-col-12 {
    max-width: 100% !important;
    flex: 0 0 100% !important;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.users-container[data-v-d4adf9b7] {
    padding: 12px;
}
}
.department-tree-wrapper[data-v-6de37fc3] {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--color-bg-container, #fff);
  border-radius: 6px;
  overflow: hidden;
}
.tree-toolbar[data-v-6de37fc3] {
  display: flex;
  align-items: center;
  padding: 10px 12px;
  border-bottom: 1px solid var(--color-border-light, #f0f0f0);
  background: var(--color-bg-layout, #fafafa);
}
.tree-spin[data-v-6de37fc3] {
  flex: 1;
  overflow: auto;
  padding: 8px 6px;
}
.empty-tree[data-v-6de37fc3] {
  padding: 40px 0;
  display: flex;
  justify-content: center;
}
.tree-node[data-v-6de37fc3] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 2px 6px;
  border-radius: 4px;
  transition: background 0.15s ease;
  font-size: 13px;
  line-height: 24px;
  min-height: 28px;
  max-width: 100%;
}
.tree-node[data-v-6de37fc3]:hover {
  background: var(--color-primary-10, #eff6ff);
}
.tree-node--selected[data-v-6de37fc3] {
  background: var(--color-primary-bg-selected, #e6f4ff) !important;
  color: var(--color-primary, #1677ff);
  font-weight: 500;
}
.tree-node--disabled[data-v-6de37fc3] {
  opacity: 0.55;
}
.node-icon[data-v-6de37fc3] {
  font-size: 14px;
  color: var(--color-primary, #1677ff);
  flex-shrink: 0;
}
.node-name[data-v-6de37fc3] {
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 200px;
}
.node-code[data-v-6de37fc3] {
  font-size: 11px;
  color: var(--color-text-tertiary, #8c8c8c);
  font-family: 'SF Mono', Menlo, Consolas, monospace;
  background: var(--color-bg-layout, #f5f5f5);
  padding: 0 4px;
  border-radius: 3px;
  flex-shrink: 0;
}
.node-badge[data-v-6de37fc3] {
  flex-shrink: 0;
  margin-left: 2px;
}
.node-status[data-v-6de37fc3] {
  flex-shrink: 0;
  font-size: 10px;
  padding: 0 4px;
  line-height: 16px;
  height: 16px;
  margin: 0;
}
[data-v-6de37fc3] .ant-tree {
  background: transparent;
}
[data-v-6de37fc3] .ant-tree-node-content-wrapper:hover {
  background: transparent !important;
}
[data-v-6de37fc3] .ant-tree-node-selected {
  background: transparent !important;
}
[data-v-6de37fc3] .ant-tree-switcher {
  width: 18px;
}
[data-v-6de37fc3] .ant-tree-title {
  width: 100%;
  overflow: hidden;
}
.department-detail-panel[data-v-eb675851] {
  padding: 16px;
}
.detail-section[data-v-eb675851] {
  margin-bottom: 16px;
}
.section-header[data-v-eb675851] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--color-border-light, #f0f0f0);
}
.section-header .anticon[data-v-eb675851] {
  color: var(--color-primary, #1677ff);
  font-size: 16px;
}
.section-title[data-v-eb675851] {
  font-size: 15px;
  font-weight: 600;
  color: var(--color-text, #1d2129);
}
.detail-descriptions[data-v-eb675851] .ant-descriptions-item-label {
  width: 120px;
  color: var(--color-text-secondary, #595959);
  font-weight: 500;
  background: var(--color-bg-layout, #fafafa);
}
.detail-descriptions[data-v-eb675851] .ant-descriptions-item-content {
  color: var(--color-text, #1d2129);
}
.detail-value-strong[data-v-eb675851] {
  font-weight: 600;
  color: var(--color-text, #1d2129);
}
.detail-value-muted[data-v-eb675851] {
  color: var(--color-text-secondary, #8c8c8c);
}
.detail-actions[data-v-eb675851] {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--color-border-light, #f0f0f0);
  display: flex;
  gap: 8px;
}
.department-members-panel[data-v-2d8922e7] {
  padding: 16px;
}
.members-toolbar[data-v-2d8922e7] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  gap: 16px;
  flex-wrap: wrap;
}
.members-summary[data-v-2d8922e7] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.members-summary-icon[data-v-2d8922e7] {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #3b82f6 0%, #60a5fa 100%);
  color: white;
  font-size: 20px;
}
.members-summary-info[data-v-2d8922e7] {
  display: flex;
  flex-direction: column;
}
.members-summary-count[data-v-2d8922e7] {
  font-size: 22px;
  font-weight: 700;
  color: var(--color-text, #1d2129);
  line-height: 1.2;
}
.members-summary-label[data-v-2d8922e7] {
  font-size: 12px;
  color: var(--color-text-secondary, #595959);
}
.members-search[data-v-2d8922e7] {
  width: 240px;
  max-width: 100%;
}
.members-grid[data-v-2d8922e7] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 12px;
}
.member-card[data-v-2d8922e7] {
  background: var(--color-bg-container, #fff);
  border: 1px solid var(--color-border-light, #f0f0f0);
  border-radius: var(--radius-lg, 8px);
  padding: 14px;
  transition: all 0.2s;
}
.member-card[data-v-2d8922e7]:hover {
  border-color: var(--color-primary, #1677ff);
  box-shadow: 0 4px 12px rgba(22, 119, 255, 0.1);
  transform: translateY(-2px);
}
.member-card-header[data-v-2d8922e7] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.member-avatar[data-v-2d8922e7] {
  flex-shrink: 0;
  background: var(--color-primary, #1677ff);
}
.member-info[data-v-2d8922e7] {
  flex: 1;
  min-width: 0;
}
.member-name-row[data-v-2d8922e7] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.member-name[data-v-2d8922e7] {
  font-weight: 600;
  font-size: 14px;
  color: var(--color-text, #1d2129);
}
.member-status-tag[data-v-2d8922e7] {
  margin: 0;
  font-size: 11px;
  line-height: 16px;
  padding: 0 6px;
}
.member-position[data-v-2d8922e7] {
  font-size: 12px;
  color: var(--color-text-secondary, #595959);
  margin-top: 2px;
}
.member-card-body[data-v-2d8922e7] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding-top: 10px;
  border-top: 1px solid var(--color-border-light, #f0f0f0);
}
.member-contact-item[data-v-2d8922e7] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--color-text-secondary, #595959);
}
.member-contact-item .anticon[data-v-2d8922e7] {
  color: var(--color-text-tertiary, #8c8c8c);
  flex-shrink: 0;
}
.members-empty[data-v-2d8922e7] {
  margin-top: 40px;
}
@media (max-width: 768px) {
.members-grid[data-v-2d8922e7] {
    grid-template-columns: 1fr;
}
.members-toolbar[data-v-2d8922e7] {
    flex-direction: column;
    align-items: stretch;
}
.members-search[data-v-2d8922e7] {
    width: 100%;
}
}
.department-children-panel[data-v-25ffe307] {
  padding: 16px;
}
.children-header[data-v-25ffe307] {
  margin-bottom: 16px;
}
.children-title-wrapper[data-v-25ffe307] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.children-title-icon[data-v-25ffe307] {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #8b5cf6 0%, #a78bfa 100%);
  color: white;
  font-size: 20px;
}
.children-title-info[data-v-25ffe307] {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.children-title[data-v-25ffe307] {
  font-size: 15px;
  font-weight: 600;
  color: var(--color-text, #1d2129);
}
.children-count[data-v-25ffe307] {
  font-size: 12px;
  color: var(--color-text-secondary, #595959);
}
.children-grid[data-v-25ffe307] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 12px;
}
.child-card[data-v-25ffe307] {
  background: var(--color-bg-container, #fff);
  border: 1px solid var(--color-border-light, #f0f0f0);
  border-radius: var(--radius-lg, 8px);
  padding: 14px;
  transition: all 0.2s;
}
.child-card[data-v-25ffe307]:hover {
  border-color: var(--color-primary, #1677ff);
  box-shadow: 0 4px 12px rgba(22, 119, 255, 0.1);
  transform: translateY(-2px);
}
.child-card-header[data-v-25ffe307] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.child-info[data-v-25ffe307] {
  flex: 1;
  min-width: 0;
}
.child-name-row[data-v-25ffe307] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.child-name[data-v-25ffe307] {
  font-weight: 600;
  font-size: 14px;
  color: var(--color-text, #1d2129);
}
.child-code-tag[data-v-25ffe307] {
  margin: 0;
  font-size: 11px;
  line-height: 16px;
  padding: 0 6px;
}
.child-meta[data-v-25ffe307] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 4px;
  flex-wrap: wrap;
}
.child-meta-item[data-v-25ffe307] {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: var(--color-text-secondary, #595959);
}
.child-meta-item .anticon[data-v-25ffe307] {
  color: var(--color-text-tertiary, #8c8c8c);
}
.child-card-footer[data-v-25ffe307] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 10px;
  border-top: 1px solid var(--color-border-light, #f0f0f0);
}
.child-status-tag[data-v-25ffe307] {
  margin: 0;
  font-size: 11px;
}
.children-empty[data-v-25ffe307] {
  margin-top: 40px;
}
@media (max-width: 768px) {
.children-grid[data-v-25ffe307] {
    grid-template-columns: 1fr;
}
}
.departments-page[data-v-525c6186] {
  padding: var(--spacing-4);
  background: linear-gradient(135deg, #f5f7fa 0%, #e4e8ef 100%);
  display: flex;
  flex-direction: column;
  gap: var(--spacing-4);
}
/* Hero Section */
.hero-section[data-v-525c6186] {
  position: relative;
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  border-radius: var(--radius-xl);
  color: white;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(24, 144, 255, 0.18);
}
.hero-bg-decoration[data-v-525c6186] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-525c6186] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-525c6186] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -40px;
}
.hero-circle--2[data-v-525c6186] {
  width: 140px;
  height: 140px;
  bottom: -50px;
  right: 240px;
}
.hero-line[data-v-525c6186] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-525c6186] {
  width: 320px;
  top: 30%;
  right: 12%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-525c6186] {
  width: 220px;
  bottom: 25%;
  right: 32%;
  transform: rotate(10deg);
}
.hero-dot[data-v-525c6186] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.22);
}
.hero-dot--1[data-v-525c6186] {
  top: 22%;
  right: 28%;
}
.hero-dot--2[data-v-525c6186] {
  bottom: 30%;
  right: 18%;
}
.hero-content[data-v-525c6186] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}
.hero-left[data-v-525c6186] {
  flex: 1;
  min-width: 240px;
}
.hero-title[data-v-525c6186] {
  margin: 0 0 6px;
  font-size: 24px;
  font-weight: 700;
  color: white;
  line-height: 1.2;
}
.hero-desc[data-v-525c6186] {
  margin: 0;
  font-size: 13px;
  opacity: 0.85;
  max-width: 480px;
}
.hero-right[data-v-525c6186] {
  display: flex;
  gap: 10px;
  flex-shrink: 0;
  flex-wrap: wrap;
  align-items: center;
}
.hero-search[data-v-525c6186] {
  width: 240px;
}
.hero-search[data-v-525c6186] .ant-input {
  background: rgba(255, 255, 255, 0.95);
  border: none;
  border-radius: var(--radius-lg);
}
/* Stats Grid */
.stats-grid[data-v-525c6186] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
@media (max-width: 992px) {
.stats-grid[data-v-525c6186] {
    grid-template-columns: repeat(2, 1fr);
}
}
.stats-card[data-v-525c6186] {
  background: white;
  border-radius: var(--radius-xl);
  padding: 16px;
  box-shadow: var(--shadow-sm);
  transition: transform 0.2s, box-shadow 0.2s;
}
.stats-card[data-v-525c6186]:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-md, 0 4px 12px rgba(0, 0, 0, 0.08));
}
.stat-item[data-v-525c6186] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.stat-icon[data-v-525c6186] {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: white;
  flex-shrink: 0;
}
.stat-icon-blue[data-v-525c6186] {
  background: linear-gradient(135deg, #3b82f6 0%, #60a5fa 100%);
}
.stat-icon-green[data-v-525c6186] {
  background: linear-gradient(135deg, #10b981 0%, #34d399 100%);
}
.stat-icon-orange[data-v-525c6186] {
  background: linear-gradient(135deg, #f59e0b 0%, #fbbf24 100%);
}
.stat-icon-purple[data-v-525c6186] {
  background: linear-gradient(135deg, #8b5cf6 0%, #a78bfa 100%);
}
.stat-content[data-v-525c6186] {
  flex: 1;
  min-width: 0;
}
.stat-value[data-v-525c6186] {
  font-size: 24px;
  font-weight: 700;
  color: var(--color-text, #1d2129);
  line-height: 1.2;
}
.stat-suffix[data-v-525c6186] {
  font-size: 13px;
  font-weight: 500;
  color: var(--color-text-secondary, #595959);
  margin-left: 4px;
}
.stat-label[data-v-525c6186] {
  font-size: 13px;
  color: var(--color-text-secondary, #595959);
  margin-top: 4px;
}
/* Main Layout */
.main-card[data-v-525c6186] {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-sm);
}
.main-card[data-v-525c6186] .ant-card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 0;
  height: 100%;
}
.departments-layout[data-v-525c6186] {
  display: grid;
  grid-template-columns: 360px 1fr;
  flex: 1;
  min-height: 600px;
  height: 100%;
}
.departments-tree-panel[data-v-525c6186] {
  border-right: 1px solid var(--color-border-light, #f0f0f0);
  display: flex;
  flex-direction: column;
  min-height: 600px;
  height: 100%;
  background: var(--color-bg-container, #fff);
}
.departments-detail-panel[data-v-525c6186] {
  display: flex;
  flex-direction: column;
  overflow: auto;
  padding: 0 16px;
}
.departments-detail-panel[data-v-525c6186] .ant-tabs {
  height: 100%;
}
.departments-detail-panel[data-v-525c6186] .ant-tabs-content-holder {
  overflow: auto;
}
.detail-tabs[data-v-525c6186] {
  height: 100%;
}
.panel-empty[data-v-525c6186] {
  margin-top: 60px;
}
@media (max-width: 992px) {
.departments-layout[data-v-525c6186] {
    grid-template-columns: 1fr;
}
.departments-tree-panel[data-v-525c6186] {
    border-right: none;
    border-bottom: 1px solid var(--color-border-light, #f0f0f0);
    height: 400px;
}
.hero-content[data-v-525c6186] {
    flex-direction: column;
    align-items: stretch;
}
.hero-right[data-v-525c6186] {
    justify-content: flex-end;
}
}
/* ============================================ */
/* Permission Tree Component - Enterprise Grade Design */
/* ============================================ */
/* CSS Variables for Consistent Styling */
[data-v-6d1c78a1]:root {
  --pt-primary: #1890ff;
  --pt-primary-light: #e6f7ff;
  --pt-primary-light-1: rgba(24, 144, 255, 0.1);
  --pt-primary-light-2: rgba(24, 144, 255, 0.15);
  --pt-primary-light-3: rgba(24, 144, 255, 0.25);
  --pt-bg-container: #ffffff;
  --pt-bg-layout: #fafafa;
  --pt-bg-hover: #f5f5f5;
  --pt-bg-active: #e8f4ff;
  --pt-border: #d9d9d9;
  --pt-border-light: #f0f0f0;
  --pt-border-dark: #bfbfbf;
  --pt-text-primary: #333333;
  --pt-text-secondary: #8c8c8c;
  --pt-text-tertiary: #bfbfbf;
  --pt-success: #52c41a;
  --pt-warning: #faad14;
  --pt-error: #f5222d;
  --pt-info: #1890ff;
  --pt-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
  --pt-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);
  --pt-shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.12);
  --pt-radius-sm: 4px;
  --pt-radius-md: 8px;
  --pt-radius-lg: 12px;
  --pt-radius-full: 999px;
  --pt-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --pt-transition-fast: all 0.2s ease;
}
/* Container Styles - Optimized for Modal Usage */
.permission-tree-container[data-v-6d1c78a1] {
  width: 100%;
  display: flex;
  flex-direction: column;
  background: var(--pt-bg-container);
  border-radius: var(--pt-radius-lg);
  box-shadow: var(--pt-shadow-md);
  overflow: hidden;
  transition: var(--pt-transition);
  border: 1px solid var(--pt-border-light);
}
.permission-tree-container[data-v-6d1c78a1]:hover {
  box-shadow: var(--pt-shadow-lg);
}
/* Header Section */
.permission-tree-header[data-v-6d1c78a1] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 24px;
  background: var(--pt-bg-layout);
  border-bottom: 1px solid var(--pt-border-light);
  gap: 24px;
  flex-wrap: wrap;
  transition: var(--pt-transition-fast);
}
/* Search Box */
.permission-tree-search[data-v-6d1c78a1] {
  flex: 1;
  min-width: 240px;
  max-width: 420px;
}
.permission-search-input[data-v-6d1c78a1] {
  width: 100%;
  border-radius: var(--pt-radius-md);
  font-size: 14px;
  transition: var(--pt-transition-fast);
  background: var(--pt-bg-container);
  border: 1px solid var(--pt-border-light);
}
.permission-search-input[data-v-6d1c78a1]:hover {
  border-color: var(--pt-primary);
  box-shadow: 0 0 0 1px var(--pt-primary-light-1);
}
.permission-search-input[data-v-6d1c78a1]:focus {
  border-color: var(--pt-primary);
  box-shadow: 0 0 0 2px var(--pt-primary-light-1);
  outline: none;
}
/* Control Buttons */
.permission-tree-controls[data-v-6d1c78a1] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.control-button[data-v-6d1c78a1] {
  font-size: 14px;
  color: var(--pt-text-primary);
  padding: 8px 16px;
  border-radius: var(--pt-radius-md);
  transition: var(--pt-transition-fast);
  font-weight: 500;
  background: transparent;
  border: 1px solid transparent;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.control-button[data-v-6d1c78a1]:hover {
  background: var(--pt-bg-hover);
  color: var(--pt-primary);
  border-color: var(--pt-primary-light);
  box-shadow: var(--pt-shadow-sm);
}
.control-button[data-v-6d1c78a1]:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.control-button[data-v-6d1c78a1]:disabled:hover {
  background: transparent;
  color: var(--pt-text-secondary);
  border-color: transparent;
  box-shadow: none;
}
/* Selected Count */
.selected-count[data-v-6d1c78a1] {
  font-size: 14px;
  color: var(--pt-text-secondary);
  font-weight: 500;
  background: var(--pt-bg-container);
  padding: 8px 16px;
  border-radius: var(--pt-radius-md);
  border: 1px solid var(--pt-border-light);
  transition: var(--pt-transition-fast);
  box-shadow: var(--pt-shadow-sm);
}
.selected-count[data-v-6d1c78a1]:hover {
  border-color: var(--pt-primary-light);
  box-shadow: 0 0 0 1px var(--pt-primary-light-1);
}
.selected-count strong[data-v-6d1c78a1] {
  color: var(--pt-primary);
  font-weight: 600;
}
/* Content Area */
.permission-tree-content[data-v-6d1c78a1] {
  flex: 1;
  overflow: hidden;
  padding: 0;
  background: var(--pt-bg-container);
  position: relative;
}
.tree-wrapper[data-v-6d1c78a1] {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
/* Tree Component */
.permission-tree[data-v-6d1c78a1] {
  flex: 1;
  font-size: 14px;
  line-height: 20px;
  overflow: auto;
  padding: 8px 0;
}
/* Custom Scrollbar */
.permission-tree[data-v-6d1c78a1]::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.permission-tree[data-v-6d1c78a1]::-webkit-scrollbar-track {
  background: var(--pt-bg-layout);
  border-radius: var(--pt-radius-full);
}
.permission-tree[data-v-6d1c78a1]::-webkit-scrollbar-thumb {
  background: var(--pt-border);
  border-radius: var(--pt-radius-full);
  transition: var(--pt-transition-fast);
}
.permission-tree[data-v-6d1c78a1]::-webkit-scrollbar-thumb:hover {
  background: var(--pt-text-tertiary);
}
/* Tree Node Content */
.tree-node-content[data-v-6d1c78a1] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  padding: 4px 0;
}
.tree-node-title[data-v-6d1c78a1] {
  font-weight: 500;
  color: var(--pt-text-primary);
  transition: var(--pt-transition-fast);
  line-height: 24px;
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tree-node-title[data-v-6d1c78a1]:hover {
  color: var(--pt-primary);
}
/* Search Highlight */
.tree-node-title-highlight[data-v-6d1c78a1] {
  background-color: var(--pt-primary-light-2);
  color: var(--pt-primary);
  padding: 2px 8px;
  border-radius: var(--pt-radius-sm);
  font-weight: 600;
  animation: highlight-pulse-6d1c78a1 0.8s ease-in-out;
}
@keyframes highlight-pulse-6d1c78a1 {
0% {
    background-color: var(--pt-primary-light-1);
    transform: scale(1);
}
50% {
    background-color: var(--pt-primary-light-3);
    transform: scale(1.02);
}
100% {
    background-color: var(--pt-primary-light-2);
    transform: scale(1);
}
}
/* Tree Node Icon */
.tree-node-icon[data-v-6d1c78a1] {
  font-size: 16px;
  color: var(--pt-text-secondary);
  margin-right: 4px;
  transition: var(--pt-transition-fast);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  border-radius: var(--pt-radius-sm);
}
.tree-node-content:hover .tree-node-icon[data-v-6d1c78a1] {
  color: var(--pt-primary);
  background: var(--pt-primary-light-1);
}
/* Permission Type Tag */
.permission-type-tag[data-v-6d1c78a1] {
  font-size: 11px;
  padding: 0 8px;
  height: 20px;
  line-height: 18px;
  border-radius: var(--pt-radius-full);
  font-weight: 500;
  background: var(--pt-bg-layout);
  color: var(--pt-text-secondary);
  border: 1px solid var(--pt-border-light);
  transition: var(--pt-transition-fast);
  flex-shrink: 0;
}
.tree-node-content:hover .permission-type-tag[data-v-6d1c78a1] {
  border-color: var(--pt-primary-light);
  color: var(--pt-primary);
  background: var(--pt-primary-light-1);
}
/* Empty State */
.empty-tree[data-v-6d1c78a1] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 80px 40px;
  color: var(--pt-text-secondary);
  text-align: center;
  background: var(--pt-bg-layout);
  border-radius: var(--pt-radius-md);
  margin: 20px;
  transition: var(--pt-transition);
  border: 2px dashed var(--pt-border-light);
}
.empty-tree[data-v-6d1c78a1]:hover {
  border-color: var(--pt-primary-light);
  background: var(--pt-primary-light-1);
}
.empty-tree-icon[data-v-6d1c78a1] {
  font-size: 64px;
  color: var(--pt-text-tertiary);
  margin-bottom: 24px;
  opacity: 0.6;
  transition: var(--pt-transition);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: var(--pt-bg-container);
  box-shadow: var(--pt-shadow-sm);
}
.empty-tree:hover .empty-tree-icon[data-v-6d1c78a1] {
  opacity: 0.9;
  transform: scale(1.1);
  color: var(--pt-primary);
  box-shadow: var(--pt-shadow-md);
}
.empty-tree-text[data-v-6d1c78a1] {
  font-size: 16px;
  line-height: 28px;
  color: var(--pt-text-secondary);
  margin: 0;
  font-weight: 500;
  max-width: 300px;
}
/* Loading State */
[data-v-6d1c78a1] .ant-spin-container {
  height: 100%;
  display: flex;
  flex-direction: column;
}
[data-v-6d1c78a1] .ant-spin-blur {
  opacity: 0.5;
  filter: blur(1px);
  transition: var(--pt-transition);
}
/* Loading dot - 使用全局三个点样式 */
/* Tree Node Customization */
[data-v-6d1c78a1] .ant-tree-node-content-wrapper {
  padding: 6px 12px 6px 8px;
  min-height: 36px;
  border-radius: var(--pt-radius-md);
  transition: var(--pt-transition-fast);
  display: flex;
  align-items: center;
}
[data-v-6d1c78a1] .ant-tree-node-content-wrapper:hover {
  background-color: var(--pt-bg-hover);
}
[data-v-6d1c78a1] .ant-tree-node-selected > .ant-tree-node-content-wrapper {
  background-color: var(--pt-bg-active) !important;
  border: 1px solid var(--pt-primary-light);
}
[data-v-6d1c78a1] .ant-tree-node-selected > .ant-tree-node-content-wrapper:hover {
  background-color: var(--pt-bg-active) !important;
}
[data-v-6d1c78a1] .ant-tree-checkbox {
  margin-right: 8px;
  transition: var(--pt-transition-fast);
  display: flex;
  align-items: center;
}
[data-v-6d1c78a1] .ant-tree-switcher {
  margin-right: 4px;
  transition: var(--pt-transition-fast);
  display: flex;
  align-items: end;
  height: 24px;
  width: 24px;
  justify-content: center;
}
[data-v-6d1c78a1] .ant-tree-switcher:hover {
  color: var(--pt-primary);
}
/* Role Badge Enhancement */
.permission-type-tag[data-v-6d1c78a1] {
  position: relative;
  overflow: hidden;
}
.permission-type-tag[data-v-6d1c78a1]::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.6), transparent);
  transition: var(--pt-transition);
}
.permission-type-tag[data-v-6d1c78a1]:hover::after {
  left: 100%;
}
/* Responsive Design - Optimized for Modal */
@media (max-width: 1024px) {
.permission-tree-header[data-v-6d1c78a1] {
    padding: 12px 20px;
    gap: 16px;
}
.permission-tree-search[data-v-6d1c78a1] {
    max-width: 320px;
}
}
@media (max-width: 768px) {
.permission-tree-container[data-v-6d1c78a1] {
    border-radius: var(--pt-radius-md);
}
.permission-tree-header[data-v-6d1c78a1] {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    padding: 16px;
}
.permission-tree-search[data-v-6d1c78a1] {
    max-width: 100%;
}
.permission-tree-controls[data-v-6d1c78a1] {
    justify-content: center;
    flex-wrap: wrap;
}
.control-button[data-v-6d1c78a1] {
    font-size: 13px;
    padding: 6px 12px;
}
[data-v-6d1c78a1] .ant-tree-node-content-wrapper {
    padding: 4px 8px 4px 6px;
    min-height: 32px;
}
.tree-node-title[data-v-6d1c78a1] {
    font-size: 13px;
}
.permission-type-tag[data-v-6d1c78a1] {
    font-size: 10px;
    padding: 0 6px;
    height: 18px;
}
.empty-tree[data-v-6d1c78a1] {
    padding: 60px 20px;
    margin: 10px;
}
.empty-tree-icon[data-v-6d1c78a1] {
    font-size: 48px;
    width: 80px;
    height: 80px;
    margin-bottom: 16px;
}
.empty-tree-text[data-v-6d1c78a1] {
    font-size: 14px;
}
}
@media (max-width: 480px) {
.permission-tree-header[data-v-6d1c78a1] {
    padding: 12px;
}
.permission-tree-controls[data-v-6d1c78a1] {
    gap: 4px;
}
.control-button[data-v-6d1c78a1] {
    font-size: 12px;
    padding: 4px 8px;
    gap: 4px;
}
.selected-count[data-v-6d1c78a1] {
    font-size: 12px;
    padding: 6px 12px;
}
.empty-tree[data-v-6d1c78a1] {
    padding: 40px 16px;
    margin: 8px;
}
.empty-tree-icon[data-v-6d1c78a1] {
    font-size: 40px;
    width: 64px;
    height: 64px;
}
.empty-tree-text[data-v-6d1c78a1] {
    font-size: 13px;
}
}
/* High Contrast Support */
@media (prefers-contrast: high) {
.permission-tree-container[data-v-6d1c78a1] {
    border: 2px solid var(--pt-border-dark);
}
.control-button[data-v-6d1c78a1] {
    border: 1px solid var(--pt-border);
}
[data-v-6d1c78a1] .ant-tree-checkbox-checked .ant-tree-checkbox-inner {
    box-shadow: 0 0 0 3px var(--pt-primary-light-1);
}
[data-v-6d1c78a1] .ant-tree-node-selected > .ant-tree-node-content-wrapper {
    border: 2px solid var(--pt-primary);
}
}
/* Reduced Motion Support */
@media (prefers-reduced-motion: reduce) {
[data-v-6d1c78a1] {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    transform: none !important;
}
.tree-node-title-highlight[data-v-6d1c78a1] {
    animation: none;
}
}
/* Dark Mode Support (Future) */
@media (prefers-color-scheme: dark) {
.permission-tree-container[data-v-6d1c78a1] {
    background: #1f1f1f;
    border-color: #333333;
}
.permission-tree-header[data-v-6d1c78a1] {
    background: #2a2a2a;
    border-bottom-color: #333333;
}
.permission-tree-content[data-v-6d1c78a1] {
    background: #1f1f1f;
}
.permission-search-input[data-v-6d1c78a1] {
    background: #2a2a2a;
    border-color: #333333;
    color: #ffffff;
}
.tree-node-title[data-v-6d1c78a1] {
    color: #e6e6e6;
}
.selected-count[data-v-6d1c78a1] {
    background: #2a2a2a;
    border-color: #333333;
    color: #bfbfbf;
}
.empty-tree[data-v-6d1c78a1] {
    background: #2a2a2a;
    border-color: #333333;
}
.empty-tree-text[data-v-6d1c78a1] {
    color: #bfbfbf;
}
}
.i18n-input-container[data-v-d09426af] {
  position: relative;
}
.i18n-button[data-v-d09426af] {
  padding: 0;
  margin: 0;
  color: var(--color-text-secondary);
  transition: color 0.3s;
}
.i18n-button[data-v-d09426af]:hover {
  color: var(--primary-color);
}
.i18n-button[data-v-d09426af]:disabled {
  color: var(--color-text-tertiary);
  cursor: not-allowed;
}
.i18n-icon[data-v-d09426af] {
  font-size: 16px;
}
.input-wrapper[data-v-d09426af] {
  position: relative;
}
.textarea-wrapper[data-v-d09426af] {
  position: relative;
  display: flex;
  gap: 8px;
  align-items: flex-start;
}
.textarea-button[data-v-d09426af] {
  margin-top: 4px;
}
.i18n-modal-content[data-v-d09426af] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.language-item[data-v-d09426af] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.language-label[data-v-d09426af] {
  font-weight: 500;
  font-size: 14px;
  color: var(--color-text);
}
.modal-actions[data-v-d09426af] {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--color-border-light);
}
/* 筛选区域样式 */
.role-filter-wrapper[data-v-3a31e72a] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.role-filter-search[data-v-3a31e72a] {
  flex: 1;
  min-width: 200px;
  max-width: 360px;
}
.role-filter-select[data-v-3a31e72a] {
  width: 160px;
  flex-shrink: 0;
}
.role-filter-reset[data-v-3a31e72a] {
  flex-shrink: 0;
  border-radius: 8px;
  font-weight: 500;
  color: var(--color-text-secondary);
  border-color: var(--color-border);
}
.role-filter-reset[data-v-3a31e72a]:hover {
  color: var(--color-primary);
  border-color: var(--color-primary);
}
@media (max-width: 768px) {
.role-filter-search[data-v-3a31e72a] {
    flex: 1 1 100%;
    min-width: 0;
}
.role-filter-select[data-v-3a31e72a] {
    flex: 1;
    width: auto;
}
}
.roles-container > .ant-card[data-v-3a31e72a] {
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
  background: var(--color-bg-container);
  border: 1px solid var(--color-border-light);
  transition: all 0.3s ease;
}
.roles-container > .ant-card[data-v-3a31e72a]:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
  transform: translateY(-2px);
}
.roles-container > .ant-card .ant-card-head[data-v-3a31e72a] {
  border-bottom: 1px solid var(--color-border-light);
  padding: 0 24px;
}
.roles-container > .ant-card .ant-card-head-title[data-v-3a31e72a] {
  font-weight: 600;
  color: var(--color-text);
  font-size: 16px;
}
.roles-container > .ant-card .ant-table[data-v-3a31e72a] {
  border-radius: 0 0 16px 16px;
}
.roles-container > .ant-card .ant-table-thead > tr > th[data-v-3a31e72a] {
  background: var(--color-bg-container);
  color: var(--color-text);
  font-weight: 600;
  border-bottom: 1px solid var(--color-border-light);
}
.roles-container > .ant-card .ant-table-tbody > tr:hover > td[data-v-3a31e72a] {
  background: var(--color-bg-layout);
  transition: all 0.2s ease;
}
.roles-container > .ant-card .ant-table-tbody > tr.ant-table-row[data-v-3a31e72a]:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.roles-container > .ant-card .ant-table-tbody > tr > td[data-v-3a31e72a] {
  border-bottom: 1px solid var(--color-border-light);
  transition: all 0.2s ease;
}
.roles-container > .ant-card .ant-pagination[data-v-3a31e72a] {
  margin: 16px 24px;
}
.roles-container > .ant-card .ant-pagination-item-active[data-v-3a31e72a] {
  border-color: var(--primary-color);
  background: var(--primary-color);
}
.roles-container > .ant-card .ant-pagination-item-active a[data-v-3a31e72a] {
  color: #fff;
}
.roles-container .ant-tag[data-v-3a31e72a] {
  border-radius: 8px;
  font-weight: 500;
  padding: 2px 12px;
  border: 1px solid var(--color-border-light);
}
.roles-container .ant-badge-status-success[data-v-3a31e72a] {
  background: var(--success-color);
}
.roles-container .ant-badge-status-error[data-v-3a31e72a] {
  background: var(--error-color);
}
.roles-container .ant-btn-link[data-v-3a31e72a] {
  font-weight: 500;
}
.roles-container .ant-btn-link[data-v-3a31e72a]:hover {
  background: var(--color-bg-layout);
}
.roles-container .ant-btn-link-danger[data-v-3a31e72a] {
  color: var(--error-color);
}
.roles-container .ant-btn-link-danger[data-v-3a31e72a]:hover {
  color: var(--error-color-hover);
  background: var(--color-bg-layout);
}
.role-management-modal .ant-modal-header[data-v-3a31e72a] {
  background: var(--color-bg-container);
  border-radius: 12px 12px 0 0;
  padding: 16px 24px;
  border-bottom: 1px solid var(--color-border-light);
}
@media (max-width: 768px) {
.ant-modal-header[data-v-3a31e72a] {
    padding: 12px;
}
}
@media (max-width: 768px) {
.ant-modal-header[data-v-3a31e72a] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.ant-modal-header[data-v-3a31e72a] {
    padding: 12px;
}
}
.role-management-modal .ant-modal-title[data-v-3a31e72a] {
  color: var(--color-text);
  font-weight: 600;
  font-size: 18px;
}
.role-management-modal .ant-modal-close-x[data-v-3a31e72a] {
  color: var(--color-text-tertiary);
}
.role-management-modal .ant-modal-body[data-v-3a31e72a] {
  padding: 24px;
  background: var(--color-bg-container);
}
.role-management-modal .ant-form-item-label > label[data-v-3a31e72a] {
  color: var(--color-text);
  font-weight: 500;
}
.role-management-modal .ant-input[data-v-3a31e72a],
.role-management-modal .ant-input-textarea textarea[data-v-3a31e72a],
.role-management-modal .ant-select-selector[data-v-3a31e72a] {
  border-radius: 8px;
  border: 1px solid var(--color-border-light);
  transition: all 0.3s ease;
}
.role-management-modal .ant-input[data-v-3a31e72a]:hover,
.role-management-modal .ant-input-textarea textarea[data-v-3a31e72a]:hover,
.role-management-modal .ant-select-selector[data-v-3a31e72a]:hover {
  border-color: var(--primary-color);
}
.role-management-modal .ant-input[data-v-3a31e72a]:focus,
.role-management-modal .ant-input[data-v-3a31e72a]:hover,
.role-management-modal .ant-input-textarea textarea[data-v-3a31e72a]:focus,
.role-management-modal .ant-input-textarea textarea[data-v-3a31e72a]:hover,
.role-management-modal .ant-select-focused .ant-select-selector[data-v-3a31e72a] {
  border-color: #42a5f5;
  box-shadow: 0 0 0 3px rgba(66, 165, 245, 0.15);
}
.role-management-modal .ant-radio-group[data-v-3a31e72a] {
  display: flex;
  gap: 16px;
}
.role-management-modal .ant-radio-button-wrapper[data-v-3a31e72a] {
  border-radius: 6px;
  border: 2px solid #bbdefb;
  transition: all 0.3s ease;
}
.role-management-modal .ant-radio-button-wrapper-checked[data-v-3a31e72a] {
  background: linear-gradient(135deg, #42a5f5 0%, #1e88e5 100%);
  border-color: #42a5f5;
  color: #fff;
}
.role-management-modal .ant-modal-footer[data-v-3a31e72a] {
  padding: 16px 24px;
  border-top: 1px solid #e3f2fd;
}
@media (max-width: 768px) {
.ant-modal-footer[data-v-3a31e72a] {
    padding: 12px;
}
}
@media (max-width: 768px) {
.ant-modal-footer[data-v-3a31e72a] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.ant-modal-footer[data-v-3a31e72a] {
    padding: 12px;
}
}
.role-management-modal .ant-btn-primary[data-v-3a31e72a] {
  background: var(--color-primary-gradient, linear-gradient(135deg, #3b82f6 0%, #2563eb 100%));
  border: none;
  border-radius: 8px;
  font-weight: 500;
  transition: all 0.3s ease;
}
.role-management-modal .ant-btn-primary[data-v-3a31e72a]:hover {
  background: linear-gradient(135deg, #1e88e5 0%, #1565c0 100%);
  transform: translateY(-1px);
}
.permission-assignment-modal .ant-modal-header[data-v-3a31e72a] {
  background: var(--color-primary-gradient, linear-gradient(135deg, #3b82f6 0%, #2563eb 100%));
  border-radius: 8px 8px 0 0;
  padding: 16px 24px;
}
@media (max-width: 768px) {
.ant-modal-header[data-v-3a31e72a] {
    padding: 12px;
}
}
@media (max-width: 768px) {
.ant-modal-header[data-v-3a31e72a] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.ant-modal-header[data-v-3a31e72a] {
    padding: 12px;
}
}
.permission-assignment-modal .ant-modal-title[data-v-3a31e72a] {
  color: var(--color-text-inverse);
  font-weight: 600;
}
.permission-assignment-modal .ant-modal-close-x[data-v-3a31e72a] {
  color: var(--color-text-inverse);
}
.permission-assignment-modal .ant-modal-body[data-v-3a31e72a] {
  padding: 24px;
  max-height: 60vh;
  overflow-y: auto;
}
.permission-assignment-modal .ant-tree[data-v-3a31e72a] {
  background: transparent;
}
.permission-assignment-modal .ant-tree-treenode[data-v-3a31e72a] {
  padding: 4px 0;
  width: 100%;
}
.permission-assignment-modal .ant-tree-treenode[data-v-3a31e72a]:hover {
  background: rgba(66, 165, 245, 0.1);
  border-radius: 4px;
}
.permission-assignment-modal .ant-tree-checkbox-checked .ant-tree-checkbox-inner[data-v-3a31e72a] {
  background-color: var(--color-primary-500);
  border-color: var(--color-primary-500);
}
.permission-assignment-modal .ant-tree-checkbox-indeterminate .ant-tree-checkbox-inner[data-v-3a31e72a] {
  background-color: var(--color-primary-500);
  border-color: var(--color-primary-500);
}
.permission-assignment-modal .ant-modal-footer[data-v-3a31e72a] {
  padding: 16px 24px;
  border-top: 1px solid #e3f2fd;
}
@media (max-width: 768px) {
.ant-modal-footer[data-v-3a31e72a] {
    padding: 12px;
}
}
@media (max-width: 768px) {
.ant-modal-footer[data-v-3a31e72a] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.ant-modal-footer[data-v-3a31e72a] {
    padding: 12px;
}
}
.permission-assignment-modal .ant-btn-primary[data-v-3a31e72a] {
  background: var(--color-primary-gradient, linear-gradient(135deg, #3b82f6 0%, #2563eb 100%));
  border: none;
  border-radius: 8px;
  font-weight: 500;
}
.permission-assignment-modal .ant-btn-primary[data-v-3a31e72a]:hover {
  background: linear-gradient(135deg, #1e88e5 0%, #1565c0 100%);
}
.ant-popconfirm .ant-btn-primary[data-v-3a31e72a] {
  background: linear-gradient(135deg, #42a5f5 0%, #1e88e5 100%);
  border: none;
  border-radius: 6px;
}
.ant-popconfirm .ant-btn-primary[data-v-3a31e72a]:hover {
  background: linear-gradient(135deg, #1e88e5 0%, #1565c0 100%);
}
/* 移动端卡片字段行内显示 */
.mobile-card-field-inline[data-v-3a31e72a] {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.mobile-card-field-inline .ant-descriptions-item-label[data-v-3a31e72a] {
  flex-shrink: 0;
}
@media (max-width: 768px) {
.roles-container[data-v-3a31e72a] {
    padding: 16px;
}
.page-header[data-v-3a31e72a] {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}
.page-header h2[data-v-3a31e72a] {
    font-size: 20px;
}
.page-header-actions[data-v-3a31e72a] {
    width: 100%;
    justify-content: flex-end;
}
.role-management-modal[data-v-3a31e72a],
  .permission-assignment-modal[data-v-3a31e72a] {
    max-width: 100%;
}
.role-management-modal[data-v-3a31e72a],
  .permission-assignment-modal[data-v-3a31e72a],
  .member-assignment-modal[data-v-3a31e72a] {
    max-width: 100vw !important;
    margin: 0 !important;
    top: 0 !important;
}
.role-management-modal[data-v-3a31e72a] .ant-modal-content,
  .permission-assignment-modal[data-v-3a31e72a] .ant-modal-content,
  .member-assignment-modal[data-v-3a31e72a] .ant-modal-content {
    border-radius: 0 !important;
    display: flex;
    flex-direction: column;
}
.role-management-modal[data-v-3a31e72a] .ant-modal-body,
  .permission-assignment-modal[data-v-3a31e72a] .ant-modal-body,
  .member-assignment-modal[data-v-3a31e72a] .ant-modal-body {
    flex: 1;
    overflow-y: auto;
    padding: 16px !important;
}
.member-assignment-modal[data-v-3a31e72a] .ant-table {
    font-size: 13px;
}
.member-assignment-modal[data-v-3a31e72a] .ant-table-cell {
    padding: 8px !important;
}
.permission-tree-wrapper[data-v-3a31e72a] {
    height: 250px !important;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.roles-container[data-v-3a31e72a] {
    padding: 12px;
}
}
.data-permission-config[data-v-e162afe9] {
  background: var(--color-bg-container);
  border-radius: 12px;
  padding: 16px;
  border: 1px solid var(--color-border-light);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
/* 规则列表 */
.rule-list[data-v-e162afe9] {
  margin-bottom: 32px;
}
.rule-list-title[data-v-e162afe9] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  font-size: 16px;
  font-weight: 600;
  color: var(--color-text);
}
.add-rule-btn[data-v-e162afe9] {
  height: 32px;
  font-size: 13px;
}
.rule-items[data-v-e162afe9] {
  gap: 16px;
}
.rule-item[data-v-e162afe9] {
  background: var(--color-bg-layout);
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 16px;
  border: 1px solid var(--color-border-light);
  transition: all 0.3s ease;
}
.rule-item[data-v-e162afe9]:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  border-color: var(--color-border);
}
.rule-header[data-v-e162afe9] {
  display: flex;
  align-items: center;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--color-border-light);
}
.rule-index[data-v-e162afe9] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background: var(--primary-color);
  color: white;
  border-radius: 50%;
  font-size: 12px;
  font-weight: 600;
  margin-right: 12px;
}
.rule-logic[data-v-e162afe9] {
  flex: 1;
  font-size: 14px;
  font-weight: 500;
  color: var(--color-text-secondary);
}
.rule-actions[data-v-e162afe9] {
  display: flex;
  gap: 8px;
}
.rule-content[data-v-e162afe9] {
  margin-top: 12px;
}
/* 数据范围配置 */
.scope-config[data-v-e162afe9] {
  margin-bottom: 32px;
}
.scope-title[data-v-e162afe9] {
  margin-bottom: 16px;
  font-size: 16px;
  font-weight: 600;
  color: var(--color-text);
}
/* 字段权限配置 */
.field-permission[data-v-e162afe9] {
  margin-bottom: 24px;
}
.field-title[data-v-e162afe9] {
  margin-bottom: 16px;
  font-size: 16px;
  font-weight: 600;
  color: var(--color-text);
}
/* 响应式设计 */
@media (max-width: 768px) {
.data-permission-config[data-v-e162afe9] {
    padding: 16px;
}
.rule-list-title[data-v-e162afe9] {
    font-size: 14px;
}
.rule-item[data-v-e162afe9] {
    padding: 12px;
}
.scope-title[data-v-e162afe9],
  .field-title[data-v-e162afe9] {
    font-size: 14px;
}
}
.button-permission-config[data-v-833cca01] {
  background: var(--color-bg-container);
  border-radius: 12px;
  padding: 16px;
  border: 1px solid var(--color-border-light);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
/* 按钮列表 */
.button-list[data-v-833cca01] {
  margin-bottom: 32px;
}
.button-list-title[data-v-833cca01] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  font-size: 16px;
  font-weight: 600;
  color: var(--color-text);
}
.add-button-btn[data-v-833cca01] {
  height: 32px;
  font-size: 13px;
}
.button-items[data-v-833cca01] {
  gap: 16px;
}
.button-item[data-v-833cca01] {
  background: var(--color-bg-layout);
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 16px;
  border: 1px solid var(--color-border-light);
  transition: all 0.3s ease;
}
.button-item[data-v-833cca01]:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  border-color: var(--color-border);
}
.button-header[data-v-833cca01] {
  display: flex;
  align-items: center;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--color-border-light);
}
.button-index[data-v-833cca01] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background: var(--primary-color);
  color: white;
  border-radius: 50%;
  font-size: 12px;
  font-weight: 600;
  margin-right: 12px;
}
.button-name[data-v-833cca01] {
  flex: 1;
  font-size: 14px;
  font-weight: 500;
  color: var(--color-text);
}
.button-actions[data-v-833cca01] {
  display: flex;
  gap: 8px;
}
.button-content[data-v-833cca01] {
  margin-top: 12px;
}
/* 权限选项 */
.permission-options[data-v-833cca01] {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
}
.permission-option[data-v-833cca01] {
  display: flex;
  align-items: center;
  gap: 8px;
}
/* 条件提示 */
.condition-hint[data-v-833cca01] {
  font-size: 12px;
  color: var(--color-text-tertiary);
  margin-top: 8px;
  line-height: 1.4;
}
/* 继承配置 */
.inheritance-config[data-v-833cca01] {
  margin-bottom: 24px;
}
.inheritance-title[data-v-833cca01] {
  margin-bottom: 16px;
  font-size: 16px;
  font-weight: 600;
  color: var(--color-text);
}
/* 响应式设计 */
@media (max-width: 768px) {
.button-permission-config[data-v-833cca01] {
    padding: 16px;
}
.button-list-title[data-v-833cca01] {
    font-size: 14px;
}
.button-item[data-v-833cca01] {
    padding: 12px;
}
.permission-options[data-v-833cca01] {
    flex-direction: column;
    gap: 12px;
}
.inheritance-title[data-v-833cca01] {
    font-size: 14px;
}
}
/* Stats Grid */
.stats-grid[data-v-6d1da2bd] {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 12px;
  margin-bottom: var(--spacing-3);
}
.stats-card[data-v-6d1da2bd] {
  background: white;
  border-radius: var(--radius-xl);
  padding: 16px;
  box-shadow: var(--shadow-sm);
}
@media (max-width: 768px) {
.stats-card[data-v-6d1da2bd] {
    padding: 12px;
}
}
.stat-item[data-v-6d1da2bd] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.stat-icon[data-v-6d1da2bd] {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: white;
  flex-shrink: 0;
}
.stat-icon-blue[data-v-6d1da2bd] {
  background: linear-gradient(135deg, #3b82f6 0%, #60a5fa 100%);
}
.stat-icon-green[data-v-6d1da2bd] {
  background: linear-gradient(135deg, #10b981 0%, #34d399 100%);
}
.stat-icon-purple[data-v-6d1da2bd] {
  background: linear-gradient(135deg, #8b5cf6 0%, #a78bfa 100%);
}
.stat-icon-orange[data-v-6d1da2bd] {
  background: linear-gradient(135deg, #f97316 0%, #fb923c 100%);
}
.stat-icon-cyan[data-v-6d1da2bd] {
  background: linear-gradient(135deg, #06b6d4 0%, #22d3ee 100%);
}
.stat-icon-pink[data-v-6d1da2bd] {
  background: linear-gradient(135deg, #ec4899 0%, #f472b6 100%);
}
.stat-content[data-v-6d1da2bd] {
  flex: 1;
  min-width: 0;
}
.stat-value[data-v-6d1da2bd] {
  font-size: 24px;
  font-weight: 700;
  color: var(--color-text);
  line-height: 1.2;
}
.stat-label[data-v-6d1da2bd] {
  font-size: 13px;
  color: var(--color-text-secondary);
  margin-top: 4px;
}
/* 响应式适配 */
@media (max-width: 1200px) {
.stats-grid[data-v-6d1da2bd] {
    grid-template-columns: repeat(3, 1fr);
}
}
@media (max-width: 768px) {
.stats-grid[data-v-6d1da2bd] {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}
.stat-item[data-v-6d1da2bd] {
    flex-direction: column;
    text-align: center;
    gap: 8px;
}
.stat-icon[data-v-6d1da2bd] {
    width: 40px;
    height: 40px;
    font-size: 16px;
}
.stat-value[data-v-6d1da2bd] {
    font-size: 20px;
}
.stat-label[data-v-6d1da2bd] {
    font-size: 12px;
}
}
/* 搜索卡片 */
.search-card[data-v-6d1da2bd] {
  margin-bottom: 12px;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
  background: var(--color-bg-container);
  border: 1px solid var(--color-border-light);
  transition: all 0.3s ease;
}
.search-card[data-v-6d1da2bd]:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
}
.search-card[data-v-6d1da2bd] .ant-card-body {
  padding: 12px 16px;
}
.search-card[data-v-6d1da2bd] .ant-input,
.search-card[data-v-6d1da2bd] .ant-select-selector {
  border-radius: 8px;
  border-color: var(--color-border-light);
  transition: all 0.3s ease;
}
.search-card[data-v-6d1da2bd] .ant-input:hover,
.search-card[data-v-6d1da2bd] .ant-input:focus,
.search-card[data-v-6d1da2bd] .ant-select-selector:hover,
.search-card[data-v-6d1da2bd] .ant-select-focused .ant-select-selector {
  border-color: var(--primary-color);
  box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
}
.search-card[data-v-6d1da2bd] .ant-btn {
  border-radius: 8px;
  font-weight: 500;
  transition: all 0.3s ease;
}
.search-card[data-v-6d1da2bd] .ant-btn-default:hover {
  color: var(--primary-color);
  border-color: var(--primary-color);
  background: var(--color-bg-layout);
}
.search-card[data-v-6d1da2bd] .ant-btn-link {
  font-weight: 500;
}
.search-card[data-v-6d1da2bd] .ant-btn-link:hover {
  background: var(--color-bg-layout);
}
.permission-card[data-v-6d1da2bd] {
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
  background: var(--color-bg-container);
  border: 1px solid var(--color-border-light);
  transition: all 0.3s ease;
}
.permission-card[data-v-6d1da2bd]:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
}
.permission-card[data-v-6d1da2bd] .ant-card-body {
  padding: 0;
}
.permission-card[data-v-6d1da2bd] .ant-table {
  border-radius: 12px;
  overflow: hidden;
}
.permission-card[data-v-6d1da2bd] .ant-table-thead > tr > th {
  background: var(--color-bg-container);
  color: var(--color-text);
  font-weight: 600;
  border-bottom: 1px solid var(--color-border-light);
  transition: all 0.3s ease;
}
.permission-card[data-v-6d1da2bd] .ant-table-thead > tr > th:hover {
  background: var(--color-bg-layout);
}
.permission-card[data-v-6d1da2bd] .ant-table-tbody > tr > td {
  border-bottom: 1px solid var(--color-border-light);
  transition: all 0.3s ease;
}
.permission-card[data-v-6d1da2bd] .ant-table-tbody > tr:hover > td {
  background: var(--color-bg-layout);
}
.permission-card[data-v-6d1da2bd] .ant-table-tbody > tr:last-child > td {
  border-bottom: none;
}
.permission-card[data-v-6d1da2bd] .ant-tag {
  border-radius: 6px;
  font-weight: 500;
  border: none;
  transition: all 0.3s ease;
}
.permission-card[data-v-6d1da2bd] .ant-tag:hover {
  transform: scale(1.05);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.permission-card[data-v-6d1da2bd] .ant-btn-link {
  color: #8e24aa;
  font-weight: 500;
  transition: all 0.3s ease;
}
.permission-card[data-v-6d1da2bd] .ant-btn-link:hover {
  color: #7b1fa2;
  background: rgba(186, 104, 200, 0.1);
  transform: translateY(-1px);
}
.permission-card[data-v-6d1da2bd] .ant-pagination {
  margin: 16px;
}
.permission-card[data-v-6d1da2bd] .ant-pagination-item-active {
  background: linear-gradient(135deg, #ab47bc 0%, #8e24aa 100%);
  border-color: #8e24aa;
  border-radius: 8px;
}
.permission-card[data-v-6d1da2bd] .ant-pagination-item-active a {
  color: white;
}
.permission-modal[data-v-6d1da2bd] .ant-modal-content,
.permission-detail-modal[data-v-6d1da2bd] .ant-modal-content,
.permission-tree-modal[data-v-6d1da2bd] .ant-modal-content {
  border-radius: 16px;
  overflow: hidden;
}
.permission-modal[data-v-6d1da2bd] .ant-modal-header,
.permission-detail-modal[data-v-6d1da2bd] .ant-modal-header,
.permission-tree-modal[data-v-6d1da2bd] .ant-modal-header {
  background: linear-gradient(135deg, #f3e5f5 0%, #e1bee7 100%);
  border-bottom: 2px solid #ce93d8;
  padding: 20px 24px;
}
.permission-modal[data-v-6d1da2bd] .ant-modal-title,
.permission-detail-modal[data-v-6d1da2bd] .ant-modal-title,
.permission-tree-modal[data-v-6d1da2bd] .ant-modal-title {
  color: #4a148c;
  font-weight: 600;
  font-size: 18px;
}
.permission-modal[data-v-6d1da2bd] .ant-modal-body,
.permission-detail-modal[data-v-6d1da2bd] .ant-modal-body {
  padding: 24px;
  max-height: 70vh;
  overflow-y: auto;
}
.permission-modal[data-v-6d1da2bd] .ant-form-item-label > label {
  color: #4a148c;
  font-weight: 500;
}
.permission-modal[data-v-6d1da2bd] .ant-input,
.permission-modal[data-v-6d1da2bd] .ant-select-selector,
.permission-modal[data-v-6d1da2bd] .ant-input-textarea textarea {
  border-radius: 8px;
  border-color: #e1bee7;
  transition: all 0.3s ease;
}
.permission-modal[data-v-6d1da2bd] .ant-input:hover,
.permission-modal[data-v-6d1da2bd] .ant-select-selector:hover,
.permission-modal[data-v-6d1da2bd] .ant-input-textarea textarea:hover {
  border-color: #ba68c8;
}
.permission-modal[data-v-6d1da2bd] .ant-input:focus,
.permission-modal[data-v-6d1da2bd] .ant-select-focused .ant-select-selector,
.permission-modal[data-v-6d1da2bd] .ant-input-textarea textarea:focus {
  border-color: #ab47bc;
  box-shadow: 0 0 0 2px rgba(171, 71, 188, 0.2);
}
.permission-modal[data-v-6d1da2bd] .ant-modal-footer {
  padding: 16px 24px;
  border-top: 1px solid #f3e5f5;
}
.permission-modal[data-v-6d1da2bd] .ant-btn-primary {
  background: linear-gradient(135deg, #ab47bc 0%, #8e24aa 50%, #7b1fa2 100%);
  border: none;
  border-radius: 8px;
  font-weight: 500;
  box-shadow: 0 4px 12px rgba(123, 31, 162, 0.4);
  transition: all 0.3s ease;
}
.permission-modal[data-v-6d1da2bd] .ant-btn-primary:hover {
  background: linear-gradient(135deg, #8e24aa 0%, #7b1fa2 50%, #4a148c 100%);
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(123, 31, 162, 0.5);
}
/* 权限配置部分样式 */
.permission-config-section[data-v-6d1da2bd] {
  margin: 20px 0;
  padding: 16px;
  background: var(--color-bg-layout);
  border-radius: 8px;
  border: 1px solid var(--color-border-light);
  transition: all 0.3s ease;
}
@media (max-width: 768px) {
.permission-config-section[data-v-6d1da2bd] {
    padding: 12px;
}
}
.permission-config-section[data-v-6d1da2bd]:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  border-color: var(--color-border);
}
.permission-config-section[data-v-6d1da2bd] .data-permission-config,
.permission-config-section[data-v-6d1da2bd] .button-permission-config {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
}
.permission-config-section[data-v-6d1da2bd] .rule-list-title,
.permission-config-section[data-v-6d1da2bd] .button-list-title {
  font-size: 14px;
  margin-bottom: 12px;
}
.permission-config-section[data-v-6d1da2bd] .rule-item,
.permission-config-section[data-v-6d1da2bd] .button-item {
  padding: 12px;
  margin-bottom: 12px;
}
.permission-config-section[data-v-6d1da2bd] .scope-config,
.permission-config-section[data-v-6d1da2bd] .inheritance-config {
  margin-bottom: 16px;
}
.permission-config-section[data-v-6d1da2bd] .scope-title,
.permission-config-section[data-v-6d1da2bd] .inheritance-title {
  font-size: 14px;
  margin-bottom: 12px;
}
.permission-tree-modal[data-v-6d1da2bd] .ant-tree {
  background: transparent;
}
.permission-tree-modal[data-v-6d1da2bd] .ant-tree-treenode {
  padding: 4px 0;
  width: 100%;
  transition: all 0.3s ease;
  border-radius: 6px;
  margin: 2px 0;
}
.permission-tree-modal[data-v-6d1da2bd] .ant-tree-treenode:hover {
  background: rgba(186, 104, 200, 0.1);
}
.permission-tree-modal[data-v-6d1da2bd] .ant-tree-checkbox {
  margin-right: 8px;
}
.permission-tree-modal[data-v-6d1da2bd] .ant-tree-checkbox-checked .ant-tree-checkbox-inner {
  background-color: #ab47bc;
  border-color: #ab47bc;
}
.permission-tree-modal[data-v-6d1da2bd] .ant-tree-node-content-wrapper {
  color: #4a148c;
  font-weight: 500;
}
.permission-tree-modal[data-v-6d1da2bd] .ant-tree-node-content-wrapper:hover {
  background: rgba(186, 104, 200, 0.1);
  border-radius: 4px;
}
.permission-tree-modal[data-v-6d1da2bd] .ant-tree-switcher {
  color: #8e24aa;
}
/* 分类管理弹框样式 */
.category-management-modal[data-v-6d1da2bd] .ant-modal-content {
  border-radius: 16px;
  overflow: hidden;
}
.category-management-modal[data-v-6d1da2bd] .ant-modal-header {
  background: linear-gradient(135deg, #f3e5f5 0%, #e1bee7 100%);
  border-bottom: 2px solid #ce93d8;
  padding: 20px 24px;
}
.category-management-modal[data-v-6d1da2bd] .ant-modal-title {
  color: #4a148c;
  font-weight: 600;
  font-size: 18px;
}
.category-management-modal[data-v-6d1da2bd] .ant-modal-body {
  padding: 24px;
  max-height: 70vh;
  overflow-y: auto;
}
.category-list-card[data-v-6d1da2bd] {
  margin-bottom: 16px;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
  background: var(--color-bg-container);
  border: 1px solid var(--color-border-light);
}
.category-form-card[data-v-6d1da2bd] {
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
  background: var(--color-bg-container);
  border: 1px solid var(--color-border-light);
  /* padding: 20px; */
}
.category-form-card h3[data-v-6d1da2bd] {
  color: #4a148c;
  font-weight: 600;
  margin-bottom: 20px;
  font-size: 16px;
}
.category-management-modal[data-v-6d1da2bd] .ant-form-item-label > label {
  color: #4a148c;
  font-weight: 500;
}
.category-management-modal[data-v-6d1da2bd] .ant-input,
.category-management-modal[data-v-6d1da2bd] .ant-select-selector,
.category-management-modal[data-v-6d1da2bd] .ant-input-textarea textarea {
  border-radius: 8px;
  border-color: #e1bee7;
  transition: all 0.3s ease;
}
.category-management-modal[data-v-6d1da2bd] .ant-input:hover,
.category-management-modal[data-v-6d1da2bd] .ant-select-selector:hover,
.category-management-modal[data-v-6d1da2bd] .ant-input-textarea textarea:hover {
  border-color: #ba68c8;
}
.category-management-modal[data-v-6d1da2bd] .ant-input:focus,
.category-management-modal[data-v-6d1da2bd] .ant-select-focused .ant-select-selector,
.category-management-modal[data-v-6d1da2bd] .ant-input-textarea textarea:focus {
  border-color: #ab47bc;
  box-shadow: 0 0 0 2px rgba(171, 71, 188, 0.2);
}
.category-management-modal[data-v-6d1da2bd] .ant-btn-primary {
  background: linear-gradient(135deg, #ab47bc 0%, #8e24aa 50%, #7b1fa2 100%);
  border: none;
  border-radius: 8px;
  font-weight: 500;
  box-shadow: 0 4px 12px rgba(123, 31, 162, 0.4);
  transition: all 0.3s ease;
}
.category-management-modal[data-v-6d1da2bd] .ant-btn-primary:hover {
  background: linear-gradient(135deg, #8e24aa 0%, #7b1fa2 50%, #4a148c 100%);
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(123, 31, 162, 0.5);
}
.permission-card[data-v-6d1da2bd] .ant-table-row-expand-icon {
  border-color: #ba68c8;
  color: #8e24aa;
  transition: all 0.3s ease;
}
.permission-card[data-v-6d1da2bd] .ant-table-row-expand-icon:hover {
  background: rgba(186, 104, 200, 0.2);
  color: #7b1fa2;
}
.permission-card[data-v-6d1da2bd] .ant-table-expanded-row > .ant-table-cell {
  background: rgba(243, 229, 245, 0.5);
}
.permission-card[data-v-6d1da2bd] .ant-empty-description {
  color: #8e24aa;
}
.permission-card[data-v-6d1da2bd] .ant-loading-spinner .anticon {
  color: #ab47bc;
}
.permission-card[data-v-6d1da2bd] .ant-pagination-prev:hover,
.permission-card[data-v-6d1da2bd] .ant-pagination-next:hover {
  border-color: #ba68c8;
  color: #8e24aa;
  border-radius: 8px;
}
.permission-card[data-v-6d1da2bd] .ant-pagination-prev:hover .ant-pagination-item-link,
.permission-card[data-v-6d1da2bd] .ant-pagination-next:hover .ant-pagination-item-link {
  border-color: #ba68c8;
  color: #8e24aa;
}
.permission-card[data-v-6d1da2bd] .ant-pagination-jump-prev:hover .ant-pagination-item-ellipsis,
.permission-card[data-v-6d1da2bd] .ant-pagination-jump-next:hover .ant-pagination-item-ellipsis {
  color: #8e24aa;
}
.permission-card[data-v-6d1da2bd] .ant-select-dropdown {
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(123, 31, 162, 0.2);
}
.permission-card[data-v-6d1da2bd] .ant-select-item {
  color: #4a148c;
  transition: all 0.3s ease;
}
.permission-card[data-v-6d1da2bd] .ant-select-item-option-active {
  background: rgba(186, 104, 200, 0.1);
}
.permission-card[data-v-6d1da2bd] .ant-select-item-option-selected {
  background: rgba(186, 104, 200, 0.2);
  color: #7b1fa2;
  font-weight: 500;
}
.permission-card[data-v-6d1da2bd] .ant-dropdown-menu {
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(123, 31, 162, 0.2);
}
.permission-card[data-v-6d1da2bd] .ant-dropdown-menu-item {
  color: #4a148c;
  transition: all 0.3s ease;
}
.permission-card[data-v-6d1da2bd] .ant-dropdown-menu-item:hover {
  background: rgba(186, 104, 200, 0.1);
}
.permission-card[data-v-6d1da2bd] .ant-dropdown-menu-item-divider {
  background-color: #f3e5f5;
}
.permission-card[data-v-6d1da2bd] .ant-message-notice-content {
  background: rgba(255, 255, 255, 0.95);
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(123, 31, 162, 0.2);
}
.permission-card[data-v-6d1da2bd] .ant-message-success .anticon {
  color: #52c41a;
}
.permission-card[data-v-6d1da2bd] .ant-message-error .anticon {
  color: #ff4d4f;
}
.permission-card[data-v-6d1da2bd] .ant-message-warning .anticon {
  color: #faad14;
}
.permission-card[data-v-6d1da2bd] .ant-popconfirm .ant-btn {
  border-radius: 6px;
}
.permission-card[data-v-6d1da2bd] .ant-popconfirm .ant-btn-primary {
  background: #ff4d4f;
  border-color: #ff4d4f;
}
.permission-card[data-v-6d1da2bd] .ant-popconfirm .ant-btn-primary:hover {
  background: #ff7875;
  border-color: #ff7875;
}
/* 移动端卡片字段行内显示 */
.mobile-card-field-inline[data-v-6d1da2bd] {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
/* 移动端适配 - Modal */
@media (max-width: 768px) {
.permission-modal[data-v-6d1da2bd],
  .permission-detail-modal[data-v-6d1da2bd],
  .permission-tree-modal[data-v-6d1da2bd] {
    max-width: 100vw !important;
    margin: 0 !important;
    top: 0 !important;
}
.permission-modal[data-v-6d1da2bd] .ant-modal-content,
  .permission-detail-modal[data-v-6d1da2bd] .ant-modal-content,
  .permission-tree-modal[data-v-6d1da2bd] .ant-modal-content {
    border-radius: 0 !important;
    display: flex;
    flex-direction: column;
}
.permission-modal[data-v-6d1da2bd] .ant-modal-body,
  .permission-detail-modal[data-v-6d1da2bd] .ant-modal-body,
  .permission-tree-modal[data-v-6d1da2bd] .ant-modal-body {
    flex: 1;
    overflow-y: auto;
    padding: 16px !important;
}
.permission-modal[data-v-6d1da2bd] .ant-row {
    flex-direction: column;
}
.permission-modal[data-v-6d1da2bd] .ant-col-12 {
    max-width: 100% !important;
    flex: 0 0 100% !important;
}
.permission-detail-modal[data-v-6d1da2bd] .ant-descriptions-item {
    padding: 10px 12px !important;
}
}
.logs-page[data-v-d146d856] {
  padding: var(--spacing-4);
  background: linear-gradient(135deg, #f5f7fa 0%, #e4e8ef 100%);
}
/* Hero Section */
.hero-bg-decoration[data-v-d146d856] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-d146d856] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-d146d856] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-d146d856] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-d146d856] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-d146d856] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-d146d856] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-d146d856] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-d146d856] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-d146d856] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-d146d856] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-d146d856] {
  flex: 1;
}
.hero-title[data-v-d146d856] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-d146d856] {
  margin: 0;
  font-size: 14px;
  opacity: 0.85;
  max-width: 500px;
}
.hero-right[data-v-d146d856] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
/* Stats Grid */
.stats-grid[data-v-d146d856] {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 12px;
  margin-bottom: var(--spacing-3);
}
.stats-card[data-v-d146d856] {
  background: white;
  border-radius: var(--radius-xl);
  padding: 16px;
  box-shadow: var(--shadow-sm);
}
@media (max-width: 768px) {
.stats-card[data-v-d146d856] {
    padding: 12px;
}
}
.stat-item[data-v-d146d856] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.stat-icon[data-v-d146d856] {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: white;
  flex-shrink: 0;
}
.stat-icon-blue[data-v-d146d856] {
  background: linear-gradient(135deg, #3b82f6 0%, #60a5fa 100%);
}
.stat-icon-green[data-v-d146d856] {
  background: linear-gradient(135deg, #10b981 0%, #34d399 100%);
}
.stat-icon-orange[data-v-d146d856] {
  background: linear-gradient(135deg, #f59e0b 0%, #fbbf24 100%);
}
.stat-icon-red[data-v-d146d856] {
  background: linear-gradient(135deg, #ef4444 0%, #f87171 100%);
}
.stat-icon-purple[data-v-d146d856] {
  background: linear-gradient(135deg, #8b5cf6 0%, #a78bfa 100%);
}
.stat-icon-cyan[data-v-d146d856] {
  background: linear-gradient(135deg, #06b6d4 0%, #22d3ee 100%);
}
.stat-content[data-v-d146d856] {
  flex: 1;
  min-width: 0;
}
.stat-value[data-v-d146d856] {
  font-size: 24px;
  font-weight: 700;
  color: var(--color-text);
  line-height: 1.2;
}
.stat-label[data-v-d146d856] {
  font-size: 13px;
  color: var(--color-text-secondary);
  margin-top: 4px;
}
/* Filter Section */
.filter-section[data-v-d146d856] {
  background: white;
  border-radius: var(--radius-xl);
  padding: var(--spacing-4);
  margin-bottom: var(--spacing-3);
  box-shadow: var(--shadow-sm);
}
/* Table Section */
.table-section[data-v-d146d856] {
  background: white;
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-sm);
}
/* User ID and Location */
.user-id[data-v-d146d856] {
  color: #8c8c8c;
  font-size: 12px;
}
.location[data-v-d146d856] {
  color: #8c8c8c;
  font-size: 12px;
}
.user-agent[data-v-d146d856] {
  font-size: 12px;
  color: #8c8c8c;
  word-break: break-all;
}
.params-json[data-v-d146d856],
.response-json[data-v-d146d856] {
  background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%);
  padding: 12px;
  border-radius: 8px;
  font-size: 12px;
  max-height: 200px;
  overflow: auto;
  margin: 0;
  border: 1px solid #a5d6a7;
  color: #1b5e20;
}
.error-message[data-v-d146d856] {
  color: #c62828;
  background: linear-gradient(135deg, #ffebee 0%, #ffcdd2 100%);
  padding: 12px;
  border-radius: 8px;
  border: 1px solid #ef9a9a;
  font-weight: 500;
}
/* Modal Styles */
.log-detail-modal[data-v-d146d856] .ant-modal-content,
.clear-log-modal[data-v-d146d856] .ant-modal-content {
  border-radius: 16px;
  overflow: hidden;
}
.log-detail-modal[data-v-d146d856] .ant-modal-body {
  padding: 8px;
  overflow-y: auto;
}
.log-detail-modal[data-v-d146d856] .ant-descriptions {
  background: transparent;
}
/* Responsive */
@media (max-width: 1200px) {
.stats-grid[data-v-d146d856] {
    grid-template-columns: repeat(3, 1fr);
}
}
@media (max-width: 768px) {
.logs-page[data-v-d146d856] {
    padding: var(--spacing-3);
}
.hero-title[data-v-d146d856] {
    font-size: 20px;
}
.hero-content[data-v-d146d856] {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}
.hero-right[data-v-d146d856] {
    width: 100%;
}
.stats-grid[data-v-d146d856] {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}
.stat-item[data-v-d146d856] {
    gap: 8px;
}
.stat-icon[data-v-d146d856] {
    width: 40px;
    height: 40px;
    font-size: 16px;
}
.stat-value[data-v-d146d856] {
    font-size: 20px;
}
.stat-label[data-v-d146d856] {
    font-size: 12px;
}
  /* 移动端卡片字段两端对齐 */
[data-v-d146d856] .mobile-card-field {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 4px 0;
    width: 100%;
}
[data-v-d146d856] .mobile-card-field-label {
    flex-shrink: 0;
    font-size: 13px;
    color: var(--color-text-tertiary);
}
[data-v-d146d856] .mobile-card-field-value {
    text-align: right;
    font-size: 13px;
    color: var(--color-text-secondary, #333);
    font-weight: 500;
    flex: 1;
    margin-left: 12px;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
}
.log-detail-modal .ant-modal-content,
.clear-log-modal .ant-modal-content {
  border-radius: 16px;
  overflow: hidden;
}
.log-detail-modal .ant-modal-body {
  padding: 8px;
  overflow-y: auto;
}
.log-detail-modal .ant-descriptions {
  background: transparent;
}
.log-detail-modal .ant-badge-status-success {
  background-color: #52c41a;
}
.log-detail-modal .ant-badge-status-error {
  background-color: #ff4d4f;
}
.log-detail-modal .ant-tag {
  border-radius: 6px;
  font-weight: 500;
  border: none;
}
/* 默认移动端布局：正常流式布局 */
.simple-list-container[data-v-fb159ef4] {
  padding: 16px;
  background: var(--color-bg-layout);
}
/* 插槽区域间距 */
.stats-slot-wrapper[data-v-fb159ef4] {
  margin-bottom: 16px;
}
.filter-slot-wrapper[data-v-fb159ef4] {
  margin-bottom: 12px;
}
/* PC端 (≥768px)：固定头部，独立滚动 */
@media (min-width: 768px) {
.simple-list-container[data-v-fb159ef4] {
    height: 100%;
    display: flex;
    flex-direction: column;
}
  /* 固定头部区域 */
.sticky-header-section[data-v-fb159ef4] {
    flex-shrink: 0;
    background: var(--color-bg-layout);
    z-index: 10;
}
  /* 可滚动内容区域 */
.scrollable-content[data-v-fb159ef4] {
    flex: 1;
    overflow: auto;
    min-height: 0;
    /* 重要：允许flex子项收缩 */
}
}
/* 移动端 (<768px)：恢复正常布局 */
@media (max-width: 767px) {
.simple-list-container[data-v-fb159ef4] {
    height: auto;
    display: block;
    overflow: visible;
    padding: 8px;
}
.sticky-header-section[data-v-fb159ef4] {
    flex-shrink: unset;
    z-index: unset;
}
.scrollable-content[data-v-fb159ef4] {
    flex: unset;
    overflow: visible;
    min-height: unset;
}
}
/* ==================== 页面头部 (Hero Section) ==================== */
.page-header[data-v-fb159ef4] {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 32px;
  margin-bottom: var(--spacing-3, 12px);
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  border-radius: var(--radius-xl, 16px);
  color: white;
  overflow: hidden;
  transition: all 0.3s ease;
}
.page-header[data-v-fb159ef4] .ant-input-search-button {
  color: #fff;
}
.hero-bg-decoration[data-v-fb159ef4] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-fb159ef4] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-fb159ef4] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-fb159ef4] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-fb159ef4] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-fb159ef4] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-fb159ef4] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-fb159ef4] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-fb159ef4] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-fb159ef4] {
  bottom: 30%;
  right: 15%;
}
.header-content[data-v-fb159ef4] {
  flex: 1;
  position: relative;
  z-index: 1;
}
.page-title[data-v-fb159ef4] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.page-description[data-v-fb159ef4] {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.85);
  margin: 0;
  max-width: 500px;
}
.header-actions[data-v-fb159ef4] {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 12px;
  align-items: center;
  flex-shrink: 0;
}
.export-dropdown[data-v-fb159ef4] .ant-btn {
  border-color: var(--color-primary, #26a69a);
  color: var(--color-primary, #26a69a);
}
.export-dropdown[data-v-fb159ef4] .ant-btn:hover {
  border-color: var(--color-primary-hover, #00897b);
  color: var(--color-primary-hover, #00897b);
}
/* 视图切换按钮 */
.view-switch[data-v-fb159ef4] .ant-radio-button-wrapper {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  height: 32px;
}
/* ==================== 搜索区域 ==================== */
.list-search[data-v-fb159ef4] {
  margin-bottom: 12px;
  padding: 12px 16px;
  background: var(--color-bg-container);
  border-radius: 12px;
  display: flex;
  gap: 8px;
  align-items: center;
}
.list-search[data-v-fb159ef4] .ant-input-search {
  flex: 1;
}
.sort-btn[data-v-fb159ef4] {
  flex-shrink: 0;
}
/* ==================== 统计卡片 ==================== */
.stats-container[data-v-fb159ef4] {
  margin-bottom: 12px;
}
.stat-item[data-v-fb159ef4] {
  display: flex;
  align-items: center;
  padding: 12px;
  background: var(--color-bg-container);
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  border: 1px solid var(--color-border-light);
  transition: all 0.3s ease;
}
.stat-item[data-v-fb159ef4]:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  transform: translateY(-2px);
}
.stat-icon[data-v-fb159ef4] {
  width: 48px;
  height: 48px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 20px;
  margin-right: 16px;
  flex-shrink: 0;
}
.stat-content[data-v-fb159ef4] {
  flex: 1;
  min-width: 0;
}
.stat-value[data-v-fb159ef4] {
  font-size: 20px;
  font-weight: 600;
  color: var(--color-text);
  line-height: 1.2;
}
.stat-label[data-v-fb159ef4] {
  font-size: 14px;
  color: var(--color-text-secondary);
  margin-top: 4px;
}
/* ==================== 筛选区域 ==================== */
.filter-container[data-v-fb159ef4] {
  margin-bottom: 12px;
  padding: 16px;
  background: var(--color-bg-container);
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  border: 1px solid var(--color-border-light);
}
/* ==================== 批量操作工具栏 ==================== */
.batch-toolbar[data-v-fb159ef4] {
  margin-bottom: 12px;
  padding: 8px 16px;
  background: var(--color-bg-container);
  border: 1px solid var(--color-border-light);
  border-radius: 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
}
.batch-toolbar > span[data-v-fb159ef4] {
  font-size: 15px;
  font-weight: 500;
  color: var(--color-text);
}
.batch-toolbar[data-v-fb159ef4] .ant-btn {
  height: 36px;
  border-radius: var(--radius-md);
  font-size: 13px;
  font-weight: 500;
  padding: 6px 16px;
  transition: all 0.3s ease;
}
.batch-toolbar[data-v-fb159ef4] .ant-btn:hover {
  transform: translateY(-1px);
}
.batch-toolbar[data-v-fb159ef4] .ant-btn[danger]:hover {
  background: rgba(255, 77, 79, 0.05);
  border-color: var(--color-danger);
  color: var(--color-danger);
}
.batch-toolbar-content[data-v-fb159ef4] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.selection-info[data-v-fb159ef4] {
  display: flex;
  align-items: center;
}
.batch-actions[data-v-fb159ef4] {
  display: flex;
  gap: 8px;
}
/* ==================== 表格样式 ==================== */
[data-v-fb159ef4] .ant-table {
  border-radius: 12px;
  overflow: hidden;
}
[data-v-fb159ef4] .ant-table::before {
  display: none;
}
[data-v-fb159ef4] .ant-table .ant-table-thead > tr > th {
  background: var(--color-bg-container);
  font-weight: 600;
  color: var(--color-text);
  font-size: 14px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--color-border-light);
}
[data-v-fb159ef4] .ant-table .ant-table-tbody > tr > td {
  padding: 14px 16px;
  font-size: 14px;
  color: var(--color-text-secondary);
  border-bottom: 1px solid var(--color-border-light);
}
[data-v-fb159ef4] .ant-table .ant-table-tbody > tr.ant-table-row:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
[data-v-fb159ef4] .ant-table .ant-table-tbody > tr.ant-table-row-selected,[data-v-fb159ef4] .ant-table .ant-table-tbody > tr.ant-table-row-selected:hover {
  background: rgba(var(--primary-color-rgb), 0.04);
}
/* ==================== 骨架屏 ==================== */
.skeleton-list-item[data-v-fb159ef4] {
  padding: 16px;
  margin-bottom: 12px;
  background: var(--color-bg-container);
  border-radius: 12px;
  border: 1px solid var(--color-border-light);
}
.skeleton-card[data-v-fb159ef4] {
  min-height: 200px;
}
/* ==================== 卡片网格 ==================== */
.card-grid[data-v-fb159ef4] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 20px;
  margin-bottom: 12px;
}
.card-empty-state[data-v-fb159ef4] {
  grid-column: 1 / -1;
}
[data-v-fb159ef4] .ant-card-body {
  padding: 12px 16px;
}
/* ==================== 默认列表视图样式 ==================== */
.default-list-view[data-v-fb159ef4] {
  margin-top: 16px;
}
.default-list-item[data-v-fb159ef4] {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  padding: 0;
  background: var(--color-bg-container);
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  border: 1px solid var(--color-border-light);
  margin-bottom: 12px;
  transition: all 0.3s ease;
  cursor: pointer;
}
.default-list-item[data-v-fb159ef4]:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  transform: translateY(-2px);
  border-color: var(--color-primary);
}
.default-list-item-inner[data-v-fb159ef4] {
  flex: 1;
  min-width: 0;
  padding: 16px;
  transition: transform 0.3s ease;
}
.default-list-item-content[data-v-fb159ef4] {
  flex: 1;
  min-width: 0;
}
.default-list-item-title[data-v-fb159ef4] {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-text);
  margin-bottom: 4px;
  line-height: 1.4;
}
.default-list-item-description[data-v-fb159ef4] {
  font-size: 14px;
  color: var(--color-text-secondary);
  line-height: 1.4;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
}
/* ==================== 拖拽样式 ==================== */
.dragging[data-v-fb159ef4] {
  opacity: 0.5;
}
.drag-over[data-v-fb159ef4] {
  border-top: 2px solid var(--color-primary);
}
/* ==================== 滑动操作样式 ==================== */
.swipe-actions[data-v-fb159ef4] {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  display: flex;
  z-index: 1;
  transition: transform 0.3s ease;
}
.swipe-action-btn[data-v-fb159ef4] {
  height: 100%;
  padding: 0 16px;
  border: none;
  color: #fff;
  font-size: 13px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  white-space: nowrap;
  transition: opacity 0.3s ease;
}
.swipe-action-btn[data-v-fb159ef4]:active {
  opacity: 0.8;
}
/* ==================== 无限滚动 ==================== */
.scroll-sentinel[data-v-fb159ef4] {
  width: 100%;
  height: 1px;
}
.load-more-indicator[data-v-fb159ef4] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 16px;
  color: var(--color-text-secondary);
  font-size: 14px;
}
.no-more-indicator[data-v-fb159ef4] {
  text-align: center;
  padding: 12px;
  color: var(--color-text-tertiary);
  font-size: 13px;
}
/* ==================== 响应式设计 ==================== */
@media (max-width: 768px) {
.page-header[data-v-fb159ef4] {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    padding: 20px;
}
.page-header .header-content[data-v-fb159ef4] {
    margin-bottom: 0;
}
.page-header .page-title[data-v-fb159ef4] {
    font-size: 20px;
}
.page-header .header-actions[data-v-fb159ef4] {
    width: 100%;
}
.page-header .header-actions[data-v-fb159ef4] .ant-btn {
    flex: 1;
    justify-content: center;
}
.stats-container[data-v-fb159ef4] {
    margin-bottom: 20px;
}
.stat-item[data-v-fb159ef4] {
    margin-bottom: 12px;
}
.filter-container[data-v-fb159ef4] {
    margin-bottom: 20px;
    padding: 16px;
}
.filter-container[data-v-fb159ef4] .ant-space {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    width: 100%;
}
.filter-container[data-v-fb159ef4] .ant-space > .ant-space-item {
    flex: 1;
    min-width: 100px;
}
.batch-toolbar[data-v-fb159ef4] {
    flex-direction: column;
    gap: 12px;
    align-items: flex-start;
}
.batch-toolbar > span[data-v-fb159ef4] {
    font-size: 14px;
}
.batch-actions[data-v-fb159ef4] {
    width: 100%;
    justify-content: flex-start;
}
.batch-actions > .ant-space-item[data-v-fb159ef4] {
    flex: 1;
}
.card-grid[data-v-fb159ef4] {
    grid-template-columns: repeat(auto-fill, minmax(100%, 1fr));
}
.list-search[data-v-fb159ef4] {
    flex-direction: column;
}
.sort-btn[data-v-fb159ef4] {
    width: 100%;
}
}
@media (max-width: 480px) {
.page-header[data-v-fb159ef4] {
    align-items: flex-start;
}
.page-header .page-title[data-v-fb159ef4] {
    font-size: 20px;
}
}
/* ==================== prefers-reduced-motion ==================== */
@media (prefers-reduced-motion: reduce) {
.simple-list-container[data-v-fb159ef4] *,
  .simple-list-container[data-v-fb159ef4] *::before,
  .simple-list-container[data-v-fb159ef4] *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
}
.page-header[data-v-fb159ef4],
  .stat-item[data-v-fb159ef4],
  .default-list-item[data-v-fb159ef4],
  .default-list-item-inner[data-v-fb159ef4],
  .swipe-actions[data-v-fb159ef4],
  .swipe-action-btn[data-v-fb159ef4],
  .batch-toolbar[data-v-fb159ef4] .ant-btn {
    transition: none !important;
}
.default-list-item[data-v-fb159ef4]:hover {
    transform: none;
}
.stat-item[data-v-fb159ef4]:hover {
    transform: none;
}
.batch-toolbar[data-v-fb159ef4] .ant-btn:hover {
    transform: none;
}
}
.settings-card[data-v-40ec37c1] {
  margin-bottom: 16px;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
  border: 1px solid var(--color-border-light);
  background: var(--color-bg-container);
  transition: all 0.3s ease;
}
.settings-card[data-v-40ec37c1]:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
}
.settings-card[data-v-40ec37c1] .ant-card-head {
  border-bottom: 1px solid var(--color-border-light);
}
.settings-card[data-v-40ec37c1] .ant-card-head-title {
  font-weight: 600;
  color: var(--color-text);
}
.form-tip[data-v-40ec37c1] {
  font-size: 12px;
  color: var(--color-text-tertiary);
  margin-top: 4px;
}
.logo-uploader[data-v-40ec37c1] {
  width: 100px;
  height: 100px;
}
.logo-preview[data-v-40ec37c1] {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.switch-label[data-v-40ec37c1] {
  margin-left: 12px;
}
.quick-actions-buttons[data-v-40ec37c1] {
  width: 100%;
  --ant-space-gap: 12px;
}
.quick-actions-buttons[data-v-40ec37c1] .ant-btn {
  width: 100%;
  justify-content: center;
}
.quick-actions-buttons[data-v-40ec37c1] .ant-upload {
  width: 100%;
}
.info-card[data-v-40ec37c1] {
  background: var(--color-bg-container);
  border: 1px solid var(--color-border-light);
  border-radius: 12px;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
}
.info-card[data-v-40ec37c1]:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
  transform: translateY(-2px);
}
.info-card[data-v-40ec37c1] .ant-card-head {
  background: var(--color-bg-container);
  border-bottom: 1px solid var(--color-border-light);
  color: var(--color-text);
  font-weight: 600;
}
.timeline-title[data-v-40ec37c1] {
  margin: 0;
  font-weight: 600;
  font-size: 14px;
  color: var(--color-text);
}
.timeline-content[data-v-40ec37c1] {
  margin: 4px 0 0;
  color: var(--color-text-secondary);
  font-size: 13px;
}
.timeline-user[data-v-40ec37c1] {
  margin: 2px 0 0;
  color: var(--color-text-tertiary);
  font-size: 12px;
  font-weight: 500;
}
@media (max-width: 768px) {
.page-header[data-v-40ec37c1] {
    flex-direction: column;
    gap: 16px;
    align-items: stretch;
}
.header-content[data-v-40ec37c1] {
    text-align: left;
}
.header-actions[data-v-40ec37c1] {
    flex-wrap: wrap;
    gap: 8px;
}
[data-v-40ec37c1] .ant-form {
    padding: 0 8px;
}
[data-v-40ec37c1] .ant-form-item-label {
    padding-bottom: 6px;
    text-align: left !important;
}
[data-v-40ec37c1] .ant-form-item {
    margin-bottom: 12px !important;
}
[data-v-40ec37c1] .ant-input,[data-v-40ec37c1] .ant-select-selector {
    height: 44px !important;
    font-size: 14px !important;
}
[data-v-40ec37c1] .ant-select-selection-placeholder {
    line-height: 44px !important;
}
[data-v-40ec37c1] .ant-btn {
    min-height: 44px;
    font-size: 14px !important;
    padding: 0 16px !important;
}
[data-v-40ec37c1] .ant-switch {
    min-width: 44px;
    height: 24px;
}
.switch-label[data-v-40ec37c1] {
    margin-left: 8px;
    font-size: 13px;
}
.logo-uploader[data-v-40ec37c1] {
    width: 80px;
    height: 80px;
}
[data-v-40ec37c1] .ant-descriptions {
    font-size: 13px;
}
[data-v-40ec37c1] .ant-descriptions-item-label {
    padding: 8px 8px 8px 0 !important;
    font-size: 12px;
    font-weight: 500;
}
[data-v-40ec37c1] .ant-descriptions-item-content {
    padding: 8px 0 !important;
    font-size: 13px;
}
[data-v-40ec37c1] .ant-modal {
    max-width: 100vw !important;
    margin: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 100vh !important;
}
[data-v-40ec37c1] .ant-modal-content {
    border-radius: 0 !important;
    display: flex;
    flex-direction: column;
}
[data-v-40ec37c1] .ant-modal-body {
    flex: 1;
    overflow-y: auto;
}
}
.settings-card-wrapper[data-v-5eb022b1] {
  overflow-x: hidden;
}
.settings-card[data-v-5eb022b1] {
  margin-bottom: 12px;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
  background: var(--color-bg-container);
  border: 1px solid var(--color-border-light);
  transition: all 0.3s ease;
}
.settings-card[data-v-5eb022b1]:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
}
.settings-card[data-v-5eb022b1] .ant-card-head {
  border-bottom: 1px solid var(--color-border-light);
}
.settings-card[data-v-5eb022b1] .ant-card-head-title {
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 8px;
}
.switch-label[data-v-5eb022b1] {
  margin-left: 12px;
  color: var(--color-text-secondary);
  font-size: 13px;
}
.form-tip[data-v-5eb022b1] {
  color: var(--color-text-tertiary);
  font-size: 12px;
  margin-top: 4px;
}
.input-suffix[data-v-5eb022b1] {
  margin-left: 8px;
  color: var(--color-text-secondary);
}
.connection-status[data-v-5eb022b1] {
  margin-left: 16px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.connection-status.success[data-v-5eb022b1] {
  color: #52c41a;
}
.connection-status.error[data-v-5eb022b1] {
  color: #ff4d4f;
}
.connection-status.loading[data-v-5eb022b1] {
  color: #1890ff;
}
.info-card[data-v-5eb022b1] {
  background: var(--color-bg-container);
  border: 1px solid var(--color-border-light);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
}
.info-card[data-v-5eb022b1] .ant-card-head {
  background: var(--color-bg-container);
  border-bottom: 1px solid var(--color-border-light);
}
.config-tips[data-v-5eb022b1] {
  padding-left: 20px;
  margin: 0;
}
.config-tips li[data-v-5eb022b1] {
  margin-bottom: 16px;
  line-height: 1.6;
}
.config-tips ul[data-v-5eb022b1] {
  margin-top: 8px;
  padding-left: 16px;
}
.config-tips p[data-v-5eb022b1] {
  margin: 8px 0 0 0;
  color: #666;
}
.email-content-preview[data-v-5eb022b1] {
  max-height: 200px;
  overflow-y: auto;
  padding: 12px;
  background: #f5f5f5;
  border-radius: 4px;
  white-space: pre-wrap;
  font-size: 13px;
}
[data-v-5eb022b1] .ant-table-thead > tr > th {
  background: #e3f2fd;
  font-weight: 600;
}
[data-v-5eb022b1] .ant-progress-text {
  font-size: 12px;
}
@media (max-width: 768px) {
.settings-card[data-v-5eb022b1] .ant-form-item-label {
    flex: 0 0 100%;
    max-width: 100%;
}
.settings-card[data-v-5eb022b1] .ant-form-item-control-wrapper {
    flex: 0 0 100%;
    max-width: 100%;
}
.config-tips[data-v-5eb022b1] {
    font-size: 13px;
}
}
.settings-card[data-v-d9090dc3] {
  margin-bottom: 12px;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
  background: var(--color-bg-container);
  border: 1px solid var(--color-border-light);
  transition: all 0.3s ease;
}
.settings-card[data-v-d9090dc3]:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
}
.settings-card[data-v-d9090dc3] .ant-card-head {
  border-bottom: 1px solid var(--color-border-light);
}
.settings-card[data-v-d9090dc3] .ant-card-head-title {
  font-weight: 600;
  color: var(--color-text);
}
.form-tip[data-v-d9090dc3] {
  font-size: 12px;
  color: var(--color-text-tertiary);
  margin-top: 4px;
}
.switch-label[data-v-d9090dc3] {
  margin-left: 12px;
  color: var(--color-text-secondary);
  font-size: 13px;
}
.input-suffix[data-v-d9090dc3] {
  margin-left: 8px;
  color: var(--color-text-secondary);
}
.template-preview-container[data-v-d9090dc3] {
  padding: 16px 0;
}
@media (max-width: 768px) {
.template-preview-container[data-v-d9090dc3] {
    padding: 12px;
}
}
.preview-header[data-v-d9090dc3] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--color-border-light);
}
.template-name[data-v-d9090dc3] {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: var(--color-text);
}
.preview-content[data-v-d9090dc3] {
  margin-bottom: 12px;
}
.preview-title[data-v-d9090dc3] {
  margin-bottom: 12px;
  font-size: 18px;
  font-weight: 600;
  color: var(--color-text);
}
.preview-body[data-v-d9090dc3] {
  font-size: 14px;
  line-height: 1.6;
  color: var(--color-text-secondary);
  white-space: pre-wrap;
}
.preview-footer[data-v-d9090dc3] {
  display: flex;
  justify-content: flex-end;
  padding-top: 16px;
  border-top: 1px solid var(--color-border-light);
}
.info-card[data-v-d9090dc3] {
  background: var(--color-bg-container);
  border: 1px solid var(--color-border-light);
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
  transition: all 0.3s ease;
}
.info-card[data-v-d9090dc3]:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
  transform: translateY(-2px);
}
.info-card[data-v-d9090dc3] .ant-card-head {
  background: var(--color-bg-container);
  border-bottom: 1px solid var(--color-border-light);
  color: var(--color-text);
  font-weight: 600;
}
.preview-card[data-v-d9090dc3] {
  border-radius: 12px;
  background: var(--color-bg-container);
  border: 1px solid var(--color-border-light);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
}
.preview-header[data-v-d9090dc3] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}
.preview-title[data-v-d9090dc3] {
  font-weight: 600;
  flex: 1;
  color: var(--color-text);
}
.preview-time[data-v-d9090dc3] {
  color: var(--color-text-tertiary);
  font-size: 12px;
}
.preview-content[data-v-d9090dc3] {
  color: var(--color-text-secondary);
  line-height: 1.6;
}
@media (max-width: 768px) {
.page-header[data-v-d9090dc3] {
    flex-direction: column;
    gap: 16px;
}
}
.watermark-container[data-v-ebf1959c] {
  pointer-events: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  overflow: hidden;
}
.watermark-item[data-v-ebf1959c] {
  position: absolute;
  white-space: nowrap;
  overflow: hidden;
  pointer-events: none;
  user-select: none;
}
.settings-card-wrapper[data-v-8cebd187] {
  overflow-x: hidden;
}
.settings-card[data-v-8cebd187] {
  margin-bottom: 16px;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
  border: 1px solid var(--color-border-light);
  background: var(--color-bg-container);
  transition: all 0.3s ease;
}
.settings-card[data-v-8cebd187]:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
}
.settings-card[data-v-8cebd187] .ant-card-head {
  border-bottom: 1px solid var(--color-border-light);
}
.settings-card[data-v-8cebd187] .ant-card-head-title {
  font-weight: 600;
  color: var(--color-text);
}
.form-tip[data-v-8cebd187] {
  font-size: 12px;
  color: var(--color-text-tertiary);
  margin-top: 4px;
}
.switch-label[data-v-8cebd187] {
  margin-left: 12px;
}
.slider-value[data-v-8cebd187] {
  margin-left: 16px;
  font-weight: 500;
  color: var(--color-text);
}
.color-picker-container[data-v-8cebd187] {
  display: flex;
  align-items: center;
  gap: 16px;
}
.color-preview[data-v-8cebd187] {
  width: 32px;
  height: 32px;
  border-radius: 4px;
  border: 1px solid var(--color-border-light);
  cursor: pointer;
}
/* 快速操作样式 */
.quick-actions-buttons[data-v-8cebd187] {
  width: 100%;
  --ant-space-gap: 12px;
}
.quick-actions-buttons[data-v-8cebd187] .ant-btn {
  width: 100%;
  justify-content: center;
}
.quick-actions-buttons[data-v-8cebd187] .ant-upload {
  width: 100%;
}
.info-card[data-v-8cebd187] {
  background: var(--color-bg-container);
  border: 1px solid var(--color-border-light);
  border-radius: 12px;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
}
.info-card[data-v-8cebd187]:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
  transform: translateY(-2px);
}
.info-card[data-v-8cebd187] .ant-card-head {
  background: var(--color-bg-container);
  border-bottom: 1px solid var(--color-border-light);
  color: var(--color-text);
  font-weight: 600;
}
/* 预览样式 */
.preview-container[data-v-8cebd187] {
  position: relative;
  width: 100%;
  height: 400px;
  background: var(--color-bg-container);
  border: 1px solid var(--color-border-light);
  border-radius: 8px;
  overflow: hidden;
}
.preview-content[data-v-8cebd187] {
  position: relative;
  z-index: 1;
  padding: 40px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.preview-stats[data-v-8cebd187] {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin-top: 32px;
  padding: 24px;
  background: var(--color-bg-secondary);
  border-radius: 8px;
  width: 100%;
  max-width: 500px;
}
@media (max-width: 768px) {
.preview-stats[data-v-8cebd187] {
    padding: 12px;
}
}
.preview-stat-item[data-v-8cebd187] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.preview-stat-label[data-v-8cebd187] {
  font-weight: 500;
  color: var(--color-text-secondary);
}
.preview-stat-value[data-v-8cebd187] {
  font-weight: 600;
  color: var(--color-text);
}
@media (max-width: 768px) {
.settings-card[data-v-8cebd187] .ant-form-item-label {
    flex: 0 0 100%;
    max-width: 100%;
}
.settings-card[data-v-8cebd187] .ant-form-item-control-wrapper {
    flex: 0 0 100%;
    max-width: 100%;
}
.preview-container[data-v-8cebd187] {
    height: 300px;
}
.preview-content[data-v-8cebd187] {
    padding: 20px;
}
.preview-stats[data-v-8cebd187] {
    gap: 12px;
    padding: 16px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.preview-stats[data-v-8cebd187] {
    padding: 12px;
}
}
.dictionary-page[data-v-eb4466fe] {
  padding: var(--spacing-4);
  background: linear-gradient(135deg, #f5f7fa 0%, #e4e8ef 100%);
}
/* Hero Section */
.hero-bg-decoration[data-v-eb4466fe] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-eb4466fe] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-eb4466fe] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-eb4466fe] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-eb4466fe] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-eb4466fe] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-eb4466fe] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-eb4466fe] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-eb4466fe] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-eb4466fe] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-eb4466fe] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-eb4466fe] {
  flex: 1;
}
.hero-title[data-v-eb4466fe] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-eb4466fe] {
  margin: 0;
  font-size: 14px;
  opacity: 0.85;
  max-width: 500px;
}
.hero-right[data-v-eb4466fe] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
/* Filter Section */
.filter-section[data-v-eb4466fe] {
  background: white;
  border-radius: var(--radius-xl);
  padding: var(--spacing-4);
  margin-bottom: var(--spacing-3);
  box-shadow: var(--shadow-sm);
}
/* Table Section */
.table-section[data-v-eb4466fe] {
  background: white;
  border-radius: var(--radius-xl);
  padding: var(--spacing-4);
  box-shadow: var(--shadow-sm);
}
/* 字典项展开区域 */
.dictionary-items[data-v-eb4466fe] {
  padding: 16px;
  background: var(--color-bg-layout);
  border-radius: 8px;
}
@media (max-width: 768px) {
.dictionary-items[data-v-eb4466fe] {
    padding: 12px;
}
}
.dictionary-items-header[data-v-eb4466fe] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}
.dictionary-items-header h4[data-v-eb4466fe] {
  margin: 0;
  font-size: 16px;
}
/* 模态框移动端适配 */
@media (max-width: 768px) {
.dictionary-page[data-v-eb4466fe] {
    padding: var(--spacing-3);
}
.hero-title[data-v-eb4466fe] {
    font-size: 20px;
}
.hero-content[data-v-eb4466fe] {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}
.hero-right[data-v-eb4466fe] {
    width: 100%;
}
.dict-modal[data-v-eb4466fe] .ant-modal {
    max-width: 100vw !important;
    margin: 0 !important;
    top: 0 !important;
}
.dict-modal[data-v-eb4466fe] .ant-modal-content {
    border-radius: 12px 12px 0 0 !important;
    display: flex;
    flex-direction: column;
}
.dict-modal[data-v-eb4466fe] .ant-modal-body {
    flex: 1;
    overflow-y: auto;
    padding: 16px !important;
}
.dict-modal[data-v-eb4466fe] .ant-modal-footer {
    padding: 12px 16px !important;
    border-top: 1px solid var(--color-border-secondary);
}
}
.license-management-page[data-v-32d7e010] {
  padding: 16px;
}
@media (max-width: 768px) {
.license-management-page[data-v-32d7e010] {
    padding: 12px;
}
}
/* 授权统计卡片网格 */
.license-stats-grid[data-v-32d7e010] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 12px;
}
/* 授权统计卡片样式 */
.license-stat-card[data-v-32d7e010] {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 24px;
  border-radius: 12px;
  background: white;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}
.license-stat-card[data-v-32d7e010]:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}
.license-stat-card[data-v-32d7e010]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
}
.license-stat-card-success[data-v-32d7e010]::before {
  background: linear-gradient(90deg, #52c41a, #73d13d);
}
.license-stat-card-danger[data-v-32d7e010]::before {
  background: linear-gradient(90deg, #ff4d4f, #ff7875);
}
.license-stat-card-primary[data-v-32d7e010]::before {
  background: linear-gradient(90deg, #1890ff, #40a9ff);
}
.license-stat-icon[data-v-32d7e010] {
  width: 56px;
  height: 56px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  color: white;
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
}
.license-stat-icon[data-v-32d7e010]::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.3), transparent);
  transform: rotate(45deg);
  animation: shimmer-32d7e010 3s infinite;
}
@keyframes shimmer-32d7e010 {
0% {
    transform: translateX(-100%) translateY(-100%) rotate(45deg);
}
100% {
    transform: translateX(100%) translateY(100%) rotate(45deg);
}
}
.license-stat-card-success .license-stat-icon[data-v-32d7e010] {
  background: linear-gradient(135deg, #52c41a 0%, #73d13d 100%);
  box-shadow: 0 4px 12px rgba(82, 196, 26, 0.4);
}
.license-stat-card-danger .license-stat-icon[data-v-32d7e010] {
  background: linear-gradient(135deg, #ff4d4f 0%, #ff7875 100%);
  box-shadow: 0 4px 12px rgba(255, 77, 79, 0.4);
}
.license-stat-card-primary .license-stat-icon[data-v-32d7e010] {
  background: linear-gradient(135deg, #1890ff 0%, #40a9ff 100%);
  box-shadow: 0 4px 12px rgba(24, 144, 255, 0.4);
}
.license-stat-content[data-v-32d7e010] {
  flex: 1;
  min-width: 0;
}
.license-stat-value[data-v-32d7e010] {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
}
.license-stat-title[data-v-32d7e010] {
  font-size: 14px;
  color: #8c8c8c;
  margin-top: 4px;
}
/* 授权详情表格 */
.license-descriptions[data-v-32d7e010] .ant-descriptions-item-label {
  white-space: nowrap;
}
/* 功能对比表容器 */
.feature-table-wrapper[data-v-32d7e010] {
  overflow-x: auto;
}
.feature-compare-table[data-v-32d7e010] {
  min-width: 400px;
}
/* ==================== 移动端响应式适配 ==================== */
/* 小屏幕手机 (xs: < 576px) */
@media (max-width: 575px) {
.license-management-page[data-v-32d7e010] {
    padding: 8px;
}
  /* 统计卡片网格 - 一行两列 */
.license-stats-grid[data-v-32d7e010] {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}
  /* 页面标题 */
.license-management-page[data-v-32d7e010] .ant-page-header {
    padding: 0 0 12px 0;
}
.license-management-page[data-v-32d7e010] .ant-page-header-heading-title {
    font-size: 18px;
}
.license-management-page[data-v-32d7e010] .ant-page-header-heading-sub-title {
    font-size: 12px;
}
  /* 统计卡片 */
.license-stat-card[data-v-32d7e010] {
    padding: 14px;
    gap: 10px;
}
.license-stat-icon[data-v-32d7e010] {
    width: 40px;
    height: 40px;
    font-size: 18px;
}
.license-stat-value[data-v-32d7e010] {
    font-size: 18px;
}
.license-stat-title[data-v-32d7e010] {
    font-size: 11px;
}
  /* 授权详情表格 */
.license-descriptions[data-v-32d7e010] .ant-descriptions-item-label {
    width: 90px;
    font-size: 12px;
    flex-shrink: 0;
}
.license-descriptions[data-v-32d7e010] .ant-descriptions-item-content {
    font-size: 12px;
}
  /* 卡片标题 */
.license-management-page[data-v-32d7e010] .ant-card-head-title {
    font-size: 14px;
}
  /* 卡片内容 */
.license-management-page[data-v-32d7e010] .ant-card-body {
    padding: 12px;
}
  /* 功能对比表 */
.feature-table-wrapper[data-v-32d7e010] {
    overflow-x: auto;
}
.feature-compare-table[data-v-32d7e010] {
    min-width: 400px;
}
.feature-compare-table[data-v-32d7e010] .ant-table-thead > tr > th {
    font-size: 11px;
    padding: 8px 4px;
}
.feature-compare-table[data-v-32d7e010] .ant-table-tbody > tr > td {
    font-size: 12px;
    padding: 8px 4px;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.license-management-page[data-v-32d7e010] {
    padding: 12px;
}
}
/* 平板 (sm: 576px - 767px) */
@media (min-width: 576px) and (max-width: 767px) {
.license-management-page[data-v-32d7e010] {
    padding: 12px;
}
  /* 统计卡片网格 - 一行两列 */
.license-stats-grid[data-v-32d7e010] {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}
.license-stat-card[data-v-32d7e010] {
    padding: 18px;
    gap: 12px;
}
.license-stat-value[data-v-32d7e010] {
    font-size: 20px;
}
.license-stat-icon[data-v-32d7e010] {
    width: 44px;
    height: 44px;
    font-size: 20px;
}
.license-stat-title[data-v-32d7e010] {
    font-size: 12px;
}
}
@media (min-width: 576px) and (max-width: 767px) and (max-width: 768px) {
.license-management-page[data-v-32d7e010] {
    padding: 12px;
}
}
/* 中等屏幕 (md: 768px - 991px) */
@media (min-width: 768px) and (max-width: 991px) {
.license-stats-grid[data-v-32d7e010] {
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}
.license-stat-card[data-v-32d7e010] {
    padding: 20px;
    gap: 14px;
}
.license-stat-value[data-v-32d7e010] {
    font-size: 22px;
}
.license-stat-icon[data-v-32d7e010] {
    width: 50px;
    height: 50px;
}
}
/* 平板和手机通用样式 */
@media (max-width: 768px) {
  /* 表单样式 */
.license-management-page[data-v-32d7e010] .ant-form-item-label {
    padding-bottom: 6px;
}
.license-management-page[data-v-32d7e010] .ant-form-item-label > label {
    font-size: 13px;
}
.license-management-page[data-v-32d7e010] .ant-textarea {
    font-size: 13px;
}
.license-management-page[data-v-32d7e010] .ant-space {
    width: 100%;
    flex-wrap: wrap;
    gap: 10px;
}
.license-management-page[data-v-32d7e010] .ant-space > .ant-btn {
    flex: 1;
    min-width: calc(50% - 5px);
}
}
.monitor-dashboard[data-v-b51f5086] {
  padding: var(--spacing-4);
}
.stats-cards[data-v-b51f5086] {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 12px;
  margin-bottom: 12px;
}
.stat-card[data-v-b51f5086] {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
  padding: var(--spacing-3);
  border-radius: var(--radius-xl);
  background: var(--color-neutral-0);
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--color-border-light);
  transition: all var(--duration-base) var(--easing-ease-out);
  position: relative;
  overflow: hidden;
}
.stat-card[data-v-b51f5086]:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg);
}
.stat-card[data-v-b51f5086]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
}
.stat-card-primary[data-v-b51f5086]::before {
  background: linear-gradient(90deg, var(--color-primary-600), var(--color-primary-400));
}
.stat-card-success[data-v-b51f5086]::before {
  background: linear-gradient(90deg, var(--color-success-500), var(--color-success-400));
}
.stat-card-danger[data-v-b51f5086]::before {
  background: linear-gradient(90deg, var(--color-error-500), var(--color-error-400));
}
.stat-card-purple[data-v-b51f5086]::before {
  background: linear-gradient(90deg, #722ed1, #9254de);
}
.stat-card-icon[data-v-b51f5086] {
  width: 48px;
  height: 48px;
  border-radius: var(--radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--icon-size-lg);
  color: white;
  flex-shrink: 0;
}
.stat-card-primary .stat-card-icon[data-v-b51f5086] {
  background: linear-gradient(135deg, var(--color-primary-600) 0%, var(--color-primary-400) 100%);
  box-shadow: var(--shadow-colored-primary);
}
.stat-card-success .stat-card-icon[data-v-b51f5086] {
  background: linear-gradient(135deg, var(--color-success-500) 0%, var(--color-success-400) 100%);
  box-shadow: var(--shadow-colored-success);
}
.stat-card-danger .stat-card-icon[data-v-b51f5086] {
  background: linear-gradient(135deg, var(--color-error-500) 0%, var(--color-error-400) 100%);
  box-shadow: var(--shadow-colored-error);
}
.stat-card-purple .stat-card-icon[data-v-b51f5086] {
  background: linear-gradient(135deg, #722ed1 0%, #9254de 100%);
  box-shadow: 0 4px 12px rgba(114, 46, 209, 0.3);
}
.stat-card-content[data-v-b51f5086] {
  flex: 1;
  min-width: 0;
}
.stat-card-value[data-v-b51f5086] {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-bold);
  line-height: 1.2;
  color: var(--color-text-primary);
}
.stat-suffix[data-v-b51f5086] {
  font-size: var(--font-size-sm);
  font-weight: 400;
  color: var(--color-text-tertiary);
  margin-left: var(--spacing-0-5);
}
.stat-card-title[data-v-b51f5086] {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  margin-top: var(--spacing-0-5);
}
.stat-trend[data-v-b51f5086] {
  font-size: var(--font-size-xs);
  margin-top: var(--spacing-1-5);
}
.stat-trend.up[data-v-b51f5086] {
  color: var(--color-success-600);
}
.stat-trend.down[data-v-b51f5086] {
  color: var(--color-error-600);
}
/* 主内容区域 */
.dashboard-content[data-v-b51f5086] {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 12px;
}
.charts-section[data-v-b51f5086] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.chart-card[data-v-b51f5086] {
  border-radius: 14px;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.04);
  border: 1px solid #f0f0f0;
}
.realtime-chart[data-v-b51f5086] {
  height: 220px;
  display: flex;
  align-items: flex-end;
  padding: 0 8px;
}
.chart-bars[data-v-b51f5086] {
  display: flex;
  align-items: flex-end;
  gap: 3px;
  width: 100%;
  height: 100%;
}
.chart-bar-wrapper[data-v-b51f5086] {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  justify-content: flex-end;
}
.chart-bar[data-v-b51f5086] {
  width: 100%;
  min-height: 4px;
  background: linear-gradient(180deg, #1677ff, #69b1ff);
  border-radius: 3px 3px 0 0;
  transition: height 0.5s ease;
}
.chart-bar.highlight[data-v-b51f5086] {
  background: linear-gradient(180deg, #ff4d4f, #ff7875);
}
.bar-label[data-v-b51f5086] {
  font-size: 10px;
  color: #999;
  margin-top: 4px;
  white-space: nowrap;
}
.distribution-chart[data-v-b51f5086] {
  padding: 8px 0;
}
.distribution-row[data-v-b51f5086] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}
.distribution-row[data-v-b51f5086]:last-child {
  margin-bottom: 0;
}
.dist-label[data-v-b51f5086] {
  width: 90px;
  font-size: 13px;
  color: #595959;
  flex-shrink: 0;
}
.dist-bar-bg[data-v-b51f5086] {
  flex: 1;
  height: 22px;
  background: #f5f5f5;
  border-radius: 11px;
  overflow: hidden;
}
.dist-bar[data-v-b51f5086] {
  height: 100%;
  border-radius: 11px;
  transition: width 0.5s ease;
}
.dist-bar.green[data-v-b51f5086] {
  background: linear-gradient(90deg, #52c41a, #73d13d);
}
.dist-bar.blue[data-v-b51f5086] {
  background: linear-gradient(90deg, #1677ff, #4096ff);
}
.dist-bar.orange[data-v-b51f5086] {
  background: linear-gradient(90deg, #fa8c16, #ffa940);
}
.dist-bar.red[data-v-b51f5086] {
  background: linear-gradient(90deg, #ff4d4f, #ff7875);
}
.dist-bar.red-dark[data-v-b51f5086] {
  background: linear-gradient(90deg, #cf1322, #ff4d4f);
}
.dist-value[data-v-b51f5086] {
  width: 55px;
  text-align: right;
  font-size: 13px;
  font-weight: 600;
  color: #333;
  flex-shrink: 0;
}
/* 右侧信息区域 */
.info-section[data-v-b51f5086] {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.info-card[data-v-b51f5086] {
  border-radius: 14px;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.04);
  border: 1px solid #f0f0f0;
  flex: 1;
}
.error-meta[data-v-b51f5086] {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
}
.error-level-error[data-v-b51f5086] {
  color: #ff4d4f;
  font-weight: 500;
}
.error-level-warning[data-v-b51f5086] {
  color: #fa8c16;
}
/* 响应式 */
@media (max-width: 1200px) {
.dashboard-content[data-v-b51f5086] {
    grid-template-columns: 1fr;
}
.stats-cards[data-v-b51f5086] {
    grid-template-columns: repeat(3, 1fr);
}
}
@media (max-width: 768px) {
.monitor-dashboard[data-v-b51f5086] {
    padding: 10px;
}
.stats-cards[data-v-b51f5086] {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin-bottom: 12px;
}
.stat-card[data-v-b51f5086] {
    gap: 10px;
    border-radius: 12px;
}
.stat-card-icon[data-v-b51f5086] {
    width: 40px;
    height: 40px;
    font-size: 18px;
}
.stat-card-value[data-v-b51f5086] {
    font-size: 18px;
}
.stat-card-title[data-v-b51f5086] {
    font-size: 12px;
}
.stat-trend[data-v-b51f5086] {
    font-size: 11px;
}
.dashboard-content[data-v-b51f5086] {
    gap: 12px;
}
.charts-section[data-v-b51f5086],
  .info-section[data-v-b51f5086] {
    gap: 12px;
}
.chart-card[data-v-b51f5086],
  .info-card[data-v-b51f5086] {
    border-radius: 12px;
}
.realtime-chart[data-v-b51f5086] {
    height: 180px;
}
}
@media (max-width: 575px) {
.monitor-dashboard[data-v-b51f5086] {
    padding: 8px;
}
.stats-cards[data-v-b51f5086] {
    grid-template-columns: 1fr;
    gap: 8px;
}
.stat-card[data-v-b51f5086] {
    gap: 10px;
}
.stat-card-icon[data-v-b51f5086] {
    width: 32px;
    height: 32px;
    min-width: 32px;
    font-size: 13px;
}
.stat-card-value[data-v-b51f5086] {
    font-size: 16px;
}
.stat-card-title[data-v-b51f5086] {
    font-size: 11px;
}
}
.rate-limit-page[data-v-e26f0999] {
  padding: var(--spacing-4);
  background: linear-gradient(135deg, #f5f7fa 0%, #e4e8ef 100%);
}
/* Hero Section */
.hero-bg-decoration[data-v-e26f0999] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-e26f0999] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-e26f0999] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-e26f0999] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-e26f0999] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-e26f0999] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-e26f0999] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-e26f0999] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-e26f0999] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-e26f0999] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-e26f0999] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-e26f0999] {
  flex: 1;
}
.hero-title[data-v-e26f0999] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-e26f0999] {
  margin: 0;
  font-size: 14px;
  opacity: 0.85;
  max-width: 500px;
}
.hero-right[data-v-e26f0999] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
/* Filter Section */
.filter-section[data-v-e26f0999] {
  background: white;
  border-radius: var(--radius-xl);
  padding: var(--spacing-4);
  margin-bottom: var(--spacing-3);
  box-shadow: var(--shadow-sm);
}
.filter-bar[data-v-e26f0999] {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.filter-bar__right[data-v-e26f0999] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}
/* Table Section */
.table-section[data-v-e26f0999] {
  background: white;
  border-radius: var(--radius-xl);
  padding: var(--spacing-4);
  box-shadow: var(--shadow-sm);
}
.rule-name[data-v-e26f0999] {
  font-weight: 500;
}
.rule-path[data-v-e26f0999] {
  background: #f5f5f5;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 12px;
}
/* Stats Grid */
.stats-grid[data-v-e26f0999] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-bottom: var(--spacing-3);
}
.stats-card[data-v-e26f0999] {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px;
  border-radius: var(--radius-xl);
  background: white;
  box-shadow: var(--shadow-sm);
}
@media (max-width: 768px) {
.stats-card[data-v-e26f0999] {
    padding: 12px;
}
}
.stat-icon[data-v-e26f0999] {
  width: 56px;
  height: 56px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  color: white;
  flex-shrink: 0;
}
.stat-icon-red[data-v-e26f0999] {
  background: linear-gradient(135deg, #ff4d4f 0%, #ff7875 100%);
}
.stat-icon-orange[data-v-e26f0999] {
  background: linear-gradient(135deg, #fa8c16 0%, #ffc53d 100%);
}
.stat-icon-blue[data-v-e26f0999] {
  background: linear-gradient(135deg, #1890ff 0%, #40a9ff 100%);
}
.stat-content[data-v-e26f0999] {
  flex: 1;
  min-width: 0;
}
.stat-value[data-v-e26f0999] {
  font-size: 28px;
  font-weight: 700;
  color: var(--color-text);
  line-height: 1.2;
}
.stat-label[data-v-e26f0999] {
  font-size: 14px;
  color: #8c8c8c;
  margin-top: 4px;
}
.stats-detail[data-v-e26f0999] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.detail-card[data-v-e26f0999] {
  background: white;
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-sm);
}
/* Responsive */
@media (max-width: 1200px) {
.stats-grid[data-v-e26f0999] {
    grid-template-columns: repeat(2, 1fr);
}
.stats-detail[data-v-e26f0999] {
    grid-template-columns: 1fr;
}
}
@media (max-width: 768px) {
.rate-limit-page[data-v-e26f0999] {
    padding: var(--spacing-3);
}
.hero-title[data-v-e26f0999] {
    font-size: 20px;
}
.hero-content[data-v-e26f0999] {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}
.hero-right[data-v-e26f0999] {
    width: 100%;
}
.filter-bar[data-v-e26f0999] {
    flex-direction: column;
    align-items: stretch;
}
.filter-bar[data-v-e26f0999] > * {
    width: 100% !important;
}
.filter-bar__right[data-v-e26f0999] {
    margin-left: 0;
    flex-direction: column;
}
.stats-grid[data-v-e26f0999] {
    grid-template-columns: 1fr;
}
.stats-card[data-v-e26f0999] {
    padding: 16px;
}
.stat-icon[data-v-e26f0999] {
    width: 48px;
    height: 48px;
    font-size: 20px;
}
.stat-value[data-v-e26f0999] {
    font-size: 24px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.stats-card[data-v-e26f0999] {
    padding: 12px;
}
}
/* 现代移动互联网卡片风格 */
.alert-record-mobile[data-v-413477e2] {
  padding: 0;
}
.alert-record-mobile .alert-record-card[data-v-413477e2] {
  background: #fff;
  border-radius: 16px;
  margin-bottom: 12px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.alert-record-mobile .alert-record-card[data-v-413477e2]:active {
  transform: scale(0.98);
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.08);
}
.alert-record-mobile .alert-record-card--unread .card-title[data-v-413477e2] {
  font-weight: 600;
}
.alert-record-mobile .alert-record-card--unread .status-tag--unread[data-v-413477e2] {
  background: #1677ff;
  color: #fff;
}
/* 卡片头部 */
.card-header[data-v-413477e2] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 16px 12px 0;
}
.card-header .header-left[data-v-413477e2] {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  flex: 1;
  min-width: 0;
}
.card-header .level-dot[data-v-413477e2] {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  margin-top: 7px;
  flex-shrink: 0;
}
.card-header .level-dot--info[data-v-413477e2] {
  background: #1677ff;
}
.card-header .level-dot--warning[data-v-413477e2] {
  background: #faad14;
}
.card-header .level-dot--error[data-v-413477e2] {
  background: #ff4d4f;
}
.card-header .level-dot--critical[data-v-413477e2] {
  background: #722ed1;
}
.card-header .card-title[data-v-413477e2] {
  font-size: 15px;
  font-weight: 500;
  color: #1a1a1a;
  line-height: 1.5;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.card-header .status-tag[data-v-413477e2] {
  font-size: 11px;
  font-weight: 500;
  padding: 3px 10px;
  border-radius: 12px;
  flex-shrink: 0;
  margin-left: 12px;
}
.card-header .status-tag--unread[data-v-413477e2] {
  background: #e6f4ff;
  color: #1677ff;
}
.card-header .status-tag--read[data-v-413477e2] {
  background: #f5f5f5;
  color: #8c8c8c;
}
.card-header .status-tag--resolved[data-v-413477e2] {
  background: #f6ffed;
  color: #52c41a;
}
/* 卡片内容 */
.card-body[data-v-413477e2] {
  padding: 12px 0px;
  padding-left: 24px;
}
.card-body .card-desc[data-v-413477e2] {
  font-size: 13px;
  color: #666;
  line-height: 1.6;
  margin: 0 0 8px;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.card-body .card-meta[data-v-413477e2] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.card-body .card-meta .meta-item[data-v-413477e2] {
  font-size: 12px;
  color: #999;
}
.card-body .card-meta .meta-divider[data-v-413477e2] {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #d9d9d9;
}
/* 卡片操作区 */
.card-footer[data-v-413477e2] {
  background: #fafafa;
  padding: 0;
  border-top: 1px solid #f0f0f0;
}
.card-footer .footer-actions[data-v-413477e2] {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0;
  height: 44px;
}
.card-footer .footer-actions .action-item[data-v-413477e2] {
  font-size: 13px;
  color: #1677ff;
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 0 14px;
  height: 100%;
  cursor: pointer;
  transition: all 0.15s ease;
  position: relative;
}
.card-footer .footer-actions .action-item[data-v-413477e2]:not(:last-child)::after {
  content: '';
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 16px;
  background: #e8e8e8;
}
.card-footer .footer-actions .action-item[data-v-413477e2]:active {
  background: #f0f0f0;
}
.card-footer .footer-actions .action-item--primary[data-v-413477e2] {
  color: #1677ff;
  font-weight: 500;
}
.card-footer .footer-actions .action-item--primary[data-v-413477e2]:active {
  background: #e6f4ff;
}
.card-footer .footer-actions .action-item[data-v-413477e2] .anticon {
  font-size: 14px;
}
/* PC端图标按钮 */
.action-icon-btn[data-v-413477e2] {
  width: 28px;
  height: 28px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #8c8c8c;
  border-radius: 6px;
  transition: all 0.2s ease;
}
.action-icon-btn[data-v-413477e2]:hover {
  color: #1677ff;
  background: #e6f4ff;
}
.action-icon-btn--primary[data-v-413477e2] {
  color: #1677ff;
}
.action-icon-btn--primary[data-v-413477e2]:hover {
  background: #1677ff;
  color: #fff;
}
.action-icon-btn[data-v-413477e2] .anticon {
  font-size: 14px;
}
/* 详情弹窗样式 */
.detail-content .detail-header[data-v-413477e2] {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding-bottom: 20px;
  border-bottom: 1px solid #f0f0f0;
  margin-bottom: 20px;
}
.detail-content .detail-header .detail-icon[data-v-413477e2] {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  flex-shrink: 0;
}
.detail-content .detail-header .detail-icon--info[data-v-413477e2] {
  background: #e6f4ff;
  color: #1677ff;
}
.detail-content .detail-header .detail-icon--warning[data-v-413477e2] {
  background: #fff7e6;
  color: #faad14;
}
.detail-content .detail-header .detail-icon--error[data-v-413477e2] {
  background: #fff1f0;
  color: #ff4d4f;
}
.detail-content .detail-header .detail-icon--critical[data-v-413477e2] {
  background: #f9f0ff;
  color: #722ed1;
}
.detail-content .detail-header .detail-title-section[data-v-413477e2] {
  flex: 1;
}
.detail-content .detail-header .detail-title-section .detail-title[data-v-413477e2] {
  font-size: 18px;
  font-weight: 600;
  color: #1a1a1a;
  margin: 0 0 8px;
  line-height: 1.4;
}
.detail-content .detail-body .detail-item[data-v-413477e2] {
  margin-bottom: 16px;
}
.detail-content .detail-body .detail-item .detail-label[data-v-413477e2] {
  font-size: 12px;
  color: #8c8c8c;
  margin-bottom: 6px;
}
.detail-content .detail-body .detail-item .detail-value[data-v-413477e2] {
  font-size: 14px;
  color: #333;
  line-height: 1.5;
}
.detail-content .detail-body .detail-item .detail-value[data-v-413477e2] .anticon {
  margin-right: 4px;
  color: #8c8c8c;
}
.detail-content .detail-body .detail-row[data-v-413477e2] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.detail-content .detail-footer[data-v-413477e2] {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding-top: 20px;
  border-top: 1px solid #f0f0f0;
  margin-top: 20px;
}
/* 处理确认弹窗 */
.resolve-hint[data-v-413477e2] {
  color: #666;
  margin-bottom: 16px;
  line-height: 1.6;
}
.alert-rule-list .rule-header[data-v-2949b216] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}
.rule-card[data-v-2949b216] {
  border: 1px solid #f0f0f0;
  border-radius: 8px;
  padding: 14px 16px;
  margin-bottom: 12px;
  transition: all 0.2s ease;
}
.rule-card[data-v-2949b216]:hover {
  border-color: #d9d9d9;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.rule-card--disabled[data-v-2949b216] {
  opacity: 0.5;
  background: #fafafa;
}
.rule-card__header[data-v-2949b216] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.rule-card__name[data-v-2949b216] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.rule-card__body[data-v-2949b216] {
  padding-left: 4px;
  margin-bottom: 8px;
}
.rule-card__actions[data-v-2949b216] {
  display: flex;
  gap: 4px;
  padding-top: 8px;
  border-top: 1px solid #f5f5f5;
}
.rule-name-text[data-v-2949b216] {
  font-weight: 500;
  font-size: 14px;
}
.rule-condition[data-v-2949b216] {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
}
.rule-condition .condition-label[data-v-2949b216] {
  font-size: 12px;
  color: #999;
  flex-shrink: 0;
}
.rule-condition .condition-value[data-v-2949b216] {
  font-size: 13px;
  color: #333;
  font-weight: 500;
}
.rule-meta[data-v-2949b216] {
  display: flex;
  gap: 16px;
}
.rule-meta .meta-item[data-v-2949b216] {
  font-size: 12px;
  color: #999;
  display: flex;
  align-items: center;
  gap: 4px;
}
.rule-form .condition-form[data-v-2949b216] {
  display: flex;
  gap: 8px;
}
.rule-form[data-v-2949b216] .ant-radio-button-wrapper {
  padding: 0 12px;
  height: 32px;
  line-height: 30px;
}
.alert-center[data-v-a10d11da] {
  padding: var(--spacing-4);
  background: var(--color-bg-layout);
}
@media (max-width: 768px) {
.alert-center[data-v-a10d11da] {
    padding: var(--spacing-3);
    background: var(--color-bg-layout);
}
}
/* ==================== Hero 区域 ==================== */
.hero-bg-decoration[data-v-a10d11da] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-a10d11da] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-a10d11da] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-a10d11da] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-a10d11da] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-a10d11da] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-a10d11da] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-a10d11da] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-a10d11da] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-a10d11da] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-a10d11da] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-a10d11da] {
  flex: 1;
}
.hero-badge[data-v-a10d11da] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 255, 255, 0.15);
  border-radius: 20px;
  padding: 4px 14px;
  font-size: 13px;
  margin-bottom: 12px;
  backdrop-filter: blur(4px);
}
.hero-title[data-v-a10d11da] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-a10d11da] {
  margin: 0;
  font-size: 14px;
  opacity: 0.85;
  max-width: 500px;
}
.hero-right[data-v-a10d11da] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
@media (max-width: 991px) {
.hero-content[data-v-a10d11da] {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}
}
@media (max-width: 575px) {
.hero-title[data-v-a10d11da] {
    font-size: 20px;
}
.hero-right[data-v-a10d11da] {
    width: 100%;
}
}
/* ==================== 统计卡片 ==================== */
.alert-stats[data-v-a10d11da] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 16px;
}
@media (max-width: 768px) {
.alert-stats[data-v-a10d11da] {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin-bottom: 12px;
    padding: 0;
}
}
.stat-card[data-v-a10d11da] {
  position: relative;
  display: flex;
  padding: var(--spacing-3);
  justify-content: flex-start;
  align-items: center;
  gap: var(--spacing-4);
  border-radius: var(--radius-xl);
  overflow: hidden;
  color: var(--color-neutral-0);
  cursor: pointer;
  transition: all var(--duration-base) var(--easing-ease-out);
  box-shadow: var(--shadow-sm);
}
.stat-card[data-v-a10d11da]::after {
  content: '';
  position: absolute;
  top: -20px;
  right: -20px;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
}
.stat-card[data-v-a10d11da]:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg);
}
.stat-card[data-v-a10d11da]:active {
  transform: scale(0.97);
}
.stat-card.gradient-blue[data-v-a10d11da] {
  background: linear-gradient(135deg, var(--color-primary-600) 0%, var(--color-primary-400) 100%);
}
.stat-card.gradient-green[data-v-a10d11da] {
  background: linear-gradient(135deg, var(--color-success-600) 0%, var(--color-success-400) 100%);
}
.stat-card.gradient-red[data-v-a10d11da] {
  background: linear-gradient(135deg, var(--color-error-600) 0%, var(--color-error-400) 100%);
}
.stat-card.gradient-purple[data-v-a10d11da] {
  background: linear-gradient(135deg, #722ed1 0%, #9254de 100%);
}
@media (max-width: 768px) {
.stat-card[data-v-a10d11da] {
    padding: var(--spacing-3-5) var(--spacing-3);
    gap: var(--spacing-2-5);
    border-radius: var(--radius-xl);
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.08);
}
.stat-card[data-v-a10d11da]:hover {
    transform: none;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.08);
}
.stat-card[data-v-a10d11da]::after {
    width: 50px;
    height: 50px;
    top: -12px;
    right: -12px;
}
.stat-card .stat-icon[data-v-a10d11da] {
    width: 40px;
    height: 40px;
    font-size: var(--icon-size-md);
    border-radius: var(--radius-lg);
}
.stat-card .stat-value[data-v-a10d11da] {
    font-size: var(--font-size-lg);
    font-weight: 800;
}
.stat-card .stat-label[data-v-a10d11da] {
    font-size: var(--font-size-xs);
    opacity: 0.9;
}
}
.stat-card .stat-icon[data-v-a10d11da] {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(8px);
  border-radius: var(--radius-lg);
  font-size: var(--icon-size-lg);
  flex-shrink: 0;
}
.stat-card .stat-content[data-v-a10d11da] {
  flex: 1;
  min-width: 0;
}
.stat-card .stat-value[data-v-a10d11da] {
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-bold);
  line-height: 1.1;
  letter-spacing: -0.5px;
}
.stat-card .stat-label[data-v-a10d11da] {
  font-size: var(--font-size-base);
  opacity: 0.85;
  margin-top: var(--spacing-1);
}
.trend-card[data-v-a10d11da] {
  margin-bottom: 12px;
  border-radius: 14px;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.04);
  border: 1px solid var(--color-border-light);
}
@media (max-width: 768px) {
.trend-card[data-v-a10d11da] {
    margin-bottom: 12px;
    border-radius: 12px;
    box-shadow: none;
    border: none;
}
.trend-card[data-v-a10d11da] .ant-card-head {
    padding: 0 14px;
    min-height: 42px;
    border-bottom: none;
}
.trend-card[data-v-a10d11da] .ant-card-head-title {
    font-size: 13px;
    font-weight: 600;
    padding: 10px 0;
    color: var(--color-text);
}
.trend-card[data-v-a10d11da] .ant-card-body {
    padding: 8px 14px 14px;
}
}
.trend-card .trend-title[data-v-a10d11da] {
  font-size: 15px;
  font-weight: 600;
  color: var(--color-text);
}
.trend-card .trend-bars[data-v-a10d11da] {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  height: 110px;
  padding: 12px 16px 0;
  gap: 6px;
}
@media (max-width: 768px) {
.trend-card .trend-bars[data-v-a10d11da] {
    height: 80px;
    padding: 8px 4px 0;
    gap: 4px;
}
}
.trend-card .trend-bar-item[data-v-a10d11da] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  flex: 1;
  max-width: 60px;
}
.trend-card .trend-bar-wrapper[data-v-a10d11da] {
  width: 28px;
  height: 70px;
  background: var(--color-border-light);
  border-radius: 6px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}
@media (max-width: 768px) {
.trend-card .trend-bar-wrapper[data-v-a10d11da] {
    width: 22px;
    height: 50px;
    border-radius: 4px;
}
}
.trend-card .trend-bar[data-v-a10d11da] {
  width: 100%;
  border-radius: 6px;
  min-height: 4px;
  transition: height 0.8s cubic-bezier(0.4, 0, 0.2, 1);
  background: linear-gradient(180deg, #5b8ff9 0%, #85a5ff 100%);
}
.trend-card .trend-label[data-v-a10d11da] {
  font-size: 11px;
  color: var(--color-text-secondary);
  white-space: nowrap;
}
@media (max-width: 575px) {
.trend-card .trend-label[data-v-a10d11da] {
    font-size: 9px;
    color: var(--color-text-quaternary);
}
}
.trend-card .trend-count[data-v-a10d11da] {
  font-size: 13px;
  font-weight: 700;
  color: var(--color-text);
}
@media (max-width: 575px) {
.trend-card .trend-count[data-v-a10d11da] {
    font-size: 11px;
}
}
.alert-list-card[data-v-a10d11da] {
  border-radius: 14px;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.04);
  border: 1px solid var(--color-border-light);
}
.alert-list-card[data-v-a10d11da] .ant-card-head {
  border-bottom: 1px solid var(--color-border-light);
}
.alert-list-card .card-title[data-v-a10d11da] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
@media (max-width: 768px) {
.alert-list-card[data-v-a10d11da] {
    border-radius: 12px;
    box-shadow: none;
    border: none;
    margin: 0;
}
.alert-list-card[data-v-a10d11da] .ant-card-head {
    padding: 0 14px;
    min-height: 44px;
    border-bottom: none;
}
.alert-list-card[data-v-a10d11da] .ant-card-head-title {
    font-size: 15px;
    font-weight: 600;
    padding: 10px 0;
    color: var(--color-text);
}
.alert-list-card[data-v-a10d11da] .ant-card-extra {
    margin-left: 0;
}
.alert-list-card[data-v-a10d11da] .ant-card-body {
    padding: 0 12px;
}
.alert-list-card[data-v-a10d11da] .ant-tabs-nav {
    margin-bottom: 10px;
    padding: 0;
}
.alert-list-card[data-v-a10d11da] .ant-tabs-tab {
    padding: 8px 2px;
    font-size: 13px;
    margin: 0 8px 0 0;
}
.alert-list-card[data-v-a10d11da] .ant-tabs-ink-bar {
    height: 3px;
    border-radius: 2px;
}
}
.empty-state[data-v-a10d11da] {
  padding: 48px 0;
}
@media (max-width: 768px) {
.empty-state[data-v-a10d11da] {
    padding: 32px 0;
}
}
@media (max-width: 575px) {
.stat-icon[data-v-a10d11da] {
    width: 32px;
    height: 32px;
    min-width: 32px;
    border-radius: 8px;
    font-size: 13px;
}
.stat-value[data-v-a10d11da] {
    font-size: 16px;
}
.stat-label[data-v-a10d11da] {
    font-size: 10px;
}
}
/* ==================== 页面容器 ==================== */
.task-schedule-page[data-v-ba012928] {
  padding: var(--spacing-4);
  background: var(--color-bg-layout);
}
/* ==================== Hero 区域 ==================== */
.hero-bg-decoration[data-v-ba012928] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-ba012928] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-ba012928] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-ba012928] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-ba012928] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-ba012928] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-ba012928] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-ba012928] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-ba012928] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-ba012928] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-ba012928] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-ba012928] {
  flex: 1;
}
.hero-badge[data-v-ba012928] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 255, 255, 0.15);
  border-radius: 20px;
  padding: 4px 14px;
  font-size: 13px;
  margin-bottom: 12px;
  backdrop-filter: blur(4px);
}
.hero-title[data-v-ba012928] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-ba012928] {
  margin: 0;
  font-size: 14px;
  opacity: 0.85;
  max-width: 500px;
}
.hero-right[data-v-ba012928] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
@media (max-width: 991px) {
.hero-content[data-v-ba012928] {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}
}
@media (max-width: 575px) {
.hero-title[data-v-ba012928] {
    font-size: 18px;
}
.hero-desc[data-v-ba012928] {
    font-size: 13px;
    max-width: 100%;
}
.hero-right[data-v-ba012928] {
    width: 100%;
    flex-direction: column;
}
.hero-stats[data-v-ba012928] {
    flex-wrap: wrap;
    gap: 12px;
}
.hero-stat[data-v-ba012928] {
    padding: 0 8px;
}
.hero-stat-value[data-v-ba012928] {
    font-size: 18px;
}
.hero-stat-label[data-v-ba012928] {
    font-size: 11px;
}
.hero-stat-divider[data-v-ba012928] {
    display: none;
}
  /* 统计卡片移动端 */
[data-v-ba012928] .stats-card {
    margin-bottom: 8px;
}
  /* 表格移动端横向滚动 */
[data-v-ba012928] .ant-table-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
[data-v-ba012928] .ant-table {
    min-width: 600px;
}
  /* 模态框移动端全屏 */
[data-v-ba012928] .ant-modal {
    max-width: 100vw !important;
    margin: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    height: 100vh !important;
}
[data-v-ba012928] .ant-modal-content {
    border-radius: 0 !important;
}
  /* 表单移动端 */
[data-v-ba012928] .ant-form-item {
    margin-bottom: 12px;
}
}
/* ==================== 统计卡片 ==================== */
.stats-card[data-v-ba012928] {
  margin-bottom: 12px;
  border-radius: 12px;
  background: var(--color-bg-layout);
  border: none;
  box-shadow: none;
  transition: all 0.3s ease;
}
.stats-card[data-v-ba012928]:hover {
  box-shadow: none;
  transform: none;
}
.stats-card[data-v-ba012928] .ant-card-body {
  padding: 16px;
}
.stats-grid[data-v-ba012928] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.stat-item[data-v-ba012928] {
  display: flex;
  align-items: center;
  padding: var(--spacing-3);
  background: var(--color-bg-container);
  border-radius: 12px;
  transition: all 0.3s ease;
}
.stat-item[data-v-ba012928]:hover {
  background: var(--color-bg-container);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}
.stat-icon[data-v-ba012928] {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 16px;
  color: white;
  font-size: 22px;
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
  flex-shrink: 0;
}
/* 玻璃质感 - 顶部高光 */
.stat-icon[data-v-ba012928]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 50%;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0.08) 60%, transparent 100%);
  border-radius: 14px 14px 0 0;
  pointer-events: none;
}
/* 玻璃质感 - shimmer 光效动画 */
.stat-icon[data-v-ba012928]::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.3), transparent);
  transform: rotate(45deg);
  transition: all 0.6s ease;
  animation: stat-icon-shimmer-ba012928 3s infinite;
}
@keyframes stat-icon-shimmer-ba012928 {
0% {
    transform: translateX(-100%) translateY(-100%) rotate(45deg);
}
100% {
    transform: translateX(100%) translateY(100%) rotate(45deg);
}
}
.stat-item:hover .stat-icon[data-v-ba012928] {
  transform: scale(1.08) translateY(-2px);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
}
.stat-content[data-v-ba012928] {
  flex: 1;
  min-width: 0;
}
.stat-value[data-v-ba012928] {
  font-size: 26px;
  font-weight: 700;
  color: var(--color-text);
  line-height: 1.2;
  transition: all 0.3s ease;
}
.stat-item:hover .stat-value[data-v-ba012928] {
  transform: scale(1.05);
}
.stat-label[data-v-ba012928] {
  font-size: 14px;
  color: var(--color-text-secondary);
  margin-top: 4px;
  font-weight: 500;
}
.batch-toolbar[data-v-ba012928] {
  background: linear-gradient(135deg, rgba(38, 166, 154, 0.1) 0%, rgba(0, 150, 136, 0.15) 100%);
  border: 2px solid rgba(38, 166, 154, 0.3);
  border-radius: 12px;
  padding: 8px 20px;
  margin-bottom: 16px;
  backdrop-filter: blur(10px);
  transition: all 0.3s ease;
}
.batch-toolbar[data-v-ba012928]:hover {
  box-shadow: 0 4px 16px rgba(0, 105, 92, 0.15);
}
.batch-toolbar-content[data-v-ba012928] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.selection-info[data-v-ba012928] {
  display: flex;
  align-items: center;
}
.batch-actions[data-v-ba012928] {
  display: flex;
  gap: 8px;
}
.batch-actions[data-v-ba012928] .ant-btn {
  border-radius: 6px;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 6px;
}
.batch-actions[data-v-ba012928] .ant-btn:hover {
  transform: translateY(-1px);
}
.batch-actions[data-v-ba012928] .ant-btn-dangerous {
  color: #f5222d;
  border-color: #f5222d;
}
.batch-actions[data-v-ba012928] .ant-btn-dangerous:hover {
  background: #f5222d;
  color: var(--color-neutral-0);
}
.cron-code[data-v-ba012928] {
  background: var(--color-border-light);
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 12px;
  color: #1677ff;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
}
.execution-stats[data-v-ba012928] {
  display: flex;
  gap: 4px;
  font-size: 13px;
}
.stat-total[data-v-ba012928] {
  font-weight: 600;
  color: var(--color-text);
}
.stat-success[data-v-ba012928] {
  color: #52c41a;
}
.stat-fail[data-v-ba012928] {
  color: #ff4d4f;
}
/* 弹窗样式 */
.task-form-modal[data-v-ba012928] .ant-modal-body {
  padding: 24px;
  max-height: 65vh;
  overflow-y: auto;
}
.task-form-modal[data-v-ba012928] .ant-form-item-label > label {
  font-weight: 500;
}
.task-form-modal[data-v-ba012928] .ant-input,
.task-form-modal[data-v-ba012928] .ant-select-selector,
.task-form-modal[data-v-ba012928] .ant-input-number {
  border-radius: 8px;
  transition: all 0.3s ease;
}
.task-form-modal[data-v-ba012928] .ant-input:focus,
.task-form-modal[data-v-ba012928] .ant-select-focused .ant-select-selector {
  box-shadow: 0 0 0 2px rgba(22, 119, 255, 0.2);
}
.task-log-modal[data-v-ba012928] .ant-modal-body {
  padding: 16px 24px;
}
.task-log-modal[data-v-ba012928] .ant-tag {
  border-radius: 6px;
  font-weight: 500;
  border: none;
}
/* 移动端卡片样式 - header/title 保留（页面特有布局） */
.mobile-task-header[data-v-ba012928] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 12px;
}
.mobile-task-title[data-v-ba012928] {
  flex: 1;
  min-width: 0;
}
.mobile-task-name[data-v-ba012928] {
  font-weight: 600;
  font-size: 15px;
  color: var(--color-text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
}
.mobile-task-badges[data-v-ba012928] {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  flex-shrink: 0;
}
.mobile-task-tag[data-v-ba012928] {
  font-size: 11px;
  padding: 2px 8px;
  border-radius: 4px;
}
.mobile-task-fields[data-v-ba012928] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--color-border);
}
.mobile-task-field-inline[data-v-ba012928] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
}
.mobile-task-field-label[data-v-ba012928] {
  color: var(--color-text-tertiary);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 6px;
}
.mobile-task-field-label-text[data-v-ba012928] {
  font-size: 13px;
  color: var(--color-text-tertiary);
}
.mobile-task-field-value[data-v-ba012928] {
  color: var(--color-text-primary);
  text-align: right;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 60%;
}
.mobile-task-field-full[data-v-ba012928] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 13px;
  padding-top: 4px;
}
.mobile-task-field-full .mobile-task-field-value[data-v-ba012928] {
  text-align: left;
  white-space: normal;
  max-width: 100%;
  color: var(--color-text-secondary);
  line-height: 1.5;
}
/* 移动端卡片操作按钮 */
.mobile-primary-action[data-v-ba012928] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.mobile-more-action[data-v-ba012928] {
  padding: 0;
}
/* 移动端卡片中的 cron 表达式样式 */
.mobile-task-field-value .cron-code[data-v-ba012928] {
  font-size: 11px;
  padding: 1px 6px;
}
/* 移动端卡片执行统计样式 */
.mobile-task-field-value .stat-total[data-v-ba012928] {
  font-weight: 600;
  color: var(--color-text-primary);
}
.mobile-task-field-value .stat-success[data-v-ba012928] {
  color: #52c41a;
}
.mobile-task-field-value .stat-fail[data-v-ba012928] {
  color: #ff4d4f;
}
/* 响应式 */
@media (max-width: 768px) {
.stats-grid[data-v-ba012928] {
    grid-template-columns: repeat(2, 1fr);
}
.batch-toolbar-content[data-v-ba012928] {
    flex-direction: column;
    gap: 12px;
}
.batch-actions[data-v-ba012928] {
    flex-wrap: wrap;
    justify-content: center;
}
  /* 模态框移动端全屏适配 */
[data-v-ba012928] .ant-modal {
    max-width: 100vw !important;
    margin: 0 !important;
    top: 0 !important;
    padding: 0 !important;
}
[data-v-ba012928] .ant-modal-content {
    border-radius: 0 !important;
    display: flex;
    flex-direction: column;
}
[data-v-ba012928] .ant-modal-body {
    flex: 1;
    overflow-y: auto;
    max-height: none !important;
}
.task-form-modal[data-v-ba012928] .ant-modal-body {
    max-height: none !important;
    padding: 16px;
}
.task-log-modal[data-v-ba012928] .ant-modal-body {
    max-height: none !important;
    padding: 16px;
}
}
@media (max-width: 575px) {
.stats-grid[data-v-ba012928] {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}
.stat-item[data-v-ba012928] {
    padding: var(--spacing-3);
}
.stat-icon[data-v-ba012928] {
    width: 40px;
    height: 40px;
    font-size: 18px;
}
}
/* ===== 设计系统 Token ===== */
.data-platform[data-v-001a1f21] {
  padding: 16px;
  background: var(--color-bg-layout);
}
@media (max-width: 768px) {
.data-platform[data-v-001a1f21] {
    padding: 12px;
}
}
/* ===== Hero Section（对标 AI Platform / Dashboard） ===== */
.hero-bg-decoration[data-v-001a1f21] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
}
.hero-circle[data-v-001a1f21] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-001a1f21] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -40px;
}
.hero-circle--2[data-v-001a1f21] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 200px;
}
.hero-circle--3[data-v-001a1f21] {
  width: 80px;
  height: 80px;
  top: 20px;
  right: 400px;
}
.hero-line[data-v-001a1f21] {
  position: absolute;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-001a1f21] {
  width: 300px;
  height: 1px;
  top: 30px;
  right: 100px;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-001a1f21] {
  width: 200px;
  height: 1px;
  bottom: 40px;
  right: 350px;
  transform: rotate(10deg);
}
.hero-dot[data-v-001a1f21] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.18);
}
.hero-dot--1[data-v-001a1f21] {
  top: 60px;
  right: 300px;
}
.hero-dot--2[data-v-001a1f21] {
  bottom: 50px;
  right: 150px;
}
.hero-dot--3[data-v-001a1f21] {
  top: 80px;
  right: 500px;
}
.hero-content[data-v-001a1f21] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-001a1f21] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.hero-title[data-v-001a1f21] {
  color: #fff;
  font-size: 26px;
  font-weight: 700;
  margin: 0;
  line-height: 1.3;
}
.hero-desc[data-v-001a1f21] {
  color: rgba(255, 255, 255, 0.85);
  font-size: 14px;
  margin: 0;
}
.hero-stats[data-v-001a1f21] {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-top: 16px;
}
.hero-stat[data-v-001a1f21] {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.hero-stat-value[data-v-001a1f21] {
  color: #fff;
  font-size: 22px;
  font-weight: 700;
}
.hero-stat-label[data-v-001a1f21] {
  color: rgba(255, 255, 255, 0.7);
  font-size: 12px;
  margin-top: 4px;
}
.hero-stat-divider[data-v-001a1f21] {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.25);
}
.hero-right[data-v-001a1f21] {
  display: flex;
  gap: 12px;
}
/* ===== Tab Container ===== */
.tab-container[data-v-001a1f21] {
  padding: 0;
}
.platform-tabs[data-v-001a1f21] .ant-tabs-nav {
  margin-bottom: 20px;
}
.platform-tabs[data-v-001a1f21] .ant-tabs-nav::before {
  border-bottom: none;
}
.platform-tabs[data-v-001a1f21] .ant-tabs-tab {
  padding: 10px 20px;
  font-weight: 500;
  font-size: 14px;
  transition: all 0.2s;
}
.platform-tabs[data-v-001a1f21] .ant-tabs-tab:hover {
  color: #3b82f6;
}
.platform-tabs[data-v-001a1f21] .ant-tabs-tab-active .ant-tabs-tab-btn {
  font-weight: 600;
  color: #3b82f6;
}
.platform-tabs[data-v-001a1f21] .ant-tabs-ink-bar {
  background: #3b82f6;
}
/* ===== KPI 统计卡片（对标 Dashboard 毛玻璃风格） ===== */
.stats-row[data-v-001a1f21] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 24px;
}
.stat-card[data-v-001a1f21] {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(245, 247, 250, 0.95));
  backdrop-filter: blur(10px);
  border-radius: var(--radius-xl);
  border: 1px solid var(--color-border-light);
  box-shadow: var(--shadow-xs);
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  overflow: hidden;
  position: relative;
  /* 扫光效果 */
}
.stat-card[data-v-001a1f21]:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  border-color: rgba(59, 130, 246, 0.3);
}
.stat-card[data-v-001a1f21]::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(59, 130, 246, 0.04), transparent);
  transition: left 0.6s ease;
  pointer-events: none;
}
.stat-card[data-v-001a1f21]:hover::before {
  left: 100%;
}
.stat-card-inner[data-v-001a1f21] {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 8px 16px;
}
.stat-card-left[data-v-001a1f21] {
  flex-shrink: 0;
}
.stat-icon-wrapper[data-v-001a1f21] {
  width: 48px;
  height: 48px;
  border-radius: var(--radius-xl);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s;
}
.stat-icon-wrapper .stat-icon[data-v-001a1f21] {
  font-size: 22px;
  color: #fff;
}
.stat-card:hover .stat-icon-wrapper[data-v-001a1f21] {
  transform: scale(1.05);
}
.stat-card--primary .stat-icon-wrapper[data-v-001a1f21] {
  background: linear-gradient(135deg, #3b82f6, #60a5fa);
  box-shadow: 0 4px 14px rgba(59, 130, 246, 0.3);
}
.stat-card--success .stat-icon-wrapper[data-v-001a1f21] {
  background: linear-gradient(135deg, #10b981, #34d399);
  box-shadow: 0 4px 14px rgba(16, 185, 129, 0.3);
}
.stat-card--purple .stat-icon-wrapper[data-v-001a1f21] {
  background: linear-gradient(135deg, #8b5cf6, #a78bfa);
  box-shadow: 0 4px 14px rgba(139, 92, 246, 0.3);
}
.stat-card--warning .stat-icon-wrapper[data-v-001a1f21] {
  background: linear-gradient(135deg, #f59e0b, #fbbf24);
  box-shadow: 0 4px 14px rgba(245, 158, 11, 0.3);
}
.stat-card-right[data-v-001a1f21] {
  flex: 1;
  min-width: 0;
}
.stat-card-header[data-v-001a1f21] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
}
.stat-label[data-v-001a1f21] {
  font-size: 13px;
  color: rgba(0, 0, 0, 0.45);
  font-weight: 500;
}
.stat-trend[data-v-001a1f21] {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  font-size: 12px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 10px;
}
.stat-trend.trend-up[data-v-001a1f21] {
  color: #10b981;
  background: #ecfdf5;
}
.stat-trend.trend-down[data-v-001a1f21] {
  color: #ef4444;
  background: #fef2f2;
}
.stat-trend.trend-flat[data-v-001a1f21] {
  color: rgba(0, 0, 0, 0.25);
  background: #f5f5f5;
}
.stat-value[data-v-001a1f21] {
  font-size: 28px;
  font-weight: 700;
  color: rgba(0, 0, 0, 0.88);
  line-height: 1.2;
  letter-spacing: -0.5px;
}
.stat-compare[data-v-001a1f21] {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.25);
  margin-top: 2px;
}
.stat-compare strong[data-v-001a1f21] {
  color: rgba(0, 0, 0, 0.45);
  font-weight: 600;
}
/* ===== Section Header ===== */
.section-header[data-v-001a1f21] {
  margin-bottom: 16px;
}
.section-title[data-v-001a1f21] {
  font-size: 16px;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.88);
  margin: 0 0 4px;
}
.section-desc[data-v-001a1f21] {
  font-size: 13px;
  color: rgba(0, 0, 0, 0.45);
}
/* ===== 数据源卡片（对标 AI Platform 模块卡片） ===== */
.source-grid[data-v-001a1f21] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.source-card[data-v-001a1f21] {
  background: var(--color-bg-container);
  border-radius: var(--radius-xl);
  border: 1px solid var(--color-border-light);
  box-shadow: var(--shadow-xs);
  padding: 20px;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
  /* 左侧彩色指示条 */
}
.source-card[data-v-001a1f21]::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: var(--module-color);
  border-radius: 0 4px 4px 0;
  opacity: 0;
  transition: opacity 0.3s;
}
.source-card[data-v-001a1f21]:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  border-color: var(--module-color);
}
.source-card[data-v-001a1f21]:hover::before {
  opacity: 1;
}
.source-card-top[data-v-001a1f21] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 12px;
}
.source-icon-wrapper[data-v-001a1f21] {
  width: 44px;
  height: 44px;
  border-radius: var(--radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all 0.3s;
}
.source-icon-wrapper .source-icon[data-v-001a1f21] {
  font-size: 22px;
}
.source-card:hover .source-icon-wrapper[data-v-001a1f21] {
  transform: scale(1.05);
}
.source-card-status[data-v-001a1f21] {
  display: flex;
  align-items: center;
  gap: 6px;
}
.source-status-text[data-v-001a1f21] {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.45);
}
.source-card-body[data-v-001a1f21] {
  margin-bottom: 14px;
}
.source-name[data-v-001a1f21] {
  font-size: 15px;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.88);
  margin-bottom: 6px;
}
.db-type-tag[data-v-001a1f21] {
  font-size: 11px;
  border-radius: 4px;
  font-weight: 500;
}
.source-card-footer[data-v-001a1f21] {
  display: flex;
  align-items: center;
  gap: 16px;
  padding-top: 12px;
  border-top: 1px solid var(--color-border-light);
}
.source-metric[data-v-001a1f21] {
  display: flex;
  align-items: baseline;
  gap: 4px;
}
.source-metric-value[data-v-001a1f21] {
  font-size: 15px;
  font-weight: 700;
  color: rgba(0, 0, 0, 0.88);
}
.source-metric-label[data-v-001a1f21] {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.25);
}
.source-metric--sync[data-v-001a1f21] {
  margin-left: auto;
}
.source-metric--sync .sync-icon[data-v-001a1f21] {
  font-size: 13px;
  color: rgba(0, 0, 0, 0.25);
}
/* ===== Content Card（替代 a-card，统一风格） ===== */
.content-card[data-v-001a1f21] {
  background: var(--color-bg-container);
  border-radius: var(--radius-xl);
  border: 1px solid var(--color-border-light);
  box-shadow: var(--shadow-xs);
  margin-bottom: 16px;
}
.content-card-header[data-v-001a1f21] {
  padding: 16px 20px;
  border-bottom: 1px solid var(--color-border-light);
}
.content-card-header h4[data-v-001a1f21] {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.88);
}
@media (max-width: 768px) {
.content-card-header .content-card-header[data-v-001a1f21] {
    padding: 12px;
}
}
.content-card[data-v-001a1f21] >  .ant-card-body,
.content-card .quality-chart-placeholder[data-v-001a1f21],
.content-card .lineage-placeholder[data-v-001a1f21],
.content-card .rules-list[data-v-001a1f21] {
  padding: 20px;
}
/* ===== 同步任务 ===== */
.sync-header[data-v-001a1f21] {
  margin-bottom: 16px;
}
.sync-table[data-v-001a1f21] {
  background: var(--color-bg-container);
  border-radius: var(--radius-xl);
  border: 1px solid var(--color-border-light);
  box-shadow: var(--shadow-xs);
  overflow: hidden;
}
.sync-table[data-v-001a1f21] .ant-table {
  font-size: 13px;
}
.sync-table[data-v-001a1f21] .ant-table-thead > tr > th {
  background: #fafbfc;
  font-weight: 600;
  font-size: 13px;
  color: rgba(0, 0, 0, 0.65);
}
.cron-code[data-v-001a1f21] {
  background: #f5f7fa;
  padding: 3px 10px;
  border-radius: 6px;
  font-size: 12px;
  color: rgba(0, 0, 0, 0.65);
  font-family: 'SFMono-Regular', Consolas, monospace;
  border: 1px solid var(--color-border-light);
}
.text-muted[data-v-001a1f21] {
  color: rgba(0, 0, 0, 0.25);
}
/* ===== 数据质量 ===== */
.quality-chart-placeholder[data-v-001a1f21] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 300px;
  color: rgba(0, 0, 0, 0.25);
  background: linear-gradient(135deg, #fafbfc, #f5f7fa);
  border-radius: var(--radius-lg);
}
.quality-chart-placeholder .chart-icon[data-v-001a1f21] {
  font-size: 56px;
  color: #e5e7eb;
  margin-bottom: 16px;
}
.quality-chart-placeholder p[data-v-001a1f21] {
  margin: 0;
  font-size: 14px;
}
.rules-list[data-v-001a1f21] {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.rule-item[data-v-001a1f21] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  background: #fafbfc;
  border-radius: var(--radius-lg);
  transition: all 0.25s;
  border: 1px solid transparent;
}
.rule-item[data-v-001a1f21]:hover {
  background: #eff6ff;
  border-color: #bfdbfe;
  transform: translateX(4px);
}
.rule-info[data-v-001a1f21] {
  flex: 1;
  min-width: 0;
}
.rule-name[data-v-001a1f21] {
  font-size: 14px;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.88);
  margin-bottom: 4px;
}
.rule-desc[data-v-001a1f21] {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.25);
}
.rule-score[data-v-001a1f21] {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.5px;
}
.rule-score .score-unit[data-v-001a1f21] {
  font-size: 12px;
  font-weight: 400;
  margin-left: 2px;
  opacity: 0.7;
}
.rule-score.score--high[data-v-001a1f21] {
  color: #10b981;
}
.rule-score.score--medium[data-v-001a1f21] {
  color: #f59e0b;
}
.rule-score.score--low[data-v-001a1f21] {
  color: #ef4444;
}
/* ===== 数据血缘 ===== */
.lineage-placeholder[data-v-001a1f21] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 400px;
  color: rgba(0, 0, 0, 0.25);
  background: linear-gradient(135deg, #fafbfc, #f5f7fa);
  border-radius: var(--radius-lg);
}
.lineage-placeholder .lineage-icon[data-v-001a1f21] {
  font-size: 72px;
  color: #e5e7eb;
  margin-bottom: 16px;
}
.lineage-placeholder .lineage-title[data-v-001a1f21] {
  font-size: 16px;
  color: rgba(0, 0, 0, 0.45);
  margin-bottom: 8px;
  font-weight: 500;
}
.lineage-placeholder .lineage-desc[data-v-001a1f21] {
  font-size: 13px;
  color: rgba(0, 0, 0, 0.25);
}
/* ===== 响应式 ===== */
@media (max-width: 1400px) {
.source-grid[data-v-001a1f21] {
    grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 1200px) {
.stats-row[data-v-001a1f21] {
    grid-template-columns: repeat(2, 1fr);
}
.hero-content[data-v-001a1f21] {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}
}
@media (max-width: 768px) {
.hero-title[data-v-001a1f21] {
    font-size: 20px;
}
.hero-stats[data-v-001a1f21] {
    gap: 16px;
}
.tab-container[data-v-001a1f21] {
    padding: 0 12px 12px;
}
.stats-row[data-v-001a1f21] {
    grid-template-columns: 1fr;
}
.source-grid[data-v-001a1f21] {
    grid-template-columns: 1fr;
}
.stat-value[data-v-001a1f21] {
    font-size: 24px;
}
}
.data-migration-container[data-v-7a5801c3] {
  padding: 16px;
  background: var(--color-bg-layout);
  min-height: calc(100vh - 64px);
}
@media (max-width: 768px) {
.data-migration-container[data-v-7a5801c3] {
    padding: 12px;
}
}
.hero-bg-decoration[data-v-7a5801c3] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-7a5801c3] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-7a5801c3] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-7a5801c3] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-7a5801c3] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-7a5801c3] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-7a5801c3] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-7a5801c3] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-7a5801c3] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-7a5801c3] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-7a5801c3] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-7a5801c3] {
  flex: 1;
}
.hero-title[data-v-7a5801c3] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-7a5801c3] {
  margin: 0 0 16px;
  font-size: 14px;
  opacity: 0.85;
  max-width: 700px;
}
.content-card[data-v-7a5801c3] {
  border-radius: 12px;
  border: none;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease;
}
.content-card[data-v-7a5801c3]:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}
.content-card[data-v-7a5801c3] .ant-card-body {
  padding: 24px;
}
/* Tabs 样式 */
.migration-tabs[data-v-7a5801c3] .ant-tabs-nav {
  margin-bottom: 20px;
}
.migration-tabs[data-v-7a5801c3] .ant-tabs-tab {
  font-size: 15px;
  padding: 12px 20px;
  font-weight: 500;
}
.migration-tabs[data-v-7a5801c3] .ant-tabs-tab:hover {
  color: #1890ff;
}
.migration-tabs[data-v-7a5801c3] .ant-tabs-tab-active .ant-tabs-tab-btn {
  font-weight: 600;
  color: #1890ff;
}
.migration-tabs[data-v-7a5801c3] .ant-tabs-ink-bar {
  height: 3px;
  border-radius: 3px;
  background: #1890ff;
}
/* Tab 面板内容 */
.tab-panel[data-v-7a5801c3] {
  padding: 4px 0;
}
.tab-panel-header[data-v-7a5801c3] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid #f0f0f0;
}
.tab-panel-desc[data-v-7a5801c3] {
  font-size: 14px;
  color: #8c8c8c;
  margin: 0;
}
/* 表格样式 */
.migration-table[data-v-7a5801c3] .ant-table {
  border-radius: 8px;
  overflow: hidden;
}
.migration-table[data-v-7a5801c3] .ant-table-thead > tr > th {
  background: #fafbfc;
  font-weight: 600;
  color: #595959;
  font-size: 13px;
  padding: 14px 16px;
  border-bottom: 1px solid #f0f0f0;
}
.migration-table[data-v-7a5801c3] .ant-table-tbody > tr > td {
  padding: 14px 16px;
  font-size: 14px;
  color: #333;
  border-bottom: 1px solid #f5f5f5;
}
.migration-table[data-v-7a5801c3] .ant-table-tbody > tr:hover > td {
  background: #f8fafd;
}
.migration-table[data-v-7a5801c3] .ant-table-tbody > tr:last-child > td {
  border-bottom: none;
}
.backup-name[data-v-7a5801c3] {
  font-weight: 500;
  color: #1a1a1a;
}
.backup-size[data-v-7a5801c3] {
  color: #8c8c8c;
  font-size: 13px;
}
.danger-link[data-v-7a5801c3] {
  color: #ff4d4f;
}
.danger-link[data-v-7a5801c3]:hover {
  color: #ff7875;
}
/* 上传区域 */
.upload-area[data-v-7a5801c3] {
  padding: 16px 0;
}
@media (max-width: 768px) {
.upload-area[data-v-7a5801c3] {
    padding: 12px;
}
}
.upload-trigger[data-v-7a5801c3] {
  border: 2px dashed #d9d9d9;
  border-radius: 12px;
  padding: 48px 24px;
  text-align: center;
  cursor: pointer;
  transition: all 0.3s ease;
  background: #fafbfc;
}
.upload-trigger[data-v-7a5801c3]:hover {
  border-color: #1890ff;
  background: #f0f7ff;
}
.upload-icon-wrapper[data-v-7a5801c3] {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: linear-gradient(135deg, #1890ff 0%, #096dd9 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px;
}
.upload-icon[data-v-7a5801c3] {
  font-size: 28px;
  color: white;
}
.upload-title[data-v-7a5801c3] {
  font-size: 15px;
  color: #333;
  margin: 0 0 8px;
  font-weight: 500;
}
.upload-hint[data-v-7a5801c3] {
  font-size: 13px;
  color: #8c8c8c;
  margin: 0;
}
/* 空状态 */
.empty-sync-state[data-v-7a5801c3] {
  padding: 48px 0;
  text-align: center;
}
/* 响应式 */
@media (max-width: 768px) {
.data-migration-container[data-v-7a5801c3] {
    padding: 12px;
}
.hero-section[data-v-7a5801c3] {
    flex-direction: column;
    gap: 12px;
}
.hero-title[data-v-7a5801c3] {
    font-size: 22px;
}
.content-card[data-v-7a5801c3] .ant-card-body {
    padding: 16px;
}
.tab-panel-header[data-v-7a5801c3] {
    flex-direction: column;
    gap: 12px;
    align-items: flex-start;
}
.tab-panel-header[data-v-7a5801c3] .ant-btn {
    width: 100%;
}
.migration-tabs[data-v-7a5801c3] .ant-tabs-tab {
    padding: 10px 14px;
    font-size: 14px;
}
.migration-table[data-v-7a5801c3] .ant-table-thead > tr > th,
  .migration-table[data-v-7a5801c3] .ant-table-tbody > tr > td {
    padding: 10px 12px;
    font-size: 13px;
}
.upload-trigger[data-v-7a5801c3] {
    padding: 32px 16px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.data-migration-container[data-v-7a5801c3] {
    padding: 12px;
}
}
@media (max-width: 575px) {
.data-migration-container[data-v-7a5801c3] {
    padding: 12px;
}
.hero-title[data-v-7a5801c3] {
    font-size: 20px;
}
.hero-desc[data-v-7a5801c3] {
    font-size: 13px;
}
.content-card[data-v-7a5801c3] .ant-card-body {
    padding: 12px;
}
.migration-tabs[data-v-7a5801c3] .ant-tabs-tab {
    padding: 8px 10px;
    font-size: 13px;
}
.migration-table[data-v-7a5801c3] .ant-table-thead > tr > th,
  .migration-table[data-v-7a5801c3] .ant-table-tbody > tr > td {
    padding: 8px 10px;
    font-size: 12px;
}
.upload-trigger[data-v-7a5801c3] {
    padding: 24px 12px;
}
.upload-icon-wrapper[data-v-7a5801c3] {
    width: 52px;
    height: 52px;
}
.upload-icon[data-v-7a5801c3] {
    font-size: 22px;
}
.upload-title[data-v-7a5801c3] {
    font-size: 14px;
}
.upload-hint[data-v-7a5801c3] {
    font-size: 12px;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.data-migration-container[data-v-7a5801c3] {
    padding: 12px;
}
}
/* 移动端卡片样式 */
.mobile-cards .mobile-card[data-v-7a5801c3] {
  padding: 12px;
  background: #fff;
  border-radius: 8px;
  margin-bottom: 12px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}
.mobile-cards .mobile-card-header[data-v-7a5801c3] {
  display: flex;
  align-items: center;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #f0f0f0;
}
.mobile-cards .mobile-card-title[data-v-7a5801c3] {
  font-weight: 600;
  font-size: 15px;
  color: #262626;
}
.mobile-cards .mobile-card-content[data-v-7a5801c3] {
  margin-bottom: 12px;
}
.mobile-cards .mobile-card-item[data-v-7a5801c3] {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
  font-size: 13px;
}
.mobile-cards .mobile-card-item .label[data-v-7a5801c3] {
  color: #8c8c8c;
  margin-right: 8px;
  min-width: 70px;
}
.mobile-cards .mobile-card-actions[data-v-7a5801c3] {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding-top: 8px;
  border-top: 1px solid #f0f0f0;
}
.data-link-container[data-v-8b3a2638] {
  padding: 16px;
  background: var(--color-bg-layout);
  min-height: calc(100vh - 64px);
}
@media (max-width: 768px) {
.data-link-container[data-v-8b3a2638] {
    padding: 12px;
}
}
@media (max-width: 768px) {
.data-link-container[data-v-8b3a2638] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.data-link-container[data-v-8b3a2638] {
    padding: 12px;
}
}
.hero-bg-decoration[data-v-8b3a2638] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-8b3a2638] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-8b3a2638] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-8b3a2638] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-8b3a2638] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-8b3a2638] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-8b3a2638] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-8b3a2638] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-8b3a2638] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-8b3a2638] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-8b3a2638] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-8b3a2638] {
  flex: 1;
}
.hero-title[data-v-8b3a2638] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-8b3a2638] {
  margin: 0 0 16px;
  font-size: 14px;
  opacity: 0.85;
  max-width: 700px;
}
.hero-right[data-v-8b3a2638] {
  display: flex;
  gap: 12px;
  align-items: center;
}
.content-card[data-v-8b3a2638] {
  border-radius: 12px;
  border: none;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease;
}
.content-card[data-v-8b3a2638]:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}
.content-card[data-v-8b3a2638] .ant-card-head {
  border-bottom: 1px solid #f0f0f0;
  padding: 0 24px;
  min-height: 56px;
}
.content-card[data-v-8b3a2638] .ant-card-head-title {
  padding: 16px 0;
}
.card-title[data-v-8b3a2638] {
  font-weight: 600;
  font-size: 16px;
  color: #1a1a1a;
}
.card-extra-count[data-v-8b3a2638] {
  font-size: 13px;
  color: #8c8c8c;
}
.content-card[data-v-8b3a2638] .ant-card-body {
  padding: 20px 24px;
}
/* 表格样式 */
.link-table[data-v-8b3a2638] .ant-table {
  border-radius: 8px;
  overflow: hidden;
}
.link-table[data-v-8b3a2638] .ant-table-thead > tr > th {
  background: #fafbfc;
  font-weight: 600;
  color: #595959;
  font-size: 13px;
  padding: 14px 16px;
  border-bottom: 1px solid #f0f0f0;
  white-space: nowrap;
}
.link-table[data-v-8b3a2638] .ant-table-tbody > tr > td {
  padding: 14px 16px;
  font-size: 14px;
  color: #333;
  border-bottom: 1px solid #f5f5f5;
}
.link-table[data-v-8b3a2638] .ant-table-tbody > tr:hover > td {
  background: #f8fafd;
}
.link-table[data-v-8b3a2638] .ant-table-tbody > tr:last-child > td {
  border-bottom: none;
}
.link-table[data-v-8b3a2638] .ant-pagination {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid #f0f0f0;
}
.link-name[data-v-8b3a2638] {
  font-weight: 500;
  color: #1a1a1a;
}
.status-active[data-v-8b3a2638] {
  color: #52c41a;
  font-weight: 500;
}
.status-inactive[data-v-8b3a2638] {
  color: #8c8c8c;
}
.danger-link[data-v-8b3a2638] {
  color: #ff4d4f;
}
.danger-link[data-v-8b3a2638]:hover {
  color: #ff7875;
}
/* 移动端卡片式布局容器 */
.mobile-card-list[data-v-8b3a2638] {
  display: none;
}
.mobile-card[data-v-8b3a2638] {
  background: #fff;
  border-radius: 10px;
  padding: 16px;
  margin-bottom: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
@media (max-width: 768px) {
.mobile-card[data-v-8b3a2638] {
    padding: 12px;
}
}
.mobile-card-header[data-v-8b3a2638] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 12px;
}
.mobile-card-name[data-v-8b3a2638] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  color: #1a1a1a;
  font-size: 15px;
}
.mobile-card-status[data-v-8b3a2638] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.mobile-card-body[data-v-8b3a2638] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  font-size: 13px;
  color: #666;
}
.mobile-card-body-item[data-v-8b3a2638] {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.mobile-card-body-label[data-v-8b3a2638] {
  font-size: 11px;
  color: #999;
}
.mobile-card-body-value[data-v-8b3a2638] {
  color: #333;
}
.mobile-card-body-value.tag[data-v-8b3a2638] {
  display: inline-flex;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 12px;
}
.mobile-card-actions[data-v-8b3a2638] {
  display: flex;
  gap: 8px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #f0f0f0;
}
.mobile-card-action[data-v-8b3a2638] {
  flex: 1;
  text-align: center;
  padding: 8px;
  font-size: 13px;
  color: #1890ff;
  border-radius: 6px;
  background: #f0f5ff;
}
.mobile-card-action.danger[data-v-8b3a2638] {
  color: #ff4d4f;
  background: #fff2f0;
}
/* 响应式 */
@media (max-width: 992px) {
.data-link-container[data-v-8b3a2638] {
    padding: 16px;
}
.hero-title[data-v-8b3a2638] {
    font-size: 22px;
}
.hero-desc[data-v-8b3a2638] {
    font-size: 13px;
}
.link-table[data-v-8b3a2638] .ant-table-thead > tr > th,
  .link-table[data-v-8b3a2638] .ant-table-tbody > tr > td {
    padding: 10px 12px;
    font-size: 13px;
}
}
@media (max-width: 992px) and (max-width: 768px) {
.data-link-container[data-v-8b3a2638] {
    padding: 12px;
}
}
@media (max-width: 992px) and (max-width: 768px) {
.data-link-container[data-v-8b3a2638] {
    padding: 12px;
}
}
@media (max-width: 992px) and (max-width: 768px) and (max-width: 768px) {
.data-link-container[data-v-8b3a2638] {
    padding: 12px;
}
}
@media (max-width: 768px) {
.data-link-container[data-v-8b3a2638] {
    padding: 12px;
}
.hero-section[data-v-8b3a2638] {
    flex-direction: column;
    gap: 16px;
    padding: 16px;
}
.hero-title[data-v-8b3a2638] {
    font-size: 20px;
}
.hero-desc[data-v-8b3a2638] {
    font-size: 12px;
}
.hero-right[data-v-8b3a2638] {
    width: 100%;
    flex-direction: column;
    gap: 10px;
}
.hero-right[data-v-8b3a2638] .ant-input-search {
    width: 100% !important;
}
.hero-right[data-v-8b3a2638] .hero-btn-primary {
    width: 100%;
    justify-content: center;
}
.content-card[data-v-8b3a2638] .ant-card-body {
    padding: 16px;
}
.content-card[data-v-8b3a2638] .ant-card-head {
    padding: 0 16px;
}
.link-table[data-v-8b3a2638] .ant-table {
    font-size: 13px;
}
.link-table[data-v-8b3a2638] .ant-table-thead > tr > th,
  .link-table[data-v-8b3a2638] .ant-table-tbody > tr > td {
    padding: 10px 8px;
    font-size: 12px;
}
.link-table[data-v-8b3a2638] .ant-table-column-title {
    font-size: 11px;
}
.link-table[data-v-8b3a2638] .ant-pagination {
    padding-top: 12px;
}
.link-table[data-v-8b3a2638] .ant-pagination-options {
    display: none;
}
.link-table[data-v-8b3a2638] .ant-space-item {
    margin-bottom: 4px;
}
.link-table[data-v-8b3a2638] .ant-space-item:not(:last-child)::after {
    display: none;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.data-link-container[data-v-8b3a2638] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.data-link-container[data-v-8b3a2638] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) and (max-width: 768px) {
.data-link-container[data-v-8b3a2638] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.hero-section[data-v-8b3a2638] {
    padding: 12px;
}
}
@media (max-width: 575px) {
.data-link-container[data-v-8b3a2638] {
    padding: 8px;
}
.hero-title[data-v-8b3a2638] {
    font-size: 18px;
}
.hero-desc[data-v-8b3a2638] {
    font-size: 12px;
}
.content-card[data-v-8b3a2638] .ant-card-body {
    padding: 12px;
}
.content-card[data-v-8b3a2638] .ant-card-head {
    padding: 0 12px;
}
.card-extra-count[data-v-8b3a2638] {
    display: none;
}
  /* 在小屏手机上隐藏表格，使用卡片式布局 */
.link-table[data-v-8b3a2638] {
    display: none;
}
.mobile-card-list[data-v-8b3a2638] {
    display: block;
    background: #f9f9f9;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.data-link-container[data-v-8b3a2638] {
    padding: 12px;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.data-link-container[data-v-8b3a2638] {
    padding: 12px;
}
}
@media (max-width: 575px) and (max-width: 768px) and (max-width: 768px) {
.data-link-container[data-v-8b3a2638] {
    padding: 12px;
}
}
.data-import-export-page[data-v-3d1a4135] {
  background: var(--color-bg-layout);
  min-height: 100%;
  padding: var(--spacing-4);
}
.hero-bg-decoration[data-v-3d1a4135] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-3d1a4135] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-3d1a4135] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-3d1a4135] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-3d1a4135] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-3d1a4135] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-dot[data-v-3d1a4135] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-3d1a4135] {
  top: 20%;
  right: 25%;
}
.hero-content[data-v-3d1a4135] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-3d1a4135] {
  flex: 1;
}
.hero-title[data-v-3d1a4135] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-3d1a4135] {
  margin: 0 0 16px;
  font-size: 14px;
  opacity: 0.85;
  max-width: 600px;
}
.hero-stats[data-v-3d1a4135] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.hero-stat[data-v-3d1a4135] {
  display: flex;
  flex-direction: column;
}
.hero-stat-value[data-v-3d1a4135] {
  font-size: 22px;
  font-weight: 700;
}
.hero-stat-label[data-v-3d1a4135] {
  font-size: 12px;
  opacity: 0.7;
}
.hero-stat-divider[data-v-3d1a4135] {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.25);
}
.hero-right[data-v-3d1a4135] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
.filter-section[data-v-3d1a4135] {
  background: #fff;
  border-radius: var(--radius-lg);
  padding: 16px 20px;
  margin-bottom: var(--spacing-4);
}
@media (max-width: 768px) {
.filter-section[data-v-3d1a4135] {
    padding: 12px;
}
}
.table-cell-content[data-v-3d1a4135] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.table-cell-title[data-v-3d1a4135] {
  font-weight: 600;
  font-size: 14px;
}
.table-cell-subtitle[data-v-3d1a4135] {
  font-size: 12px;
  color: var(--color-text-tertiary);
}
.filter-actions-col[data-v-3d1a4135] {
  display: flex;
  justify-content: flex-end;
}
/* 移动端卡片视图 */
.mobile-card-list[data-v-3d1a4135] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 16px;
}
.mobile-card[data-v-3d1a4135] {
  background: #fff;
  border-radius: var(--radius-lg);
  padding: 16px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
  cursor: pointer;
  transition: box-shadow 0.3s;
}
.mobile-card[data-v-3d1a4135]:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}
.mobile-card[data-v-3d1a4135]:active {
  background: #f5f5f5;
}
.mobile-card-header[data-v-3d1a4135] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.mobile-card-title[data-v-3d1a4135] {
  font-size: 16px;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.85);
  flex: 1;
  margin-right: 8px;
}
.mobile-card-meta[data-v-3d1a4135] {
  font-size: 13px;
  color: var(--color-text-tertiary);
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--color-border-secondary);
}
.mobile-card-row[data-v-3d1a4135] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  font-size: 13px;
}
.mobile-card-label[data-v-3d1a4135] {
  color: rgba(0, 0, 0, 0.45);
  flex-shrink: 0;
}
.mobile-card-footer[data-v-3d1a4135] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid var(--color-border-secondary);
}
.mobile-card-time[data-v-3d1a4135] {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.35);
}
@media (max-width: 768px) {
.mobile-card-list[data-v-3d1a4135] {
    padding: 0;
}
.mobile-card[data-v-3d1a4135] {
    padding: 14px;
    border-radius: 10px;
}
}
.data-import-export-edit-page[data-v-85d31504] {
  padding: var(--spacing-4);
  min-height: 100%;
  background: var(--color-bg-layout);
}
.highlights-panel[data-v-85d31504] {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  border-radius: var(--radius-xl);
  padding: 24px 32px;
  color: #fff;
  margin-bottom: var(--spacing-4);
  position: relative;
  overflow: hidden;
}
/* 几何图形装饰 */
.highlights-bg-decoration[data-v-85d31504] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-85d31504] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-85d31504] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-85d31504] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-85d31504] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-85d31504] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-85d31504] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-85d31504] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-85d31504] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-85d31504] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-85d31504] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
.highlights-content[data-v-85d31504] {
  display: flex;
  justify-content: space-between;
}
.highlights-left h2[data-v-85d31504] {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: white;
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-meta[data-v-85d31504] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  font-size: 13px;
  opacity: 0.85;
}
.highlights-tag[data-v-85d31504] {
  background: rgba(255, 255, 255, 0.2) !important;
  border: none !important;
  color: #fff !important;
  font-size: 12px;
  padding: 2px 10px;
}
.highlights-right[data-v-85d31504] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-action-btn[data-v-85d31504] {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
}
.highlights-action-btn[data-v-85d31504]:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.5);
}
.form-content[data-v-85d31504] {
  max-width: 1200px;
  padding-bottom: 60px;
}
.fixed-actions[data-v-85d31504] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 12px;
  background: #fff;
  border-top: 1px solid var(--color-border-secondary);
  display: flex;
  justify-content: flex-end;
  z-index: 100;
}
.info-section[data-v-85d31504] {
  margin-bottom: 24px;
  border: 1px solid var(--color-border-secondary);
  border-radius: 10px;
  overflow: hidden;
}
.section-header[data-v-85d31504] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 20px;
  background: var(--color-fill-quaternary);
  border-bottom: 1px solid var(--color-border-secondary);
  font-weight: 600;
  color: var(--color-text-primary);
}
.section-body[data-v-85d31504] {
  padding: 16px 20px;
}
@media (max-width: 768px) {
.section-body[data-v-85d31504] {
    padding: 12px;
}
.section-body .highlights-panel .highlights-bg-decoration[data-v-85d31504] {
    display: none;
}
}

.data-center-layout[data-v-019ccbce] {
  display: flex;
  height: 100%;
  min-height: calc(100vh - 64px);
}
.data-center-layout__sidebar[data-v-019ccbce] {
  width: 220px;
  background: var(--color-bg-container, #fff);
  border-right: 1px solid var(--color-border-secondary, #f0f0f0);
  flex-shrink: 0;
}
.data-center-layout__header[data-v-019ccbce] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--color-border-secondary, #f0f0f0);
}
.data-center-layout__icon[data-v-019ccbce] {
  font-size: 18px;
  color: #1890ff;
}
.data-center-layout__title[data-v-019ccbce] {
  font-size: 15px;
  font-weight: 600;
  color: var(--color-text-primary, #1f1f1f);
}
.data-center-layout__content[data-v-019ccbce] {
  flex: 1;
  overflow: auto;
  background: var(--color-fill-quaternary, #fafafa);
}
@media (max-width: 768px) {
.data-center-layout[data-v-019ccbce] {
    flex-direction: column;
}
.data-center-layout__sidebar[data-v-019ccbce] {
    width: 100%;
    border-right: none;
    border-bottom: 1px solid var(--color-border-secondary, #f0f0f0);
}
}
.data-asset-page[data-v-ea700d4c] {
  padding: 16px;
}
@media (max-width: 768px) {
.data-asset-page[data-v-ea700d4c] {
    padding: 12px;
}
}
/* ==================== Hero Section ==================== */
.hero-bg-decoration[data-v-ea700d4c] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-ea700d4c] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-ea700d4c] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-ea700d4c] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-ea700d4c] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-ea700d4c] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-ea700d4c] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-ea700d4c] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-ea700d4c] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-ea700d4c] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-ea700d4c] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-ea700d4c] {
  flex: 1;
}
.hero-title[data-v-ea700d4c] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-ea700d4c] {
  margin: 0 0 16px;
  font-size: 14px;
  opacity: 0.85;
  max-width: 700px;
}
.hero-stats[data-v-ea700d4c] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.hero-stat[data-v-ea700d4c] {
  display: flex;
  flex-direction: column;
}
.hero-stat-value[data-v-ea700d4c] {
  font-size: 22px;
  font-weight: 700;
}
.hero-stat-label[data-v-ea700d4c] {
  font-size: 12px;
  opacity: 0.7;
}
.hero-stat-divider[data-v-ea700d4c] {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.25);
}
/* ==================== Filter Bar ==================== */
.filter-bar[data-v-ea700d4c] {
  background: #fff;
  border-radius: 12px;
  padding: 20px 24px;
  margin-bottom: var(--spacing-4);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
@media (max-width: 768px) {
.filter-bar[data-v-ea700d4c] {
    padding: 12px;
}
}
.filter-bar-inner[data-v-ea700d4c] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.filter-left[data-v-ea700d4c] {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  flex: 1;
}
.filter-right[data-v-ea700d4c] {
  flex-shrink: 0;
}
.filter-search[data-v-ea700d4c] {
  width: 280px;
}
.filter-select[data-v-ea700d4c] {
  width: 150px;
}
.filter-select-sort[data-v-ea700d4c] {
  width: 170px;
}
/* ==================== Stats Grid ==================== */
.stats-grid[data-v-ea700d4c] {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
  margin-bottom: var(--spacing-4);
}
.stat-card[data-v-ea700d4c] {
  background: #fff;
  border-radius: 12px;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 12px 16px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  transition: transform 0.2s, box-shadow 0.2s;
}
.stat-card[data-v-ea700d4c]:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}
.stat-card-icon[data-v-ea700d4c] {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
  color: #fff;
  transition: all 0.3s ease;
}
.stat-card-icon[data-v-ea700d4c]::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.3), transparent);
  transform: rotate(45deg);
  animation: shimmer-ea700d4c 3s infinite;
}
@keyframes shimmer-ea700d4c {
0% {
    transform: translateX(-100%) translateY(-100%) rotate(45deg);
}
100% {
    transform: translateX(100%) translateY(100%) rotate(45deg);
}
}
.stat-card:hover .stat-card-icon[data-v-ea700d4c] {
  transform: scale(1.05);
}
.stat-card--table .stat-card-icon[data-v-ea700d4c] {
  background: linear-gradient(135deg, var(--color-primary-500, #3b82f6) 0%, var(--color-primary-400, #60a5fa) 100%);
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
}
.stat-card--api .stat-card-icon[data-v-ea700d4c] {
  background: linear-gradient(135deg, var(--color-success-500, #10b981) 0%, var(--color-success-400, #34d399) 100%);
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);
}
.stat-card--report .stat-card-icon[data-v-ea700d4c] {
  background: linear-gradient(135deg, var(--color-warning-500, #f59e0b) 0%, var(--color-warning-400, #fbbf24) 100%);
  box-shadow: 0 4px 12px rgba(245, 158, 11, 0.3);
}
.stat-card--metric .stat-card-icon[data-v-ea700d4c] {
  background: linear-gradient(135deg, #8b5cf6 0%, #a78bfa 100%);
  box-shadow: 0 4px 12px rgba(139, 92, 246, 0.3);
}
.stat-card--dimension .stat-card-icon[data-v-ea700d4c] {
  background: linear-gradient(135deg, var(--color-info-500, #3dbbae) 0%, var(--color-info-400, #5ed4c8) 100%);
  box-shadow: 0 4px 12px rgba(61, 187, 174, 0.3);
}
.stat-card-content[data-v-ea700d4c] {
  display: flex;
  flex-direction: column;
}
.stat-card-value[data-v-ea700d4c] {
  font-size: 24px;
  font-weight: 700;
  color: var(--color-text-primary);
  line-height: 1.2;
}
.stat-card-label[data-v-ea700d4c] {
  font-size: 13px;
  color: var(--color-text-secondary);
  margin-top: 2px;
}
/* ==================== Chart Card ==================== */
.chart-card[data-v-ea700d4c] {
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  margin-bottom: var(--spacing-4);
}
.chart-card-header[data-v-ea700d4c] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}
.chart-card-title[data-v-ea700d4c] {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: var(--color-text-primary);
}
.chart-row[data-v-ea700d4c] {
  display: flex;
  gap: 24px;
}
.pie-chart[data-v-ea700d4c] {
  width: 100%;
  height: 320px;
}
/* ==================== Asset Section ==================== */
.asset-section[data-v-ea700d4c] {
  background: #fff;
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
@media (max-width: 768px) {
.asset-section[data-v-ea700d4c] {
    padding: 12px;
}
}
.section-title[data-v-ea700d4c] {
  margin: 0 0 20px;
  font-size: 16px;
  font-weight: 600;
  color: var(--color-text-primary);
}
.asset-grid[data-v-ea700d4c] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  gap: 16px;
}
.asset-empty[data-v-ea700d4c] {
  padding: 60px 0;
}
/* ==================== Asset Card ==================== */
.asset-card[data-v-ea700d4c] {
  background: #fafafa;
  border: 1px solid var(--color-border-secondary);
  border-radius: 12px;
  padding: 20px;
  cursor: pointer;
  transition: all 0.2s;
}
@media (max-width: 768px) {
.asset-card[data-v-ea700d4c] {
    padding: 12px;
}
}
.asset-card[data-v-ea700d4c]:hover {
  border-color: var(--color-primary-300, #93c5fd);
  box-shadow: 0 4px 12px rgba(22, 119, 255, 0.1);
  transform: translateY(-1px);
}
.asset-card-header[data-v-ea700d4c] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.asset-card-type-icon[data-v-ea700d4c] {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
  color: #fff;
  transition: all 0.3s ease;
}
.asset-card-type-icon[data-v-ea700d4c]::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.3), transparent);
  transform: rotate(45deg);
  animation: shimmer-ea700d4c 3s infinite;
}
.asset-card:hover .asset-card-type-icon[data-v-ea700d4c] {
  transform: scale(1.05);
}
.asset-card-type-icon--table[data-v-ea700d4c] {
  background: linear-gradient(135deg, var(--color-primary-500, #3b82f6) 0%, var(--color-primary-400, #60a5fa) 100%);
  box-shadow: 0 3px 8px rgba(59, 130, 246, 0.3);
}
.asset-card-type-icon--api[data-v-ea700d4c] {
  background: linear-gradient(135deg, var(--color-success-500, #10b981) 0%, var(--color-success-400, #34d399) 100%);
  box-shadow: 0 3px 8px rgba(16, 185, 129, 0.3);
}
.asset-card-type-icon--report[data-v-ea700d4c] {
  background: linear-gradient(135deg, var(--color-warning-500, #f59e0b) 0%, var(--color-warning-400, #fbbf24) 100%);
  box-shadow: 0 3px 8px rgba(245, 158, 11, 0.3);
}
.asset-card-type-icon--metric[data-v-ea700d4c] {
  background: linear-gradient(135deg, #8b5cf6 0%, #a78bfa 100%);
  box-shadow: 0 3px 8px rgba(139, 92, 246, 0.3);
}
.asset-card-type-icon--dimension[data-v-ea700d4c] {
  background: linear-gradient(135deg, var(--color-info-500, #3dbbae) 0%, var(--color-info-400, #5ed4c8) 100%);
  box-shadow: 0 3px 8px rgba(61, 187, 174, 0.3);
}
.asset-card-header-info[data-v-ea700d4c] {
  flex: 1;
  min-width: 0;
}
.asset-card-name[data-v-ea700d4c] {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  color: var(--color-text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.asset-card-code[data-v-ea700d4c] {
  font-size: 12px;
  color: var(--color-text-tertiary);
}
.asset-card-favorite[data-v-ea700d4c] {
  flex-shrink: 0;
  font-size: 16px;
}
.asset-card-desc[data-v-ea700d4c] {
  margin: 0 0 12px;
  font-size: 13px;
  color: var(--color-text-secondary);
  line-height: 1.6;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.asset-card-tags[data-v-ea700d4c] {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 12px;
}
.asset-card-footer[data-v-ea700d4c] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid var(--color-border-secondary);
  padding-top: 12px;
}
.asset-card-meta[data-v-ea700d4c] {
  display: flex;
  gap: 16px;
}
.asset-card-meta-item[data-v-ea700d4c] {
  font-size: 12px;
  color: var(--color-text-tertiary);
  display: flex;
  align-items: center;
  gap: 4px;
}
/* ==================== Detail Drawer ==================== */
.detail-section-title[data-v-ea700d4c] {
  margin: 0 0 12px;
  font-size: 15px;
  font-weight: 600;
  color: var(--color-text-primary);
}
.detail-descriptions[data-v-ea700d4c] {
  margin-bottom: 16px;
}
.detail-desc-text[data-v-ea700d4c] {
  font-size: 14px;
  color: var(--color-text-secondary);
  line-height: 1.8;
  margin: 0;
}
/* ==================== Lineage Section ==================== */
.lineage-section[data-v-ea700d4c] {
  background: #fafafa;
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 16px;
}
@media (max-width: 768px) {
.lineage-section[data-v-ea700d4c] {
    padding: 12px;
}
}
.lineage-group[data-v-ea700d4c] {
  margin-bottom: 12px;
}
.lineage-group[data-v-ea700d4c]:last-child {
  margin-bottom: 0;
}
.lineage-group-title[data-v-ea700d4c] {
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--color-text-secondary);
}
.lineage-nodes[data-v-ea700d4c] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.lineage-tag[data-v-ea700d4c] {
  font-size: 13px;
  padding: 4px 10px;
  cursor: pointer;
}
.lineage-empty[data-v-ea700d4c] {
  font-size: 13px;
  color: var(--color-text-tertiary);
}
/* ==================== Related Assets ==================== */
.related-assets[data-v-ea700d4c] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.related-asset-item[data-v-ea700d4c] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  background: #fafafa;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.2s;
}
.related-asset-item[data-v-ea700d4c]:hover {
  background: #f0f5ff;
}
.related-asset-icon[data-v-ea700d4c] {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  flex-shrink: 0;
}
.related-asset-info[data-v-ea700d4c] {
  display: flex;
  flex-direction: column;
}
.related-asset-name[data-v-ea700d4c] {
  font-size: 14px;
  font-weight: 500;
  color: var(--color-text-primary);
}
.related-asset-code[data-v-ea700d4c] {
  font-size: 12px;
  color: var(--color-text-tertiary);
}
/* ==================== Responsive ==================== */
@media (max-width: 1200px) {
.stats-grid[data-v-ea700d4c] {
    grid-template-columns: repeat(3, 1fr);
}
}
@media (max-width: 768px) {
.data-asset-page[data-v-ea700d4c] {
    padding: 12px;
}
.hero-title[data-v-ea700d4c] {
    font-size: 22px;
}
.hero-desc[data-v-ea700d4c] {
    font-size: 13px;
}
.hero-stat-value[data-v-ea700d4c] {
    font-size: 20px;
}
.hero-stat-label[data-v-ea700d4c] {
    font-size: 12px;
}
.stats-grid[data-v-ea700d4c] {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}
.stat-card-icon[data-v-ea700d4c] {
    width: 40px;
    height: 40px;
    font-size: 18px;
}
.stat-card-value[data-v-ea700d4c] {
    font-size: 20px;
}
.filter-bar[data-v-ea700d4c] {
    padding: 12px;
}
.filter-bar-inner[data-v-ea700d4c] {
    flex-direction: column;
    align-items: stretch;
}
.filter-left[data-v-ea700d4c] {
    flex-direction: column;
}
.filter-search[data-v-ea700d4c],
  .filter-select[data-v-ea700d4c],
  .filter-select-sort[data-v-ea700d4c] {
    width: 100%;
}
.asset-grid[data-v-ea700d4c] {
    grid-template-columns: 1fr;
}
.asset-card[data-v-ea700d4c] {
    padding: 16px;
}
.asset-section[data-v-ea700d4c] {
    padding: 16px;
}
.hero-content[data-v-ea700d4c] {
    flex-direction: column;
    align-items: flex-start;
}
.hero-stats[data-v-ea700d4c] {
    flex-wrap: wrap;
    gap: 12px;
}
.hero-stat[data-v-ea700d4c] {
    flex: 1;
    min-width: calc(33.33% - 8px);
    text-align: center;
}
.hero-stat-divider[data-v-ea700d4c] {
    display: none;
}
.pie-chart[data-v-ea700d4c] {
    height: 240px;
}
.asset-card-meta[data-v-ea700d4c] {
    flex-wrap: wrap;
    gap: 8px;
}
[data-v-ea700d4c] .ant-btn {
    min-height: 44px;
}
[data-v-ea700d4c] .ant-input,[data-v-ea700d4c] .ant-select-selector {
    height: 44px !important;
    font-size: 14px !important;
}
[data-v-ea700d4c] .ant-drawer {
    width: 100% !important;
    max-width: 100vw !important;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.asset-card[data-v-ea700d4c] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.asset-section[data-v-ea700d4c] {
    padding: 12px;
}
}
.data-source-page[data-v-8baabf84] {
  background: var(--color-bg-layout);
  min-height: 100%;
  padding: var(--spacing-4);
}
.data-source-page[data-v-8baabf84] .responsive-table-container {
  padding: 0;
}
.hero-bg-decoration[data-v-8baabf84] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-8baabf84] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-8baabf84] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-8baabf84] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-8baabf84] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-8baabf84] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-8baabf84] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-8baabf84] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-8baabf84] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-8baabf84] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-8baabf84] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-8baabf84] {
  flex: 1;
}
.hero-title[data-v-8baabf84] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-8baabf84] {
  margin: 0 0 16px;
  font-size: 14px;
  opacity: 0.85;
  max-width: 600px;
}
.hero-stats[data-v-8baabf84] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.hero-stat[data-v-8baabf84] {
  display: flex;
  flex-direction: column;
}
.hero-stat-value[data-v-8baabf84] {
  font-size: 22px;
  font-weight: 700;
}
.hero-stat-label[data-v-8baabf84] {
  font-size: 12px;
  opacity: 0.7;
}
.hero-stat-divider[data-v-8baabf84] {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.25);
}
.hero-right[data-v-8baabf84] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
.table-cell-content[data-v-8baabf84] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.table-cell-title[data-v-8baabf84] {
  font-weight: 600;
  font-size: 15px;
  color: var(--color-text-primary);
  cursor: pointer;
  display: inline-block;
  transition: color 0.2s;
}
.table-cell-title[data-v-8baabf84]:hover {
  color: #1677ff;
}
.table-cell-subtitle[data-v-8baabf84] {
  font-size: 13px;
  color: var(--color-text-tertiary);
  line-height: 1.5;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 400px;
}
.status-tag[data-v-8baabf84] {
  font-weight: 500;
  font-size: 12px;
  padding: 2px 8px;
  border-radius: var(--radius-sm);
}
@media (max-width: 991px) {
.hero-content[data-v-8baabf84] {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}
.hero-stats[data-v-8baabf84] {
    gap: 12px;
}
.hero-stat-value[data-v-8baabf84] {
    font-size: 18px;
}
}
@media (max-width: 575px) {
.hero-title[data-v-8baabf84] {
    font-size: 20px;
}
.hero-right[data-v-8baabf84] {
    width: 100%;
}
}
.filter-actions-col[data-v-8baabf84] {
  display: flex;
  justify-content: flex-end;
}
.data-lineage-page[data-v-72d20f3a] {
  background: var(--color-bg-layout);
  min-height: 100%;
  padding: var(--spacing-4);
}
.data-lineage-page[data-v-72d20f3a] .responsive-table-container {
  padding: 0;
}
.hero-bg-decoration[data-v-72d20f3a] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-72d20f3a] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-72d20f3a] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-72d20f3a] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-72d20f3a] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-72d20f3a] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-72d20f3a] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-72d20f3a] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-72d20f3a] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-72d20f3a] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-72d20f3a] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-72d20f3a] {
  flex: 1;
}
.hero-title[data-v-72d20f3a] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-72d20f3a] {
  margin: 0 0 16px;
  font-size: 14px;
  opacity: 0.85;
  max-width: 600px;
}
.hero-stats[data-v-72d20f3a] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.hero-stat[data-v-72d20f3a] {
  display: flex;
  flex-direction: column;
}
.hero-stat-value[data-v-72d20f3a] {
  font-size: 22px;
  font-weight: 700;
}
.hero-stat-label[data-v-72d20f3a] {
  font-size: 12px;
  opacity: 0.7;
}
.hero-stat-divider[data-v-72d20f3a] {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.25);
}
.hero-right[data-v-72d20f3a] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
/* Table cells */
.table-cell-content[data-v-72d20f3a] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.table-cell-title[data-v-72d20f3a] {
  font-weight: 600;
  font-size: 15px;
  color: var(--color-text-primary);
  cursor: pointer;
  display: inline-block;
  transition: color 0.2s;
}
.table-cell-title[data-v-72d20f3a]:hover {
  color: #1677ff;
}
.table-cell-subtitle[data-v-72d20f3a] {
  font-size: 13px;
  color: var(--color-text-tertiary);
  line-height: 1.5;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 400px;
}
.status-tag[data-v-72d20f3a] {
  font-weight: 500;
  font-size: 12px;
  padding: 2px 8px;
  border-radius: var(--radius-sm);
}
@media (max-width: 991px) {
.hero-content[data-v-72d20f3a] {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}
.hero-stats[data-v-72d20f3a] {
    gap: 12px;
}
.hero-stat-value[data-v-72d20f3a] {
    font-size: 18px;
}
}
@media (max-width: 575px) {
.hero-title[data-v-72d20f3a] {
    font-size: 20px;
}
.hero-right[data-v-72d20f3a] {
    width: 100%;
}
}
.filter-actions-col[data-v-72d20f3a] {
  display: flex;
  justify-content: flex-end;
}
.data-quality-page[data-v-e8220a1a] {
  padding: 16px;
}
@media (max-width: 768px) {
.data-quality-page[data-v-e8220a1a] {
    padding: 12px;
}
}
/* ==================== Hero Section ==================== */
.hero-bg-decoration[data-v-e8220a1a] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-e8220a1a] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-e8220a1a] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-e8220a1a] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-e8220a1a] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-e8220a1a] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-e8220a1a] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-e8220a1a] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-e8220a1a] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-e8220a1a] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-e8220a1a] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-e8220a1a] {
  flex: 1;
}
.hero-title[data-v-e8220a1a] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-e8220a1a] {
  margin: 0 0 16px;
  font-size: 14px;
  opacity: 0.85;
  max-width: 600px;
}
.hero-stats[data-v-e8220a1a] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.hero-stat[data-v-e8220a1a] {
  display: flex;
  flex-direction: column;
}
.hero-stat-value[data-v-e8220a1a] {
  font-size: 22px;
  font-weight: 700;
}
.hero-stat-label[data-v-e8220a1a] {
  font-size: 12px;
  opacity: 0.7;
}
.hero-stat-divider[data-v-e8220a1a] {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.25);
}
.hero-right[data-v-e8220a1a] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
/* ==================== Chart Card ==================== */
.chart-card[data-v-e8220a1a] {
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  margin-bottom: var(--spacing-4);
}
.chart-card-header[data-v-e8220a1a] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}
.chart-card-title[data-v-e8220a1a] {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: var(--color-text-primary);
}
.chart-card-subtitle[data-v-e8220a1a] {
  font-size: 13px;
  color: var(--color-text-secondary);
}
.trend-chart[data-v-e8220a1a] {
  width: 100%;
  height: 320px;
}
/* ==================== Filter Bar ==================== */
.filter-bar[data-v-e8220a1a] {
  background: #fff;
  border-radius: 12px;
  padding: 20px 24px;
  margin-bottom: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.filter-bar-inner[data-v-e8220a1a] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.filter-left[data-v-e8220a1a] {
  display: flex;
  gap: 12px;
  flex: 1;
}
.filter-search[data-v-e8220a1a] {
  width: 280px;
}
.filter-select[data-v-e8220a1a] {
  width: 160px;
}
.filter-right[data-v-e8220a1a] {
  flex-shrink: 0;
}
/* ==================== Table Card ==================== */
.table-card[data-v-e8220a1a] {
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.table-card[data-v-e8220a1a] .ant-card-body {
  padding: 0;
}
.card-pagination[data-v-e8220a1a] {
  display: flex;
  justify-content: flex-end;
  padding: 16px 24px;
}
@media (max-width: 768px) {
.card-pagination[data-v-e8220a1a] {
    padding: 12px;
}
}
@media (max-width: 768px) {
.data-quality-page[data-v-e8220a1a] {
    padding: 12px;
}
.hero-content[data-v-e8220a1a] {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}
.hero-title[data-v-e8220a1a] {
    font-size: 20px !important;
}
.hero-desc[data-v-e8220a1a] {
    font-size: 13px !important;
}
.hero-stats[data-v-e8220a1a] {
    flex-wrap: wrap;
    gap: 12px !important;
}
.hero-stat-value[data-v-e8220a1a] {
    font-size: 18px !important;
}
.hero-stat-label[data-v-e8220a1a] {
    font-size: 11px !important;
}
.hero-right[data-v-e8220a1a] {
    width: 100%;
    flex-wrap: wrap;
}
.hero-btn-primary[data-v-e8220a1a],
  .hero-btn-default[data-v-e8220a1a] {
    flex: 1;
    min-width: calc(50% - 6px);
    justify-content: center;
}
.filter-bar[data-v-e8220a1a] {
    padding: 12px 16px;
}
.filter-bar-inner[data-v-e8220a1a] {
    flex-direction: column;
    align-items: stretch;
}
.filter-left[data-v-e8220a1a] {
    flex-direction: column;
}
.filter-search[data-v-e8220a1a] {
    width: 100%;
}
.filter-select[data-v-e8220a1a] {
    width: 100%;
}
.trend-chart[data-v-e8220a1a] {
    height: 240px !important;
}
[data-v-e8220a1a] .ant-table {
    font-size: 13px;
}
[data-v-e8220a1a] .ant-table-thead > tr > th {
    padding: 8px 12px;
    font-size: 12px;
}
[data-v-e8220a1a] .ant-table-tbody > tr > td {
    padding: 10px 12px;
}
[data-v-e8220a1a] .ant-btn {
    min-height: 44px;
    min-width: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
}
[data-v-e8220a1a] .ant-input,[data-v-e8220a1a] .ant-select-selector {
    height: 44px !important;
    font-size: 14px !important;
}
[data-v-e8220a1a] .ant-switch {
    min-width: 44px;
    height: 24px;
}
[data-v-e8220a1a] .ant-modal {
    max-width: 100vw !important;
    margin: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 100vh !important;
}
[data-v-e8220a1a] .ant-modal-content {
    border-radius: 0 !important;
    display: flex;
    flex-direction: column;
    padding: 0 !important;
}
[data-v-e8220a1a] .ant-modal-body {
    flex: 1;
    overflow-y: auto;
    padding: 16px !important;
}
[data-v-e8220a1a] .ant-modal-header {
    padding: 16px !important;
}
[data-v-e8220a1a] .ant-modal-footer {
    padding: 12px 16px !important;
}
[data-v-e8220a1a] .ant-drawer {
    width: 100% !important;
    max-width: 100vw !important;
}
.card-pagination[data-v-e8220a1a] {
    justify-content: center;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.data-quality-page[data-v-e8220a1a] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.card-pagination[data-v-e8220a1a] {
    padding: 12px;
}
}
/* ==================== 移动端卡片样式 ==================== */
.mobile-card-list[data-v-e8220a1a] {
  display: none;
}
@media (max-width: 768px) {
.mobile-card-list[data-v-e8220a1a] {
    display: block;
    padding: 0;
    margin: 0;
}
.mobile-card[data-v-e8220a1a] {
    background: #fff;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.mobile-card__header[data-v-e8220a1a] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 12px;
}
.mobile-card__title[data-v-e8220a1a] {
    font-size: 15px;
    font-weight: 600;
    color: #1a1a1a;
    flex: 1;
    margin-right: 8px;
    word-break: break-word;
}
.mobile-card__body[data-v-e8220a1a] {
    margin-bottom: 12px;
}
.mobile-card__field[data-v-e8220a1a] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 0;
    border-bottom: 1px solid #f5f5f5;
}
.mobile-card__field[data-v-e8220a1a]:last-child {
    border-bottom: none;
}
.mobile-card__field-label[data-v-e8220a1a] {
    font-size: 13px;
    color: #8c8c8c;
}
.mobile-card__field-value[data-v-e8220a1a] {
    font-size: 13px;
    color: #333;
    text-align: right;
}
.mobile-card__footer[data-v-e8220a1a] {
    padding-top: 8px;
    border-top: 1px solid #f0f0f0;
}
.mobile-card__footer[data-v-e8220a1a] .ant-btn {
    min-height: auto;
    min-width: auto;
}
}
.data-security-page[data-v-5b15c3a1] {
  padding: 12px;
  background: #f0f2f5;
}
.hero-bg-decoration[data-v-5b15c3a1] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
}
.hero-circle[data-v-5b15c3a1] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-5b15c3a1] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-5b15c3a1] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-5b15c3a1] {
  position: absolute;
  background: rgba(255, 255, 255, 0.06);
}
.hero-line--1[data-v-5b15c3a1] {
  width: 300px;
  height: 1px;
  top: 30px;
  right: 100px;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-5b15c3a1] {
  width: 200px;
  height: 1px;
  bottom: 40px;
  right: 50px;
  transform: rotate(20deg);
}
.hero-dot[data-v-5b15c3a1] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-5b15c3a1] {
  top: 50px;
  right: 300px;
}
.hero-dot--2[data-v-5b15c3a1] {
  bottom: 60px;
  right: 150px;
}
.hero-content[data-v-5b15c3a1] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  z-index: 1;
}
.hero-title[data-v-5b15c3a1] {
  color: #fff;
  font-size: 28px;
  font-weight: 700;
  margin: 0 0 8px 0;
}
.hero-desc[data-v-5b15c3a1] {
  color: rgba(255, 255, 255, 0.85);
  font-size: 14px;
  margin: 0 0 24px 0;
}
.hero-stats[data-v-5b15c3a1] {
  display: flex;
  gap: 24px;
}
.hero-stat[data-v-5b15c3a1] {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.hero-stat-value[data-v-5b15c3a1] {
  color: #fff;
  font-size: 24px;
  font-weight: 700;
}
.hero-stat-label[data-v-5b15c3a1] {
  color: rgba(255, 255, 255, 0.75);
  font-size: 12px;
  margin-top: 4px;
}
.hero-stat-divider[data-v-5b15c3a1] {
  width: 1px;
  height: 40px;
  background: rgba(255, 255, 255, 0.2);
}
.hero-right[data-v-5b15c3a1] {
  display: flex;
  gap: 12px;
}
.chart-card[data-v-5b15c3a1] {
  margin-bottom: 12px;
  border-radius: 8px;
}
.chart-card-header[data-v-5b15c3a1] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}
.chart-card-title[data-v-5b15c3a1] {
  font-size: 16px;
  font-weight: 600;
  margin: 0;
}
.level-chart[data-v-5b15c3a1] {
  height: 350px;
}
.table-card[data-v-5b15c3a1] {
  margin-bottom: 12px;
  border-radius: 8px;
}
.card-header[data-v-5b15c3a1] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}
.card-header-actions[data-v-5b15c3a1] {
  display: flex;
  gap: 12px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}
.card-title[data-v-5b15c3a1] {
  font-size: 16px;
  font-weight: 600;
  margin: 0;
}
.card-pagination[data-v-5b15c3a1] .ant-pagination {
  display: flex;
  justify-content: flex-end;
  margin-top: 16px;
}
/* Compliance report modal styles */
.report-score-section[data-v-5b15c3a1] {
  text-align: center;
  padding: 24px 0 16px 0;
}
.report-score-number[data-v-5b15c3a1] {
  font-size: 56px;
  font-weight: 700;
  color: #1890ff;
  line-height: 1;
}
.report-score-label[data-v-5b15c3a1] {
  font-size: 14px;
  color: rgba(0, 0, 0, 0.45);
  margin-top: 8px;
}
/* 移动端卡片视图样式 */
.mobile-card-list[data-v-5b15c3a1] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.mobile-card[data-v-5b15c3a1] {
  background: #fff;
  border-radius: 8px;
  padding: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.mobile-card-header[data-v-5b15c3a1] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #f0f0f0;
}
.mobile-card-title[data-v-5b15c3a1] {
  font-weight: 600;
  font-size: 15px;
  color: #333;
}
.mobile-card-body[data-v-5b15c3a1] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.mobile-card-field[data-v-5b15c3a1] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.mobile-card-label[data-v-5b15c3a1] {
  font-size: 13px;
  color: #666;
}
.mobile-card-value[data-v-5b15c3a1] {
  font-size: 13px;
  color: #333;
}
.mobile-card-footer[data-v-5b15c3a1] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 12px;
  padding-top: 8px;
  border-top: 1px solid #f0f0f0;
}
.data-lineage-edit-page[data-v-88cbd24c] {
  padding: var(--spacing-4);
  min-height: 100%;
  background: var(--color-bg-layout);
}
/* Highlights Panel */
.highlights-panel[data-v-88cbd24c] {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  border-radius: var(--radius-xl);
  padding: 24px 32px;
  color: #fff;
  margin-bottom: var(--spacing-4);
  position: relative;
  overflow: hidden;
}
/* 几何图形装饰 */
.highlights-bg-decoration[data-v-88cbd24c] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-88cbd24c] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-88cbd24c] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-88cbd24c] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-88cbd24c] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-88cbd24c] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-88cbd24c] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-88cbd24c] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-88cbd24c] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-88cbd24c] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-88cbd24c] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
@media (max-width: 768px) {
.highlights-panel[data-v-88cbd24c] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-88cbd24c] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-88cbd24c] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-88cbd24c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-88cbd24c] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-88cbd24c] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-88cbd24c] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-88cbd24c] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-88cbd24c] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-88cbd24c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-88cbd24c] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-88cbd24c] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-88cbd24c] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) {
.highlights-panel[data-v-88cbd24c] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-88cbd24c] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-88cbd24c] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-88cbd24c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-88cbd24c] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-88cbd24c] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-88cbd24c] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-88cbd24c] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-88cbd24c] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-88cbd24c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-88cbd24c] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-88cbd24c] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-88cbd24c] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-88cbd24c] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-88cbd24c] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-88cbd24c] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-88cbd24c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-88cbd24c] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-88cbd24c] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-88cbd24c] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-88cbd24c] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-88cbd24c] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-88cbd24c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-88cbd24c] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-88cbd24c] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-88cbd24c] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
.highlights-content[data-v-88cbd24c] {
  display: flex;
  justify-content: space-between;
}
.highlights-left h2[data-v-88cbd24c] {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: white;
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-meta[data-v-88cbd24c] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  font-size: 13px;
  opacity: 0.85;
}
.highlights-tag[data-v-88cbd24c] {
  background: rgba(255, 255, 255, 0.2) !important;
  border: none !important;
  color: #fff !important;
  font-size: 12px;
  padding: 2px 10px;
}
.highlights-right[data-v-88cbd24c] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-action-btn[data-v-88cbd24c] {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
}
.highlights-action-btn[data-v-88cbd24c]:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.5);
}
/* Form Content */
.form-content[data-v-88cbd24c] {
  max-width: 1200px;
  padding-bottom: 60px;
  /* Space for fixed actions */
}
/* Fixed Actions */
.fixed-actions[data-v-88cbd24c] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 12px;
  background: #fff;
  border-top: 1px solid var(--color-border-secondary);
  display: flex;
  justify-content: flex-end;
  z-index: 100;
}
/* Info Section */
.info-section[data-v-88cbd24c] {
  margin-bottom: 24px;
  border: 1px solid var(--color-border-secondary);
  border-radius: 10px;
  overflow: hidden;
}
.section-header[data-v-88cbd24c] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 20px;
  background: var(--color-fill-quaternary);
  border-bottom: 1px solid var(--color-border-secondary);
  font-weight: 600;
  color: var(--color-text-primary);
}
.section-body[data-v-88cbd24c] {
  padding: 16px 20px;
}
@media (max-width: 768px) {
.section-body[data-v-88cbd24c] {
    padding: 12px;
}
.section-body .highlights-panel .highlights-bg-decoration[data-v-88cbd24c] {
    display: none;
}
}
/* Responsive */
@media (max-width: 768px) {
.data-lineage-edit-page[data-v-88cbd24c] {
    padding: 12px;
}
.data-lineage-edit-page .highlights-panel .highlights-bg-decoration[data-v-88cbd24c] {
    display: none;
}
.highlights-panel[data-v-88cbd24c] {
    padding: 16px;
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-88cbd24c] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-88cbd24c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-88cbd24c] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-88cbd24c] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-88cbd24c] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-88cbd24c] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-88cbd24c] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-88cbd24c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-88cbd24c] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-88cbd24c] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-88cbd24c] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-content[data-v-88cbd24c] {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}
.highlights-left h2[data-v-88cbd24c] {
    font-size: 18px;
}
.highlights-right[data-v-88cbd24c] {
    width: 100%;
}
.highlights-right .ant-btn[data-v-88cbd24c] {
    flex: 1;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-88cbd24c] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-88cbd24c] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-88cbd24c] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-88cbd24c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-88cbd24c] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-88cbd24c] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-88cbd24c] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-88cbd24c] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-88cbd24c] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-88cbd24c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-88cbd24c] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-88cbd24c] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-88cbd24c] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-88cbd24c] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-88cbd24c] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-88cbd24c] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-88cbd24c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-88cbd24c] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-88cbd24c] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-88cbd24c] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-88cbd24c] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-88cbd24c] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-88cbd24c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-88cbd24c] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-88cbd24c] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-88cbd24c] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-88cbd24c] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-88cbd24c] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-88cbd24c] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-88cbd24c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-88cbd24c] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-88cbd24c] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-88cbd24c] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-88cbd24c] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-88cbd24c] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-88cbd24c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-88cbd24c] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-88cbd24c] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-88cbd24c] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 575px) {
.highlights-panel[data-v-88cbd24c] {
    padding: 16px;
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-88cbd24c] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-88cbd24c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-88cbd24c] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-88cbd24c] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-88cbd24c] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-88cbd24c] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-88cbd24c] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-88cbd24c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-88cbd24c] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-88cbd24c] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-88cbd24c] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-content[data-v-88cbd24c] {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}
.highlights-left h2[data-v-88cbd24c] {
    font-size: 18px;
}
.highlights-right[data-v-88cbd24c] {
    width: 100%;
}
.highlights-right .ant-btn[data-v-88cbd24c] {
    flex: 1;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.highlights-panel[data-v-88cbd24c] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-88cbd24c] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-88cbd24c] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-88cbd24c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-88cbd24c] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-88cbd24c] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-88cbd24c] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-88cbd24c] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-88cbd24c] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-88cbd24c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-88cbd24c] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-88cbd24c] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-88cbd24c] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.highlights-panel[data-v-88cbd24c] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-88cbd24c] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-88cbd24c] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-88cbd24c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-88cbd24c] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-88cbd24c] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-88cbd24c] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-88cbd24c] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-88cbd24c] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-88cbd24c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-88cbd24c] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-88cbd24c] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-88cbd24c] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 575px) and (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-88cbd24c] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-88cbd24c] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-88cbd24c] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-88cbd24c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-88cbd24c] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-88cbd24c] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-88cbd24c] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-88cbd24c] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-88cbd24c] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-88cbd24c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-88cbd24c] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-88cbd24c] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-88cbd24c] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
.data-source-edit-page[data-v-d71721c5] {
  padding: var(--spacing-4);
  min-height: 100%;
  background: var(--color-bg-layout);
}
.highlights-panel[data-v-d71721c5] {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  border-radius: var(--radius-xl);
  padding: 24px 32px;
  color: #fff;
  margin-bottom: var(--spacing-4);
  position: relative;
  overflow: hidden;
}
/* 几何图形装饰 */
.highlights-bg-decoration[data-v-d71721c5] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-d71721c5] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-d71721c5] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-d71721c5] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-d71721c5] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-d71721c5] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-d71721c5] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-d71721c5] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-d71721c5] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-d71721c5] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-d71721c5] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
@media (max-width: 768px) {
.highlights-panel[data-v-d71721c5] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-d71721c5] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-d71721c5] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-d71721c5] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-d71721c5] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-d71721c5] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-d71721c5] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-d71721c5] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-d71721c5] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-d71721c5] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-d71721c5] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-d71721c5] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-d71721c5] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
.highlights-content[data-v-d71721c5] {
  display: flex;
  justify-content: space-between;
}
.highlights-left h2[data-v-d71721c5] {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: white;
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-meta[data-v-d71721c5] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  font-size: 13px;
  opacity: 0.85;
}
.highlights-tag[data-v-d71721c5] {
  background: rgba(255, 255, 255, 0.2) !important;
  border: none !important;
  color: #fff !important;
  font-size: 12px;
  padding: 2px 10px;
}
.highlights-right[data-v-d71721c5] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-action-btn[data-v-d71721c5] {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
}
.highlights-action-btn[data-v-d71721c5]:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.5);
}
.form-content[data-v-d71721c5] {
  max-width: 1200px;
  padding-bottom: 60px;
}
.fixed-actions[data-v-d71721c5] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 12px;
  background: #fff;
  border-top: 1px solid var(--color-border-secondary);
  display: flex;
  justify-content: flex-end;
  z-index: 100;
}
.info-section[data-v-d71721c5] {
  margin-bottom: 24px;
  border: 1px solid var(--color-border-secondary);
  border-radius: 10px;
  overflow: hidden;
}
.section-header[data-v-d71721c5] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 20px;
  background: var(--color-fill-quaternary);
  border-bottom: 1px solid var(--color-border-secondary);
  font-weight: 600;
  color: var(--color-text-primary);
}
.section-body[data-v-d71721c5] {
  padding: 16px 20px;
}
@media (max-width: 768px) {
.section-body[data-v-d71721c5] {
    padding: 12px;
}
.section-body .highlights-panel .highlights-bg-decoration[data-v-d71721c5] {
    display: none;
}
}
@media (max-width: 768px) {
.data-source-edit-page[data-v-d71721c5] {
    padding: 12px;
}
.data-source-edit-page .highlights-panel .highlights-bg-decoration[data-v-d71721c5] {
    display: none;
}
.highlights-panel[data-v-d71721c5] {
    padding: 16px;
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-d71721c5] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-d71721c5] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-d71721c5] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-d71721c5] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-d71721c5] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-d71721c5] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-d71721c5] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-d71721c5] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-d71721c5] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-d71721c5] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-d71721c5] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-content[data-v-d71721c5] {
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
}
.highlights-left h2[data-v-d71721c5] {
    font-size: 18px;
}
.highlights-right[data-v-d71721c5] {
    width: auto;
    flex-shrink: 0;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-d71721c5] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-d71721c5] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-d71721c5] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-d71721c5] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-d71721c5] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-d71721c5] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-d71721c5] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-d71721c5] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-d71721c5] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-d71721c5] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-d71721c5] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-d71721c5] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-d71721c5] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
.dandelion-canvas[data-v-181509fe] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
  opacity: 0.7;
  image-rendering: optimizeSpeed;
}
.dandelion-canvas-container[data-v-181509fe] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
  opacity: 0.7;
  image-rendering: optimizeSpeed;
}
.dandelion-canvas-hidden[data-v-181509fe] {
  display: none;
}
/* 小眼睛图标 - 固定尺寸，图标居中 */
.eye-toggle[data-v-50eadcc4] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(99, 102, 241, 0.15);
  color: #6366f1;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transform: translateZ(0);
  backface-visibility: hidden;
  will-change: transform;
  flex-shrink: 0;
  position: relative;
}
/* 光圈扩散动画 - 第一层 */
.eye-toggle[data-v-50eadcc4]::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2px solid rgba(99, 102, 241, 0.6);
  animation: ring-expand-1-50eadcc4 2.5s ease-out infinite;
  pointer-events: none;
}
/* 光圈扩散动画 - 第二层（错位） */
.eye-toggle[data-v-50eadcc4]::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2px solid rgba(139, 92, 246, 0.5);
  animation: ring-expand-2-50eadcc4 2.5s ease-out infinite 1.25s;
  pointer-events: none;
}
/* 移动端使用固定尺寸 */
@media (max-width: 768px) {
.eye-toggle[data-v-50eadcc4] {
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
}
}
.eye-toggle[data-v-50eadcc4]:hover {
  background: rgba(99, 102, 241, 0.25);
  box-shadow: 0 0 12px rgba(99, 102, 241, 0.3);
}
.eye-toggle[data-v-50eadcc4]:active {
  transform: scale(0.92);
}
.eye-toggle[data-v-50eadcc4] .anticon,
.eye-toggle[data-v-50eadcc4] svg {
  font-size: 20px;
  width: 20px;
  height: 20px;
  line-height: 1;
  flex-shrink: 0;
}
/* 桌面端动画 */
@media (min-width: 769px) {
.eye-toggle[data-v-50eadcc4] {
    animation: eye-pulse-50eadcc4 3s ease-in-out infinite;
}
}
@keyframes eye-pulse-50eadcc4 {
0%,
  100% {
    opacity: 1;
}
50% {
    opacity: 0.75;
}
}
/* 光圈扩散动画 - 圆环从中心向外扩散并淡出 */
@keyframes ring-expand-1-50eadcc4 {
0% {
    transform: scale(1);
    opacity: 1;
    border-width: 3px;
}
100% {
    transform: scale(2.2);
    opacity: 0;
    border-width: 0px;
}
}
/* 光圈扩散动画 - 第二层错位 */
@keyframes ring-expand-2-50eadcc4 {
0% {
    transform: scale(1);
    opacity: 0.8;
    border-width: 2px;
}
100% {
    transform: scale(2);
    opacity: 0;
    border-width: 0px;
}
}
.hero-text h2[data-v-50eadcc4],
.marketing-footer h3[data-v-50eadcc4],
.marketing-footer h4[data-v-50eadcc4] {
  color: #ffffff;
}
/* 价格方案卡片样式 */
.tier-pricing-grid[data-v-50eadcc4] {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--spacing-5);
  max-width: 1200px;
  margin: var(--spacing-5) auto 0;
}
.tier-card[data-v-50eadcc4] {
  background: linear-gradient(180deg, #ffffff 0%, #fafafa 100%);
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.05);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.06), 0 2px 8px rgba(0, 0, 0, 0.04);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
  min-height: 340px;
  position: relative;
}
.tier-card[data-v-50eadcc4]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, transparent, rgba(99, 102, 241, 0.3), transparent);
  opacity: 0;
  transition: opacity 0.3s ease;
}
.tier-card[data-v-50eadcc4]:hover {
  transform: translateY(-8px) scale(1.01);
  box-shadow: 0 20px 48px rgba(99, 102, 241, 0.12), 0 8px 16px rgba(0, 0, 0, 0.08);
  border-color: rgba(99, 102, 241, 0.2);
}
.tier-card[data-v-50eadcc4]:hover::before {
  opacity: 1;
}
.tier-card.tier-vip[data-v-50eadcc4] {
  background: linear-gradient(180deg, #1e1b4b 0%, #312e81 30%, #3730a3 60%, #4c1d95 100%);
  border: none;
  box-shadow: 0 25px 50px -12px rgba(76, 29, 149, 0.4), 0 8px 32px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.1);
  position: relative;
  overflow: hidden;
}
.tier-card.tier-vip[data-v-50eadcc4]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.4) 50%, transparent 100%);
}
.tier-card.tier-vip[data-v-50eadcc4]::after {
  content: '';
  position: absolute;
  top: -50%;
  right: -25%;
  width: 180px;
  height: 180px;
  background: radial-gradient(circle, rgba(167, 139, 250, 0.3) 0%, rgba(139, 92, 246, 0.2) 30%, rgba(99, 102, 241, 0.1) 50%, transparent 75%);
  border-radius: 50%;
  filter: blur(35px);
  animation: glowPulse-50eadcc4 4s ease-in-out infinite;
}
@keyframes glowPulse-50eadcc4 {
0%,
  100% {
    opacity: 0.8;
    transform: scale(1);
}
50% {
    opacity: 1;
    transform: scale(1.05);
}
}
.tier-card.tier-vip[data-v-50eadcc4]:hover {
  transform: translateY(-6px) scale(1.01);
  box-shadow: 0 35px 60px -15px rgba(76, 29, 149, 0.5), 0 12px 40px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.15);
}
.tier-card.tier-seed[data-v-50eadcc4] {
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  border: 1px solid rgba(99, 102, 241, 0.15);
}
.tier-card.tier-seed[data-v-50eadcc4]:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(99, 102, 241, 0.12), 0 6px 16px rgba(0, 0, 0, 0.06);
}
.tier-card.tier-growth[data-v-50eadcc4] {
  background: linear-gradient(180deg, #ffffff 0%, #fafafa 100%);
  border: 1px solid rgba(156, 163, 175, 0.2);
}
.tier-card.tier-growth[data-v-50eadcc4]:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(156, 163, 175, 0.1), 0 6px 16px rgba(0, 0, 0, 0.04);
}
.tier-card.tier-early[data-v-50eadcc4] {
  background: linear-gradient(180deg, #ffffff 0%, #fafafa 100%);
  border: 1px solid rgba(229, 231, 235, 0.4);
}
.tier-card.tier-early[data-v-50eadcc4]:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(229, 231, 235, 0.15), 0 6px 16px rgba(0, 0, 0, 0.04);
}
.tier-header[data-v-50eadcc4] {
  padding: var(--spacing-4) var(--spacing-5);
  color: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: 24px 24px 0 0;
  position: relative;
  overflow: hidden;
}
.tier-header[data-v-50eadcc4]::after {
  content: '';
  position: absolute;
  top: -50%;
  right: -20%;
  width: 100px;
  height: 100px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 50%;
}
.tier-header.tier-vip-header[data-v-50eadcc4] {
  background: linear-gradient(135deg, #312e81 0%, #3730a3 30%, #4c1d95 60%, #5b21b6 100%);
  box-shadow: 0 4px 20px rgba(76, 29, 149, 0.35), 0 2px 8px rgba(0, 0, 0, 0.2);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.tier-header.tier-seed-header[data-v-50eadcc4] {
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #334155 100%);
  box-shadow: 0 6px 20px rgba(15, 23, 42, 0.35);
}
.tier-header.tier-growth-header[data-v-50eadcc4] {
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #334155 100%);
  box-shadow: 0 6px 20px rgba(15, 23, 42, 0.3);
}
.tier-header.tier-early-header[data-v-50eadcc4] {
  background: linear-gradient(135deg, #64748b 0%, #94a3b8 50%, #cbd5e1 100%);
  box-shadow: 0 6px 20px rgba(148, 163, 184, 0.35);
}
.tier-header.tier-normal-header[data-v-50eadcc4] {
  background: linear-gradient(135deg, #93c5fd, #bfdbfe);
}
.tier-header.tier-full-header[data-v-50eadcc4] {
  background: linear-gradient(135deg, #8c8c8c, #a6a6a6);
}
.tier-title[data-v-50eadcc4] {
  font-size: var(--font-size-lg);
  font-weight: 700;
  letter-spacing: -0.5px;
}
.tier-subtitle[data-v-50eadcc4] {
  font-size: 13px;
  opacity: 0.9;
  margin-top: var(--spacing-0-5);
  font-weight: 400;
}
.tier-discount[data-v-50eadcc4] {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.25) 0%, rgba(255, 255, 255, 0.1) 100%);
  backdrop-filter: blur(12px);
  padding: var(--spacing-1-5) var(--spacing-4);
  border-radius: 28px;
  font-size: 20px;
  font-weight: 800;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3);
  border: 1px solid rgba(255, 255, 255, 0.25);
  transition: all 0.3s ease;
}
.tier-card:hover .tier-discount[data-v-50eadcc4] {
  transform: scale(1.05);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.4);
}
.tier-tagline[data-v-50eadcc4] {
  padding: var(--spacing-2-5) var(--spacing-5);
  font-size: 13px;
  color: #4b5563;
  font-weight: 500;
  text-align: center;
  background: rgba(0, 0, 0, 0.02);
  border-bottom: 1px solid rgba(0, 0, 0, 0.04);
}
.tier-prices[data-v-50eadcc4] {
  padding: var(--spacing-3) var(--spacing-4);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-2-5);
  text-align: center;
  flex: 1;
}
.tier-plan[data-v-50eadcc4] {
  background: linear-gradient(145deg, #ffffff 0%, #f9fafb 100%);
  border-radius: 14px;
  padding: var(--spacing-3);
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  border: 1px solid rgba(0, 0, 0, 0.04);
}
.tier-plan[data-v-50eadcc4]:hover {
  transform: translateY(-4px) scale(1.02);
  box-shadow: 0 8px 24px rgba(99, 102, 241, 0.12);
  border-color: rgba(99, 102, 241, 0.15);
}
.tier-plan-name[data-v-50eadcc4] {
  font-size: 14px;
  color: #1f2937;
  font-weight: 600;
  margin-bottom: var(--spacing-2);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.tier-plan-name[data-v-50eadcc4]::before {
  content: '';
  width: 5px;
  height: 5px;
  background: linear-gradient(135deg, #6366f1, #8b5cf6);
  border-radius: 50%;
  box-shadow: 0 0 8px rgba(99, 102, 241, 0.4);
}
.tier-plan-price[data-v-50eadcc4] {
  font-size: 30px;
  font-weight: 800;
  line-height: 1.15;
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #a78bfa 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.tier-plan-original[data-v-50eadcc4] {
  font-size: 12px;
  color: #9ca3af;
  text-decoration: line-through;
  margin-top: var(--spacing-1);
}
.tier-plan-sold[data-v-50eadcc4] {
  font-size: 12px;
  color: #f59e0b;
  margin-top: var(--spacing-1);
  font-weight: 500;
  animation: soldPulse-50eadcc4 2s ease-in-out infinite;
}
@keyframes soldPulse-50eadcc4 {
0%,
  100% {
    transform: scale(1);
    opacity: 1;
}
50% {
    transform: scale(1.1);
    opacity: 0.8;
}
}
.plan-sold-count[data-v-50eadcc4] {
  font-size: 13px;
  color: #f59e0b;
  margin-left: var(--spacing-2);
  font-weight: 500;
  animation: soldPulse-50eadcc4 2s ease-in-out infinite;
}
.plugin-card-sold[data-v-50eadcc4] {
  font-size: 12px;
  color: #f59e0b;
  margin-top: var(--spacing-2);
  margin-right: var(--spacing-6);
  font-weight: 500;
  text-align: right;
  animation: soldPulse-50eadcc4 2s ease-in-out infinite;
}
.tier-plan-badge[data-v-50eadcc4] {
  display: inline-block;
  font-size: 11px;
  color: #9ca3af;
  background: #f3f4f6;
  padding: 3px 10px;
  border-radius: 10px;
  margin-top: var(--spacing-1);
}
.tier-savings[data-v-50eadcc4] {
  padding: var(--spacing-3) var(--spacing-5);
  font-size: 15px;
  font-weight: 700;
  text-align: center;
  border-radius: 0 0 24px 24px;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.02) 0%, rgba(0, 0, 0, 0.04) 100%);
}
.tier-card.tier-vip .tier-savings[data-v-50eadcc4] {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.04) 100%);
  color: #e9d5ff;
  box-shadow: inset 0 -2px 8px rgba(0, 0, 0, 0.3);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.tier-card.tier-vip .tier-tagline[data-v-50eadcc4] {
  color: rgba(255, 255, 255, 0.8);
  background: rgba(0, 0, 0, 0.15);
  border-bottom-color: rgba(255, 255, 255, 0.08);
}
.tier-card.tier-vip .tier-plan[data-v-50eadcc4] {
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.05) 100%);
  border-color: rgba(255, 255, 255, 0.1);
}
.tier-card.tier-vip .tier-plan[data-v-50eadcc4]:hover {
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0.1) 100%);
  box-shadow: 0 8px 24px rgba(139, 92, 246, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.25);
  transform: translateY(-4px) scale(1.02);
}
.tier-card.tier-vip .tier-plan-name[data-v-50eadcc4] {
  color: rgba(255, 255, 255, 0.9);
}
.tier-card.tier-vip .tier-plan-price[data-v-50eadcc4] {
  background: linear-gradient(135deg, #c4b5fd 0%, #e9d5ff 50%, #f5f3ff 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.tier-card.tier-vip .tier-plan-original[data-v-50eadcc4] {
  color: rgba(255, 255, 255, 0.4);
}
.tier-card.tier-seed .tier-savings[data-v-50eadcc4] {
  background: linear-gradient(180deg, #f1f5f9 0%, #e2e8f0 50%, #cbd5e1 100%);
  color: #334155;
  box-shadow: inset 0 -2px 8px rgba(100, 116, 139, 0.12);
}
.tier-card.tier-growth .tier-savings[data-v-50eadcc4] {
  background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 50%, #e2e8f0 100%);
  color: #475569;
  box-shadow: inset 0 -2px 8px rgba(100, 116, 139, 0.1);
}
.tier-card.tier-early .tier-savings[data-v-50eadcc4] {
  background: linear-gradient(180deg, #fafafa 0%, #f5f5f5 50%, #e5e5e5 100%);
  color: #64748b;
  box-shadow: inset 0 -2px 8px rgba(148, 163, 184, 0.1);
}
.tier-card.tier-normal .tier-savings[data-v-50eadcc4] {
  background: #f0f5ff;
  color: #93c5fd;
  border-top-color: #dbeafe;
}
.tier-card.tier-full .tier-savings[data-v-50eadcc4] {
  background: #f5f5f5;
  color: #8c8c8c;
  border-top-color: #d9d9d9;
}
/* 移动端 tier-card 样式优化 */
@media (max-width: 768px) {
.tier-card[data-v-50eadcc4] {
    min-height: auto;
    margin-bottom: var(--spacing-4);
}
.tier-header[data-v-50eadcc4] {
    padding: var(--spacing-3) var(--spacing-4);
}
.tier-title[data-v-50eadcc4] {
    font-size: var(--font-size-sm);
}
.tier-subtitle[data-v-50eadcc4] {
    font-size: 11px;
}
.tier-discount[data-v-50eadcc4] {
    padding: var(--spacing-1) var(--spacing-3);
    font-size: 16px;
}
.tier-prices[data-v-50eadcc4] {
    padding: var(--spacing-3) var(--spacing-4);
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spacing-2-5);
}
.tier-plan[data-v-50eadcc4] {
    padding: var(--spacing-2-5);
    border-radius: 10px;
}
.tier-plan-name[data-v-50eadcc4] {
    font-size: 12px;
    margin-bottom: var(--spacing-1-5);
}
.tier-plan-price[data-v-50eadcc4] {
    font-size: 22px;
}
.tier-plan-original[data-v-50eadcc4] {
    font-size: 10px;
}
.tier-plan-sold[data-v-50eadcc4] {
    font-size: 10px;
    margin-top: var(--spacing-0-5);
}
.tier-plan-badge[data-v-50eadcc4] {
    font-size: 10px;
    padding: 2px 8px;
    margin-top: var(--spacing-0-5);
}
.tier-savings[data-v-50eadcc4] {
    padding: var(--spacing-2-5) var(--spacing-4);
    font-size: 12px;
}
}
.tier-iteration-note[data-v-50eadcc4] {
  font-size: 11px;
  display: none;
  color: #9ca3af;
  text-align: center;
  padding: 6px 16px 12px;
}
/* 全局样式 */
body[data-v-50eadcc4],
html[data-v-50eadcc4] {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  height: 100%;
}
/* 滚动进度指示器样式 */
.scroll-progress-container[data-v-50eadcc4] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: rgba(255, 255, 255, 0.2);
  z-index: 9999;
  pointer-events: none;
}
.scroll-progress-bar[data-v-50eadcc4] {
  height: 100%;
  background: linear-gradient(90deg, #1890ff 0%, #40a9ff 100%);
  width: 0%;
  box-shadow: 0 0 8px rgba(24, 144, 255, 0.5);
  border-radius: 2px;
  will-change: width;
}
/* 自定义滚动条 */
[data-v-50eadcc4]::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
[data-v-50eadcc4]::-webkit-scrollbar-track {
  background: #f0f0f0;
  border-radius: 4px;
}
[data-v-50eadcc4]::-webkit-scrollbar-thumb {
  background: #1890ff;
  border-radius: 4px;
  transition: background 0.3s ease;
}
[data-v-50eadcc4]::-webkit-scrollbar-thumb:hover {
  background: #40a9ff;
}
.marketing-container[data-v-50eadcc4] {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  line-height: 1.6;
  color: #333;
  overflow-x: hidden;
  overflow-y: auto;
  min-height: 100vh;
  height: 100%;
  /* 隐藏滚动条 - Webkit浏览器 */
  scrollbar-width: none;
  /* Firefox */
  -webkit-overflow-scrolling: touch;
}
/* 隐藏滚动条 - Webkit浏览器 */
.marketing-container[data-v-50eadcc4]::-webkit-scrollbar {
  display: none;
}
/* 为每个section添加滚动吸附点 */
section[data-v-50eadcc4] {
  scroll-margin-top: 80px;
  min-height: 100vh;
  position: relative;
  overflow: hidden;
}
/* 价格方案功能列表移动适配 */
@media (max-width: 768px) {
.feature-card[data-v-50eadcc4] {
    background: #fff;
    padding: var(--spacing-8) var(--spacing-7);
    border-radius: 16px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    transition: all var(--duration-base) var(--easing-ease-out);
    border: var(--color-border-light);
    position: relative;
    overflow: hidden;
}
.feature-card[data-v-50eadcc4]::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 0;
    background: linear-gradient(180deg, #1890ff 0%, #40a9ff 100%);
    border-radius: 0 4px 4px 0;
    transition: height 0.3s ease;
}
.pricing-features[data-v-50eadcc4] {
    padding: var(--spacing-4) !important;
}
}
.marketing-header .container[data-v-50eadcc4] {
  padding: 0 var(--spacing-8) !important;
}
.container[data-v-50eadcc4] {
  margin: 0 auto;
  padding: 0 var(--spacing-16);
  box-sizing: border-box;
  /* 增加最大宽度，确保大屏幕上有足够的内容区域 */
  width: 100%;
  /* 确保容器宽度为100% */
}
[data-v-50eadcc4] {
  box-sizing: border-box;
}
/* 防止图片加载时页面抖动 */
img[data-v-50eadcc4] {
  max-width: 100%;
  background: #ffffff;
  height: auto;
  display: block;
}
/* 为图片容器添加固定宽高比 */
.image-placeholder[data-v-50eadcc4] {
  position: relative;
  overflow: hidden;
  /* 保持图片容器的宽高比，根据实际图片调整 */
  aspect-ratio: 16 / 10;
}
.carousel-container[data-v-50eadcc4] {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  max-height: 75vh;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.1);
  background: #f8f9fa;
  /* 移动端触摸滑动支持 */
  touch-action: pan-y pinch-zoom;
  -webkit-user-select: none;
  user-select: none;
}
.carousel-container[data-v-50eadcc4]:active {
  /* 触摸时的视觉反馈 */
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}
.carousel[data-v-50eadcc4] {
  position: relative;
  width: 100%;
  height: 100%;
}
.carousel-item[data-v-50eadcc4] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transform: scale(1.05);
  transition: opacity 0.6s ease, transform 0.6s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.carousel-item.active[data-v-50eadcc4] {
  opacity: 1;
  transform: scale(1);
  z-index: 1;
}
.carousel-item img[data-v-50eadcc4] {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px;
}
.carousel-caption[data-v-50eadcc4] {
  position: absolute;
  display: none;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(255, 255, 255, 0.9);
  color: #333;
  padding: var(--spacing-3) var(--spacing-6);
  font-size: 18px;
  font-weight: var(--font-weight-semibold);
  border-radius: 30px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(10px);
}
/* 轮播图叠加描述层 */
.carousel-overlay[data-v-50eadcc4] {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 60px var(--spacing-10) var(--spacing-9);
  background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.3) 60%, transparent 100%);
  pointer-events: none;
}
.carousel-overlay-content[data-v-50eadcc4] {
  max-width: 600px;
}
.carousel-overlay-icon[data-v-50eadcc4] {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-xl);
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(8px);
  color: #fff;
  margin-bottom: var(--spacing-3);
}
.carousel-overlay-content h3[data-v-50eadcc4] {
  font-size: 22px;
  font-weight: var(--font-weight-bold);
  color: #fff;
  margin: 0 0 var(--spacing-2) 0;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
}
.carousel-overlay-content p[data-v-50eadcc4] {
  font-size: var(--font-size-base);
  color: rgba(255, 255, 255, 0.85);
  margin: 0;
  line-height: 1.6;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}
.carousel-controls[data-v-50eadcc4] {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  padding: 0 var(--spacing-6);
  z-index: 2;
}
.carousel-control[data-v-50eadcc4] {
  display: none !important;
  background: rgba(255, 255, 255, 0.9);
  border: none;
  border-radius: 50%;
  width: 48px;
  height: 48px;
  /* display: flex;
  align-items: center;
  justify-content: center; */
  cursor: pointer;
  font-size: 24px;
  font-weight: 300;
  transition: all var(--duration-base) var(--easing-ease-out);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(10px);
}
.carousel-control[data-v-50eadcc4]:hover {
  background: #ffffff;
  transform: scale(1.05);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
}
.carousel-indicators[data-v-50eadcc4] {
  position: absolute;
  bottom: 8px;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  gap: var(--spacing-2-5);
  z-index: 2;
}
.carousel-indicators button[data-v-50eadcc4] {
  width: 12px;
  height: 12px;
  border: none;
  border-radius: 50%;
  background: #adadad99;
  cursor: pointer;
  transition: all var(--duration-base) var(--easing-ease-out);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.carousel-indicators button[data-v-50eadcc4]:hover {
  background: rgba(255, 255, 255, 0.8);
  transform: scale(1.1);
}
.carousel-indicators button.active[data-v-50eadcc4] {
  background: #1890ff;
  width: 32px;
  border-radius: 6px;
  box-shadow: 0 2px 8px rgba(24, 144, 255, 0.4);
}
.image-placeholder img[data-v-50eadcc4],
.demo-image img[data-v-50eadcc4] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  object-fit: cover;
}
/* 确保卡片容器不会因内容不足而塌陷 */
.pricing-card[data-v-50eadcc4],
.partnership-card[data-v-50eadcc4],
.testimonial-card[data-v-50eadcc4] {
  display: flex;
  flex-direction: column;
}
/* 滚动动画样式 */
/* 默认可见，只设置初始transform用于动画效果 */
.animate-section[data-v-50eadcc4] {
  opacity: 1;
  transform: translateY(50px);
  transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
  transition-delay: calc(var(--index, 0) * 0.1s);
}
.animate-card[data-v-50eadcc4] {
  opacity: 1;
  transform: translateY(30px) scale(0.95);
  transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  transition-delay: calc(var(--index, 0) * 0.1s);
}
.animate-in[data-v-50eadcc4] {
  opacity: 1;
  transform: translateY(0) scale(1);
}
/* 移除animate-out类，不再隐藏元素 */
/* 确保所有section都能正常滚动 */
section[data-v-50eadcc4] {
  display: flex;
  align-items: center;
  scroll-margin-top: 80px;
}
/* 移动端取消 section 最小高度，避免大量空白 */
@media (max-width: 768px) {
section[data-v-50eadcc4] {
    min-height: auto;
}
}
/* 导航高亮过渡效果 */
.nav-link[data-v-50eadcc4] {
  transition: all var(--duration-base) var(--easing-ease-out);
}
.nav-link-active[data-v-50eadcc4] {
  transition: all var(--duration-base) var(--easing-ease-out);
}
.nav-link-active[data-v-50eadcc4]::after {
  transition: all var(--duration-base) var(--easing-ease-out);
}
/* 导航栏 */
.marketing-header[data-v-50eadcc4] {
  background: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
}
/* 移动端汉堡菜单按钮 */
.mobile-menu-btn[data-v-50eadcc4] {
  display: none;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
}
.menu-icon[data-v-50eadcc4],
.menu-icon[data-v-50eadcc4]::before,
.menu-icon[data-v-50eadcc4]::after {
  display: block;
  width: 20px;
  height: 2px;
  background: #333;
  border-radius: 2px;
  transition: all var(--duration-base) var(--easing-ease-out);
}
.menu-icon[data-v-50eadcc4] {
  position: relative;
}
.menu-icon[data-v-50eadcc4]::before,
.menu-icon[data-v-50eadcc4]::after {
  content: '';
  position: absolute;
  left: 0;
}
.menu-icon[data-v-50eadcc4]::before {
  top: -6px;
}
.menu-icon[data-v-50eadcc4]::after {
  top: 6px;
}
.menu-icon.menu-open[data-v-50eadcc4] {
  background: transparent;
}
.menu-icon.menu-open[data-v-50eadcc4]::before {
  top: 0;
  transform: rotate(45deg);
}
.menu-icon.menu-open[data-v-50eadcc4]::after {
  top: 0;
  transform: rotate(-45deg);
}
.header-content[data-v-50eadcc4] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--spacing-3) 0;
}
.logo[data-v-50eadcc4] {
  cursor: pointer;
}
.logo h1[data-v-50eadcc4] {
  font-size: 24px;
  font-weight: var(--font-weight-semibold);
  color: #1890ff;
  margin: 0;
}
.nav[data-v-50eadcc4] {
  display: flex;
  gap: clamp(var(--spacing-4), 4vw, 80px);
}
.nav-link[data-v-50eadcc4] {
  color: #333;
  text-decoration: none;
  font-size: var(--font-size-md);
  font-weight: 500;
  transition: color 0.3s;
  position: relative;
  white-space: nowrap;
}
.nav-link[data-v-50eadcc4]:hover {
  color: #1890ff;
}
.nav-link-active[data-v-50eadcc4] {
  color: #1890ff;
}
.nav-link-active[data-v-50eadcc4]::after {
  content: '';
  position: absolute;
  bottom: -24px;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: #1890ff;
  border-radius: 2px;
}
.mk-header-actions[data-v-50eadcc4] {
  display: flex;
  gap: var(--spacing-4);
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
}
.gitee-star-btn[data-v-50eadcc4] {
  display: inline-flex !important;
  align-items: center !important;
  gap: var(--spacing-0-5) !important;
  font-weight: var(--font-weight-semibold) !important;
}
.gitee-star-btn svg[data-v-50eadcc4] {
  color: #faad14;
}
.install-btn[data-v-50eadcc4] {
  display: inline-flex !important;
  align-items: center !important;
  gap: var(--spacing-1) !important;
  border-color: #1677ff !important;
  color: #1677ff !important;
}
.install-btn[data-v-50eadcc4]:hover {
  border-color: #4096ff !important;
  color: #4096ff !important;
}
/* 移动端隐藏安装按钮 */
@media (max-width: 768px) {
.install-btn[data-v-50eadcc4] {
    display: none !important;
}
}
/* 固定按钮样式 */
.fixed-button-item[data-v-50eadcc4] {
  position: relative;
  margin-bottom: var(--spacing-4);
  cursor: pointer;
  transition: all var(--duration-base) var(--easing-ease-out);
}
/* 分享按钮样式 */
.share-btn[data-v-50eadcc4] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  transition: all var(--duration-base) var(--easing-ease-out);
}
.share-btn .btn-icon[data-v-50eadcc4] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.share-btn .btn-icon[data-v-50eadcc4] .anticon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
}
/* 浮动音乐图标样式 */
.floating-music-icon[data-v-50eadcc4] {
  display: flex;
  position: fixed;
  top: 88px;
  right: 8px;
  z-index: 101;
  cursor: pointer;
  transition: all var(--duration-base) var(--easing-ease-out);
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.95);
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
  /* 触控区域 44x44px，符合移动端标准 */
  width: 32px;
  height: 32px;
  box-sizing: content-box;
}
.floating-music-icon[data-v-50eadcc4] .anticon {
  justify-content: center !important;
  font-size: 18px !important;
  color: #1677ff;
}
.floating-music-icon[data-v-50eadcc4]:active {
  transform: scale(0.9);
  background-color: rgba(22, 119, 255, 0.1);
}
/* 音乐图标旋转动画 */
.floating-music-icon.playing[data-v-50eadcc4] {
  animation: rotate-50eadcc4 3s linear infinite;
}
/* 旋转动画定义 */
@keyframes rotate-50eadcc4 {
from {
    transform: rotate(0deg);
}
to {
    transform: rotate(360deg);
}
}
/* 英雄区域 */
.hero[data-v-50eadcc4] {
  padding: 160px 0;
  background: linear-gradient(180deg, #1e293b 0%, #1e293b 40%, #1a2744 70%, #1e293b 100%);
  color: #fff;
  position: relative;
  overflow: hidden;
}
/* 英雄区域按钮样式 */
.hero-tags[data-v-50eadcc4] {
  display: flex;
  gap: var(--spacing-2-5);
  flex-wrap: wrap;
  margin-bottom: var(--spacing-5);
}
.hero-tag[data-v-50eadcc4] {
  display: inline-block;
  padding: var(--spacing-1-5) var(--spacing-4);
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 20px;
  color: #f0f9ff;
  font-size: var(--font-size-base);
  font-weight: 500;
  backdrop-filter: blur(8px);
  transition: all var(--duration-base) var(--easing-ease-out);
}
.hero-tag[data-v-50eadcc4]:hover {
  background: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.4);
  transform: translateY(-2px);
}
.hero-buttons[data-v-50eadcc4] {
  display: flex;
  gap: var(--spacing-6);
  flex-wrap: wrap;
  justify-content: flex-start;
}
.hero-buttons[data-v-50eadcc4] .ant-btn {
  font-weight: var(--font-weight-semibold);
  border-radius: var(--radius-lg);
  padding: 0 var(--spacing-6);
  font-size: var(--font-size-md);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.hero-buttons[data-v-50eadcc4] .ant-btn-primary {
  background: #fff;
  color: #0284c7;
  border: none;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}
.hero-buttons[data-v-50eadcc4] .ant-btn-primary:hover {
  background: #f0fdfa;
  color: #0369a1;
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}
.hero-buttons[data-v-50eadcc4] .ant-btn:not(.ant-btn-primary) {
  background: transparent;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(8px);
}
.hero-buttons[data-v-50eadcc4] .ant-btn:not(.ant-btn-primary):hover {
  background: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.6);
  color: #fff;
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
}
/* 背景装饰效果 */
.hero[data-v-50eadcc4]::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle at 15% 15%, rgba(59, 130, 246, 0.25) 0%, transparent 45%), radial-gradient(circle at 65% 55%, rgba(139, 92, 246, 0.2) 0%, transparent 40%), radial-gradient(circle at 85% 25%, rgba(14, 165, 233, 0.18) 0%, transparent 40%), radial-gradient(circle at 35% 85%, rgba(99, 102, 241, 0.15) 0%, transparent 35%), radial-gradient(ellipse at 8% 45%, rgba(34, 211, 238, 0.12) 0%, transparent 40%), radial-gradient(circle at 92% 75%, rgba(168, 85, 247, 0.1) 0%, transparent 30%), linear-gradient(45deg, transparent 48%, rgba(255, 255, 255, 0.02) 49%, rgba(255, 255, 255, 0.02) 51%, transparent 52%);
  animation: backgroundFloat-50eadcc4 30s ease-in-out infinite alternate;
  z-index: 0;
}
/* 网格背景 */
.hero[data-v-50eadcc4]::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
  background-size: 50px 50px;
  animation: gridMove-50eadcc4 40s linear infinite;
  z-index: 0;
}
@keyframes gridMove-50eadcc4 {
0% {
    transform: translate(0, 0);
}
100% {
    transform: translate(50px, 50px);
}
}
/* 发光渐变层 */
.hero-glow[data-v-50eadcc4] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(ellipse at 30% 20%, rgba(59, 130, 246, 0.35) 0%, rgba(59, 130, 246, 0.1) 40%, transparent 60%), radial-gradient(ellipse at 70% 80%, rgba(139, 92, 246, 0.28) 0%, rgba(139, 92, 246, 0.08) 40%, transparent 60%), radial-gradient(ellipse at 15% 85%, rgba(14, 165, 233, 0.22) 0%, rgba(14, 165, 233, 0.06) 40%, transparent 60%), radial-gradient(ellipse at 50% 50%, rgba(103, 232, 249, 0.1) 0%, transparent 60%);
  pointer-events: none;
  z-index: 1;
  animation: glowPulse-50eadcc4 6s ease-in-out infinite;
}
@keyframes glowPulse-50eadcc4 {
0%,
  100% {
    opacity: 1;
}
50% {
    opacity: 0.6;
}
}
/* 不规则装饰图形 */
.hero-shapes[data-v-50eadcc4] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
  z-index: 0;
}
/* 不规则椭圆1 */
.hero-shape-1[data-v-50eadcc4] {
  position: absolute;
  top: 10%;
  right: -5%;
  width: 550px;
  height: 550px;
  background: radial-gradient(ellipse at center, rgba(59, 130, 246, 0.25) 0%, rgba(59, 130, 246, 0.1) 40%, transparent 70%);
  border-radius: 60% 40% 70% 30% / 60% 30% 70% 40%;
  animation: shapeFloat1-50eadcc4 25s ease-in-out infinite;
  filter: blur(1px);
}
/* 不规则椭圆2 */
.hero-shape-2[data-v-50eadcc4] {
  position: absolute;
  bottom: -5%;
  left: -5%;
  width: 500px;
  height: 500px;
  background: radial-gradient(ellipse at center, rgba(139, 92, 246, 0.2) 0%, rgba(139, 92, 246, 0.08) 40%, transparent 70%);
  border-radius: 40% 60% 30% 70% / 30% 60% 40% 70%;
  animation: shapeFloat2-50eadcc4 30s ease-in-out infinite;
  filter: blur(1px);
}
/* 不规则圆形3 */
.hero-shape-3[data-v-50eadcc4] {
  position: absolute;
  top: 55%;
  left: 8%;
  width: 300px;
  height: 300px;
  background: radial-gradient(circle at center, rgba(14, 165, 233, 0.18) 0%, rgba(14, 165, 233, 0.06) 50%, transparent 70%);
  border-radius: 50%;
  animation: shapeFloat3-50eadcc4 22s ease-in-out infinite;
  filter: blur(1px);
}
/* 不规则图形4 */
.hero-shape-4[data-v-50eadcc4] {
  position: absolute;
  bottom: 25%;
  right: 12%;
  width: 350px;
  height: 350px;
  background: radial-gradient(ellipse at center, rgba(99, 102, 241, 0.15) 0%, rgba(99, 102, 241, 0.05) 50%, transparent 70%);
  border-radius: 70% 30% 50% 50% / 50% 50% 30% 70%;
  animation: shapeFloat4-50eadcc4 26s ease-in-out infinite;
  filter: blur(1px);
}
/* 不规则图形5 */
.hero-shape-5[data-v-50eadcc4] {
  position: absolute;
  top: 20%;
  left: -3%;
  width: 250px;
  height: 350px;
  background: radial-gradient(ellipse at center, rgba(59, 130, 246, 0.12) 0%, rgba(59, 130, 246, 0.04) 50%, transparent 70%);
  border-radius: 30% 70% 20% 80% / 60% 20% 80% 40%;
  animation: shapeFloat5-50eadcc4 35s ease-in-out infinite;
  filter: blur(1px);
}
/* 新增不规则图形6 */
.hero-shape-6[data-v-50eadcc4] {
  position: absolute;
  top: 65%;
  right: 25%;
  width: 220px;
  height: 220px;
  background: radial-gradient(circle at center, rgba(168, 85, 247, 0.15) 0%, rgba(168, 85, 247, 0.05) 50%, transparent 70%);
  border-radius: 45% 55% 60% 40% / 55% 40% 60% 45%;
  animation: shapeFloat6-50eadcc4 28s ease-in-out infinite;
  filter: blur(1px);
}
/* 图形浮动动画 */
@keyframes shapeFloat1-50eadcc4 {
0%,
  100% {
    transform: translate(0, 0) rotate(0deg);
}
50% {
    transform: translate(-30px, 20px) rotate(5deg);
}
}
@keyframes shapeFloat2-50eadcc4 {
0%,
  100% {
    transform: translate(0, 0) rotate(0deg);
}
50% {
    transform: translate(25px, -30px) rotate(-8deg);
}
}
@keyframes shapeFloat3-50eadcc4 {
0%,
  100% {
    transform: translate(0, 0) scale(1);
}
50% {
    transform: translate(20px, -25px) scale(1.1);
}
}
@keyframes shapeFloat4-50eadcc4 {
0%,
  100% {
    transform: translate(0, 0) rotate(0deg);
}
50% {
    transform: translate(-20px, 30px) rotate(10deg);
}
}
@keyframes shapeFloat5-50eadcc4 {
0%,
  100% {
    transform: translate(0, 0) rotate(0deg);
}
50% {
    transform: translate(30px, -20px) rotate(-5deg);
}
}
@keyframes shapeFloat6-50eadcc4 {
0%,
  100% {
    transform: translate(0, 0) rotate(0deg) scale(1);
}
50% {
    transform: translate(-25px, 25px) rotate(15deg) scale(1.1);
}
}
/* 背景浮动动画 */
@keyframes backgroundFloat-50eadcc4 {
0% {
    transform: translateY(0) rotate(0deg) scale(1);
}
50% {
    transform: translateY(-15px) rotate(2deg) scale(1.02);
}
100% {
    transform: translateY(-30px) rotate(-2deg) scale(1.05);
}
}
/* 内容层级提升 */
.hero .container[data-v-50eadcc4] {
  position: relative;
  z-index: 1;
}
.hero-content[data-v-50eadcc4] {
  display: flex;
  align-items: center;
  gap: 60px;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
}
/* 响应式设计 */
@media (max-width: 768px) {
.hero-content[data-v-50eadcc4] {
    flex-direction: column;
    gap: var(--spacing-10);
    text-align: center;
}
}
.hero-text[data-v-50eadcc4] {
  flex: 1;
  min-width: 45%;
  /* 确保在大屏幕上有足够的宽度 */
  max-width: 600px;
}
.hero-text h2[data-v-50eadcc4] {
  font-size: 38px;
  font-weight: var(--font-weight-bold);
  line-height: 1.4;
  margin-bottom: var(--spacing-5);
}
.hero-subtitle[data-v-50eadcc4] {
  font-size: 20px;
  margin-bottom: var(--spacing-10);
  opacity: 0.9;
  line-height: 1.5;
  max-width: 100%;
  /* 确保副标题有足够的宽度 */
}
.hero-buttons[data-v-50eadcc4] {
  display: flex;
  gap: var(--spacing-4);
  flex-wrap: wrap;
}
.hero-image[data-v-50eadcc4] {
  flex: 1;
  min-width: 45%;
  /* 确保在大屏幕上有足够的宽度 */
  max-width: 500px;
}
.image-placeholder[data-v-50eadcc4] {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: var(--radius-xl);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
}
.image-placeholder img[data-v-50eadcc4] {
  width: 100%;
  height: 100%;
  object-fit: contain;
  /* 确保图片完整显示，不被裁剪 */
  object-position: center;
  transition: transform 0.3s ease;
}
.image-placeholder img[data-v-50eadcc4]:hover {
  transform: scale(1.05);
  /* 添加hover效果 */
}
/* 产品特性 */
.features[data-v-50eadcc4] {
  padding: 45px 0;
  background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 50%, #f8fafc 100%);
  overflow: hidden;
  position: relative;
}
/* 特性区域背景装饰 */
.features[data-v-50eadcc4]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: radial-gradient(circle at 10% 50%, rgba(99, 102, 241, 0.05) 0%, transparent 50%), radial-gradient(circle at 90% 50%, rgba(147, 51, 234, 0.05) 0%, transparent 50%);
  pointer-events: none;
}
.mk-section-header[data-v-50eadcc4] {
  text-align: center;
  margin-bottom: 52px;
  display: block !important;
}
.mk-section-header h2[data-v-50eadcc4] {
  font-size: 36px;
  font-weight: var(--font-weight-semibold);
  margin-bottom: var(--spacing-4);
}
.mk-section-header p[data-v-50eadcc4] {
  font-size: 18px;
  color: #666;
}
.features-grid[data-v-50eadcc4] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-6);
}
@media (max-width: 991px) {
.features-grid[data-v-50eadcc4] {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-6);
}
}
@media (max-width: 768px) {
.features-grid[data-v-50eadcc4] {
    grid-template-columns: 1fr;
    gap: var(--spacing-4);
}
.mk-section-header h2[data-v-50eadcc4] {
    font-size: 28px;
}
.mk-section-header p[data-v-50eadcc4] {
    font-size: var(--font-size-md);
}
.feature-card[data-v-50eadcc4] {
    padding: var(--spacing-5) var(--spacing-4);
    border-radius: 16px;
}
.feature-icon[data-v-50eadcc4] {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    font-size: 24px;
}
.feature-card h3[data-v-50eadcc4] {
    font-size: 18px;
}
.feature-card p[data-v-50eadcc4] {
    font-size: 14px;
    line-height: 1.6;
}
.feature-highlights[data-v-50eadcc4] {
    flex-wrap: wrap;
    gap: var(--spacing-2);
}
.highlight-item[data-v-50eadcc4] {
    font-size: 13px;
    padding: var(--spacing-2) var(--spacing-3);
}
.hero-content[data-v-50eadcc4] {
    padding: var(--spacing-4) 0;
}
.hero-title[data-v-50eadcc4] {
    font-size: 32px;
    line-height: 1.2;
}
.hero-subtitle[data-v-50eadcc4] {
    font-size: 15px;
    margin-top: var(--spacing-2);
}
.hero-actions[data-v-50eadcc4] {
    flex-direction: column;
    gap: var(--spacing-3);
}
.hero-actions .ant-btn[data-v-50eadcc4] {
    min-height: 44px;
    font-size: 15px;
    width: 100%;
}
}
.feature-card[data-v-50eadcc4] {
  background: linear-gradient(145deg, #ffffff 0%, #fefefe 100%);
  padding: var(--spacing-8) var(--spacing-7);
  border-radius: 24px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06), 0 1px 3px rgba(0, 0, 0, 0.04);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  border: 1px solid rgba(0, 0, 0, 0.04);
  position: relative;
  overflow: hidden;
}
.feature-card[data-v-50eadcc4]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 0;
  background: linear-gradient(180deg, #1890ff 0%, #40a9ff 100%);
  border-radius: 0 4px 4px 0;
  opacity: 0.8;
  transition: height 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;
}
.feature-card[data-v-50eadcc4]:hover::before {
  height: 100%;
  opacity: 1;
}
.feature-card[data-v-50eadcc4]::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(180deg, rgba(24, 144, 255, 0.02) 0%, transparent 30%);
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
}
.feature-card[data-v-50eadcc4]:hover::after {
  opacity: 1;
}
.feature-card[data-v-50eadcc4]:hover {
  transform: translateY(-6px) scale(1.01);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.14), 0 4px 12px rgba(0, 0, 0, 0.08);
  border-color: rgba(24, 144, 255, 0.15);
}
.feature-card[data-v-50eadcc4]:nth-child(1)::before {
  background: linear-gradient(180deg, #1890ff, #40a9ff);
}
.feature-card[data-v-50eadcc4]:nth-child(2)::before {
  background: linear-gradient(180deg, #722ed1, #b37feb);
}
.feature-card[data-v-50eadcc4]:nth-child(3)::before {
  background: linear-gradient(180deg, #3dbbae, #36cfc9);
}
.feature-card[data-v-50eadcc4]:nth-child(4)::before {
  background: linear-gradient(180deg, #eb2f96, #f759ab);
}
.feature-card[data-v-50eadcc4]:nth-child(5)::before {
  background: linear-gradient(180deg, #fa8c16, #ffa940);
}
.feature-card[data-v-50eadcc4]:nth-child(6)::before {
  background: linear-gradient(180deg, #52c41a, #73d13d);
}
.feature-card[data-v-50eadcc4]:nth-child(7)::before {
  background: linear-gradient(180deg, #2f54eb, #597ef7);
}
.feature-card[data-v-50eadcc4]:nth-child(8)::before {
  background: linear-gradient(180deg, #faad14, #ffd666);
}
.feature-card[data-v-50eadcc4]:nth-child(9)::before {
  background: linear-gradient(180deg, #9254de, #b37feb);
}
.feature-card[data-v-50eadcc4]:nth-child(10)::before {
  background: linear-gradient(180deg, #f5222d, #ff4d4f);
}
.feature-card[data-v-50eadcc4]:nth-child(11)::before {
  background: linear-gradient(180deg, #1890ff, #69c0ff);
}
.feature-card[data-v-50eadcc4]:nth-child(12)::before {
  background: linear-gradient(180deg, #11b95c, #389e0d);
}
.feature-card[data-v-50eadcc4]:nth-child(13)::before {
  background: linear-gradient(180deg, #597ef7, #85a5ff);
}
.feature-card[data-v-50eadcc4]:nth-child(14)::before {
  background: linear-gradient(180deg, #36cfc9, #5cdbd3);
}
.feature-card[data-v-50eadcc4]:nth-child(15)::before {
  background: linear-gradient(180deg, #ff7a45, #ff9c6e);
}
.feature-card[data-v-50eadcc4]:nth-child(16)::before {
  background: linear-gradient(180deg, #9254de, #d3adf7);
}
.feature-card[data-v-50eadcc4]:nth-child(17)::before {
  background: linear-gradient(180deg, #3dbbae, #87e8de);
}
.feature-card[data-v-50eadcc4]:nth-child(18)::before {
  background: linear-gradient(180deg, #f5222d, #ff7875);
}
/* 功能卡片头部 */
.feature-header[data-v-50eadcc4] {
  display: flex;
  align-items: center;
  gap: var(--spacing-4);
  margin-bottom: var(--spacing-4);
}
.feature-icon[data-v-50eadcc4] {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  color: #fff;
  background: linear-gradient(135deg, #1890ff 0%, #40a9ff 100%);
  flex-shrink: 0;
  box-shadow: 0 6px 20px rgba(24, 144, 255, 0.3);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}
.feature-icon[data-v-50eadcc4]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.2) 0%, transparent 50%);
  pointer-events: none;
}
.feature-card:hover .feature-icon[data-v-50eadcc4] {
  transform: scale(1.1) rotate(3deg);
  box-shadow: 0 10px 30px rgba(24, 144, 255, 0.4);
}
/* 不同模块的图标渐变色 */
.feature-card:nth-child(1) .feature-icon[data-v-50eadcc4] {
  background: linear-gradient(135deg, #1890ff 0%, #40a9ff 100%);
  box-shadow: 0 4px 12px rgba(24, 144, 255, 0.25);
}
.feature-card:nth-child(2) .feature-icon[data-v-50eadcc4] {
  background: linear-gradient(135deg, #722ed1 0%, #b37feb 100%);
  box-shadow: 0 4px 12px rgba(114, 46, 209, 0.25);
}
.feature-card:nth-child(3) .feature-icon[data-v-50eadcc4] {
  background: linear-gradient(135deg, #3dbbae 0%, #36cfc9 100%);
  box-shadow: 0 4px 12px rgba(19, 194, 194, 0.25);
}
.feature-card:nth-child(4) .feature-icon[data-v-50eadcc4] {
  background: linear-gradient(135deg, #eb2f96 0%, #f759ab 100%);
  box-shadow: 0 4px 12px rgba(235, 47, 150, 0.25);
}
.feature-card:nth-child(5) .feature-icon[data-v-50eadcc4] {
  background: linear-gradient(135deg, #fa8c16 0%, #ffa940 100%);
  box-shadow: 0 4px 12px rgba(250, 140, 22, 0.25);
}
.feature-card:nth-child(6) .feature-icon[data-v-50eadcc4] {
  background: linear-gradient(135deg, #52c41a 0%, #73d13d 100%);
  box-shadow: 0 4px 12px rgba(82, 196, 26, 0.25);
}
.feature-card:nth-child(7) .feature-icon[data-v-50eadcc4] {
  background: linear-gradient(135deg, #2f54eb 0%, #597ef7 100%);
  box-shadow: 0 4px 12px rgba(47, 84, 235, 0.25);
}
.feature-card:nth-child(8) .feature-icon[data-v-50eadcc4] {
  background: linear-gradient(135deg, #faad14 0%, #ffd666 100%);
  box-shadow: 0 4px 12px rgba(250, 173, 20, 0.25);
}
.feature-card:nth-child(9) .feature-icon[data-v-50eadcc4] {
  background: linear-gradient(135deg, #9254de 0%, #b37feb 100%);
  box-shadow: 0 4px 12px rgba(146, 84, 222, 0.25);
}
.feature-card:nth-child(10) .feature-icon[data-v-50eadcc4] {
  background: linear-gradient(135deg, #f5222d 0%, #ff4d4f 100%);
  box-shadow: 0 4px 12px rgba(245, 34, 45, 0.25);
}
.feature-card:nth-child(11) .feature-icon[data-v-50eadcc4] {
  background: linear-gradient(135deg, #1890ff 0%, #69c0ff 100%);
  box-shadow: 0 4px 12px rgba(24, 144, 255, 0.25);
}
.feature-card:nth-child(12) .feature-icon[data-v-50eadcc4] {
  background: linear-gradient(135deg, #11b95c 0%, #389e0d 100%);
  box-shadow: 0 4px 12px rgba(17, 185, 92, 0.25);
}
.feature-card:nth-child(13) .feature-icon[data-v-50eadcc4] {
  background: linear-gradient(135deg, #597ef7 0%, #85a5ff 100%);
  box-shadow: 0 4px 12px rgba(89, 126, 247, 0.25);
}
.feature-card:nth-child(14) .feature-icon[data-v-50eadcc4] {
  background: linear-gradient(135deg, #36cfc9 0%, #5cdbd3 100%);
  box-shadow: 0 4px 12px rgba(54, 207, 201, 0.25);
}
.feature-card:nth-child(15) .feature-icon[data-v-50eadcc4] {
  background: linear-gradient(135deg, #ff7a45 0%, #ff9c6e 100%);
  box-shadow: 0 4px 12px rgba(255, 122, 69, 0.25);
}
.feature-card:nth-child(16) .feature-icon[data-v-50eadcc4] {
  background: linear-gradient(135deg, #9254de 0%, #d3adf7 100%);
  box-shadow: 0 4px 12px rgba(146, 84, 222, 0.25);
}
.feature-card:nth-child(17) .feature-icon[data-v-50eadcc4] {
  background: linear-gradient(135deg, #3dbbae 0%, #87e8de 100%);
  box-shadow: 0 4px 12px rgba(19, 194, 194, 0.25);
}
.feature-card:nth-child(18) .feature-icon[data-v-50eadcc4] {
  background: linear-gradient(135deg, #f5222d 0%, #ff7875 100%);
  box-shadow: 0 4px 12px rgba(245, 34, 45, 0.25);
}
/* 不同模块的标签颜色 */
.feature-card:nth-child(1) .feature-tag[data-v-50eadcc4] {
  background: #e6f7ff;
  color: #1890ff;
}
.feature-card:nth-child(2) .feature-tag[data-v-50eadcc4] {
  background: #f9f0ff;
  color: #722ed1;
}
.feature-card:nth-child(3) .feature-tag[data-v-50eadcc4] {
  background: #e6fffb;
  color: #3dbbae;
}
.feature-card:nth-child(4) .feature-tag[data-v-50eadcc4] {
  background: #fff0f6;
  color: #eb2f96;
}
.feature-card:nth-child(5) .feature-tag[data-v-50eadcc4] {
  background: #fff7e6;
  color: #fa8c16;
}
.feature-card:nth-child(6) .feature-tag[data-v-50eadcc4] {
  background: #f6ffed;
  color: #52c41a;
}
.feature-card:nth-child(7) .feature-tag[data-v-50eadcc4] {
  background: #f0f5ff;
  color: #2f54eb;
}
.feature-card:nth-child(8) .feature-tag[data-v-50eadcc4] {
  background: #fffbe6;
  color: #d48806;
}
.feature-card:nth-child(9) .feature-tag[data-v-50eadcc4] {
  background: #f9f0ff;
  color: #9254de;
}
.feature-card:nth-child(10) .feature-tag[data-v-50eadcc4] {
  background: #fff1f0;
  color: #f5222d;
}
.feature-card:nth-child(11) .feature-tag[data-v-50eadcc4] {
  background: #e6f7ff;
  color: #1890ff;
}
.feature-card:nth-child(12) .feature-tag[data-v-50eadcc4] {
  background: #f6ffed;
  color: #389e0d;
}
.feature-card:nth-child(13) .feature-tag[data-v-50eadcc4] {
  background: #f0f5ff;
  color: #597ef7;
}
.feature-card:nth-child(14) .feature-tag[data-v-50eadcc4] {
  background: #e6fffb;
  color: #36cfc9;
}
.feature-card:nth-child(15) .feature-tag[data-v-50eadcc4] {
  background: #fff7e6;
  color: #fa541c;
}
.feature-card:nth-child(16) .feature-tag[data-v-50eadcc4] {
  background: #f9f0ff;
  color: #9254de;
}
.feature-card:nth-child(17) .feature-tag[data-v-50eadcc4] {
  background: #e6fffb;
  color: #3dbbae;
}
.feature-card:nth-child(18) .feature-tag[data-v-50eadcc4] {
  background: #fff1f0;
  color: #f5222d;
}
.feature-title-wrap[data-v-50eadcc4] {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.feature-title-row[data-v-50eadcc4] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-3);
}
.feature-title-row h3[data-v-50eadcc4] {
  font-size: 18px;
  font-weight: var(--font-weight-bold);
  color: #1f2937;
  margin: 0;
  line-height: 1.3;
  flex: 1;
}
.feature-tag[data-v-50eadcc4] {
  display: inline-block;
  background: #e6f7ff;
  color: #1890ff;
  padding: var(--spacing-0-5) var(--spacing-2-5);
  border-radius: 4px;
  font-size: 12px;
  font-weight: var(--font-weight-semibold);
  flex-shrink: 0;
}
.feature-tag-external[data-v-50eadcc4] {
  background: rgba(139, 92, 246, 0.1);
  color: #8b5cf6;
}
/* 功能描述 */
.feature-desc[data-v-50eadcc4] {
  color: #6b7280;
  font-size: var(--font-size-base);
  line-height: 1.7;
  margin-bottom: var(--spacing-5);
}
/* 功能亮点 */
.feature-highlights[data-v-50eadcc4] {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-2);
}
.highlight-item[data-v-50eadcc4] {
  display: flex;
  align-items: center;
  gap: var(--spacing-1);
  font-size: 12px;
  color: #4b5563;
  background: linear-gradient(145deg, #fafafa 0%, #f5f5f5 100%);
  padding: var(--spacing-1-5) var(--spacing-3);
  border-radius: 8px;
  border: 1px solid #e5e7eb;
  transition: all 0.3s ease;
}
.highlight-item[data-v-50eadcc4]:hover {
  background: linear-gradient(145deg, #f0f9ff 0%, #e0f2fe 100%);
  border-color: #bae6fd;
  transform: translateY(-2px);
}
.highlight-item .anticon[data-v-50eadcc4] {
  color: #10b981;
  font-size: 12px;
}
/* 价格方案 */
.pricing[data-v-50eadcc4] {
  padding: 45px 0;
  overflow: hidden;
  background: linear-gradient(180deg, #ffffff 0%, #fafbfc 40%, #f5f8fa 60%, #ffffff 100%);
  position: relative;
}
/* 价格区域背景装饰 */
.pricing[data-v-50eadcc4]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: radial-gradient(circle at 10% 30%, rgba(59, 130, 246, 0.08) 0%, transparent 50%), radial-gradient(circle at 90% 70%, rgba(14, 165, 233, 0.08) 0%, transparent 50%), radial-gradient(circle at 50% 50%, rgba(168, 85, 247, 0.04) 0%, transparent 60%);
  pointer-events: none;
}
.pricing-grid[data-v-50eadcc4] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-8);
  position: relative;
  z-index: 1;
}
.pricing-grid-2col[data-v-50eadcc4] {
  grid-template-columns: 1fr 1fr;
  align-items: start;
}
/* ===== 双卡片方案 ===== */
.pricing-dual[data-v-50eadcc4] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  max-width: 1200px;
  margin: 0 auto;
}
.plan-card[data-v-50eadcc4] {
  background: linear-gradient(145deg, #ffffff 0%, #fefefe 100%);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.04);
  border: 1px solid rgba(0, 0, 0, 0.04);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  display: flex;
  flex-direction: column;
}
.plan-card[data-v-50eadcc4]:hover {
  transform: translateY(-6px);
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.14), 0 4px 12px rgba(0, 0, 0, 0.08);
}
.plan-card-main[data-v-50eadcc4] {
  border-top: 4px solid #3b82f6;
}
.plan-card-plugins[data-v-50eadcc4] {
  border-top: 4px solid #8b5cf6;
}
.plan-card-top[data-v-50eadcc4] {
  padding: 32px 32px 24px;
  text-align: center;
}
.plan-badge[data-v-50eadcc4] {
  display: inline-block;
  padding: 5px 18px;
  border-radius: 14px;
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 14px;
  letter-spacing: 1px;
}
.plan-badge-hot[data-v-50eadcc4] {
  background: #3b82f6;
  box-shadow: 0 2px 8px rgba(59, 130, 246, 0.3);
}
.plan-badge-plugins[data-v-50eadcc4] {
  background: linear-gradient(135deg, #a78bfa, #7c3aed);
  box-shadow: 0 2px 8px rgba(167, 139, 250, 0.3);
}
.plan-title[data-v-50eadcc4] {
  font-size: 24px;
  font-weight: 700;
  color: #1d2129;
  margin-bottom: 12px;
}
.plan-price-row[data-v-50eadcc4] {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 10px;
}
.plan-price-slash[data-v-50eadcc4] {
  font-size: 14px;
  color: #999;
  text-decoration: line-through;
}
.plan-price[data-v-50eadcc4] {
  font-size: 44px;
  font-weight: 800;
  color: #3b82f6;
  line-height: 1.2;
}
.plan-price-tag[data-v-50eadcc4] {
  font-size: 13px;
  font-weight: 600;
  color: #3b82f6;
  background: rgba(59, 130, 246, 0.1);
  padding: 3px 12px;
  border-radius: 6px;
}
.plan-price-custom[data-v-50eadcc4] {
  text-align: center;
  padding: 16px 0;
}
@media (max-width: 768px) {
.plan-price-custom[data-v-50eadcc4] {
    padding: 12px;
}
}
.price-custom-label[data-v-50eadcc4] {
  font-size: 28px;
  font-weight: 700;
  color: #8b5cf6;
  line-height: 1.3;
  letter-spacing: 2px;
}
.price-custom-desc[data-v-50eadcc4] {
  font-size: 13px;
  color: #a78bfa;
  margin-top: 6px;
  font-weight: 500;
  letter-spacing: 1px;
}
.plan-desc[data-v-50eadcc4] {
  font-size: 15px;
  color: #86909c;
  margin: 10px 0 20px;
  line-height: 1.5;
}
.plan-cta[data-v-50eadcc4] {
  border-radius: 12px !important;
  font-weight: 600 !important;
  height: 48px !important;
  font-size: 16px !important;
  background: #3b82f6 !important;
  border-color: #3b82f6 !important;
  color: #fff !important;
  box-shadow: 0 4px 14px rgba(59, 130, 246, 0.35);
  transition: all 0.3s ease;
}
.plan-cta[data-v-50eadcc4]:hover {
  background: #2563eb !important;
  border-color: #2563eb !important;
  box-shadow: 0 6px 20px rgba(59, 130, 246, 0.45);
  transform: translateY(-1px);
}
.plan-card-body[data-v-50eadcc4] {
  padding: 0 16px 24px;
  flex: 1;
  overflow: hidden;
}
.plan-card-action[data-v-50eadcc4] {
  padding: 0 32px 28px;
}
/* 免费开源版卡片 */
.open-source-card[data-v-50eadcc4] {
  background: linear-gradient(145deg, #f8fafc 0%, #f1f5f9 100%);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.04);
  border: 1px solid rgba(0, 0, 0, 0.04);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  display: flex;
  flex-direction: column;
  max-width: 1200px;
  margin: 32px auto 0;
}
.open-source-card[data-v-50eadcc4]:hover {
  transform: translateY(-6px);
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.14), 0 4px 12px rgba(0, 0, 0, 0.08);
}
.open-source-card[data-v-50eadcc4]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #10b981, #34d399);
}
.open-source-header[data-v-50eadcc4] {
  padding: 32px 32px 24px;
  text-align: center;
  background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);
}
.open-source-badge[data-v-50eadcc4] {
  display: inline-block;
  padding: 5px 18px;
  border-radius: 14px;
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(135deg, #10b981, #059669);
  margin-bottom: 14px;
  letter-spacing: 1px;
}
.open-source-title[data-v-50eadcc4] {
  font-size: 24px;
  font-weight: 700;
  color: #1d2129;
  margin-bottom: 8px;
}
.open-source-desc[data-v-50eadcc4] {
  font-size: 14px;
  color: #6b7280;
}
.open-source-body[data-v-50eadcc4] {
  padding: 24px 32px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.open-source-section[data-v-50eadcc4] {
  margin-bottom: 0;
}
.open-source-section-title[data-v-50eadcc4] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 700;
  color: #10b981;
  letter-spacing: 0.5px;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 2px solid rgba(16, 185, 129, 0.2);
}
.open-source-feature[data-v-50eadcc4] {
  font-size: 13px;
  color: #4b5563;
  margin-bottom: 6px;
  padding-left: 4px;
}
.open-source-features[data-v-50eadcc4] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.open-source-feature-item[data-v-50eadcc4] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #059669;
  background: rgba(16, 185, 129, 0.1);
  padding: 6px 12px;
  border-radius: 6px;
}
.open-source-feature-item[data-v-50eadcc4] .anticon {
  font-size: 14px;
}
.open-source-action[data-v-50eadcc4] {
  padding: 0 32px 28px;
  text-align: center;
}
.open-source-btn[data-v-50eadcc4] {
  background: linear-gradient(135deg, #10b981, #059669);
  border: none;
  color: #fff;
  font-weight: 600;
}
.open-source-btn[data-v-50eadcc4]:hover {
  background: linear-gradient(135deg, #059669, #047857);
  color: #fff;
}
.open-source-note[data-v-50eadcc4] {
  font-size: 12px;
  color: #9ca3af;
  margin-top: 12px;
}
@media (max-width: 991px) {
.open-source-body[data-v-50eadcc4] {
    grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 768px) {
.open-source-body[data-v-50eadcc4] {
    grid-template-columns: 1fr;
}
.header-badge[data-v-50eadcc4] {
    padding: var(--spacing-1) var(--spacing-2) !important;
    border-radius: 24px;
    font-size: 14px !important;
}
}
.plan-section[data-v-50eadcc4] {
  margin-bottom: 16px;
  padding: 0 8px;
}
.plan-section-title[data-v-50eadcc4] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 700;
  color: #3b82f6;
  letter-spacing: 0.5px;
  margin-bottom: 10px;
  padding-bottom: 8px;
  border-bottom: 2px solid rgba(59, 130, 246, 0.2);
}
.section-icon[data-v-50eadcc4] {
  font-size: 16px;
  color: #3b82f6;
}
.plan-feature[data-v-50eadcc4] {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  color: #4e5969;
  margin-bottom: 6px;
  line-height: 1.6;
}
/* 标签式紧凑布局 */
.plan-tags-grid[data-v-50eadcc4] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.plan-tag-group[data-v-50eadcc4] {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  flex-wrap: wrap;
}
.plan-tag-group-label[data-v-50eadcc4] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  font-weight: 600;
  color: #3b82f6;
  white-space: nowrap;
  min-width: fit-content;
  flex-shrink: 0;
}
.plan-tag-list[data-v-50eadcc4] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.plan-feature-tag[data-v-50eadcc4] {
  margin: 0;
  font-size: 12px;
  padding: 2px 10px;
  border-radius: 12px;
  background: rgba(59, 130, 246, 0.06);
  border: 1px solid rgba(59, 130, 246, 0.15);
  color: #4e5969;
  white-space: nowrap;
}
.plan-check[data-v-50eadcc4] {
  color: #22c55e;
  font-size: 16px;
  flex-shrink: 0;
  margin-top: 2px;
}
.plan-value-box[data-v-50eadcc4] {
  margin: 18px 0 14px;
  padding: 16px 20px;
  background: linear-gradient(135deg, #eff6ff 0%, #f5f3ff 100%);
  border-radius: 14px;
  border: 1px solid rgba(59, 130, 246, 0.2);
  box-shadow: 0 2px 8px rgba(59, 130, 246, 0.08);
}
@media (max-width: 768px) {
.plan-value-box[data-v-50eadcc4] {
    padding: 12px;
}
}
.plan-value-label[data-v-50eadcc4] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
  color: #3b82f6;
  margin-bottom: 8px;
}
.value-icon[data-v-50eadcc4] {
  font-size: 14px;
  color: #3b82f6;
}
.plan-value-text[data-v-50eadcc4] {
  font-size: 14px;
  color: #4b5563;
  line-height: 1.7;
}
.plan-value-text strong[data-v-50eadcc4] {
  color: #7c3aed;
  font-weight: 700;
}
.plan-footer-note[data-v-50eadcc4] {
  font-size: 13px;
  color: #8c8c8c;
  text-align: center;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px dashed #e8e8e8;
}
/* 右侧插件卡片 */
.plugin-card[data-v-50eadcc4] {
  padding: 12px;
  border-radius: 14px;
  border: 1px solid rgba(0, 0, 0, 0.16);
  background: #fff;
  margin-bottom: 12px;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.plugin-card[data-v-50eadcc4]:hover {
  border-color: rgba(139, 92, 246, 0.4);
}
.plugin-card-hot[data-v-50eadcc4] {
  border-color: rgba(139, 92, 246, 0.3);
  background: #fff;
}
.plugin-card-coming[data-v-50eadcc4] {
  opacity: 1;
}
.plugin-card-coming[data-v-50eadcc4]:hover {
  opacity: 1;
}
.plugin-card-top[data-v-50eadcc4] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}
.plugin-card-name[data-v-50eadcc4] {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  font-weight: 600;
  color: #1d2129;
}
.plugin-card-icon[data-v-50eadcc4] {
  font-size: 18px;
  color: #8b5cf6;
}
.plugin-card-badge[data-v-50eadcc4] {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 8px;
  font-size: 11px;
  font-weight: 600;
  background: linear-gradient(135deg, #8b5cf6, #7c3aed);
  color: #fff;
}
.plugin-card-badge-soon[data-v-50eadcc4] {
  background: #bfbfbf;
}
.plugin-card-price[data-v-50eadcc4] {
  font-size: 20px;
  font-weight: 700;
  color: #8b5cf6;
}
.plugin-card-price-tbd[data-v-50eadcc4] {
  font-size: 14px;
  font-weight: 500;
  color: #bfbfbf;
}
.plugin-card-desc[data-v-50eadcc4] {
  font-size: 13px;
  color: #86909c;
  line-height: 1.7;
}
/* 响应式 */
@media (max-width: 768px) {
.pricing-dual[data-v-50eadcc4] {
    grid-template-columns: 1fr;
}
}
@media (max-width: 991px) {
.pricing-grid[data-v-50eadcc4] {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-6);
}
.pricing-grid-2col[data-v-50eadcc4] {
    grid-template-columns: 1fr;
}
}
@media (max-width: 768px) {
.pricing-grid[data-v-50eadcc4] {
    grid-template-columns: 1fr;
    gap: var(--spacing-5);
}
}
.pricing-card[data-v-50eadcc4] {
  background: linear-gradient(145deg, #ffffff 0%, #fefefe 100%);
  border: 1px solid rgba(0, 0, 0, 0.05);
  border-radius: 28px;
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
  position: relative;
}
.pricing-card[data-v-50eadcc4]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, transparent 0%, rgba(24, 144, 255, 0.3) 50%, transparent 100%);
  opacity: 0;
  transition: opacity 0.4s ease;
}
.pricing-card[data-v-50eadcc4]:hover::before {
  opacity: 1;
}
.pricing-card[data-v-50eadcc4]:hover {
  transform: translateY(-8px);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.1), 0 4px 12px rgba(0, 0, 0, 0.06);
  border-color: rgba(59, 130, 246, 0.25);
}
/* 推荐卡片默认突出效果 */
.pricing-card[data-v-50eadcc4]:has(.recommend-badge) {
  border-color: rgba(255, 77, 79, 0.3);
  box-shadow: 0 8px 24px rgba(255, 77, 79, 0.12), 0 0 0 1px rgba(255, 77, 79, 0.08);
  transform: translateY(-4px);
  background: linear-gradient(180deg, #fff 0%, #fffbfb 100%);
}
.pricing-card[data-v-50eadcc4]:has(.recommend-badge):hover {
  box-shadow: 0 12px 32px rgba(255, 77, 79, 0.18), 0 0 0 1px rgba(255, 77, 79, 0.12);
  transform: translateY(-6px);
}
.pricing-card:has(.recommend-badge) .pricing-header[data-v-50eadcc4] {
  border-bottom-color: rgba(255, 77, 79, 0.1);
}
.pricing-card.popular[data-v-50eadcc4] {
  border-color: #0ea5e9;
  box-shadow: 0 16px 40px rgba(14, 165, 233, 0.22), 0 0 0 2px rgba(14, 165, 233, 0.12);
  position: relative;
  transform: translateY(-10px);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  animation: cardSelect-50eadcc4 0.5s ease-out;
  background: linear-gradient(145deg, #ffffff 0%, #f0fdfc 100%);
}
/* 选中卡片动画 */
@keyframes cardSelect-50eadcc4 {
0% {
    transform: translateY(0);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
50% {
    transform: translateY(-12px);
    box-shadow: 0 20px 48px rgba(14, 165, 233, 0.28), 0 0 0 2px rgba(14, 165, 233, 0.15);
}
100% {
    transform: translateY(-10px);
    box-shadow: 0 16px 40px rgba(14, 165, 233, 0.22), 0 0 0 2px rgba(14, 165, 233, 0.12);
}
}
/* 选中卡片顶部的发光效果 */
.pricing-card.popular[data-v-50eadcc4]::before {
  content: '';
  position: absolute;
  top: -1px;
  left: 5%;
  right: 5%;
  height: 4px;
  background: linear-gradient(90deg, transparent 0%, rgba(14, 165, 233, 0.4) 15%, rgba(14, 165, 233, 0.7) 35%, rgba(14, 165, 233, 0.9) 50%, rgba(14, 165, 233, 0.7) 65%, rgba(14, 165, 233, 0.4) 85%, transparent 100%);
  border-radius: 2px;
  box-shadow: 0 0 16px rgba(14, 165, 233, 0.5);
  animation: topGlow-50eadcc4 2.5s ease-in-out infinite;
}
@keyframes topGlow-50eadcc4 {
0%,
  100% {
    opacity: 0.5;
}
50% {
    opacity: 1;
}
}
.popular-badge[data-v-50eadcc4] {
  position: absolute;
  top: 0;
  right: 0;
  background: #3b82f6;
  color: #fff;
  padding: var(--spacing-2) var(--spacing-6);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  transform: rotate(45deg);
  transform-origin: top right;
  width: 200px;
  text-align: center;
}
/* 推荐标签样式 - 电商热卖风格 */
.recommend-badge[data-v-50eadcc4] {
  position: absolute;
  top: 16px;
  left: -4px;
  background: linear-gradient(135deg, #a78bfa 0%, #8b5cf6 30%, #7c3aed 60%, #6d28d9 100%);
  color: #fff;
  padding: var(--spacing-1-5) var(--spacing-4) var(--spacing-1-5) var(--spacing-5);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-bold);
  border-radius: 0 8px 8px 0;
  letter-spacing: 2px;
  z-index: 2;
  box-shadow: 2px 4px 14px rgba(124, 58, 237, 0.4);
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  animation: badgePulse-50eadcc4 3s ease-in-out infinite;
}
.recommend-badge-hot[data-v-50eadcc4] {
  background: linear-gradient(135deg, #3b82f6 0%, #60a5fa 30%, #8b5cf6 60%, #a78bfa 100%);
  box-shadow: 2px 4px 14px rgba(59, 130, 246, 0.4);
}
@keyframes badgePulse-50eadcc4 {
0%,
  100% {
    box-shadow: 2px 4px 14px rgba(124, 58, 237, 0.4);
}
50% {
    box-shadow: 2px 6px 20px rgba(124, 58, 237, 0.55);
}
}
.recommend-badge[data-v-50eadcc4]::before {
  content: '';
  position: absolute;
  left: 0;
  bottom: -8px;
  width: 0;
  height: 0;
  border-top: 8px solid #b32d00;
  border-left: 8px solid transparent;
}
.recommend-badge[data-v-50eadcc4]::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 0 8px 8px 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.3) 0%, transparent 60%);
  pointer-events: none;
}
/* 选中标签样式 */
.selected-badge[data-v-50eadcc4] {
  position: absolute;
  top: 8px;
  right: 8px;
  background: linear-gradient(135deg, #0ea5e9 0%, #38bdf8 100%);
  color: #fff;
  padding: var(--spacing-1-5) var(--spacing-4);
  font-size: 12px;
  font-weight: var(--font-weight-semibold);
  border-radius: 24px;
  z-index: 2;
  box-shadow: 0 4px 12px rgba(14, 165, 233, 0.4);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  animation: badgeSlideIn-50eadcc4 0.4s ease-out;
  display: flex;
  align-items: center;
  gap: var(--spacing-1-5);
}
/* 选中标签动画 */
@keyframes badgeSlideIn-50eadcc4 {
from {
    transform: translateX(100%);
    opacity: 0;
}
to {
    transform: translateX(0);
    opacity: 1;
}
}
/* 选中标签图标 */
.selected-badge[data-v-50eadcc4]::before {
  content: '✓';
  font-size: 10px;
  font-weight: bold;
  background: rgba(255, 255, 255, 0.2);
  width: 16px;
  height: 16px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.pricing-header[data-v-50eadcc4] {
  padding: var(--spacing-10) var(--spacing-8) var(--spacing-6);
  text-align: center;
  border-bottom: 1px solid #e8e8e8;
}
.pricing-header h3[data-v-50eadcc4] {
  font-size: 24px;
  font-weight: var(--font-weight-semibold);
  margin-bottom: var(--spacing-4);
}
.price[data-v-50eadcc4] {
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: var(--spacing-2);
}
.price-number[data-v-50eadcc4] {
  font-size: 36px;
  font-weight: var(--font-weight-bold);
  color: #1890ff;
}
.price-original-line[data-v-50eadcc4] {
  font-size: 13px;
  color: #999;
  text-decoration: line-through;
  text-align: center;
  width: 100%;
}
.price-period[data-v-50eadcc4] {
  font-size: var(--font-size-md);
  color: #666;
}
.pricing-features[data-v-50eadcc4] {
  padding: var(--spacing-8);
}
.feature-group[data-v-50eadcc4] {
  margin-bottom: 14px;
}
.feature-group-title[data-v-50eadcc4] {
  font-size: 12px;
  font-weight: 700;
  color: #1890ff;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 6px;
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(24, 144, 255, 0.15);
}
.feature-group .feature-item[data-v-50eadcc4] {
  margin-bottom: 4px;
  font-size: 13.5px;
}
.feature-item-final[data-v-50eadcc4] {
  margin-top: 8px !important;
  padding-top: 10px;
  border-top: 1px dashed #e5e6eb;
  font-size: 13px !important;
  color: #595959;
}
.pricing-value-summary[data-v-50eadcc4] {
  margin: 14px 0 8px;
  padding: 12px 16px;
  background: linear-gradient(135deg, #fff7e6 0%, #fff1f0 100%);
  border-radius: 10px;
  border: 1px solid rgba(250, 173, 20, 0.2);
}
.value-tag[data-v-50eadcc4] {
  font-size: 12px;
  font-weight: 700;
  color: #d48806;
  margin-bottom: 4px;
}
.value-text[data-v-50eadcc4] {
  font-size: 13px;
  color: #8c8c8c;
  line-height: 1.6;
}
.value-text strong[data-v-50eadcc4] {
  color: #f5222d;
  font-weight: 700;
}
.feature-item[data-v-50eadcc4] {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
  margin-bottom: var(--spacing-6);
  font-size: var(--font-size-md);
}
.feature-item.highlight[data-v-50eadcc4] {
  background: linear-gradient(135deg, rgba(255, 77, 79, 0.06) 0%, rgba(255, 77, 79, 0.02) 100%);
  padding: var(--spacing-2-5) var(--spacing-2);
  margin-left: -var(--spacing-2);
  border-radius: var(--radius-lg);
  border: 1px solid rgba(255, 77, 79, 0.15);
  margin-bottom: var(--spacing-6);
  font-weight: 500;
  color: #cf1322;
}
.feature-item.highlight.bonus[data-v-50eadcc4] {
  background: linear-gradient(135deg, rgba(255, 107, 53, 0.06) 0%, rgba(255, 69, 0, 0.02) 100%);
  border-color: rgba(255, 107, 53, 0.2);
  color: #d4380d;
}
.price-desc[data-v-50eadcc4] {
  font-size: 13px;
  color: var(--color-text-secondary);
  margin: var(--spacing-1) 0 0;
}
.feature-icon.success[data-v-50eadcc4] {
  color: #52c41a;
}
.feature-icon.danger[data-v-50eadcc4] {
  color: #ff4d4f;
}
.feature-icon.info[data-v-50eadcc4] {
  color: #1890ff;
}
.feature-icon[data-v-50eadcc4] {
  font-size: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  margin-right: var(--spacing-1);
}
.pricing-card-plugins .pricing-features[data-v-50eadcc4] {
  padding: 0 var(--spacing-6) var(--spacing-4);
}
.plugin-item[data-v-50eadcc4] {
  padding: 14px 16px;
  border-radius: 12px;
  border: 1px solid rgba(0, 0, 0, 0.06);
  background: #fafbfc;
  margin-bottom: 10px;
  transition: all 0.3s ease;
}
.plugin-item[data-v-50eadcc4]:hover {
  border-color: rgba(24, 144, 255, 0.3);
  background: #f0f7ff;
  box-shadow: 0 2px 8px rgba(24, 144, 255, 0.08);
}
.plugin-item.plugin-hot[data-v-50eadcc4] {
  border-color: rgba(24, 144, 255, 0.2);
  background: linear-gradient(135deg, #f0f7ff 0%, #fafbfc 100%);
}
.plugin-item.plugin-coming[data-v-50eadcc4] {
  opacity: 0.65;
  background: #f5f5f5;
}
.plugin-item.plugin-coming[data-v-50eadcc4]:hover {
  opacity: 0.85;
  border-color: rgba(0, 0, 0, 0.1);
  background: #f5f5f5;
  box-shadow: none;
}
.plugin-header[data-v-50eadcc4] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}
.plugin-name[data-v-50eadcc4] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 600;
  color: #1d2129;
}
.plugin-icon[data-v-50eadcc4] {
  font-size: 16px;
  color: #1890ff;
}
.plugin-badge[data-v-50eadcc4] {
  display: inline-block;
  padding: 1px 8px;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 600;
  background: linear-gradient(135deg, #1890ff, #096dd9);
  color: #fff;
}
.plugin-badge-soon[data-v-50eadcc4] {
  background: linear-gradient(135deg, #8c8c8c, #595959);
}
.plugin-price[data-v-50eadcc4] {
  font-size: 18px;
  font-weight: 700;
  color: #1890ff;
}
.plugin-price-tbd[data-v-50eadcc4] {
  font-size: 14px;
  font-weight: 500;
  color: #8c8c8c;
}
.plugin-desc[data-v-50eadcc4] {
  font-size: 13px;
  color: #86909c;
  line-height: 1.7;
}
.pricing-footer[data-v-50eadcc4] {
  padding: 0 var(--spacing-8) var(--spacing-8);
}
.pricing-footer[data-v-50eadcc4] .ant-btn-primary {
  background: #1890ff;
  color: #fff;
  border: none;
  border-radius: var(--radius-lg);
  padding: 0;
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-md);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 4px 12px rgba(24, 144, 255, 0.3);
}
.pricing-footer[data-v-50eadcc4] .ant-btn-primary:hover {
  background: #40a9ff;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(24, 144, 255, 0.4);
}
/* 在线演示 */
.demo[data-v-50eadcc4] {
  padding: 45px 0;
  background: #f5f5f5;
  overflow: hidden;
}
.demo-carousel-wrapper[data-v-50eadcc4] {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
.demo-actions[data-v-50eadcc4] {
  margin-top: var(--spacing-8);
  display: flex;
  gap: var(--spacing-6);
  flex-wrap: wrap;
  justify-content: center;
}
.demo-actions[data-v-50eadcc4] .ant-btn {
  font-weight: var(--font-weight-semibold);
  border-radius: var(--radius-lg);
  padding: 0 var(--spacing-8);
  font-size: var(--font-size-md);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.demo-actions[data-v-50eadcc4] .ant-btn-primary {
  background: #1890ff;
  color: #fff;
  border: none;
}
.demo-actions[data-v-50eadcc4] .ant-btn-primary:hover {
  background: #40a9ff;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(24, 144, 255, 0.4);
}
.demo-actions[data-v-50eadcc4] .ant-btn-text {
  color: #1890ff;
  background: transparent;
  border: 2px solid #1890ff;
}
.demo-actions[data-v-50eadcc4] .ant-btn-text:hover {
  color: #40a9ff;
  background: rgba(24, 144, 255, 0.05);
  border-color: #40a9ff;
  transform: translateY(-2px);
}
@media (max-width: 991px) {
.carousel-overlay[data-v-50eadcc4] {
    padding: var(--spacing-10) var(--spacing-6) var(--spacing-7);
}
.carousel-overlay-content h3[data-v-50eadcc4] {
    font-size: 18px;
}
.carousel-overlay-content p[data-v-50eadcc4] {
    font-size: 13px;
}
}
@media (max-width: 768px) {
.carousel-overlay[data-v-50eadcc4] {
    padding: 30px var(--spacing-5) var(--spacing-6);
}
.carousel-overlay-icon[data-v-50eadcc4] {
    width: 36px;
    height: 36px;
    margin-bottom: var(--spacing-2);
}
.carousel-overlay-icon svg[data-v-50eadcc4] {
    width: 20px;
    height: 20px;
}
.carousel-overlay-content h3[data-v-50eadcc4] {
    font-size: var(--font-size-md);
}
.carousel-overlay-content p[data-v-50eadcc4] {
    font-size: 12px;
}
.hero-image[data-v-50eadcc4] {
    min-width: 100%;
    /* 移动端占满宽度 */
    order: 2;
}
.demo-actions[data-v-50eadcc4] {
    justify-content: center;
}
}
/* 客户案例 */
.testimonials[data-v-50eadcc4] {
  padding: 45px 0;
  overflow: hidden;
}
.testimonials-grid[data-v-50eadcc4] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-8);
}
.testimonial-card[data-v-50eadcc4] {
  background: #fff;
  padding: var(--spacing-10) var(--spacing-8);
  border-radius: var(--radius-xl);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.testimonial-content p[data-v-50eadcc4] {
  font-size: var(--font-size-md);
  line-height: 1.6;
  margin-bottom: var(--spacing-8);
  color: #666;
  font-style: italic;
}
.testimonial-author[data-v-50eadcc4] {
  display: flex;
  align-items: center;
  gap: var(--spacing-4);
}
.author-avatar img[data-v-50eadcc4] {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  object-fit: cover;
}
.author-info h4[data-v-50eadcc4] {
  font-size: 18px;
  font-weight: var(--font-weight-semibold);
  margin-bottom: var(--spacing-1);
}
.author-info p[data-v-50eadcc4] {
  font-size: var(--font-size-base);
  color: #666;
}
@media (max-width: 991px) {
.testimonials-grid[data-v-50eadcc4] {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-6);
}
}
@media (max-width: 768px) {
.testimonials-grid[data-v-50eadcc4] {
    grid-template-columns: 1fr;
    gap: var(--spacing-5);
}
.testimonial-card[data-v-50eadcc4] {
    padding: var(--spacing-8) var(--spacing-6);
}
}
/* 可视化设计工具 */
.visual-tools[data-v-50eadcc4] {
  padding: 45px 0;
  background: linear-gradient(180deg, #f0f7ff 0%, #f5faff 50%, #f0f7ff 100%);
  overflow: hidden;
  position: relative;
}
.visual-tools[data-v-50eadcc4]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: radial-gradient(circle at 15% 30%, rgba(24, 144, 255, 0.06) 0%, transparent 45%), radial-gradient(circle at 85% 70%, rgba(114, 46, 209, 0.05) 0%, transparent 45%);
  pointer-events: none;
}
.visual-tools-grid[data-v-50eadcc4] {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: var(--spacing-5);
  max-width: 1200px;
  margin: 0 auto;
}
.visual-tool-card[data-v-50eadcc4] {
  background: linear-gradient(145deg, #ffffff 0%, #fefefe 100%);
  border-radius: 16px;
  padding: var(--spacing-6);
  text-align: center;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.04);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  border: 1px solid rgba(0, 0, 0, 0.04);
  cursor: pointer;
  position: relative;
  overflow: hidden;
}
.visual-tool-card[data-v-50eadcc4]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #1890ff, #722ed1);
  opacity: 0;
  transition: opacity 0.3s ease;
}
.visual-tool-card[data-v-50eadcc4]:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.14), 0 4px 12px rgba(0, 0, 0, 0.08);
}
.visual-tool-card[data-v-50eadcc4]:hover::before {
  opacity: 1;
}
.visual-tool-icon[data-v-50eadcc4] {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto var(--spacing-4);
  font-size: 24px;
  color: #fff;
}
.visual-tool-card h3[data-v-50eadcc4] {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: var(--spacing-2);
  color: #262626;
}
.visual-tool-card p[data-v-50eadcc4] {
  font-size: 13px;
  color: #8c8c8c;
  line-height: 1.6;
  margin-bottom: var(--spacing-4);
  min-height: 60px;
}
.visual-tool-action[data-v-50eadcc4] {
  margin-top: auto;
}
@media (max-width: 1200px) {
.visual-tools-grid[data-v-50eadcc4] {
    grid-template-columns: repeat(3, 1fr);
}
}
@media (max-width: 768px) {
.visual-tools-grid[data-v-50eadcc4] {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-4);
}
.visual-tool-card[data-v-50eadcc4] {
    padding: var(--spacing-4);
}
.visual-tool-card p[data-v-50eadcc4] {
    min-height: auto;
}
}
@media (max-width: 480px) {
.visual-tools-grid[data-v-50eadcc4] {
    grid-template-columns: 1fr;
}
}
/* 联系我们 */
.contact[data-v-50eadcc4] {
  padding: 45px 0;
  background: linear-gradient(180deg, #f5f5f5 0%, #f8f8f8 50%, #f5f5f5 100%);
  overflow: hidden;
  position: relative;
}
.contact[data-v-50eadcc4]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: radial-gradient(circle at 10% 50%, rgba(24, 144, 255, 0.05) 0%, transparent 40%), radial-gradient(circle at 90% 50%, rgba(14, 165, 233, 0.05) 0%, transparent 40%);
  pointer-events: none;
}
.contact-content[data-v-50eadcc4] {
  display: flex;
  justify-content: center;
  gap: 80px;
  flex-wrap: wrap;
}
.contact-info[data-v-50eadcc4] {
  display: flex;
  gap: 60px;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
}
.contact-item[data-v-50eadcc4] {
  display: flex;
  align-items: flex-start;
  gap: var(--spacing-4);
  flex: 1;
  min-width: 300px;
  background: linear-gradient(145deg, #ffffff 0%, #fefefe 100%);
  padding: var(--spacing-6);
  border-radius: 20px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.04);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  border: 1px solid rgba(0, 0, 0, 0.04);
}
.contact-item[data-v-50eadcc4]:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.14), 0 4px 12px rgba(0, 0, 0, 0.08);
}
.contact-icon[data-v-50eadcc4] {
  font-size: 24px;
  color: #1890ff;
  margin-top: -var(--spacing-1);
}
.contact-text h4[data-v-50eadcc4] {
  font-size: 18px;
  font-weight: var(--font-weight-semibold);
  margin-bottom: var(--spacing-2);
}
.contact-text p[data-v-50eadcc4] {
  font-size: var(--font-size-md);
  color: #666;
}
.wechat-qrcode[data-v-50eadcc4] {
  margin-top: var(--spacing-3);
}
@media (max-width: 991px) {
.contact-content[data-v-50eadcc4] {
    gap: var(--spacing-10);
}
.contact-info[data-v-50eadcc4] {
    gap: var(--spacing-10);
}
}
@media (max-width: 768px) {
.contact-content[data-v-50eadcc4] {
    flex-direction: column;
    align-items: center;
}
.contact-info[data-v-50eadcc4] {
    flex-direction: column;
    gap: var(--spacing-5);
}
.contact-item[data-v-50eadcc4] {
    min-width: 100%;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.wechat-qrcode img[data-v-50eadcc4] {
    width: 180px !important;
    height: 180px !important;
}
}
/* 页脚 */
.marketing-footer[data-v-50eadcc4] {
  background: linear-gradient(135deg, #0a0f1a 0%, #0f172a 30%, #1e293b 50%, #0f172a 70%, #0a0f1a 100%);
  color: #fff;
  padding: 60px 0 var(--spacing-6);
  overflow: hidden;
  position: relative;
}
/* 页脚背景装饰 */
.marketing-footer[data-v-50eadcc4]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: radial-gradient(circle at 15% 15%, rgba(59, 130, 246, 0.1) 0%, transparent 45%), radial-gradient(circle at 85% 85%, rgba(14, 165, 233, 0.08) 0%, transparent 45%), radial-gradient(circle at 50% 50%, rgba(168, 85, 247, 0.05) 0%, transparent 55%), linear-gradient(rgba(255, 255, 255, 0.015) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.015) 1px, transparent 1px);
  background-size: 100% 100%,
    100% 100%,
    100% 100%,
    50px 50px,
    50px 50px;
  pointer-events: none;
}
.footer-content[data-v-50eadcc4] {
  display: flex;
  justify-content: space-between;
  margin-bottom: var(--spacing-10);
  flex-wrap: wrap;
  gap: var(--spacing-10);
  position: relative;
  z-index: 1;
}
.footer-logo h3[data-v-50eadcc4] {
  font-size: 28px;
  font-weight: var(--font-weight-semibold);
  margin-bottom: var(--spacing-4);
  background: linear-gradient(135deg, #60a5fa 0%, #38bdf8 50%, #22d3ee 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
@media (max-width: 768px) {
.footer-content[data-v-50eadcc4] {
    flex-direction: column;
    gap: var(--spacing-10);
}
}
.footer-logo p[data-v-50eadcc4] {
  color: #94a3b8;
  font-size: var(--font-size-base);
}
.footer-links[data-v-50eadcc4] {
  display: flex;
  gap: 60px;
}
.footer-column h4[data-v-50eadcc4] {
  font-size: 16px;
  font-weight: var(--font-weight-semibold);
  margin-bottom: var(--spacing-6);
  color: #cbd5e1;
}
.footer-link[data-v-50eadcc4] {
  display: block;
  color: #94a3b8;
  text-decoration: none;
  font-size: var(--font-size-base);
  margin-bottom: var(--spacing-3);
  transition: all 0.3s ease;
}
.footer-link[data-v-50eadcc4]:hover {
  color: #60a5fa;
  transform: translateX(4px);
}
.footer-bottom[data-v-50eadcc4] {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  text-align: center;
  color: #64748b;
  font-size: var(--font-size-sm);
  padding-top: var(--spacing-6);
  position: relative;
  z-index: 1;
}
.footer-bottom p[data-v-50eadcc4] {
  margin-top: 0;
  margin-bottom: 0;
}
/* 共创计划 */
.partnership[data-v-50eadcc4] {
  padding: 45px 0;
  background: linear-gradient(180deg, #f8fafc 0%, #f0f4f8 50%, #f5f8fc 100%);
  overflow: hidden;
  position: relative;
}
.partnership[data-v-50eadcc4]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: radial-gradient(circle at 20% 20%, rgba(139, 92, 246, 0.05) 0%, transparent 45%), radial-gradient(circle at 80% 80%, rgba(59, 130, 246, 0.05) 0%, transparent 45%);
  pointer-events: none;
}
.partnership-content[data-v-50eadcc4] {
  max-width: 1024px;
  margin: 0 auto;
}
.partnership-grid[data-v-50eadcc4] {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--spacing-8);
  margin-bottom: 60px;
  max-width: 1024px;
  margin-left: auto;
  margin-right: auto;
}
/* 共创卡片 - 与价格方案卡片风格一致 */
.partnership-card[data-v-50eadcc4] {
  background: linear-gradient(145deg, #ffffff 0%, #fefefe 100%);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.04);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  border: 1px solid rgba(0, 0, 0, 0.04);
}
.partnership-card[data-v-50eadcc4]:hover {
  transform: translateY(-6px);
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.14), 0 4px 12px rgba(0, 0, 0, 0.08);
}
/* 卡片顶部渐变条 */
.partnership-card[data-v-50eadcc4]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
}
.co-create-card[data-v-50eadcc4]::before {
  background: linear-gradient(90deg, #1890ff, #40a9ff);
}
.referral-card[data-v-50eadcc4]::before {
  background: linear-gradient(90deg, #722ed1, #9254de);
}
/* 卡片头部 */
.cocreate-header[data-v-50eadcc4],
.referral-header[data-v-50eadcc4] {
  position: relative;
  overflow: hidden;
}
.cocreate-header[data-v-50eadcc4]::after,
.referral-header[data-v-50eadcc4]::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.1), transparent);
  transform: rotate(45deg);
  animation: shimmer 4s infinite;
}
/* 权益网格优化 */
.co-create-card .cocreate-section:last-of-type .cocreate-benefits[data-v-50eadcc4] {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--spacing-3);
}
.co-create-card .cocreate-benefit-item[data-v-50eadcc4] {
  background: #f8fafc;
  border-radius: var(--radius-xl);
  padding: var(--spacing-4) var(--spacing-3);
  text-align: center;
  transition: all var(--duration-base) var(--easing-ease-out);
  border: 1px solid #e2e8f0;
}
.co-create-card .cocreate-benefit-item[data-v-50eadcc4]:hover {
  background: #f1f5f9;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}
/* 推荐返利价格卡片优化 */
.referral-prices[data-v-50eadcc4] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-bottom: var(--spacing-4);
}
.referral-price-item[data-v-50eadcc4] {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 22px 16px 18px;
  background: #f9fafb;
  border-radius: 14px;
  border: 1.5px solid #e5e7eb;
  transition: all 0.25s ease;
  position: relative;
  text-align: center;
}
.referral-price-item[data-v-50eadcc4]:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(139, 92, 246, 0.12);
  border-color: #c4b5fd;
}
.referral-price-item .price-icon[data-v-50eadcc4] {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  color: #fff;
  background: linear-gradient(135deg, #a78bfa 0%, #c4b5fd 100%);
  margin-bottom: 14px;
  box-shadow: 0 4px 12px rgba(139, 92, 246, 0.2);
}
.referral-price-info[data-v-50eadcc4] {
  text-align: center;
}
.referral-price-item .price-label[data-v-50eadcc4] {
  font-size: 13px;
  color: #6b7280;
  margin-bottom: 6px;
  font-weight: 500;
}
.referral-price-item .price-value[data-v-50eadcc4] {
  font-size: 32px;
  font-weight: 800;
  color: #8b5cf6;
  line-height: 1.2;
  letter-spacing: -0.5px;
}
.referral-price-item .price-sub[data-v-50eadcc4] {
  font-size: 12px;
  color: #9ca3af;
  margin-top: 6px;
  font-weight: 500;
}
.referral-price-item .price-badge[data-v-50eadcc4] {
  position: absolute;
  top: -1px;
  right: -1px;
  background: linear-gradient(135deg, #ef4444, #f87171);
  color: #fff;
  font-size: 10px;
  padding: 4px 10px;
  border-radius: 0 14px 0 10px;
  font-weight: 600;
  letter-spacing: 0.5px;
}
/* 进阶版特殊样式 */
.referral-price-advanced[data-v-50eadcc4] {
  background: linear-gradient(135deg, #faf5ff 0%, #f5f3ff 100%);
  border-color: #ddd6fe;
}
.referral-price-advanced .price-icon[data-v-50eadcc4] {
  background: linear-gradient(135deg, #8b5cf6 0%, #a78bfa 100%);
}
.referral-price-advanced .price-value[data-v-50eadcc4] {
  color: #7c3aed;
}
/* 旗舰版特殊样式 */
.referral-price-flagship[data-v-50eadcc4] {
  background: linear-gradient(135deg, #f5f3ff 0%, #ede9fe 100%);
  border: 2px solid #8b5cf6;
  box-shadow: 0 4px 16px rgba(139, 92, 246, 0.1);
}
.referral-price-flagship[data-v-50eadcc4]:hover {
  box-shadow: 0 8px 28px rgba(139, 92, 246, 0.2);
  border-color: #7c3aed;
}
.referral-price-flagship .price-icon[data-v-50eadcc4] {
  background: linear-gradient(135deg, #7c3aed 0%, #6d28d9 100%);
  box-shadow: 0 4px 14px rgba(124, 58, 237, 0.3);
}
.referral-price-flagship .price-value[data-v-50eadcc4] {
  font-size: 36px;
  color: #6d28d9;
}
.referral-price-flagship .price-badge[data-v-50eadcc4] {
  background: linear-gradient(135deg, #ef4444, #f87171);
}
/* 返利摘要 */
.referral-summary[data-v-50eadcc4] {
  background: linear-gradient(135deg, #f5f3ff 0%, #ede9fe 100%);
  border-radius: 12px;
  padding: 14px 20px;
  margin-bottom: var(--spacing-4);
  text-align: center;
  font-size: 13px;
  color: #6d28d9;
  border: 1px solid #ddd6fe;
  font-weight: 500;
}
.referral-summary strong[data-v-50eadcc4] {
  font-size: 18px;
  color: #7c3aed;
  margin: 0 var(--spacing-0-5);
}
/* 参与规则 */
.referral-rules[data-v-50eadcc4] {
  margin-bottom: var(--spacing-4);
}
.rules-title[data-v-50eadcc4] {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  color: #1f2937;
  margin-bottom: var(--spacing-2-5);
}
.rules-list[data-v-50eadcc4] {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
}
.rules-list li[data-v-50eadcc4] {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  font-size: 13px;
  color: #4b5563;
  line-height: 1.5;
}
.rules-list li .anticon[data-v-50eadcc4] {
  color: #8b5cf6;
  font-size: var(--font-size-base);
  flex-shrink: 0;
}
/* 排行榜 */
.referral-leaderboard[data-v-50eadcc4] {
  margin-top: var(--spacing-3-5);
  padding: 12px 18px;
  background: linear-gradient(135deg, #fefce8 0%, #fef9c3 100%);
  border-radius: 12px;
  font-size: 13px;
  color: #854d0e;
  font-weight: 600;
  text-align: center;
  border: 1px solid #fde047;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-1-5);
}
.referral-leaderboard .anticon[data-v-50eadcc4] {
  color: #eab308;
  font-size: 18px;
}
/* 底部声明 */
.referral-footer[data-v-50eadcc4] {
  background: #fefce8;
  padding: 12px 18px;
  font-size: 12px;
  color: #854d0e;
  line-height: 1.6;
  display: flex;
  gap: var(--spacing-2);
  align-items: flex-start;
  border-top: 1px solid #fde047;
  border-radius: 0 0 16px 16px;
}
.referral-footer .anticon[data-v-50eadcc4] {
  color: #eab308;
  margin-top: 2px;
  flex-shrink: 0;
}
/* 共创计划卡片头部样式 */
.card-header[data-v-50eadcc4] {
  padding: var(--spacing-5) var(--spacing-6);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.co-create-header[data-v-50eadcc4] {
  background: linear-gradient(135deg, #0ea5e9 0%, #38bdf8 100%);
}
.referral-header[data-v-50eadcc4] {
  background: linear-gradient(135deg, #8b5cf6 0%, #a78bfa 100%);
}
.card-header-content[data-v-50eadcc4] {
  flex: 1;
}
.card-header-title[data-v-50eadcc4] {
  font-size: 20px;
  font-weight: var(--font-weight-bold);
  margin-bottom: var(--spacing-1);
  letter-spacing: 0.5px;
}
.card-header-desc[data-v-50eadcc4] {
  font-size: 13px;
  opacity: 0.9;
  font-weight: 400;
}
.header-badge[data-v-50eadcc4] {
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(4px);
  padding: var(--spacing-2) var(--spacing-5);
  border-radius: 24px;
  font-size: 24px;
  font-weight: 800;
  border: 1px solid rgba(255, 255, 255, 0.3);
}
/* 卡片内容样式 */
.card-body[data-v-50eadcc4] {
  padding: var(--spacing-6);
}
.card-section[data-v-50eadcc4] {
  margin-bottom: var(--spacing-5);
}
.section-title[data-v-50eadcc4] {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  color: #1f2937;
  margin-bottom: var(--spacing-3);
}
/* 标签样式 */
.tag-list[data-v-50eadcc4] {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-2);
}
.tag[data-v-50eadcc4] {
  background: #f3f4f6;
  color: #4b5563;
  padding: var(--spacing-1-5) var(--spacing-3-5);
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  transition: all 0.2s ease;
}
.tag[data-v-50eadcc4]:hover {
  background: #e5e7eb;
  color: #1f2937;
}
/* 权益列表样式 */
.benefits-list[data-v-50eadcc4] {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-3);
}
.benefit-item[data-v-50eadcc4] {
  display: flex;
  align-items: flex-start;
  gap: var(--spacing-3-5);
  padding: var(--spacing-3-5) var(--spacing-4);
  background: #f9fafb;
  border-radius: 10px;
  transition: all 0.2s ease;
  border: 1px solid transparent;
}
.benefit-item[data-v-50eadcc4]:hover {
  background: #f3f4f6;
  border-color: #e5e7eb;
}
.benefit-item .benefit-icon[data-v-50eadcc4] {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: #fff;
  flex-shrink: 0;
  background: linear-gradient(135deg, #0ea5e9 0%, #38bdf8 100%);
}
.benefit-content[data-v-50eadcc4] {
  flex: 1;
}
.benefit-title[data-v-50eadcc4] {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  color: #1f2937;
  margin-bottom: var(--spacing-0-5);
}
.benefit-desc[data-v-50eadcc4] {
  font-size: 13px;
  color: #6b7280;
}
/* 提示信息样式 */
.card-notice[data-v-50eadcc4] {
  background: #fef3c7;
  border: 1px solid #fcd34d;
  border-radius: 10px;
  padding: var(--spacing-3) var(--spacing-3-5);
  font-size: 12px;
  color: #92400e;
  line-height: 1.6;
  display: flex;
  gap: var(--spacing-2);
  align-items: flex-start;
}
.card-notice .anticon[data-v-50eadcc4] {
  color: #d97706;
  margin-top: var(--spacing-0-5);
  flex-shrink: 0;
}
/* 规则列表优化 */
.partnership-steps[data-v-50eadcc4] {
  padding-left: var(--spacing-5);
  margin-bottom: 0;
}
.partnership-steps li[data-v-50eadcc4] {
  font-size: var(--font-size-base);
  line-height: 1.8;
  margin-bottom: var(--spacing-2);
  color: #595959;
  position: relative;
}
.partnership-steps li[data-v-50eadcc4]::marker {
  color: #722ed1;
}
/* 底部提示优化 */
.cocreate-notice[data-v-50eadcc4],
.referral-footer[data-v-50eadcc4] {
  background: #f8fafc;
  border-radius: 10px;
  padding: var(--spacing-3-5) var(--spacing-4);
  font-size: 12px;
  color: var(--color-text-secondary);
  line-height: 1.6;
}
/* 排行榜提示优化 */
.referral-leaderboard[data-v-50eadcc4] {
  background: linear-gradient(135deg, #faf5ff 0%, #f3e8ff 100%);
  border-radius: 10px;
  padding: var(--spacing-3) var(--spacing-4);
  font-size: 13px;
  color: #722ed1;
  font-weight: var(--font-weight-semibold);
  text-align: center;
  border: 1px solid #e9d5ff;
  transition: all var(--duration-base) var(--easing-ease-out);
}
.referral-leaderboard[data-v-50eadcc4]:hover {
  box-shadow: 0 4px 12px rgba(114, 46, 209, 0.1);
}
/* CTA区域优化 */
.partnership-cta[data-v-50eadcc4] {
  margin-top: var(--spacing-8);
  position: relative;
  overflow: hidden;
}
.partnership-cta[data-v-50eadcc4]::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.1), transparent);
  transform: rotate(45deg);
  animation: shimmer 4s infinite;
}
.partnership-icon[data-v-50eadcc4] {
  font-size: 48px;
  color: #1890ff;
  margin-bottom: var(--spacing-6);
}
.partnership-card h3[data-v-50eadcc4] {
  font-size: 24px;
  font-weight: var(--font-weight-semibold);
  margin-bottom: var(--spacing-4);
}
.partnership-card p[data-v-50eadcc4] {
  font-size: var(--font-size-md);
  line-height: 1.6;
  margin-bottom: var(--spacing-5);
  color: #666;
}
/* 响应式优化 */
@media (max-width: 991px) {
.partnership-grid[data-v-50eadcc4] {
    gap: var(--spacing-6);
    max-width: 100%;
}
.partnership-cta[data-v-50eadcc4] {
    padding: var(--spacing-10) 30px;
}
.partnership-cta h3[data-v-50eadcc4] {
    font-size: 28px;
}
}
@media (max-width: 768px) {
.partnership[data-v-50eadcc4] {
    padding: 60px 0;
}
.partnership-grid[data-v-50eadcc4] {
    gap: var(--spacing-5);
}
.partnership-card[data-v-50eadcc4] {
    border-radius: var(--radius-xl);
}
.co-create-card .cocreate-section:last-of-type .cocreate-benefits[data-v-50eadcc4] {
    grid-template-columns: 1fr;
    gap: var(--spacing-2-5);
}
.co-create-card .cocreate-benefit-item[data-v-50eadcc4] {
    padding: var(--spacing-3-5) var(--spacing-3);
}
.referral-prices[data-v-50eadcc4] {
    grid-template-columns: 1fr;
    gap: var(--spacing-2-5);
}
.referral-price-item[data-v-50eadcc4] {
    flex-direction: row;
    align-items: center;
    padding: var(--spacing-3) var(--spacing-3-5);
    gap: var(--spacing-2-5);
}
.referral-price-item .price-icon[data-v-50eadcc4] {
    width: 36px;
    height: 36px;
    font-size: var(--font-size-md);
    margin-bottom: 0;
}
.referral-price-item .price-info[data-v-50eadcc4] {
    flex: 1;
    text-align: left;
    min-width: 0;
}
.referral-price-item .price-label[data-v-50eadcc4] {
    font-size: 11px;
    margin-bottom: var(--spacing-0-5);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.referral-price-item .price-value[data-v-50eadcc4] {
    font-size: 20px;
}
.referral-price-item .price-badge[data-v-50eadcc4] {
    position: static;
    padding: 3px var(--spacing-2);
    border-radius: 4px;
    font-size: 10px;
    white-space: nowrap;
    flex-shrink: 0;
}
.referral-price-flagship[data-v-50eadcc4] {
    transform: none;
}
.rules-list li[data-v-50eadcc4] {
    font-size: 12px;
}
.referral-summary[data-v-50eadcc4] {
    font-size: 12px;
}
.referral-summary strong[data-v-50eadcc4] {
    font-size: var(--font-size-md);
}
.benefit-item[data-v-50eadcc4] {
    padding: var(--spacing-3) var(--spacing-3-5);
}
.benefit-item .benefit-icon[data-v-50eadcc4] {
    width: 36px;
    height: 36px;
    font-size: var(--font-size-md);
}
.benefit-title[data-v-50eadcc4] {
    font-size: 13px;
}
.benefit-desc[data-v-50eadcc4] {
    font-size: 12px;
}
.cocreate-notice[data-v-50eadcc4],
  .referral-footer[data-v-50eadcc4] {
    font-size: 11px;
    padding: var(--spacing-3);
}
}
@media (max-width: 575px) {
.feature-icon[data-v-50eadcc4] {
    width: 40px;
    height: 40px;
    font-size: 20px;
}
.partnership[data-v-50eadcc4] {
    padding: var(--spacing-10) 0;
}
.partnership-grid[data-v-50eadcc4] {
    gap: var(--spacing-4);
}
.co-create-card .tag-item[data-v-50eadcc4] {
    font-size: 12px;
    padding: var(--spacing-1) var(--spacing-2-5);
}
.partnership-steps li[data-v-50eadcc4] {
    font-size: 13px;
}
.partnership-card p[data-v-50eadcc4] {
    font-size: var(--font-size-base);
}
.legal-notice[data-v-50eadcc4] {
    font-size: 12px;
}
.commission-info[data-v-50eadcc4] {
    padding: var(--spacing-4);
    margin: var(--spacing-4) 0;
}
.rate-number[data-v-50eadcc4] {
    font-size: 36px;
}
.partnership-cta[data-v-50eadcc4] {
    padding: var(--spacing-8) var(--spacing-5);
}
.partnership-cta h3[data-v-50eadcc4] {
    font-size: 22px;
}
.partnership-cta p[data-v-50eadcc4] {
    font-size: 15px;
}
}
/* 响应式设计 */
@media (max-width: 1200px) {
.hero-content[data-v-50eadcc4],
  .contact-content[data-v-50eadcc4] {
    gap: var(--spacing-10);
}
.features-grid[data-v-50eadcc4],
  .pricing-grid[data-v-50eadcc4],
  .testimonials-grid[data-v-50eadcc4] {
    grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 992px) {
.nav[data-v-50eadcc4] {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    flex-direction: column;
    padding: var(--spacing-3) var(--spacing-6);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    border-top: 1px solid #f0f0f0;
    gap: 0;
    z-index: 1002;
}
.nav.nav-open[data-v-50eadcc4] {
    display: flex;
}
.nav-link[data-v-50eadcc4] {
    padding: var(--spacing-3) 0;
    font-size: 15px;
    border-bottom: 1px solid #f5f5f5;
}
.nav-link[data-v-50eadcc4]:last-child {
    border-bottom: none;
}
.nav-link-active[data-v-50eadcc4]::after {
    display: none;
}
.mobile-menu-btn[data-v-50eadcc4] {
    display: flex;
}
.mk-header-actions[data-v-50eadcc4] {
    gap: var(--spacing-2);
}
.hero-content[data-v-50eadcc4],
  .contact-content[data-v-50eadcc4] {
    flex-direction: column;
    text-align: center;
}
.marketing-header .container[data-v-50eadcc4],
  .container[data-v-50eadcc4] {
    padding: 0 var(--spacing-3) !important;
}
.hero-text h2[data-v-50eadcc4] {
    font-size: 26px;
    line-height: 1.4;
}
.hero-text .hero-subtitle[data-v-50eadcc4] {
    font-size: 15px;
    line-height: 1.6;
}
.hero-tags[data-v-50eadcc4] {
    justify-content: center;
}
.hero-tag[data-v-50eadcc4] {
    font-size: 12px;
    padding: 3px var(--spacing-2-5);
}
.features-grid[data-v-50eadcc4],
  .pricing-grid[data-v-50eadcc4],
  .testimonials-grid[data-v-50eadcc4] {
    grid-template-columns: 1fr;
}
.hero-buttons[data-v-50eadcc4],
  .demo-actions[data-v-50eadcc4] {
    justify-content: center;
}
.footer-content[data-v-50eadcc4] {
    flex-direction: column;
    gap: var(--spacing-10);
}
.footer-links[data-v-50eadcc4] {
    flex-direction: column;
    gap: var(--spacing-10);
}
}
/* 右下角固定按钮样式 */
.fixed-buttons[data-v-50eadcc4] {
  position: fixed;
  right: 12px;
  bottom: 28px;
  display: flex;
  flex-direction: column;
  z-index: 1000;
  gap: var(--spacing-3);
}
.fixed-button-item[data-v-50eadcc4] {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12), 0 1px 3px rgba(0, 0, 0, 0.06);
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  border: none;
  overflow: hidden;
}
.fixed-button-item[data-v-50eadcc4]:hover {
  transform: translateY(-4px) scale(1.05);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18), 0 2px 8px rgba(0, 0, 0, 0.1);
}
.fixed-button-item:hover .qrcode-popup[data-v-50eadcc4] {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
/* 微信按钮品牌色 */
.fixed-button-item.wechat-qrcode-btn[data-v-50eadcc4] {
  background: #07c160;
}
.fixed-button-item.wechat-qrcode-btn[data-v-50eadcc4]:hover {
  background: #06ad56;
}
/* 抖音按钮品牌色 */
.fixed-button-item.douyin-qrcode-btn[data-v-50eadcc4] {
  background: #161823;
}
.fixed-button-item.douyin-qrcode-btn[data-v-50eadcc4]:hover {
  background: #1a1c2a;
}
/* 分享按钮 - 白底蓝标 */
.fixed-button-item.share-btn[data-v-50eadcc4] {
  background: #fff;
}
.fixed-button-item.share-btn[data-v-50eadcc4]:hover {
  background: #f0f7ff;
}
.fixed-button-item.share-btn .btn-icon[data-v-50eadcc4] {
  color: #1890ff;
}
.btn-icon[data-v-50eadcc4] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 0;
}
.btn-icon img[data-v-50eadcc4] {
  border-radius: 50%;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.qrcode-popup[data-v-50eadcc4] {
  position: absolute;
  right: 64px;
  background: #fff;
  padding: var(--spacing-4);
  border-radius: var(--radius-xl);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all var(--duration-base) var(--easing-ease-out);
  min-width: 150px;
  text-align: center;
  z-index: 1001;
}
.qrcode-popup[data-v-50eadcc4]::after {
  content: '';
  position: absolute;
  top: 50%;
  right: -8px;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 8px solid #fff;
}
.qrcode-popup img[data-v-50eadcc4] {
  margin-bottom: var(--spacing-2);
  border-radius: var(--radius-lg);
}
.qrcode-popup p[data-v-50eadcc4] {
  margin: 0;
  font-size: var(--font-size-base);
  color: #666;
  line-height: 1.4;
}
.back-to-top[data-v-50eadcc4] {
  background: linear-gradient(135deg, #1890ff 0%, #40a9ff 100%);
  border: none;
  box-shadow: 0 4px 16px rgba(24, 144, 255, 0.4);
  bottom: 0;
  right: 0;
}
.back-to-top[data-v-50eadcc4]:hover {
  transform: translateY(-4px) scale(1.05);
  box-shadow: 0 8px 24px rgba(24, 144, 255, 0.55);
}
.back-to-top .btn-icon[data-v-50eadcc4] {
  background: transparent;
  border-radius: 50%;
  width: 36px;
  height: 36px;
}
.back-to-top .btn-icon svg[data-v-50eadcc4] {
  fill: #fff;
}
/* 响应式设计 */
@media (max-width: 768px) {
.fixed-buttons[data-v-50eadcc4] {
    right: 8px;
    bottom: 16px;
}
.fixed-button-item[data-v-50eadcc4] {
    width: 42px;
    height: 42px;
}
.qrcode-popup[data-v-50eadcc4] {
    right: 56px;
    padding: var(--spacing-3);
    min-width: 130px;
}
.qrcode-popup img[data-v-50eadcc4] {
    width: 100px !important;
    height: auto !important;
}
}
/* 分享弹窗样式 */
.share-options[data-v-50eadcc4] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--spacing-6);
  padding: var(--spacing-4) var(--spacing-2);
}
.share-option[data-v-50eadcc4] {
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
  transition: all var(--duration-base) var(--easing-ease-out);
  padding: var(--spacing-2);
  border-radius: var(--radius-lg);
}
.share-option[data-v-50eadcc4]:hover {
  transform: translateY(-4px);
  background-color: #f5f5f5;
}
.share-icon[data-v-50eadcc4] {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--spacing-2);
  transition: all var(--duration-base) var(--easing-ease-out);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.share-icon[data-v-50eadcc4] .anticon {
  font-size: 28px;
  color: #fff;
}
.share-option:hover .share-icon[data-v-50eadcc4] {
  transform: scale(1.1);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}
.share-label[data-v-50eadcc4] {
  font-size: var(--font-size-base);
  color: #333;
  font-weight: 500;
}
/* 移动端分享抽屉样式 */
.share-drawer .share-options[data-v-50eadcc4] {
  grid-template-columns: repeat(5, 1fr);
  padding: var(--spacing-2) 0;
}
.share-drawer .share-icon[data-v-50eadcc4] {
  width: 48px;
  height: 48px;
}
.share-drawer .share-icon[data-v-50eadcc4] .anticon {
  font-size: 24px;
}
.share-drawer .share-label[data-v-50eadcc4] {
  font-size: 12px;
}
/* 分享弹窗Modal样式优化 */
.share-modal[data-v-50eadcc4] .ant-modal-content {
  border-radius: var(--radius-xl);
  overflow: hidden;
}
.share-modal[data-v-50eadcc4] .ant-modal-header {
  text-align: center;
  border-bottom: none;
  padding-top: var(--spacing-6);
}
.share-modal[data-v-50eadcc4] .ant-modal-title {
  font-size: 18px;
  font-weight: var(--font-weight-semibold);
}
.share-modal[data-v-50eadcc4] .ant-modal-body {
  padding: 0 var(--spacing-6) var(--spacing-6);
}
/* 移动端适配 */
@media (max-width: 575px) {
.share-drawer .share-options[data-v-50eadcc4] {
    grid-template-columns: repeat(5, 1fr);
    gap: var(--spacing-1);
}
.share-drawer .share-icon[data-v-50eadcc4] {
    width: 38px;
    height: 38px;
}
.share-drawer .share-icon[data-v-50eadcc4] .anticon {
    font-size: 22px;
}
.share-drawer .share-label[data-v-50eadcc4] {
    font-size: 11px;
}
}
/* 微信二维码弹窗样式 */
.wechat-qr-modal[data-v-50eadcc4] .ant-modal-content {
  border-radius: var(--radius-xl);
  overflow: hidden;
}
.wechat-qr-modal[data-v-50eadcc4] .ant-modal-header {
  text-align: center;
  border-bottom: none;
  padding-top: var(--spacing-6);
}
.wechat-qr-modal[data-v-50eadcc4] .ant-modal-title {
  font-size: 18px;
  font-weight: var(--font-weight-semibold);
}
.wechat-qr-modal[data-v-50eadcc4] .ant-modal-body {
  padding: 0 var(--spacing-6) var(--spacing-6);
}
.wechat-qr-content[data-v-50eadcc4] {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.wechat-qr-tip[data-v-50eadcc4] {
  font-size: var(--font-size-base);
  color: #666;
  margin-bottom: var(--spacing-4);
}
.wechat-qr-image[data-v-50eadcc4] {
  width: 200px;
  height: 200px;
  border-radius: var(--radius-lg);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  margin-bottom: var(--spacing-4);
}
.download-btn[data-v-50eadcc4] {
  width: 100%;
  background: #07c160;
  border-color: #07c160;
}
.download-btn[data-v-50eadcc4]:hover {
  background: #06ad56;
  border-color: #06ad56;
}
/* ========== 移动端深度适配 ========== */
/* 阶梯折扣卡片：移动端单列显示卡片 */
@media (max-width: 768px) {
.tier-pricing-grid[data-v-50eadcc4] {
    grid-template-columns: 1fr;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding: 0;
}
}
/* 推荐返利卡片：移动端适配 */
@media (max-width: 768px) {
.cocreate-body[data-v-50eadcc4] {
    padding: var(--spacing-4) !important;
}
.cocreate-section > div[data-v-50eadcc4]:last-child {
    gap: var(--spacing-1-5) !important;
}
.cocreate-section > div:last-child > span[data-v-50eadcc4] {
    font-size: 12px !important;
    padding: 3px var(--spacing-2-5) !important;
}
.cocreate-section > div[style*='grid-template-columns'][data-v-50eadcc4] {
    grid-template-columns: 1fr 1fr !important;
    gap: var(--spacing-1-5) !important;
}
.cocreate-section > div[style*='grid-template-columns'] > div > div[data-v-50eadcc4]:first-child {
    font-size: 18px !important;
}
.cocreate-section > div[style*='grid-template-columns'] > div > div[data-v-50eadcc4]:last-child {
    font-size: 12px !important;
}
.cocreate-notice[data-v-50eadcc4] {
    font-size: 11px !important;
    padding: var(--spacing-2-5) var(--spacing-3) !important;
}
.referral-header > div[data-v-50eadcc4] {
    flex-wrap: wrap;
    gap: var(--spacing-2);
}
.referral-header > div > div[data-v-50eadcc4]:first-child {
    flex: 1;
    min-width: 0;
}
.referral-badge[data-v-50eadcc4] {
    font-size: 18px !important;
    padding: var(--spacing-1) var(--spacing-3) !important;
}
.referral-body[data-v-50eadcc4] {
    padding: var(--spacing-4) !important;
}
  /* 三列价格改为纵向堆叠 */
.referral-prices[data-v-50eadcc4] {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--spacing-2-5) !important;
    padding: 0 !important;
}
.referral-price-item[data-v-50eadcc4] {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    padding: var(--spacing-3) var(--spacing-3-5) !important;
    gap: var(--spacing-2-5) !important;
    width: 100% !important;
    min-width: auto !important;
}
.referral-price-item .price-icon[data-v-50eadcc4] {
    width: 36px !important;
    height: 36px !important;
    font-size: var(--font-size-md) !important;
}
.referral-price-item .price-info[data-v-50eadcc4] {
    flex: 1 !important;
    text-align: left !important;
    min-width: 0 !important;
}
.referral-price-item .price-label[data-v-50eadcc4] {
    font-size: 12px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
.referral-price-item .price-value[data-v-50eadcc4] {
    font-size: 20px !important;
}
.referral-price-item .price-badge[data-v-50eadcc4] {
    font-size: 10px !important;
    padding: var(--spacing-0-5) var(--spacing-1-5) !important;
    white-space: nowrap !important;
}
.referral-summary[data-v-50eadcc4] {
    padding: var(--spacing-2-5) var(--spacing-3) !important;
}
.referral-summary strong[data-v-50eadcc4] {
    font-size: var(--font-size-md) !important;
}
.referral-rules p[data-v-50eadcc4] {
    font-size: 13px !important;
}
.referral-rules .partnership-steps[data-v-50eadcc4] {
    font-size: 12px;
}
.referral-rules .partnership-steps li[data-v-50eadcc4] {
    padding: var(--spacing-1) 0;
    line-height: 1.5;
}
.referral-leaderboard[data-v-50eadcc4] {
    font-size: 12px !important;
    padding: var(--spacing-2) var(--spacing-3) !important;
}
.referral-footer[data-v-50eadcc4] {
    padding: var(--spacing-2) var(--spacing-4) !important;
    font-size: 11px !important;
}
}
/* 价格方案卡片：移动端优化 */
@media (max-width: 768px) {
.pricing-card[data-v-50eadcc4] {
    padding: 0;
}
.pricing-header[data-v-50eadcc4] {
    padding: var(--spacing-5) var(--spacing-5) var(--spacing-3);
}
.pricing-header .price-number[data-v-50eadcc4] {
    font-size: 32px;
}
.pricing-features[data-v-50eadcc4] {
    padding: 0 var(--spacing-5);
}
.pricing-footer[data-v-50eadcc4] {
    padding: 0 var(--spacing-5) var(--spacing-6);
}
.pricing-trust[data-v-50eadcc4] {
    padding: 0 var(--spacing-4);
}
.pricing-trust p[data-v-50eadcc4] {
    font-size: 12px;
}
  /* 推荐标签在移动端缩小 */
.recommend-badge[data-v-50eadcc4] {
    top: 16px;
    padding: var(--spacing-0-5) var(--spacing-3);
    font-size: 12px;
}
.selected-badge[data-v-50eadcc4] {
    top: 4px;
    padding: var(--spacing-1);
    font-size: 12px;
}
  /* 功能列表文字大小 */
.feature-item[data-v-50eadcc4] {
    font-size: 13px;
    padding: var(--spacing-1-5) 0;
}
.feature-item span[data-v-50eadcc4] {
    line-height: 1.5;
}
  /* bonus 高亮项 */
.feature-item.highlight.bonus[data-v-50eadcc4] {
    font-size: 12px;
}
}
/* 超小屏（<400px）进一步优化 */
@media (max-width: 575px) {
.hero-text h2[data-v-50eadcc4] {
    font-size: 22px;
}
.hero-text .hero-subtitle[data-v-50eadcc4] {
    font-size: var(--font-size-base);
}
.mk-section-header h2[data-v-50eadcc4] {
    font-size: 24px;
}
.mk-section-header p[data-v-50eadcc4] {
    font-size: var(--font-size-base);
}
.pricing-header .price-number[data-v-50eadcc4] {
    font-size: 28px;
}
.feature-item[data-v-50eadcc4] {
    font-size: 12px;
}
.pricing-header h3[data-v-50eadcc4] {
    font-size: var(--font-size-md);
}
}
.wechat-login-modal[data-v-6cfda9f6] .ant-modal-body {
  padding: 24px;
}
.wechat-login-content[data-v-6cfda9f6] {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.qr-code-container[data-v-6cfda9f6] {
  width: 100%;
  margin-bottom: 16px;
}
.qr-code-wrapper[data-v-6cfda9f6] {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.qr-code[data-v-6cfda9f6] {
  width: 240px;
  height: 240px;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  background: white;
  overflow: hidden;
}
.qr-code-inner[data-v-6cfda9f6] {
  width: 220px;
  height: 220px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.qr-image[data-v-6cfda9f6] {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.qr-placeholder[data-v-6cfda9f6] {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.qr-canvas[data-v-6cfda9f6] {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.qr-tips[data-v-6cfda9f6] {
  text-align: center;
  color: rgba(0, 0, 0, 0.45);
  font-size: 14px;
}
.qr-status[data-v-6cfda9f6] {
  margin-top: 8px;
  color: rgba(0, 0, 0, 0.85);
}
.qr-status.error[data-v-6cfda9f6] {
  color: #ff4d4f;
}
.scan-success[data-v-6cfda9f6] {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 24px 0;
}
.scan-success h3[data-v-6cfda9f6] {
  margin: 16px 0 8px;
  font-size: 18px;
}
.scan-success p[data-v-6cfda9f6] {
  margin: 0 0 16px;
  color: rgba(0, 0, 0, 0.45);
}
.confirm-loading[data-v-6cfda9f6] {
  display: flex;
  align-items: center;
  color: #1677ff;
}
.wechat-info[data-v-6cfda9f6] {
  width: 100%;
  border-top: 1px solid #f0f0f0;
  padding-top: 16px;
}
.wechat-account[data-v-6cfda9f6] {
  display: flex;
  align-items: center;
  margin-bottom: 12px;
}
.avatar[data-v-6cfda9f6] {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  overflow: hidden;
  margin-right: 12px;
  background: #f5f5f5;
  display: flex;
  align-items: center;
  justify-content: center;
}
.avatar img[data-v-6cfda9f6] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.avatar-placeholder[data-v-6cfda9f6] {
  color: #07c160;
  font-size: 20px;
}
.info h4[data-v-6cfda9f6] {
  margin: 0;
  font-size: 14px;
}
.info p[data-v-6cfda9f6] {
  margin: 0;
  font-size: 12px;
  color: rgba(0, 0, 0, 0.45);
}
.security-tips[data-v-6cfda9f6] {
  display: flex;
  align-items: center;
  font-size: 12px;
  color: rgba(0, 0, 0, 0.45);
}
.mobile-login-content[data-v-acff3e2f] {
  padding: 8px 16px 0;
}
.code-input-container[data-v-acff3e2f] {
  display: flex;
  gap: 8px;
}
.code-button[data-v-acff3e2f] {
  white-space: nowrap;
  min-width: 100px;
}
.login-tips[data-v-acff3e2f] {
  margin-top: 16px;
  padding: 8px 0;
  border-top: 1px solid #f0f0f0;
  font-size: 12px;
  color: rgba(0, 0, 0, 0.45);
  text-align: center;
}
.login-tips p[data-v-acff3e2f] {
  margin: 8px 0;
}
.login-tips a[data-v-acff3e2f] {
  color: #1677ff;
  text-decoration: none;
}
.slider-captcha-container[data-v-c886c4e9] {
  background: #fff;
  border-radius: 12px;
  user-select: none;
  -webkit-user-select: none;
}
/* ========== 头部 ========== */
.captcha-header[data-v-c886c4e9] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.captcha-title[data-v-c886c4e9] {
  font-size: 15px;
  color: #1e293b;
  font-weight: 600;
  letter-spacing: 0.3px;
}
.refresh-btn[data-v-c886c4e9] {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  cursor: pointer;
  padding: 6px 8px;
  border-radius: 8px;
  transition: all 0.2s ease;
  color: #64748b;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.refresh-btn[data-v-c886c4e9]:hover:not(:disabled) {
  background: #eff6ff;
  border-color: #93c5fd;
  color: #3b82f6;
}
.refresh-btn[data-v-c886c4e9]:active:not(:disabled) {
  transform: scale(0.92);
}
.refresh-btn[data-v-c886c4e9]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
/* ========== 拼图画布区域 ========== */
.captcha-wrapper[data-v-c886c4e9] {
  position: relative;
}
.captcha-canvas[data-v-c886c4e9] {
  position: relative;
  width: 100%;
  height: 160px;
  background: linear-gradient(135deg, #dce6f0 0%, #e0e8f5 40%, #d8e2f0 100%);
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 14px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6), 0 2px 8px rgba(0, 0, 0, 0.08);
}
/* 背景纹理 - 网格点阵 */
.captcha-bg-pattern[data-v-c886c4e9] {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(59, 130, 246, 0.12) 1px, transparent 1px);
  background-size: 20px 20px;
  pointer-events: none;
}
/* 装饰性几何图形 - 增加视觉丰富度 */
.captcha-decor[data-v-c886c4e9] {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  opacity: 0.15;
}
.captcha-decor-1[data-v-c886c4e9] {
  width: 80px;
  height: 80px;
  background: radial-gradient(circle, #06b6d4, transparent);
  top: -20px;
  right: 30px;
}
.captcha-decor-2[data-v-c886c4e9] {
  width: 60px;
  height: 60px;
  background: radial-gradient(circle, #8b5cf6, transparent);
  bottom: -10px;
  left: 20px;
}
.captcha-decor-3[data-v-c886c4e9] {
  width: 40px;
  height: 40px;
  background: radial-gradient(circle, #3b82f6, transparent);
  top: 40%;
  right: 60%;
}
.verification-area[data-v-c886c4e9] {
  position: relative;
  width: 100%;
  height: 100%;
}
/* 目标槽位 */
.target-slot[data-v-c886c4e9] {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 8px;
  z-index: 1;
}
.target-slot-inner[data-v-c886c4e9] {
  width: 100%;
  height: 100%;
  border: 2px dashed rgba(6, 182, 212, 0.45);
  border-radius: 8px;
  background: rgba(6, 182, 212, 0.05);
  box-shadow: inset 0 0 16px rgba(6, 182, 212, 0.06);
  transition: all 0.3s ease;
  animation: slotPulse-c886c4e9 2.5s ease-in-out infinite;
}
@keyframes slotPulse-c886c4e9 {
0%,
  100% {
    border-color: rgba(6, 182, 212, 0.35);
}
50% {
    border-color: rgba(6, 182, 212, 0.6);
}
}
/* 滑块拼图块 */
.slider-block[data-v-c886c4e9] {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(238, 242, 255, 0.95));
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.2), 0 1px 3px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.8);
  z-index: 5;
  transition: box-shadow 0.2s ease;
}
.slider-block.block-dragging[data-v-c886c4e9] {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3), 0 2px 6px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.8);
}
.slider-handle[data-v-c886c4e9] {
  color: #3b82f6;
  font-size: 16px;
  transition: all 0.25s ease;
}
.slider-handle.slider-success[data-v-c886c4e9] {
  color: #10b981;
  transform: scale(1.15);
}
.slider-handle.slider-error[data-v-c886c4e9] {
  color: #ef4444;
  animation: shakeHandle-c886c4e9 0.5s ease;
}
@keyframes shakeHandle-c886c4e9 {
0%,
  100% {
    transform: translateX(0);
}
15% {
    transform: translateX(-4px);
}
30% {
    transform: translateX(4px);
}
45% {
    transform: translateX(-3px);
}
60% {
    transform: translateX(3px);
}
75% {
    transform: translateX(-1px);
}
90% {
    transform: translateX(1px);
}
}
/* ========== 滑动轨道 ========== */
.slider-track[data-v-c886c4e9] {
  position: relative;
  height: 48px;
  background: #f1f5f9;
  border-radius: 24px;
  overflow: hidden;
  border: 1.5px solid #e2e8f0;
  transition: all 0.3s ease;
}
.slider-track.track-dragging[data-v-c886c4e9] {
  border-color: #93c5fd;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.08);
}
.slider-track.track-success[data-v-c886c4e9] {
  border-color: #10b981;
  background: rgba(16, 185, 129, 0.05);
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.08);
}
.slider-track.track-error[data-v-c886c4e9] {
  border-color: #ef4444;
  background: rgba(239, 68, 68, 0.05);
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.08);
}
/* 填充条 */
.slider-fill[data-v-c886c4e9] {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background: linear-gradient(90deg, rgba(59, 130, 246, 0.08), rgba(59, 130, 246, 0.15));
  border-radius: 24px 0 0 24px;
  transition: width 0.3s ease, background 0.3s ease;
}
.track-dragging .slider-fill[data-v-c886c4e9] {
  background: linear-gradient(90deg, rgba(59, 130, 246, 0.1), rgba(59, 130, 246, 0.2));
}
.track-success .slider-fill[data-v-c886c4e9] {
  background: linear-gradient(90deg, rgba(16, 185, 129, 0.08), rgba(16, 185, 129, 0.15));
}
.track-error .slider-fill[data-v-c886c4e9] {
  background: linear-gradient(90deg, rgba(239, 68, 68, 0.08), rgba(239, 68, 68, 0.15));
}
/* 滑块圆形把手 */
.slider-thumb[data-v-c886c4e9] {
  position: absolute;
  top: 4px;
  width: 40px;
  height: 40px;
  background: linear-gradient(135deg, #3b82f6, #2563eb);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(59, 130, 246, 0.3);
  cursor: grab;
  transition: left 0.3s ease, box-shadow 0.2s ease, transform 0.2s ease, background 0.3s ease;
  z-index: 10;
  color: #fff;
  font-size: 14px;
}
.slider-thumb[data-v-c886c4e9]:hover {
  box-shadow: 0 3px 12px rgba(59, 130, 246, 0.4);
  transform: scale(1.05);
}
.slider-thumb[data-v-c886c4e9]:active,
.slider-thumb.thumb-dragging[data-v-c886c4e9] {
  cursor: grabbing;
  box-shadow: 0 4px 16px rgba(59, 130, 246, 0.45);
  transform: scale(1.08);
}
.slider-thumb.thumb-success[data-v-c886c4e9] {
  background: linear-gradient(135deg, #10b981, #059669);
  box-shadow: 0 2px 8px rgba(16, 185, 129, 0.35);
  transform: scale(1.05);
}
.slider-thumb.thumb-error[data-v-c886c4e9] {
  background: linear-gradient(135deg, #ef4444, #dc2626);
  box-shadow: 0 2px 8px rgba(239, 68, 68, 0.35);
  animation: shakeThumb-c886c4e9 0.5s ease;
}
@keyframes shakeThumb-c886c4e9 {
0%,
  100% {
    transform: translateX(0);
}
15% {
    transform: translateX(-3px);
}
30% {
    transform: translateX(3px);
}
45% {
    transform: translateX(-2px);
}
60% {
    transform: translateX(2px);
}
75% {
    transform: translateX(-1px);
}
90% {
    transform: translateX(1px);
}
}
/* 提示文字 */
.slider-text[data-v-c886c4e9] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 13px;
  color: #94a3b8;
  pointer-events: none;
  z-index: 5;
  white-space: nowrap;
  transition: opacity 0.25s ease;
  letter-spacing: 0.5px;
  display: flex;
  align-items: center;
  gap: 4px;
}
.slider-text-icon[data-v-c886c4e9] {
  font-size: 15px;
  opacity: 0.6;
}
.slider-text.text-hidden[data-v-c886c4e9] {
  opacity: 0;
}
/* ========== 响应式 ========== */
@media (max-width: 480px) {
.captcha-canvas[data-v-c886c4e9] {
    height: 130px;
}
.slider-track[data-v-c886c4e9] {
    height: 44px;
}
.slider-thumb[data-v-c886c4e9] {
    width: 36px;
    height: 36px;
    top: 4px;
    font-size: 13px;
}
.slider-block[data-v-c886c4e9] {
    width: 38px;
    height: 38px;
}
.target-slot[data-v-c886c4e9] {
    width: 38px;
    height: 38px;
}
.captcha-title[data-v-c886c4e9] {
    font-size: 14px;
}
}
.gitee-star-content[data-v-c2093383] {
  padding: 8px 0;
}
/* 星星动画区域 */
.gitee-star-icon-wrapper[data-v-c2093383] {
  position: relative;
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
  height: 80px;
}
.star-animation[data-v-c2093383] {
  position: relative;
  width: 72px;
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.star-animation[data-v-c2093383]::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 215, 0, 0.2) 0%, transparent 70%);
  animation: pulse-c2093383 2s ease-in-out infinite;
}
@keyframes pulse-c2093383 {
0%,
  100% {
    transform: scale(1);
    opacity: 0.5;
}
50% {
    transform: scale(1.2);
    opacity: 0.8;
}
}
.star-svg[data-v-c2093383] {
  width: 56px;
  height: 56px;
  filter: drop-shadow(0 4px 8px rgba(255, 140, 0, 0.3));
}
.star-path[data-v-c2093383] {
  fill: none;
  stroke: #ffd700;
  stroke-width: 1.5;
  transition: all 0.3s ease;
}
.star-path.filled[data-v-c2093383] {
  fill: url(#starGradient);
  stroke: url(#starGradient);
}
/* 粒子效果 */
.star-particles[data-v-c2093383] {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  pointer-events: none;
}
.particle[data-v-c2093383] {
  position: absolute;
  width: 4px;
  height: 4px;
  background: #ffd700;
  border-radius: 50%;
  top: 50%;
  left: 50%;
  animation: particle-burst-c2093383 0.8s ease-out forwards;
}
.particle[data-v-c2093383]:nth-child(1) {
  animation-delay: 0s;
  transform: rotate(0deg) translateX(40px);
}
.particle[data-v-c2093383]:nth-child(2) {
  animation-delay: 0.1s;
  transform: rotate(60deg) translateX(40px);
}
.particle[data-v-c2093383]:nth-child(3) {
  animation-delay: 0.2s;
  transform: rotate(120deg) translateX(40px);
}
.particle[data-v-c2093383]:nth-child(4) {
  animation-delay: 0.3s;
  transform: rotate(180deg) translateX(40px);
}
.particle[data-v-c2093383]:nth-child(5) {
  animation-delay: 0.4s;
  transform: rotate(240deg) translateX(40px);
}
.particle[data-v-c2093383]:nth-child(6) {
  animation-delay: 0.5s;
  transform: rotate(300deg) translateX(40px);
}
@keyframes particle-burst-c2093383 {
0% {
    opacity: 1;
    transform: scale(1);
}
100% {
    opacity: 0;
    transform: scale(0) translateX(60px);
}
}
/* 头部标题 */
.gitee-star-header[data-v-c2093383] {
  text-align: center;
  margin-bottom: 24px;
}
.gitee-star-title[data-v-c2093383] {
  font-size: 20px;
  font-weight: 600;
  color: #1a1a1a;
  margin-bottom: 8px;
}
.gitee-star-subtitle[data-v-c2093383] {
  font-size: 14px;
  color: #888;
}
/* 仓库卡片 */
.gitee-star-card[data-v-c2093383] {
  margin-bottom: 24px;
}
.repo-card[data-v-c2093383] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
  background: linear-gradient(135deg, #fafafa 0%, #f5f5f5 100%);
  border: 1px solid #e8e8e8;
  border-radius: 12px;
  text-decoration: none;
  transition: all 0.3s ease;
}
.repo-card[data-v-c2093383]:hover {
  border-color: #c71d23;
  background: linear-gradient(135deg, #fff5f5 0%, #ffe8e8 100%);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(199, 29, 35, 0.1);
}
.repo-icon[data-v-c2093383] {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  background: #fff;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.repo-info[data-v-c2093383] {
  flex: 1;
  min-width: 0;
}
.repo-name[data-v-c2093383] {
  font-size: 15px;
  font-weight: 500;
  color: #333;
  margin-bottom: 4px;
}
.repo-desc[data-v-c2093383] {
  font-size: 12px;
  color: #999;
}
.repo-arrow[data-v-c2093383] {
  color: #ccc;
  font-size: 14px;
  transition: all 0.3s;
}
.repo-card:hover .repo-arrow[data-v-c2093383] {
  color: #c71d23;
  transform: translateX(4px);
}
/* 按钮区域 */
.gitee-star-actions[data-v-c2093383] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 16px;
}
.star-btn[data-v-c2093383] {
  height: 44px;
  font-size: 15px;
  font-weight: 500;
  background: linear-gradient(135deg, #c71d23 0%, #d4380d 100%);
  border: none;
  box-shadow: 0 4px 12px rgba(199, 29, 35, 0.3);
}
.star-btn[data-v-c2093383]:hover {
  background: linear-gradient(135deg, #d4380d 0%, #e04b1f 100%);
  box-shadow: 0 6px 16px rgba(199, 29, 35, 0.4);
}
.btn-star-icon[data-v-c2093383] {
  animation: star-blink-c2093383 1.5s ease-in-out infinite;
}
@keyframes star-blink-c2093383 {
0%,
  100% {
    transform: scale(1);
}
50% {
    transform: scale(1.2);
}
}
.cancel-btn[data-v-c2093383] {
  height: 44px;
  font-size: 14px;
  color: #666;
}
.verify-btn[data-v-c2093383] {
  height: 44px;
  font-size: 15px;
  font-weight: 500;
  background: linear-gradient(135deg, #52c41a 0%, #389e0d 100%);
  border: none;
}
/* 提示文字 */
.gitee-star-hint[data-v-c2093383] {
  text-align: center;
  font-size: 12px;
  color: #999;
  margin: 0;
}
.gitee-star-hint[data-v-c2093383] .anticon {
  margin-right: 4px;
}
/* 步骤指示器 */
.gitee-star-steps[data-v-c2093383] {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
  padding: 0 16px;
}
.step-item[data-v-c2093383] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}
.step-num[data-v-c2093383] {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #f0f0f0;
  color: #999;
  font-size: 13px;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s;
}
.step-item.active .step-num[data-v-c2093383] {
  background: #c71d23;
  color: #fff;
}
.step-text[data-v-c2093383] {
  font-size: 12px;
  color: #999;
}
.step-item.active .step-text[data-v-c2093383] {
  color: #333;
  font-weight: 500;
}
.step-line[data-v-c2093383] {
  flex: 1;
  height: 2px;
  background: #f0f0f0;
  margin: 0 8px;
  margin-bottom: 20px;
  max-width: 40px;
}
/* 加载动画 */
.gitee-star-checking[data-v-c2093383] {
  padding: 40px 0;
  display: flex;
  justify-content: center;
}
.loading-ring[data-v-c2093383] {
  width: 48px;
  height: 48px;
  border: 3px solid #f0f0f0;
  border-top-color: #c71d23;
  border-radius: 50%;
  animation: spin-c2093383 1s linear infinite;
}
@keyframes spin-c2093383 {
to {
    transform: rotate(360deg);
}
}
/* 成功状态 */
.gitee-star-success[data-v-c2093383] {
  padding: 20px 0 40px;
  display: flex;
  justify-content: center;
}
.success-circle[data-v-c2093383] {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: linear-gradient(135deg, #52c41a 0%, #389e0d 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  animation: success-pop-c2093383 0.5s ease-out;
}
@keyframes success-pop-c2093383 {
0% {
    transform: scale(0);
}
50% {
    transform: scale(1.1);
}
100% {
    transform: scale(1);
}
}
.success-icon[data-v-c2093383] {
  font-size: 40px;
  color: #fff;
}
.cancel-link[data-v-c2093383] {
  color: #999;
}
.auth-background[data-v-b12c30c2] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
  z-index: 0;
}
/* ================================================================
   渐变几何风 (默认) - 明亮清爽风格
   ================================================================ */
.gradient-bg[data-v-b12c30c2] {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #e8f4f8 0%, #f0f5ff 30%, #e6f0ff 60%, #f5f0ff 100%);
  background-size: 400% 400%;
  animation: gGradientShift-b12c30c2 25s ease infinite;
}
.gradient-shapes[data-v-b12c30c2] {
  position: absolute;
  inset: 0;
}
.g-shape[data-v-b12c30c2] {
  position: absolute;
}
/* 六边形 */
.g-hex-1[data-v-b12c30c2] {
  width: 200px;
  height: 230px;
  top: -3%;
  left: 5%;
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.15), rgba(99, 102, 241, 0.08));
  border: 1px solid rgba(59, 130, 246, 0.2);
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  animation: gFloat-b12c30c2 18s ease-in-out infinite;
}
.g-hex-2[data-v-b12c30c2] {
  width: 160px;
  height: 185px;
  bottom: 10%;
  right: 8%;
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.12), rgba(59, 130, 246, 0.06));
  border: 1px solid rgba(99, 102, 241, 0.15);
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  animation: gFloat-b12c30c2 22s ease-in-out infinite reverse;
}
/* 菱形 */
.g-diamond-1[data-v-b12c30c2] {
  width: 180px;
  height: 180px;
  top: 15%;
  right: 20%;
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.12), rgba(99, 102, 241, 0.06));
  border: 1px solid rgba(59, 130, 246, 0.15);
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  animation: gFloat-b12c30c2 14s ease-in-out infinite 2s;
}
.g-diamond-2[data-v-b12c30c2] {
  width: 120px;
  height: 120px;
  bottom: 25%;
  left: 15%;
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.1), rgba(59, 130, 246, 0.05));
  border: 1px solid rgba(99, 102, 241, 0.12);
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  animation: gFloat-b12c30c2 16s ease-in-out infinite 4s;
}
/* 三角形 */
.g-triangle-1[data-v-b12c30c2] {
  width: 0;
  height: 0;
  top: 50%;
  left: 60%;
  border-left: 80px solid transparent;
  border-right: 80px solid transparent;
  border-bottom: 140px solid rgba(59, 130, 246, 0.08);
  filter: drop-shadow(0 0 20px rgba(59, 130, 246, 0.06));
  animation: gFloat-b12c30c2 20s ease-in-out infinite 1s;
}
.g-triangle-2[data-v-b12c30c2] {
  width: 0;
  height: 0;
  top: 30%;
  left: 35%;
  border-left: 50px solid transparent;
  border-right: 50px solid transparent;
  border-bottom: 90px solid rgba(99, 102, 241, 0.08);
  filter: drop-shadow(0 0 15px rgba(99, 102, 241, 0.06));
  animation: gFloat-b12c30c2 12s ease-in-out infinite 3s;
}
/* 装饰线条 */
.g-line-1[data-v-b12c30c2] {
  width: 300px;
  height: 1px;
  top: 40%;
  left: -5%;
  background: linear-gradient(90deg, transparent, rgba(59, 130, 246, 0.2), transparent);
  transform: rotate(-25deg);
  animation: gLinePulse-b12c30c2 6s ease-in-out infinite;
}
.g-line-2[data-v-b12c30c2] {
  width: 250px;
  height: 1px;
  bottom: 35%;
  right: -3%;
  background: linear-gradient(90deg, transparent, rgba(99, 102, 241, 0.18), transparent);
  transform: rotate(15deg);
  animation: gLinePulse-b12c30c2 8s ease-in-out infinite 2s;
}
/* 点阵 */
.g-dot-grid[data-v-b12c30c2] {
  width: 120px;
  height: 120px;
  top: 8%;
  right: 5%;
  background-image: radial-gradient(circle, rgba(59, 130, 246, 0.2) 1px, transparent 1px);
  background-size: 15px 15px;
  animation: gDotPulse-b12c30c2 10s ease-in-out infinite;
}
.gradient-grid[data-v-b12c30c2] {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(59, 130, 246, 0.06) 1px, transparent 1px), linear-gradient(90deg, rgba(59, 130, 246, 0.06) 1px, transparent 1px);
  background-size: 60px 60px;
  animation: gGridMove-b12c30c2 40s linear infinite;
}
.gradient-glow[data-v-b12c30c2] {
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle at 35% 35%, rgba(59, 130, 246, 0.1) 0%, transparent 50%);
  animation: gGlowPulse-b12c30c2 15s ease-in-out infinite;
  pointer-events: none;
}
@keyframes gGradientShift-b12c30c2 {
0%,
  100% {
    background-position: 0% 50%;
}
25% {
    background-position: 100% 0%;
}
50% {
    background-position: 100% 100%;
}
75% {
    background-position: 0% 100%;
}
}
@keyframes gFloat-b12c30c2 {
0%,
  100% {
    transform: translate(0, 0) rotate(0deg);
}
25% {
    transform: translate(15px, -20px) rotate(2deg);
}
50% {
    transform: translate(-10px, 15px) rotate(-1deg);
}
75% {
    transform: translate(10px, 8px) rotate(1deg);
}
}
@keyframes gGridMove-b12c30c2 {
0% {
    transform: translate(0, 0);
}
100% {
    transform: translate(60px, 60px);
}
}
@keyframes gGlowPulse-b12c30c2 {
0%,
  100% {
    opacity: 0.5;
    transform: scale(1);
}
50% {
    opacity: 1;
    transform: scale(1.03);
}
}
@keyframes gLinePulse-b12c30c2 {
0%,
  100% {
    opacity: 0.4;
}
50% {
    opacity: 1;
}
}
@keyframes gDotPulse-b12c30c2 {
0%,
  100% {
    opacity: 0.5;
}
50% {
    opacity: 1;
}
}
/* ================================================================
   科技风 - 明亮版本
   ================================================================ */
.tech-bg[data-v-b12c30c2] {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #060d21 0%, #0d1b3e 30%, #0a1628 60%, #050a18 100%);
}
.tech-canvas[data-v-b12c30c2] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.tech-grid-overlay[data-v-b12c30c2] {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(99, 102, 241, 0.08) 1px, transparent 1px), linear-gradient(90deg, rgba(99, 102, 241, 0.08) 1px, transparent 1px);
  background-size: 60px 60px;
  animation: tGridPulse-b12c30c2 8s ease-in-out infinite;
}
.tech-scanline[data-v-b12c30c2] {
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(99, 102, 241, 0.03) 2px, rgba(99, 102, 241, 0.03) 4px);
  pointer-events: none;
}
/* 扫描光束 - 从上到下缓慢扫过 */
.tech-sweep[data-v-b12c30c2] {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 0%, rgba(99, 102, 241, 0.06) 45%, rgba(99, 102, 241, 0.12) 50%, rgba(99, 102, 241, 0.06) 55%, transparent 100%);
  animation: tSweep-b12c30c2 6s ease-in-out infinite;
  pointer-events: none;
}
/* 角落装饰 - 科技感边框 */
.tech-corner[data-v-b12c30c2] {
  position: absolute;
  width: 60px;
  height: 60px;
  pointer-events: none;
}
.tech-corner[data-v-b12c30c2]::before,
.tech-corner[data-v-b12c30c2]::after {
  content: '';
  position: absolute;
  background: rgba(99, 102, 241, 0.4);
}
.tech-corner--tl[data-v-b12c30c2] {
  top: 20px;
  left: 20px;
}
.tech-corner--tl[data-v-b12c30c2]::before {
  top: 0;
  left: 0;
  width: 30px;
  height: 2px;
}
.tech-corner--tl[data-v-b12c30c2]::after {
  top: 0;
  left: 0;
  width: 2px;
  height: 30px;
}
.tech-corner--tr[data-v-b12c30c2] {
  top: 20px;
  right: 20px;
}
.tech-corner--tr[data-v-b12c30c2]::before {
  top: 0;
  right: 0;
  width: 30px;
  height: 2px;
}
.tech-corner--tr[data-v-b12c30c2]::after {
  top: 0;
  right: 0;
  width: 2px;
  height: 30px;
}
.tech-corner--bl[data-v-b12c30c2] {
  bottom: 20px;
  left: 20px;
}
.tech-corner--bl[data-v-b12c30c2]::before {
  bottom: 0;
  left: 0;
  width: 30px;
  height: 2px;
}
.tech-corner--bl[data-v-b12c30c2]::after {
  bottom: 0;
  left: 0;
  width: 2px;
  height: 30px;
}
.tech-corner--br[data-v-b12c30c2] {
  bottom: 20px;
  right: 20px;
}
.tech-corner--br[data-v-b12c30c2]::before {
  bottom: 0;
  right: 0;
  width: 30px;
  height: 2px;
}
.tech-corner--br[data-v-b12c30c2]::after {
  bottom: 0;
  right: 0;
  width: 2px;
  height: 30px;
}
/* 中心光晕 */
.tech-center-glow[data-v-b12c30c2] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(99, 102, 241, 0.08) 0%, transparent 70%);
  pointer-events: none;
  animation: tCenterPulse-b12c30c2 8s ease-in-out infinite;
}
/* 六边形装饰 */
.tech-hex[data-v-b12c30c2] {
  position: absolute;
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  pointer-events: none;
}
.tech-hex--1[data-v-b12c30c2] {
  width: 120px;
  height: 138px;
  top: 12%;
  left: 8%;
  border: 1px solid rgba(99, 102, 241, 0.15);
  background: rgba(99, 102, 241, 0.03);
  animation: tHexRotate-b12c30c2 30s linear infinite;
}
.tech-hex--2[data-v-b12c30c2] {
  width: 80px;
  height: 92px;
  bottom: 15%;
  right: 10%;
  border: 1px solid rgba(59, 130, 246, 0.12);
  background: rgba(59, 130, 246, 0.03);
  animation: tHexRotate-b12c30c2 25s linear infinite reverse;
}
@keyframes tSweep-b12c30c2 {
0% {
    transform: translateY(-100%);
}
100% {
    transform: translateY(100%);
}
}
@keyframes tCenterPulse-b12c30c2 {
0%,
  100% {
    opacity: 0.6;
    transform: translate(-50%, -50%) scale(1);
}
50% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.1);
}
}
@keyframes tHexRotate-b12c30c2 {
from {
    transform: rotate(0deg);
}
to {
    transform: rotate(360deg);
}
}
.tech-data-flow[data-v-b12c30c2] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.tech-orb[data-v-b12c30c2] {
  position: absolute;
  border-radius: 50%;
  filter: blur(60px);
  animation: tOrbFloat-b12c30c2 20s ease-in-out infinite;
}
.tech-orb-1[data-v-b12c30c2] {
  width: 400px;
  height: 400px;
  top: -10%;
  right: -5%;
  background: radial-gradient(circle, rgba(99, 102, 241, 0.25), transparent 70%);
  animation-delay: 0s;
}
.tech-orb-2[data-v-b12c30c2] {
  width: 350px;
  height: 350px;
  bottom: -10%;
  left: -5%;
  background: radial-gradient(circle, rgba(139, 92, 246, 0.2), transparent 70%);
  animation-delay: -7s;
}
.tech-orb-3[data-v-b12c30c2] {
  width: 250px;
  height: 250px;
  top: 40%;
  left: 30%;
  background: radial-gradient(circle, rgba(59, 130, 246, 0.15), transparent 70%);
  animation-delay: -14s;
}
@keyframes tGridPulse-b12c30c2 {
0%,
  100% {
    opacity: 0.5;
}
50% {
    opacity: 1;
}
}
@keyframes tOrbFloat-b12c30c2 {
0%,
  100% {
    transform: translate(0, 0) scale(1);
}
25% {
    transform: translate(30px, -40px) scale(1.1);
}
50% {
    transform: translate(-20px, 20px) scale(0.95);
}
75% {
    transform: translate(10px, 30px) scale(1.05);
}
}
/* ================================================================
   国潮插画风 - 白天/夜晚自动切换
   ================================================================ */
.chinese-bg[data-v-b12c30c2] {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #87ceeb 0%, #b8d4f0 25%, #d4e4f7 50%, #e8e0d0 75%, #f0e6d3 100%);
  transition: background 1.5s ease;
}
.chinese-bg--night[data-v-b12c30c2] {
  background: linear-gradient(180deg, #0c1445 0%, #1a1a3e 25%, #16213e 50%, #1a2744 75%, #0f172a 100%);
}
.chinese-gradient[data-v-b12c30c2] {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 70% 20%, rgba(193, 108, 58, 0.08) 0%, transparent 50%), radial-gradient(ellipse at 20% 80%, rgba(178, 34, 34, 0.05) 0%, transparent 50%);
  transition: opacity 1.5s ease;
}
.chinese-bg--night .chinese-gradient[data-v-b12c30c2] {
  background: radial-gradient(ellipse at 70% 20%, rgba(99, 102, 241, 0.1) 0%, transparent 50%), radial-gradient(ellipse at 20% 80%, rgba(59, 130, 246, 0.08) 0%, transparent 50%);
}
/* 太阳 */
.chinese-sun[data-v-b12c30c2] {
  position: absolute;
  top: 8%;
  right: 15%;
  width: 80px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: cSunRise-b12c30c2 2s ease-out;
}
.chinese-sun-core[data-v-b12c30c2] {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #fff5cc, #fbbf24, #f59e0b);
  box-shadow: 0 0 30px rgba(251, 191, 36, 0.5), 0 0 60px rgba(251, 191, 36, 0.3), 0 0 100px rgba(251, 191, 36, 0.15);
}
.chinese-sun-rays[data-v-b12c30c2] {
  position: absolute;
  inset: -15px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(251, 191, 36, 0.15) 30%, transparent 70%);
  animation: cSunPulse-b12c30c2 4s ease-in-out infinite;
}
/* 月亮 */
.chinese-moon[data-v-b12c30c2] {
  position: absolute;
  top: 8%;
  right: 15%;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: radial-gradient(circle at 60% 40%, #fef9c3, #fde68a, #fcd34d);
  box-shadow: 0 0 30px rgba(253, 230, 138, 0.4), 0 0 60px rgba(253, 230, 138, 0.2), 0 0 100px rgba(253, 230, 138, 0.1);
  animation: cMoonGlow-b12c30c2 6s ease-in-out infinite;
}
.chinese-moon[data-v-b12c30c2]::after {
  content: '';
  position: absolute;
  top: -5px;
  left: 12px;
  width: 55px;
  height: 55px;
  border-radius: 50%;
  background: #0c1445;
}
@keyframes cSunRise-b12c30c2 {
from {
    transform: translateY(30px);
    opacity: 0;
}
to {
    transform: translateY(0);
    opacity: 1;
}
}
@keyframes cSunPulse-b12c30c2 {
0%,
  100% {
    transform: scale(1);
    opacity: 0.6;
}
50% {
    transform: scale(1.15);
    opacity: 1;
}
}
.chinese-mountain[data-v-b12c30c2] {
  position: absolute;
  bottom: 0;
  width: 100%;
}
.chinese-mountain-1[data-v-b12c30c2] {
  height: 35%;
  background: linear-gradient(180deg, rgba(120, 100, 80, 0.25) 0%, rgba(160, 140, 110, 0.15) 100%);
  clip-path: polygon(0% 100%, 0% 60%, 8% 45%, 15% 55%, 22% 35%, 30% 50%, 38% 25%, 45% 40%, 52% 20%, 58% 35%, 65% 15%, 72% 30%, 80% 40%, 88% 25%, 95% 45%, 100% 35%, 100% 100%);
  transition: background 1.5s ease;
}
.chinese-bg--night .chinese-mountain-1[data-v-b12c30c2] {
  background: linear-gradient(180deg, rgba(30, 40, 80, 0.9) 0%, rgba(20, 30, 60, 0.85) 100%);
}
.chinese-mountain-2[data-v-b12c30c2] {
  height: 28%;
  background: linear-gradient(180deg, rgba(120, 100, 80, 0.18) 0%, rgba(160, 140, 110, 0.1) 100%);
  clip-path: polygon(0% 100%, 0% 55%, 10% 40%, 18% 50%, 25% 30%, 35% 45%, 42% 25%, 50% 38%, 58% 20%, 65% 35%, 72% 22%, 80% 38%, 88% 28%, 95% 42%, 100% 32%, 100% 100%);
  opacity: 0.7;
  transition: background 1.5s ease;
}
.chinese-bg--night .chinese-mountain-2[data-v-b12c30c2] {
  background: linear-gradient(180deg, rgba(20, 30, 60, 0.85) 0%, rgba(15, 25, 50, 0.8) 100%);
}
.chinese-mountain-3[data-v-b12c30c2] {
  height: 20%;
  background: linear-gradient(180deg, rgba(120, 100, 80, 0.12) 0%, rgba(160, 140, 110, 0.06) 100%);
  clip-path: polygon(0% 100%, 0% 50%, 12% 35%, 20% 48%, 28% 28%, 38% 42%, 48% 22%, 55% 35%, 62% 18%, 70% 32%, 78% 20%, 85% 35%, 92% 25%, 100% 38%, 100% 100%);
  opacity: 0.5;
  transition: background 1.5s ease;
}
.chinese-bg--night .chinese-mountain-3[data-v-b12c30c2] {
  background: linear-gradient(180deg, rgba(15, 25, 50, 0.8) 0%, rgba(10, 20, 40, 0.75) 100%);
}
.chinese-cloud[data-v-b12c30c2] {
  position: absolute;
  background: rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  filter: blur(20px);
  transition: background 1.5s ease;
}
.chinese-bg--night .chinese-cloud[data-v-b12c30c2] {
  background: rgba(100, 120, 180, 0.15);
}
.chinese-cloud-1[data-v-b12c30c2] {
  width: 300px;
  height: 60px;
  top: 15%;
  left: 5%;
  animation: cCloudDrift-b12c30c2 25s linear infinite;
}
.chinese-cloud-2[data-v-b12c30c2] {
  width: 250px;
  height: 50px;
  top: 25%;
  left: 40%;
  animation: cCloudDrift-b12c30c2 30s linear infinite 5s;
}
.chinese-cloud-3[data-v-b12c30c2] {
  width: 200px;
  height: 40px;
  top: 35%;
  right: 10%;
  animation: cCloudDrift-b12c30c2 20s linear infinite 10s;
}
.chinese-particle[data-v-b12c30c2] {
  position: absolute;
  background: radial-gradient(circle, rgba(251, 191, 36, 0.8), transparent);
  border-radius: 50%;
  animation: cParticleFloat-b12c30c2 5s ease-in-out infinite;
  transition: background 1.5s ease;
}
.chinese-bg--night .chinese-particle[data-v-b12c30c2] {
  background: radial-gradient(circle, rgba(255, 255, 255, 0.9), transparent);
  width: 3px !important;
  height: 3px !important;
}
.chinese-seal[data-v-b12c30c2] {
  position: absolute;
  bottom: 15%;
  right: 8%;
  width: 60px;
  height: 60px;
  border: 2px solid rgba(178, 34, 34, 0.15);
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: rgba(178, 34, 34, 0.15);
  transform: rotate(-15deg);
  font-family: 'KaiTi', 'STKaiti', serif;
  animation: cSealPulse-b12c30c2 8s ease-in-out infinite;
}
.chinese-seal[data-v-b12c30c2]::before {
  content: '印';
}
@keyframes cMoonGlow-b12c30c2 {
0%,
  100% {
    box-shadow: 0 0 40px rgba(251, 191, 36, 0.4), 0 0 80px rgba(251, 191, 36, 0.2);
}
50% {
    box-shadow: 0 0 50px rgba(251, 191, 36, 0.5), 0 0 100px rgba(251, 191, 36, 0.3);
}
}
@keyframes cCloudDrift-b12c30c2 {
0% {
    transform: translateX(-100px);
}
100% {
    transform: translateX(calc(100vw + 100px));
}
}
@keyframes cParticleFloat-b12c30c2 {
0%,
  100% {
    opacity: 0;
    transform: translateY(0);
}
50% {
    opacity: 1;
    transform: translateY(-20px);
}
}
@keyframes cSealPulse-b12c30c2 {
0%,
  100% {
    opacity: 0.6;
}
50% {
    opacity: 1;
}
}
/* ================================================================
   流体波浪风 - 明亮清爽风格
   ================================================================ */
.wave-bg[data-v-b12c30c2] {
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, #e8f4f8 0%, #f0f5ff 30%, #e6f0ff 60%, #f5f0ff 100%);
}
.wave-gradient[data-v-b12c30c2] {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 20% 30%, rgba(59, 130, 246, 0.06) 0%, transparent 50%), radial-gradient(ellipse at 80% 70%, rgba(99, 102, 241, 0.05) 0%, transparent 50%);
}
.wave-svg[data-v-b12c30c2] {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 200%;
  min-width: 1400px;
}
.wave-svg-1[data-v-b12c30c2] {
  height: 35%;
  animation: wWaveMove-b12c30c2 14s linear infinite;
}
.wave-svg-1 path[data-v-b12c30c2] {
  fill: rgba(59, 130, 246, 0.08);
}
.wave-svg-2[data-v-b12c30c2] {
  height: 28%;
  animation: wWaveMove-b12c30c2 18s linear infinite reverse;
}
.wave-svg-2 path[data-v-b12c30c2] {
  fill: rgba(99, 102, 241, 0.06);
}
.wave-svg-3[data-v-b12c30c2] {
  height: 20%;
  animation: wWaveMove-b12c30c2 22s linear infinite;
}
.wave-svg-3 path[data-v-b12c30c2] {
  fill: rgba(139, 92, 246, 0.05);
}
.wave-line[data-v-b12c30c2] {
  position: absolute;
  left: 0;
  width: 100%;
  pointer-events: none;
}
.wave-line-1[data-v-b12c30c2] {
  top: 25%;
  height: 30%;
  animation: wLineShift-b12c30c2 12s ease-in-out infinite;
}
.wave-line-2[data-v-b12c30c2] {
  top: 40%;
  height: 25%;
  animation: wLineShift-b12c30c2 16s ease-in-out infinite 3s;
}
.wave-line-3[data-v-b12c30c2] {
  top: 55%;
  height: 20%;
  animation: wLineShift-b12c30c2 20s ease-in-out infinite 6s;
}
.wave-data-dot[data-v-b12c30c2] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(59, 130, 246, 0.4);
  box-shadow: 0 0 8px rgba(59, 130, 246, 0.2), 0 0 20px rgba(59, 130, 246, 0.08);
  animation: wDotBlink-b12c30c2 4s ease-in-out infinite;
}
.wave-dot-1[data-v-b12c30c2] {
  top: 22%;
  left: 20%;
  animation-delay: 0s;
}
.wave-dot-2[data-v-b12c30c2] {
  top: 35%;
  left: 45%;
  animation-delay: -1s;
  background: rgba(99, 102, 241, 0.4);
  box-shadow: 0 0 8px rgba(99, 102, 241, 0.2), 0 0 20px rgba(99, 102, 241, 0.08);
}
.wave-dot-3[data-v-b12c30c2] {
  top: 28%;
  left: 70%;
  animation-delay: -2s;
}
.wave-dot-4[data-v-b12c30c2] {
  top: 48%;
  left: 35%;
  animation-delay: -3s;
  background: rgba(139, 92, 246, 0.4);
  box-shadow: 0 0 8px rgba(139, 92, 246, 0.2), 0 0 20px rgba(139, 92, 246, 0.08);
}
.wave-dot-5[data-v-b12c30c2] {
  top: 52%;
  left: 60%;
  animation-delay: -1.5s;
}
@keyframes wWaveMove-b12c30c2 {
0% {
    transform: translateX(0);
}
100% {
    transform: translateX(-50%);
}
}
@keyframes wLineShift-b12c30c2 {
0%,
  100% {
    opacity: 0.5;
    transform: translateY(0);
}
50% {
    opacity: 1;
    transform: translateY(-8px);
}
}
@keyframes wDotBlink-b12c30c2 {
0%,
  100% {
    opacity: 0.3;
    transform: scale(1);
}
50% {
    opacity: 1;
    transform: scale(1.5);
}
}
/* ==================== 简洁白底风 ==================== */
.clean-bg[data-v-b12c30c2] {
  position: absolute;
  inset: 0;
  background: #f5f7fa;
  overflow: hidden;
}
.clean-shapes[data-v-b12c30c2] {
  position: absolute;
  inset: 0;
}
.c-shape[data-v-b12c30c2] {
  position: absolute;
  border-radius: 50%;
}
.c-circle-1[data-v-b12c30c2] {
  width: 400px;
  height: 400px;
  top: -100px;
  right: -80px;
  background: radial-gradient(circle, rgba(24, 144, 255, 0.06) 0%, transparent 70%);
}
.c-circle-2[data-v-b12c30c2] {
  width: 300px;
  height: 300px;
  bottom: -60px;
  left: -60px;
  background: radial-gradient(circle, rgba(99, 102, 241, 0.05) 0%, transparent 70%);
}
.c-circle-3[data-v-b12c30c2] {
  width: 200px;
  height: 200px;
  top: 40%;
  right: 10%;
  background: radial-gradient(circle, rgba(24, 144, 255, 0.04) 0%, transparent 70%);
  animation: cleanFloat-b12c30c2 8s ease-in-out infinite;
}
.c-dot-1[data-v-b12c30c2] {
  width: 8px;
  height: 8px;
  top: 20%;
  left: 15%;
  background: rgba(24, 144, 255, 0.12);
}
.c-dot-2[data-v-b12c30c2] {
  width: 6px;
  height: 6px;
  top: 60%;
  right: 20%;
  background: rgba(99, 102, 241, 0.1);
}
.c-dot-3[data-v-b12c30c2] {
  width: 10px;
  height: 10px;
  bottom: 30%;
  left: 25%;
  background: rgba(24, 144, 255, 0.08);
}
.c-dot-4[data-v-b12c30c2] {
  width: 5px;
  height: 5px;
  top: 35%;
  left: 60%;
  background: rgba(99, 102, 241, 0.12);
}
@keyframes cleanFloat-b12c30c2 {
0%,
  100% {
    transform: translate(0, 0);
}
50% {
    transform: translate(-10px, 10px);
}
}
.login-container[data-v-0f67fb51] {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow-y: auto;
  /* 隐藏滚动条 */
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.login-container[data-v-0f67fb51]::-webkit-scrollbar {
  display: none;
}
.login-content[data-v-0f67fb51] {
  position: relative;
  z-index: 10;
  width: 100%;
  max-width: 520px;
  padding: 20px;
  overflow-y: auto;
  max-height: 100vh;
  /* 隐藏滚动条 */
  scrollbar-width: none;
  -ms-overflow-style: none;
}
@media (max-width: 768px) {
.login-content[data-v-0f67fb51] {
    padding: 12px;
}
}
.login-content[data-v-0f67fb51]::-webkit-scrollbar {
  display: none;
}
.login-card[data-v-0f67fb51] {
  background: rgba(255, 255, 255, 0.95);
  border-radius: 16px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.08);
  padding: 40px 36px 32px;
  backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  transition: all 0.3s ease;
}
.login-card[data-v-0f67fb51]:hover {
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15), 0 4px 12px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}
.login-header[data-v-0f67fb51] {
  text-align: center;
  margin-bottom: 32px;
}
.logo[data-v-0f67fb51] {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  justify-content: center;
}
.logo-img[data-v-0f67fb51] {
  width: 72px;
  flex-shrink: 0;
  transition: transform 0.3s ease;
}
.logo-img[data-v-0f67fb51]:hover {
  transform: scale(1.05);
}
.logo-text[data-v-0f67fb51] {
  font-size: 24px;
  font-weight: 700;
  color: #1f2937;
  margin: 0;
  text-align: left;
  letter-spacing: -0.5px;
}
.login-subtitle[data-v-0f67fb51] {
  color: #6b7280;
  font-size: 15px;
  margin: 0;
  font-weight: 500;
}
.captcha-input[data-v-0f67fb51] {
  display: flex;
  gap: 12px;
}
.captcha-image[data-v-0f67fb51] {
  flex-shrink: 0;
  width: 100px;
  height: 40px;
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.captcha-image img[data-v-0f67fb51] {
  max-width: 100%;
  max-height: 100%;
}
.form-options[data-v-0f67fb51] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}
.captcha-section[data-v-0f67fb51] {
  margin-bottom: 20px;
}
.login-button[data-v-0f67fb51] {
  height: 48px;
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 20px;
  border-radius: 8px;
  background: linear-gradient(135deg, #1890ff 0%, #40a9ff 100%);
  border: none;
  box-shadow: 0 4px 12px rgba(24, 144, 255, 0.3);
  transition: all 0.3s ease;
}
.login-button[data-v-0f67fb51]:hover {
  background: linear-gradient(135deg, #40a9ff 0%, #69c0ff 100%);
  box-shadow: 0 6px 16px rgba(24, 144, 255, 0.4);
  transform: translateY(-1px);
}
.login-button[data-v-0f67fb51]:active {
  transform: translateY(0);
  box-shadow: 0 2px 8px rgba(24, 144, 255, 0.3);
}
.other-login[data-v-0f67fb51] {
  text-align: center;
  margin-bottom: 20px;
}
.other-login-title[data-v-0f67fb51] {
  position: relative;
  margin-bottom: 16px;
  font-size: 14px;
  color: #9ca3af;
}
.other-login-title[data-v-0f67fb51]::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(to right, transparent, #e5e7eb, transparent);
}
.other-login-title span[data-v-0f67fb51] {
  background: rgba(255, 255, 255, 0.95);
  padding: 0 16px;
  color: #6b7280;
  font-size: 14px;
  position: relative;
}
.other-login-options[data-v-0f67fb51] {
  display: flex;
  gap: 12px;
  justify-content: center;
}
.other-login-options .ant-btn[data-v-0f67fb51] {
  flex: 1;
  height: 44px;
  border-radius: 8px;
  font-weight: 500;
  transition: all 0.3s ease;
}
.other-login-options .ant-btn[data-v-0f67fb51]:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.demo-account-tip[data-v-0f67fb51] {
  text-align: center;
  margin-bottom: 16px;
  font-size: 13px;
  color: #6b7280;
  padding: 12px;
  background: #f9fafb;
  border-radius: 8px;
  border: 1px solid #e5e7eb;
}
.demo-account-tip .demo-label[data-v-0f67fb51] {
  color: #9ca3af;
}
.demo-account-tip .ant-tag[data-v-0f67fb51] {
  cursor: pointer;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  letter-spacing: 0.5px;
  border-radius: 4px;
}
.register-link[data-v-0f67fb51] {
  text-align: center;
  color: #6b7280;
  font-size: 14px;
  padding-top: 16px;
  border-top: 1px solid #e5e7eb;
}
.register-link a[data-v-0f67fb51] {
  color: #1890ff;
  margin-left: 8px;
  font-weight: 600;
  transition: all 0.3s ease;
}
.register-link a[data-v-0f67fb51]:hover {
  text-decoration: none;
  color: #40a9ff;
}
.theme-switcher[data-v-0f67fb51] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid #f0f0f0;
}
.theme-switcher-label[data-v-0f67fb51] {
  font-size: 12px;
  color: #999;
}
.theme-dot[data-v-0f67fb51] {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  cursor: pointer;
  border: 2px solid transparent;
  transition: all 0.3s;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.theme-dot[data-v-0f67fb51]:hover {
  transform: scale(1.15);
}
.theme-dot--active[data-v-0f67fb51] {
  border-color: #1890ff;
  box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.3);
}
@media (max-width: 768px) {
.login-content[data-v-0f67fb51] {
    padding: 16px;
    max-width: none;
}
.login-card[data-v-0f67fb51] {
    padding: 24px;
}
.other-login-options[data-v-0f67fb51] {
    flex-direction: column;
}
.other-login-options .ant-btn[data-v-0f67fb51] {
    width: 100%;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.login-content[data-v-0f67fb51] {
    padding: 12px;
}
}
@media (max-width: 480px) {
.login-card[data-v-0f67fb51] {
    padding: 20px;
}
.logo-text[data-v-0f67fb51] {
    font-size: 18px;
}
}
.forgot-container[data-v-f81cee50] {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow-y: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.forgot-container[data-v-f81cee50]::-webkit-scrollbar {
  display: none;
}
.forgot-content[data-v-f81cee50] {
  position: relative;
  z-index: 10;
  width: 100%;
  max-width: 420px;
  padding: 20px;
  overflow-y: auto;
  max-height: 100vh;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
@media (max-width: 768px) {
.forgot-content[data-v-f81cee50] {
    padding: 12px;
}
}
.forgot-content[data-v-f81cee50]::-webkit-scrollbar {
  display: none;
}
.forgot-card[data-v-f81cee50] {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  padding: 32px 32px 24px;
  backdrop-filter: blur(10px);
}
.forgot-header[data-v-f81cee50] {
  text-align: center;
  margin-bottom: 24px;
}
.logo[data-v-f81cee50] {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
  justify-content: center;
}
.logo-img[data-v-f81cee50] {
  width: 64px;
  flex-shrink: 0;
}
.logo-text[data-v-f81cee50] {
  font-size: 20px;
  font-weight: 600;
  color: #262626;
  margin: 0;
  text-align: left;
}
.forgot-subtitle[data-v-f81cee50] {
  color: #595959;
  font-size: 14px;
  margin: 0;
}
.forgot-steps[data-v-f81cee50] {
  margin-bottom: 28px;
}
.step-content[data-v-f81cee50] {
  animation: fadeIn-f81cee50 0.3s ease;
}
@keyframes fadeIn-f81cee50 {
from {
    opacity: 0;
    transform: translateY(8px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
/* OTP 输入框 */
.otp-inputs[data-v-f81cee50] {
  display: flex;
  gap: 8px;
  justify-content: center;
  margin-bottom: 24px;
}
.otp-input[data-v-f81cee50] {
  width: 44px;
  height: 48px;
  text-align: center;
  font-size: 20px;
  font-weight: 600;
}
.otp-input[data-v-f81cee50] .ant-input {
  text-align: center;
  font-size: 20px;
  font-weight: 600;
}
.code-tip[data-v-f81cee50] {
  text-align: center;
  color: #595959;
  font-size: 14px;
  margin-bottom: 20px;
}
.code-target[data-v-f81cee50] {
  font-weight: 600;
  color: #262626;
}
.code-actions[data-v-f81cee50] {
  margin-bottom: 8px;
}
.resend-button[data-v-f81cee50] {
  margin-top: 8px;
}
/* 密码强度指示器 */
.password-strength[data-v-f81cee50] {
  margin-top: 8px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.strength-bar[data-v-f81cee50] {
  flex: 1;
  height: 4px;
  background: #f0f0f0;
  border-radius: 2px;
  overflow: hidden;
}
.strength-fill[data-v-f81cee50] {
  height: 100%;
  border-radius: 2px;
  transition: width 0.3s ease, background-color 0.3s ease;
}
.strength-fill.strength-none[data-v-f81cee50] {
  width: 0;
}
.strength-fill.strength-weak[data-v-f81cee50] {
  background-color: #ff4d4f;
}
.strength-fill.strength-medium[data-v-f81cee50] {
  background-color: #faad14;
}
.strength-fill.strength-strong[data-v-f81cee50] {
  background-color: #52c41a;
}
.strength-text[data-v-f81cee50] {
  font-size: 12px;
  white-space: nowrap;
  min-width: 24px;
}
.strength-text.strength-none[data-v-f81cee50] {
  color: #d9d9d9;
}
.strength-text.strength-weak[data-v-f81cee50] {
  color: #ff4d4f;
}
.strength-text.strength-medium[data-v-f81cee50] {
  color: #faad14;
}
.strength-text.strength-strong[data-v-f81cee50] {
  color: #52c41a;
}
/* 按钮 */
.forgot-button[data-v-f81cee50] {
  height: 44px;
  font-size: 16px;
  font-weight: 500;
}
.back-to-login[data-v-f81cee50] {
  text-align: center;
  margin-top: 16px;
}
.back-to-login a[data-v-f81cee50] {
  color: #1890ff;
}
.back-to-login a[data-v-f81cee50]:hover {
  text-decoration: underline;
}
.forgot-success[data-v-f81cee50] {
  padding: 16px 0;
}
@media (max-width: 768px) {
.forgot-success[data-v-f81cee50] {
    padding: 12px;
}
}
/* 响应式 */
@media (max-width: 768px) {
.forgot-content[data-v-f81cee50] {
    padding: 16px;
    max-width: none;
}
.forgot-card[data-v-f81cee50] {
    padding: 24px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.forgot-content[data-v-f81cee50] {
    padding: 12px;
}
}
@media (max-width: 575px) {
.forgot-card[data-v-f81cee50] {
    padding: 20px;
}
.logo-text[data-v-f81cee50] {
    font-size: 18px;
}
.otp-input[data-v-f81cee50] {
    width: 38px;
    height: 42px;
}
.otp-input[data-v-f81cee50] .ant-input {
    font-size: 18px;
}
}
.register-container[data-v-890ea570] {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow-y: auto;
  /* 隐藏滚动条 */
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.register-container[data-v-890ea570]::-webkit-scrollbar {
  display: none;
}
.register-content[data-v-890ea570] {
  position: relative;
  z-index: 10;
  width: 100%;
  max-width: 520px;
  padding: 20px;
  overflow-y: auto;
  max-height: 100vh;
  /* 隐藏滚动条 */
  scrollbar-width: none;
  -ms-overflow-style: none;
}
@media (max-width: 768px) {
.register-content[data-v-890ea570] {
    padding: 12px;
}
}
.register-content[data-v-890ea570]::-webkit-scrollbar {
  display: none;
}
.register-card[data-v-890ea570] {
  background: rgba(255, 255, 255, 0.95);
  border-radius: 16px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.08);
  padding: 40px 36px 32px;
  backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  transition: all 0.3s ease;
}
.register-card[data-v-890ea570]:hover {
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15), 0 4px 12px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}
.register-header[data-v-890ea570] {
  text-align: center;
  margin-bottom: 32px;
}
.logo[data-v-890ea570] {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  justify-content: center;
}
.logo-img[data-v-890ea570] {
  width: 72px;
  flex-shrink: 0;
  transition: transform 0.3s ease;
}
.logo-img[data-v-890ea570]:hover {
  transform: scale(1.05);
}
.logo-text[data-v-890ea570] {
  font-size: 24px;
  font-weight: 700;
  color: #1f2937;
  margin: 0;
  text-align: left;
  letter-spacing: -0.5px;
}
.register-subtitle[data-v-890ea570] {
  color: #6b7280;
  font-size: 15px;
  margin: 0;
  font-weight: 500;
}
.register-form .password-strength[data-v-890ea570] {
  margin-top: 8px;
}
.register-form .password-strength .strength-meter[data-v-890ea570] {
  height: 4px;
  background: #f3f4f6;
  border-radius: 2px;
  overflow: hidden;
  margin-bottom: 6px;
}
.register-form .password-strength .strength-bar[data-v-890ea570] {
  height: 100%;
  transition: all 0.3s;
  border-radius: 2px;
}
.register-form .password-strength .strength-bar.weak[data-v-890ea570] {
  width: 33%;
  background: linear-gradient(90deg, #ff4d4f, #ff7875);
}
.register-form .password-strength .strength-bar.medium[data-v-890ea570] {
  width: 66%;
  background: linear-gradient(90deg, #faad14, #ffc53d);
}
.register-form .password-strength .strength-bar.strong[data-v-890ea570] {
  width: 100%;
  background: linear-gradient(90deg, #52c41a, #73d13d);
}
.register-form .password-strength .strength-text[data-v-890ea570] {
  font-size: 12px;
  font-weight: 600;
}
.register-form .password-strength .strength-text.weak[data-v-890ea570] {
  color: #ff4d4f;
}
.register-form .password-strength .strength-text.medium[data-v-890ea570] {
  color: #faad14;
}
.register-form .password-strength .strength-text.strong[data-v-890ea570] {
  color: #52c41a;
}
.captcha-input[data-v-890ea570] {
  display: flex;
  gap: 12px;
}
.captcha-image[data-v-890ea570] {
  flex-shrink: 0;
  width: 100px;
  height: 40px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}
.captcha-image[data-v-890ea570]:hover {
  border-color: #1890ff;
  box-shadow: 0 2px 8px rgba(24, 144, 255, 0.2);
}
.captcha-image img[data-v-890ea570] {
  max-width: 100%;
  max-height: 100%;
}
.register-button[data-v-890ea570] {
  height: 48px;
  font-size: 16px;
  font-weight: 600;
  border-radius: 8px;
  background: linear-gradient(135deg, #1890ff 0%, #40a9ff 100%);
  border: none;
  box-shadow: 0 4px 12px rgba(24, 144, 255, 0.3);
  transition: all 0.3s ease;
}
.register-button[data-v-890ea570]:hover {
  background: linear-gradient(135deg, #40a9ff 0%, #69c0ff 100%);
  box-shadow: 0 6px 16px rgba(24, 144, 255, 0.4);
  transform: translateY(-1px);
}
.register-button[data-v-890ea570]:active {
  transform: translateY(0);
  box-shadow: 0 2px 8px rgba(24, 144, 255, 0.3);
}
.login-link[data-v-890ea570] {
  text-align: center;
  color: #6b7280;
  font-size: 14px;
  padding-top: 16px;
  border-top: 1px solid #e5e7eb;
}
.login-link a[data-v-890ea570] {
  color: #1890ff;
  margin-left: 8px;
  font-weight: 600;
  transition: all 0.3s ease;
}
.login-link a[data-v-890ea570]:hover {
  text-decoration: none;
  color: #40a9ff;
}
.terms-content[data-v-890ea570],
.privacy-content[data-v-890ea570] {
  max-height: 400px;
  overflow-y: auto;
  line-height: 1.8;
}
.terms-content h3[data-v-890ea570],
.privacy-content h3[data-v-890ea570] {
  color: #1f2937;
  margin-bottom: 16px;
  font-weight: 600;
}
.terms-content p[data-v-890ea570],
.privacy-content p[data-v-890ea570] {
  color: #6b7280;
  margin-bottom: 12px;
  font-size: 14px;
}
/* 响应式设计 */
@media (max-width: 768px) {
.register-content[data-v-890ea570] {
    padding: 16px;
    max-width: none;
}
.register-card[data-v-890ea570] {
    padding: 24px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.register-content[data-v-890ea570] {
    padding: 12px;
}
}
@media (max-width: 480px) {
.register-card[data-v-890ea570] {
    padding: 20px;
}
}
.gitee-callback-page[data-v-5188be12] {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f5f7fa;
}
.gitee-callback-content[data-v-5188be12] {
  text-align: center;
  padding: 40px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
}
.gitee-callback-content p[data-v-5188be12] {
  margin-top: 16px;
  color: #666;
  font-size: 14px;
}
.dashboard-container[data-v-4485ab93] {
  background: var(--color-bg-layout);
  /* min-height: calc(100% - 64px); */
  padding: var(--spacing-4);
}
[data-v-4485ab93] .ant-card {
  height: 100%;
}
.dashboard-header[data-v-4485ab93] {
  position: relative;
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  border-radius: var(--radius-xl);
  margin-bottom: var(--spacing-3);
  color: white;
  overflow: hidden;
}
/* 几何装饰元素 */
.header-bg-decoration[data-v-4485ab93] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.header-circle[data-v-4485ab93] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.header-circle--1[data-v-4485ab93] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.header-circle--2[data-v-4485ab93] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.header-line[data-v-4485ab93] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.header-line--1[data-v-4485ab93] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.header-line--2[data-v-4485ab93] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.header-dot[data-v-4485ab93] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.header-dot--1[data-v-4485ab93] {
  top: 20%;
  right: 25%;
}
.header-dot--2[data-v-4485ab93] {
  bottom: 30%;
  right: 15%;
}
.dashboard-header .header-content[data-v-4485ab93] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  z-index: 1;
}
.dashboard-header .header-content .welcome-section .welcome-title[data-v-4485ab93] {
  font-size: 24px;
  font-weight: 700;
  margin: 0 0 8px 0;
  color: white;
}
.dashboard-header .header-content .welcome-section .welcome-subtitle[data-v-4485ab93] {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.85);
  margin: 0;
  font-weight: 400;
}
.dashboard-header .header-content .header-actions[data-v-4485ab93] {
  display: flex;
  gap: var(--spacing-3);
}
.stats-section[data-v-4485ab93] {
  margin-bottom: 0;
}
.stats-section[data-v-4485ab93] .ant-card {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
  border: 1px solid var(--color-border-light);
  transition: all var(--duration-base) var(--easing-ease-out);
  background: var(--color-bg-container);
}
.stats-section[data-v-4485ab93] .ant-card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12), 0 4px 8px rgba(0, 0, 0, 0.06);
  transform: translateY(-2px);
}
.stats-section[data-v-4485ab93] .ant-col {
  margin-bottom: var(--spacing-3);
}
.stat-card[data-v-4485ab93] {
  box-shadow: var(--shadow-sm);
  transition: all var(--duration-base) var(--easing-ease-out);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(245, 247, 250, 0.95) 100%);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-xl);
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(10px);
}
.stat-card[data-v-4485ab93]::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(59, 130, 246, 0.05), transparent);
  transition: left 0.6s ease;
  z-index: 0;
}
.stat-card[data-v-4485ab93]:hover::before {
  left: 100%;
}
.stat-card[data-v-4485ab93]:hover {
  box-shadow: var(--shadow-lg);
  transform: translateY(-2px);
  border-color: rgba(59, 130, 246, 0.3);
}
.stats-section[data-v-4485ab93] .ant-card-body {
  padding: var(--spacing-2) var(--spacing-4);
  position: relative;
  z-index: 1;
}
.stat-content[data-v-4485ab93] {
  display: flex;
  align-items: center;
  gap: var(--spacing-5);
  position: relative;
  z-index: 1;
  min-width: 0;
}
.stat-icon[data-v-4485ab93] {
  width: 48px;
  height: 48px;
  border-radius: var(--radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--icon-size-lg);
  color: #fff;
  transition: all var(--duration-base) var(--easing-ease-out);
  position: relative;
  overflow: hidden;
  box-shadow: var(--shadow-colored-primary);
  flex-shrink: 0;
}
.stat-icon[data-v-4485ab93]::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.3), transparent);
  transform: rotate(45deg);
  transition: all 0.6s ease;
  animation: shimmer-4485ab93 3s infinite;
}
@keyframes shimmer-4485ab93 {
0% {
    transform: translateX(-100%) translateY(-100%) rotate(45deg);
}
100% {
    transform: translateX(100%) translateY(100%) rotate(45deg);
}
}
.stat-card:hover .stat-icon[data-v-4485ab93] {
  transform: scale(1.05);
  box-shadow: var(--shadow-xl);
}
.stat-icon.icon-projects[data-v-4485ab93] {
  background: linear-gradient(135deg, var(--color-primary-500) 0%, var(--color-primary-400) 100%);
  box-shadow: var(--shadow-colored-primary);
}
.stat-icon.icon-users[data-v-4485ab93] {
  background: linear-gradient(135deg, var(--color-success-500) 0%, var(--color-success-400) 100%);
  box-shadow: var(--shadow-colored-success);
}
.stat-icon.icon-api[data-v-4485ab93] {
  background: linear-gradient(135deg, #8b5cf6 0%, #a78bfa 100%);
  box-shadow: var(--shadow-colored-primary);
}
.stat-icon.icon-schedule[data-v-4485ab93] {
  background: linear-gradient(135deg, var(--color-info-500) 0%, var(--color-info-400) 100%);
  box-shadow: var(--shadow-colored-info);
}
.stat-icon.icon-views[data-v-4485ab93] {
  background: linear-gradient(135deg, var(--color-warning-500) 0%, var(--color-warning-400) 100%);
  box-shadow: var(--shadow-colored-warning);
}
.stat-icon.icon-alert[data-v-4485ab93] {
  background: linear-gradient(135deg, var(--color-error-500) 0%, var(--color-error-400) 100%);
  box-shadow: var(--shadow-colored-error);
}
.stat-icon.icon-flow-total[data-v-4485ab93] {
  background: linear-gradient(135deg, #1890ff 0%, #69b1ff 100%);
  box-shadow: 0 4px 12px rgba(24, 144, 255, 0.3);
}
.stat-icon.icon-flow-running[data-v-4485ab93] {
  background: linear-gradient(135deg, #13c2c2 0%, #5cdbd3 100%);
  box-shadow: 0 4px 12px rgba(19, 194, 194, 0.3);
}
.stat-icon.icon-flow-completed[data-v-4485ab93] {
  background: linear-gradient(135deg, #52c41a 0%, #95de64 100%);
  box-shadow: 0 4px 12px rgba(82, 196, 26, 0.3);
}
.stat-icon.icon-flow-failed[data-v-4485ab93] {
  background: linear-gradient(135deg, #ff4d4f 0%, #ff7875 100%);
  box-shadow: 0 4px 12px rgba(255, 77, 79, 0.3);
}
.flow-monitor-section[data-v-4485ab93] {
  margin-top: var(--spacing-3);
}
.stat-info[data-v-4485ab93] {
  flex: 1;
  min-width: 0;
  overflow: hidden;
}
.stat-value[data-v-4485ab93] {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-bold);
  color: var(--color-text);
  line-height: 1.2;
  word-break: break-all;
}
.stat-label[data-v-4485ab93] {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  margin-top: var(--spacing-1);
}
.stat-change[data-v-4485ab93] {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  margin-top: var(--spacing-1-5);
  display: flex;
  align-items: center;
  gap: var(--spacing-1);
}
.stat-change.up[data-v-4485ab93] {
  color: var(--color-success-600);
}
.stat-change.down[data-v-4485ab93] {
  color: var(--color-error-600);
}
.dashboard-content[data-v-4485ab93] .ant-card {
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--color-border-light);
  transition: all var(--duration-base) var(--easing-ease-out);
  background: var(--color-bg-container);
  border-radius: var(--radius-xl);
}
.dashboard-content[data-v-4485ab93] .ant-card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12), 0 4px 8px rgba(0, 0, 0, 0.06);
  transform: translateY(-2px);
}
.dashboard-content[data-v-4485ab93] .ant-card-head {
  border-bottom: 1px solid var(--color-border-light);
  background: var(--color-bg-container-hover);
  border-radius: var(--radius-xl) var(--radius-xl) 0 0;
  padding: 0 var(--spacing-5);
  min-height: 52px;
}
.dashboard-content[data-v-4485ab93] .ant-card-head-title {
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-md);
  color: var(--color-text);
}
.dashboard-content[data-v-4485ab93] .ant-card-body {
  padding: var(--spacing-3) var(--spacing-4);
}
/* .dashboard-content :deep(.ant-col) {
  margin-bottom: var(--spacing-4);
} */
.dashboard-content[data-v-4485ab93] .ant-col:hover {
  transform: translateY(-2px);
  transition: transform 0.3s ease;
}
.chart-container[data-v-4485ab93] {
  height: 300px;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  background: var(--color-bg-container);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-lg);
  overflow: hidden;
  position: relative;
}
.chart[data-v-4485ab93] {
  width: 100%;
  height: 100%;
  box-sizing: border-box;
}
/* 响应式调整 */
@media (max-width: 768px) {
.chart-container[data-v-4485ab93] {
    height: 250px;
    padding: 0 5px;
}
.dashboard-content[data-v-4485ab93] .ant-card-body {
    padding: var(--spacing-3);
}
.dashboard-content[data-v-4485ab93] .ant-card-head {
    padding: 0 var(--spacing-3);
    min-height: 44px;
}
.dashboard-content[data-v-4485ab93] .ant-card-head-title {
    font-size: var(--font-size-base);
}
  /* 调整图表卡片的内部元素间距 */
.chart-card[data-v-4485ab93] .ant-radio-group {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-1);
}
.chart-card[data-v-4485ab93] .ant-radio-button-wrapper {
    padding: 0px var(--spacing-2);
    font-size: 12px;
}
}
@media (max-width: 576px) {
.chart-container[data-v-4485ab93] {
    height: 200px;
}
}
.projects-card[data-v-4485ab93] {
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}
.projects-list .project-item[data-v-4485ab93] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: var(--spacing-4) 0;
  border-bottom: 1px solid var(--color-border);
}
.projects-list .project-item[data-v-4485ab93]:last-child {
  border-bottom: none;
}
.project-info[data-v-4485ab93] {
  flex: 1;
}
.project-header[data-v-4485ab93] {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
  margin-bottom: var(--spacing-2);
}
.project-name[data-v-4485ab93] {
  font-size: var(--font-size-md);
  font-weight: 500;
  color: var(--color-text);
  margin: 0;
}
.project-desc[data-v-4485ab93] {
  font-size: var(--font-size-base);
  color: var(--color-text-secondary);
  margin: 0 0 var(--spacing-2) 0;
}
.project-meta[data-v-4485ab93] {
  display: flex;
  gap: var(--spacing-4);
  font-size: 12px;
  color: var(--color-text-disabled);
}
.project-actions[data-v-4485ab93] {
  flex-shrink: 0;
  margin-left: var(--spacing-4);
}
.quick-actions-card[data-v-4485ab93] {
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  margin-bottom: 0;
}
.quick-actions .quick-action-item[data-v-4485ab93],
.quick-actions-grid .quick-action-item[data-v-4485ab93] {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
  padding: var(--spacing-3) 0;
  cursor: pointer;
  transition: all 0.3s;
  border-radius: var(--radius-lg);
}
.quick-actions .quick-action-item[data-v-4485ab93]:hover,
.quick-actions-grid .quick-action-item[data-v-4485ab93]:hover {
  background: var(--color-bg-container-hover);
  padding-left: var(--spacing-2);
}
/* 快速操作网格布局（宽屏） */
.quick-actions-grid[data-v-4485ab93] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-2) var(--spacing-4);
}
.quick-actions-grid .quick-action-item[data-v-4485ab93] {
  padding: var(--spacing-3) var(--spacing-2);
}
.quick-actions-grid .quick-action-item[data-v-4485ab93]:hover {
  padding-left: var(--spacing-2);
}
@media (max-width: 1200px) {
.quick-actions-grid[data-v-4485ab93] {
    grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 768px) {
.quick-actions-grid[data-v-4485ab93] {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-2);
}
.quick-action-item[data-v-4485ab93] {
    padding: var(--spacing-3);
}
.quick-actions-grid .action-icon[data-v-4485ab93] {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    font-size: 18px;
}
.action-content .action-title[data-v-4485ab93] {
    font-size: 13px;
}
.action-content .action-desc[data-v-4485ab93] {
    font-size: 11px;
}
}
@media (max-width: 575px) {
.quick-actions-grid[data-v-4485ab93] {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-1);
}
.quick-action-item[data-v-4485ab93] {
    padding: var(--spacing-1-5);
    gap: var(--spacing-1-5);
}
.quick-actions-grid .action-icon[data-v-4485ab93] {
    width: 32px;
    height: 32px;
    min-width: 32px;
    border-radius: 8px;
    font-size: 13px;
}
.action-content .action-title[data-v-4485ab93] {
    font-size: 12px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.3;
}
.action-content .action-desc[data-v-4485ab93] {
    display: none;
}
}
.action-icon[data-v-4485ab93] {
  width: 48px;
  height: 48px;
  border-radius: var(--radius-xl);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: #fff;
  transition: all var(--duration-base) var(--easing-ease-out);
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}
.action-icon[data-v-4485ab93]::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.3), transparent);
  transform: rotate(45deg);
  transition: all 0.6s ease;
  animation: shimmer-4485ab93 3s infinite;
}
.action-icon[data-v-4485ab93]:hover {
  transform: scale(1.05);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
}
.action-icon.action-new-project[data-v-4485ab93] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  box-shadow: 0 0 24px rgba(102, 126, 234, 0.4), 0 8px 32px rgba(102, 126, 234, 0.2);
}
.action-icon.action-open-editor[data-v-4485ab93] {
  background: linear-gradient(135deg, #06b6d4 0%, #3b82f6 100%);
  box-shadow: 0 0 24px rgba(6, 182, 212, 0.4), 0 8px 32px rgba(6, 182, 212, 0.2);
}
.action-icon.action-template[data-v-4485ab93] {
  background: linear-gradient(135deg, #f97316 0%, #ef4444 100%);
  box-shadow: 0 0 24px rgba(249, 115, 22, 0.4), 0 8px 32px rgba(249, 115, 22, 0.2);
}
.action-icon.action-import[data-v-4485ab93] {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  box-shadow: 0 0 24px rgba(16, 185, 129, 0.4), 0 8px 32px rgba(16, 185, 129, 0.2);
}
.action-icon.action-collaboration[data-v-4485ab93] {
  background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
  box-shadow: 0 0 24px rgba(79, 172, 254, 0.4), 0 8px 32px rgba(79, 172, 254, 0.2);
}
.action-content[data-v-4485ab93] {
  flex: 1;
}
.action-title[data-v-4485ab93] {
  font-size: var(--font-size-base);
  font-weight: 500;
  color: var(--color-text);
  margin-bottom: var(--spacing-0-5);
}
.action-desc[data-v-4485ab93] {
  font-size: 12px;
  color: var(--color-text-secondary);
}
.system-status-card[data-v-4485ab93] {
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}
.status-list .status-item[data-v-4485ab93] {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
  padding: var(--spacing-3) 0;
  border-bottom: 1px solid var(--color-border);
}
.status-list .status-item[data-v-4485ab93]:last-child {
  border-bottom: none;
}
.status-indicator[data-v-4485ab93] {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}
.status-indicator.normal[data-v-4485ab93] {
  background: #52c41a;
}
.status-indicator.warning[data-v-4485ab93] {
  background: #faad14;
}
.status-indicator.error[data-v-4485ab93] {
  background: #ff4d4f;
}
.status-info[data-v-4485ab93] {
  flex: 1;
}
.status-name[data-v-4485ab93] {
  font-size: var(--font-size-base);
  color: var(--color-text);
}
.status-detail[data-v-4485ab93] {
  font-size: 12px;
  color: var(--color-text-secondary);
}
.activity-card[data-v-4485ab93] {
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  background: var(--color-bg-container);
  border: 1px solid var(--color-border-light);
}
.activity-content[data-v-4485ab93] {
  font-size: 12px;
  color: var(--color-text-disabled);
}
/* 待办任务卡片 */
.pending-tasks-card[data-v-4485ab93] {
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}
.pending-task-title[data-v-4485ab93] {
  font-size: var(--font-size-base);
  color: var(--color-text);
}
.pending-task-meta[data-v-4485ab93] {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
}
.pending-task-due[data-v-4485ab93] {
  font-size: 12px;
  color: var(--color-text-secondary);
}
/* 响应式调整 */
@media (max-width: 768px) {
.dashboard-container[data-v-4485ab93] {
    padding: var(--spacing-2);
}
.dashboard-header .header-content[data-v-4485ab93] {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--spacing-3);
}
.dashboard-header .header-content .header-actions[data-v-4485ab93] {
    width: 100%;
}
.dashboard-header .header-content .welcome-section .welcome-title[data-v-4485ab93] {
    font-size: 20px;
}
.dashboard-header .header-content .welcome-section .welcome-subtitle[data-v-4485ab93] {
    font-size: 13px;
}
  /* 统计卡片移动端优化 */
.stat-card[data-v-4485ab93] {
    border-radius: var(--radius-xl);
}
.stat-card .stat-content[data-v-4485ab93] {
    gap: var(--spacing-3);
}
.stat-card .stat-content .stat-icon[data-v-4485ab93] {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    font-size: 18px;
}
.stat-card .stat-content .stat-info .stat-value[data-v-4485ab93] {
    font-size: var(--font-size-md);
}
.stat-card .stat-content .stat-info .stat-label[data-v-4485ab93] {
    font-size: 12px;
}
.stat-card .stat-content .stat-info .stat-change[data-v-4485ab93] {
    font-size: 12px;
}
}
@media (max-width: 575px) {
.dashboard-container[data-v-4485ab93] {
    padding: var(--spacing-1);
}
.dashboard-header .header-content .welcome-section .welcome-title[data-v-4485ab93] {
    font-size: 18px;
}
.dashboard-header .header-content .welcome-section .welcome-subtitle[data-v-4485ab93] {
    font-size: 12px;
}
.stat-card .stat-content[data-v-4485ab93] {
    gap: var(--spacing-2);
}
.stat-card .stat-content .stat-icon[data-v-4485ab93] {
    width: 36px;
    height: 36px;
    min-width: 36px;
    border-radius: 10px;
    font-size: 16px;
}
.stat-card .stat-content .stat-info .stat-value[data-v-4485ab93] {
    font-size: 16px;
}
.stat-card .stat-content .stat-info .stat-label[data-v-4485ab93] {
    font-size: 10px;
}
.stat-card .stat-content .stat-info .stat-change[data-v-4485ab93] {
    font-size: 11px;
}
}
/* 分享按钮 */
.share-btn[data-v-4485ab93] {
  background: var(--color-bg-container);
  color: var(--color-text);
  border: 1px solid var(--color-border);
}
.share-btn[data-v-4485ab93]:hover {
  color: var(--color-primary);
  border-color: var(--color-primary);
}
/* 分享弹窗 */
.share-modal-content[data-v-4485ab93] {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-5);
}
.share-desc[data-v-4485ab93] {
  color: var(--color-text-secondary);
  font-size: var(--font-size-base);
  margin: 0;
  text-align: center;
}
.share-link-section[data-v-4485ab93] {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
}
.share-link-label[data-v-4485ab93] {
  display: flex;
  align-items: center;
  gap: var(--spacing-1-5);
  font-size: 13px;
  color: var(--color-text-secondary);
  font-weight: 500;
}
.share-link-row[data-v-4485ab93] {
  display: flex;
  gap: var(--spacing-2);
}
.share-link-input[data-v-4485ab93] {
  flex: 1;
}
.share-copy-btn[data-v-4485ab93] {
  flex-shrink: 0;
}
.share-qrcode-section[data-v-4485ab93] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--spacing-3);
}
.share-qrcode-label[data-v-4485ab93] {
  display: flex;
  align-items: center;
  gap: var(--spacing-1-5);
  font-size: 13px;
  color: var(--color-text-secondary);
  font-weight: 500;
}
.share-qrcode-wrapper[data-v-4485ab93] {
  background: #fff;
  padding: var(--spacing-3);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border-light);
}
.share-qrcode-canvas[data-v-4485ab93] {
  display: block;
  width: 180px;
  height: 180px;
}
/* 移动端分享弹窗适配 */
@media (max-width: 575px) {
.share-modal[data-v-4485ab93] .ant-modal {
    max-width: calc(100vw - 32px);
    margin: var(--spacing-4);
}
.share-modal[data-v-4485ab93] .ant-modal-content {
    padding: var(--spacing-5);
}
.share-link-row[data-v-4485ab93] {
    flex-direction: column;
}
.share-copy-btn[data-v-4485ab93] {
    width: 100%;
}
.quick-links-editor[data-v-4485ab93] .ant-modal {
    max-width: calc(100vw - 32px) !important;
}
}
/* ===== 快捷入口编辑弹窗 ===== */
.quick-links-editor[data-v-4485ab93] {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-5);
}
.editor-section .section-header[data-v-4485ab93] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--spacing-3);
}
.editor-section .section-title[data-v-4485ab93] {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text);
}
.selected-list[data-v-4485ab93] {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
}
.selected-item[data-v-4485ab93] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--spacing-2) var(--spacing-3);
  border-radius: var(--radius-lg);
  border: var(--color-border-light);
  transition: all 0.2s;
}
.selected-item[data-v-4485ab93]:hover {
  background: #fafafa;
  border-color: #e0e0e0;
}
.selected-item-info[data-v-4485ab93] {
  display: flex;
  align-items: center;
  gap: var(--spacing-2-5);
  font-size: 13px;
  color: var(--color-text);
}
.selected-item-actions[data-v-4485ab93] {
  display: flex;
  gap: 0;
}
.action-icon-sm[data-v-4485ab93] {
  width: 28px;
  height: 28px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.available-list[data-v-4485ab93] {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--spacing-2);
}
.available-item[data-v-4485ab93] {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  padding: var(--spacing-2-5) var(--spacing-3);
  border-radius: var(--radius-lg);
  border: 1px dashed #d9d9d9;
  cursor: pointer;
  transition: all 0.2s;
  font-size: 13px;
  color: var(--color-text-secondary);
}
.available-item[data-v-4485ab93]:hover {
  border-color: #1677ff;
  color: #1677ff;
  background: #f0f5ff;
}
.available-item .add-icon[data-v-4485ab93] {
  margin-left: auto;
  font-size: 12px;
  color: #bfbfbf;
}
.available-item:hover .add-icon[data-v-4485ab93] {
  color: #1677ff;
}
/* ========== 公告卡片样式 ========== */
.announcement-card[data-v-4485ab93] {
  height: 100%;
}
.announcement-list[data-v-4485ab93] {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-1);
}
.announcement-item[data-v-4485ab93] {
  display: flex;
  align-items: center;
  padding: var(--spacing-2-5) var(--spacing-3);
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.2s;
}
.announcement-item[data-v-4485ab93]:hover {
  background: rgba(24, 144, 255, 0.04);
}
.announcement-item-content[data-v-4485ab93] {
  flex: 1;
  min-width: 0;
}
.announcement-item-header[data-v-4485ab93] {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  margin-bottom: var(--spacing-1);
}
.announcement-item-title[data-v-4485ab93] {
  font-size: var(--font-size-base);
  color: var(--color-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
  min-width: 0;
}
.announcement-item-title.is-unread[data-v-4485ab93] {
  font-weight: var(--font-weight-semibold);
}
.announcement-item-meta[data-v-4485ab93] {
  display: flex;
  align-items: center;
  gap: var(--spacing-4);
  font-size: 12px;
  color: var(--color-text-secondary);
  padding-left: var(--spacing-0-5);
}
.meta-time[data-v-4485ab93],
.meta-views[data-v-4485ab93] {
  display: flex;
  align-items: center;
  gap: var(--spacing-1);
}
.view-all-link[data-v-4485ab93] {
  font-size: 13px;
  color: #1890ff;
  text-decoration: none;
}
.view-all-link[data-v-4485ab93]:hover {
  text-decoration: underline;
}
@media (max-width: 768px) {
.announcement-item[data-v-4485ab93] {
    padding: var(--spacing-2);
}
.announcement-item-title[data-v-4485ab93] {
    font-size: 13px;
}
.announcement-item-meta[data-v-4485ab93] {
    gap: var(--spacing-3);
    font-size: 11px;
}
}
/* ===== 布局基础 ===== */
.dashboard-container[data-v-93cc635a] {
  background: var(--color-bg-layout);
  padding: var(--spacing-4);
}
[data-v-93cc635a] .ant-card {
  height: 100%;
}
/* ===== 快速上手引导 ===== */
.quick-start-section[data-v-93cc635a] {
  margin-bottom: 12px;
}
.quick-start-header[data-v-93cc635a] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
}
.quick-start-title[data-v-93cc635a] {
  font-size: 16px;
  font-weight: 600;
  margin: 0;
}
.quick-start-subtitle[data-v-93cc635a] {
  font-size: 13px;
  color: var(--color-text-secondary, rgba(0, 0, 0, 0.45));
  margin: 4px 0 0 0;
}
.quick-start-steps[data-v-93cc635a] {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.quick-start-step[data-v-93cc635a] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  border: 1px solid var(--color-border-secondary, #f0f0f0);
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  flex: 1;
  min-width: 200px;
}
.quick-start-step[data-v-93cc635a]:hover {
  border-color: var(--color-primary, #1677ff);
  background: var(--color-primary-bg, #e6f4ff);
}
.step-number[data-v-93cc635a] {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--color-primary, #1677ff);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 600;
  flex-shrink: 0;
}
.step-content[data-v-93cc635a] {
  flex: 1;
}
.step-title[data-v-93cc635a] {
  font-size: 14px;
  font-weight: 500;
  color: var(--color-text, rgba(0, 0, 0, 0.88));
}
.step-desc[data-v-93cc635a] {
  font-size: 12px;
  color: var(--color-text-secondary, rgba(0, 0, 0, 0.45));
  margin-top: 2px;
}
.step-arrow[data-v-93cc635a] {
  color: var(--color-text-quaternary, rgba(0, 0, 0, 0.25));
  font-size: 14px;
  flex-shrink: 0;
}
@media (max-width: 768px) {
.quick-start-steps[data-v-93cc635a] {
    flex-direction: column;
}
.quick-start-step[data-v-93cc635a] {
    min-width: 100%;
}
.step-arrow[data-v-93cc635a] {
    display: none;
}
}
/* ===== 头部 - 与管理员首页风格一致 ===== */
/* 几何装饰元素 */
.header-bg-decoration[data-v-93cc635a] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.header-circle[data-v-93cc635a] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.header-circle--1[data-v-93cc635a] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.header-circle--2[data-v-93cc635a] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.header-line[data-v-93cc635a] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.header-line--1[data-v-93cc635a] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.header-line--2[data-v-93cc635a] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.header-dot[data-v-93cc635a] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.header-dot--1[data-v-93cc635a] {
  top: 20%;
  right: 25%;
}
.header-dot--2[data-v-93cc635a] {
  bottom: 30%;
  right: 15%;
}
.dashboard-header[data-v-93cc635a] {
  position: relative;
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  border-radius: var(--radius-xl);
  margin-bottom: var(--spacing-3);
  color: white;
  overflow: hidden;
}
.dashboard-header .header-content[data-v-93cc635a] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  z-index: 1;
}
.dashboard-header .welcome-title[data-v-93cc635a] {
  font-size: 24px;
  font-weight: 700;
  margin: 0 0 8px 0;
  color: white;
}
.dashboard-header .welcome-subtitle[data-v-93cc635a] {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.85);
  margin: 0;
  font-weight: 400;
}
.dashboard-header .header-actions[data-v-93cc635a] {
  display: flex;
  gap: var(--spacing-3);
}
/* ===== 统计卡片 - 与管理员首页完全一致 ===== */
.stats-section[data-v-93cc635a] {
  margin-bottom: 0;
}
.stats-section[data-v-93cc635a] .ant-col {
  margin-bottom: var(--spacing-3);
}
.stats-section[data-v-93cc635a] .ant-card {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
  border: 1px solid var(--color-border-light);
  transition: all var(--duration-base) var(--easing-ease-out);
  background: var(--color-bg-container);
}
.stats-section[data-v-93cc635a] .ant-card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12), 0 4px 8px rgba(0, 0, 0, 0.06);
  transform: translateY(-2px);
}
.stat-card[data-v-93cc635a] {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  transition: all var(--duration-base) var(--easing-ease-out);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(245, 247, 250, 0.95) 100%);
  border: 1px solid rgba(59, 130, 246, 0.15);
  border-radius: 20px;
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(10px);
}
.stat-card[data-v-93cc635a]::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(59, 130, 246, 0.05), transparent);
  transition: left 0.6s ease;
  z-index: 0;
}
.stat-card[data-v-93cc635a]:hover::before {
  left: 100%;
}
.stat-card[data-v-93cc635a]:hover {
  box-shadow: 0 12px 32px rgba(59, 130, 246, 0.15);
  transform: translateY(-4px);
  border-color: rgba(59, 130, 246, 0.3);
}
.stats-section[data-v-93cc635a] .ant-card-body {
  padding: var(--spacing-2) var(--spacing-4);
  position: relative;
  z-index: 1;
}
.stat-content[data-v-93cc635a] {
  display: flex;
  align-items: center;
  gap: var(--spacing-5);
  position: relative;
  z-index: 1;
  min-width: 0;
}
.stat-icon[data-v-93cc635a] {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  color: white;
  flex-shrink: 0;
  transition: all var(--duration-base) var(--easing-ease-out);
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}
.stat-icon[data-v-93cc635a]::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.3), transparent);
  transform: rotate(45deg);
  transition: all 0.6s ease;
  animation: shimmer-93cc635a 3s infinite;
}
@keyframes shimmer-93cc635a {
0% {
    transform: translateX(-100%) translateY(-100%) rotate(45deg);
}
100% {
    transform: translateX(100%) translateY(100%) rotate(45deg);
}
}
.stat-card:hover .stat-icon[data-v-93cc635a] {
  transform: scale(1.05);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
}
.icon-apps[data-v-93cc635a] {
  background: linear-gradient(135deg, #3b82f6 0%, #60a5fa 100%);
  box-shadow: 0 0 24px rgba(59, 130, 246, 0.4), 0 8px 32px rgba(59, 130, 246, 0.2);
}
.icon-todo[data-v-93cc635a] {
  background: linear-gradient(135deg, #f59e0b 0%, #fbbf24 100%);
  box-shadow: 0 0 24px rgba(245, 158, 11, 0.4), 0 8px 32px rgba(245, 158, 11, 0.2);
}
.icon-msg[data-v-93cc635a] {
  background: linear-gradient(135deg, #8b5cf6 0%, #a78bfa 100%);
  box-shadow: 0 0 24px rgba(139, 92, 246, 0.4), 0 8px 32px rgba(139, 92, 246, 0.2);
}
.icon-activity[data-v-93cc635a] {
  background: linear-gradient(135deg, #10b981 0%, #34d399 100%);
  box-shadow: 0 0 24px rgba(16, 185, 129, 0.4), 0 8px 32px rgba(16, 185, 129, 0.2);
}
.stat-info[data-v-93cc635a] {
  flex: 1;
  min-width: 0;
}
.stat-value[data-v-93cc635a] {
  font-size: 20px;
  font-weight: var(--font-weight-semibold);
  color: var(--color-text);
  line-height: 1;
}
.stat-label[data-v-93cc635a] {
  font-size: var(--font-size-base);
  color: var(--color-text-secondary);
  margin-top: var(--spacing-1);
}
/* ===== 内容卡片 - 与管理员首页完全一致 ===== */
.dashboard-content[data-v-93cc635a] .ant-card {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
  border: 1px solid var(--color-border-light);
  transition: all var(--duration-base) var(--easing-ease-out);
  background: var(--color-bg-container);
  border-radius: var(--radius-xl);
}
.dashboard-content[data-v-93cc635a] .ant-card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12), 0 4px 8px rgba(0, 0, 0, 0.06);
  transform: translateY(-2px);
}
.dashboard-content[data-v-93cc635a] .ant-card-head {
  border-bottom: 1px solid var(--color-border-light);
  background: var(--color-bg-container-hover);
  border-radius: var(--radius-xl) 12px 0 0;
  padding: 0 var(--spacing-5);
  min-height: 52px;
}
.dashboard-content[data-v-93cc635a] .ant-card-head-title {
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-md);
  color: var(--color-text);
}
.dashboard-content[data-v-93cc635a] .ant-card-body {
  padding: var(--spacing-3) var(--spacing-4);
}
.dashboard-content[data-v-93cc635a] .ant-col:hover {
  transform: translateY(-2px);
  transition: transform 0.3s ease;
}
.view-all-link[data-v-93cc635a] {
  font-size: 13px;
}
/* ===== 我的应用列表 ===== */
.apps-list[data-v-93cc635a] {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-3);
}
.app-item[data-v-93cc635a] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--spacing-3) var(--spacing-4);
  border-radius: var(--radius-xl);
  border: var(--color-border-light);
  transition: all 0.3s;
  cursor: pointer;
}
.app-item[data-v-93cc635a]:hover {
  border-color: #1677ff;
  box-shadow: 0 4px 12px rgba(22, 119, 255, 0.1);
  background: #fafbff;
}
.app-header[data-v-93cc635a] {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  margin-bottom: var(--spacing-1);
}
.app-name[data-v-93cc635a] {
  margin: 0;
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
}
.app-desc[data-v-93cc635a] {
  margin: 0;
  font-size: 13px;
  color: var(--color-text-secondary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 320px;
}
.app-meta[data-v-93cc635a] {
  display: flex;
  gap: var(--spacing-4);
  margin-top: var(--spacing-1-5);
  font-size: 12px;
  color: #bfbfbf;
}
/* ===== 公告列表 ===== */
.announcement-list[data-v-93cc635a] {
  display: flex;
  flex-direction: column;
}
.announcement-item[data-v-93cc635a] {
  padding: var(--spacing-3) 0;
  border-bottom: 1px solid #f5f5f5;
  cursor: pointer;
}
.announcement-item[data-v-93cc635a]:last-child {
  border-bottom: none;
}
.announcement-item:hover .announcement-item-title[data-v-93cc635a] {
  color: #1677ff;
}
.announcement-item-header[data-v-93cc635a] {
  display: flex;
  align-items: center;
  gap: var(--spacing-1-5);
}
.announcement-item-title[data-v-93cc635a] {
  font-size: 13px;
  color: var(--color-text);
  transition: color 0.2s;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
}
.announcement-item-title.is-unread[data-v-93cc635a] {
  font-weight: 500;
}
.announcement-item-meta[data-v-93cc635a] {
  display: flex;
  gap: var(--spacing-3);
  margin-top: var(--spacing-1);
}
.meta-time[data-v-93cc635a],
.meta-views[data-v-93cc635a] {
  font-size: 12px;
  color: #bfbfbf;
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-1);
}
/* ===== 待办列表 ===== */
.todo-list[data-v-93cc635a] {
  max-height: 320px;
  overflow-y: auto;
}
.todo-item[data-v-93cc635a] {
  padding: var(--spacing-2-5) 0;
  border-bottom: 1px solid #f5f5f5;
}
.todo-item[data-v-93cc635a]:last-child {
  border-bottom: none;
}
.todo-item.done .todo-text[data-v-93cc635a] {
  text-decoration: line-through;
  color: #bfbfbf;
}
.todo-text[data-v-93cc635a] {
  font-size: 13px;
}
/* ===== 快速操作 ===== */
.quick-actions[data-v-93cc635a] {
  display: flex;
  flex-direction: column;
}
.quick-action-item[data-v-93cc635a] {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
  padding: var(--spacing-3) var(--spacing-2);
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.3s;
}
.quick-action-item[data-v-93cc635a]:hover {
  background: #f6f8fa;
}
.action-icon[data-v-93cc635a] {
  width: 48px;
  height: 48px;
  border-radius: var(--radius-xl);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: white;
  transition: all var(--duration-base) var(--easing-ease-out);
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}
.action-icon[data-v-93cc635a]::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.3), transparent);
  transform: rotate(45deg);
  transition: all 0.6s ease;
  animation: shimmer-93cc635a 3s infinite;
}
.action-icon[data-v-93cc635a]:hover {
  transform: scale(1.05);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
}
.action-apps[data-v-93cc635a] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  box-shadow: 0 0 24px rgba(102, 126, 234, 0.4), 0 8px 32px rgba(102, 126, 234, 0.2);
}
.action-msg[data-v-93cc635a] {
  background: linear-gradient(135deg, #06b6d4 0%, #3b82f6 100%);
  box-shadow: 0 0 24px rgba(6, 182, 212, 0.4), 0 8px 32px rgba(6, 182, 212, 0.2);
}
.action-bell[data-v-93cc635a] {
  background: linear-gradient(135deg, #f97316 0%, #ef4444 100%);
  box-shadow: 0 0 24px rgba(249, 115, 22, 0.4), 0 8px 32px rgba(249, 115, 22, 0.2);
}
.action-user[data-v-93cc635a] {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  box-shadow: 0 0 24px rgba(16, 185, 129, 0.4), 0 8px 32px rgba(16, 185, 129, 0.2);
}
.action-setting[data-v-93cc635a] {
  background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
  box-shadow: 0 0 24px rgba(79, 172, 254, 0.4), 0 8px 32px rgba(79, 172, 254, 0.2);
}
.action-title[data-v-93cc635a] {
  font-size: var(--font-size-base);
  font-weight: 500;
  color: var(--color-text);
}
.action-desc[data-v-93cc635a] {
  font-size: 12px;
  color: var(--color-text-secondary);
  margin-top: var(--spacing-0-5);
}
/* ===== 最近活动 ===== */
.activity-time[data-v-93cc635a] {
  font-size: 12px;
  color: #bfbfbf;
}
/* ===== 公告详情弹窗 ===== */
.announcement-preview .preview-meta-bar[data-v-93cc635a] {
  display: flex;
  align-items: center;
  gap: var(--spacing-4);
  flex-wrap: wrap;
}
.announcement-preview .preview-body[data-v-93cc635a] {
  line-height: 1.8;
  color: var(--color-text);
}
.announcement-preview .preview-body[data-v-93cc635a] img {
  max-width: 100%;
  border-radius: var(--radius-lg);
}
/* ===== 快捷入口编辑弹窗 ===== */
.quick-links-editor[data-v-93cc635a] {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-5);
}
.editor-section .section-header[data-v-93cc635a] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--spacing-3);
}
.editor-section .section-title[data-v-93cc635a] {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text);
}
.selected-list[data-v-93cc635a] {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
}
.selected-item[data-v-93cc635a] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--spacing-2) var(--spacing-3);
  border-radius: var(--radius-lg);
  border: var(--color-border-light);
  transition: all 0.2s;
}
.selected-item[data-v-93cc635a]:hover {
  background: #fafafa;
  border-color: #e0e0e0;
}
.selected-item-info[data-v-93cc635a] {
  display: flex;
  align-items: center;
  gap: var(--spacing-2-5);
  font-size: 13px;
  color: var(--color-text);
}
.selected-item-actions[data-v-93cc635a] {
  display: flex;
  gap: 0;
}
.action-icon-sm[data-v-93cc635a] {
  width: 28px;
  height: 28px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.available-list[data-v-93cc635a] {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--spacing-2);
}
.available-item[data-v-93cc635a] {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  padding: var(--spacing-2-5) var(--spacing-3);
  border-radius: var(--radius-lg);
  border: 1px dashed #d9d9d9;
  cursor: pointer;
  transition: all 0.2s;
  font-size: 13px;
  color: var(--color-text-secondary);
}
.available-item[data-v-93cc635a]:hover {
  border-color: #1677ff;
  color: #1677ff;
  background: #f0f5ff;
}
.available-item .add-icon[data-v-93cc635a] {
  margin-left: auto;
  font-size: 12px;
  color: #bfbfbf;
}
.available-item:hover .add-icon[data-v-93cc635a] {
  color: #1677ff;
}
/* ===== 响应式 ===== */
@media (max-width: 992px) {
.dashboard-header .header-content[data-v-93cc635a] {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--spacing-3);
}
.app-desc[data-v-93cc635a] {
    max-width: 200px;
}
}
@media (max-width: 768px) {
.user-dashboard[data-v-93cc635a] {
    padding: var(--spacing-2);
}
.dashboard-header .welcome-title[data-v-93cc635a] {
    font-size: 18px;
}
.stat-value[data-v-93cc635a] {
    font-size: 18px;
}
.app-item[data-v-93cc635a] {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--spacing-2);
}
.app-desc[data-v-93cc635a] {
    max-width: 100%;
}
}
@media (max-width: 575px) {
.action-icon[data-v-93cc635a] {
    width: 36px;
    height: 36px;
    font-size: 16px;
}
.stat-icon[data-v-93cc635a] {
    width: 32px;
    height: 32px;
    min-width: 32px;
    border-radius: 8px;
    font-size: 13px;
}
.stat-value[data-v-93cc635a] {
    font-size: 16px;
}
.stat-label[data-v-93cc635a] {
    font-size: 10px;
}
}
.pl-chart-builder[data-v-c4de1dd5] {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.pl-chart-builder__section[data-v-c4de1dd5] {
  padding-bottom: 16px;
  border-bottom: 1px solid var(--color-border-light, #f0f0f0);
}
.pl-chart-builder__section[data-v-c4de1dd5]:last-of-type {
  border-bottom: none;
}
.pl-chart-builder__section-title[data-v-c4de1dd5] {
  font-size: 14px;
  font-weight: 600;
  color: var(--color-text, #262626);
  margin: 0 0 12px 0;
}
/* 图表类型选择 */
.pl-chart-builder__type-grid[data-v-c4de1dd5] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
.pl-chart-builder__type-item[data-v-c4de1dd5] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 12px 8px;
  border-radius: var(--radius-md, 4px);
  border: 1px solid var(--color-border-light, #f0f0f0);
  cursor: pointer;
  transition: var(--transition-fast, all 0.2s ease);
  font-size: 11px;
  color: var(--color-text-secondary, #6b7280);
}
.pl-chart-builder__type-item[data-v-c4de1dd5]:hover {
  border-color: var(--color-primary, #1677ff);
  color: var(--color-primary, #1677ff);
}
.pl-chart-builder__type-item--active[data-v-c4de1dd5] {
  border-color: var(--color-primary, #1677ff);
  background: var(--color-primary-bg, #e6f4ff);
  color: var(--color-primary, #1677ff);
}
.pl-chart-builder__type-hint[data-v-c4de1dd5] {
  margin-top: 8px;
  padding: 8px 12px;
  background: #f6f8fa;
  border-radius: 6px;
  font-size: 12px;
  color: #666;
  display: flex;
  align-items: center;
  gap: 6px;
}
.pl-chart-builder__type-hint .anticon[data-v-c4de1dd5] {
  color: #1890ff;
}
.pl-chart-builder__type-icon[data-v-c4de1dd5] {
  font-size: 20px;
}
/* 配色方案 */
.pl-chart-builder__color-schemes[data-v-c4de1dd5] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.pl-chart-builder__color-scheme[data-v-c4de1dd5] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: var(--radius-md, 4px);
  border: 1px solid var(--color-border-light, #f0f0f0);
  cursor: pointer;
  transition: var(--transition-fast, all 0.2s ease);
}
.pl-chart-builder__color-scheme[data-v-c4de1dd5]:hover {
  border-color: var(--color-primary, #1677ff);
}
.pl-chart-builder__color-scheme--active[data-v-c4de1dd5] {
  border-color: var(--color-primary, #1677ff);
  background: var(--color-primary-bg, #e6f4ff);
}
.pl-chart-builder__color-dots[data-v-c4de1dd5] {
  display: flex;
  gap: 3px;
}
.pl-chart-builder__color-dot[data-v-c4de1dd5] {
  width: 14px;
  height: 14px;
  border-radius: 50%;
}
.pl-chart-builder__color-scheme-name[data-v-c4de1dd5] {
  font-size: 12px;
  color: var(--color-text-secondary, #6b7280);
}
/* 预览 */
.pl-chart-builder__preview[data-v-c4de1dd5] {
  height: 240px;
  background: var(--color-neutral-50, #f9fafb);
  border-radius: var(--radius-md, 4px);
  border: 1px solid var(--color-border-light, #f0f0f0);
}
/* 操作按钮 */
.pl-chart-builder__actions[data-v-c4de1dd5] {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding-top: 16px;
}
/* 移动端响应式 */
@media (max-width: 768px) {
.pl-chart-builder[data-v-c4de1dd5] {
    padding: 12px;
}
.pl-chart-builder__type-grid[data-v-c4de1dd5] {
    grid-template-columns: repeat(3, 1fr);
}
.pl-chart-builder__type-item[data-v-c4de1dd5] {
    padding: 10px 6px;
    font-size: 10px;
}
.pl-chart-builder__type-icon[data-v-c4de1dd5] {
    font-size: 18px;
}
.pl-chart-builder__color-schemes[data-v-c4de1dd5] {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
}
.pl-chart-builder__color-scheme[data-v-c4de1dd5] {
    flex: 0 0 auto;
}
.pl-chart-builder__preview[data-v-c4de1dd5] {
    height: 200px;
}
}
@media (max-width: 480px) {
.pl-chart-builder__type-grid[data-v-c4de1dd5] {
    grid-template-columns: repeat(2, 1fr);
}
.pl-chart-builder__section-title[data-v-c4de1dd5] {
    font-size: 13px;
}
}
/* ==================== 页面容器 ==================== */
.pl-analytics-dashboard[data-v-f37596d6] {
  padding: var(--spacing-4);
  min-height: 100%;
  background: var(--color-bg-layout);
}
/* ==================== Hero Section ==================== */
.hero-bg-decoration[data-v-f37596d6] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-f37596d6] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-f37596d6] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-f37596d6] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-f37596d6] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-f37596d6] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-f37596d6] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-f37596d6] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-f37596d6] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-f37596d6] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-f37596d6] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-f37596d6] {
  flex: 1;
}
.hero-title[data-v-f37596d6] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-f37596d6] {
  margin: 0 0 16px;
  font-size: 14px;
  opacity: 0.85;
  max-width: 600px;
}
.hero-stats[data-v-f37596d6] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.hero-stat[data-v-f37596d6] {
  display: flex;
  flex-direction: column;
}
.hero-stat-value[data-v-f37596d6] {
  font-size: 22px;
  font-weight: 700;
}
.hero-stat-label[data-v-f37596d6] {
  font-size: 12px;
  opacity: 0.7;
}
.hero-stat-divider[data-v-f37596d6] {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.25);
}
.hero-right[data-v-f37596d6] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
/* ==================== 筛选栏 ==================== */
.filter-bar[data-v-f37596d6] {
  background: #fff;
  padding: 16px 32px;
  border-radius: 0 0 12px 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  position: relative;
  z-index: 2;
}
@media (max-width: 768px) {
.filter-bar[data-v-f37596d6] {
    padding: 12px;
}
}
.filter-bar-inner[data-v-f37596d6] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  max-width: 1600px;
  margin: 0 auto;
}
.filter-left[data-v-f37596d6] {
  display: flex;
  gap: 12px;
  flex: 1;
}
.filter-select[data-v-f37596d6] {
  width: 160px;
}
/* ==================== 统计概览 ==================== */
.stats-section[data-v-f37596d6] {
  padding: 12px 0;
}
@media (max-width: 768px) {
.stats-section[data-v-f37596d6] {
    padding: 12px;
}
}
.stat-card[data-v-f37596d6] {
  background: #fff;
  border: 1px solid #ebeef5;
  border-radius: 14px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}
.stat-card[data-v-f37596d6]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(135deg, #1677ff 0%, #4096ff 100%);
  opacity: 0;
  transition: opacity 0.35s ease;
}
.stat-card[data-v-f37596d6]:hover {
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(24, 144, 255, 0.15);
  border-color: transparent;
  transform: translateY(-4px);
}
.stat-card[data-v-f37596d6]:hover::before {
  opacity: 1;
}
.stat-card[data-v-f37596d6] .ant-card-body {
  padding: var(--spacing-3);
  position: relative;
  z-index: 1;
}
.stat-content[data-v-f37596d6] {
  display: flex;
  align-items: center;
  gap: 16px;
  position: relative;
  z-index: 1;
  min-width: 0;
}
.stat-icon[data-v-f37596d6] {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 24px;
  flex-shrink: 0;
  transition: all 0.3s ease;
}
.stat-card:hover .stat-icon[data-v-f37596d6] {
  transform: scale(1.05);
}
.stat-icon.icon-visits[data-v-f37596d6] {
  background: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);
}
.stat-icon.icon-users[data-v-f37596d6] {
  background: linear-gradient(135deg, #059669 0%, #34d399 100%);
}
.stat-icon.icon-time[data-v-f37596d6] {
  background: linear-gradient(135deg, #e11d48 0%, #f472b6 100%);
}
.stat-icon.icon-bounce[data-v-f37596d6] {
  background: linear-gradient(135deg, #0284c7 0%, #38bdf8 100%);
}
.stat-icon.icon-api[data-v-f37596d6] {
  background: linear-gradient(135deg, #0d9488 0%, #5eead4 100%);
}
.stat-icon.icon-error[data-v-f37596d6] {
  background: linear-gradient(135deg, #d97706 0%, #fbbf24 100%);
}
.stat-info[data-v-f37596d6] {
  flex: 1;
  min-width: 0;
}
.stat-value[data-v-f37596d6] {
  font-size: 28px;
  font-weight: 700;
  color: #1f2937;
  line-height: 1.2;
  letter-spacing: -0.5px;
}
.stat-label[data-v-f37596d6] {
  font-size: 13px;
  color: #6b7280;
  margin-top: 4px;
}
.stat-change[data-v-f37596d6] {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 6px;
  font-size: 12px;
  font-weight: 600;
}
.stat-change.up[data-v-f37596d6] {
  color: #52c41a;
}
.stat-change.down[data-v-f37596d6] {
  color: #ff4d4f;
}
/* ==================== 图表网格 ==================== */
.pl-analytics-dashboard__grid[data-v-f37596d6] {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
.pl-analytics-dashboard__chart-card[data-v-f37596d6] {
  background: #fff;
  border-radius: 14px;
  border: 1px solid #ebeef5;
  overflow: hidden;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  position: relative;
}
.pl-analytics-dashboard__chart-card.span-2[data-v-f37596d6] {
  grid-column: span 2;
}
.pl-analytics-dashboard__chart-card[data-v-f37596d6]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(135deg, #1677ff 0%, #4096ff 100%);
  opacity: 0;
  transition: opacity 0.35s ease;
  z-index: 1;
}
.pl-analytics-dashboard__chart-card[data-v-f37596d6]:hover {
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(24, 144, 255, 0.15);
  border-color: transparent;
  transform: translateY(-4px);
}
.pl-analytics-dashboard__chart-card[data-v-f37596d6]:hover::before {
  opacity: 1;
}
.pl-analytics-dashboard__chart-header[data-v-f37596d6] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 20px;
  border-bottom: 1px solid #f0f0f0;
  background: #fafafa;
}
.pl-analytics-dashboard__chart-title[data-v-f37596d6] {
  font-size: 14px;
  font-weight: 600;
  color: var(--color-text);
}
.pl-analytics-dashboard__chart-actions[data-v-f37596d6] {
  display: flex;
  gap: 0;
}
.pl-analytics-dashboard__chart-body[data-v-f37596d6] {
  height: 320px;
  padding: 8px;
}
/* ==================== 添加图表卡片 ==================== */
.pl-analytics-dashboard__add-card[data-v-f37596d6] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 320px;
  border: 2px dashed #d9d9d9;
  border-radius: 14px;
  cursor: pointer;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  color: #8c8c8c;
  gap: 8px;
  font-size: 13px;
  background: #fff;
}
.pl-analytics-dashboard__add-card[data-v-f37596d6]:hover {
  border-color: #1677ff;
  color: #1677ff;
  background: #f0f5ff;
  box-shadow: 0 4px 16px rgba(22, 119, 255, 0.1);
  transform: translateY(-4px);
}
.pl-analytics-dashboard__add-icon[data-v-f37596d6] {
  font-size: 28px;
}
/* ==================== 表格移动端滚动容器 ==================== */
.pl-analytics-dashboard__table-wrapper[data-v-f37596d6] {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 14px;
  border: 1px solid #ebeef5;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}
.pl-analytics-dashboard__table-wrapper[data-v-f37596d6] .ant-table {
  min-width: 600px;
}
/* ==================== 响应式 - 平板 ==================== */
@media (max-width: 1200px) {
.hero-title[data-v-f37596d6] {
    font-size: 24px;
}
.hero-stat[data-v-f37596d6] {
    padding: 0 14px;
}
.hero-stat-value[data-v-f37596d6] {
    font-size: 22px;
}
}
/* ==================== 响应式 - 手机 ==================== */
@media (max-width: 768px) {
.pl-analytics-dashboard[data-v-f37596d6] {
    padding: var(--spacing-3);
}
.hero-content[data-v-f37596d6] {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
}
.hero-title[data-v-f37596d6] {
    font-size: 22px;
}
.hero-desc[data-v-f37596d6] {
    font-size: 13px;
    margin-bottom: 20px;
}
.hero-stat[data-v-f37596d6] {
    padding: 0 12px;
}
.hero-stat-value[data-v-f37596d6] {
    font-size: 20px;
}
.hero-right[data-v-f37596d6] {
    flex-direction: row;
    width: 100%;
}
.hero-btn-primary[data-v-f37596d6],
  .hero-btn-default[data-v-f37596d6] {
    flex: 1;
    justify-content: center;
}
.filter-bar[data-v-f37596d6] {
    padding: 12px 8px;
}
.filter-bar-inner[data-v-f37596d6] {
    flex-direction: column;
    align-items: stretch;
}
.filter-left[data-v-f37596d6] {
    flex-direction: column;
}
.filter-select[data-v-f37596d6] {
    width: 100%;
}
.stats-section[data-v-f37596d6] {
    padding: 16px 0;
}
.stat-card[data-v-f37596d6] {
    border-radius: 12px;
}
.stat-card .stat-content[data-v-f37596d6] {
    gap: 12px;
}
.stat-card .stat-content .stat-icon[data-v-f37596d6] {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    font-size: 22px;
}
.stat-card .stat-content .stat-info .stat-value[data-v-f37596d6] {
    font-size: 24px;
}
.stat-card .stat-content .stat-info .stat-label[data-v-f37596d6] {
    font-size: 12px;
}
  /* 图表区域全宽 */
.pl-analytics-dashboard__grid[data-v-f37596d6] {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 16px 0;
}
.pl-analytics-dashboard__chart-card.span-2[data-v-f37596d6] {
    grid-column: span 1;
}
.pl-analytics-dashboard__chart-body[data-v-f37596d6] {
    height: 260px;
}
.pl-analytics-dashboard__add-card[data-v-f37596d6] {
    min-height: 200px;
}
  /* 表格可滚动 */
.pl-analytics-dashboard__table-wrapper[data-v-f37596d6] {
    border-radius: 8px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.filter-bar[data-v-f37596d6] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.stats-section[data-v-f37596d6] {
    padding: 12px;
}
}
/* ==================== 响应式 - 中等屏幕 ==================== */
@media (max-width: 991px) {
.hero-content[data-v-f37596d6] {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}
.hero-stats[data-v-f37596d6] {
    gap: 12px;
}
.hero-stat-value[data-v-f37596d6] {
    font-size: 18px;
}
}
/* ==================== 响应式 - 小屏手机 ==================== */
@media (max-width: 575px) {
.hero-title[data-v-f37596d6] {
    font-size: 20px;
}
.hero-right[data-v-f37596d6] {
    width: 100%;
}
.hero-stats[data-v-f37596d6] {
    flex-wrap: wrap;
    gap: 8px;
}
.hero-stat[data-v-f37596d6] {
    padding: 0 10px;
}
.hero-stat-divider[data-v-f37596d6] {
    display: none;
}
.hero-stat-value[data-v-f37596d6] {
    font-size: 18px;
}
.hero-btn-primary[data-v-f37596d6],
  .hero-btn-default[data-v-f37596d6] {
    font-size: 12px;
    padding: 0 16px;
}
.filter-bar-inner[data-v-f37596d6] {
    gap: 10px;
}
.stats-section[data-v-f37596d6] {
    padding: 12px 0;
}
.stat-card[data-v-f37596d6] {
    border-radius: 12px;
}
.stat-card .stat-content[data-v-f37596d6] {
    gap: 10px;
}
.stat-card .stat-content .stat-icon[data-v-f37596d6] {
    width: 32px;
    height: 32px;
    min-width: 32px;
    border-radius: 8px;
    font-size: 13px;
}
.stat-card .stat-content .stat-info .stat-value[data-v-f37596d6] {
    font-size: 16px;
}
.stat-card .stat-content .stat-info .stat-label[data-v-f37596d6] {
    font-size: 10px;
}
  /* 图表高度调整 */
.pl-analytics-dashboard__grid[data-v-f37596d6] {
    gap: 10px;
    padding: 12px 0;
}
.pl-analytics-dashboard__chart-body[data-v-f37596d6] {
    height: 220px;
    padding: 4px;
}
.pl-analytics-dashboard__chart-header[data-v-f37596d6] {
    padding: 10px 12px;
}
.pl-analytics-dashboard__chart-title[data-v-f37596d6] {
    font-size: 13px;
}
.pl-analytics-dashboard__add-card[data-v-f37596d6] {
    min-height: 160px;
    border-radius: 10px;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.stats-section[data-v-f37596d6] {
    padding: 12px;
}
}
.analytics-reports-container[data-v-cb167aa4] {
  padding: var(--spacing-4);
  background: var(--color-bg-layout);
}
/* ==================== Hero区域 ==================== */
.hero-bg-decoration[data-v-cb167aa4] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-cb167aa4] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-cb167aa4] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-cb167aa4] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-circle--3[data-v-cb167aa4] {
  width: 80px;
  height: 80px;
  top: 40%;
  left: 60%;
}
.hero-line[data-v-cb167aa4] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-cb167aa4] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-cb167aa4] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-cb167aa4] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-cb167aa4] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-cb167aa4] {
  bottom: 30%;
  right: 15%;
}
.hero-dot--3[data-v-cb167aa4] {
  top: 60%;
  left: 40%;
}
.hero-content[data-v-cb167aa4] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-cb167aa4] {
  flex: 1;
}
.hero-title[data-v-cb167aa4] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-cb167aa4] {
  margin: 0 0 16px;
  font-size: 14px;
  opacity: 0.85;
  max-width: 600px;
}
.hero-stats[data-v-cb167aa4] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.hero-stat[data-v-cb167aa4] {
  display: flex;
  flex-direction: column;
}
.hero-stat-value[data-v-cb167aa4] {
  font-size: 22px;
  font-weight: 700;
}
.hero-stat-label[data-v-cb167aa4] {
  font-size: 12px;
  opacity: 0.7;
}
.hero-stat-divider[data-v-cb167aa4] {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.25);
}
.hero-right[data-v-cb167aa4] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
/* ==================== 内容区域 ==================== */
.content-card[data-v-cb167aa4] {
  border-radius: var(--radius-lg);
  border: none;
}
.template-card[data-v-cb167aa4] {
  margin-bottom: 16px;
  cursor: pointer;
}
.template-cover[data-v-cb167aa4] {
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f5f5f5;
}
.danger[data-v-cb167aa4] {
  color: #ff4d4f;
}
/* ==================== 响应式样式 - 平板 ==================== */
@media (max-width: 992px) {
.analytics-reports-container[data-v-cb167aa4] {
    padding: var(--spacing-3);
}
.hero-title[data-v-cb167aa4] {
    font-size: 24px;
}
.hero-stat-value[data-v-cb167aa4] {
    font-size: 20px;
}
.content-card[data-v-cb167aa4] .ant-table {
    font-size: 13px;
}
}
/* ==================== 响应式样式 - 手机 ==================== */
@media (max-width: 768px) {
.analytics-reports-container[data-v-cb167aa4] {
    padding: var(--spacing-3);
}
.hero-content[data-v-cb167aa4] {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}
.hero-title[data-v-cb167aa4] {
    font-size: 22px;
}
.hero-desc[data-v-cb167aa4] {
    font-size: 13px;
    margin-bottom: 20px;
}
.hero-stats[data-v-cb167aa4] {
    flex-wrap: wrap;
    gap: 12px;
}
.hero-stat-value[data-v-cb167aa4] {
    font-size: 20px;
}
.hero-right[data-v-cb167aa4] {
    flex-direction: row;
    width: 100%;
}
.content-card[data-v-cb167aa4] {
    border-radius: var(--radius-lg);
    padding: 8px;
}
.content-card[data-v-cb167aa4] .ant-tabs-nav {
    padding: 0 4px;
}
.content-card[data-v-cb167aa4] .ant-tabs-tab {
    padding: 8px 10px;
    font-size: 12px;
}
.content-card[data-v-cb167aa4] .ant-table {
    overflow-x: auto;
    font-size: 12px;
}
.content-card[data-v-cb167aa4] .ant-table-container {
    min-width: 600px;
}
.content-card[data-v-cb167aa4] .ant-table-thead > tr > th {
    font-size: 11px;
    padding: 10px 6px;
    white-space: nowrap;
}
.content-card[data-v-cb167aa4] .ant-table-tbody > tr > td {
    font-size: 12px;
    padding: 10px 6px;
    white-space: nowrap;
}
.template-card[data-v-cb167aa4] .ant-card-body {
    padding: 12px;
}
.template-card[data-v-cb167aa4] .ant-card-meta-title {
    font-size: 14px;
}
.template-card[data-v-cb167aa4] .ant-card-meta-description {
    font-size: 12px;
}
.template-cover[data-v-cb167aa4] {
    height: 100px;
}
.template-cover[data-v-cb167aa4] .anticon {
    font-size: 40px;
}
}
/* ==================== 响应式样式 - 小屏手机 ==================== */
@media (max-width: 576px) {
.analytics-reports-container[data-v-cb167aa4] {
    padding: 8px;
}
.hero-title[data-v-cb167aa4] {
    font-size: 20px;
}
.hero-right[data-v-cb167aa4] {
    width: 100%;
}
.hero-stats[data-v-cb167aa4] {
    flex-wrap: wrap;
    gap: 8px;
}
.hero-stat[data-v-cb167aa4] {
    padding: 0 10px;
}
.hero-stat-label[data-v-cb167aa4] {
    display: block;
}
.hero-stat-divider[data-v-cb167aa4] {
    display: none;
}
.hero-stat-value[data-v-cb167aa4] {
    font-size: 18px;
}
.content-card[data-v-cb167aa4] {
    padding: 4px;
}
.content-card[data-v-cb167aa4] .ant-tabs-tab {
    padding: 6px 8px;
    font-size: 11px;
}
.content-card[data-v-cb167aa4] .ant-table-thead > tr > th {
    font-size: 10px;
    padding: 8px 4px;
}
.content-card[data-v-cb167aa4] .ant-table-tbody > tr > td {
    font-size: 11px;
    padding: 8px 4px;
}
.content-card[data-v-cb167aa4] .ant-table-column-fixed-right {
    display: none;
}
.content-card[data-v-cb167aa4] .ant-table-container {
    min-width: 500px;
}
.template-cover[data-v-cb167aa4] .anticon {
    font-size: 32px;
}
.template-card[data-v-cb167aa4] .ant-card-body {
    padding: 10px;
}
.template-card[data-v-cb167aa4] .ant-card-meta-title {
    font-size: 13px;
}
}
/* ==================== 移动端卡片视图 ==================== */
.mobile-card-list[data-v-cb167aa4] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 0;
}
.mobile-card[data-v-cb167aa4] {
  background: #fff;
  border: 1px solid #f0f0f0;
  border-radius: 8px;
  padding: 12px;
  margin-bottom: 8px;
}
.mobile-card-header[data-v-cb167aa4] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
  gap: 8px;
}
.mobile-card-title[data-v-cb167aa4] {
  font-size: 15px;
  font-weight: 600;
  color: #262626;
  flex: 1;
}
.mobile-card-body[data-v-cb167aa4] {
  margin-bottom: 8px;
}
.mobile-card-row[data-v-cb167aa4] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4px 0;
  font-size: 13px;
}
.mobile-card-row-full[data-v-cb167aa4] {
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}
.mobile-card-label[data-v-cb167aa4] {
  color: #8c8c8c;
  font-size: 12px;
}
.mobile-card-value[data-v-cb167aa4] {
  color: #595959;
  font-size: 13px;
}
.mobile-card-actions[data-v-cb167aa4] {
  padding-top: 8px;
  border-top: 1px solid #f0f0f0;
  display: flex;
  justify-content: flex-end;
}
.mobile-card-actions-right[data-v-cb167aa4] {
  justify-content: flex-end;
}
.danger[data-v-cb167aa4] {
  color: #ff4d4f;
}
.analytics-report-edit-container[data-v-4961c075] {
  padding: var(--spacing-4);
}
/* ========== Hero Section ========== */
.hero-bg-decoration[data-v-4961c075] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: hidden;
}
.hero-circle[data-v-4961c075] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-4961c075] {
  width: 300px;
  height: 300px;
  top: -120px;
  right: -60px;
}
.hero-circle--2[data-v-4961c075] {
  width: 180px;
  height: 180px;
  bottom: -80px;
  left: 10%;
}
.hero-circle--3[data-v-4961c075] {
  width: 100px;
  height: 100px;
  top: 30%;
  right: 25%;
  background: rgba(255, 255, 255, 0.05);
}
.hero-line[data-v-4961c075] {
  position: absolute;
  background: rgba(255, 255, 255, 0.06);
  border-radius: 2px;
}
.hero-line--1[data-v-4961c075] {
  width: 400px;
  height: 1px;
  top: 40%;
  left: -100px;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-4961c075] {
  width: 250px;
  height: 1px;
  bottom: 25%;
  right: -50px;
  transform: rotate(20deg);
}
.hero-content[data-v-4961c075] {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.hero-left[data-v-4961c075] {
  flex: 1;
}
.hero-title[data-v-4961c075] {
  margin: 0 0 8px 0;
  font-size: 28px;
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.5px;
}
.hero-desc[data-v-4961c075] {
  margin: 0 0 16px;
  font-size: 15px;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.6;
}
.hero-right[data-v-4961c075] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff;
  padding: 12px 24px;
  padding-bottom: calc(12px + env(safe-area-inset-bottom));
  border-top: 1px solid #f0f0f0;
  z-index: 100;
  display: flex;
  gap: 12px;
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06);
  justify-content: flex-end;
  max-width: 1400px;
  margin: 0 auto;
}
.analytics-report-edit-container[data-v-4961c075] {
  padding-bottom: 80px;
}
/* ========== Form Card ========== */
.form-card[data-v-4961c075] {
  border-radius: var(--radius-lg);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03), 0 1px 6px -1px rgba(0, 0, 0, 0.02), 0 2px 4px rgba(0, 0, 0, 0.02);
  padding: 8px;
}
.form-card[data-v-4961c075] .ant-card-body {
  padding: 32px;
}
.form-card[data-v-4961c075] .ant-form-item-label > label {
  font-weight: 500;
  color: rgba(0, 0, 0, 0.85);
}
.form-card[data-v-4961c075] .ant-input,
.form-card[data-v-4961c075] .ant-select-selector,
.form-card[data-v-4961c075] .ant-input-textarea textarea {
  border-radius: 8px;
  transition: all 0.3s ease;
}
.form-card[data-v-4961c075] .ant-input:hover,
.form-card[data-v-4961c075] .ant-select-selector:hover,
.form-card[data-v-4961c075] .ant-input-textarea textarea:hover {
  border-color: #fa8c16;
}
.form-card[data-v-4961c075] .ant-input:focus,
.form-card[data-v-4961c075] .ant-select-focused .ant-select-selector,
.form-card[data-v-4961c075] .ant-input-textarea textarea:focus {
  border-color: #fa8c16;
  box-shadow: 0 0 0 2px rgba(250, 140, 22, 0.1);
}
.form-card[data-v-4961c075] .ant-radio-wrapper {
  font-size: 14px;
}
/* ========== Responsive ========== */
@media (max-width: 992px) {
.hero-title[data-v-4961c075] {
    font-size: 24px;
}
.form-card[data-v-4961c075] .ant-card-body {
    padding: 24px;
}
}
@media (max-width: 768px) {
.analytics-report-edit-container[data-v-4961c075] {
    padding: var(--spacing-3);
}
.hero-content[data-v-4961c075] {
    flex-direction: column;
    align-items: flex-start;
}
.hero-right .ant-space[data-v-4961c075] {
    display: flex;
    width: 100%;
    gap: 12px;
}
.hero-title[data-v-4961c075] {
    font-size: 22px;
}
.form-card[data-v-4961c075] .ant-card-body {
    padding: 20px;
}
}
@media (max-width: 576px) {
.analytics-report-edit-container[data-v-4961c075] {
    padding: 8px;
}
.hero-title[data-v-4961c075] {
    font-size: 20px;
}
}
.dashboard-designer[data-v-21e36cd6] {
  height: 100vh;
  display: flex;
  flex-direction: column;
  background: #f0f2f5;
  overflow: hidden;
}
.designer-toolbar[data-v-21e36cd6] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 16px;
  background: #fff;
  border-bottom: 1px solid #e8e8e8;
  flex-shrink: 0;
  gap: 16px;
}
.designer-toolbar .toolbar-left[data-v-21e36cd6],
.designer-toolbar .toolbar-right[data-v-21e36cd6] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.designer-toolbar .toolbar-center .zoom-text[data-v-21e36cd6] {
  font-size: 12px;
  color: #666;
  min-width: 40px;
  text-align: center;
}
.designer-body[data-v-21e36cd6] {
  flex: 1;
  display: flex;
  overflow: hidden;
}
/* 左侧组件面板 */
.component-panel[data-v-21e36cd6] {
  width: 240px;
  background: #fff;
  border-right: 1px solid #e8e8e8;
  display: flex;
  flex-shrink: 0;
  transition: width 0.2s;
}
.component-panel.collapsed[data-v-21e36cd6] {
  width: 0;
}
.component-panel .panel-toggle[data-v-21e36cd6] {
  position: absolute;
  left: 240px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 20px;
  height: 48px;
  background: #fff;
  border: 1px solid #e8e8e8;
  border-left: none;
  border-radius: 0 6px 6px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 12px;
  color: #666;
}
.component-panel .panel-content[data-v-21e36cd6] {
  width: 240px;
  overflow-y: auto;
  padding: 12px;
}
.component-panel .panel-content .panel-search[data-v-21e36cd6] {
  margin-bottom: 12px;
}
.component-group[data-v-21e36cd6] {
  margin-bottom: 8px;
}
.component-group .group-title[data-v-21e36cd6] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 10px;
  font-size: 13px;
  font-weight: 600;
  color: #333;
  cursor: pointer;
  border-radius: 6px;
}
.component-group .group-title[data-v-21e36cd6]:hover {
  background: #f5f5f5;
}
.component-group .group-title span[data-v-21e36cd6] {
  display: flex;
  align-items: center;
  gap: 6px;
}
.component-group .group-title .anticon[data-v-21e36cd6] {
  font-size: 10px;
  transition: transform 0.2s;
}
.component-group .group-title .rotated[data-v-21e36cd6] {
  transform: rotate(-90deg);
}
.component-group .group-items[data-v-21e36cd6] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  padding: 4px 0;
}
.component-item[data-v-21e36cd6] {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 10px;
  font-size: 12px;
  color: #555;
  background: #fafafa;
  border: 1px solid #f0f0f0;
  border-radius: 6px;
  cursor: grab;
  transition: all 0.15s;
}
.component-item[data-v-21e36cd6]:hover {
  background: #e6f7ff;
  border-color: #91d5ff;
  color: #1890ff;
}
.component-item[data-v-21e36cd6]:active {
  cursor: grabbing;
}
/* 中间画布 */
.canvas-area[data-v-21e36cd6] {
  flex: 1;
  overflow: auto;
  padding: 20px;
  background: #f0f2f5;
}
.canvas-grid[data-v-21e36cd6] {
  min-height: 600px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  padding: 16px;
  display: grid;
  grid-template-columns: repeat(24, 1fr);
  grid-auto-rows: minmax(10px, auto);
  gap: 12px;
  background-image: radial-gradient(circle, #e8e8e8 1px, transparent 1px);
  background-size: 20px 20px;
}
@media (max-width: 768px) {
.canvas-grid[data-v-21e36cd6] {
    padding: 12px;
}
}
/* 画布组件 */
.dashboard-widget[data-v-21e36cd6] {
  position: relative;
  min-height: 60px;
  border: 2px solid transparent;
  border-radius: 8px;
  overflow: hidden;
  transition: border-color 0.15s;
  cursor: move;
}
.dashboard-widget[data-v-21e36cd6]:hover {
  border-color: #d9d9d9;
}
.dashboard-widget.selected[data-v-21e36cd6] {
  border-color: #1890ff;
  box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
}
.dashboard-widget .widget-actions[data-v-21e36cd6] {
  position: absolute;
  top: -28px;
  right: 0;
  display: flex;
  gap: 2px;
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  padding: 2px;
}
/* 统计卡片 */
.stat-card-widget[data-v-21e36cd6] {
  padding: 20px;
  color: #fff;
  border-radius: 8px;
  height: 100%;
}
.stat-card-widget .stat-card-title[data-v-21e36cd6] {
  font-size: 14px;
  opacity: 0.85;
  margin-bottom: 8px;
}
.stat-card-widget .stat-card-value[data-v-21e36cd6] {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.2;
}
.stat-card-widget .stat-card-footer[data-v-21e36cd6] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 12px;
  font-size: 12px;
  opacity: 0.8;
}
.stat-card-widget .stat-card-footer .stat-trend.up[data-v-21e36cd6] {
  color: #b7eb8f;
}
.stat-card-widget .stat-card-footer .stat-trend.down[data-v-21e36cd6] {
  color: #ffa39e;
}
/* 图表组件 */
.chart-widget[data-v-21e36cd6] {
  height: 100%;
}
/* 表格组件 */
.table-widget[data-v-21e36cd6] {
  height: 100%;
  overflow: hidden;
}
/* 文本组件 */
.text-widget[data-v-21e36cd6] {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
/* iframe组件 */
.iframe-widget[data-v-21e36cd6] {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  background: #fafafa;
}
/* 右侧属性面板 */
.property-panel[data-v-21e36cd6] {
  width: 300px;
  background: #fff;
  border-left: 1px solid #e8e8e8;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
}
.property-panel .panel-header[data-v-21e36cd6] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  font-size: 14px;
  font-weight: 600;
  border-bottom: 1px solid #f0f0f0;
}
.property-panel .panel-body[data-v-21e36cd6] {
  flex: 1;
  overflow-y: auto;
  padding: 12px 16px;
}
.property-panel .panel-body .form-tip[data-v-21e36cd6] {
  font-size: 11px;
  color: #999;
  margin-top: 4px;
}
.property-panel .panel-body[data-v-21e36cd6] .ant-form-item {
  margin-bottom: 12px;
}
.property-panel .panel-body[data-v-21e36cd6] .ant-form-item-label {
  padding-bottom: 4px;
}
@media (max-width: 1200px) {
.component-panel[data-v-21e36cd6] {
    width: 200px;
}
.property-panel[data-v-21e36cd6] {
    width: 260px;
}
.canvas-grid[data-v-21e36cd6] {
    grid-template-columns: repeat(12, 1fr);
}
}
@media (max-width: 1200px) and (max-width: 768px) {
.canvas-grid[data-v-21e36cd6] {
    padding: 12px;
}
}
.formula-editor[data-v-44453b68] {
  border: 1px solid #d9d9d9;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}
.formula-input-wrapper[data-v-44453b68] {
  position: relative;
}
.formula-input[data-v-44453b68] {
  min-height: 60px;
  max-height: 120px;
  padding: 10px 12px;
  font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;
  font-size: 13px;
  line-height: 1.6;
  outline: none;
  overflow-y: auto;
  white-space: pre-wrap;
  word-break: break-all;
  color: #1f1f1f;
}
.formula-input[data-v-44453b68]:empty::before {
  content: attr(data-placeholder);
  color: #bfbfbf;
}
.formula-input[data-v-44453b68]:focus {
  background: #fafafa;
}
.formula-error[data-v-44453b68] {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px 12px;
  font-size: 12px;
  color: #ff4d4f;
  background: #fff2f0;
  border-top: 1px solid #ffccc7;
}
.formula-toolbar[data-v-44453b68] {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 6px 8px;
  background: #f5f5f5;
  border-top: 1px solid #e8e8e8;
  flex-wrap: wrap;
}
.toolbar-group[data-v-44453b68] {
  display: flex;
  gap: 2px;
}
.toolbar-btn[data-v-44453b68] {
  font-size: 12px;
  padding: 0 8px;
  height: 26px;
  border-radius: 4px;
}
.toolbar-divider[data-v-44453b68] {
  height: 18px;
  margin: 0 4px;
}
.formula-preview[data-v-44453b68] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  font-size: 12px;
  background: #f6ffed;
  border-top: 1px solid #b7eb8f;
  color: #52c41a;
}
.preview-label[data-v-44453b68] {
  font-weight: 500;
  color: #389e0d;
}
.preview-value[data-v-44453b68] {
  font-family: monospace;
  font-weight: 600;
}
[data-v-44453b68] .token-field {
  color: #1677ff;
  background: #e6f4ff;
  padding: 1px 3px;
  border-radius: 3px;
  font-weight: 500;
}
[data-v-44453b68] .token-function {
  color: #722ed1;
  font-weight: 600;
}
[data-v-44453b68] .token-number {
  color: #fa8c16;
  font-weight: 500;
}
[data-v-44453b68] .token-operator {
  color: #eb2f96;
  font-weight: 600;
}
[data-v-44453b68] .placeholder {
  color: #bfbfbf;
  font-style: italic;
}
.field-menu {
  max-height: 320px;
  overflow-y: auto;
}
.field-menu .ant-menu-item-group-title {
  font-size: 11px;
  color: #8c8c8c;
  padding: 4px 12px;
}
.field-menu .ant-menu-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 12px !important;
  line-height: 1.5 !important;
  height: auto !important;
}
.field-tag {
  font-size: 13px;
  color: #1f1f1f;
}
.field-code {
  font-size: 11px;
  color: #8c8c8c;
  font-family: monospace;
}
.func-name {
  font-family: monospace;
  font-weight: 600;
  color: #722ed1;
  margin-right: 8px;
}
.func-desc {
  font-size: 12px;
  color: #8c8c8c;
}
.print-preview-renderer[data-v-05e70f5b] {
  font-family: 'SimSun', '宋体', serif;
  font-size: 12px;
  color: #000;
  background: #fff;
  padding: 10px;
  min-height: 100%;
}
.print-preview-renderer .preview-header[data-v-05e70f5b] {
  text-align: center;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 2px solid #000;
}
.print-preview-renderer .preview-header .company-name[data-v-05e70f5b] {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 4px;
}
.print-preview-renderer .preview-header .company-address[data-v-05e70f5b],
.print-preview-renderer .preview-header .company-contact[data-v-05e70f5b] {
  font-size: 10px;
  color: #666;
}
.print-preview-renderer .template-title[data-v-05e70f5b] {
  text-align: center;
  margin: 15px 0;
}
.print-preview-renderer .template-title h1[data-v-05e70f5b] {
  font-size: 16px;
  font-weight: bold;
  margin: 0;
}
.print-preview-renderer .divider[data-v-05e70f5b] {
  border-top: 1px solid #ddd;
  margin: 8px 0;
}
.print-preview-renderer .section-title[data-v-05e70f5b] {
  font-size: 12px;
  font-weight: bold;
  margin-bottom: 6px;
  padding: 4px 0;
  background: #f5f5f5;
}
.print-preview-renderer .info-table[data-v-05e70f5b] {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 8px;
}
.print-preview-renderer .info-table td[data-v-05e70f5b] {
  padding: 4px 6px;
  vertical-align: top;
}
.print-preview-renderer .info-table td.label[data-v-05e70f5b] {
  font-weight: normal;
  color: #333;
  white-space: nowrap;
}
.print-preview-renderer .info-table td.value-cell[data-v-05e70f5b] {
  border-bottom: 1px solid #ddd;
}
.print-preview-renderer .info-table td.full-width[data-v-05e70f5b] {
  width: 100%;
}
.print-preview-renderer .info-table.compact td[data-v-05e70f5b] {
  padding: 2px 4px;
  font-size: 11px;
}
.print-preview-renderer .party-info .section-title[data-v-05e70f5b],
.print-preview-renderer .seller-info .section-title[data-v-05e70f5b] {
  margin-top: 8px;
}
.print-preview-renderer .data-table-section[data-v-05e70f5b] {
  margin: 10px 0;
}
.print-preview-renderer .data-table[data-v-05e70f5b] {
  width: 100%;
  border-collapse: collapse;
  font-size: 10px;
}
.print-preview-renderer .data-table th[data-v-05e70f5b],
.print-preview-renderer .data-table td[data-v-05e70f5b] {
  border: 1px solid #000;
  padding: 5px 3px;
  text-align: center;
  vertical-align: middle;
}
.print-preview-renderer .data-table th[data-v-05e70f5b] {
  background: #f0f0f0;
  font-weight: bold;
  font-size: 10px;
}
.print-preview-renderer .data-table td[data-v-05e70f5b] {
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 0;
}
.print-preview-renderer .data-table .empty-row td[data-v-05e70f5b] {
  height: 24px;
}
.print-preview-renderer .amount-summary[data-v-05e70f5b] {
  margin: 10px 0;
}
.print-preview-renderer .amount-summary .summary-table[data-v-05e70f5b] {
  width: 280px;
  margin-left: auto;
  border-collapse: collapse;
}
.print-preview-renderer .amount-summary .summary-table td[data-v-05e70f5b] {
  padding: 4px 8px;
  border: none;
}
.print-preview-renderer .amount-summary .summary-table td.label[data-v-05e70f5b] {
  text-align: left;
  width: 120px;
}
.print-preview-renderer .amount-summary .summary-table td.value[data-v-05e70f5b] {
  text-align: right;
  font-weight: bold;
  border-bottom: 1px solid #000;
}
.print-preview-renderer .amount-summary .summary-table td.value.highlight[data-v-05e70f5b] {
  font-size: 14px;
  color: #c00;
}
.print-preview-renderer .remark-section[data-v-05e70f5b] {
  margin: 12px 0;
}
.print-preview-renderer .remark-section .remark-title[data-v-05e70f5b] {
  font-weight: bold;
  margin-bottom: 4px;
  font-size: 11px;
}
.print-preview-renderer .remark-section .remark-content[data-v-05e70f5b] {
  padding: 8px;
  border: 1px dashed #ccc;
  min-height: 40px;
  font-size: 11px;
  white-space: pre-wrap;
}
.print-preview-renderer .signature-section[data-v-05e70f5b] {
  margin-top: 25px;
}
.print-preview-renderer .signature-section .signature-table[data-v-05e70f5b] {
  width: 100%;
  border-collapse: collapse;
}
.print-preview-renderer .signature-section .signature-table .signature-cell[data-v-05e70f5b] {
  width: 33.33%;
  vertical-align: top;
  padding: 8px;
}
.print-preview-renderer .signature-section .signature-table .signature-cell .sig-label[data-v-05e70f5b] {
  font-weight: bold;
  margin-bottom: 15px;
  font-size: 11px;
}
.print-preview-renderer .signature-section .signature-table .signature-cell .sig-line[data-v-05e70f5b] {
  border-bottom: 1px solid #000;
  height: 25px;
  margin-bottom: 6px;
}
.print-preview-renderer .signature-section .signature-table .signature-cell .sig-date[data-v-05e70f5b] {
  font-size: 10px;
  color: #666;
}
.print-preview-renderer .preview-footer[data-v-05e70f5b] {
  text-align: center;
  padding: 10px 0;
  font-size: 10px;
  color: #666;
  margin-top: 15px;
}
.print-designer[data-v-c9ae30a7] {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  outline: none;
}
.print-designer .designer-card[data-v-c9ae30a7] {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.print-designer .designer-card[data-v-c9ae30a7] .ant-card-body {
  flex: 1;
  overflow: hidden;
  padding: 12px;
}
.print-designer .designer-card[data-v-c9ae30a7] .ant-card-head {
  flex-shrink: 0;
}
.print-designer .designer-layout[data-v-c9ae30a7] {
  display: flex;
  gap: 12px;
  height: 100%;
  align-items: stretch;
}
.print-designer .elements-panel[data-v-c9ae30a7] {
  width: 260px;
  flex-shrink: 0;
  overflow-y: auto;
  background: #fafafa;
  border-radius: 8px;
  padding: 12px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}
.print-designer .panel-title[data-v-c9ae30a7] {
  font-weight: 600;
  margin-bottom: 8px;
  font-size: 13px;
  color: #262626;
  display: flex;
  align-items: center;
}
.print-designer .element-type-badge[data-v-c9ae30a7] {
  font-size: 10px;
  font-weight: normal;
  color: #8c8c8c;
  background: #f5f5f5;
  padding: 2px 6px;
  border-radius: 4px;
  margin-left: 8px;
}
.print-designer .selected-elements-actions[data-v-c9ae30a7] {
  padding: 8px 12px;
  background: #fafafa;
  border-top: 1px solid #f0f0f0;
  border-bottom: 1px solid #f0f0f0;
  margin-bottom: 12px;
}
.print-designer .selected-elements-actions .ant-space[data-v-c9ae30a7] {
  width: 100%;
  justify-content: flex-start;
}
.print-designer .selected-elements-actions .ant-btn[data-v-c9ae30a7] {
  font-size: 12px;
}
.print-designer .element-list[data-v-c9ae30a7] {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px;
}
.print-designer .element-item[data-v-c9ae30a7] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 10px 6px;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
  cursor: grab;
  font-size: 12px;
  background: #fff;
  transition: all 0.2s;
  text-align: center;
}
.print-designer .element-item[data-v-c9ae30a7]:hover {
  border-color: #1890ff;
  color: #1890ff;
  background: #f0f7ff;
  box-shadow: 0 2px 8px rgba(24, 144, 255, 0.12);
  transform: translateY(-1px);
}
.print-designer .element-item[data-v-c9ae30a7]:active {
  cursor: grabbing;
  transform: scale(0.97);
}
.print-designer .element-item .element-icon[data-v-c9ae30a7] {
  font-size: 20px;
  color: #595959;
  transition: color 0.2s;
}
.print-designer .element-item:hover .element-icon[data-v-c9ae30a7] {
  color: #1890ff;
}
.print-designer .bo-selector[data-v-c9ae30a7] {
  margin-bottom: 8px;
}
.print-designer .field-browser[data-v-c9ae30a7] {
  margin-top: 8px;
  max-height: 240px;
  overflow-y: auto;
}
.print-designer .field-group[data-v-c9ae30a7] {
  margin-bottom: 4px;
}
.print-designer .field-group-header[data-v-c9ae30a7] {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 6px 8px;
  cursor: pointer;
  border-radius: 4px;
  font-size: 12px;
}
.print-designer .field-group-header[data-v-c9ae30a7]:hover {
  background: #f0f0f0;
}
.print-designer .field-group-name[data-v-c9ae30a7] {
  font-weight: 500;
  color: #262626;
}
.print-designer .field-group-name-en[data-v-c9ae30a7] {
  color: #8c8c8c;
  font-size: 11px;
}
.print-designer .field-group-items[data-v-c9ae30a7] {
  padding-left: 16px;
}
.print-designer .field-item[data-v-c9ae30a7] {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  cursor: grab;
  font-size: 12px;
  border-radius: 4px;
}
.print-designer .field-item[data-v-c9ae30a7]:hover {
  background: #e6f7ff;
}
.print-designer .field-label[data-v-c9ae30a7] {
  color: #262626;
}
.print-designer .field-code[data-v-c9ae30a7] {
  color: #8c8c8c;
  font-size: 11px;
}
.print-designer .related-fields-section[data-v-c9ae30a7] {
  margin-top: 4px;
  padding-left: 8px;
  border-left: 2px solid #e6f7ff;
}
.print-designer .related-group-header[data-v-c9ae30a7] {
  display: flex;
  align-items: center;
  gap: 3px;
  padding: 3px 6px;
  cursor: pointer;
  font-size: 11px;
  border-radius: 3px;
}
.print-designer .related-group-header[data-v-c9ae30a7]:hover {
  background: #f0f7ff;
}
.print-designer .related-group-name[data-v-c9ae30a7] {
  color: #1890ff;
  font-weight: 500;
}
.print-designer .related-group-items[data-v-c9ae30a7] {
  padding-left: 12px;
}
.print-designer .template-settings[data-v-c9ae30a7] {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #f0f0f0;
}
.print-designer .template-settings[data-v-c9ae30a7] .ant-form-item {
  margin-bottom: 12px;
}
.print-designer .template-settings[data-v-c9ae30a7] .ant-form-item-label > label {
  font-size: 12px;
}
.print-designer .margin-input-row[data-v-c9ae30a7] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.print-designer .margin-input-row .ant-row[data-v-c9ae30a7] {
  flex: 1;
}
.print-designer .margin-lock-btn[data-v-c9ae30a7] {
  margin-left: 4px;
  flex-shrink: 0;
  font-size: 14px;
  padding: 0 4px;
}
.print-designer .header-footer-section[data-v-c9ae30a7] {
  margin-top: 8px;
}
.print-designer .header-footer-section .section-header[data-v-c9ae30a7] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 0;
  cursor: pointer;
  font-size: 13px;
  font-weight: 500;
  color: #262626;
}
.print-designer .header-footer-section .section-header[data-v-c9ae30a7]:hover {
  color: #1890ff;
}
.print-designer .header-footer-section .section-content[data-v-c9ae30a7] {
  padding-top: 8px;
}
.print-designer .preview-data-list[data-v-c9ae30a7] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: 400px;
  overflow-y: auto;
  padding-right: 4px;
}
.print-designer .preview-data-list .preview-data-item[data-v-c9ae30a7] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.print-designer .preview-data-list .preview-data-item .preview-data-header[data-v-c9ae30a7] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.print-designer .preview-data-list .preview-data-item .preview-data-key[data-v-c9ae30a7] {
  font-size: 11px;
  color: #595959;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 120px;
}
.print-designer .preview-data-list .preview-data-more[data-v-c9ae30a7] {
  text-align: center;
  color: #8c8c8c;
  font-size: 11px;
  padding: 8px 0;
}
.print-designer .preview-data-list[data-v-c9ae30a7]::-webkit-scrollbar {
  width: 4px;
}
.print-designer .preview-data-list[data-v-c9ae30a7]::-webkit-scrollbar-thumb {
  background: #d9d9d9;
  border-radius: 2px;
}
.print-designer .preview-data-list[data-v-c9ae30a7]::-webkit-scrollbar-track {
  background: #f5f5f5;
}
.print-designer .preview-bo-info[data-v-c9ae30a7] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 0;
}
.print-designer .preview-bo-info .preview-bo-label[data-v-c9ae30a7] {
  font-size: 12px;
  color: #8c8c8c;
}
.print-designer .preview-bo-info .preview-bo-value[data-v-c9ae30a7] {
  font-size: 12px;
  color: #1890ff;
  font-weight: 500;
}
.print-designer .preview-quick-actions[data-v-c9ae30a7] {
  padding: 4px 0;
}
.print-designer .preview-quick-actions .ant-btn[data-v-c9ae30a7] {
  font-size: 12px;
}
.print-designer .preview-company-section .preview-section-title[data-v-c9ae30a7] {
  font-size: 12px;
  color: #262626;
  font-weight: 500;
  margin-bottom: 8px;
}
.print-designer .preview-company-section .preview-company-item[data-v-c9ae30a7] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.print-designer .preview-company-section .preview-company-item .preview-company-key[data-v-c9ae30a7] {
  font-size: 11px;
  color: #8c8c8c;
}
.print-designer .canvas-area[data-v-c9ae30a7] {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
}
.print-designer .canvas-toolbar[data-v-c9ae30a7] {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 6px 12px;
  background: #fafafa;
  border-radius: 8px 8px 0 0;
  border: 1px solid #e8e8e8;
  border-bottom: none;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
  flex-wrap: wrap;
  gap: 8px;
}
.print-designer .canvas-toolbar .ant-btn[data-v-c9ae30a7] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.print-designer .canvas-toolbar .zoom-display[data-v-c9ae30a7] {
  display: inline-block;
  min-width: 48px;
  text-align: center;
  font-size: 12px;
  color: #595959;
}
.print-designer .selection-status-bar[data-v-c9ae30a7] {
  display: flex;
  align-items: center;
  padding: 4px 12px;
  background: #e6f4ff;
  border-left: 1px solid #e8e8e8;
  border-right: 1px solid #e8e8e8;
  font-size: 12px;
}
.print-designer .canvas-main[data-v-c9ae30a7] {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  background: #e8e8e8;
  border: 1px solid #e8e8e8;
  border-radius: 0 0 8px 8px;
  overflow: hidden;
}
.print-designer .ruler-row[data-v-c9ae30a7] {
  display: flex;
  flex-shrink: 0;
  height: 20px;
}
.print-designer .rc[data-v-c9ae30a7] {
  width: 20px;
  height: 20px;
  background: #f0f0f0;
  border-right: 1px solid #d9d9d9;
  border-bottom: 1px solid #d9d9d9;
  flex-shrink: 0;
}
.print-designer .rh[data-v-c9ae30a7] {
  flex: 1;
  height: 20px;
  background: #f5f5f5;
  border-bottom: 1px solid #d9d9d9;
  overflow: hidden;
}
.print-designer .rh-inner[data-v-c9ae30a7] {
  position: relative;
  height: 100%;
}
.print-designer .content-row[data-v-c9ae30a7] {
  display: flex;
  flex: 1;
  min-height: 0;
}
.print-designer .rv[data-v-c9ae30a7] {
  width: 20px;
  background: #f5f5f5;
  border-right: 1px solid #d9d9d9;
  overflow: hidden;
  flex-shrink: 0;
}
.print-designer .rv-inner[data-v-c9ae30a7] {
  position: relative;
  width: 100%;
}
.print-designer .ruler-tick-h[data-v-c9ae30a7] {
  position: absolute;
  top: 0;
  width: 1px;
  height: 20px;
  background: #d9d9d9;
}
.print-designer .ruler-tick-h[data-v-c9ae30a7]::before {
  content: '';
  position: absolute;
  top: 14px;
  left: 0;
  width: 1px;
  height: 6px;
  background: #8c8c8c;
}
.print-designer .ruler-label-h[data-v-c9ae30a7] {
  position: absolute;
  top: 1px;
  left: 3px;
  font-size: 9px;
  color: #595959;
  white-space: nowrap;
  transform: translateX(-50%);
}
.print-designer .ruler-tick-v[data-v-c9ae30a7] {
  position: absolute;
  left: 0;
  width: 20px;
  height: 1px;
  background: #d9d9d9;
}
.print-designer .ruler-tick-v[data-v-c9ae30a7]::before {
  content: '';
  position: absolute;
  left: 14px;
  top: 0;
  width: 6px;
  height: 1px;
  background: #8c8c8c;
}
.print-designer .ruler-label-v[data-v-c9ae30a7] {
  position: absolute;
  left: 1px;
  top: -5px;
  font-size: 9px;
  color: #595959;
  white-space: nowrap;
  transform: translateY(-50%);
}
.print-designer .canvas-scroll[data-v-c9ae30a7] {
  flex: 1;
  overflow: auto;
  min-width: 0;
  min-height: 0;
}
.print-designer .canvas-scroll.canvas-selecting[data-v-c9ae30a7] {
  cursor: crosshair;
}
.print-designer .selection-box[data-v-c9ae30a7] {
  position: absolute;
  border: 2px dashed #722ed1;
  background: rgba(114, 46, 209, 0.1);
  pointer-events: none;
  z-index: 100;
}
.print-designer .paper[data-v-c9ae30a7] {
  margin: 0px;
  flex-shrink: 0;
}
.print-designer .print-canvas[data-v-c9ae30a7] {
  position: relative;
  transition: box-shadow 0.3s;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  align-content: flex-start;
}
.print-designer .margin-lines[data-v-c9ae30a7] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  z-index: 0;
}
.print-designer .margin-line[data-v-c9ae30a7] {
  position: absolute;
  border: 0;
}
.print-designer .margin-line-top[data-v-c9ae30a7] {
  left: 0;
  right: 0;
  height: 0;
  border-top: 1px dashed rgba(255, 77, 79, 0.5);
}
.print-designer .margin-line-bottom[data-v-c9ae30a7] {
  left: 0;
  right: 0;
  height: 0;
  border-bottom: 1px dashed rgba(255, 77, 79, 0.5);
}
.print-designer .margin-line-left[data-v-c9ae30a7] {
  top: 0;
  bottom: 0;
  width: 0;
  border-left: 1px dashed rgba(255, 77, 79, 0.5);
}
.print-designer .margin-line-right[data-v-c9ae30a7] {
  top: 0;
  bottom: 0;
  width: 0;
  border-right: 1px dashed rgba(255, 77, 79, 0.5);
}
.print-designer .canvas-empty[data-v-c9ae30a7] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 400px;
  color: #999;
  width: 100%;
}
.print-designer .print-element[data-v-c9ae30a7] {
  position: relative;
  border: 2px solid transparent;
  padding: 8px;
  cursor: pointer;
  transition: all 0.2s;
  margin-bottom: 4px;
  z-index: 1;
  border-radius: 4px;
}
.print-designer .print-element[data-v-c9ae30a7]::before {
  content: attr(data-type);
  position: absolute;
  top: -18px;
  left: 4px;
  font-size: 10px;
  color: #8c8c8c;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  opacity: 0;
  transition: opacity 0.2s;
}
.print-designer .print-element[data-v-c9ae30a7]:hover {
  border-color: #40a9ff;
  background: rgba(24, 144, 255, 0.04);
}
.print-designer .print-element[data-v-c9ae30a7]:hover::before {
  opacity: 1;
}
.print-designer .print-element.selected[data-v-c9ae30a7] {
  border-color: #1890ff;
  background: rgba(24, 144, 255, 0.08);
  box-shadow: 0 0 0 3px rgba(24, 144, 255, 0.25);
}
.print-designer .print-element.selected[data-v-c9ae30a7]::before {
  opacity: 1;
  color: #1890ff;
}
.print-designer .print-element.multi-selected[data-v-c9ae30a7] {
  border-color: #722ed1;
  background: rgba(114, 46, 209, 0.08);
  box-shadow: 0 0 0 3px rgba(114, 46, 209, 0.2);
}
.print-designer .print-element.multi-selected[data-v-c9ae30a7]::before {
  opacity: 1;
  color: #722ed1;
}
.print-designer .print-element.locked[data-v-c9ae30a7] {
  opacity: 0.7;
  background: repeating-linear-gradient(45deg, transparent, transparent 5px, rgba(0, 0, 0, 0.02) 5px, rgba(0, 0, 0, 0.02) 10px);
}
.print-designer .print-element.locked[data-v-c9ae30a7]::after {
  content: '🔒';
  position: absolute;
  top: -18px;
  right: 4px;
  font-size: 10px;
}
.print-designer .print-element .multi-select-badge[data-v-c9ae30a7] {
  position: absolute;
  top: -8px;
  left: -8px;
  width: 18px;
  height: 18px;
  background: #722ed1;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: bold;
  z-index: 10;
  box-shadow: 0 2px 4px rgba(114, 46, 209, 0.3);
}
.print-designer .element-actions[data-v-c9ae30a7] {
  position: absolute;
  top: -12px;
  right: 0;
  opacity: 0;
  transition: opacity 0.2s;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 1px;
  background: #fff;
  border-radius: 6px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  padding: 2px;
}
.print-designer .element-actions .action-btn-mini[data-v-c9ae30a7] {
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  font-size: 12px;
  color: #595959;
  border-radius: 4px;
}
.print-designer .element-actions .action-btn-mini[data-v-c9ae30a7]:hover {
  color: #1890ff;
  background: #e6f4ff;
}
.print-designer .element-actions .action-btn-mini.ant-btn-dangerous[data-v-c9ae30a7]:hover {
  color: #ff4d4f;
  background: #fff2f0;
}
.print-designer .print-element:hover .element-actions[data-v-c9ae30a7] {
  opacity: 1;
}
.print-designer .print-element.selected .element-actions[data-v-c9ae30a7] {
  opacity: 1;
}
.print-designer .element-content[data-v-c9ae30a7] {
  min-height: 20px;
}
.print-designer .field-tag[data-v-c9ae30a7] {
  display: inline-block;
  background: #e6f7ff;
  color: #1890ff;
  border: 1px solid #91d5ff;
  border-radius: 4px;
  padding: 2px 8px;
  margin: 0 4px;
  font-size: 12px;
}
.print-designer .field-code-tag[data-v-c9ae30a7] {
  font-size: 11px;
  color: #8c8c8c;
}
.print-designer .field-preview-value[data-v-c9ae30a7] {
  display: inline-block;
  background: #f6ffed;
  color: #52c41a;
  border: 1px solid #b7eb8f;
  border-radius: 4px;
  padding: 2px 8px;
  font-size: 12px;
  font-weight: 500;
}
.print-designer .formula-tag[data-v-c9ae30a7] {
  display: inline-block;
  background: #fff7e6;
  color: #fa8c16;
  border: 1px solid #ffd591;
  border-radius: 4px;
  padding: 2px 8px;
  font-size: 12px;
  font-family: monospace;
}
.print-designer .signature-placeholder[data-v-c9ae30a7] {
  display: inline-block;
}
.print-designer .signature-box[data-v-c9ae30a7] {
  display: inline-flex;
  flex-direction: column;
  gap: 4px;
  min-width: 200px;
}
.print-designer .signature-line[data-v-c9ae30a7] {
  display: flex;
  align-items: baseline;
  gap: 12px;
  border-bottom: 1px solid #333;
  padding-bottom: 2px;
}
.print-designer .signature-label[data-v-c9ae30a7] {
  font-size: 13px;
  color: #333;
  flex: 1;
}
.print-designer .signature-date[data-v-c9ae30a7] {
  font-size: 11px;
  color: #999;
  white-space: nowrap;
}
.print-designer .signature-stamp-area[data-v-c9ae30a7] {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
}
.print-designer .stamp-placeholder[data-v-c9ae30a7] {
  font-size: 10px;
  color: #bfbfbf;
  border: 1px dashed #d9d9d9;
  padding: 2px 8px;
  border-radius: 4px;
}
.print-designer .preview-signature[data-v-c9ae30a7] {
  display: inline-flex;
  flex-direction: column;
  gap: 6px;
  min-width: 240px;
}
.print-designer .preview-signature-line[data-v-c9ae30a7] {
  display: flex;
  align-items: baseline;
  gap: 16px;
  border-bottom: 1.5px solid #333;
  padding-bottom: 4px;
}
.print-designer .preview-signature-name[data-v-c9ae30a7] {
  font-size: 14px;
  font-weight: 500;
  color: #1f1f1f;
  flex: 1;
}
.print-designer .preview-signature-date[data-v-c9ae30a7] {
  font-size: 12px;
  color: #595959;
  white-space: nowrap;
}
.print-designer .preview-signature-stamp[data-v-c9ae30a7] {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
}
.print-designer .stamp-text[data-v-c9ae30a7] {
  font-size: 11px;
  color: #ff4d4f;
  border: 1.5px dashed #ff4d4f;
  padding: 4px 12px;
  border-radius: 6px;
  font-weight: 500;
}
.print-designer .drag-insertion-line[data-v-c9ae30a7] {
  height: 2px;
  background: #1890ff;
  margin: 4px 0;
  box-shadow: 0 0 8px rgba(24, 144, 255, 0.4);
  border-radius: 1px;
  width: 100%;
}
.print-designer .canvas-statusbar[data-v-c9ae30a7] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 12px;
  background: #fafafa;
  border: 1px solid #e8e8e8;
  border-top: none;
  border-radius: 0 0 8px 8px;
  font-size: 11px;
  color: #8c8c8c;
  flex-shrink: 0;
}
.print-designer .statusbar-separator[data-v-c9ae30a7] {
  color: #d9d9d9;
}
.print-designer .props-panel[data-v-c9ae30a7] {
  width: 300px;
  flex-shrink: 0;
  overflow-y: auto;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
  display: flex;
  flex-direction: column;
}
.print-designer .props-header[data-v-c9ae30a7] {
  padding: 12px 16px;
  border-bottom: 1px solid #f0f0f0;
  font-weight: 600;
  font-size: 14px;
  color: #1a1a1a;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  position: sticky;
  top: 0;
  background: #fff;
  z-index: 1;
}
.print-designer .props-content[data-v-c9ae30a7] {
  padding: 16px;
  flex: 1;
  overflow-y: auto;
}
.print-designer .props-content[data-v-c9ae30a7] .ant-form-item {
  margin-bottom: 16px;
}
.print-designer .props-content[data-v-c9ae30a7] .ant-form-item-label > label {
  font-weight: 500;
  color: #595959;
  font-size: 13px;
}
.print-designer .props-content[data-v-c9ae30a7] .ant-input-number,
.print-designer .props-content[data-v-c9ae30a7] .ant-select,
.print-designer .props-content[data-v-c9ae30a7] .ant-radio-group {
  width: 100%;
}
.print-designer .props-collapse[data-v-c9ae30a7] .ant-collapse-header {
  font-size: 13px;
  font-weight: 600;
  color: #262626;
  padding: 8px 0 !important;
}
.print-designer .props-collapse[data-v-c9ae30a7] .ant-collapse-content-box {
  padding: 0 0 8px 0 !important;
}
.print-designer .props-collapse[data-v-c9ae30a7] .ant-collapse-borderless > .ant-collapse-item {
  border-bottom: 1px solid #f0f0f0;
}
.print-designer .table-column-config[data-v-c9ae30a7] {
  display: flex;
  gap: 4px;
  align-items: center;
  margin-bottom: 4px;
}
.print-designer .color-picker-input[data-v-c9ae30a7] {
  height: 32px;
  border: 1px solid #d9d9d9;
  border-radius: 6px;
  padding: 2px;
  cursor: pointer;
  background: #fff;
}
.print-designer .color-picker-input[data-v-c9ae30a7]:hover {
  border-color: #40a9ff;
}
.print-designer .props-empty[data-v-c9ae30a7] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 300px;
  gap: 12px;
}
@media (max-width: 768px) {
.print-designer .props-content[data-v-c9ae30a7] {
    padding: 12px;
}
}
@media print {
.print-designer body[data-v-c9ae30a7] * {
    visibility: hidden;
}
.print-designer .preview-content[data-v-c9ae30a7],
  .print-designer .preview-content[data-v-c9ae30a7] * {
    visibility: visible;
}
.print-designer .preview-content[data-v-c9ae30a7] {
    position: absolute;
    top: 0;
    left: 0;
}
}
.preview-modal :deep(.ant-modal-body) {
  padding: 0;
}
.preview-toolbar {
  display: flex;
  justify-content: flex-end;
  padding: 8px 16px;
  background: #fafafa;
  border-bottom: 1px solid #e8e8e8;
}
.preview-content {
  padding: 20px;
  background: #e8e8e8;
  overflow: auto;
}
.preview-paper {
  background: #fff;
  margin: 0 auto;
  padding: 20px;
  border: 1px solid #e8e8e8;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  align-content: flex-start;
}
.preview-element {
  padding: 4px;
}
.standalone-form-designer[data-v-549c401e] {
  height: 100vh;
  overflow: hidden;
}
.object-view-container[data-v-69269f5c] {
  padding: 24px;
  background: #fff;
  min-height: 100%;
}
.object-view-container .view-header[data-v-69269f5c] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}
.object-view-container .view-header h2[data-v-69269f5c] {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
}
.object-view-container .form-renderer-wrapper[data-v-69269f5c] {
  background: #fafafa;
  padding: 24px;
  border-radius: 8px;
}
.formula-field-page[data-v-fc482eab] {
  background: var(--color-bg-layout);
  min-height: 100%;
  padding: var(--spacing-4);
}
.formula-field-page[data-v-fc482eab] .responsive-table-container {
  padding: 0;
}
.hero-bg-decoration[data-v-fc482eab] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-fc482eab] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-fc482eab] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-fc482eab] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-fc482eab] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-fc482eab] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-fc482eab] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-fc482eab] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-fc482eab] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-fc482eab] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-fc482eab] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-fc482eab] {
  flex: 1;
}
.hero-title[data-v-fc482eab] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-fc482eab] {
  margin: 0 0 16px;
  font-size: 14px;
  opacity: 0.85;
  max-width: 600px;
}
.hero-stats[data-v-fc482eab] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.hero-stat[data-v-fc482eab] {
  display: flex;
  flex-direction: column;
}
.hero-stat-value[data-v-fc482eab] {
  font-size: 22px;
  font-weight: 700;
}
.hero-stat-label[data-v-fc482eab] {
  font-size: 12px;
  opacity: 0.7;
}
.hero-stat-divider[data-v-fc482eab] {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.25);
}
.hero-right[data-v-fc482eab] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
/* Table cells */
.table-cell-content[data-v-fc482eab] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.table-cell-title[data-v-fc482eab] {
  font-weight: 600;
  font-size: 15px;
  color: var(--color-text-primary);
  cursor: pointer;
  display: inline-block;
  transition: color 0.2s;
}
.table-cell-title[data-v-fc482eab]:hover {
  color: #1677ff;
}
.table-cell-subtitle[data-v-fc482eab] {
  font-size: 13px;
  color: var(--color-text-tertiary);
  line-height: 1.5;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 400px;
}
.status-tag[data-v-fc482eab] {
  font-weight: 500;
  font-size: 12px;
  padding: 2px 8px;
  border-radius: var(--radius-sm);
}
@media (max-width: 991px) {
.hero-content[data-v-fc482eab] {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}
.hero-stats[data-v-fc482eab] {
    gap: 12px;
}
.hero-stat-value[data-v-fc482eab] {
    font-size: 18px;
}
}
@media (max-width: 575px) {
.hero-title[data-v-fc482eab] {
    font-size: 20px;
}
.hero-right[data-v-fc482eab] {
    width: 100%;
}
}
.filter-actions-col[data-v-fc482eab] {
  display: flex;
  justify-content: flex-end;
}
/* 移动端样式 */
@media (max-width: 768px) {
.hero-title[data-v-fc482eab] {
    font-size: 18px;
}
.hero-desc[data-v-fc482eab] {
    font-size: 13px;
    max-width: 100%;
}
.hero-right[data-v-fc482eab] {
    width: 100%;
    flex-direction: column;
    gap: 12px;
}
.hero-stats[data-v-fc482eab] {
    flex-wrap: wrap;
    gap: 8px;
}
.hero-stat-divider[data-v-fc482eab] {
    display: none;
}
  /* 卡片列表移动端 */
[data-v-fc482eab] .formula-card {
    margin-bottom: 12px;
}
[data-v-fc482eab] .formula-card-body {
    padding: 12px;
}
[data-v-fc482eab] .formula-info-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}
[data-v-fc482eab] .formula-info-label {
    min-width: auto;
    font-size: 12px;
    color: var(--color-text-tertiary);
}
[data-v-fc482eab] .formula-info-value {
    font-size: 13px;
}
  /* 空数据字段占位 */
[data-v-fc482eab] .formula-empty-value {
    color: var(--color-text-quaternary);
    font-size: 12px;
    font-style: italic;
}
  /* 操作按钮移动端 */
[data-v-fc482eab] .formula-card-actions {
    flex-wrap: wrap;
    gap: 8px;
}
[data-v-fc482eab] .formula-card-actions .ant-btn {
    min-height: 36px;
    min-width: 36px;
    padding: 0 12px;
    font-size: 13px;
}
  /* 模态框移动端全屏 */
[data-v-fc482eab] .ant-modal {
    max-width: 100vw !important;
    margin: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    height: 100vh !important;
}
[data-v-fc482eab] .ant-modal-content {
    border-radius: 0 !important;
}
}
.formula-editor[data-v-63677e09] {
  border: 1px solid #e8e8e8;
  border-radius: 8px;
  overflow: hidden;
}
.formula-editor .formula-toolbar[data-v-63677e09] {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 8px 12px;
  background: #fafafa;
  border-bottom: 1px solid #e8e8e8;
  align-items: center;
}
.formula-editor .formula-toolbar .ant-btn[data-v-63677e09] {
  font-size: 12px;
  padding: 0 8px;
}
.formula-editor .formula-input-wrapper[data-v-63677e09] {
  position: relative;
}
.formula-editor .formula-input-wrapper .formula-display[data-v-63677e09] {
  min-height: 80px;
  padding: 12px;
  font-family: 'Monaco', 'Menlo', 'Consolas', monospace;
  font-size: 14px;
  line-height: 1.6;
  background: #fff;
  white-space: pre-wrap;
  word-break: break-all;
  outline: none;
}
.formula-editor .formula-input-wrapper .formula-display[data-v-63677e09]:focus {
  background: #fafafa;
}
.formula-editor .formula-input-wrapper .formula-display[data-v-63677e09] .formula-function {
  color: #096dd9;
  font-weight: 600;
}
.formula-editor .formula-input-wrapper .formula-display[data-v-63677e09] .formula-number {
  color: #389e0d;
}
.formula-editor .formula-input-wrapper .formula-display[data-v-63677e09] .formula-string {
  color: #d4380d;
}
.formula-editor .formula-input-wrapper .formula-display[data-v-63677e09] .formula-field {
  color: #722ed1;
  background: #f9f0ff;
  padding: 1px 4px;
  border-radius: 3px;
}
.formula-editor .formula-input-wrapper .formula-display[data-v-63677e09] .formula-operator {
  color: #cf1322;
  font-weight: 600;
}
.formula-editor .formula-input-wrapper .formula-display[data-v-63677e09] .formula-placeholder {
  color: #bfbfbf;
  font-style: italic;
}
.formula-editor .suggestion-popup[data-v-63677e09] {
  position: absolute;
  z-index: 1000;
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 6px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  max-height: 240px;
  overflow-y: auto;
  min-width: 280px;
}
.formula-editor .suggestion-popup .suggestion-list .suggestion-item[data-v-63677e09] {
  padding: 8px 12px;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 2px;
  border-bottom: 1px solid #f0f0f0;
}
.formula-editor .suggestion-popup .suggestion-list .suggestion-item[data-v-63677e09]:last-child {
  border-bottom: none;
}
.formula-editor .suggestion-popup .suggestion-list .suggestion-item[data-v-63677e09]:hover,
.formula-editor .suggestion-popup .suggestion-list .suggestion-item.active[data-v-63677e09] {
  background: #e6f7ff;
}
.formula-editor .suggestion-popup .suggestion-list .suggestion-item .suggestion-name[data-v-63677e09] {
  font-weight: 600;
  font-size: 13px;
  color: #096dd9;
}
.formula-editor .suggestion-popup .suggestion-list .suggestion-item .suggestion-desc[data-v-63677e09] {
  font-size: 12px;
  color: #8c8c8c;
}
.formula-editor .function-doc-panel[data-v-63677e09] {
  margin-top: 8px;
  padding: 0 12px 12px;
}
.formula-editor .function-doc-panel[data-v-63677e09] .ant-card {
  background: #f6ffed;
  border-color: #b7eb8f;
}
.formula-editor .function-menu-item[data-v-63677e09] {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.formula-editor .function-menu-item .function-name[data-v-63677e09] {
  font-weight: 600;
  font-size: 13px;
}
.formula-editor .function-menu-item .function-desc[data-v-63677e09] {
  font-size: 11px;
  color: #8c8c8c;
}
.formula-field-edit-page[data-v-c7251b34] {
  padding: var(--spacing-4);
  min-height: 100%;
  background: var(--color-bg-layout);
}
/* Highlights Panel */
.highlights-panel[data-v-c7251b34] {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  border-radius: var(--radius-xl);
  padding: 24px 32px;
  color: #fff;
  margin-bottom: var(--spacing-4);
  position: relative;
  overflow: hidden;
}
.highlights-bg-decoration[data-v-c7251b34] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-c7251b34] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-c7251b34] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-c7251b34] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-c7251b34] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-c7251b34] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-c7251b34] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-c7251b34] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-c7251b34] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-c7251b34] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-c7251b34] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
.highlights-content[data-v-c7251b34] {
  display: flex;
  justify-content: space-between;
  position: relative;
  z-index: 1;
}
.highlights-left h2[data-v-c7251b34] {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: white;
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-meta[data-v-c7251b34] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  font-size: 13px;
  opacity: 0.85;
}
.highlights-tag[data-v-c7251b34] {
  background: rgba(255, 255, 255, 0.2) !important;
  border: none !important;
  color: #fff !important;
  font-size: 12px;
  padding: 2px 10px;
}
.highlights-right[data-v-c7251b34] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-action-btn[data-v-c7251b34] {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
}
.highlights-action-btn[data-v-c7251b34]:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.5);
}
/* Form Content */
.form-content[data-v-c7251b34] {
  max-width: 1200px;
  padding-bottom: 60px;
}
/* Fixed Actions */
.fixed-actions[data-v-c7251b34] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 12px;
  background: #fff;
  border-top: 1px solid var(--color-border-secondary);
  display: flex;
  justify-content: flex-end;
  z-index: 100;
}
/* Info Section */
.info-section[data-v-c7251b34] {
  margin-bottom: 24px;
  border: 1px solid var(--color-border-secondary);
  border-radius: 10px;
  overflow: hidden;
}
.section-header[data-v-c7251b34] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 20px;
  background: var(--color-fill-quaternary);
  border-bottom: 1px solid var(--color-border-secondary);
  font-weight: 600;
  color: var(--color-text-primary);
}
.section-body[data-v-c7251b34] {
  padding: 16px 20px;
}
/* Responsive */
@media (max-width: 768px) {
.formula-field-edit-page[data-v-c7251b34] {
    padding: 12px;
}
.highlights-panel[data-v-c7251b34] {
    padding: 16px;
}
.highlights-bg-decoration[data-v-c7251b34] {
    display: none;
}
.highlights-content[data-v-c7251b34] {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}
.highlights-left h2[data-v-c7251b34] {
    font-size: 18px;
}
.highlights-right[data-v-c7251b34] {
    width: 100%;
}
.highlights-right .ant-btn[data-v-c7251b34] {
    flex: 1;
}
.section-body[data-v-c7251b34] {
    padding: 12px;
}
}
@media (max-width: 575px) {
.highlights-panel[data-v-c7251b34] {
    padding: 16px;
}
}
.rollup-field-page[data-v-8159eff0] {
  background: var(--color-bg-layout);
  min-height: 100%;
  padding: var(--spacing-4);
}
.rollup-field-page[data-v-8159eff0] .responsive-table-container {
  padding: 0;
}
/* Hero Section */
.hero-bg-decoration[data-v-8159eff0] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-8159eff0] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-8159eff0] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-8159eff0] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-8159eff0] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-8159eff0] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-8159eff0] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-8159eff0] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-8159eff0] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-8159eff0] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-8159eff0] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-8159eff0] {
  flex: 1;
}
.hero-title[data-v-8159eff0] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-8159eff0] {
  margin: 0 0 16px;
  font-size: 14px;
  opacity: 0.85;
  max-width: 600px;
}
.hero-stats[data-v-8159eff0] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.hero-stat[data-v-8159eff0] {
  display: flex;
  flex-direction: column;
}
.hero-stat-value[data-v-8159eff0] {
  font-size: 22px;
  font-weight: 700;
}
.hero-stat-label[data-v-8159eff0] {
  font-size: 12px;
  opacity: 0.7;
}
.hero-stat-divider[data-v-8159eff0] {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.25);
}
.hero-right[data-v-8159eff0] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
/* Table cells */
.table-cell-content[data-v-8159eff0] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.table-cell-title[data-v-8159eff0] {
  font-weight: 600;
  font-size: 15px;
  color: var(--color-text-primary);
  cursor: pointer;
  display: inline-block;
  transition: color 0.2s;
}
.table-cell-title[data-v-8159eff0]:hover {
  color: #1677ff;
}
.table-cell-subtitle[data-v-8159eff0] {
  font-size: 13px;
  color: var(--color-text-tertiary);
  line-height: 1.5;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 400px;
}
.status-tag[data-v-8159eff0] {
  font-weight: 500;
  font-size: 12px;
  padding: 2px 8px;
  border-radius: var(--radius-sm);
}
@media (max-width: 991px) {
.hero-content[data-v-8159eff0] {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}
.hero-stats[data-v-8159eff0] {
    gap: 12px;
}
.hero-stat-value[data-v-8159eff0] {
    font-size: 18px;
}
}
@media (max-width: 575px) {
.hero-title[data-v-8159eff0] {
    font-size: 20px;
}
.hero-right[data-v-8159eff0] {
    width: 100%;
}
}
.filter-actions-col[data-v-8159eff0] {
  display: flex;
  justify-content: flex-end;
}
/* 移动端样式 */
@media (max-width: 768px) {
.hero-title[data-v-8159eff0] {
    font-size: 18px;
}
.hero-desc[data-v-8159eff0] {
    font-size: 13px;
    max-width: 100%;
}
.hero-right[data-v-8159eff0] {
    width: 100%;
    flex-direction: column;
    gap: 12px;
}
.hero-stats[data-v-8159eff0] {
    flex-wrap: wrap;
    gap: 8px;
}
.hero-stat-divider[data-v-8159eff0] {
    display: none;
}
  /* 卡片列表移动端 */
[data-v-8159eff0] .field-card {
    margin-bottom: 12px;
}
[data-v-8159eff0] .field-card-body {
    padding: 12px;
}
[data-v-8159eff0] .field-info-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}
[data-v-8159eff0] .field-info-label {
    min-width: auto;
    font-size: 12px;
    color: var(--color-text-tertiary);
}
[data-v-8159eff0] .field-info-value {
    font-size: 13px;
}
  /* 空数据字段占位 */
[data-v-8159eff0] .field-empty-value {
    color: var(--color-text-quaternary);
    font-size: 12px;
    font-style: italic;
}
  /* 操作按钮移动端 */
[data-v-8159eff0] .field-card-actions {
    flex-wrap: wrap;
    gap: 8px;
}
[data-v-8159eff0] .field-card-actions .ant-btn {
    min-height: 36px;
    min-width: 36px;
    padding: 0 12px;
    font-size: 13px;
}
  /* 模态框移动端全屏 */
[data-v-8159eff0] .ant-modal {
    max-width: 100vw !important;
    margin: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    height: 100vh !important;
}
[data-v-8159eff0] .ant-modal-content {
    border-radius: 0 !important;
}
}
.rollup-field-edit-page[data-v-b86ca519] {
  padding: var(--spacing-4);
  min-height: 100%;
  background: var(--color-bg-layout);
}
/* Highlights Panel */
.highlights-panel[data-v-b86ca519] {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  border-radius: var(--radius-xl);
  padding: 24px 32px;
  color: #fff;
  margin-bottom: var(--spacing-4);
  position: relative;
  overflow: hidden;
}
/* 几何图形装饰 */
.highlights-bg-decoration[data-v-b86ca519] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-b86ca519] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-b86ca519] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-b86ca519] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-b86ca519] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-b86ca519] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-b86ca519] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-b86ca519] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-b86ca519] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-b86ca519] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-b86ca519] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
@media (max-width: 768px) {
.highlights-panel[data-v-b86ca519] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-b86ca519] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-b86ca519] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-b86ca519] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-b86ca519] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-b86ca519] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-b86ca519] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-b86ca519] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-b86ca519] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-b86ca519] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-b86ca519] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-b86ca519] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-b86ca519] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) {
.highlights-panel[data-v-b86ca519] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-b86ca519] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-b86ca519] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-b86ca519] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-b86ca519] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-b86ca519] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-b86ca519] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-b86ca519] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-b86ca519] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-b86ca519] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-b86ca519] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-b86ca519] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-b86ca519] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-b86ca519] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-b86ca519] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-b86ca519] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-b86ca519] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-b86ca519] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-b86ca519] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-b86ca519] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-b86ca519] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-b86ca519] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-b86ca519] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-b86ca519] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-b86ca519] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-b86ca519] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
.highlights-content[data-v-b86ca519] {
  display: flex;
  justify-content: space-between;
}
.highlights-left h2[data-v-b86ca519] {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: white;
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-meta[data-v-b86ca519] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  font-size: 13px;
  opacity: 0.85;
}
.highlights-tag[data-v-b86ca519] {
  background: rgba(255, 255, 255, 0.2) !important;
  border: none !important;
  color: #fff !important;
  font-size: 12px;
  padding: 2px 10px;
}
.highlights-right[data-v-b86ca519] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-action-btn[data-v-b86ca519] {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
}
.highlights-action-btn[data-v-b86ca519]:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.5);
}
/* Form Content */
.form-content[data-v-b86ca519] {
  max-width: 1200px;
  padding-bottom: 60px;
  /* Space for fixed actions */
}
/* Fixed Actions */
.fixed-actions[data-v-b86ca519] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 12px;
  background: #fff;
  border-top: 1px solid var(--color-border-secondary);
  display: flex;
  justify-content: flex-end;
  z-index: 100;
}
/* Info Section */
.info-section[data-v-b86ca519] {
  margin-bottom: 24px;
  border: 1px solid var(--color-border-secondary);
  border-radius: 10px;
  overflow: hidden;
}
.section-header[data-v-b86ca519] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 20px;
  background: var(--color-fill-quaternary);
  border-bottom: 1px solid var(--color-border-secondary);
  font-weight: 600;
  color: var(--color-text-primary);
}
.section-body[data-v-b86ca519] {
  padding: 16px 20px;
}
@media (max-width: 768px) {
.section-body[data-v-b86ca519] {
    padding: 12px;
}
.section-body .highlights-panel .highlights-bg-decoration[data-v-b86ca519] {
    display: none;
}
}
/* Responsive */
@media (max-width: 768px) {
.rollup-field-edit-page[data-v-b86ca519] {
    padding: 12px;
}
.rollup-field-edit-page .highlights-panel .highlights-bg-decoration[data-v-b86ca519] {
    display: none;
}
.highlights-panel[data-v-b86ca519] {
    padding: 16px;
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-b86ca519] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-b86ca519] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-b86ca519] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-b86ca519] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-b86ca519] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-b86ca519] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-b86ca519] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-b86ca519] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-b86ca519] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-b86ca519] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-b86ca519] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-content[data-v-b86ca519] {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}
.highlights-left h2[data-v-b86ca519] {
    font-size: 18px;
}
.highlights-right[data-v-b86ca519] {
    width: 100%;
}
.highlights-right .ant-btn[data-v-b86ca519] {
    flex: 1;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-b86ca519] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-b86ca519] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-b86ca519] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-b86ca519] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-b86ca519] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-b86ca519] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-b86ca519] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-b86ca519] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-b86ca519] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-b86ca519] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-b86ca519] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-b86ca519] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-b86ca519] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-b86ca519] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-b86ca519] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-b86ca519] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-b86ca519] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-b86ca519] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-b86ca519] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-b86ca519] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-b86ca519] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-b86ca519] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-b86ca519] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-b86ca519] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-b86ca519] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-b86ca519] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-b86ca519] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-b86ca519] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-b86ca519] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-b86ca519] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-b86ca519] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-b86ca519] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-b86ca519] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-b86ca519] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-b86ca519] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-b86ca519] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-b86ca519] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-b86ca519] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-b86ca519] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 575px) {
.highlights-panel[data-v-b86ca519] {
    padding: 16px;
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-b86ca519] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-b86ca519] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-b86ca519] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-b86ca519] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-b86ca519] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-b86ca519] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-b86ca519] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-b86ca519] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-b86ca519] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-b86ca519] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-b86ca519] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-content[data-v-b86ca519] {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}
.highlights-left h2[data-v-b86ca519] {
    font-size: 18px;
}
.highlights-right[data-v-b86ca519] {
    width: 100%;
}
.highlights-right .ant-btn[data-v-b86ca519] {
    flex: 1;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.highlights-panel[data-v-b86ca519] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-b86ca519] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-b86ca519] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-b86ca519] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-b86ca519] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-b86ca519] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-b86ca519] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-b86ca519] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-b86ca519] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-b86ca519] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-b86ca519] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-b86ca519] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-b86ca519] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.highlights-panel[data-v-b86ca519] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-b86ca519] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-b86ca519] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-b86ca519] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-b86ca519] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-b86ca519] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-b86ca519] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-b86ca519] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-b86ca519] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-b86ca519] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-b86ca519] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-b86ca519] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-b86ca519] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 575px) and (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-b86ca519] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-b86ca519] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-b86ca519] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-b86ca519] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-b86ca519] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-b86ca519] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-b86ca519] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-b86ca519] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-b86ca519] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-b86ca519] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-b86ca519] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-b86ca519] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-b86ca519] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
.etl-pipeline-page[data-v-56075949] {
  background: var(--color-bg-layout);
  min-height: 100%;
  padding: var(--spacing-4);
}
.etl-pipeline-page[data-v-56075949] .responsive-table-container {
  padding: 0;
}
.hero-bg-decoration[data-v-56075949] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-56075949] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-56075949] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-56075949] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-56075949] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-56075949] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-56075949] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-56075949] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-56075949] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-56075949] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-56075949] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-56075949] {
  flex: 1;
}
.hero-title[data-v-56075949] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-56075949] {
  margin: 0 0 16px;
  font-size: 14px;
  opacity: 0.85;
  max-width: 600px;
}
.hero-stats[data-v-56075949] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.hero-stat[data-v-56075949] {
  display: flex;
  flex-direction: column;
}
.hero-stat-value[data-v-56075949] {
  font-size: 22px;
  font-weight: 700;
}
.hero-stat-label[data-v-56075949] {
  font-size: 12px;
  opacity: 0.7;
}
.hero-stat-divider[data-v-56075949] {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.25);
}
.hero-right[data-v-56075949] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
.table-cell-content[data-v-56075949] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.table-cell-title[data-v-56075949] {
  font-weight: 600;
  font-size: 15px;
  color: var(--color-text-primary);
  cursor: pointer;
  display: inline-block;
  transition: color 0.2s;
}
.table-cell-title[data-v-56075949]:hover {
  color: #1677ff;
}
.table-cell-subtitle[data-v-56075949] {
  font-size: 13px;
  color: var(--color-text-tertiary);
  line-height: 1.5;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 400px;
}
.status-tag[data-v-56075949] {
  font-weight: 500;
  font-size: 12px;
  padding: 2px 8px;
  border-radius: var(--radius-sm);
}
@media (max-width: 991px) {
.hero-content[data-v-56075949] {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}
.hero-stats[data-v-56075949] {
    gap: 12px;
}
.hero-stat-value[data-v-56075949] {
    font-size: 18px;
}
}
@media (max-width: 575px) {
.hero-title[data-v-56075949] {
    font-size: 20px;
}
.hero-right[data-v-56075949] {
    width: 100%;
}
}
.filter-actions-col[data-v-56075949] {
  display: flex;
  justify-content: flex-end;
}
.mdm-category-page[data-v-a514ee82] {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-3);
  padding: var(--spacing-4);
  min-height: 100%;
  background: var(--color-bg-layout);
}
/* ===== Hero Section ===== */
.hero-section[data-v-a514ee82] {
  position: relative;
  background: linear-gradient(135deg, var(--color-primary-600) 0%, var(--color-primary-500) 40%, var(--color-info-500) 100%);
  border-radius: var(--radius-2xl);
  min-height: 180px;
  margin-bottom: 0;
  overflow: hidden;
  box-shadow: 0 25px 50px -12px rgba(59, 130, 246, 0.25), 0 10px 20px rgba(59, 130, 246, 0.15);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.hero-section[data-v-a514ee82]:hover {
  transform: translateY(-2px);
  box-shadow: 0 30px 60px -12px rgba(59, 130, 246, 0.3), 0 15px 30px rgba(59, 130, 246, 0.2);
}
.hero-section[data-v-a514ee82]::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.05) 0%, transparent 50%);
  pointer-events: none;
}
.hero-bg-decoration[data-v-a514ee82] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-blob[data-v-a514ee82] {
  position: absolute;
  border-radius: 50%;
  opacity: 0.15;
}
.hero-blob--1[data-v-a514ee82] {
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, var(--color-white) 0%, transparent 70%);
  top: -100px;
  right: -50px;
  animation: blobPulse-a514ee82 8s ease-in-out infinite;
}
.hero-blob--2[data-v-a514ee82] {
  width: 200px;
  height: 200px;
  background: radial-gradient(circle, var(--color-info-300) 0%, transparent 70%);
  bottom: -50px;
  right: 20%;
  animation: blobPulse-a514ee82 6s ease-in-out infinite reverse;
}
@keyframes blobPulse-a514ee82 {
0%,
  100% {
    transform: scale(1);
}
50% {
    transform: scale(1.1);
}
}
.hero-grid[data-v-a514ee82] {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
  background-size: 40px 40px;
}
.hero-glow[data-v-a514ee82] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.5), transparent);
}
.hero-content[data-v-a514ee82] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--spacing-6);
  flex-wrap: wrap;
}
.hero-left[data-v-a514ee82] {
  flex: 1;
  min-width: 280px;
}
.hero-badge[data-v-a514ee82] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: rgba(255, 255, 255, 0.15);
  border-radius: var(--radius-full);
  font-size: 12px;
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: var(--spacing-3);
  backdrop-filter: blur(4px);
}
.hero-badge .hero-badge-icon[data-v-a514ee82] {
  font-size: 12px;
}
.hero-title[data-v-a514ee82] {
  margin: 0 0 var(--spacing-2);
  font-size: 32px;
  font-weight: 700;
  color: var(--color-white);
  letter-spacing: -0.5px;
}
.hero-desc[data-v-a514ee82] {
  margin: 0;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.85);
  max-width: 500px;
  line-height: 1.6;
}
.hero-right[data-v-a514ee82] {
  display: flex;
  gap: var(--spacing-3);
  flex-shrink: 0;
  align-items: center;
}
/* ===== Stats Grid ===== */
.stats-grid[data-v-a514ee82] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.stats-card[data-v-a514ee82] {
  background: white;
  border-radius: var(--radius-xl);
  padding: 16px;
  box-shadow: var(--shadow-sm);
  transition: all 0.25s ease;
}
.stats-card[data-v-a514ee82]:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
}
.stat-item[data-v-a514ee82] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.stat-icon[data-v-a514ee82] {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: white;
  flex-shrink: 0;
}
.stat-icon-blue[data-v-a514ee82] {
  background: linear-gradient(135deg, #3b82f6 0%, #60a5fa 100%);
}
.stat-icon-green[data-v-a514ee82] {
  background: linear-gradient(135deg, #10b981 0%, #34d399 100%);
}
.stat-icon-orange[data-v-a514ee82] {
  background: linear-gradient(135deg, #f97316 0%, #fb923c 100%);
}
.stat-content[data-v-a514ee82] {
  flex: 1;
  min-width: 0;
}
.stat-value[data-v-a514ee82] {
  font-size: 24px;
  font-weight: 700;
  color: var(--color-text);
  line-height: 1.2;
}
.stat-label[data-v-a514ee82] {
  font-size: 13px;
  color: var(--color-text-secondary);
  margin-top: 4px;
}
@media (max-width: 768px) {
.stats-grid[data-v-a514ee82] {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}
.stats-card[data-v-a514ee82] {
    padding: 12px;
}
.stat-item[data-v-a514ee82] {
    text-align: center;
    gap: 8px;
}
.stat-icon[data-v-a514ee82] {
    width: 40px;
    height: 40px;
    font-size: 16px;
}
.stat-value[data-v-a514ee82] {
    font-size: 20px;
}
.stat-label[data-v-a514ee82] {
    font-size: 12px;
}
}
/* ===== Overview Section ===== */
.overview-section[data-v-a514ee82] {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: var(--spacing-4);
}
@media (max-width: 992px) {
.overview-section[data-v-a514ee82] {
    grid-template-columns: 1fr;
}
}
.overview-chart-card[data-v-a514ee82] {
  background: var(--color-bg-container);
  border-radius: var(--radius-xl);
  padding: var(--spacing-5);
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--color-border-light);
  transition: all 0.3s ease;
}
.overview-chart-card[data-v-a514ee82]:hover {
  box-shadow: var(--shadow-lg);
  border-color: var(--color-border);
}
.card-header[data-v-a514ee82] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--spacing-5);
}
.card-title[data-v-a514ee82] {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: var(--color-text);
}
.card-action[data-v-a514ee82] {
  color: var(--color-primary-500);
  font-size: 13px;
}
.chart-content[data-v-a514ee82] {
  display: flex;
  align-items: center;
  gap: var(--spacing-6);
  flex-wrap: wrap;
}
.ring-chart[data-v-a514ee82] {
  flex-shrink: 0;
  position: relative;
}
.ring-chart[data-v-a514ee82]::before {
  content: '';
  position: absolute;
  inset: -10px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(59, 130, 246, 0.05) 0%, transparent 70%);
  animation: chartPulse-a514ee82 4s ease-in-out infinite;
}
@keyframes chartPulse-a514ee82 {
0%,
  100% {
    transform: scale(1);
    opacity: 0.5;
}
50% {
    transform: scale(1.05);
    opacity: 1;
}
}
.ring-svg[data-v-a514ee82] {
  width: 200px;
  height: 200px;
  filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.1));
  transition: all 0.3s ease;
}
.ring-svg[data-v-a514ee82]:hover {
  filter: drop-shadow(0 6px 16px rgba(0, 0, 0, 0.15));
}
.ring-segment[data-v-a514ee82] {
  transition: stroke-dasharray 0.5s ease, opacity 0.3s ease;
  cursor: pointer;
}
.ring-segment[data-v-a514ee82]:hover {
  opacity: 0.8;
  filter: url(#glow);
}
.chart-legend[data-v-a514ee82] {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-3);
}
.legend-item[data-v-a514ee82] {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  padding: var(--spacing-2) var(--spacing-3);
  background: var(--color-bg-layout);
  border-radius: var(--radius-lg);
  min-width: 140px;
  transition: all 0.25s ease;
  cursor: pointer;
}
.legend-item[data-v-a514ee82]:hover {
  background: var(--color-bg-container);
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}
.legend-color[data-v-a514ee82] {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  transition: transform 0.25s ease;
}
.legend-item:hover .legend-color[data-v-a514ee82] {
  transform: scale(1.2);
}
.legend-name[data-v-a514ee82] {
  flex: 1;
  font-size: 13px;
  color: var(--color-text);
  font-weight: 500;
}
.legend-value[data-v-a514ee82] {
  font-size: 14px;
  font-weight: 600;
  color: var(--color-primary-600);
}
.overview-quick-actions[data-v-a514ee82] {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-3);
}
.action-card[data-v-a514ee82] {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
  padding: var(--spacing-4);
  background: var(--color-bg-container);
  border-radius: var(--radius-xl);
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--color-border-light);
}
.action-card[data-v-a514ee82]:hover {
  transform: translateX(6px);
  box-shadow: var(--shadow-lg);
  border-color: var(--color-primary-200);
}
.action-card:hover .action-icon[data-v-a514ee82] {
  transform: scale(1.1);
}
.action-card:hover .action-arrow[data-v-a514ee82] {
  transform: translateX(4px);
  color: var(--color-primary-500);
}
.action-icon[data-v-a514ee82] {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: white;
  flex-shrink: 0;
  transition: transform 0.3s ease;
}
.action-icon--all[data-v-a514ee82] {
  background: linear-gradient(135deg, #3b82f6 0%, #60a5fa 100%);
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
}
.action-icon--add[data-v-a514ee82] {
  background: linear-gradient(135deg, #10b981 0%, #34d399 100%);
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);
}
.action-content[data-v-a514ee82] {
  flex: 1;
  min-width: 0;
}
.action-title[data-v-a514ee82] {
  font-size: 15px;
  font-weight: 600;
  color: var(--color-text);
}
.action-desc[data-v-a514ee82] {
  font-size: 12px;
  color: var(--color-text-secondary);
  margin-top: 4px;
}
.action-arrow[data-v-a514ee82] {
  color: var(--color-text-tertiary);
  font-size: 18px;
  transition: all 0.2s ease;
}
.action-card:hover .action-arrow[data-v-a514ee82] {
  transform: translateX(4px);
  color: var(--color-primary-500);
}
/* ===== Section Header ===== */
.section-header[data-v-a514ee82] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--spacing-4);
}
.section-title[data-v-a514ee82] {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: var(--color-text);
}
.section-actions[data-v-a514ee82] {
  display: flex;
  gap: var(--spacing-2);
}
/* ===== Empty State ===== */
.empty-state[data-v-a514ee82] {
  padding: 60px 0;
}
/* ===== Category Grid ===== */
.category-grid[data-v-a514ee82] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: var(--spacing-4);
}
.category-card[data-v-a514ee82] {
  border-radius: var(--radius-xl);
  overflow: hidden;
  transition: all 0.3s ease;
  cursor: pointer;
}
.category-card[data-v-a514ee82]:hover {
  transform: translateY(-4px);
}
.category-card[data-v-a514ee82]:hover .ant-card-body {
  background: rgba(var(--color-primary-rgb), 0.02);
}
.category-card--featured[data-v-a514ee82] .ant-card-cover {
  border-bottom: 3px solid var(--color-primary-400);
}
.card-cover[data-v-a514ee82] {
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.card-icon-wrapper[data-v-a514ee82] {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transition: all 0.25s ease;
}
.category-card:hover .card-icon-wrapper[data-v-a514ee82] {
  transform: scale(1.05);
}
.card-icon[data-v-a514ee82] {
  font-size: 20px;
  color: white;
}
.card-header[data-v-a514ee82] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: var(--spacing-3);
}
.card-info[data-v-a514ee82] {
  flex: 1;
  min-width: 0;
}
.card-title[data-v-a514ee82] {
  margin: 0 0 var(--spacing-1);
  font-size: 16px;
  font-weight: 600;
  color: var(--color-text);
}
.card-code[data-v-a514ee82] {
  font-size: 12px;
  color: var(--color-text-tertiary);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.card-actions[data-v-a514ee82] {
  display: flex;
  gap: 4px;
  opacity: 0;
  transition: all 0.25s ease;
  transform: translateY(-4px);
}
.category-card:hover .card-actions[data-v-a514ee82] {
  opacity: 1;
  transform: translateY(0);
}
.action-btn[data-v-a514ee82] {
  padding: 6px;
  width: 32px;
  height: 32px;
  color: var(--color-text-tertiary);
  border-radius: var(--radius-md);
}
.action-btn[data-v-a514ee82]:hover {
  color: var(--color-primary-500);
  background: var(--color-primary-50);
}
.action-btn--danger[data-v-a514ee82]:hover {
  color: var(--color-error-500);
  background: var(--color-error-50);
}
.card-stats[data-v-a514ee82] {
  display: flex;
  justify-content: center;
  margin-bottom: var(--spacing-3);
}
.stat-item[data-v-a514ee82] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.stat-item .stat-label[data-v-a514ee82] {
  font-size: 12px;
  color: var(--color-text-tertiary);
}
.stat-item .stat-value[data-v-a514ee82] {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
}
.card-footer[data-v-a514ee82] {
  display: flex;
  justify-content: center;
  margin-top: var(--spacing-2);
}
.card-footer[data-v-a514ee82] .ant-btn-link {
  padding: 0;
  height: auto;
  font-size: 13px;
  color: var(--color-primary-500);
  font-weight: 500;
}
/* ===== Modal ===== */
.category-modal[data-v-a514ee82] .ant-modal-header {
  background: linear-gradient(135deg, var(--color-primary-50), var(--color-bg-container));
  border-bottom: 1px solid var(--color-border-light);
}
.category-modal[data-v-a514ee82] .ant-modal-title {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-text);
}
.category-modal[data-v-a514ee82] .ant-form-item-label {
  font-weight: 500;
  color: var(--color-text);
}
/* ===== Responsive ===== */
@media (max-width: 768px) {
.mdm-category-page[data-v-a514ee82] {
    padding: var(--spacing-3);
    gap: var(--spacing-3);
}
.hero-title[data-v-a514ee82] {
    font-size: 24px;
}
.hero-content[data-v-a514ee82] {
    flex-direction: column;
    align-items: flex-start;
}
.hero-right[data-v-a514ee82] {
    width: 100%;
    justify-content: space-between;
    margin-top: var(--spacing-4);
}
.stats-grid[data-v-a514ee82] {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-3);
}
.chart-content[data-v-a514ee82] {
    flex-direction: column;
    text-align: center;
}
.chart-legend[data-v-a514ee82] {
    justify-content: center;
}
.category-grid[data-v-a514ee82] {
    grid-template-columns: 1fr;
    gap: var(--spacing-3);
}
.section-header[data-v-a514ee82] {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--spacing-2);
}
}
.mdm-layout[data-v-4f01b54c] {
  height: 100%;
  background: var(--color-bg-layout, #fafafa);
}
.mdm-layout-shell[data-v-4f01b54c] {
  height: 100%;
  background: var(--color-bg-container, #fff);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}
.mdm-sider[data-v-4f01b54c] {
  border-right: 1px solid var(--color-border-light, #f0f0f0);
  background: var(--color-bg-container, #fff) !important;
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}
[data-v-4f01b54c] .ant-layout-sider-children {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.mdm-sider-header[data-v-4f01b54c] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 12px;
  border-bottom: 1px solid var(--color-border-light, #f0f0f0);
  flex-shrink: 0;
}
.mdm-sider-title[data-v-4f01b54c] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
  color: var(--color-text, #1d2129);
}
.mdm-sider-toggle[data-v-4f01b54c] {
  flex-shrink: 0;
}
.mdm-category-menu[data-v-4f01b54c] {
  flex: 1;
  overflow-y: auto;
  border-right: none !important;
  padding: 8px 0;
}
[data-v-4f01b54c] .mdm-category-menu .ant-menu-item {
  margin: 4px 0;
  border-radius: var(--radius-md);
  height: 40px;
  line-height: 40px;
}
.mdm-category-count[data-v-4f01b54c] {
  float: right;
  font-size: 12px;
  background: var(--color-bg-layout, #f5f5f5);
  padding: 1px 8px;
  border-radius: 10px;
  color: var(--color-text-secondary, #595959);
}
[data-v-4f01b54c] .mdm-category-menu .ant-menu-item-selected {
  background: var(--color-primary-bg-selected, #e6f4ff) !important;
  color: var(--color-primary, #1677ff) !important;
}
.mdm-sider-footer[data-v-4f01b54c] {
  padding: 12px;
  border-top: 1px solid var(--color-border-light, #f0f0f0);
  flex-shrink: 0;
}
.mdm-content[data-v-4f01b54c] {
  padding: 16px;
  background: var(--color-bg-layout, #fafafa);
  overflow: auto;
  height: 100%;
}
.fade-slide-enter-active[data-v-4f01b54c],
.fade-slide-leave-active[data-v-4f01b54c] {
  transition: opacity 0.2s, transform 0.2s;
}
.fade-slide-enter-from[data-v-4f01b54c] {
  opacity: 0;
  transform: translateY(8px);
}
.fade-slide-leave-to[data-v-4f01b54c] {
  opacity: 0;
  transform: translateY(-4px);
}
.mdm-list-page[data-v-11b9874f] {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-4);
}
/* Hero - Salesforce 风格 */
.hero-section[data-v-11b9874f] {
  position: relative;
  background: linear-gradient(135deg, #0176d3 0%, #00a1e0 50%, #014486 100%) !important;
  border-radius: var(--radius-xl);
  color: white;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(1, 118, 211, 0.25);
  transition: box-shadow 0.3s ease;
}
.hero-section[data-v-11b9874f]:hover {
  box-shadow: 0 6px 24px rgba(1, 118, 211, 0.35);
}
.hero-bg-decoration[data-v-11b9874f] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-11b9874f] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-11b9874f] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -40px;
}
.hero-circle--2[data-v-11b9874f] {
  width: 140px;
  height: 140px;
  bottom: -50px;
  right: 240px;
}
.hero-line[data-v-11b9874f] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-11b9874f] {
  width: 320px;
  top: 30%;
  right: 12%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-11b9874f] {
  width: 220px;
  bottom: 25%;
  right: 32%;
  transform: rotate(10deg);
}
.hero-dot[data-v-11b9874f] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.22);
}
.hero-dot--1[data-v-11b9874f] {
  top: 22%;
  right: 28%;
}
.hero-dot--2[data-v-11b9874f] {
  bottom: 30%;
  right: 18%;
}
.hero-content[data-v-11b9874f] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}
.hero-left[data-v-11b9874f] {
  flex: 1;
  min-width: 240px;
}
.hero-title[data-v-11b9874f] {
  margin: 0 0 6px;
  font-size: 24px;
  font-weight: 700;
  color: white;
  line-height: 1.2;
}
.hero-desc[data-v-11b9874f] {
  margin: 0;
  font-size: 13px;
  opacity: 0.85;
  max-width: 560px;
}
.hero-right[data-v-11b9874f] {
  display: flex;
  gap: 10px;
  flex-shrink: 0;
  flex-wrap: wrap;
  align-items: center;
}
.hero-search[data-v-11b9874f] {
  width: 260px;
}
.hero-search[data-v-11b9874f] .ant-input {
  background: rgba(255, 255, 255, 0.95);
  border: none;
  border-radius: var(--radius-lg);
}
/* Stats */
.stats-grid[data-v-11b9874f] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
@media (max-width: 992px) {
.stats-grid[data-v-11b9874f] {
    grid-template-columns: repeat(2, 1fr);
}
}
.stats-card[data-v-11b9874f] {
  background: white;
  border-radius: var(--radius-xl);
  padding: 16px;
  box-shadow: var(--shadow-sm);
  transition: transform 0.2s, box-shadow 0.2s;
}
.stats-card[data-v-11b9874f]:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-md, 0 4px 12px rgba(0, 0, 0, 0.08));
}
.stat-item[data-v-11b9874f] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.stat-icon[data-v-11b9874f] {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: white;
  flex-shrink: 0;
}
.stat-icon-blue[data-v-11b9874f] {
  background: linear-gradient(135deg, #3b82f6 0%, #60a5fa 100%);
}
.stat-icon-green[data-v-11b9874f] {
  background: linear-gradient(135deg, #10b981 0%, #34d399 100%);
}
.stat-icon-orange[data-v-11b9874f] {
  background: linear-gradient(135deg, #f59e0b 0%, #fbbf24 100%);
}
.stat-icon-purple[data-v-11b9874f] {
  background: linear-gradient(135deg, #8b5cf6 0%, #a78bfa 100%);
}
.stat-content[data-v-11b9874f] {
  flex: 1;
  min-width: 0;
}
.stat-value[data-v-11b9874f] {
  font-size: 24px;
  font-weight: 700;
  color: var(--color-text, #1d2129);
  line-height: 1.2;
}
.stat-suffix[data-v-11b9874f] {
  font-size: 13px;
  font-weight: 500;
  color: var(--color-text-secondary, #595959);
  margin-left: 4px;
}
.stat-label[data-v-11b9874f] {
  font-size: 13px;
  color: var(--color-text-secondary, #595959);
  margin-top: 4px;
}
/* Filter / Table */
.filter-card[data-v-11b9874f],
.table-card[data-v-11b9874f] {
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}
.table-card-title[data-v-11b9874f] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.selected-tag[data-v-11b9874f] {
  margin-left: 4px;
}
/* ===== 表格精致化 ===== */
.table-card[data-v-11b9874f] .ant-table {
  border-radius: 0;
}
.table-card[data-v-11b9874f] .ant-table-thead > tr > th {
  background: #fafbfc;
  font-weight: 600;
  font-size: 13px;
  color: #4b5563;
  border-bottom: 1px solid #e5e7eb;
  padding: 12px 16px;
}
.table-card[data-v-11b9874f] .ant-table-thead > tr > th::before {
  display: none;
}
.table-card[data-v-11b9874f] .ant-table-tbody > tr > td {
  padding: 12px 16px;
  font-size: 13px;
  transition: background 0.2s ease;
}
.table-card[data-v-11b9874f] .ant-table-tbody > tr:hover > td {
  background: #f0f7ff !important;
}
.table-card[data-v-11b9874f] .ant-table-tbody > tr.ant-table-row-selected > td {
  background: #e6f4ff !important;
}
/* ===== 桌面端分页器美化 ===== */
.table-card[data-v-11b9874f] .ant-table-pagination {
  margin: 16px 16px 4px;
  padding: 12px 0 0;
  border-top: 1px solid #f0f0f0;
  align-items: center;
}
.table-card[data-v-11b9874f] .ant-table-pagination .ant-pagination-total-text {
  font-size: 13px;
  color: #6b7280;
  margin-right: auto;
}
.table-card[data-v-11b9874f] .ant-pagination-item {
  border-radius: 6px;
  border-color: #e5e7eb;
  min-width: 32px;
  height: 32px;
  line-height: 30px;
  font-size: 13px;
  transition: all 0.2s ease;
}
.table-card[data-v-11b9874f] .ant-pagination-item:hover {
  border-color: #3b82f6;
  color: #3b82f6;
  background: #eff6ff;
}
.table-card[data-v-11b9874f] .ant-pagination-item-active {
  background: #3b82f6;
  border-color: #3b82f6;
}
.table-card[data-v-11b9874f] .ant-pagination-item-active a {
  color: #fff;
}
.table-card[data-v-11b9874f] .ant-pagination-item-active:hover {
  background: #2563eb;
  border-color: #2563eb;
}
.table-card[data-v-11b9874f] .ant-pagination-item-active:hover a {
  color: #fff;
}
.table-card[data-v-11b9874f] .ant-pagination-prev,
.table-card[data-v-11b9874f] .ant-pagination-next {
  min-width: 32px;
  height: 32px;
  line-height: 30px;
  border-radius: 6px;
  border-color: #e5e7eb;
}
.table-card[data-v-11b9874f] .ant-pagination-prev:hover,
.table-card[data-v-11b9874f] .ant-pagination-next:hover {
  border-color: #3b82f6;
}
.table-card[data-v-11b9874f] .ant-pagination-prev:hover .ant-pagination-item-link,
.table-card[data-v-11b9874f] .ant-pagination-next:hover .ant-pagination-item-link {
  color: #3b82f6;
  background: #eff6ff;
}
.table-card[data-v-11b9874f] .ant-pagination-jump-prev .ant-pagination-item-container .ant-pagination-item-link-icon,
.table-card[data-v-11b9874f] .ant-pagination-jump-next .ant-pagination-item-container .ant-pagination-item-link-icon {
  color: #3b82f6;
}
.table-card[data-v-11b9874f] .ant-pagination-options-size-changer .ant-select-selector {
  border-radius: 6px !important;
  border-color: #e5e7eb !important;
  height: 32px !important;
  font-size: 13px;
}
.table-card[data-v-11b9874f] .ant-pagination-options-size-changer .ant-select:hover .ant-select-selector {
  border-color: #3b82f6 !important;
}
.table-card[data-v-11b9874f] .ant-pagination-options-quick-jumper {
  font-size: 13px;
  color: #6b7280;
}
.table-card[data-v-11b9874f] .ant-pagination-options-quick-jumper input {
  border-radius: 6px;
  border-color: #e5e7eb;
  height: 32px;
  width: 56px;
}
.table-card[data-v-11b9874f] .ant-pagination-options-quick-jumper input:focus {
  border-color: #3b82f6;
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.15);
}
/* ===== 移动端分页器容器化 ===== */
.mobile-pagination[data-v-11b9874f] {
  margin-top: 12px;
  padding: 10px 12px;
  background: #fafbfc;
  border-radius: var(--radius-lg, 8px);
  border: 1px solid #f0f0f0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.mobile-pagination[data-v-11b9874f] .ant-pagination {
  font-size: 13px;
}
.mobile-pagination[data-v-11b9874f] .ant-pagination-item {
  border-radius: 6px;
  min-width: 28px;
  height: 28px;
  line-height: 26px;
  border-color: #e5e7eb;
}
.mobile-pagination[data-v-11b9874f] .ant-pagination-item:hover {
  border-color: #3b82f6;
}
.mobile-pagination[data-v-11b9874f] .ant-pagination-item:hover a {
  color: #3b82f6;
}
.mobile-pagination[data-v-11b9874f] .ant-pagination-item-active {
  background: #3b82f6;
  border-color: #3b82f6;
}
.mobile-pagination[data-v-11b9874f] .ant-pagination-item-active a {
  color: #fff;
}
.mobile-pagination[data-v-11b9874f] .ant-pagination-prev,
.mobile-pagination[data-v-11b9874f] .ant-pagination-next {
  min-width: 28px;
  height: 28px;
  line-height: 26px;
  border-radius: 6px;
  border-color: #e5e7eb;
}
.mobile-pagination[data-v-11b9874f] .ant-pagination-options-quick-jumper {
  font-size: 12px;
  color: #6b7280;
}
.mobile-pagination[data-v-11b9874f] .ant-pagination-options-quick-jumper input {
  border-radius: 6px;
  height: 28px;
  width: 48px;
}
.mobile-pagination-total[data-v-11b9874f] {
  font-size: 12px;
  color: #6b7280;
  white-space: nowrap;
}
/* ===== 移动端卡片样式 ===== */
.mobile-card-list[data-v-11b9874f] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.mobile-card[data-v-11b9874f] {
  background: #fff;
  border-radius: var(--radius-lg, 12px);
  border: 1px solid var(--color-border, #e8e8e8);
  padding: 12px;
  transition: box-shadow 0.2s, border-color 0.2s;
}
.mobile-card[data-v-11b9874f]:hover {
  border-color: var(--color-primary, #1677ff);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.mobile-card-header[data-v-11b9874f] {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.mobile-card-header-info[data-v-11b9874f] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
}
.mobile-card-title[data-v-11b9874f] {
  font-weight: 600;
  font-size: 14px;
  color: var(--color-text, #333);
}
.mobile-card-body[data-v-11b9874f] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 8px;
}
.mobile-card-row[data-v-11b9874f] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.mobile-card-label[data-v-11b9874f] {
  font-size: 12px;
  color: var(--color-text-secondary, #999);
  white-space: nowrap;
}
.mobile-card-actions[data-v-11b9874f] {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  border-top: 1px solid var(--color-border-light, #f0f0f0);
  padding-top: 8px;
}
.mdm-subscription-page[data-v-91064a8e] {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-4);
}
/* Hero */
.hero-section[data-v-91064a8e] {
  position: relative;
  background: linear-gradient(135deg, #13c2c2 0%, #1677ff 50%, #722ed1 100%) !important;
  border-radius: var(--radius-xl);
  color: white;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(19, 194, 194, 0.18);
}
.hero-bg-decoration[data-v-91064a8e] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-91064a8e] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-91064a8e] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -40px;
}
.hero-circle--2[data-v-91064a8e] {
  width: 140px;
  height: 140px;
  bottom: -50px;
  right: 240px;
}
.hero-line[data-v-91064a8e] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-91064a8e] {
  width: 320px;
  top: 30%;
  right: 12%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-91064a8e] {
  width: 220px;
  bottom: 25%;
  right: 32%;
  transform: rotate(10deg);
}
.hero-dot[data-v-91064a8e] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.22);
}
.hero-dot--1[data-v-91064a8e] {
  top: 22%;
  right: 28%;
}
.hero-dot--2[data-v-91064a8e] {
  bottom: 30%;
  right: 18%;
}
.hero-content[data-v-91064a8e] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}
.hero-left[data-v-91064a8e] {
  flex: 1;
  min-width: 240px;
}
.hero-title[data-v-91064a8e] {
  margin: 0 0 6px;
  font-size: 24px;
  font-weight: 700;
  color: white;
  line-height: 1.2;
}
.hero-desc[data-v-91064a8e] {
  margin: 0;
  font-size: 13px;
  opacity: 0.85;
  max-width: 560px;
}
.hero-right[data-v-91064a8e] {
  display: flex;
  gap: 10px;
  flex-shrink: 0;
  flex-wrap: wrap;
  align-items: center;
}
.hero-search[data-v-91064a8e] {
  width: 260px;
}
.hero-search[data-v-91064a8e] .ant-input {
  background: rgba(255, 255, 255, 0.95);
  border: none;
  border-radius: var(--radius-lg);
}
/* Stats */
.stats-grid[data-v-91064a8e] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
@media (max-width: 992px) {
.stats-grid[data-v-91064a8e] {
    grid-template-columns: repeat(2, 1fr);
}
}
.stats-card[data-v-91064a8e] {
  background: white;
  border-radius: var(--radius-xl);
  padding: 16px;
  box-shadow: var(--shadow-sm);
  transition: transform 0.2s, box-shadow 0.2s;
}
.stats-card[data-v-91064a8e]:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-md, 0 4px 12px rgba(0, 0, 0, 0.08));
}
.stat-item[data-v-91064a8e] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.stat-icon[data-v-91064a8e] {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: white;
  flex-shrink: 0;
}
.stat-icon-blue[data-v-91064a8e] {
  background: linear-gradient(135deg, #3b82f6 0%, #60a5fa 100%);
}
.stat-icon-green[data-v-91064a8e] {
  background: linear-gradient(135deg, #10b981 0%, #34d399 100%);
}
.stat-icon-orange[data-v-91064a8e] {
  background: linear-gradient(135deg, #f59e0b 0%, #fbbf24 100%);
}
.stat-icon-purple[data-v-91064a8e] {
  background: linear-gradient(135deg, #8b5cf6 0%, #a78bfa 100%);
}
.stat-content[data-v-91064a8e] {
  flex: 1;
  min-width: 0;
}
.stat-value[data-v-91064a8e] {
  font-size: 24px;
  font-weight: 700;
  color: var(--color-text, #1d2129);
  line-height: 1.2;
}
.stat-label[data-v-91064a8e] {
  font-size: 13px;
  color: var(--color-text-secondary, #595959);
  margin-top: 4px;
}
/* Table */
.table-card[data-v-91064a8e] {
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-sm);
}
.table-card-title[data-v-91064a8e] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.ellipsis-text[data-v-91064a8e] {
  display: inline-block;
  max-width: 240px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  vertical-align: middle;
}
.error-text[data-v-91064a8e] {
  color: #ff4d4f;
}
.logs-header[data-v-91064a8e] {
  margin-bottom: 16px;
}
.approval-flow-designer[data-v-99fa06b3] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.designer-toolbar[data-v-99fa06b3] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 14px;
  background: linear-gradient(135deg, #eef2ff 0%, #f0f4ff 100%);
  border: 1px solid #c7d2fe;
  border-radius: 8px;
}
.designer-toolbar .toolbar-left[data-v-99fa06b3] {
  display: flex;
  align-items: center;
  gap: 10px;
}
.designer-toolbar .flow-name[data-v-99fa06b3] {
  font-weight: 600;
  color: #1e293b;
}
.node-palette[data-v-99fa06b3] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  background: #ffffff;
  border: 1px dashed #e2e8f0;
  border-radius: 8px;
}
.node-palette .palette-label[data-v-99fa06b3] {
  font-size: 13px;
  color: #64748b;
  flex-shrink: 0;
}
.node-palette .palette-items[data-v-99fa06b3] {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.node-palette .palette-item[data-v-99fa06b3] {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 12px;
  cursor: grab;
  user-select: none;
  transition: all 0.2s;
  border: 1px solid #e2e8f0;
}
.node-palette .palette-item[data-v-99fa06b3]:hover {
  box-shadow: 0 2px 6px rgba(79, 70, 229, 0.15);
  transform: translateY(-1px);
}
.node-palette .palette-item[data-v-99fa06b3]:active {
  cursor: grabbing;
}
.node-palette .palette-item--start[data-v-99fa06b3] {
  color: #10b981;
  background: rgba(16, 185, 129, 0.08);
  border-color: rgba(16, 185, 129, 0.3);
}
.node-palette .palette-item--approval[data-v-99fa06b3] {
  color: #4f46e5;
  background: #eef2ff;
  border-color: #c7d2fe;
}
.node-palette .palette-item--condition[data-v-99fa06b3] {
  color: #f59e0b;
  background: rgba(245, 158, 11, 0.08);
  border-color: rgba(245, 158, 11, 0.3);
}
.node-palette .palette-item--end[data-v-99fa06b3] {
  color: #ef4444;
  background: rgba(239, 68, 68, 0.08);
  border-color: rgba(239, 68, 68, 0.3);
}
.flow-canvas[data-v-99fa06b3] {
  min-height: 200px;
  max-height: 320px;
  overflow-y: auto;
  padding: 16px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
}
.flow-preview[data-v-99fa06b3] {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.flow-node[data-v-99fa06b3] {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 540px;
  padding: 12px 14px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-left: 3px solid #4f46e5;
  border-radius: 8px;
  transition: box-shadow 0.2s;
}
.flow-node[data-v-99fa06b3]:hover {
  box-shadow: 0 2px 8px rgba(79, 70, 229, 0.1);
}
.flow-node--start[data-v-99fa06b3] {
  border-left-color: #10b981;
}
.flow-node--end[data-v-99fa06b3] {
  border-left-color: #ef4444;
}
.flow-node--condition[data-v-99fa06b3] {
  border-left-color: #f59e0b;
}
.flow-node .flow-node-icon[data-v-99fa06b3] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #eef2ff;
  color: #4f46e5;
  margin-right: 12px;
  font-size: 16px;
  flex-shrink: 0;
}
.flow-node--start .flow-node-icon[data-v-99fa06b3] {
  background: rgba(16, 185, 129, 0.1);
  color: #10b981;
}
.flow-node--end .flow-node-icon[data-v-99fa06b3] {
  background: rgba(239, 68, 68, 0.1);
  color: #ef4444;
}
.flow-node--condition .flow-node-icon[data-v-99fa06b3] {
  background: rgba(245, 158, 11, 0.1);
  color: #f59e0b;
}
.flow-node .flow-node-content[data-v-99fa06b3] {
  flex: 1;
  min-width: 0;
}
.flow-node .flow-node-content .flow-node-name[data-v-99fa06b3] {
  font-weight: 600;
  font-size: 14px;
  color: #1e293b;
}
.flow-node .flow-node-content .flow-node-meta[data-v-99fa06b3] {
  display: flex;
  gap: 10px;
  margin-top: 4px;
  font-size: 12px;
  color: #64748b;
}
.flow-node .flow-node-content .flow-node-timeout[data-v-99fa06b3] {
  color: #f59e0b;
}
.flow-node .flow-node-actions[data-v-99fa06b3] {
  display: flex;
  gap: 2px;
  flex-shrink: 0;
}
.flow-connector[data-v-99fa06b3] {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 4px 0;
}
.flow-connector .connector-line[data-v-99fa06b3] {
  width: 2px;
  height: 16px;
  background: linear-gradient(to bottom, #4f46e5, #c7d2fe);
}
.flow-connector .connector-arrow[data-v-99fa06b3] {
  color: #4f46e5;
  font-size: 12px;
}
.config-section[data-v-99fa06b3] {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 12px 14px;
}
.config-section .config-section-title[data-v-99fa06b3] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
  font-size: 14px;
  color: #1e293b;
  margin-bottom: 10px;
}
.flow-preview-modal .preview-flow[data-v-99fa06b3] {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.flow-preview-modal .preview-node[data-v-99fa06b3] {
  width: 100%;
  max-width: 480px;
  padding: 12px 14px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-left: 3px solid #4f46e5;
  border-radius: 8px;
}
.flow-preview-modal .preview-node--start[data-v-99fa06b3] {
  border-left-color: #10b981;
}
.flow-preview-modal .preview-node--end[data-v-99fa06b3] {
  border-left-color: #ef4444;
}
.flow-preview-modal .preview-node--condition[data-v-99fa06b3] {
  border-left-color: #f59e0b;
}
.flow-preview-modal .preview-node .preview-node-index[data-v-99fa06b3] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #eef2ff;
  color: #4f46e5;
  font-size: 12px;
  font-weight: 600;
  margin-right: 8px;
}
.flow-preview-modal .preview-node .preview-node-name[data-v-99fa06b3] {
  display: inline-block;
  font-weight: 600;
  color: #1e293b;
}
.flow-preview-modal .preview-node .preview-node-detail[data-v-99fa06b3] {
  margin-top: 6px;
  font-size: 12px;
  color: #64748b;
  line-height: 1.6;
}
.flow-preview-modal .preview-connector[data-v-99fa06b3] {
  color: #4f46e5;
  padding: 4px 0;
  font-size: 14px;
}
.i18n-field-editor[data-v-77ef3f79] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
/* 顶部工具栏 */
.editor-toolbar[data-v-77ef3f79] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  background: var(--color-bg-layout, #fafafa);
  border-radius: var(--radius-lg, 8px);
  flex-wrap: wrap;
  gap: 12px;
}
.toolbar-left[data-v-77ef3f79] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.toolbar-label[data-v-77ef3f79] {
  font-size: 14px;
  font-weight: 600;
  color: var(--color-text, #1d2129);
}
.toolbar-right[data-v-77ef3f79] {
  display: flex;
  align-items: center;
  gap: 8px;
}
/* 字段列表 */
.fields-list[data-v-77ef3f79] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.field-item[data-v-77ef3f79] {
  padding: 16px;
  background: var(--color-bg-container, #fff);
  border: 1px solid var(--color-border-2, #e5e6eb);
  border-radius: var(--radius-lg, 8px);
}
.field-header[data-v-77ef3f79] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  flex-wrap: wrap;
  gap: 8px;
}
.field-info[data-v-77ef3f79] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.field-label[data-v-77ef3f79] {
  font-size: 14px;
  font-weight: 600;
  color: var(--color-text, #1d2129);
}
.field-key[data-v-77ef3f79] {
  font-family: 'SFMono-Regular', Consolas, monospace;
  font-size: 12px;
  color: var(--color-text-secondary, #595959);
}
.field-actions[data-v-77ef3f79] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.translatable-label[data-v-77ef3f79] {
  font-size: 12px;
  color: var(--color-text-secondary, #595959);
}
/* 字段值行 */
.field-values[data-v-77ef3f79] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.field-value-row[data-v-77ef3f79] {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 8px;
  border-radius: var(--radius-sm, 4px);
  transition: background 0.2s;
}
.field-value-row.is-current[data-v-77ef3f79] {
  background: var(--color-primary-bg, #e6f4ff);
}
.lang-label[data-v-77ef3f79] {
  flex-shrink: 0;
  width: 100px;
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: var(--color-text-secondary, #595959);
  padding-top: 4px;
}
.lang-input[data-v-77ef3f79] {
  flex: 1;
  min-width: 0;
}
.mdm-edit-page[data-v-a8b086a0] {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-3);
}
.edit-toolbar[data-v-a8b086a0] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: var(--color-bg-container, #fff);
  padding: 8px 16px;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
}
.edit-toolbar-title[data-v-a8b086a0] {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
  justify-content: center;
}
.edit-toolbar-title h2[data-v-a8b086a0] {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: var(--color-text, #1d2129);
}
.step-card[data-v-a8b086a0],
.form-card[data-v-a8b086a0] {
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-sm);
}
.section-toolbar[data-v-a8b086a0] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  font-weight: 600;
  color: var(--color-text, #1d2129);
}
.step-actions[data-v-a8b086a0] {
  display: flex;
  justify-content: space-between;
  padding: 12px 16px;
  background: var(--color-bg-container, #fff);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
}
.approval-flow-entry[data-v-a8b086a0] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.merge-records[data-v-cc2932a9] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.master-select-card[data-v-cc2932a9],
.field-mapping-card[data-v-cc2932a9] {
  border-radius: var(--radius-lg, 8px);
}
.master-radio[data-v-cc2932a9] {
  margin-bottom: 8px;
}
.record-name[data-v-cc2932a9] {
  font-weight: 500;
  margin-right: 6px;
}
.field-mapping-table[data-v-cc2932a9] {
  border: 1px solid var(--color-border, #f0f0f0);
  border-radius: var(--radius-sm, 4px);
  overflow: hidden;
}
.fmt-header[data-v-cc2932a9] {
  display: flex;
  background: var(--color-bg-layout, #fafafa);
  border-bottom: 1px solid var(--color-border, #f0f0f0);
  font-weight: 600;
}
.fmt-row[data-v-cc2932a9] {
  display: flex;
  border-bottom: 1px solid var(--color-border, #f0f0f0);
  align-items: center;
}
.fmt-row[data-v-cc2932a9]:last-child {
  border-bottom: none;
}
.fmt-row-changed[data-v-cc2932a9] {
  background: rgba(250, 140, 22, 0.04);
}
.fmt-col[data-v-cc2932a9] {
  padding: 10px 12px;
  border-right: 1px solid var(--color-border, #f0f0f0);
}
.fmt-col[data-v-cc2932a9]:last-child {
  border-right: none;
}
.fmt-col-label[data-v-cc2932a9] {
  flex: 0 0 140px;
  font-weight: 500;
}
.fmt-col-value[data-v-cc2932a9] {
  flex: 1;
  min-width: 0;
  word-break: break-all;
}
.fmt-col-title[data-v-cc2932a9] {
  font-size: 13px;
  color: var(--color-text-secondary, #595959);
}
.field-changed[data-v-cc2932a9] {
  font-weight: 600;
  color: #fa8c16;
}
.field-diff[data-v-cc2932a9] {
  color: #fa541c;
}
.duplicate-matching[data-v-5914d7ae] {
  min-height: 200px;
}
.batch-actions[data-v-5914d7ae] {
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px dashed var(--color-border, #f0f0f0);
  text-align: right;
}
.relationship-graph[data-v-ffebf2b9] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.graph-toolbar[data-v-ffebf2b9] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  padding: 8px 12px;
  background: var(--color-bg-layout, #fafafa);
  border-radius: var(--radius-lg, 8px);
}
.toolbar-left[data-v-ffebf2b9] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.toolbar-right[data-v-ffebf2b9] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.layout-label[data-v-ffebf2b9] {
  font-size: 13px;
  color: var(--color-text-secondary, #595959);
}
.hint-icon[data-v-ffebf2b9] {
  color: var(--color-text-secondary, #8c8c8c);
  cursor: help;
}
.graph-chart[data-v-ffebf2b9] {
  width: 100%;
  min-height: 300px;
}
.graph-legend[data-v-ffebf2b9] {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  padding: 8px 12px;
  background: var(--color-bg-layout, #fafafa);
  border-radius: var(--radius-lg, 8px);
  font-size: 12px;
}
.legend-title[data-v-ffebf2b9] {
  font-weight: 500;
  color: var(--color-text, #1d2129);
}
.legend-item[data-v-ffebf2b9] {
  display: flex;
  align-items: center;
  gap: 6px;
}
.legend-line[data-v-ffebf2b9] {
  display: inline-block;
  width: 24px;
  height: 2px;
  border-radius: 1px;
}
.legend-line--dashed[data-v-ffebf2b9] {
  background-image: linear-gradient(to right, currentColor 0, currentColor 4px, transparent 4px, transparent 8px);
  background-color: transparent;
  color: #fa8c16;
}
.legend-text[data-v-ffebf2b9] {
  color: var(--color-text-secondary, #595959);
}
.quality-rule-config[data-v-6a5d6c38] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
/* 评分概览 */
.score-overview[data-v-6a5d6c38] {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 20px 24px;
  background: linear-gradient(135deg, #f0f5ff 0%, #e6f4ff 100%);
  border: 1px solid #d6e4ff;
  border-radius: var(--radius-lg, 8px);
}
.score-overview-left[data-v-6a5d6c38] {
  flex-shrink: 0;
}
.score-circle-inner[data-v-6a5d6c38] {
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1.2;
}
.score-circle-value[data-v-6a5d6c38] {
  font-size: 24px;
  font-weight: 700;
  color: var(--color-text, #1d2129);
}
.score-circle-label[data-v-6a5d6c38] {
  font-size: 11px;
  color: var(--color-text-secondary, #595959);
  margin-top: 2px;
}
.score-overview-right[data-v-6a5d6c38] {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.overview-stat[data-v-6a5d6c38] {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 64px;
}
.overview-stat .stat-value[data-v-6a5d6c38] {
  font-size: 22px;
  font-weight: 700;
  color: var(--color-text, #1d2129);
  line-height: 1.2;
}
.overview-stat .stat-label[data-v-6a5d6c38] {
  font-size: 12px;
  color: var(--color-text-secondary, #595959);
  margin-top: 4px;
}
.overview-divider[data-v-6a5d6c38] {
  height: 32px;
}
.overview-actions[data-v-6a5d6c38] {
  margin-left: auto;
  display: flex;
  gap: 8px;
}
/* 工具栏 */
.rules-toolbar[data-v-6a5d6c38] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.toolbar-left[data-v-6a5d6c38] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.toolbar-title[data-v-6a5d6c38] {
  font-size: 14px;
  font-weight: 600;
  color: var(--color-text, #1d2129);
}
/* 规则名称单元格 */
.rule-name-cell[data-v-6a5d6c38] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.rule-type-tag[data-v-6a5d6c38] {
  flex-shrink: 0;
  margin: 0;
}
.rule-name-text[data-v-6a5d6c38] {
  font-weight: 500;
  color: var(--color-text, #1d2129);
}
.rule-field[data-v-6a5d6c38] {
  font-family: 'SFMono-Regular', Consolas, monospace;
  font-size: 12px;
  color: var(--color-text-secondary, #595959);
}
.condition-tag[data-v-6a5d6c38] {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.weight-cell[data-v-6a5d6c38] {
  min-width: 100px;
}
/* 测试结果单元格 */
.test-result-cell[data-v-6a5d6c38] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.test-pass-rate[data-v-6a5d6c38] {
  font-size: 12px;
  color: var(--color-text-secondary, #595959);
}
.test-result-empty[data-v-6a5d6c38] {
  color: var(--color-text-quaternary, #c9cdd4);
}
/* 测试全部结果 */
.test-all-result[data-v-6a5d6c38] {
  margin-top: 8px;
  padding: 16px;
  background: var(--color-bg-layout, #fafafa);
  border-radius: var(--radius-lg, 8px);
  border: 1px solid var(--color-border-2, #e5e6eb);
}
.result-header[data-v-6a5d6c38] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.result-title[data-v-6a5d6c38] {
  font-size: 14px;
  font-weight: 600;
  color: var(--color-text, #1d2129);
}
.result-time[data-v-6a5d6c38] {
  font-size: 12px;
  color: var(--color-text-secondary, #595959);
}
.result-passed[data-v-6a5d6c38] {
  color: #52c41a;
  font-weight: 600;
}
.result-failed[data-v-6a5d6c38] {
  color: #ff4d4f;
  font-weight: 600;
}
.result-separator[data-v-6a5d6c38] {
  color: var(--color-text-quaternary, #c9cdd4);
  margin: 0 2px;
}
/* 权重滑块 */
.weight-slider[data-v-6a5d6c38] {
  display: flex;
  align-items: center;
}
.weight-slider[data-v-6a5d6c38] .ant-slider {
  flex: 1;
  margin: 0;
}
.lifecycle-config[data-v-00cd97d7] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
/* 生命周期流转图 */
.lifecycle-flow[data-v-00cd97d7] {
  padding: 20px 16px;
  background: var(--color-bg-layout, #fafafa);
  border-radius: var(--radius-lg, 8px);
}
.flow-header[data-v-00cd97d7] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
.flow-title[data-v-00cd97d7] {
  font-size: 14px;
  font-weight: 600;
  color: var(--color-text, #1d2129);
}
.flow-diagram[data-v-00cd97d7] {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 4px;
  padding: 12px 0;
}
.flow-node[data-v-00cd97d7] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}
.node-circle[data-v-00cd97d7] {
  width: 100px;
  height: 60px;
  border-radius: var(--radius-lg, 8px);
  border: 2px solid var(--color-border-2, #e5e6eb);
  background: var(--color-bg-container, #fff);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s;
}
.node-label[data-v-00cd97d7] {
  font-size: 13px;
  font-weight: 500;
  color: var(--color-text-secondary, #595959);
}
.flow-node.is-passed .node-circle[data-v-00cd97d7] {
  border-color: var(--color-success-500, #10b981);
  background: color-mix(in srgb, var(--color-success-500, #10b981) 8%, transparent);
}
.flow-node.is-passed .node-label[data-v-00cd97d7] {
  color: var(--color-success-500, #10b981);
}
.flow-node.is-current .node-circle[data-v-00cd97d7] {
  border-color: var(--color-primary-500, #3b82f6);
  background: color-mix(in srgb, var(--color-primary-500, #3b82f6) 12%, transparent);
  box-shadow: 0 2px 8px color-mix(in srgb, var(--color-primary-500, #3b82f6) 25%, transparent);
}
.flow-node.is-current .node-label[data-v-00cd97d7] {
  color: var(--color-primary-500, #3b82f6);
  font-weight: 700;
}
.flow-node.is-future .node-circle[data-v-00cd97d7] {
  border-color: var(--color-border-2, #e5e6eb);
  background: var(--color-bg-container, #fff);
  opacity: 0.7;
}
.flow-arrow[data-v-00cd97d7] {
  display: flex;
  align-items: center;
  margin: 0 4px;
}
/* 配置区块 */
.config-section[data-v-00cd97d7] {
  border-radius: var(--radius-lg, 8px);
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.04));
}
.section-title[data-v-00cd97d7] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 600;
  color: var(--color-text, #1d2129);
}
.rule-block[data-v-00cd97d7] {
  padding: 12px;
  background: var(--color-bg-layout, #fafafa);
  border-radius: var(--radius-sm, 4px);
}
.rule-header[data-v-00cd97d7] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.rule-title[data-v-00cd97d7] {
  font-size: 13px;
  font-weight: 600;
  color: var(--color-text, #1d2129);
}
.form-hint[data-v-00cd97d7] {
  margin-left: 8px;
  font-size: 12px;
  color: var(--color-text-secondary, #595959);
}
.section-actions[data-v-00cd97d7] {
  display: flex;
  justify-content: flex-end;
  margin-top: 8px;
}
/* 历史记录 */
.history-item[data-v-00cd97d7] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.history-header[data-v-00cd97d7] {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.history-arrow[data-v-00cd97d7] {
  font-size: 12px;
  color: var(--color-text-secondary, #595959);
}
.history-meta[data-v-00cd97d7] {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  font-size: 12px;
  color: var(--color-text-secondary, #595959);
}
.meta-item[data-v-00cd97d7] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.history-reason[data-v-00cd97d7] {
  font-size: 13px;
  color: var(--color-text, #1d2129);
  background: var(--color-bg-layout, #fafafa);
  padding: 6px 10px;
  border-radius: var(--radius-sm, 4px);
}
.reason-label[data-v-00cd97d7] {
  font-weight: 600;
  margin-right: 6px;
}
.reason-text[data-v-00cd97d7] {
  color: var(--color-text-secondary, #595959);
}
.mdm-detail-page[data-v-d45db5f9] {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-4);
}
.hero-bg-decoration[data-v-d45db5f9] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-d45db5f9] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-d45db5f9] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -40px;
}
.hero-circle--2[data-v-d45db5f9] {
  width: 140px;
  height: 140px;
  bottom: -50px;
  right: 240px;
}
.hero-line[data-v-d45db5f9] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-d45db5f9] {
  width: 320px;
  top: 30%;
  right: 12%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-d45db5f9] {
  width: 220px;
  bottom: 25%;
  right: 32%;
  transform: rotate(10deg);
}
.hero-dot[data-v-d45db5f9] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.22);
}
.hero-dot--1[data-v-d45db5f9] {
  top: 22%;
  right: 28%;
}
.hero-dot--2[data-v-d45db5f9] {
  bottom: 30%;
  right: 18%;
}
.hero-content[data-v-d45db5f9] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  flex-wrap: wrap;
}
.hero-left[data-v-d45db5f9] {
  flex: 1;
  min-width: 240px;
}
.hero-title[data-v-d45db5f9] {
  margin: 0 0 8px;
  font-size: 24px;
  font-weight: 700;
  color: white;
  line-height: 1.2;
}
.hero-meta[data-v-d45db5f9] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}
.hero-desc[data-v-d45db5f9] {
  margin: 0;
  font-size: 13px;
  opacity: 0.85;
  max-width: 560px;
}
.hero-actions[data-v-d45db5f9] {
  display: flex;
  gap: 10px;
  flex-shrink: 0;
  flex-wrap: wrap;
  align-items: center;
}
.hero-actions[data-v-d45db5f9] .ant-btn {
  border-radius: 10px;
  font-weight: 500;
  background: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.4);
  color: #fff;
}
.hero-actions[data-v-d45db5f9] .ant-btn:hover {
  background: rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.6) !important;
}
.hero-actions[data-v-d45db5f9] .ant-btn-primary {
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.45);
  backdrop-filter: blur(2px);
}
.hero-actions[data-v-d45db5f9] .ant-btn-primary:hover {
  background: rgba(255, 255, 255, 0.28);
  color: #fff;
}
.hero-actions[data-v-d45db5f9] .ant-btn-dangerous {
  background: rgba(255, 77, 79, 0.85);
  color: #fff;
}
.hero-actions[data-v-d45db5f9] .ant-btn-dangerous:hover {
  background: #ff4d4f;
  color: #fff;
}
.entity-card[data-v-d45db5f9],
.tabs-card[data-v-d45db5f9] {
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-sm);
}
.entity-header[data-v-d45db5f9] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.entity-info[data-v-d45db5f9] {
  flex: 1;
  min-width: 0;
}
.entity-info h2[data-v-d45db5f9] {
  margin: 0 0 8px;
  font-size: 22px;
  font-weight: 600;
  color: var(--color-text, #1d2129);
}
.entity-meta[data-v-d45db5f9] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}
.entity-desc[data-v-d45db5f9] {
  margin: 0;
  color: var(--color-text-secondary, #595959);
  font-size: 14px;
}
.entity-quality[data-v-d45db5f9] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
.quality-label[data-v-d45db5f9] {
  font-size: 12px;
  color: var(--color-text-secondary, #595959);
}
.tab-toolbar[data-v-d45db5f9] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}
.quality-container[data-v-d45db5f9] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.quality-card[data-v-d45db5f9] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 16px;
  background: var(--color-bg-layout, #fafafa);
  border-radius: var(--radius-lg);
}
.quality-checked[data-v-d45db5f9] {
  text-align: right;
  color: var(--color-text-secondary, #595959);
  font-size: 12px;
}
.lineage-container[data-v-d45db5f9] {
  margin-top: 8px;
}
.version-item[data-v-d45db5f9] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.version-header[data-v-d45db5f9] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.version-time[data-v-d45db5f9] {
  color: var(--color-text-secondary, #595959);
  font-size: 12px;
}
.version-item p[data-v-d45db5f9] {
  margin: 4px 0;
  color: var(--color-text-secondary, #595959);
}
.version-actions[data-v-d45db5f9] {
  display: flex;
  gap: 4px;
  align-items: center;
}
.compare-selected[data-v-d45db5f9] {
  background: var(--color-primary-bg, #e6f4ff);
  border-radius: var(--radius-sm, 4px);
}
.validate-result[data-v-d45db5f9] {
  margin-bottom: 16px;
}
.ai-platform-page[data-v-17a6b1eb] {
  padding: var(--spacing-4);
}
/* ==================== Hero 区域 ==================== */
.hero-bg-decoration[data-v-17a6b1eb] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-17a6b1eb] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.07);
}
.hero-circle--1[data-v-17a6b1eb] {
  width: 220px;
  height: 220px;
  top: -70px;
  right: -50px;
}
.hero-circle--2[data-v-17a6b1eb] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.hero-circle--3[data-v-17a6b1eb] {
  width: 80px;
  height: 80px;
  top: 20px;
  right: 280px;
  background: rgba(255, 255, 255, 0.05);
}
.hero-line[data-v-17a6b1eb] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.1);
}
.hero-line--1[data-v-17a6b1eb] {
  width: 300px;
  top: 30%;
  right: 8%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-17a6b1eb] {
  width: 200px;
  bottom: 25%;
  right: 28%;
  transform: rotate(10deg);
}
.hero-dot[data-v-17a6b1eb] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.18);
}
.hero-dot--1[data-v-17a6b1eb] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-17a6b1eb] {
  bottom: 30%;
  right: 15%;
}
.hero-dot--3[data-v-17a6b1eb] {
  top: 50%;
  right: 45%;
}
.hero-content[data-v-17a6b1eb] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-17a6b1eb] {
  flex: 1;
}
.hero-title[data-v-17a6b1eb] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-17a6b1eb] {
  margin: 0 0 16px;
  font-size: 14px;
  opacity: 0.85;
  max-width: 600px;
}
.hero-stats[data-v-17a6b1eb] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.hero-stat[data-v-17a6b1eb] {
  display: flex;
  flex-direction: column;
  cursor: pointer;
  border-radius: 8px;
  transition: background 0.2s;
}
.hero-stat[data-v-17a6b1eb]:hover {
  background: rgba(255, 255, 255, 0.12);
}
.hero-stat-divider[data-v-17a6b1eb] {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.25);
}
.hero-stat-value[data-v-17a6b1eb] {
  font-size: 22px;
  font-weight: 700;
}
.hero-stat-label[data-v-17a6b1eb] {
  font-size: 12px;
  opacity: 0.7;
}
.hero-right[data-v-17a6b1eb] {
  flex-shrink: 0;
  margin-left: 40px;
}
.hero-total[data-v-17a6b1eb] {
  text-align: center;
  background: rgba(255, 255, 255, 0.12);
  border-radius: 16px;
  padding: 20px 32px;
  backdrop-filter: blur(8px);
}
.hero-total-value[data-v-17a6b1eb] {
  font-size: 48px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -1px;
}
.hero-total-label[data-v-17a6b1eb] {
  font-size: 14px;
  opacity: 0.8;
  margin-top: 6px;
}
/* ==================== 功能模块 ==================== */
.section-header[data-v-17a6b1eb] {
  margin-bottom: var(--spacing-3);
}
.section-title[data-v-17a6b1eb] {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: var(--color-text-primary, rgba(0, 0, 0, 0.88));
}
.modules-section[data-v-17a6b1eb] {
  margin-bottom: var(--spacing-5);
}
.modules-grid[data-v-17a6b1eb] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.module-card[data-v-17a6b1eb] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  background: var(--color-bg-container);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border-secondary);
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}
.module-card[data-v-17a6b1eb]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: var(--module-color);
  opacity: 0;
  transition: opacity 0.3s;
}
.module-card[data-v-17a6b1eb]:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08), 0 0 0 1px var(--module-color, #1890ff);
  border-color: transparent;
}
.module-card[data-v-17a6b1eb]:hover::before {
  opacity: 1;
}
.module-card:hover .module-arrow[data-v-17a6b1eb] {
  color: var(--module-color);
  transform: translateX(4px);
}
.module-icon-wrapper[data-v-17a6b1eb] {
  flex-shrink: 0;
}
.module-icon[data-v-17a6b1eb] {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  color: #fff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.module-icon[data-v-17a6b1eb] .anticon {
  display: block;
}
.module-body[data-v-17a6b1eb] {
  flex: 1;
  min-width: 0;
}
.module-title[data-v-17a6b1eb] {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-text-primary, rgba(0, 0, 0, 0.88));
  margin-bottom: 4px;
}
.module-description[data-v-17a6b1eb] {
  font-size: 13px;
  color: var(--color-text-tertiary);
  line-height: 1.5;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.module-arrow[data-v-17a6b1eb] {
  flex-shrink: 0;
  font-size: 14px;
  color: var(--color-text-quaternary, rgba(0, 0, 0, 0.25));
  transition: all 0.3s;
}
/* ==================== 最近活动 ==================== */
.activity-section[data-v-17a6b1eb] {
  margin-bottom: var(--spacing-5);
}
.activity-card[data-v-17a6b1eb] {
  border-radius: var(--radius-lg);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}
/* ==================== 响应式 ==================== */
@media (max-width: 1200px) {
.modules-grid[data-v-17a6b1eb] {
    grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 768px) {
.ai-platform-page[data-v-17a6b1eb] {
    padding: var(--spacing-3);
}
.hero-title[data-v-17a6b1eb] {
    font-size: 22px;
}
.hero-desc[data-v-17a6b1eb] {
    font-size: 13px;
    margin-bottom: 16px;
}
.hero-stats[data-v-17a6b1eb] {
    flex-wrap: wrap;
    gap: 0;
}
.hero-stat[data-v-17a6b1eb] {
    padding: 6px 12px;
}
.hero-stat-value[data-v-17a6b1eb] {
    font-size: 22px;
}
.hero-right[data-v-17a6b1eb] {
    display: none;
}
.modules-grid[data-v-17a6b1eb] {
    grid-template-columns: 1fr;
    gap: 12px;
}
.module-card[data-v-17a6b1eb] {
    padding: 8px;
}
.module-icon[data-v-17a6b1eb] {
    width: 40px;
    height: 40px;
    font-size: 18px;
    border-radius: 10px;
}
.module-title[data-v-17a6b1eb] {
    font-size: 15px;
}
}
@media (max-width: 576px) {
.hero-stat + .hero-stat[data-v-17a6b1eb] {
    border-left: none;
    padding-left: 0;
}
.hero-stats[data-v-17a6b1eb] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}
.hero-stat[data-v-17a6b1eb] {
    text-align: center;
    padding: 8px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.08);
}
}
/* ==================== 页面容器 ==================== */
.prompt-management-page[data-v-12dff713] {
  padding: var(--spacing-4);
  min-height: 100%;
  background: var(--color-bg-layout);
}
/* ==================== Hero Section ==================== */
.hero-bg-decoration[data-v-12dff713] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-12dff713] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-12dff713] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-12dff713] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-12dff713] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-12dff713] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-12dff713] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-12dff713] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-12dff713] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-12dff713] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-12dff713] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-12dff713] {
  flex: 1;
}
.hero-title[data-v-12dff713] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-12dff713] {
  margin: 0 0 16px;
  font-size: 14px;
  opacity: 0.85;
  max-width: 600px;
}
.hero-stats[data-v-12dff713] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.hero-stat[data-v-12dff713] {
  display: flex;
  flex-direction: column;
}
.hero-stat-value[data-v-12dff713] {
  font-size: 22px;
  font-weight: 700;
}
.hero-stat-label[data-v-12dff713] {
  font-size: 12px;
  opacity: 0.7;
}
.hero-stat-divider[data-v-12dff713] {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.25);
}
.hero-right[data-v-12dff713] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
/* ==================== 筛选栏 ==================== */
.filter-bar[data-v-12dff713] {
  background: #fff;
  padding: 12px;
  border-radius: 0 0 12px 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  position: relative;
  z-index: 2;
}
.filter-bar-inner[data-v-12dff713] {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: 1600px;
  margin: 0 auto;
}
.filter-search-row[data-v-12dff713] {
  display: flex;
  gap: 8px;
  align-items: center;
}
.filter-search[data-v-12dff713] {
  flex: 1;
  max-width: 320px;
}
.filter-toggle-btn[data-v-12dff713] {
  flex-shrink: 0;
}
.filter-dropdowns[data-v-12dff713] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 12px;
}
.filter-actions[data-v-12dff713] {
  grid-column: 1 / -1;
  display: flex;
  gap: 8px;
}
.filter-select[data-v-12dff713] {
  min-width: 140px;
}
/* ==================== 批量操作工具栏 ==================== */
.batch-toolbar[data-v-12dff713] {
  background: linear-gradient(135deg, rgba(24, 144, 255, 0.06) 0%, rgba(24, 144, 255, 0.1) 100%);
  border: 1px solid rgba(24, 144, 255, 0.2);
  border-radius: 10px;
  margin: 16px 24px;
  padding: 10px 20px;
  position: relative;
  z-index: 1;
  backdrop-filter: blur(10px);
}
.batch-toolbar[data-v-12dff713]:hover {
  box-shadow: 0 2px 12px rgba(24, 144, 255, 0.1);
}
.batch-toolbar-content[data-v-12dff713] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.selection-info[data-v-12dff713] {
  display: flex;
  align-items: center;
}
.batch-actions[data-v-12dff713] {
  display: flex;
  gap: 8px;
}
.batch-actions .ant-btn[data-v-12dff713] {
  border-radius: 6px;
  display: flex;
  align-items: center;
  gap: 6px;
}
/* ==================== 卡片网格 ==================== */
.card-grid[data-v-12dff713] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  padding: 12px 0;
  margin: 0 auto;
}
/* ==================== 单张卡片 ==================== */
.prompt-card[data-v-12dff713] {
  position: relative;
  background: #fff;
  border-radius: 14px;
  border: 1px solid #ebeef5;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  padding: 0;
  cursor: pointer;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.prompt-card[data-v-12dff713]:hover {
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(24, 144, 255, 0.15);
  border-color: transparent;
  transform: translateY(-4px);
}
.prompt-card[data-v-12dff713]:active {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}
.prompt-card--selected[data-v-12dff713] {
  border-color: #1890ff;
  box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.15);
}
/* 选中复选框 */
.prompt-card__checkbox[data-v-12dff713] {
  position: absolute;
  top: 14px;
  left: 14px;
  opacity: 0;
  transition: opacity 0.2s ease;
  z-index: 3;
}
.prompt-card:hover .prompt-card__checkbox[data-v-12dff713],
.prompt-card--selected .prompt-card__checkbox[data-v-12dff713] {
  opacity: 1;
}
/* 顶部装饰条 */
.prompt-card__accent[data-v-12dff713] {
  height: 4px;
  width: 100%;
  flex-shrink: 0;
}
/* 卡片头部 */
.prompt-card__header[data-v-12dff713] {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 20px 0;
}
.prompt-card__icon-wrap[data-v-12dff713] {
  width: 46px;
  height: 46px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15);
}
.prompt-card__icon[data-v-12dff713] {
  color: #fff;
  font-size: 22px;
}
.prompt-card__title-group[data-v-12dff713] {
  min-width: 0;
  flex: 1;
}
.prompt-card__name[data-v-12dff713] {
  font-size: 15px;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.85);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.4;
}
.prompt-card__code[data-v-12dff713] {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.45);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
}
.prompt-card__header-right[data-v-12dff713] {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.prompt-card__status-tag[data-v-12dff713] {
  border-radius: 6px;
  font-size: 11px;
  padding: 0 8px;
  line-height: 22px;
  border: none;
  font-weight: 500;
}
.prompt-card__more-btn[data-v-12dff713] {
  color: rgba(0, 0, 0, 0.3);
  width: 28px;
  height: 28px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
}
.prompt-card__more-btn[data-v-12dff713]:hover {
  color: rgba(0, 0, 0, 0.75);
  background: rgba(0, 0, 0, 0.04);
}
/* 描述 */
.prompt-card__desc[data-v-12dff713] {
  padding: 8px 20px 0;
  font-size: 13px;
  color: rgba(0, 0, 0, 0.45);
  line-height: 1.5;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
/* 标签区域 */
.prompt-card__tags[data-v-12dff713] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 12px 20px 0;
}
.prompt-card__tag[data-v-12dff713] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  font-weight: 500;
  padding: 3px 10px;
  border-radius: 6px;
  line-height: 1.4;
  white-space: nowrap;
  transition: all 0.2s ease;
}
.prompt-card__tag[data-v-12dff713] .anticon {
  font-size: 12px;
}
.prompt-card__tag--category[data-v-12dff713] {
  color: #1677ff;
  background: #e6f4ff;
}
.prompt-card__tag--model[data-v-12dff713] {
  color: #722ed1;
  background: #f9f0ff;
}
.prompt-card__tag--usage[data-v-12dff713] {
  color: #52c41a;
  background: #f6ffed;
}
.prompt-card__tag--version[data-v-12dff713] {
  color: #fa8c16;
  background: #fff7e6;
}
/* 快捷操作栏 */
.prompt-card__actions[data-v-12dff713] {
  display: flex;
  gap: 0;
  padding: 12px 20px 0;
  margin: 12px -20px 0;
  border-top: 1px solid #f0f0f0;
  background: #fafafa;
}
.prompt-card__action-btn[data-v-12dff713] {
  flex: 1;
  height: auto;
  padding: 10px 4px;
  font-size: 12px;
  font-weight: 500;
  color: #595959;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  border-radius: 0;
  transition: all 0.2s ease;
  position: relative;
}
.prompt-card__action-btn[data-v-12dff713] .anticon {
  font-size: 15px;
  color: #8c8c8c;
  margin-left: 8px;
  transition: all 0.2s ease;
}
.prompt-card__action-btn[data-v-12dff713]:not(:last-child)::after {
  content: '';
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 20px;
  background: #e8e8e8;
}
.prompt-card__action-btn[data-v-12dff713]:hover {
  color: #1677ff;
  background: #e6f4ff;
}
.prompt-card__action-btn[data-v-12dff713]:hover .anticon {
  color: #1677ff;
  transform: scale(1.15);
}
.prompt-card__action-btn--danger[data-v-12dff713]:hover {
  color: #ff4d4f;
  background: #fff1f0;
}
.prompt-card__action-btn--danger[data-v-12dff713]:hover .anticon {
  color: #ff4d4f;
}
/* 底部 */
.prompt-card__footer[data-v-12dff713] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 11px;
  color: rgba(0, 0, 0, 0.3);
  padding: 10px 20px 14px;
}
.prompt-card__footer-item[data-v-12dff713] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.prompt-card__footer-icon[data-v-12dff713] {
  font-size: 11px;
}
/* ==================== 空状态 ==================== */
.card-empty[data-v-12dff713] {
  padding: 80px 0;
}
/* ==================== 分页 ==================== */
/* ==================== 标签样式 ==================== */
[data-v-12dff713] .ant-tag {
  border-radius: 6px;
  font-weight: 500;
  padding: 2px 12px;
  border: none;
}
/* ==================== 响应式 - 平板 ==================== */
@media (max-width: 1200px) {
.card-grid[data-v-12dff713] {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}
.hero-title[data-v-12dff713] {
    font-size: 24px;
}
.hero-stat[data-v-12dff713] {
    padding: 0 14px;
}
.hero-stat-value[data-v-12dff713] {
    font-size: 22px;
}
}
/* ==================== 响应式 - 手机 ==================== */
@media (max-width: 768px) {
.prompt-management-page[data-v-12dff713] {
    padding: 12px;
}
.hero-content[data-v-12dff713] {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}
.hero-title[data-v-12dff713] {
    font-size: 22px;
}
.hero-desc[data-v-12dff713] {
    font-size: 13px;
    margin-bottom: 20px;
}
.hero-stat[data-v-12dff713] {
    padding: 0 12px;
}
.hero-stat-value[data-v-12dff713] {
    font-size: 20px;
}
.hero-right[data-v-12dff713] {
    flex-direction: row;
    width: 100%;
}
.hero-btn-primary[data-v-12dff713],
  .hero-btn-default[data-v-12dff713] {
    flex: 1;
    justify-content: center;
}
.filter-bar[data-v-12dff713] {
    padding: 12px;
}
.filter-search[data-v-12dff713] {
    max-width: 100%;
}
.filter-dropdowns[data-v-12dff713] {
    grid-template-columns: 1fr;
}
.filter-select[data-v-12dff713] {
    width: 100%;
}
.card-grid[data-v-12dff713] {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 12px 0;
}
.prompt-card__actions[data-v-12dff713] {
    flex-wrap: wrap;
    padding: 10px 32px 4px;
    margin: 10px -20px 0;
}
.prompt-card__action-btn[data-v-12dff713] {
    min-width: calc(50% - 3px);
    flex-direction: row;
    gap: 6px;
    padding: 8px 10px;
    justify-content: flex-start;
    border-radius: 6px;
}
.prompt-card__action-btn[data-v-12dff713]:not(:last-child)::after {
    display: none;
}
.batch-toolbar[data-v-12dff713] {
    margin: 12px;
}
.batch-toolbar-content[data-v-12dff713] {
    flex-direction: column;
    gap: 10px;
}
.batch-actions[data-v-12dff713] {
    flex-wrap: wrap;
    justify-content: center;
}
.card-pagination[data-v-12dff713] .ant-pagination-options {
    display: none;
}
}
/* ==================== 响应式 - 小屏手机 ==================== */
@media (max-width: 575px) {
.hero-title[data-v-12dff713] {
    font-size: 20px;
}
.hero-right[data-v-12dff713] {
    width: 100%;
}
.hero-stats[data-v-12dff713] {
    flex-wrap: wrap;
    gap: 8px;
}
.hero-stat[data-v-12dff713] {
    padding: 0 10px;
}
.hero-stat-divider[data-v-12dff713] {
    display: none;
}
.hero-stat-value[data-v-12dff713] {
    font-size: 18px;
}
.card-grid[data-v-12dff713] {
    gap: 10px;
    padding: 12px 0;
}
.prompt-card__header[data-v-12dff713] {
    padding-left: 16px;
    padding-right: 16px;
    padding-top: 14px;
}
.prompt-card__icon-wrap[data-v-12dff713] {
    width: 40px;
    height: 40px;
    border-radius: 10px;
}
.prompt-card__icon[data-v-12dff713] {
    font-size: 18px;
}
.prompt-card__desc[data-v-12dff713] {
    line-clamp: 1;
}
.prompt-card__tag[data-v-12dff713] {
    font-size: 11px;
    padding: 2px 8px;
}
.prompt-card__action-btn[data-v-12dff713] {
    min-width: calc(50% - 3px);
    font-size: 11px;
    padding: 6px 8px;
}
.hero-btn-primary[data-v-12dff713],
  .hero-btn-default[data-v-12dff713] {
    font-size: 12px;
    padding: 0 16px;
}
.filter-bar[data-v-12dff713] {
    padding: 12px;
}
.filter-search[data-v-12dff713] {
    font-size: 13px;
}
.filter-select[data-v-12dff713] {
    font-size: 13px;
}
.prompt-card__name[data-v-12dff713] {
    font-size: 14px;
}
.prompt-card__code[data-v-12dff713] {
    font-size: 11px;
}
.prompt-card__status-tag[data-v-12dff713] {
    font-size: 10px;
    padding: 0 6px;
    line-height: 20px;
}
.prompt-card__footer[data-v-12dff713] {
    font-size: 10px;
    padding-top: 8px;
    padding-bottom: 12px;
}
.batch-toolbar[data-v-12dff713] {
    padding: 8px 12px;
    margin: 10px 8px;
}
.batch-actions[data-v-12dff713] .ant-btn {
    font-size: 12px;
    padding: 4px 10px;
}
.card-pagination[data-v-12dff713] .ant-pagination-item {
    min-width: 28px;
    height: 28px;
    line-height: 28px;
    font-size: 12px;
}
}
.prompt-edit-page[data-v-17362c97] {
  padding: var(--spacing-4);
  background: var(--color-bg-layout);
  padding-bottom: 80px;
}
.highlights-panel[data-v-17362c97] {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1677ff) 0%, var(--color-hero-gradient-end, #0958d9) 100%) !important;
  border-radius: var(--radius-xl);
  padding: 24px;
  margin-bottom: 16px;
  color: #fff;
  position: relative;
  overflow: hidden;
}
/* 几何图形装饰 */
.highlights-bg-decoration[data-v-17362c97] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-17362c97] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-17362c97] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-17362c97] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-17362c97] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-17362c97] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-17362c97] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-17362c97] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-17362c97] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-17362c97] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-17362c97] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
.highlights-panel .highlights-content[data-v-17362c97] {
  display: flex;
  justify-content: space-between;
}
.highlights-panel .highlights-left h2[data-v-17362c97] {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: white;
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-panel .highlights-meta[data-v-17362c97] {
  margin-top: 8px;
  font-size: 13px;
  opacity: 0.85;
}
.highlights-panel .highlights-right[data-v-17362c97] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-action-btn[data-v-17362c97] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
}
.highlights-action-btn[data-v-17362c97]:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
}
.fixed-actions[data-v-17362c97] {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  background: #fff !important;
  padding: 12px !important;
  padding-bottom: calc(12px + env(safe-area-inset-bottom)) !important;
  border-top: 1px solid #f0f0f0 !important;
  z-index: 100 !important;
  display: flex !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06) !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
}
.fixed-actions .ant-btn[data-v-17362c97] {
  height: 40px;
  font-size: 14px;
  font-weight: 500;
  border-radius: 6px;
}
.form-content[data-v-17362c97] {
  max-width: 1600px;
}
.edit-card[data-v-17362c97] {
  margin-bottom: var(--spacing-3);
  border-radius: 12px;
}
.edit-card[data-v-17362c97] .ant-card-head {
  border-bottom: 1px solid #f0f0f0;
  font-weight: 600;
}
/* 编辑器样式 */
.editor-container[data-v-17362c97] {
  position: relative;
}
.editor-toolbar[data-v-17362c97] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.char-count[data-v-17362c97] {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.45);
}
.prompt-editor[data-v-17362c97] {
  font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
  font-size: 14px;
  line-height: 1.6;
  background: #fafafa;
  border: 1px solid #d9d9d9;
  border-radius: 8px;
  padding: 12px;
  transition: all 0.3s;
}
.prompt-editor[data-v-17362c97]:focus {
  background: #fff;
  border-color: #40a9ff;
  box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
}
/* 变量预览 */
.variable-preview[data-v-17362c97] {
  margin-top: 12px;
  padding: 12px;
  background: #f6ffed;
  border: 1px solid #b7eb8f;
  border-radius: 8px;
}
.variable-preview-title[data-v-17362c97] {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.65);
  margin-bottom: 8px;
}
.variable-tags[data-v-17362c97] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.variable-tag[data-v-17362c97] {
  font-family: 'Monaco', 'Menlo', monospace;
}
/* 预览区域 */
.preview-container[data-v-17362c97] {
  padding: 16px;
  background: #fafafa;
  border-radius: 8px;
}
@media (max-width: 768px) {
.preview-container[data-v-17362c97] {
    padding: 12px;
}
.preview-container .highlights-panel .highlights-bg-decoration[data-v-17362c97] {
    display: none;
}
}
.preview-section[data-v-17362c97] {
  margin-bottom: 16px;
}
.preview-section[data-v-17362c97]:last-child {
  margin-bottom: 0;
}
.preview-section h4[data-v-17362c97] {
  margin: 0 0 8px;
  font-size: 14px;
  color: rgba(0, 0, 0, 0.65);
}
.preview-content[data-v-17362c97] {
  padding: 12px;
  border-radius: 6px;
  font-family: 'Monaco', 'Menlo', monospace;
  font-size: 13px;
  line-height: 1.6;
  white-space: pre-wrap;
  word-wrap: break-word;
  max-height: 200px;
  overflow-y: auto;
}
.preview-content.system[data-v-17362c97] {
  background: #e6f7ff;
  border: 1px solid #91d5ff;
}
.preview-content.user[data-v-17362c97] {
  background: #f6ffed;
  border: 1px solid #b7eb8f;
}
/* 变量表格 */
.variables-header[data-v-17362c97] {
  margin-bottom: 16px;
}
.variables-table[data-v-17362c97] .ant-table-cell {
  padding: 8px !important;
}
/* 配置滑块 */
.slider-with-value[data-v-17362c97] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.config-slider[data-v-17362c97] {
  flex: 1;
}
.config-number[data-v-17362c97] {
  width: 70px;
}
.config-hint[data-v-17362c97] {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.45);
  margin-top: 4px;
}
/* 版本信息 */
.version-info[data-v-17362c97] {
  padding: 8px;
}
.version-current[data-v-17362c97] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.version-label[data-v-17362c97] {
  color: rgba(0, 0, 0, 0.65);
}
/* 统计信息 */
.stats-list[data-v-17362c97] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.stat-item[data-v-17362c97] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid #f0f0f0;
}
.stat-item[data-v-17362c97]:last-child {
  border-bottom: none;
}
.stat-label[data-v-17362c97] {
  color: rgba(0, 0, 0, 0.65);
}
.stat-value[data-v-17362c97] {
  font-weight: 600;
  color: #1890ff;
}
/* 测试弹窗 */
.test-container[data-v-17362c97] {
  padding: 8px;
}
.test-variables h4[data-v-17362c97] {
  margin: 0 0 16px;
  font-size: 14px;
  color: rgba(0, 0, 0, 0.85);
}
.test-actions[data-v-17362c97] {
  display: flex;
  justify-content: center;
  margin: 16px 0;
}
.test-result h4[data-v-17362c97] {
  margin: 0 0 16px;
  font-size: 14px;
  color: rgba(0, 0, 0, 0.85);
}
.result-content[data-v-17362c97] {
  background: #fafafa;
  border-radius: 8px;
  padding: 16px;
}
@media (max-width: 768px) {
.result-content[data-v-17362c97] {
    padding: 12px;
}
.result-content .highlights-panel .highlights-bg-decoration[data-v-17362c97] {
    display: none;
}
}
.result-section[data-v-17362c97] {
  margin-bottom: 16px;
}
.result-section h5[data-v-17362c97] {
  margin: 0 0 8px;
  font-size: 13px;
  color: rgba(0, 0, 0, 0.65);
}
.rendered-prompt[data-v-17362c97] {
  background: #fff;
  border: 1px solid #d9d9d9;
  border-radius: 6px;
  padding: 12px;
  font-family: 'Monaco', 'Menlo', monospace;
  font-size: 13px;
  white-space: pre-wrap;
  word-wrap: break-word;
  max-height: 200px;
  overflow-y: auto;
}
.ai-response[data-v-17362c97] {
  background: #f6ffed;
  border: 1px solid #b7eb8f;
  border-radius: 6px;
  padding: 12px;
  font-size: 14px;
  line-height: 1.6;
  white-space: pre-wrap;
  word-wrap: break-word;
  max-height: 300px;
  overflow-y: auto;
}
.result-meta[data-v-17362c97] {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #e8e8e8;
  font-size: 12px;
  color: rgba(0, 0, 0, 0.45);
}
/* 响应式 */
@media (max-width: 992px) {
.highlights-panel .highlights-content[data-v-17362c97] {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}
}
@media (max-width: 768px) {
.prompt-edit-page[data-v-17362c97] {
    padding: 12px;
}
.prompt-edit-page .highlights-panel .highlights-bg-decoration[data-v-17362c97] {
    display: none;
}
.highlights-panel[data-v-17362c97] {
    padding: 12px 16px;
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-17362c97] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-17362c97] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-17362c97] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-17362c97] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-17362c97] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-17362c97] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-17362c97] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-17362c97] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-17362c97] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-17362c97] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-17362c97] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-panel .highlights-left h2[data-v-17362c97] {
    font-size: 16px;
}
.edit-card[data-v-17362c97] {
    margin-bottom: var(--spacing-3);
}
.fixed-actions .ant-btn[data-v-17362c97] {
    flex: 1;
    height: 36px;
    font-size: 15px;
}
.slider-with-value[data-v-17362c97] {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
}
.config-number[data-v-17362c97] {
    width: 100%;
}
.config-list[data-v-17362c97] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
}
@media (max-width: 575px) {
.prompt-edit-page[data-v-17362c97] {
    padding: 8px;
    padding-bottom: 60px;
}
.highlights-panel[data-v-17362c97] {
    padding: 12px;
    border-radius: 12px;
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-17362c97] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-17362c97] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-17362c97] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-17362c97] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-17362c97] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-17362c97] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-17362c97] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-17362c97] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-17362c97] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-17362c97] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-17362c97] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.fixed-actions .ant-btn[data-v-17362c97] {
    flex: 1;
    height: 36px;
    font-size: 15px;
}
.config-list[data-v-17362c97] {
    grid-template-columns: 1fr;
}
}
/* 移动端卡片样式 */
.mobile-cards .mobile-card[data-v-17362c97] {
  padding: 12px;
  background: #fff;
  border-radius: 8px;
  margin-bottom: 12px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}
.mobile-cards .mobile-card-header[data-v-17362c97] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #f0f0f0;
}
.mobile-cards .mobile-card-title[data-v-17362c97] {
  font-weight: 600;
  font-size: 15px;
  color: #262626;
}
.mobile-cards .mobile-card-content[data-v-17362c97] {
  margin-bottom: 12px;
}
.mobile-cards .mobile-card-item[data-v-17362c97] {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
  font-size: 13px;
}
.mobile-cards .mobile-card-item .label[data-v-17362c97] {
  color: #8c8c8c;
  margin-right: 8px;
  min-width: 70px;
}
.mobile-cards .mobile-card-actions[data-v-17362c97] {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding-top: 8px;
  border-top: 1px solid #f0f0f0;
}
.prompt-detail-page[data-v-6e5d4224] {
  padding: 16px 16px 64px;
  background: var(--color-bg-layout);
}
/* 顶部高亮面板 - 蓝色渐变背景 */
.highlights-panel[data-v-6e5d4224] {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  padding: 24px 32px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  min-height: 120px !important;
  position: relative !important;
  overflow: hidden !important;
}
/* 几何图形装饰 */
.highlights-bg-decoration[data-v-6e5d4224] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-6e5d4224] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-6e5d4224] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-6e5d4224] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-6e5d4224] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-6e5d4224] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-6e5d4224] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-6e5d4224] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-6e5d4224] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-6e5d4224] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-6e5d4224] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
@media (max-width: 768px) {
.highlights-panel[data-v-6e5d4224] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-6e5d4224] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-6e5d4224] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-6e5d4224] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-6e5d4224] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-6e5d4224] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-6e5d4224] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-6e5d4224] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-6e5d4224] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-6e5d4224] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-6e5d4224] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-6e5d4224] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-6e5d4224] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
.highlights-panel[data-v-6e5d4224]::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") !important;
  opacity: 0.3 !important;
}
.highlights-left[data-v-6e5d4224] {
  flex: 1 !important;
  z-index: 1 !important;
}
.highlights-title-row[data-v-6e5d4224] {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 8px !important;
  flex-wrap: wrap !important;
}
.highlights-title[data-v-6e5d4224] {
  color: #fff !important;
  font-size: 24px !important;
  font-weight: 600 !important;
  margin: 0 !important;
  letter-spacing: 0.5px !important;
}
.highlights-code[data-v-6e5d4224] {
  color: rgba(255, 255, 255, 0.85) !important;
  font-size: 14px !important;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace !important;
  margin-bottom: 12px !important;
}
.highlights-meta[data-v-6e5d4224] {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}
.meta-item[data-v-6e5d4224] {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: rgba(255, 255, 255, 0.8) !important;
  font-size: 13px !important;
}
.highlights-right[data-v-6e5d4224] {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  z-index: 1 !important;
  flex-wrap: wrap !important;
}
.action-btn[data-v-6e5d4224] {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
  border-radius: 6px !important;
  font-weight: 500 !important;
  transition: all 0.3s ease !important;
}
.action-btn[data-v-6e5d4224]:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  border-color: rgba(255, 255, 255, 0.5) !important;
  transform: translateY(-1px) !important;
}
.version-tag[data-v-6e5d4224] {
  border-radius: 4px !important;
  font-weight: 500 !important;
}
.status-tag[data-v-6e5d4224],
.category-tag[data-v-6e5d4224] {
  border-radius: 4px !important;
  font-weight: 500 !important;
  color: white !important;
}
/* 详情内容区域 */
.detail-content[data-v-6e5d4224] {
  padding: var(--spacing-4);
}
@media (max-width: 768px) {
.detail-content[data-v-6e5d4224] {
    padding: 12px;
    padding-bottom: 60px;
}
.detail-content .highlights-panel .highlights-bg-decoration[data-v-6e5d4224] {
    display: none;
}
}
/* 信息区块样式 */
.info-section[data-v-6e5d4224] {
  background: var(--color-bg-container) !important;
  border-radius: 12px !important;
  margin-bottom: 12px !important;
  border: 1px solid var(--color-border) !important;
  overflow: hidden !important;
  transition: all 0.3s ease !important;
}
.info-section[data-v-6e5d4224]:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
}
.info-section-header[data-v-6e5d4224] {
  padding: 16px 20px !important;
  border-bottom: 1px solid var(--color-border) !important;
  background: linear-gradient(180deg, var(--color-bg-container) 0%, var(--color-bg-elevated) 100%) !important;
}
@media (max-width: 768px) {
.info-section-header[data-v-6e5d4224] {
    padding: 12px;
}
.info-section-header .highlights-panel .highlights-bg-decoration[data-v-6e5d4224] {
    display: none;
}
}
.info-section-title[data-v-6e5d4224] {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--color-text) !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.info-section-title[data-v-6e5d4224]::before {
  content: '' !important;
  width: 4px !important;
  height: 16px !important;
  background: linear-gradient(180deg, #1890ff 0%, #096dd9 100%) !important;
  border-radius: 2px !important;
}
.info-section-body[data-v-6e5d4224] {
  padding: 20px !important;
}
@media (max-width: 768px) {
.info-section-body[data-v-6e5d4224] {
    padding: 12px;
}
.info-section-body .highlights-panel .highlights-bg-decoration[data-v-6e5d4224] {
    display: none;
}
}
/* Ant Design 组件样式覆盖 */
.info-descriptions[data-v-6e5d4224] .ant-descriptions-item-label {
  font-weight: 600 !important;
  color: var(--color-text-secondary) !important;
  background: var(--color-bg-layout) !important;
  padding: 12px 16px !important;
}
.info-descriptions[data-v-6e5d4224] .ant-descriptions-item-content {
  padding: 12px 16px !important;
  color: var(--color-text) !important;
}
.content-tabs[data-v-6e5d4224] .ant-tabs-tab {
  font-weight: 500 !important;
}
.content-tabs[data-v-6e5d4224] .ant-tabs-tab-active {
  color: #1890ff !important;
}
/* 内容块样式 */
.content-block[data-v-6e5d4224] {
  position: relative !important;
  border-radius: 8px !important;
  padding: 16px !important;
}
@media (max-width: 768px) {
.content-block[data-v-6e5d4224] {
    padding: 12px;
}
.content-block .highlights-panel .highlights-bg-decoration[data-v-6e5d4224] {
    display: none;
}
}
.content-block.system[data-v-6e5d4224] {
  background: #e6f7ff !important;
  border: 1px solid #91d5ff !important;
}
.content-block.user[data-v-6e5d4224] {
  background: #f6ffed !important;
  border: 1px solid #b7eb8f !important;
}
.content-pre[data-v-6e5d4224] {
  margin: 0 !important;
  font-family: 'Monaco', 'Menlo', monospace !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
  white-space: pre-wrap !important;
  word-wrap: break-word !important;
  max-height: 400px !important;
  overflow-y: auto !important;
}
.copy-btn[data-v-6e5d4224] {
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
}
/* 预览区域 */
.preview-section[data-v-6e5d4224] {
  padding: 8px !important;
}
.preview-inputs h4[data-v-6e5d4224],
.preview-output h4[data-v-6e5d4224] {
  margin: 0 0 16px !important;
  font-size: 14px !important;
  color: var(--color-text) !important;
}
.rendered-blocks[data-v-6e5d4224] {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}
.rendered-block[data-v-6e5d4224] {
  border-radius: 8px !important;
  padding: 16px !important;
}
@media (max-width: 768px) {
.rendered-block[data-v-6e5d4224] {
    padding: 12px;
}
.rendered-block .highlights-panel .highlights-bg-decoration[data-v-6e5d4224] {
    display: none;
}
}
.rendered-block.system[data-v-6e5d4224] {
  background: #e6f7ff !important;
  border: 1px solid #91d5ff !important;
}
.rendered-block.user[data-v-6e5d4224] {
  background: #f6ffed !important;
  border: 1px solid #b7eb8f !important;
}
.block-label[data-v-6e5d4224] {
  font-size: 12px !important;
  color: var(--color-text-tertiary) !important;
  margin-bottom: 8px !important;
}
.rendered-block pre[data-v-6e5d4224] {
  margin: 0 !important;
  font-family: 'Monaco', 'Menlo', monospace !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
  white-space: pre-wrap !important;
  word-wrap: break-word !important;
}
/* 配置列表 */
.config-list[data-v-6e5d4224] {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}
.config-item[data-v-6e5d4224] {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 8px 0 !important;
  border-bottom: 1px solid var(--color-border-secondary) !important;
}
.config-item[data-v-6e5d4224]:last-child {
  border-bottom: none !important;
}
.config-label[data-v-6e5d4224] {
  color: var(--color-text-secondary) !important;
}
.config-value[data-v-6e5d4224] {
  font-weight: 500 !important;
  color: var(--color-text) !important;
}
/* 统计概览 */
.stats-overview[data-v-6e5d4224] {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 12px !important;
  margin-bottom: 12px !important;
}
.stat-card[data-v-6e5d4224] {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  background: var(--color-bg-layout) !important;
  border-radius: 8px !important;
}
.stat-icon[data-v-6e5d4224] {
  width: 40px !important;
  height: 40px !important;
  border-radius: 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 20px !important;
}
.stat-icon.blue[data-v-6e5d4224] {
  background: #e6f4ff !important;
  color: #1677ff !important;
}
.stat-icon.green[data-v-6e5d4224] {
  background: #f6ffed !important;
  color: #52c41a !important;
}
.stat-icon.orange[data-v-6e5d4224] {
  background: #fff7e6 !important;
  color: #fa8c16 !important;
}
.stat-icon.purple[data-v-6e5d4224] {
  background: #f9f0ff !important;
  color: #722ed1 !important;
}
.stat-number[data-v-6e5d4224] {
  font-size: 20px !important;
  font-weight: 600 !important;
  color: var(--color-text) !important;
}
.stat-label[data-v-6e5d4224] {
  font-size: 12px !important;
  color: var(--color-text-tertiary) !important;
}
.stats-detail[data-v-6e5d4224] {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}
.detail-item[data-v-6e5d4224] {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}
.detail-label[data-v-6e5d4224] {
  color: var(--color-text-secondary) !important;
}
.detail-value[data-v-6e5d4224] {
  font-weight: 500 !important;
  color: #1677ff !important;
}
/* 时间信息 */
.time-list[data-v-6e5d4224] {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}
.time-item[data-v-6e5d4224] {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}
.time-icon[data-v-6e5d4224] {
  font-size: 16px !important;
  color: var(--color-text-quaternary) !important;
}
.time-info[data-v-6e5d4224] {
  flex: 1 !important;
}
.time-label[data-v-6e5d4224] {
  font-size: 12px !important;
  color: var(--color-text-tertiary) !important;
}
.time-value[data-v-6e5d4224] {
  font-size: 13px !important;
  color: var(--color-text) !important;
}
/* 快速测试 */
.quick-test-section[data-v-6e5d4224] {
  background: linear-gradient(135deg, #f0f5ff 0%, #e6f7ff 100%) !important;
}
.quick-test[data-v-6e5d4224] {
  text-align: center !important;
}
.test-desc[data-v-6e5d4224] {
  color: var(--color-text-secondary) !important;
  margin-bottom: 16px !important;
}
/* 版本管理 */
.version-header[data-v-6e5d4224] {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 12px !important;
}
.selection-hint[data-v-6e5d4224] {
  font-size: 12px !important;
  color: var(--color-text-tertiary) !important;
}
.version-number[data-v-6e5d4224] {
  font-family: 'SFMono-Regular', Consolas, monospace !important;
  font-weight: 500 !important;
}
/* 表格样式覆盖 */
.variables-table[data-v-6e5d4224] .ant-table,
.version-table[data-v-6e5d4224] .ant-table {
  border-radius: 8px !important;
}
.variables-table[data-v-6e5d4224] .ant-table-thead > tr > th,
.version-table[data-v-6e5d4224] .ant-table-thead > tr > th {
  background: var(--color-bg-layout) !important;
  font-weight: 600 !important;
}
/* 版本对比 */
.compare-container[data-v-6e5d4224] {
  padding: 16px !important;
}
@media (max-width: 768px) {
.compare-container[data-v-6e5d4224] {
    padding: 12px;
}
.compare-container .highlights-panel .highlights-bg-decoration[data-v-6e5d4224] {
    display: none;
}
}
.compare-header[data-v-6e5d4224] {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 24px !important;
  padding: 16px !important;
  background: var(--color-bg-layout) !important;
  border-radius: 8px !important;
}
@media (max-width: 768px) {
.compare-header[data-v-6e5d4224] {
    padding: 12px;
}
.compare-header .highlights-panel .highlights-bg-decoration[data-v-6e5d4224] {
    display: none;
}
}
.compare-version[data-v-6e5d4224] {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 4px !important;
}
.version-time[data-v-6e5d4224] {
  font-size: 12px !important;
  color: var(--color-text-tertiary) !important;
}
.compare-divider[data-v-6e5d4224] {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #1677ff !important;
}
.compare-section[data-v-6e5d4224] {
  margin-bottom: 24px !important;
}
.compare-section h4[data-v-6e5d4224] {
  margin: 0 0 12px !important;
  font-size: 14px !important;
  color: var(--color-text) !important;
}
[data-v-6e5d4224] .diff-view {
  display: flex !important;
  gap: 16px !important;
}
[data-v-6e5d4224] .diff-old,[data-v-6e5d4224] .diff-new {
  flex: 1 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
}
[data-v-6e5d4224] .diff-old {
  background: #fff1f0 !important;
  border: 1px solid #ffa39e !important;
}
[data-v-6e5d4224] .diff-new {
  background: #f6ffed !important;
  border: 1px solid #b7eb8f !important;
}
[data-v-6e5d4224] .diff-label {
  padding: 8px 12px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  border-bottom: 1px solid !important;
}
[data-v-6e5d4224] .diff-old .diff-label {
  background: #ffccc7 !important;
  border-color: #ffa39e !important;
  color: #cf1322 !important;
}
[data-v-6e5d4224] .diff-new .diff-label {
  background: #d9f7be !important;
  border-color: #b7eb8f !important;
  color: #389e0d !important;
}
[data-v-6e5d4224] .diff-view pre {
  margin: 0 !important;
  padding: 12px !important;
  font-family: 'Monaco', 'Menlo', monospace !important;
  font-size: 12px !important;
  line-height: 1.6 !important;
  white-space: pre-wrap !important;
  word-wrap: break-word !important;
  max-height: 300px !important;
  overflow-y: auto !important;
}
[data-v-6e5d4224] .diff-same {
  background: var(--color-bg-layout) !important;
  border: 1px solid var(--color-border) !important;
  border-radius: 8px !important;
  padding: 12px !important;
  font-family: 'Monaco', 'Menlo', monospace !important;
  font-size: 12px !important;
  line-height: 1.6 !important;
}
/* 测试弹窗 */
.test-container[data-v-6e5d4224] {
  padding: 8px !important;
}
.test-variables h4[data-v-6e5d4224],
.test-result h4[data-v-6e5d4224] {
  margin: 0 0 16px !important;
  font-size: 14px !important;
  color: var(--color-text) !important;
}
.test-actions[data-v-6e5d4224] {
  display: flex !important;
  justify-content: center !important;
  margin: 16px 0 !important;
}
.result-content[data-v-6e5d4224] {
  background: var(--color-bg-layout) !important;
  border-radius: 8px !important;
  padding: 16px !important;
}
@media (max-width: 768px) {
.result-content[data-v-6e5d4224] {
    padding: 12px;
}
.result-content .highlights-panel .highlights-bg-decoration[data-v-6e5d4224] {
    display: none;
}
}
.result-section[data-v-6e5d4224] {
  margin-bottom: 12px !important;
}
.result-section h5[data-v-6e5d4224] {
  margin: 0 0 8px !important;
  font-size: 13px !important;
  color: var(--color-text-secondary) !important;
}
.rendered-prompt[data-v-6e5d4224] {
  background: var(--color-bg-container) !important;
  border: 1px solid var(--color-border) !important;
  border-radius: 6px !important;
  padding: 12px !important;
  font-family: 'Monaco', 'Menlo', monospace !important;
  font-size: 13px !important;
  white-space: pre-wrap !important;
  word-wrap: break-word !important;
  max-height: 200px !important;
  overflow-y: auto !important;
}
.ai-response[data-v-6e5d4224] {
  background: #f6ffed !important;
  border: 1px solid #b7eb8f !important;
  border-radius: 6px !important;
  padding: 12px !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  white-space: pre-wrap !important;
  word-wrap: break-word !important;
  max-height: 300px !important;
  overflow-y: auto !important;
}
.result-meta[data-v-6e5d4224] {
  margin-top: 12px !important;
  padding-top: 12px !important;
  border-top: 1px solid var(--color-border-secondary) !important;
  font-size: 12px !important;
  color: var(--color-text-tertiary) !important;
}
.default-value[data-v-6e5d4224] {
  color: var(--color-text-quaternary) !important;
  font-style: italic !important;
}
.empty-text[data-v-6e5d4224] {
  color: var(--color-text-quaternary) !important;
}
/* 底部固定操作栏 */
.fixed-actions[data-v-6e5d4224] {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 100 !important;
  background: var(--color-bg-container) !important;
  border-top: 1px solid var(--color-border) !important;
  padding: 12px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.08) !important;
}
.fixed-actions-left[data-v-6e5d4224],
.fixed-actions-right[data-v-6e5d4224] {
  display: flex !important;
  gap: 12px !important;
}
.fixed-btn[data-v-6e5d4224] {
  border-radius: 6px !important;
  font-weight: 500 !important;
  min-width: 100px !important;
}
.fixed-btn.back-btn[data-v-6e5d4224] {
  border: 1px solid var(--color-border) !important;
}
.fixed-btn.edit-btn[data-v-6e5d4224] {
  border: 1px solid #1890ff !important;
  color: #1890ff !important;
}
.fixed-btn.edit-btn[data-v-6e5d4224]:hover {
  background: #e6f7ff !important;
}
.fixed-btn.test-btn[data-v-6e5d4224] {
  background: linear-gradient(135deg, #1890ff 0%, #096dd9 100%) !important;
  border: none !important;
}
.fixed-btn.delete-btn[data-v-6e5d4224] {
  background: #fff1f0 !important;
  border: 1px solid #ff4d4f !important;
  color: #ff4d4f !important;
}
.fixed-btn.delete-btn[data-v-6e5d4224]:hover {
  background: #ffccc7 !important;
}
/* 响应式 */
@media (max-width: 992px) {
.highlights-panel[data-v-6e5d4224] {
    flex-direction: column !important;
    gap: 16px !important;
    padding: 20px !important;
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-6e5d4224] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-6e5d4224] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-6e5d4224] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-6e5d4224] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-6e5d4224] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-6e5d4224] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-6e5d4224] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-6e5d4224] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-6e5d4224] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-6e5d4224] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-6e5d4224] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-right[data-v-6e5d4224] {
    display: none !important;
}
.stats-overview[data-v-6e5d4224] {
    grid-template-columns: 1fr !important;
}
}
@media (max-width: 992px) and (max-width: 768px) {
.highlights-panel[data-v-6e5d4224] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-6e5d4224] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-6e5d4224] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-6e5d4224] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-6e5d4224] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-6e5d4224] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-6e5d4224] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-6e5d4224] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-6e5d4224] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-6e5d4224] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-6e5d4224] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-6e5d4224] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-6e5d4224] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) {
.highlights-panel[data-v-6e5d4224] {
    padding: 16px !important;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-6e5d4224] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-6e5d4224] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-6e5d4224] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-6e5d4224] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-6e5d4224] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-6e5d4224] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-6e5d4224] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-6e5d4224] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-6e5d4224] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-6e5d4224] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-6e5d4224] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-6e5d4224] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-title[data-v-6e5d4224] {
    font-size: 18px !important;
}
.highlights-meta[data-v-6e5d4224] {
    gap: 8px !important;
}
.info-section-header[data-v-6e5d4224] {
    padding: 12px 16px !important;
}
.info-section-body[data-v-6e5d4224] {
    padding: 16px !important;
}
.fixed-actions-left[data-v-6e5d4224],
  .fixed-actions-right[data-v-6e5d4224] {
    width: 100% !important;
    justify-content: center !important;
}
.fixed-btn[data-v-6e5d4224] {
    flex: 1 !important;
    min-width: 0 !important;
}
[data-v-6e5d4224] .diff-view {
    flex-direction: column !important;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-6e5d4224] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-6e5d4224] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-6e5d4224] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-6e5d4224] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-6e5d4224] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-6e5d4224] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-6e5d4224] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-6e5d4224] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-6e5d4224] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-6e5d4224] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-6e5d4224] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-6e5d4224] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-6e5d4224] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.info-section-header[data-v-6e5d4224] {
    padding: 12px;
}
.info-section-header .highlights-panel .highlights-bg-decoration[data-v-6e5d4224] {
    display: none;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.info-section-body[data-v-6e5d4224] {
    padding: 12px;
}
.info-section-body .highlights-panel .highlights-bg-decoration[data-v-6e5d4224] {
    display: none;
}
}
@media (max-width: 575px) {
.highlights-panel[data-v-6e5d4224] {
    padding: 12px !important;
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-6e5d4224] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-6e5d4224] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-6e5d4224] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-6e5d4224] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-6e5d4224] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-6e5d4224] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-6e5d4224] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-6e5d4224] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-6e5d4224] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-6e5d4224] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-6e5d4224] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-title[data-v-6e5d4224] {
    font-size: 16px !important;
}
.highlights-title-row[data-v-6e5d4224] {
    gap: 8px !important;
}
.highlights-right[data-v-6e5d4224] {
    gap: 8px !important;
}
.action-btn[data-v-6e5d4224] {
    padding: 4px 12px !important;
    font-size: 13px !important;
}
.info-section[data-v-6e5d4224] {
    margin-bottom: 12px !important;
    border-radius: 8px !important;
}
.info-section-header[data-v-6e5d4224] {
    padding: 10px 12px !important;
}
.info-section-body[data-v-6e5d4224] {
    padding: 12px !important;
}
.content-block[data-v-6e5d4224] {
    padding: 12px !important;
}
.content-pre[data-v-6e5d4224] {
    font-size: 12px !important;
}
.fixed-btn[data-v-6e5d4224] {
    height: 40px !important;
    font-size: 14px !important;
    border-radius: 8px !important;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.highlights-panel[data-v-6e5d4224] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-6e5d4224] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-6e5d4224] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-6e5d4224] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-6e5d4224] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-6e5d4224] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-6e5d4224] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-6e5d4224] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-6e5d4224] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-6e5d4224] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-6e5d4224] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-6e5d4224] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-6e5d4224] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.info-section-header[data-v-6e5d4224] {
    padding: 12px;
}
.info-section-header .highlights-panel .highlights-bg-decoration[data-v-6e5d4224] {
    display: none;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.info-section-body[data-v-6e5d4224] {
    padding: 12px;
}
.info-section-body .highlights-panel .highlights-bg-decoration[data-v-6e5d4224] {
    display: none;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.content-block[data-v-6e5d4224] {
    padding: 12px;
}
.content-block .highlights-panel .highlights-bg-decoration[data-v-6e5d4224] {
    display: none;
}
}
/* 移动端卡片样式 */
.mobile-cards .mobile-card[data-v-6e5d4224] {
  padding: 12px;
  background: #fff;
  border-radius: 8px;
  margin-bottom: 12px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}
.mobile-cards .mobile-card-header[data-v-6e5d4224] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #f0f0f0;
}
.mobile-cards .mobile-card-title[data-v-6e5d4224] {
  font-weight: 600;
  font-size: 15px;
  color: #262626;
}
.mobile-cards .mobile-card-content[data-v-6e5d4224] {
  margin-bottom: 12px;
}
.mobile-cards .mobile-card-item[data-v-6e5d4224] {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
  font-size: 13px;
}
.mobile-cards .mobile-card-item .label[data-v-6e5d4224] {
  color: #8c8c8c;
  margin-right: 8px;
  min-width: 70px;
}
.mobile-cards .mobile-card-actions[data-v-6e5d4224] {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding-top: 8px;
  border-top: 1px solid #f0f0f0;
}
/* ==================== 页面容器 ==================== */
.knowledge-base-page[data-v-dcf3efeb] {
  padding: var(--spacing-4);
  min-height: 100%;
  background: var(--color-bg-layout);
}
/* ==================== Hero Section ==================== */
.hero-bg-decoration[data-v-dcf3efeb] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-dcf3efeb] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-dcf3efeb] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-dcf3efeb] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-dcf3efeb] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-dcf3efeb] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-dcf3efeb] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-dcf3efeb] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-dcf3efeb] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-dcf3efeb] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-dcf3efeb] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-dcf3efeb] {
  flex: 1;
}
.hero-title[data-v-dcf3efeb] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-dcf3efeb] {
  margin: 0 0 16px;
  font-size: 14px;
  opacity: 0.85;
  max-width: 600px;
}
.hero-stats[data-v-dcf3efeb] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.hero-stat[data-v-dcf3efeb] {
  display: flex;
  flex-direction: column;
}
.hero-stat-value[data-v-dcf3efeb] {
  font-size: 22px;
  font-weight: 700;
}
.hero-stat-label[data-v-dcf3efeb] {
  font-size: 12px;
  opacity: 0.7;
}
.hero-stat-divider[data-v-dcf3efeb] {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.25);
}
.hero-right[data-v-dcf3efeb] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
/* ==================== 筛选栏 ==================== */
.filter-bar[data-v-dcf3efeb] {
  background: #fff;
  padding: 12px;
  border-radius: 0 0 12px 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  position: relative;
  z-index: 2;
}
.filter-bar-inner[data-v-dcf3efeb] {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: 1600px;
  margin: 0 auto;
}
.filter-search-row[data-v-dcf3efeb] {
  display: flex;
  gap: 8px;
  align-items: center;
}
.filter-search[data-v-dcf3efeb] {
  flex: 1;
  max-width: 320px;
}
.filter-toggle-btn[data-v-dcf3efeb] {
  flex-shrink: 0;
}
.filter-dropdowns[data-v-dcf3efeb] {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  margin-top: 12px;
}
.filter-actions[data-v-dcf3efeb] {
  grid-column: 1 / -1;
  display: flex;
  gap: 8px;
}
.filter-select[data-v-dcf3efeb] {
  min-width: 140px;
}
/* ==================== 批量操作工具栏 ==================== */
.batch-toolbar[data-v-dcf3efeb] {
  background: linear-gradient(135deg, rgba(24, 144, 255, 0.06) 0%, rgba(24, 144, 255, 0.1) 100%);
  border: 1px solid rgba(24, 144, 255, 0.2);
  border-radius: 10px;
  margin: 16px 24px;
  padding: 10px 20px;
  position: relative;
  z-index: 1;
  backdrop-filter: blur(10px);
}
.batch-toolbar[data-v-dcf3efeb]:hover {
  box-shadow: 0 2px 12px rgba(24, 144, 255, 0.1);
}
.batch-toolbar-content[data-v-dcf3efeb] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.selection-info[data-v-dcf3efeb] {
  display: flex;
  align-items: center;
}
.batch-actions[data-v-dcf3efeb] {
  display: flex;
  gap: 8px;
}
.batch-actions .ant-btn[data-v-dcf3efeb] {
  border-radius: 6px;
  display: flex;
  align-items: center;
  gap: 6px;
}
/* ==================== 卡片网格 ==================== */
.card-grid[data-v-dcf3efeb] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  padding: 12px 0;
  margin: 0 auto;
}
@media (max-width: 768px) {
.card-grid[data-v-dcf3efeb] {
    padding: 12px;
}
}
/* ==================== 单张卡片 ==================== */
.knowledge-card[data-v-dcf3efeb] {
  position: relative;
  background: #fff;
  border-radius: 14px;
  border: 1px solid #ebeef5;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  padding: 0;
  cursor: pointer;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.knowledge-card[data-v-dcf3efeb]:hover {
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(24, 144, 255, 0.15);
  border-color: transparent;
  transform: translateY(-4px);
}
.knowledge-card[data-v-dcf3efeb]:active {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}
.knowledge-card--selected[data-v-dcf3efeb] {
  border-color: #1890ff;
  box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.15);
}
/* 选中复选框 */
.knowledge-card__checkbox[data-v-dcf3efeb] {
  position: absolute;
  top: 14px;
  left: 14px;
  opacity: 0;
  transition: opacity 0.2s ease;
  z-index: 3;
}
.knowledge-card:hover .knowledge-card__checkbox[data-v-dcf3efeb],
.knowledge-card--selected .knowledge-card__checkbox[data-v-dcf3efeb] {
  opacity: 1;
}
/* 顶部装饰条 */
.knowledge-card__accent[data-v-dcf3efeb] {
  height: 4px;
  width: 100%;
  flex-shrink: 0;
}
/* 卡片头部 */
.knowledge-card__header[data-v-dcf3efeb] {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 20px 0;
}
.knowledge-card__icon-wrap[data-v-dcf3efeb] {
  width: 46px;
  height: 46px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15);
}
.knowledge-card__icon[data-v-dcf3efeb] {
  color: #fff;
  font-size: 22px;
}
.knowledge-card__title-group[data-v-dcf3efeb] {
  min-width: 0;
  flex: 1;
}
.knowledge-card__name[data-v-dcf3efeb] {
  font-size: 15px;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.85);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.4;
}
.knowledge-card__model[data-v-dcf3efeb] {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.45);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
}
.knowledge-card__header-right[data-v-dcf3efeb] {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.knowledge-card__status-tag[data-v-dcf3efeb] {
  border-radius: 6px;
  font-size: 11px;
  padding: 0 8px;
  line-height: 22px;
  border: none;
  font-weight: 500;
}
.knowledge-card__more-btn[data-v-dcf3efeb] {
  color: rgba(0, 0, 0, 0.3);
  width: 28px;
  height: 28px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
}
.knowledge-card__more-btn[data-v-dcf3efeb]:hover {
  color: rgba(0, 0, 0, 0.75);
  background: rgba(0, 0, 0, 0.04);
}
/* 描述 */
.knowledge-card__desc[data-v-dcf3efeb] {
  padding: 8px 20px 0;
  font-size: 13px;
  color: rgba(0, 0, 0, 0.45);
  line-height: 1.5;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
/* 统计信息 */
.knowledge-card__stats[data-v-dcf3efeb] {
  display: flex;
  gap: 16px;
  padding: 12px 20px 0;
}
.knowledge-card__stat[data-v-dcf3efeb] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: rgba(0, 0, 0, 0.65);
}
.knowledge-card__stat[data-v-dcf3efeb] .anticon {
  font-size: 14px;
  color: rgba(0, 0, 0, 0.45);
}
/* 快捷操作栏 */
.knowledge-card__actions[data-v-dcf3efeb] {
  display: flex;
  gap: 0;
  padding: 12px 20px 0;
  margin: 12px -20px 0;
  border-top: 1px solid #f0f0f0;
  background: #fafafa;
}
.knowledge-card__action-btn[data-v-dcf3efeb] {
  flex: 1;
  height: auto;
  padding: 10px 4px;
  font-size: 12px;
  font-weight: 500;
  color: #595959;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  border-radius: 0;
  transition: all 0.2s ease;
  position: relative;
}
.knowledge-card__action-btn[data-v-dcf3efeb] .anticon {
  font-size: 15px;
  color: #8c8c8c;
  margin-left: 8px;
  transition: all 0.2s ease;
}
.knowledge-card__action-btn[data-v-dcf3efeb]:not(:last-child)::after {
  content: '';
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 20px;
  background: #e8e8e8;
}
.knowledge-card__action-btn[data-v-dcf3efeb]:hover {
  color: #1677ff;
  background: #e6f4ff;
}
.knowledge-card__action-btn[data-v-dcf3efeb]:hover .anticon {
  color: #1677ff;
  transform: scale(1.15);
}
.knowledge-card__action-btn--danger[data-v-dcf3efeb]:hover {
  color: #ff4d4f;
  background: #fff1f0;
}
.knowledge-card__action-btn--danger[data-v-dcf3efeb]:hover .anticon {
  color: #ff4d4f;
}
/* 底部 */
.knowledge-card__footer[data-v-dcf3efeb] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 11px;
  color: rgba(0, 0, 0, 0.3);
  padding: 10px 20px 14px;
}
.knowledge-card__footer-item[data-v-dcf3efeb] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.knowledge-card__footer-icon[data-v-dcf3efeb] {
  font-size: 11px;
}
/* ==================== 空状态 ==================== */
.card-empty[data-v-dcf3efeb] {
  padding: 80px 0;
}
/* ==================== 分页 ==================== */
/* ==================== 标签样式 ==================== */
[data-v-dcf3efeb] .ant-tag {
  border-radius: 6px;
  font-weight: 500;
  padding: 2px 12px;
  border: none;
}
/* ==================== 响应式 - 平板 ==================== */
@media (max-width: 1200px) {
.card-grid[data-v-dcf3efeb] {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}
.hero-title[data-v-dcf3efeb] {
    font-size: 24px;
}
.hero-stat[data-v-dcf3efeb] {
    padding: 0 14px;
}
.hero-stat-value[data-v-dcf3efeb] {
    font-size: 22px;
}
}
@media (max-width: 1200px) and (max-width: 768px) {
.card-grid[data-v-dcf3efeb] {
    padding: 12px;
}
}
/* ==================== 响应式 - 手机 ==================== */
@media (max-width: 768px) {
.knowledge-base-page[data-v-dcf3efeb] {
    padding: 12px;
}
.hero-content[data-v-dcf3efeb] {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}
.hero-title[data-v-dcf3efeb] {
    font-size: 22px;
}
.hero-desc[data-v-dcf3efeb] {
    font-size: 13px;
    margin-bottom: 20px;
}
.hero-stat[data-v-dcf3efeb] {
    padding: 0 12px;
}
.hero-stat-value[data-v-dcf3efeb] {
    font-size: 20px;
}
.hero-right[data-v-dcf3efeb] {
    flex-direction: row;
    width: 100%;
}
.hero-btn-primary[data-v-dcf3efeb],
  .hero-btn-default[data-v-dcf3efeb] {
    flex: 1;
    justify-content: center;
}
.filter-bar[data-v-dcf3efeb] {
    padding: 12px;
}
.filter-search[data-v-dcf3efeb] {
    max-width: 100%;
}
.filter-dropdowns[data-v-dcf3efeb] {
    grid-template-columns: 1fr;
}
.filter-select[data-v-dcf3efeb] {
    width: 100%;
}
.card-grid[data-v-dcf3efeb] {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 16px 12px;
}
.knowledge-card__actions[data-v-dcf3efeb] {
    flex-wrap: wrap;
    padding: 10px 32px 4px;
    margin: 10px -20px 0;
}
.knowledge-card__action-btn[data-v-dcf3efeb] {
    min-width: calc(33.33% - 3px);
    flex-direction: row;
    gap: 6px;
    padding: 8px 10px;
    justify-content: flex-start;
    border-radius: 6px;
}
.knowledge-card__action-btn[data-v-dcf3efeb]:not(:last-child)::after {
    display: none;
}
.batch-toolbar[data-v-dcf3efeb] {
    margin: 12px;
}
.batch-toolbar-content[data-v-dcf3efeb] {
    flex-direction: column;
    gap: 10px;
}
.batch-actions[data-v-dcf3efeb] {
    flex-wrap: wrap;
    justify-content: center;
}
.card-pagination[data-v-dcf3efeb] .ant-pagination-options {
    display: none;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.card-grid[data-v-dcf3efeb] {
    padding: 12px;
}
}
/* ==================== 响应式 - 小屏手机 ==================== */
@media (max-width: 575px) {
.hero-title[data-v-dcf3efeb] {
    font-size: 20px;
}
.hero-right[data-v-dcf3efeb] {
    width: 100%;
}
.hero-stats[data-v-dcf3efeb] {
    flex-wrap: wrap;
    gap: 8px;
}
.hero-stat[data-v-dcf3efeb] {
    padding: 0 10px;
}
.hero-stat-divider[data-v-dcf3efeb] {
    display: none;
}
.hero-stat-value[data-v-dcf3efeb] {
    font-size: 18px;
}
.card-grid[data-v-dcf3efeb] {
    gap: 10px;
    padding: 12px 10px;
}
.knowledge-card__header[data-v-dcf3efeb] {
    padding-left: 16px;
    padding-right: 16px;
    padding-top: 14px;
}
.knowledge-card__icon-wrap[data-v-dcf3efeb] {
    width: 40px;
    height: 40px;
    border-radius: 10px;
}
.knowledge-card__icon[data-v-dcf3efeb] {
    font-size: 18px;
}
.knowledge-card__desc[data-v-dcf3efeb] {
    line-clamp: 1;
}
.knowledge-card__stats[data-v-dcf3efeb] {
    gap: 12px;
}
.knowledge-card__stat[data-v-dcf3efeb] {
    font-size: 11px;
}
.knowledge-card__action-btn[data-v-dcf3efeb] {
    min-width: calc(50% - 3px);
    font-size: 11px;
    padding: 6px 8px;
}
.hero-btn-primary[data-v-dcf3efeb],
  .hero-btn-default[data-v-dcf3efeb] {
    font-size: 12px;
    padding: 0 16px;
}
.filter-bar[data-v-dcf3efeb] {
    padding: 12px;
}
.filter-search[data-v-dcf3efeb] {
    font-size: 13px;
}
.filter-select[data-v-dcf3efeb] {
    font-size: 13px;
}
.knowledge-card__name[data-v-dcf3efeb] {
    font-size: 14px;
}
.knowledge-card__model[data-v-dcf3efeb] {
    font-size: 11px;
}
.knowledge-card__status-tag[data-v-dcf3efeb] {
    font-size: 10px;
    padding: 0 6px;
    line-height: 20px;
}
.knowledge-card__footer[data-v-dcf3efeb] {
    font-size: 10px;
    padding-top: 8px;
    padding-bottom: 12px;
}
.batch-toolbar[data-v-dcf3efeb] {
    padding: 8px 12px;
    margin: 10px 8px;
}
.batch-actions[data-v-dcf3efeb] .ant-btn {
    font-size: 12px;
    padding: 4px 10px;
}
.card-pagination[data-v-dcf3efeb] .ant-pagination-item {
    min-width: 28px;
    height: 28px;
    line-height: 28px;
    font-size: 12px;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.card-grid[data-v-dcf3efeb] {
    padding: 12px;
}
}
.knowledge-edit-page[data-v-acaff592] {
  padding: var(--spacing-4);
  padding-bottom: 80px;
  background: var(--color-bg-layout);
}
/* 页面头部 - highlights-panel */
.highlights-panel[data-v-acaff592] {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  border-radius: var(--radius-xl);
  padding: 24px 32px;
  color: white;
  margin-bottom: var(--spacing-4);
  position: relative;
  overflow: hidden;
}
/* 几何图形装饰 */
.highlights-bg-decoration[data-v-acaff592] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-acaff592] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-acaff592] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-acaff592] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-acaff592] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-acaff592] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-acaff592] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-acaff592] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-acaff592] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-acaff592] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-acaff592] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
@media (max-width: 768px) {
.highlights-panel[data-v-acaff592] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-acaff592] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-acaff592] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-acaff592] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-acaff592] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-acaff592] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-acaff592] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-acaff592] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-acaff592] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-acaff592] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-acaff592] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) {
.highlights-panel[data-v-acaff592] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-acaff592] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-acaff592] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-acaff592] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-acaff592] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-acaff592] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-acaff592] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-acaff592] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-acaff592] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-acaff592] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-acaff592] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-acaff592] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-acaff592] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-acaff592] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-acaff592] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-acaff592] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-acaff592] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-acaff592] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-acaff592] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-acaff592] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-acaff592] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-acaff592] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
.highlights-content[data-v-acaff592] {
  display: flex;
  justify-content: space-between;
}
.highlights-left h2[data-v-acaff592] {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: white;
}
.highlights-meta[data-v-acaff592] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  font-size: 13px;
  opacity: 0.85;
}
.highlights-right[data-v-acaff592] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff;
  padding: 12px 24px;
  padding-bottom: calc(12px + env(safe-area-inset-bottom));
  border-top: 1px solid #f0f0f0;
  z-index: 100;
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06);
  max-width: 1400px;
  margin: 0 auto;
}
.highlights-right .ant-btn[data-v-acaff592] {
  height: 40px;
  font-size: 14px;
  font-weight: 500;
  border-radius: 6px;
}
/* 固定底部时的返回按钮样式 - 深色文字 */
.highlights-right .highlights-back-btn[data-v-acaff592] {
  background: #f5f5f5;
  border: 1px solid #d9d9d9;
  color: #262626;
}
.highlights-right .highlights-back-btn[data-v-acaff592]:hover {
  background: #e8e8e8;
  color: #262626;
  border-color: #bfbfbf;
}
.highlights-back-btn[data-v-acaff592] {
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: white;
}
.highlights-back-btn[data-v-acaff592]:hover {
  background: rgba(255, 255, 255, 0.25);
  color: white;
  border-color: rgba(255, 255, 255, 0.5);
}
.highlights-back-btn[data-v-acaff592] {
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: white;
}
.highlights-back-btn[data-v-acaff592]:hover {
  background: rgba(255, 255, 255, 0.25);
  color: white;
  border-color: rgba(255, 255, 255, 0.5);
}
/* 表单容器 */
.form-container[data-v-acaff592] {
  background: #fff;
  border-radius: 12px;
  padding: 0 24px 24px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}
@media (max-width: 768px) {
.form-container[data-v-acaff592] {
    padding: 12px;
}
.form-container .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
}
.knowledge-form[data-v-acaff592] {
  max-width: 1400px;
}
/* 表单区块 */
.form-section[data-v-acaff592] {
  margin-bottom: 24px;
  border: 1px solid #f0f0f0;
  border-radius: 10px;
  overflow: hidden;
}
.form-section[data-v-acaff592]:last-child {
  margin-bottom: 0;
}
.section-header[data-v-acaff592] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 20px;
  background: #fafafa;
  border-bottom: 1px solid #f0f0f0;
}
.section-icon[data-v-acaff592] {
  font-size: 18px;
  color: #1677ff;
}
.section-title[data-v-acaff592] {
  font-size: 15px;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.85);
}
.section-help[data-v-acaff592] {
  margin-left: auto;
  color: rgba(0, 0, 0, 0.45);
  cursor: help;
  font-size: 16px;
}
.section-content[data-v-acaff592] {
  padding: 20px;
}
@media (max-width: 768px) {
.section-content[data-v-acaff592] {
    padding: 12px;
}
.section-content .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
}
@media (max-width: 768px) {
.section-content[data-v-acaff592] {
    padding: 12px;
}
.section-content .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.section-content[data-v-acaff592] {
    padding: 12px;
}
.section-content .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
}
@media (max-width: 768px) {
.section-content[data-v-acaff592] {
    padding: 12px;
}
.section-content .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.section-content[data-v-acaff592] {
    padding: 12px;
}
.section-content .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.section-content[data-v-acaff592] {
    padding: 12px;
}
.section-content .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
}
@media (max-width: 768px) and (max-width: 768px) and (max-width: 768px) {
.section-content[data-v-acaff592] {
    padding: 12px;
}
.section-content .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
}
/* Slider值显示 */
.slider-value[data-v-acaff592] {
  text-align: center;
  font-size: 12px;
  color: rgba(0, 0, 0, 0.45);
  margin-top: 4px;
}
/* 配置预览 */
.config-preview .section-content[data-v-acaff592] {
  padding: 16px 20px;
}
@media (max-width: 768px) {
.section-content[data-v-acaff592] {
    padding: 12px;
}
.section-content .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
}
@media (max-width: 768px) {
.section-content[data-v-acaff592] {
    padding: 12px;
}
.section-content .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.section-content[data-v-acaff592] {
    padding: 12px;
}
.section-content .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
}
@media (max-width: 768px) {
.section-content[data-v-acaff592] {
    padding: 12px;
}
.section-content .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.section-content[data-v-acaff592] {
    padding: 12px;
}
.section-content .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.section-content[data-v-acaff592] {
    padding: 12px;
}
.section-content .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
}
@media (max-width: 768px) and (max-width: 768px) and (max-width: 768px) {
.section-content[data-v-acaff592] {
    padding: 12px;
}
.section-content .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
}
.preview-item[data-v-acaff592] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid #f0f0f0;
}
.preview-item[data-v-acaff592]:last-child {
  border-bottom: none;
}
.preview-label[data-v-acaff592] {
  font-size: 13px;
  color: rgba(0, 0, 0, 0.65);
}
.preview-value[data-v-acaff592] {
  font-size: 13px;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.85);
}
/* 帮助区域 */
.help-section .section-content[data-v-acaff592] {
  padding: 16px 20px;
}
@media (max-width: 768px) {
.section-content[data-v-acaff592] {
    padding: 12px;
}
.section-content .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
}
@media (max-width: 768px) {
.section-content[data-v-acaff592] {
    padding: 12px;
}
.section-content .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.section-content[data-v-acaff592] {
    padding: 12px;
}
.section-content .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
}
@media (max-width: 768px) {
.section-content[data-v-acaff592] {
    padding: 12px;
}
.section-content .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.section-content[data-v-acaff592] {
    padding: 12px;
}
.section-content .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.section-content[data-v-acaff592] {
    padding: 12px;
}
.section-content .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
}
@media (max-width: 768px) and (max-width: 768px) and (max-width: 768px) {
.section-content[data-v-acaff592] {
    padding: 12px;
}
.section-content .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
}
.help-item[data-v-acaff592] {
  margin-bottom: 16px;
}
.help-item[data-v-acaff592]:last-child {
  margin-bottom: 0;
}
.help-item h4[data-v-acaff592] {
  margin: 0 0 6px;
  font-size: 13px;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.75);
}
.help-item p[data-v-acaff592] {
  margin: 0;
  font-size: 12px;
  color: rgba(0, 0, 0, 0.45);
  line-height: 1.6;
}
/* 响应式 */
@media (max-width: 992px) {
.form-container[data-v-acaff592] {
    padding: 16px;
}
.section-content[data-v-acaff592] {
    padding: 16px;
}
}
@media (max-width: 992px) and (max-width: 768px) {
.form-container[data-v-acaff592] {
    padding: 12px;
}
.form-container .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
}
@media (max-width: 992px) and (max-width: 768px) {
.section-content[data-v-acaff592] {
    padding: 12px;
}
.section-content .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
}
@media (max-width: 992px) and (max-width: 768px) {
.section-content[data-v-acaff592] {
    padding: 12px;
}
.section-content .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
}
@media (max-width: 992px) and (max-width: 768px) and (max-width: 768px) {
.section-content[data-v-acaff592] {
    padding: 12px;
}
.section-content .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
}
@media (max-width: 992px) and (max-width: 768px) {
.section-content[data-v-acaff592] {
    padding: 12px;
}
.section-content .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
}
@media (max-width: 992px) and (max-width: 768px) and (max-width: 768px) {
.section-content[data-v-acaff592] {
    padding: 12px;
}
.section-content .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
}
@media (max-width: 992px) and (max-width: 768px) and (max-width: 768px) {
.section-content[data-v-acaff592] {
    padding: 12px;
}
.section-content .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
}
@media (max-width: 992px) and (max-width: 768px) and (max-width: 768px) and (max-width: 768px) {
.section-content[data-v-acaff592] {
    padding: 12px;
}
.section-content .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
}
@media (max-width: 768px) {
.knowledge-edit-page[data-v-acaff592] {
    padding: 12px;
    padding-bottom: 80px;
}
.knowledge-edit-page .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
.highlights-panel[data-v-acaff592] {
    padding: 16px;
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-acaff592] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-acaff592] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-acaff592] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-acaff592] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-acaff592] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-acaff592] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-acaff592] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-acaff592] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-acaff592] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-acaff592] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-acaff592] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-content[data-v-acaff592] {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}
.highlights-left h2[data-v-acaff592] {
    font-size: 18px;
}
.highlights-right .ant-btn[data-v-acaff592] {
    flex: 1;
    height: 36px;
    font-size: 15px;
}
.form-container[data-v-acaff592] {
    padding: 12px;
}
.section-header[data-v-acaff592] {
    padding: 12px 16px;
}
.section-content[data-v-acaff592] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-acaff592] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-acaff592] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-acaff592] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-acaff592] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-acaff592] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-acaff592] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-acaff592] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-acaff592] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-acaff592] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-acaff592] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-acaff592] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-acaff592] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-acaff592] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-acaff592] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-acaff592] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-acaff592] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-acaff592] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-acaff592] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-acaff592] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-acaff592] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-acaff592] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-acaff592] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-acaff592] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-acaff592] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-acaff592] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-acaff592] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-acaff592] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-acaff592] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-acaff592] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-acaff592] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-acaff592] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-acaff592] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-acaff592] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.form-container[data-v-acaff592] {
    padding: 12px;
}
.form-container .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.section-content[data-v-acaff592] {
    padding: 12px;
}
.section-content .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.section-content[data-v-acaff592] {
    padding: 12px;
}
.section-content .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
}
@media (max-width: 768px) and (max-width: 768px) and (max-width: 768px) {
.section-content[data-v-acaff592] {
    padding: 12px;
}
.section-content .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.section-content[data-v-acaff592] {
    padding: 12px;
}
.section-content .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
}
@media (max-width: 768px) and (max-width: 768px) and (max-width: 768px) {
.section-content[data-v-acaff592] {
    padding: 12px;
}
.section-content .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
}
@media (max-width: 768px) and (max-width: 768px) and (max-width: 768px) {
.section-content[data-v-acaff592] {
    padding: 12px;
}
.section-content .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
}
@media (max-width: 768px) and (max-width: 768px) and (max-width: 768px) and (max-width: 768px) {
.section-content[data-v-acaff592] {
    padding: 12px;
}
.section-content .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
}
@media (max-width: 575px) {
.highlights-panel[data-v-acaff592] {
    padding: 16px;
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-acaff592] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-acaff592] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-acaff592] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-acaff592] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-acaff592] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-acaff592] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-acaff592] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-acaff592] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-acaff592] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-acaff592] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-acaff592] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-content[data-v-acaff592] {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}
.highlights-left h2[data-v-acaff592] {
    font-size: 18px;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.highlights-panel[data-v-acaff592] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-acaff592] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-acaff592] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-acaff592] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-acaff592] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-acaff592] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-acaff592] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-acaff592] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-acaff592] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-acaff592] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-acaff592] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.highlights-panel[data-v-acaff592] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-acaff592] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-acaff592] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-acaff592] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-acaff592] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-acaff592] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-acaff592] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-acaff592] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-acaff592] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-acaff592] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-acaff592] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 575px) and (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-acaff592] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-acaff592] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-acaff592] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-acaff592] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-acaff592] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-acaff592] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-acaff592] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-acaff592] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-acaff592] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-acaff592] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-acaff592] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-acaff592] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
.knowledge-detail-page[data-v-ddcb1f24] {
  padding: var(--spacing-4);
  min-height: 100%;
  background: var(--color-bg-layout);
  padding-bottom: 80px;
}
/* 页面头部 - highlights-panel */
.highlights-panel[data-v-ddcb1f24] {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  border-radius: var(--radius-xl);
  padding: 24px 32px;
  color: white;
  margin-bottom: var(--spacing-4);
  position: relative;
  overflow: hidden;
}
/* 几何图形装饰 */
.highlights-bg-decoration[data-v-ddcb1f24] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-ddcb1f24] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-ddcb1f24] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-ddcb1f24] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-ddcb1f24] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-ddcb1f24] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-ddcb1f24] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-ddcb1f24] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-ddcb1f24] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-ddcb1f24] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-ddcb1f24] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
@media (max-width: 768px) {
.highlights-panel[data-v-ddcb1f24] {
    padding: 12px;
}
.highlights-bg-decoration[data-v-ddcb1f24] {
    display: none;
}
}
.highlights-content[data-v-ddcb1f24] {
  display: flex;
  justify-content: space-between;
}
.highlights-left h2[data-v-ddcb1f24] {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: white;
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-meta[data-v-ddcb1f24] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  font-size: 13px;
  opacity: 0.85;
}
.highlights-tag[data-v-ddcb1f24] {
  background: rgba(255, 255, 255, 0.2);
  border: none;
  color: white;
  font-size: 12px;
  padding: 2px 10px;
}
.highlights-right[data-v-ddcb1f24] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-back-btn[data-v-ddcb1f24] {
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: white;
}
.highlights-back-btn[data-v-ddcb1f24]:hover {
  background: rgba(255, 255, 255, 0.25);
  color: white;
  border-color: rgba(255, 255, 255, 0.5);
}
/* 统计卡片 */
.stats-row[data-v-ddcb1f24] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 12px;
}
.stat-card[data-v-ddcb1f24] {
  background: #fff;
  border-radius: 12px;
  padding: 20px;
  display: flex;
  align-items: center;
  gap: 16px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}
@media (max-width: 768px) {
.stat-card[data-v-ddcb1f24] {
    padding: 12px;
}
.stat-card .highlights-panel .highlights-bg-decoration[data-v-ddcb1f24] {
    display: none;
}
}
.stat-icon[data-v-ddcb1f24] {
  width: 52px;
  height: 52px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 24px;
}
.stat-content[data-v-ddcb1f24] {
  flex: 1;
}
.stat-value[data-v-ddcb1f24] {
  font-size: 24px;
  font-weight: 700;
  color: rgba(0, 0, 0, 0.85);
  line-height: 1.2;
}
.stat-label[data-v-ddcb1f24] {
  font-size: 13px;
  color: rgba(0, 0, 0, 0.45);
  margin-top: 4px;
}
/* 标签页 */
.detail-tabs[data-v-ddcb1f24] {
  background: #fff;
  border-radius: 12px;
  padding: 0 24px 60px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}
.detail-tabs[data-v-ddcb1f24] .ant-tabs-nav {
  margin-bottom: 4px;
}
.tab-content[data-v-ddcb1f24] {
  padding: 8px 0;
}
/* 信息区块 */
.info-section[data-v-ddcb1f24] {
  margin-bottom: 24px;
  border: 1px solid var(--color-border-secondary);
  border-radius: 10px;
  overflow: hidden;
}
.section-header[data-v-ddcb1f24] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 20px;
  background: var(--color-fill-quaternary);
  border-bottom: 1px solid var(--color-border-secondary);
  font-weight: 600;
  color: var(--color-text-primary);
}
.section-body[data-v-ddcb1f24] {
  padding: 16px 20px;
}
@media (max-width: 768px) {
.section-body[data-v-ddcb1f24] {
    padding: 12px;
}
.section-body .highlights-panel .highlights-bg-decoration[data-v-ddcb1f24] {
    display: none;
}
}
.info-item[data-v-ddcb1f24] {
  display: flex;
  padding: 10px 0;
  border-bottom: 1px solid var(--color-border-light, #f5f5f5);
}
.info-item[data-v-ddcb1f24]:last-child {
  border-bottom: none;
}
.info-label[data-v-ddcb1f24] {
  width: 120px;
  flex-shrink: 0;
  color: var(--color-text-secondary);
  font-size: 13px;
}
.info-value[data-v-ddcb1f24] {
  flex: 1;
  min-width: 0;
  color: var(--color-text-primary);
  font-size: 13px;
}
.index-status-text[data-v-ddcb1f24] {
  margin: 12px 0 0;
  font-size: 13px;
  color: rgba(0, 0, 0, 0.45);
  text-align: center;
}
/* 文档列表 */
.documents-header[data-v-ddcb1f24] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}
/* 测试面板 */
.test-panel[data-v-ddcb1f24] {
  border: 1px solid #f0f0f0;
  border-radius: 10px;
  overflow: hidden;
}
.test-header[data-v-ddcb1f24] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 20px;
  background: #fafafa;
  border-bottom: 1px solid #f0f0f0;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.85);
}
.test-body[data-v-ddcb1f24] {
  padding: 20px;
}
.test-results[data-v-ddcb1f24] {
  border: 1px solid #f0f0f0;
  border-radius: 10px;
  overflow: hidden;
  height: 100%;
}
.results-header[data-v-ddcb1f24] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 20px;
  background: #fafafa;
  border-bottom: 1px solid #f0f0f0;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.85);
}
.results-count[data-v-ddcb1f24] {
  color: rgba(0, 0, 0, 0.45);
  font-weight: normal;
}
.results-list[data-v-ddcb1f24] {
  padding: 16px;
  max-height: 600px;
  overflow-y: auto;
}
@media (max-width: 768px) {
.results-list[data-v-ddcb1f24] {
    padding: 12px;
}
.results-list .highlights-panel .highlights-bg-decoration[data-v-ddcb1f24] {
    display: none;
}
}
.result-item[data-v-ddcb1f24] {
  padding: 16px;
  background: #fafafa;
  border-radius: 8px;
  margin-bottom: 12px;
}
@media (max-width: 768px) {
.result-item[data-v-ddcb1f24] {
    padding: 12px;
}
.result-item .highlights-panel .highlights-bg-decoration[data-v-ddcb1f24] {
    display: none;
}
}
.result-item[data-v-ddcb1f24]:last-child {
  margin-bottom: 0;
}
.result-header[data-v-ddcb1f24] {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.result-rank[data-v-ddcb1f24] {
  font-weight: 600;
  color: #1677ff;
}
.result-source[data-v-ddcb1f24] {
  color: rgba(0, 0, 0, 0.45);
  font-size: 12px;
}
.result-content[data-v-ddcb1f24] {
  color: rgba(0, 0, 0, 0.65);
  font-size: 13px;
  line-height: 1.6;
  margin-bottom: 10px;
  display: -webkit-box;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.result-meta[data-v-ddcb1f24] {
  display: flex;
  gap: 16px;
  font-size: 12px;
  color: rgba(0, 0, 0, 0.45);
}
.test-empty[data-v-ddcb1f24] {
  padding: 80px 0;
  border: 1px dashed #d9d9d9;
  border-radius: 10px;
}
/* 日志 */
.logs-container[data-v-ddcb1f24] {
  max-height: 500px;
  overflow-y: auto;
  padding: 16px;
  background: #1e1e1e;
  border-radius: 8px;
}
@media (max-width: 768px) {
.logs-container[data-v-ddcb1f24] {
    padding: 12px;
}
.logs-container .highlights-panel .highlights-bg-decoration[data-v-ddcb1f24] {
    display: none;
}
}
.log-item[data-v-ddcb1f24] {
  display: flex;
  gap: 12px;
  padding: 8px 0;
  font-size: 13px;
  border-bottom: 1px solid #333;
}
.log-item[data-v-ddcb1f24]:last-child {
  border-bottom: none;
}
.log-time[data-v-ddcb1f24] {
  color: #6c757d;
  font-family: monospace;
  min-width: 80px;
}
.log-message[data-v-ddcb1f24] {
  color: #e9ecef;
  flex: 1;
}
/* 文档预览 */
.document-preview[data-v-ddcb1f24] {
  max-height: 600px;
  overflow-y: auto;
}
.preview-info[data-v-ddcb1f24] {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
}
.preview-info-item[data-v-ddcb1f24] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.preview-info-item .label[data-v-ddcb1f24] {
  color: rgba(0, 0, 0, 0.65);
}
.preview-chunks[data-v-ddcb1f24] {
  margin-top: 16px;
}
.preview-chunks h4[data-v-ddcb1f24] {
  margin-bottom: 12px;
  font-weight: 600;
}
.chunk-content[data-v-ddcb1f24] {
  white-space: pre-wrap;
  word-break: break-word;
  font-size: 13px;
  line-height: 1.6;
  color: rgba(0, 0, 0, 0.65);
}
/* 响应式 */
@media (max-width: 1200px) {
.stats-row[data-v-ddcb1f24] {
    grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 768px) {
.knowledge-detail-page[data-v-ddcb1f24] {
    padding: 12px;
}
.knowledge-detail-page .highlights-panel .highlights-bg-decoration[data-v-ddcb1f24] {
    display: none;
}
.highlights-panel[data-v-ddcb1f24] {
    padding: 16px;
    position: relative;
    overflow: hidden;
}
.highlights-content[data-v-ddcb1f24] {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}
.highlights-left h2[data-v-ddcb1f24] {
    font-size: 18px;
}
.highlights-right[data-v-ddcb1f24] {
    width: 100%;
}
.highlights-right .ant-btn[data-v-ddcb1f24] {
    flex: 1;
}
.stats-row[data-v-ddcb1f24] {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}
.stat-card[data-v-ddcb1f24] {
    padding: 16px;
}
.stat-icon[data-v-ddcb1f24] {
    width: 44px;
    height: 44px;
    font-size: 20px;
}
.stat-value[data-v-ddcb1f24] {
    font-size: 20px;
}
.detail-tabs[data-v-ddcb1f24] {
    padding: 0 8px 60px;
}
.documents-header[data-v-ddcb1f24] {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
}
.documents-header .ant-input-search[data-v-ddcb1f24] {
    width: 100% !important;
}
}
@media (max-width: 575px) {
.highlights-panel[data-v-ddcb1f24] {
    padding: 16px;
    position: relative;
    overflow: hidden;
}
.highlights-content[data-v-ddcb1f24] {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}
.highlights-left h2[data-v-ddcb1f24] {
    font-size: 18px;
}
.highlights-right[data-v-ddcb1f24] {
    width: 100%;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}
.highlights-right .ant-btn[data-v-ddcb1f24] {
    height: 36px;
    padding: 0 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    font-size: 13px;
    flex: 1;
    min-width: 80px;
    max-width: 120px;
}
.stats-row[data-v-ddcb1f24] {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
}
.stat-card[data-v-ddcb1f24] {
    padding: 12px;
    gap: 12px;
}
.stat-icon[data-v-ddcb1f24] {
    width: 40px;
    height: 40px;
    font-size: 18px;
}
.stat-value[data-v-ddcb1f24] {
    font-size: 18px;
}
.stat-label[data-v-ddcb1f24] {
    font-size: 11px;
}
.info-item[data-v-ddcb1f24] {
    flex-direction: column;
    gap: 4px;
}
.info-label[data-v-ddcb1f24] {
    width: auto;
}
.result-meta[data-v-ddcb1f24] {
    flex-direction: column;
    gap: 4px;
}
}
/* Fixed Bottom Actions */
.fixed-actions[data-v-ddcb1f24] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 12px;
  background: #fff;
  border-top: 1px solid var(--color-border-secondary);
  display: flex;
  justify-content: flex-end;
  z-index: 100;
}
/* 移动端卡片样式 */
.mobile-cards .mobile-card[data-v-ddcb1f24] {
  padding: 12px;
  background: #fff;
  border-radius: 8px;
  margin-bottom: 12px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}
.mobile-cards .mobile-card-header[data-v-ddcb1f24] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #f0f0f0;
}
.mobile-cards .mobile-card-title[data-v-ddcb1f24] {
  font-weight: 600;
  font-size: 15px;
  color: #262626;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 180px;
}
.mobile-cards .mobile-card-content[data-v-ddcb1f24] {
  margin-bottom: 12px;
}
.mobile-cards .mobile-card-item[data-v-ddcb1f24] {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
  font-size: 13px;
}
.mobile-cards .mobile-card-item .label[data-v-ddcb1f24] {
  color: #8c8c8c;
  margin-right: 8px;
  min-width: 70px;
}
.mobile-cards .mobile-card-actions[data-v-ddcb1f24] {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding-top: 8px;
  border-top: 1px solid #f0f0f0;
}
.knowledge-documents-page[data-v-a030fe43] {
  padding: var(--spacing-4);
  min-height: 100%;
  background: var(--color-bg-layout);
}
/* 页面头部 */
.page-header[data-v-a030fe43] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  padding: 20px 24px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}
@media (max-width: 768px) {
.page-header[data-v-a030fe43] {
    padding: 12px;
}
}
.header-left[data-v-a030fe43] {
  display: flex;
  align-items: center;
  gap: 16px;
}
.back-btn[data-v-a030fe43] {
  font-size: 18px;
  padding: 4px;
}
.back-btn[data-v-a030fe43]:hover {
  color: #1677ff;
}
.header-title h1[data-v-a030fe43] {
  margin: 0;
  font-size: 20px;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.85);
}
.header-subtitle[data-v-a030fe43] {
  margin: 8px 0 0;
  font-size: 13px;
  color: rgba(0, 0, 0, 0.45);
}
/* 统计卡片 */
.stats-row[data-v-a030fe43] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 12px;
}
.stat-card[data-v-a030fe43] {
  background: #fff;
  border-radius: 12px;
  display: flex;
  align-items: center;
  gap: 16px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}
.stat-icon[data-v-a030fe43] {
  width: 52px;
  height: 52px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 24px;
}
.stat-content[data-v-a030fe43] {
  flex: 1;
}
.stat-value[data-v-a030fe43] {
  font-size: 24px;
  font-weight: 700;
  color: rgba(0, 0, 0, 0.85);
  line-height: 1.2;
}
.stat-label[data-v-a030fe43] {
  font-size: 13px;
  color: rgba(0, 0, 0, 0.45);
  margin-top: 4px;
}
/* 文档容器 */
.documents-container[data-v-a030fe43] {
  background: #fff;
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}
@media (max-width: 768px) {
.documents-container[data-v-a030fe43] {
    padding: 12px;
}
}
.documents-toolbar[data-v-a030fe43] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}
.toolbar-left[data-v-a030fe43] {
  display: flex;
  gap: 12px;
}
.toolbar-right[data-v-a030fe43] {
  display: flex;
  gap: 8px;
}
/* 文档名称 */
.document-name[data-v-a030fe43] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.file-icon[data-v-a030fe43] {
  font-size: 24px;
  color: #1677ff;
}
.file-info[data-v-a030fe43] {
  display: flex;
  flex-direction: column;
}
.file-name[data-v-a030fe43] {
  font-weight: 500;
  color: rgba(0, 0, 0, 0.85);
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.file-type[data-v-a030fe43] {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.45);
}
.status-icon[data-v-a030fe43] {
  margin-right: 4px;
}
.progress-text[data-v-a030fe43] {
  color: #52c41a;
  font-size: 12px;
}
.error-text[data-v-a030fe43] {
  color: #ff4d4f;
  font-size: 12px;
  max-width: 180px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* 上传容器 */
.upload-container[data-v-a030fe43] {
  padding: 20px 0;
}
.upload-dragger[data-v-a030fe43] {
  margin-bottom: 20px;
}
.upload-dragger[data-v-a030fe43] .ant-upload {
  padding: 40px 0;
}
.upload-file-list[data-v-a030fe43] {
  max-height: 300px;
  overflow-y: auto;
  margin-bottom: 20px;
  border: 1px solid #f0f0f0;
  border-radius: 8px;
  padding: 12px;
}
.upload-file-item[data-v-a030fe43] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px;
  border-radius: 6px;
  margin-bottom: 8px;
  background: #fafafa;
}
.upload-file-item[data-v-a030fe43]:last-child {
  margin-bottom: 0;
}
.upload-file-item.upload-success[data-v-a030fe43] {
  background: #f6ffed;
  border: 1px solid #b7eb8f;
}
.upload-file-item.upload-error[data-v-a030fe43] {
  background: #fff2f0;
  border: 1px solid #ffccc7;
}
.upload-file-item .file-icon[data-v-a030fe43] {
  font-size: 20px;
  color: #1677ff;
}
.upload-file-item .file-info[data-v-a030fe43] {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.upload-file-item .file-name[data-v-a030fe43] {
  font-size: 14px;
  color: rgba(0, 0, 0, 0.85);
}
.upload-file-item .file-size[data-v-a030fe43] {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.45);
}
.upload-file-item .file-status[data-v-a030fe43] {
  display: flex;
  align-items: center;
}
.status-success[data-v-a030fe43] {
  color: #52c41a;
  font-size: 18px;
}
.status-error[data-v-a030fe43] {
  color: #ff4d4f;
  font-size: 18px;
}
.upload-actions[data-v-a030fe43] {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 16px;
}
/* 预览弹窗 */
.preview-modal[data-v-a030fe43] .ant-modal-body {
  padding: 0;
}
.preview-container[data-v-a030fe43] {
  display: flex;
  height: 600px;
}
.preview-sidebar[data-v-a030fe43] {
  width: 300px;
  background: #fafafa;
  border-right: 1px solid #f0f0f0;
  padding: 20px;
  overflow-y: auto;
}
.preview-sidebar h4[data-v-a030fe43] {
  margin-bottom: 16px;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.85);
}
.preview-info .info-item[data-v-a030fe43] {
  display: flex;
  justify-content: space-between;
  margin-bottom: 12px;
  font-size: 13px;
}
.preview-info .info-item .label[data-v-a030fe43] {
  color: rgba(0, 0, 0, 0.65);
}
.chunk-list[data-v-a030fe43] {
  margin-top: 16px;
}
.chunk-item[data-v-a030fe43] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.3s;
  margin-bottom: 4px;
}
.chunk-item[data-v-a030fe43]:hover {
  background: #f0f0f0;
}
.chunk-item.active[data-v-a030fe43] {
  background: #e6f4ff;
  border-left: 3px solid #1677ff;
}
.chunk-index[data-v-a030fe43] {
  font-weight: 600;
  color: #1677ff;
  min-width: 30px;
}
.chunk-preview[data-v-a030fe43] {
  flex: 1;
  font-size: 12px;
  color: rgba(0, 0, 0, 0.45);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.preview-content[data-v-a030fe43] {
  flex: 1;
  padding: 24px;
  overflow-y: auto;
}
.chunk-detail[data-v-a030fe43] {
  height: 100%;
}
.chunk-header[data-v-a030fe43] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid #f0f0f0;
}
.chunk-header h3[data-v-a030fe43] {
  margin: 0;
  font-weight: 600;
}
.chunk-body[data-v-a030fe43] {
  line-height: 1.8;
}
.chunk-text[data-v-a030fe43] {
  white-space: pre-wrap;
  word-break: break-word;
  color: rgba(0, 0, 0, 0.65);
  font-size: 14px;
}
/* 响应式 */
@media (max-width: 1200px) {
.stats-row[data-v-a030fe43] {
    grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 768px) {
.knowledge-documents-page[data-v-a030fe43] {
    padding: 12px;
}
.page-header[data-v-a030fe43] {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    padding: 16px;
}
.header-right[data-v-a030fe43] {
    width: 100%;
    display: flex;
    justify-content: flex-end;
}
.stats-row[data-v-a030fe43] {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}
.stat-icon[data-v-a030fe43] {
    width: 44px;
    height: 44px;
    font-size: 20px;
}
.stat-value[data-v-a030fe43] {
    font-size: 20px;
}
.documents-container[data-v-a030fe43] {
    padding: 16px;
}
.documents-toolbar[data-v-a030fe43] {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
}
.toolbar-left[data-v-a030fe43] {
    flex-direction: column;
}
.toolbar-left .ant-input-search[data-v-a030fe43],
  .toolbar-left .ant-select[data-v-a030fe43] {
    width: 100% !important;
}
.preview-container[data-v-a030fe43] {
    flex-direction: column;
    height: auto;
}
.preview-sidebar[data-v-a030fe43] {
    width: 100%;
    border-right: none;
    border-bottom: 1px solid #f0f0f0;
    max-height: 300px;
}
.preview-content[data-v-a030fe43] {
    min-height: 300px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.page-header[data-v-a030fe43] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.documents-container[data-v-a030fe43] {
    padding: 12px;
}
}
@media (max-width: 575px) {
.stats-row[data-v-a030fe43] {
    grid-template-columns: 1fr;
}
.file-name[data-v-a030fe43] {
    max-width: 150px;
}
}
/* 移动端卡片样式 */
.mobile-cards .mobile-card[data-v-a030fe43] {
  padding: 12px;
  background: #fff;
  border-radius: 8px;
  margin-bottom: 12px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}
.mobile-cards .mobile-card-header[data-v-a030fe43] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #f0f0f0;
}
.mobile-cards .mobile-card-title[data-v-a030fe43] {
  font-weight: 600;
  font-size: 15px;
  color: #262626;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 180px;
}
.mobile-cards .mobile-card-content[data-v-a030fe43] {
  margin-bottom: 12px;
}
.mobile-cards .mobile-card-item[data-v-a030fe43] {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
  font-size: 13px;
}
.mobile-cards .mobile-card-item .label[data-v-a030fe43] {
  color: #8c8c8c;
  margin-right: 8px;
  min-width: 70px;
}
.mobile-cards .mobile-card-actions[data-v-a030fe43] {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding-top: 8px;
  border-top: 1px solid #f0f0f0;
}
/* ==================== Page Container ==================== */
.ai-tools-page[data-v-ac971385] {
  padding: var(--spacing-4);
  min-height: 100%;
  background: var(--color-bg-layout);
}
/* ==================== Hero Section ==================== */
.hero-bg-decoration[data-v-ac971385] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-ac971385] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-ac971385] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-ac971385] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-ac971385] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-ac971385] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-ac971385] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-ac971385] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-ac971385] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-ac971385] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-ac971385] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-ac971385] {
  flex: 1;
}
.hero-title[data-v-ac971385] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-ac971385] {
  margin: 0 0 16px;
  font-size: 14px;
  opacity: 0.85;
  max-width: 600px;
}
.hero-stats[data-v-ac971385] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.hero-stat[data-v-ac971385] {
  display: flex;
  flex-direction: column;
}
.hero-stat-value[data-v-ac971385] {
  font-size: 22px;
  font-weight: 700;
}
.hero-stat-label[data-v-ac971385] {
  font-size: 12px;
  opacity: 0.7;
}
.hero-stat-divider[data-v-ac971385] {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.25);
}
.hero-right[data-v-ac971385] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
/* ==================== Filter Bar ==================== */
.filter-bar[data-v-ac971385] {
  background: #fff;
  padding: 20px 24px;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  margin-bottom: 16px;
}
@media (max-width: 768px) {
.filter-bar[data-v-ac971385] {
    padding: 12px;
}
}
@media (max-width: 768px) {
.filter-bar[data-v-ac971385] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.filter-bar[data-v-ac971385] {
    padding: 12px;
}
}
.filter-bar-inner[data-v-ac971385] {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: 1600px;
  margin: 0 auto;
}
.filter-search-row[data-v-ac971385] {
  display: flex;
  gap: 12px;
  align-items: center;
}
.filter-search[data-v-ac971385] {
  flex: 1;
  max-width: 320px;
}
.filter-toggle-btn[data-v-ac971385] {
  flex-shrink: 0;
}
.filter-dropdowns[data-v-ac971385] {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-top: 12px;
  flex-wrap: wrap;
}
.filter-actions[data-v-ac971385] {
  display: flex;
  gap: 8px;
  margin-left: auto;
}
.filter-select[data-v-ac971385] {
  flex: 1;
  min-width: 140px;
  max-width: 200px;
}
/* ==================== Category Tags ==================== */
.category-tags[data-v-ac971385] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 16px 24px;
  margin-bottom: 0;
  flex-wrap: wrap;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
@media (max-width: 768px) {
.category-tags[data-v-ac971385] {
    padding: 12px;
}
}
.category-label[data-v-ac971385] {
  font-size: 14px;
  color: rgba(0, 0, 0, 0.65);
  font-weight: 500;
  flex-shrink: 0;
}
.category-tag[data-v-ac971385] {
  cursor: pointer;
  transition: all 0.3s;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 12px;
  border-radius: 16px;
  border: 1px solid #d9d9d9;
  background: #fff;
}
.category-tag[data-v-ac971385]:hover {
  border-color: #1677ff;
  color: #1677ff;
}
.category-tag--active[data-v-ac971385] {
  background: #e6f4ff;
  border-color: #1677ff;
  color: #1677ff;
}
/* ==================== Batch Toolbar ==================== */
.batch-toolbar[data-v-ac971385] {
  background: linear-gradient(135deg, rgba(22, 119, 255, 0.06) 0%, rgba(22, 119, 255, 0.1) 100%);
  border: 1px solid rgba(22, 119, 255, 0.2);
  border-radius: 10px;
  margin-bottom: 16px;
  padding: 10px 20px;
  position: relative;
  z-index: 1;
  backdrop-filter: blur(10px);
}
.batch-toolbar[data-v-ac971385]:hover {
  box-shadow: 0 2px 12px rgba(250, 140, 22, 0.1);
}
.batch-toolbar-content[data-v-ac971385] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.selection-info[data-v-ac971385] {
  display: flex;
  align-items: center;
}
.batch-actions[data-v-ac971385] {
  display: flex;
  gap: 8px;
}
.batch-actions .ant-btn[data-v-ac971385] {
  border-radius: 6px;
  display: flex;
  align-items: center;
  gap: 6px;
}
/* ==================== Card Grid ==================== */
.card-grid[data-v-ac971385] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  padding: 12px 0;
  margin: 0 auto;
}
/* ==================== Tool Card ==================== */
.tool-card[data-v-ac971385] {
  position: relative;
  background: #fff;
  border-radius: 14px;
  border: 1px solid #ebeef5;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  padding: 0;
  cursor: pointer;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.tool-card[data-v-ac971385]:hover {
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(250, 140, 22, 0.15);
  border-color: transparent;
  transform: translateY(-4px);
}
.tool-card[data-v-ac971385]:active {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}
.tool-card--selected[data-v-ac971385] {
  border-color: #fa8c16;
  box-shadow: 0 0 0 2px rgba(250, 140, 22, 0.15);
}
/* Checkbox */
.tool-card__checkbox[data-v-ac971385] {
  position: absolute;
  top: 14px;
  left: 14px;
  opacity: 0;
  transition: opacity 0.2s ease;
  z-index: 3;
}
.tool-card:hover .tool-card__checkbox[data-v-ac971385],
.tool-card--selected .tool-card__checkbox[data-v-ac971385] {
  opacity: 1;
}
/* Top Accent Bar */
.tool-card__accent[data-v-ac971385] {
  height: 4px;
  width: 100%;
  flex-shrink: 0;
}
/* Card Header */
.tool-card__header[data-v-ac971385] {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 20px 0;
}
.tool-card__icon-wrap[data-v-ac971385] {
  width: 46px;
  height: 46px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15);
}
.tool-card__icon[data-v-ac971385] {
  font-size: 22px;
  color: #fff;
}
.tool-card__title-group[data-v-ac971385] {
  min-width: 0;
  flex: 1;
}
.tool-card__name[data-v-ac971385] {
  font-size: 15px;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.85);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.4;
}
.tool-card__type[data-v-ac971385] {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.45);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
}
.tool-card__header-right[data-v-ac971385] {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.tool-card__status-tag[data-v-ac971385] {
  border-radius: 6px;
  font-size: 11px;
  padding: 0 8px;
  line-height: 22px;
  border: none;
  font-weight: 500;
}
.tool-card__more-btn[data-v-ac971385] {
  color: rgba(0, 0, 0, 0.3);
  width: 28px;
  height: 28px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
}
.tool-card__more-btn[data-v-ac971385]:hover {
  color: rgba(0, 0, 0, 0.75);
  background: rgba(0, 0, 0, 0.04);
}
/* Description */
.tool-card__desc[data-v-ac971385] {
  padding: 8px 20px 0;
  font-size: 13px;
  color: rgba(0, 0, 0, 0.45);
  line-height: 1.5;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
/* Tags */
.tool-card__tags[data-v-ac971385] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 12px 20px 0;
}
.tool-card__tag[data-v-ac971385] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  font-weight: 500;
  padding: 3px 10px;
  border-radius: 6px;
  line-height: 1.4;
  white-space: nowrap;
  transition: all 0.2s ease;
}
.tool-card__tag[data-v-ac971385] .anticon {
  font-size: 12px;
}
.tool-card__tag--category[data-v-ac971385] {
  color: #1677ff;
  background: #e6f4ff;
}
.tool-card__tag--method[data-v-ac971385] {
  color: #722ed1;
  background: #f9f0ff;
}
.tool-card__tag--calls[data-v-ac971385] {
  color: #595959;
  background: #f5f5f5;
}
.tool-card__tag--rating[data-v-ac971385] {
  color: #fa8c16;
  background: #fff7e6;
}
/* Quick Actions */
.tool-card__actions[data-v-ac971385] {
  display: flex;
  gap: 0;
  padding: 12px 20px 0;
  margin: 12px -20px 0;
  border-top: 1px solid #f0f0f0;
  background: #fafafa;
}
.tool-card__action-btn[data-v-ac971385] {
  flex: 1;
  height: auto;
  padding: 10px 4px;
  font-size: 12px;
  font-weight: 500;
  color: #595959;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  border-radius: 0;
  transition: all 0.2s ease;
  position: relative;
}
.tool-card__action-btn[data-v-ac971385] .anticon {
  font-size: 15px;
  color: #8c8c8c;
  margin-left: 8px;
  transition: all 0.2s ease;
}
.tool-card__action-btn[data-v-ac971385]:not(:last-child)::after {
  content: '';
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 20px;
  background: #e8e8e8;
}
.tool-card__action-btn[data-v-ac971385]:hover {
  color: #fa8c16;
  background: #fff7e6;
}
.tool-card__action-btn[data-v-ac971385]:hover .anticon {
  color: #fa8c16;
  transform: scale(1.15);
}
.tool-card__action-btn--danger[data-v-ac971385]:hover {
  color: #ff4d4f;
  background: #fff1f0;
}
.tool-card__action-btn--danger[data-v-ac971385]:hover .anticon {
  color: #ff4d4f;
}
/* Footer */
.tool-card__footer[data-v-ac971385] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 11px;
  color: rgba(0, 0, 0, 0.3);
  padding: 10px 20px 14px;
}
.tool-card__footer-item[data-v-ac971385] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.tool-card__footer-icon[data-v-ac971385] {
  font-size: 11px;
}
/* ==================== Empty State ==================== */
.card-empty[data-v-ac971385] {
  padding: 80px 0;
}
/* ==================== Pagination ==================== */
/* ==================== Test Result ==================== */
.test-result[data-v-ac971385] {
  margin-top: 16px;
}
.test-result-content[data-v-ac971385] {
  background: #f6ffed;
  border: 1px solid #b7eb8f;
  border-radius: 6px;
  padding: 16px;
  font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
  font-size: 12px;
  max-height: 400px;
  overflow-y: auto;
}
@media (max-width: 768px) {
.test-result-content[data-v-ac971385] {
    padding: 12px;
}
}
/* ==================== Responsive - Tablet ==================== */
@media (max-width: 1200px) {
.card-grid[data-v-ac971385] {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}
.hero-title[data-v-ac971385] {
    font-size: 24px;
}
.hero-stat[data-v-ac971385] {
    padding: 0 14px;
}
.hero-stat-value[data-v-ac971385] {
    font-size: 22px;
}
}
/* ==================== Responsive - Mobile ==================== */
@media (max-width: 768px) {
.ai-tools-page[data-v-ac971385] {
    padding: 12px;
}
.hero-content[data-v-ac971385] {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}
.hero-title[data-v-ac971385] {
    font-size: 22px;
}
.hero-desc[data-v-ac971385] {
    font-size: 13px;
    margin-bottom: 20px;
}
.hero-stat[data-v-ac971385] {
    padding: 0 12px;
}
.hero-stat-value[data-v-ac971385] {
    font-size: 20px;
}
.hero-right[data-v-ac971385] {
    flex-direction: row;
    width: 100%;
}
.filter-bar[data-v-ac971385] {
    padding: 16px;
    margin-bottom: 12px;
}
.filter-search[data-v-ac971385] {
    max-width: 100%;
}
.filter-dropdowns[data-v-ac971385] {
    flex-direction: column;
}
.filter-select[data-v-ac971385] {
    width: 100%;
    max-width: 100%;
}
.filter-actions[data-v-ac971385] {
    margin-left: 0;
}
.category-tags[data-v-ac971385] {
    margin-bottom: 0;
    padding: 12px 16px;
}
.card-grid[data-v-ac971385] {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 12px 0;
}
.tool-card__actions[data-v-ac971385] {
    flex-wrap: wrap;
    padding: 10px 32px 4px;
    margin: 10px -20px 0;
}
.tool-card__action-btn[data-v-ac971385] {
    min-width: calc(50% - 3px);
    flex-direction: row;
    gap: 6px;
    padding: 8px 10px;
    justify-content: flex-start;
    border-radius: 6px;
}
.tool-card__action-btn[data-v-ac971385]:not(:last-child)::after {
    display: none;
}
.batch-toolbar[data-v-ac971385] {
    margin: 12px;
}
.batch-toolbar-content[data-v-ac971385] {
    flex-direction: column;
    gap: 10px;
}
.batch-actions[data-v-ac971385] {
    flex-wrap: wrap;
    justify-content: center;
}
.card-pagination[data-v-ac971385] .ant-pagination-options {
    display: none;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.filter-bar[data-v-ac971385] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.filter-bar[data-v-ac971385] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) and (max-width: 768px) {
.filter-bar[data-v-ac971385] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.category-tags[data-v-ac971385] {
    padding: 12px;
}
}
/* ==================== Responsive - Small Mobile ==================== */
@media (max-width: 575px) {
.hero-title[data-v-ac971385] {
    font-size: 20px;
}
.hero-right[data-v-ac971385] {
    width: 100%;
}
.hero-stats[data-v-ac971385] {
    flex-wrap: wrap;
    gap: 8px;
}
.hero-stat[data-v-ac971385] {
    padding: 0 10px;
}
.hero-stat-divider[data-v-ac971385] {
    display: none;
}
.hero-stat-value[data-v-ac971385] {
    font-size: 18px;
}
.card-grid[data-v-ac971385] {
    gap: 10px;
    padding: 12px 0;
}
.tool-card__header[data-v-ac971385] {
    padding-left: 16px;
    padding-right: 16px;
    padding-top: 14px;
}
.tool-card__icon-wrap[data-v-ac971385] {
    width: 40px;
    height: 40px;
    border-radius: 10px;
}
.tool-card__icon[data-v-ac971385] {
    font-size: 18px;
}
.tool-card__desc[data-v-ac971385] {
    line-clamp: 1;
}
.tool-card__tag[data-v-ac971385] {
    font-size: 11px;
    padding: 2px 8px;
}
.tool-card__action-btn[data-v-ac971385] {
    min-width: calc(50% - 3px);
    font-size: 11px;
    padding: 6px 8px;
}
.filter-bar[data-v-ac971385] {
    padding: 16px;
    margin-bottom: 12px;
}
.filter-search[data-v-ac971385] {
    font-size: 13px;
}
.filter-select[data-v-ac971385] {
    font-size: 13px;
}
.tool-card__name[data-v-ac971385] {
    font-size: 14px;
}
.tool-card__type[data-v-ac971385] {
    font-size: 11px;
}
.tool-card__status-tag[data-v-ac971385] {
    font-size: 10px;
    padding: 0 6px;
    line-height: 20px;
}
.tool-card__footer[data-v-ac971385] {
    font-size: 10px;
    padding-top: 8px;
    padding-bottom: 12px;
}
.batch-toolbar[data-v-ac971385] {
    padding: 8px 12px;
    margin: 10px 8px;
}
.batch-actions[data-v-ac971385] .ant-btn {
    font-size: 12px;
    padding: 4px 10px;
}
.card-pagination[data-v-ac971385] .ant-pagination-item {
    min-width: 28px;
    height: 28px;
    line-height: 28px;
    font-size: 12px;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.filter-bar[data-v-ac971385] {
    padding: 12px;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.filter-bar[data-v-ac971385] {
    padding: 12px;
}
}
@media (max-width: 575px) and (max-width: 768px) and (max-width: 768px) {
.filter-bar[data-v-ac971385] {
    padding: 12px;
}
}
.tool-edit-page[data-v-e2588860] {
  padding: var(--spacing-4);
  background: var(--color-bg-layout);
  padding-bottom: 80px;
}
.highlights-panel[data-v-e2588860] {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1677ff) 0%, var(--color-hero-gradient-end, #0958d9) 100%) !important;
  border-radius: var(--radius-xl);
  padding: 24px;
  margin-bottom: 16px;
  color: #fff;
  position: relative;
  overflow: hidden;
}
/* 几何图形装饰 */
.highlights-bg-decoration[data-v-e2588860] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-e2588860] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-e2588860] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-e2588860] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-e2588860] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-e2588860] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-e2588860] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-e2588860] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-e2588860] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-e2588860] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-e2588860] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
.highlights-panel .highlights-content[data-v-e2588860] {
  display: flex;
  justify-content: space-between;
}
.highlights-panel .highlights-left h2[data-v-e2588860] {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: white;
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-panel .highlights-meta[data-v-e2588860] {
  margin-top: 8px;
  font-size: 13px;
  opacity: 0.85;
}
.highlights-panel .highlights-right[data-v-e2588860] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-action-btn[data-v-e2588860] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
}
.highlights-action-btn[data-v-e2588860]:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
}
.fixed-actions[data-v-e2588860] {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  background: #fff !important;
  padding: 12px !important;
  padding-bottom: calc(12px + env(safe-area-inset-bottom)) !important;
  border-top: 1px solid #f0f0f0 !important;
  z-index: 100 !important;
  display: flex !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06) !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
}
.fixed-actions .ant-btn[data-v-e2588860] {
  height: 40px;
  font-size: 14px;
  font-weight: 500;
  border-radius: 6px;
}
.form-content[data-v-e2588860] {
  max-width: 1600px;
}
.edit-card[data-v-e2588860] {
  margin-bottom: var(--spacing-3);
  border-radius: 12px;
}
.edit-card[data-v-e2588860] .ant-card-head {
  border-bottom: 1px solid #f0f0f0;
  font-weight: 600;
}
.headers-list[data-v-e2588860],
.env-list[data-v-e2588860],
.mapping-list[data-v-e2588860] {
  background: #fafafa;
  padding: 16px;
  border-radius: 8px;
}
@media (max-width: 768px) {
.mapping-list[data-v-e2588860] {
    padding: 12px;
}
.mapping-list .highlights-panel .highlights-bg-decoration[data-v-e2588860] {
    display: none;
}
}
.header-row[data-v-e2588860],
.env-row[data-v-e2588860],
.mapping-row[data-v-e2588860] {
  margin-bottom: 12px;
  align-items: center;
}
.auth-config[data-v-e2588860] {
  background: #f6ffed;
  padding: 16px;
  border-radius: 8px;
  border: 1px solid #b7eb8f;
  margin-top: 16px;
}
@media (max-width: 768px) {
.auth-config[data-v-e2588860] {
    padding: 12px;
}
.auth-config .highlights-panel .highlights-bg-decoration[data-v-e2588860] {
    display: none;
}
}
.parameters-list[data-v-e2588860] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.parameter-card[data-v-e2588860] {
  background: #fafafa;
}
.param-title[data-v-e2588860] {
  font-weight: 500;
  color: rgba(0, 0, 0, 0.65);
}
.code-editor-wrapper[data-v-e2588860] {
  border: 1px solid #d9d9d9;
  border-radius: 6px;
  overflow: hidden;
}
.code-editor[data-v-e2588860] {
  font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', monospace;
  font-size: 13px;
  line-height: 1.6;
  border: none;
  resize: vertical;
}
.code-editor[data-v-e2588860]:focus {
  outline: none;
}
.code-example[data-v-e2588860] {
  background: #f6f8fa;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  padding: 16px;
  font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', monospace;
  font-size: 12px;
  line-height: 1.6;
  overflow-x: auto;
}
@media (max-width: 768px) {
.code-example[data-v-e2588860] {
    padding: 12px;
}
.code-example .highlights-panel .highlights-bg-decoration[data-v-e2588860] {
    display: none;
}
}
/* Responsive */
@media (max-width: 992px) {
.highlights-panel .highlights-content[data-v-e2588860] {
    align-items: flex-start;
    gap: 16px;
}
}
@media (max-width: 768px) {
.tool-edit-page[data-v-e2588860] {
    padding: 12px;
    padding-bottom: 60px;
}
.tool-edit-page .highlights-panel .highlights-bg-decoration[data-v-e2588860] {
    display: none;
}
.highlights-panel[data-v-e2588860] {
    padding: 12px 16px;
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-e2588860] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-e2588860] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-e2588860] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-e2588860] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-e2588860] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-e2588860] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-e2588860] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-e2588860] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-e2588860] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-e2588860] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-e2588860] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-panel .highlights-left h2[data-v-e2588860] {
    font-size: 16px;
}
.edit-card[data-v-e2588860] {
    margin-bottom: var(--spacing-3);
}
.fixed-actions .ant-btn[data-v-e2588860] {
    flex: 1;
    height: 36px;
    font-size: 15px;
}
.headers-list[data-v-e2588860],
  .env-list[data-v-e2588860],
  .mapping-list[data-v-e2588860] {
    padding: 12px;
}
.auth-config[data-v-e2588860] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.mapping-list[data-v-e2588860] {
    padding: 12px;
}
.mapping-list .highlights-panel .highlights-bg-decoration[data-v-e2588860] {
    display: none;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.auth-config[data-v-e2588860] {
    padding: 12px;
}
.auth-config .highlights-panel .highlights-bg-decoration[data-v-e2588860] {
    display: none;
}
}
@media (max-width: 575px) {
.highlights-panel[data-v-e2588860] {
    padding: 12px;
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-e2588860] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-e2588860] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-e2588860] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-e2588860] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-e2588860] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-e2588860] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-e2588860] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-e2588860] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-e2588860] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-e2588860] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-e2588860] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.fixed-actions .ant-btn[data-v-e2588860] {
    flex: 1;
    height: 36px;
    font-size: 15px;
}
.headers-list[data-v-e2588860],
  .env-list[data-v-e2588860],
  .mapping-list[data-v-e2588860] {
    padding: 12px;
}
.auth-config[data-v-e2588860] {
    padding: 12px;
}
.code-editor-wrapper[data-v-e2588860] {
    margin: 0 -4px;
}
.code-editor[data-v-e2588860] {
    font-size: 12px;
}
.code-example[data-v-e2588860] {
    font-size: 11px;
    padding: 12px;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.mapping-list[data-v-e2588860] {
    padding: 12px;
}
.mapping-list .highlights-panel .highlights-bg-decoration[data-v-e2588860] {
    display: none;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.auth-config[data-v-e2588860] {
    padding: 12px;
}
.auth-config .highlights-panel .highlights-bg-decoration[data-v-e2588860] {
    display: none;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.code-example[data-v-e2588860] {
    padding: 12px;
}
.code-example .highlights-panel .highlights-bg-decoration[data-v-e2588860] {
    display: none;
}
}
.tool-detail-page[data-v-842dee71] {
  padding: 16px 16px 64px;
  background: var(--color-bg-layout);
}
/* 顶部高亮面板 - 蓝色渐变背景 */
.highlights-panel[data-v-842dee71] {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  padding: 24px 32px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  min-height: 120px !important;
  position: relative !important;
  overflow: hidden !important;
}
/* 几何图形装饰 */
.highlights-bg-decoration[data-v-842dee71] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-842dee71] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-842dee71] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-842dee71] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-842dee71] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-842dee71] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-842dee71] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-842dee71] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-842dee71] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-842dee71] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-842dee71] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
.detail-content[data-v-842dee71] {
  padding: 16px;
}
@media (max-width: 768px) {
.highlights-panel[data-v-842dee71] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-842dee71] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-842dee71] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-842dee71] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-842dee71] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-842dee71] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-842dee71] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-842dee71] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-842dee71] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-842dee71] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-842dee71] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-842dee71] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-842dee71] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
.highlights-panel[data-v-842dee71]::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") !important;
  opacity: 0.3 !important;
}
.highlights-left[data-v-842dee71] {
  flex: 1 !important;
  z-index: 1 !important;
}
.highlights-title-row[data-v-842dee71] {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 8px !important;
  flex-wrap: wrap !important;
}
.highlights-title[data-v-842dee71] {
  color: #fff !important;
  font-size: 24px !important;
  font-weight: 600 !important;
  margin: 0 !important;
  letter-spacing: 0.5px !important;
}
.highlights-code[data-v-842dee71] {
  color: rgba(255, 255, 255, 0.85) !important;
  font-size: 14px !important;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace !important;
  margin-bottom: 12px !important;
}
.highlights-meta[data-v-842dee71] {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}
.meta-item[data-v-842dee71] {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: rgba(255, 255, 255, 0.8) !important;
  font-size: 13px !important;
}
.highlights-right[data-v-842dee71] {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  z-index: 1 !important;
  flex-wrap: wrap !important;
}
.action-btn[data-v-842dee71] {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
  border-radius: 6px !important;
  font-weight: 500 !important;
  transition: all 0.3s ease !important;
}
.action-btn[data-v-842dee71]:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  border-color: rgba(255, 255, 255, 0.5) !important;
  transform: translateY(-1px) !important;
}
.type-tag[data-v-842dee71] {
  border-radius: 4px !important;
  font-weight: 500 !important;
  color: #fff !important;
  background: transparent !important;
}
.category-tag[data-v-842dee71] {
  border-radius: 4px !important;
  font-weight: 500 !important;
  color: #fff !important;
}
[data-v-842dee71] .ant-badge-status-text {
  color: #fff !important;
}
.status-badge[data-v-842dee71] {
  font-size: 13px !important;
}
/* 信息区块样式 */
.info-section[data-v-842dee71] {
  background: var(--color-bg-container) !important;
  border-radius: 12px !important;
  margin-bottom: 16px !important;
  border: 1px solid var(--color-border) !important;
  overflow: hidden !important;
  transition: all 0.3s ease !important;
}
.info-section[data-v-842dee71]:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
}
.info-section-header[data-v-842dee71] {
  padding: 16px 20px !important;
  border-bottom: 1px solid var(--color-border) !important;
  background: linear-gradient(180deg, var(--color-bg-container) 0%, var(--color-bg-elevated) 100%) !important;
}
@media (max-width: 768px) {
.info-section-header[data-v-842dee71] {
    padding: 12px;
}
.info-section-header .highlights-panel .highlights-bg-decoration[data-v-842dee71] {
    display: none;
}
}
.info-section-title[data-v-842dee71] {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--color-text) !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.info-section-title[data-v-842dee71]::before {
  content: '' !important;
  width: 4px !important;
  height: 16px !important;
  background: linear-gradient(180deg, #1890ff 0%, #096dd9 100%) !important;
  border-radius: 2px !important;
}
.info-section-body[data-v-842dee71] {
  padding: 20px !important;
}
@media (max-width: 768px) {
.info-section-body[data-v-842dee71] {
    padding: 12px;
}
.info-section-body .highlights-panel .highlights-bg-decoration[data-v-842dee71] {
    display: none;
}
}
.test-panel[data-v-842dee71] {
  background: #fafafa !important;
}
/* Ant Design 组件样式覆盖 */
.info-descriptions[data-v-842dee71] .ant-descriptions-item-label {
  font-weight: 600 !important;
  color: var(--color-text-secondary) !important;
  background: var(--color-bg-layout) !important;
  padding: 12px 16px !important;
}
.info-descriptions[data-v-842dee71] .ant-descriptions-item-content {
  padding: 12px 16px !important;
  color: var(--color-text) !important;
}
.examples-tabs[data-v-842dee71] .ant-tabs-tab {
  font-weight: 500 !important;
}
.examples-tabs[data-v-842dee71] .ant-tabs-tab-active {
  color: #1890ff !important;
}
/* Endpoint 显示 */
.endpoint-display[data-v-842dee71] {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 12px !important;
  background: #f6ffed !important;
  border: 1px solid #b7eb8f !important;
  border-radius: 6px !important;
}
.method-tag[data-v-842dee71] {
  font-size: 14px !important;
  font-weight: 600 !important;
  padding: 4px 12px !important;
}
.endpoint-url[data-v-842dee71] {
  font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace !important;
  font-size: 14px !important;
  color: var(--color-text) !important;
}
/* 代码预览 */
.code-preview[data-v-842dee71] {
  background: #1e1e1e !important;
  color: #d4d4d4 !important;
  padding: 16px !important;
  border-radius: 6px !important;
  font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', monospace !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
  overflow-x: auto !important;
  max-height: 400px !important;
  overflow-y: auto !important;
}
@media (max-width: 768px) {
.code-preview[data-v-842dee71] {
    padding: 12px;
}
.code-preview .highlights-panel .highlights-bg-decoration[data-v-842dee71] {
    display: none;
}
}
.code-example[data-v-842dee71] {
  border: 1px solid #e1e4e8 !important;
  border-radius: 6px !important;
  padding: 16px !important;
  font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', monospace !important;
  font-size: 12px !important;
  line-height: 1.6 !important;
  overflow-x: auto !important;
  margin-bottom: 12px !important;
}
@media (max-width: 768px) {
.code-example[data-v-842dee71] {
    padding: 12px;
}
.code-example .highlights-panel .highlights-bg-decoration[data-v-842dee71] {
    display: none;
}
}
/* 测试结果 */
.test-result[data-v-842dee71] {
  margin-top: 16px !important;
}
.test-result-content[data-v-842dee71] {
  background: var(--color-bg-container) !important;
  border: 1px solid var(--color-border) !important;
  border-radius: 6px !important;
  padding: 16px !important;
}
@media (max-width: 768px) {
.test-result-content[data-v-842dee71] {
    padding: 12px;
}
.test-result-content .highlights-panel .highlights-bg-decoration[data-v-842dee71] {
    display: none;
}
}
.result-meta[data-v-842dee71] {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 12px !important;
}
.latency[data-v-842dee71] {
  font-size: 12px !important;
  color: var(--color-text-tertiary) !important;
}
.result-data[data-v-842dee71] {
  background: #f6ffed !important;
  border: 1px solid #b7eb8f !important;
  border-radius: 4px !important;
  padding: 12px !important;
  font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  max-height: 300px !important;
  overflow-y: auto !important;
  margin: 0 !important;
}
/* 统计网格 */
.stats-grid[data-v-842dee71] {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 16px !important;
}
.stat-item[data-v-842dee71] {
  text-align: center !important;
  padding: 16px !important;
  background: var(--color-bg-layout) !important;
  border-radius: 8px !important;
}
@media (max-width: 768px) {
.stat-item[data-v-842dee71] {
    padding: 12px;
}
.stat-item .highlights-panel .highlights-bg-decoration[data-v-842dee71] {
    display: none;
}
}
.stat-value[data-v-842dee71] {
  font-size: 24px !important;
  font-weight: 600 !important;
  color: #1890ff !important;
  line-height: 1.2 !important;
}
.stat-label[data-v-842dee71] {
  font-size: 12px !important;
  color: var(--color-text-tertiary) !important;
  margin-top: 4px !important;
}
/* 时间线 */
.timeline-item[data-v-842dee71] {
  font-size: 12px !important;
}
.timeline-time[data-v-842dee71] {
  color: var(--color-text-tertiary) !important;
  margin-bottom: 4px !important;
}
.timeline-desc[data-v-842dee71] {
  color: var(--color-text-secondary) !important;
}
/* 表格样式覆盖 */
.params-table[data-v-842dee71] .ant-table,
.mappings-table[data-v-842dee71] .ant-table {
  border-radius: 8px !important;
}
.params-table[data-v-842dee71] .ant-table-thead > tr > th,
.mappings-table[data-v-842dee71] .ant-table-thead > tr > th {
  background: var(--color-bg-layout) !important;
  font-weight: 600 !important;
}
.empty-text[data-v-842dee71] {
  color: var(--color-text-quaternary) !important;
}
/* 底部固定操作栏 */
.fixed-actions[data-v-842dee71] {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 100 !important;
  background: var(--color-bg-container) !important;
  border-top: 1px solid var(--color-border) !important;
  padding: 12px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.08) !important;
}
.fixed-actions-left[data-v-842dee71],
.fixed-actions-right[data-v-842dee71] {
  display: flex !important;
  gap: 12px !important;
}
.fixed-btn[data-v-842dee71] {
  border-radius: 6px !important;
  font-weight: 500 !important;
  min-width: 100px !important;
}
.fixed-btn.back-btn[data-v-842dee71] {
  border: 1px solid var(--color-border) !important;
}
.fixed-btn.edit-btn[data-v-842dee71] {
  border: 1px solid #1890ff !important;
  color: #1890ff !important;
}
.fixed-btn.edit-btn[data-v-842dee71]:hover {
  background: #e6f7ff !important;
}
.fixed-btn.test-btn[data-v-842dee71] {
  background: linear-gradient(135deg, #1890ff 0%, #096dd9 100%) !important;
  border: none !important;
}
.fixed-btn.delete-btn[data-v-842dee71] {
  background: #fff1f0 !important;
  border: 1px solid #ff4d4f !important;
  color: #ff4d4f !important;
}
.fixed-btn.delete-btn[data-v-842dee71]:hover {
  background: #ffccc7 !important;
}
/* 响应式 */
@media (max-width: 992px) {
.highlights-panel[data-v-842dee71] {
    flex-direction: column !important;
    gap: 16px !important;
    padding: 20px !important;
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-842dee71] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-842dee71] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-842dee71] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-842dee71] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-842dee71] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-842dee71] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-842dee71] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-842dee71] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-842dee71] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-842dee71] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-842dee71] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-right[data-v-842dee71] {
    display: none !important;
}
.stats-grid[data-v-842dee71] {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
}
}
@media (max-width: 992px) and (max-width: 768px) {
.highlights-panel[data-v-842dee71] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-842dee71] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-842dee71] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-842dee71] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-842dee71] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-842dee71] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-842dee71] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-842dee71] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-842dee71] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-842dee71] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-842dee71] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-842dee71] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-842dee71] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) {
.highlights-panel[data-v-842dee71] {
    padding: 16px !important;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-842dee71] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-842dee71] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-842dee71] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-842dee71] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-842dee71] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-842dee71] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-842dee71] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-842dee71] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-842dee71] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-842dee71] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-842dee71] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-842dee71] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-title[data-v-842dee71] {
    font-size: 18px !important;
}
.highlights-meta[data-v-842dee71] {
    gap: 8px !important;
}
.info-section-header[data-v-842dee71] {
    padding: 12px 16px !important;
}
.info-section-body[data-v-842dee71] {
    padding: 16px !important;
}
.stats-grid[data-v-842dee71] {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
}
.stat-item[data-v-842dee71] {
    padding: 12px !important;
}
.stat-value[data-v-842dee71] {
    font-size: 20px !important;
}
.code-example[data-v-842dee71] {
    padding: 12px !important;
    font-size: 11px !important;
}
.fixed-actions-left[data-v-842dee71],
  .fixed-actions-right[data-v-842dee71] {
    width: 100% !important;
    justify-content: center !important;
}
.fixed-btn[data-v-842dee71] {
    flex: 1 !important;
    min-width: 0 !important;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-842dee71] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-842dee71] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-842dee71] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-842dee71] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-842dee71] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-842dee71] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-842dee71] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-842dee71] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-842dee71] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-842dee71] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-842dee71] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-842dee71] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-842dee71] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.info-section-header[data-v-842dee71] {
    padding: 12px;
}
.info-section-header .highlights-panel .highlights-bg-decoration[data-v-842dee71] {
    display: none;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.info-section-body[data-v-842dee71] {
    padding: 12px;
}
.info-section-body .highlights-panel .highlights-bg-decoration[data-v-842dee71] {
    display: none;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.stat-item[data-v-842dee71] {
    padding: 12px;
}
.stat-item .highlights-panel .highlights-bg-decoration[data-v-842dee71] {
    display: none;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.code-example[data-v-842dee71] {
    padding: 12px;
}
.code-example .highlights-panel .highlights-bg-decoration[data-v-842dee71] {
    display: none;
}
}
@media (max-width: 575px) {
.highlights-panel[data-v-842dee71] {
    padding: 12px !important;
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-842dee71] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-842dee71] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-842dee71] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-842dee71] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-842dee71] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-842dee71] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-842dee71] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-842dee71] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-842dee71] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-842dee71] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-842dee71] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-title[data-v-842dee71] {
    font-size: 16px !important;
}
.highlights-title-row[data-v-842dee71] {
    gap: 8px !important;
}
.highlights-right[data-v-842dee71] {
    gap: 8px !important;
}
.action-btn[data-v-842dee71] {
    padding: 4px 12px !important;
    font-size: 13px !important;
}
.info-section[data-v-842dee71] {
    margin-bottom: 12px !important;
    border-radius: 8px !important;
}
.info-section-header[data-v-842dee71] {
    padding: 10px 12px !important;
}
.info-section-body[data-v-842dee71] {
    padding: 12px !important;
}
.endpoint-display[data-v-842dee71] {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
}
.code-preview[data-v-842dee71] {
    font-size: 12px !important;
    padding: 12px !important;
}
.code-example[data-v-842dee71] {
    font-size: 11px !important;
    padding: 12px !important;
}
.result-data[data-v-842dee71] {
    font-size: 11px !important;
}
.stats-grid[data-v-842dee71] {
    grid-template-columns: 1fr !important;
}
.stat-item[data-v-842dee71] {
    padding: 12px !important;
}
.stat-value[data-v-842dee71] {
    font-size: 18px !important;
}
.fixed-btn[data-v-842dee71] {
    height: 40px !important;
    font-size: 14px !important;
    border-radius: 8px !important;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.highlights-panel[data-v-842dee71] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-842dee71] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-842dee71] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-842dee71] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-842dee71] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-842dee71] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-842dee71] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-842dee71] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-842dee71] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-842dee71] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-842dee71] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-842dee71] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-842dee71] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.detail-content[data-v-842dee71] {
    padding: 12px;
}
.detail-content .highlights-panel .highlights-bg-decoration[data-v-842dee71] {
    display: none;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.info-section-header[data-v-842dee71] {
    padding: 12px;
}
.info-section-header .highlights-panel .highlights-bg-decoration[data-v-842dee71] {
    display: none;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.info-section-body[data-v-842dee71] {
    padding: 12px;
}
.info-section-body .highlights-panel .highlights-bg-decoration[data-v-842dee71] {
    display: none;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.code-preview[data-v-842dee71] {
    padding: 12px;
}
.code-preview .highlights-panel .highlights-bg-decoration[data-v-842dee71] {
    display: none;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.code-example[data-v-842dee71] {
    padding: 12px;
}
.code-example .highlights-panel .highlights-bg-decoration[data-v-842dee71] {
    display: none;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.stat-item[data-v-842dee71] {
    padding: 12px;
}
.stat-item .highlights-panel .highlights-bg-decoration[data-v-842dee71] {
    display: none;
}
}
/* 移动端卡片样式 */
.mobile-cards .mobile-card[data-v-842dee71] {
  padding: 12px;
  background: #fff;
  border-radius: 8px;
  margin-bottom: 12px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}
.mobile-cards .mobile-card-header[data-v-842dee71] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #f0f0f0;
}
.mobile-cards .mobile-card-title[data-v-842dee71] {
  font-weight: 600;
  font-size: 15px;
  color: #262626;
}
.mobile-cards .mobile-card-content[data-v-842dee71] {
  margin-bottom: 12px;
}
.mobile-cards .mobile-card-item[data-v-842dee71] {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
  font-size: 13px;
}
.mobile-cards .mobile-card-item .label[data-v-842dee71] {
  color: #8c8c8c;
  margin-right: 8px;
  min-width: 70px;
}
.mobile-cards .mobile-card-actions[data-v-842dee71] {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding-top: 8px;
  border-top: 1px solid #f0f0f0;
}
/* ==================== 页面容器 ==================== */
.skill-management-page[data-v-3c159d64] {
  padding: var(--spacing-4);
  min-height: 100%;
  background: var(--color-bg-layout);
}
/* ==================== Hero Section ==================== */
.hero-bg-decoration[data-v-3c159d64] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-3c159d64] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-3c159d64] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-3c159d64] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-3c159d64] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-3c159d64] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-3c159d64] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-3c159d64] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-3c159d64] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-3c159d64] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-3c159d64] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-3c159d64] {
  flex: 1;
}
.hero-title[data-v-3c159d64] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-3c159d64] {
  margin: 0 0 16px;
  font-size: 14px;
  opacity: 0.85;
  max-width: 600px;
}
.hero-stats[data-v-3c159d64] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.hero-stat[data-v-3c159d64] {
  display: flex;
  flex-direction: column;
}
.hero-stat-value[data-v-3c159d64] {
  font-size: 22px;
  font-weight: 700;
}
.hero-stat-label[data-v-3c159d64] {
  font-size: 12px;
  opacity: 0.7;
}
.hero-stat-divider[data-v-3c159d64] {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.25);
}
.hero-right[data-v-3c159d64] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
/* ==================== 筛选栏 ==================== */
.filter-bar[data-v-3c159d64] {
  background: #fff;
  padding: 12px;
  border-radius: 0 0 12px 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  position: relative;
  z-index: 2;
}
.filter-bar-inner[data-v-3c159d64] {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: 1600px;
  margin: 0 auto;
}
.filter-search-row[data-v-3c159d64] {
  display: flex;
  gap: 8px;
  align-items: center;
}
.filter-search[data-v-3c159d64] {
  flex: 1;
  max-width: 320px;
}
.filter-toggle-btn[data-v-3c159d64] {
  flex-shrink: 0;
}
.filter-dropdowns[data-v-3c159d64] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 12px;
}
.filter-actions[data-v-3c159d64] {
  grid-column: 1 / -1;
  display: flex;
  gap: 8px;
}
.filter-select[data-v-3c159d64] {
  min-width: 140px;
}
/* ==================== 批量操作工具栏 ==================== */
.batch-toolbar[data-v-3c159d64] {
  background: linear-gradient(135deg, rgba(22, 119, 255, 0.06) 0%, rgba(22, 119, 255, 0.1) 100%);
  border: 1px solid rgba(22, 119, 255, 0.2);
  border-radius: 10px;
  margin: 16px 24px;
  padding: 10px 20px;
  position: relative;
  z-index: 1;
  backdrop-filter: blur(10px);
}
.batch-toolbar[data-v-3c159d64]:hover {
  box-shadow: 0 2px 12px rgba(114, 46, 209, 0.1);
}
.batch-toolbar-content[data-v-3c159d64] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.selection-info[data-v-3c159d64] {
  display: flex;
  align-items: center;
}
.batch-actions[data-v-3c159d64] {
  display: flex;
  gap: 8px;
}
.batch-actions .ant-btn[data-v-3c159d64] {
  border-radius: 6px;
  display: flex;
  align-items: center;
  gap: 6px;
}
/* ==================== 卡片网格 ==================== */
.card-grid[data-v-3c159d64] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  padding: 12px 0;
  margin: 0 auto;
}
/* ==================== 单张卡片 ==================== */
.skill-card[data-v-3c159d64] {
  position: relative;
  background: #fff;
  border-radius: 14px;
  border: 1px solid #ebeef5;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  padding: 0;
  cursor: pointer;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.skill-card[data-v-3c159d64]:hover {
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(114, 46, 209, 0.15);
  border-color: transparent;
  transform: translateY(-4px);
}
.skill-card[data-v-3c159d64]:active {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}
.skill-card--selected[data-v-3c159d64] {
  border-color: #722ed1;
  box-shadow: 0 0 0 2px rgba(114, 46, 209, 0.15);
}
/* 选中复选框 */
.skill-card__checkbox[data-v-3c159d64] {
  position: absolute;
  top: 14px;
  left: 14px;
  opacity: 0;
  transition: opacity 0.2s ease;
  z-index: 3;
}
.skill-card:hover .skill-card__checkbox[data-v-3c159d64],
.skill-card--selected .skill-card__checkbox[data-v-3c159d64] {
  opacity: 1;
}
/* 顶部装饰条 */
.skill-card__accent[data-v-3c159d64] {
  height: 4px;
  width: 100%;
  flex-shrink: 0;
}
/* 卡片头部 */
.skill-card__header[data-v-3c159d64] {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 20px 0;
}
.skill-card__icon-wrap[data-v-3c159d64] {
  width: 46px;
  height: 46px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15);
}
.skill-card__icon[data-v-3c159d64] {
  color: #fff;
  font-size: 22px;
}
.skill-card__title-group[data-v-3c159d64] {
  min-width: 0;
  flex: 1;
}
.skill-card__name[data-v-3c159d64] {
  font-size: 15px;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.85);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.4;
}
.skill-card__version[data-v-3c159d64] {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.45);
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
}
.skill-card__header-right[data-v-3c159d64] {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.skill-card__source-tag[data-v-3c159d64] {
  border-radius: 6px;
  font-size: 11px;
  padding: 0 8px;
  line-height: 22px;
  border: none;
  font-weight: 500;
}
.skill-card__more-btn[data-v-3c159d64] {
  color: rgba(0, 0, 0, 0.3);
  width: 28px;
  height: 28px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
}
.skill-card__more-btn[data-v-3c159d64]:hover {
  color: rgba(0, 0, 0, 0.75);
  background: rgba(0, 0, 0, 0.04);
}
/* 描述 */
.skill-card__desc[data-v-3c159d64] {
  padding: 8px 20px 0;
  font-size: 13px;
  color: rgba(0, 0, 0, 0.45);
  line-height: 1.5;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
/* 标签区域 */
.skill-card__tags[data-v-3c159d64] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 12px 20px 0;
}
.skill-card__tag[data-v-3c159d64] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  font-weight: 500;
  padding: 3px 10px;
  border-radius: 6px;
  line-height: 1.4;
  white-space: nowrap;
  transition: all 0.2s ease;
}
.skill-card__tag[data-v-3c159d64] .anticon {
  font-size: 12px;
}
.skill-card__tag--category[data-v-3c159d64] {
  color: #722ed1;
  background: #f9f0ff;
}
.skill-card__tag--usage[data-v-3c159d64] {
  color: #52c41a;
  background: #f6ffed;
}
.skill-card__tag--rating[data-v-3c159d64] {
  color: #fa8c16;
  background: #fff7e6;
}
/* 组成信息 */
.skill-card__composition[data-v-3c159d64] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px 20px 0;
}
.composition-item[data-v-3c159d64] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: rgba(0, 0, 0, 0.45);
  padding: 2px 8px;
  background: #f5f5f5;
  border-radius: 4px;
}
.composition-item[data-v-3c159d64] .anticon {
  font-size: 12px;
}
/* 快捷操作栏 */
.skill-card__actions[data-v-3c159d64] {
  display: flex;
  gap: 0;
  padding: 12px 20px 0;
  margin: 12px -20px 0;
  border-top: 1px solid #f0f0f0;
  background: #fafafa;
}
.skill-card__action-btn[data-v-3c159d64] {
  flex: 1;
  height: auto;
  padding: 10px 4px;
  font-size: 12px;
  font-weight: 500;
  color: #595959;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  border-radius: 0;
  transition: all 0.2s ease;
  position: relative;
}
.skill-card__action-btn[data-v-3c159d64] .anticon {
  font-size: 15px;
  color: #8c8c8c;
  margin-left: 8px;
  transition: all 0.2s ease;
}
.skill-card__action-btn[data-v-3c159d64]:not(:last-child)::after {
  content: '';
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 20px;
  background: #e8e8e8;
}
.skill-card__action-btn[data-v-3c159d64]:hover {
  color: #722ed1;
  background: #f9f0ff;
}
.skill-card__action-btn[data-v-3c159d64]:hover .anticon {
  color: #722ed1;
  transform: scale(1.15);
}
.skill-card__action-btn.is-favorite[data-v-3c159d64] {
  color: #fa8c16;
}
.skill-card__action-btn.is-favorite[data-v-3c159d64] .anticon {
  color: #fa8c16;
}
.skill-card__action-btn--danger[data-v-3c159d64]:hover {
  color: #ff4d4f;
  background: #fff1f0;
}
.skill-card__action-btn--danger[data-v-3c159d64]:hover .anticon {
  color: #ff4d4f;
}
/* 底部 */
.skill-card__footer[data-v-3c159d64] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 11px;
  color: rgba(0, 0, 0, 0.3);
  padding: 10px 20px 14px;
}
.skill-card__footer-item[data-v-3c159d64] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.skill-card__footer-icon[data-v-3c159d64] {
  font-size: 11px;
}
/* ==================== 空状态 ==================== */
.card-empty[data-v-3c159d64] {
  padding: 80px 0;
}
/* ==================== 分页 ==================== */
/* ==================== 标签样式 ==================== */
[data-v-3c159d64] .ant-tag {
  border-radius: 6px;
  font-weight: 500;
  padding: 2px 12px;
  border: none;
}
/* ==================== 响应式 - 平板 ==================== */
@media (max-width: 1200px) {
.card-grid[data-v-3c159d64] {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}
.hero-title[data-v-3c159d64] {
    font-size: 24px;
}
.hero-stat[data-v-3c159d64] {
    padding: 0 14px;
}
.hero-stat-value[data-v-3c159d64] {
    font-size: 22px;
}
}
/* ==================== 响应式 - 手机 ==================== */
@media (max-width: 768px) {
.skill-management-page[data-v-3c159d64] {
    padding: 12px;
}
.hero-content[data-v-3c159d64] {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}
.hero-title[data-v-3c159d64] {
    font-size: 22px;
}
.hero-desc[data-v-3c159d64] {
    font-size: 13px;
    margin-bottom: 20px;
}
.hero-stats[data-v-3c159d64] {
    flex-wrap: wrap;
    gap: 12px;
}
.hero-stat-divider[data-v-3c159d64] {
    display: none;
}
.hero-stat[data-v-3c159d64] {
    padding: 0 12px;
}
.hero-stat-value[data-v-3c159d64] {
    font-size: 20px;
}
.hero-right[data-v-3c159d64] {
    flex-direction: row;
    width: 100%;
}
.hero-btn-primary[data-v-3c159d64],
  .hero-btn-default[data-v-3c159d64] {
    flex: 1;
    justify-content: center;
}
.filter-bar[data-v-3c159d64] {
    padding: 12px;
}
.filter-search[data-v-3c159d64] {
    max-width: 100%;
}
.filter-dropdowns[data-v-3c159d64] {
    grid-template-columns: 1fr;
}
.filter-select[data-v-3c159d64] {
    width: 100%;
}
.card-grid[data-v-3c159d64] {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 12px 0;
}
.skill-card__actions[data-v-3c159d64] {
    flex-wrap: wrap;
    padding: 10px 32px 4px;
    margin: 10px -20px 0;
}
.skill-card__action-btn[data-v-3c159d64] {
    min-width: calc(50% - 3px);
    flex-direction: row;
    gap: 6px;
    padding: 8px 10px;
    justify-content: flex-start;
    border-radius: 6px;
}
.skill-card__action-btn[data-v-3c159d64]:not(:last-child)::after {
    display: none;
}
.batch-toolbar[data-v-3c159d64] {
    margin: 12px;
}
.batch-toolbar-content[data-v-3c159d64] {
    flex-direction: column;
    gap: 10px;
}
.batch-actions[data-v-3c159d64] {
    flex-wrap: wrap;
    justify-content: center;
}
.card-pagination[data-v-3c159d64] .ant-pagination-options {
    display: none;
}
}
/* ==================== 响应式 - 小屏手机 ==================== */
@media (max-width: 575px) {
.hero-title[data-v-3c159d64] {
    font-size: 20px;
}
.hero-right[data-v-3c159d64] {
    width: 100%;
}
.hero-stats[data-v-3c159d64] {
    flex-wrap: wrap;
    gap: 8px;
}
.hero-stat[data-v-3c159d64] {
    padding: 0 10px;
}
.hero-stat-value[data-v-3c159d64] {
    font-size: 18px;
}
.card-grid[data-v-3c159d64] {
    gap: 10px;
    padding: 12px 0;
}
.skill-card__header[data-v-3c159d64] {
    padding-left: 16px;
    padding-right: 16px;
    padding-top: 14px;
}
.skill-card__icon-wrap[data-v-3c159d64] {
    width: 40px;
    height: 40px;
    border-radius: 10px;
}
.skill-card__icon[data-v-3c159d64] {
    font-size: 18px;
}
.skill-card__desc[data-v-3c159d64] {
    line-clamp: 1;
}
.skill-card__tag[data-v-3c159d64] {
    font-size: 11px;
    padding: 2px 8px;
}
.skill-card__action-btn[data-v-3c159d64] {
    min-width: calc(50% - 3px);
    font-size: 11px;
    padding: 6px 8px;
}
.hero-btn-primary[data-v-3c159d64],
  .hero-btn-default[data-v-3c159d64] {
    font-size: 12px;
    padding: 0 16px;
}
.filter-bar[data-v-3c159d64] {
    padding: 12px;
}
.filter-search[data-v-3c159d64] {
    font-size: 13px;
}
.filter-select[data-v-3c159d64] {
    font-size: 13px;
}
.skill-card__name[data-v-3c159d64] {
    font-size: 14px;
}
.skill-card__version[data-v-3c159d64] {
    font-size: 11px;
}
.skill-card__source-tag[data-v-3c159d64] {
    font-size: 10px;
    padding: 0 6px;
    line-height: 20px;
}
.skill-card__footer[data-v-3c159d64] {
    font-size: 10px;
    padding-top: 8px;
    padding-bottom: 12px;
}
.batch-toolbar[data-v-3c159d64] {
    padding: 8px 12px;
    margin: 10px 8px;
}
.batch-actions[data-v-3c159d64] .ant-btn {
    font-size: 12px;
    padding: 4px 10px;
}
.card-pagination[data-v-3c159d64] .ant-pagination-item {
    min-width: 28px;
    height: 28px;
    line-height: 28px;
    font-size: 12px;
}
}
.skill-edit-page[data-v-32d4f941] {
  padding: var(--spacing-4);
  padding-bottom: 80px;
  background: var(--color-bg-layout);
}
/* 页面头部 - highlights-panel */
.highlights-panel[data-v-32d4f941] {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  border-radius: var(--radius-xl);
  padding: 24px 32px;
  color: white;
  margin-bottom: var(--spacing-4);
  position: relative;
  overflow: hidden;
}
/* 几何图形装饰 */
.highlights-bg-decoration[data-v-32d4f941] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-32d4f941] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-32d4f941] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-32d4f941] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-32d4f941] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-32d4f941] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-32d4f941] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-32d4f941] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-32d4f941] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-32d4f941] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-32d4f941] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
@media (max-width: 768px) {
.highlights-panel[data-v-32d4f941] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-32d4f941] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-32d4f941] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-32d4f941] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-32d4f941] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-32d4f941] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-32d4f941] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-32d4f941] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-32d4f941] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) {
.highlights-panel[data-v-32d4f941] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-32d4f941] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-32d4f941] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-32d4f941] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-32d4f941] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-32d4f941] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-32d4f941] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-32d4f941] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-32d4f941] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-32d4f941] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-32d4f941] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-32d4f941] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-32d4f941] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-32d4f941] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-32d4f941] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-32d4f941] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-32d4f941] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-32d4f941] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) {
.highlights-panel[data-v-32d4f941] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-32d4f941] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-32d4f941] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-32d4f941] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-32d4f941] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-32d4f941] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-32d4f941] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-32d4f941] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-32d4f941] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-32d4f941] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-32d4f941] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-32d4f941] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-32d4f941] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-32d4f941] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-32d4f941] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-32d4f941] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-32d4f941] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-32d4f941] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-32d4f941] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-32d4f941] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-32d4f941] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-32d4f941] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-32d4f941] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-32d4f941] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-32d4f941] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-32d4f941] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-32d4f941] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-32d4f941] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-32d4f941] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-32d4f941] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-32d4f941] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-32d4f941] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-32d4f941] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-32d4f941] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-32d4f941] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-32d4f941] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
.highlights-content[data-v-32d4f941] {
  display: flex;
  justify-content: space-between;
}
.highlights-left h2[data-v-32d4f941] {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: white;
}
.highlights-meta[data-v-32d4f941] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  font-size: 13px;
  opacity: 0.85;
}
.highlights-right[data-v-32d4f941] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff;
  padding: 12px 24px;
  padding-bottom: calc(12px + env(safe-area-inset-bottom));
  border-top: 1px solid #f0f0f0;
  z-index: 100;
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06);
  max-width: 1400px;
  margin: 0 auto;
}
.highlights-right .ant-btn[data-v-32d4f941] {
  height: 40px;
  font-size: 14px;
  font-weight: 500;
  border-radius: 6px;
}
/* 固定底部时的返回按钮样式 - 深色文字 */
.highlights-right .highlights-back-btn[data-v-32d4f941] {
  background: #f5f5f5;
  border: 1px solid #d9d9d9;
  color: #262626;
}
.highlights-right .highlights-back-btn[data-v-32d4f941]:hover {
  background: #e8e8e8;
  color: #262626;
  border-color: #bfbfbf;
}
.highlights-back-btn[data-v-32d4f941] {
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: white;
}
.highlights-back-btn[data-v-32d4f941]:hover {
  background: rgba(255, 255, 255, 0.25);
  color: white;
  border-color: rgba(255, 255, 255, 0.5);
}
.highlights-back-btn[data-v-32d4f941] {
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: white;
}
.highlights-back-btn[data-v-32d4f941]:hover {
  background: rgba(255, 255, 255, 0.25);
  color: white;
  border-color: rgba(255, 255, 255, 0.5);
}
/* 内容区域 */
.edit-content[data-v-32d4f941] {
  max-width: 1600px;
}
.edit-card[data-v-32d4f941] {
  margin-bottom: var(--spacing-3);
  border-radius: 12px;
  transition: box-shadow 0.3s, border-color 0.3s;
}
.edit-card--highlight[data-v-32d4f941] {
  box-shadow: 0 0 0 3px rgba(24, 144, 255, 0.4), 0 8px 24px rgba(24, 144, 255, 0.2);
  border-color: #1890ff;
}
.edit-card[data-v-32d4f941] .ant-card-head {
  border-bottom: 1px solid #f0f0f0;
  font-weight: 600;
}
/* 组成区域 */
.composition-section[data-v-32d4f941] {
  padding: 8px;
}
.section-header[data-v-32d4f941] {
  margin-bottom: 16px;
}
.composition-list[data-v-32d4f941] .ant-list-item {
  padding: 12px;
  border-radius: 8px;
  transition: background 0.3s;
}
.composition-list[data-v-32d4f941] .ant-list-item:hover {
  background: #fafafa;
}
.composition-avatar[data-v-32d4f941] {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}
/* 编排编辑器 */
.orchestration-editor[data-v-32d4f941] {
  border: 1px solid #d9d9d9;
  border-radius: 8px;
  overflow: hidden;
}
.editor-toolbar[data-v-32d4f941] {
  display: flex;
  justify-content: space-between;
  padding: 12px 16px;
  background: #fafafa;
  border-bottom: 1px solid #d9d9d9;
}
.flow-canvas[data-v-32d4f941] {
  min-height: 400px;
  background: radial-gradient(circle, #d9d9d9 1px, transparent 1px);
  background-size: 20px 20px;
  position: relative;
  padding: 24px;
  overflow: auto;
}
@media (max-width: 768px) {
.flow-canvas[data-v-32d4f941] {
    padding: 12px;
}
.flow-canvas .highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    display: none;
}
}
.flow-empty[data-v-32d4f941] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 300px;
  color: rgba(0, 0, 0, 0.25);
}
.flow-empty-icon[data-v-32d4f941] {
  font-size: 48px;
  margin-bottom: 16px;
}
.flow-node[data-v-32d4f941] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: #fff;
  border: 2px solid #e8e8e8;
  border-radius: 8px;
  width: 280px;
  cursor: move;
  transition: border-color 0.3s, box-shadow 0.3s, transform 0.1s;
  position: absolute;
  user-select: none;
  z-index: 1;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.flow-node[data-v-32d4f941]:hover {
  border-color: #722ed1;
  box-shadow: 0 4px 16px rgba(114, 46, 209, 0.2);
}
.flow-node--selected[data-v-32d4f941] {
  border-color: #722ed1;
  background: #f9f0ff;
  box-shadow: 0 4px 16px rgba(114, 46, 209, 0.25);
}
.flow-node--start[data-v-32d4f941] {
  border-color: #52c41a;
}
.flow-node--end[data-v-32d4f941] {
  border-color: #ff4d4f;
}
.flow-node__icon[data-v-32d4f941] {
  width: 36px;
  height: 36px;
  border-radius: 6px;
  background: #f0f0f0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
}
.flow-node__content[data-v-32d4f941] {
  flex: 1;
  min-width: 0;
}
.flow-node__name[data-v-32d4f941] {
  font-weight: 500;
  color: rgba(0, 0, 0, 0.85);
}
.flow-node__type[data-v-32d4f941] {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.45);
}
.flow-node__actions[data-v-32d4f941] {
  display: flex;
  gap: 4px;
}
.flow-node__port[data-v-32d4f941] {
  position: absolute;
  width: 12px;
  height: 12px;
  background: #722ed1;
  border-radius: 50%;
  border: 2px solid #fff;
  cursor: crosshair;
  pointer-events: auto;
  z-index: 2;
  transition: transform 0.2s, background 0.2s, box-shadow 0.2s;
  box-shadow: 0 0 0 2px rgba(114, 46, 209, 0.2);
}
.flow-node__port[data-v-32d4f941]:hover {
  background: #531dab;
  box-shadow: 0 0 0 4px rgba(114, 46, 209, 0.3);
}
.flow-node__port--input[data-v-32d4f941] {
  left: -7px;
  top: 50%;
  transform: translateY(-50%);
}
.flow-node__port--input[data-v-32d4f941]:hover {
  transform: translateY(-50%) scale(1.3);
}
.flow-node__port--output[data-v-32d4f941] {
  right: -7px;
  top: 50%;
  transform: translateY(-50%);
}
.flow-node__port--output[data-v-32d4f941]:hover {
  transform: translateY(-50%) scale(1.3);
}
.flow-edges[data-v-32d4f941] {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: visible;
  z-index: 0;
}
/* IO 区域 */
.io-section[data-v-32d4f941] {
  padding: 8px;
}
/* 版本信息 */
.version-info[data-v-32d4f941] {
  padding: 8px;
}
.version-current[data-v-32d4f941] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.version-label[data-v-32d4f941] {
  color: rgba(0, 0, 0, 0.65);
}
/* 使用说明 */
.guide-content[data-v-32d4f941] {
  padding: 8px;
}
.guide-content p[data-v-32d4f941] {
  margin: 0 0 8px;
}
.guide-content ul[data-v-32d4f941] {
  margin: 0 0 16px;
  padding-left: 20px;
}
.guide-content li[data-v-32d4f941] {
  margin-bottom: 4px;
  color: rgba(0, 0, 0, 0.65);
}
/* 测试弹窗 */
.test-container[data-v-32d4f941] {
  padding: 8px;
}
.test-inputs h4[data-v-32d4f941] {
  margin: 0 0 16px;
  font-size: 14px;
  color: rgba(0, 0, 0, 0.85);
}
.test-actions[data-v-32d4f941] {
  display: flex;
  justify-content: center;
  margin: 16px 0;
}
.test-result h4[data-v-32d4f941] {
  margin: 0 0 16px;
  font-size: 14px;
  color: rgba(0, 0, 0, 0.85);
}
.result-content[data-v-32d4f941] {
  background: #fafafa;
  border-radius: 8px;
  padding: 16px;
}
@media (max-width: 768px) {
.result-content[data-v-32d4f941] {
    padding: 12px;
}
.result-content .highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    display: none;
}
}
.result-section[data-v-32d4f941] {
  margin-bottom: 16px;
}
.result-section h5[data-v-32d4f941] {
  margin: 0 0 8px;
  font-size: 13px;
  color: rgba(0, 0, 0, 0.65);
}
.execution-log[data-v-32d4f941],
.output-content[data-v-32d4f941] {
  background: #fff;
  border: 1px solid #d9d9d9;
  border-radius: 6px;
  padding: 12px;
  font-family: 'Monaco', 'Menlo', monospace;
  font-size: 13px;
  white-space: pre-wrap;
  word-wrap: break-word;
  max-height: 300px;
  overflow-y: auto;
}
/* 响应式 */
@media (max-width: 992px) {
.highlights-panel[data-v-32d4f941] {
    padding: 16px;
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-32d4f941] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-32d4f941] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-32d4f941] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-32d4f941] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-32d4f941] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-32d4f941] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-32d4f941] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-32d4f941] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-32d4f941] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-content[data-v-32d4f941] {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}
.highlights-left h2[data-v-32d4f941] {
    font-size: 18px;
}
}
@media (max-width: 992px) and (max-width: 768px) {
.highlights-panel[data-v-32d4f941] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-32d4f941] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-32d4f941] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-32d4f941] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-32d4f941] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-32d4f941] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-32d4f941] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-32d4f941] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-32d4f941] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 992px) and (max-width: 768px) {
.highlights-panel[data-v-32d4f941] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-32d4f941] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-32d4f941] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-32d4f941] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-32d4f941] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-32d4f941] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-32d4f941] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-32d4f941] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-32d4f941] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 992px) and (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-32d4f941] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-32d4f941] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-32d4f941] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-32d4f941] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-32d4f941] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-32d4f941] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-32d4f941] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-32d4f941] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-32d4f941] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 992px) and (max-width: 768px) {
.highlights-panel[data-v-32d4f941] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-32d4f941] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-32d4f941] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-32d4f941] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-32d4f941] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-32d4f941] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-32d4f941] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-32d4f941] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-32d4f941] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 992px) and (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-32d4f941] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-32d4f941] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-32d4f941] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-32d4f941] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-32d4f941] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-32d4f941] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-32d4f941] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-32d4f941] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-32d4f941] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 992px) and (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-32d4f941] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-32d4f941] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-32d4f941] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-32d4f941] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-32d4f941] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-32d4f941] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-32d4f941] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-32d4f941] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-32d4f941] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 992px) and (max-width: 768px) and (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-32d4f941] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-32d4f941] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-32d4f941] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-32d4f941] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-32d4f941] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-32d4f941] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-32d4f941] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-32d4f941] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-32d4f941] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) {
.skill-edit-page[data-v-32d4f941] {
    padding: 12px;
    padding-bottom: 60px;
}
.skill-edit-page .highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    display: none;
}
.highlights-panel[data-v-32d4f941] {
    padding: 16px;
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-32d4f941] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-32d4f941] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-32d4f941] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-32d4f941] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-32d4f941] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-32d4f941] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-32d4f941] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-32d4f941] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-32d4f941] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-left h2[data-v-32d4f941] {
    font-size: 18px;
}
.edit-card[data-v-32d4f941] {
    margin-bottom: var(--spacing-3);
}
.editor-toolbar[data-v-32d4f941] {
    flex-direction: column;
    gap: 8px;
}
.flow-canvas[data-v-32d4f941] {
    min-height: 300px;
    padding: 16px;
}
.tab-content[data-v-32d4f941] {
    padding: 12px;
}
.highlights-right .ant-btn[data-v-32d4f941] {
    flex: 1;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-32d4f941] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-32d4f941] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-32d4f941] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-32d4f941] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-32d4f941] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-32d4f941] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-32d4f941] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-32d4f941] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-32d4f941] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-32d4f941] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-32d4f941] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-32d4f941] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-32d4f941] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-32d4f941] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-32d4f941] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-32d4f941] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-32d4f941] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-32d4f941] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-32d4f941] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-32d4f941] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-32d4f941] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-32d4f941] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-32d4f941] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-32d4f941] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-32d4f941] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-32d4f941] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-32d4f941] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-32d4f941] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-32d4f941] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-32d4f941] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-32d4f941] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-32d4f941] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-32d4f941] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-32d4f941] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-32d4f941] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-32d4f941] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-32d4f941] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-32d4f941] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-32d4f941] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-32d4f941] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-32d4f941] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-32d4f941] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-32d4f941] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-32d4f941] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-32d4f941] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-32d4f941] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-32d4f941] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-32d4f941] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-32d4f941] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-32d4f941] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-32d4f941] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-32d4f941] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-32d4f941] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-32d4f941] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) and (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-32d4f941] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-32d4f941] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-32d4f941] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-32d4f941] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-32d4f941] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-32d4f941] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-32d4f941] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-32d4f941] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-32d4f941] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.flow-canvas[data-v-32d4f941] {
    padding: 12px;
}
.flow-canvas .highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    display: none;
}
}
@media (max-width: 575px) {
.highlights-panel[data-v-32d4f941] {
    padding: 16px;
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-32d4f941] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-32d4f941] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-32d4f941] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-32d4f941] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-32d4f941] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-32d4f941] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-32d4f941] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-32d4f941] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-32d4f941] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-content[data-v-32d4f941] {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}
.highlights-left h2[data-v-32d4f941] {
    font-size: 18px;
}
.highlights-right .ant-btn[data-v-32d4f941] {
    flex: 1;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.highlights-panel[data-v-32d4f941] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-32d4f941] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-32d4f941] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-32d4f941] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-32d4f941] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-32d4f941] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-32d4f941] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-32d4f941] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-32d4f941] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.highlights-panel[data-v-32d4f941] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-32d4f941] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-32d4f941] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-32d4f941] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-32d4f941] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-32d4f941] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-32d4f941] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-32d4f941] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-32d4f941] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 575px) and (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-32d4f941] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-32d4f941] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-32d4f941] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-32d4f941] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-32d4f941] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-32d4f941] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-32d4f941] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-32d4f941] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-32d4f941] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.highlights-panel[data-v-32d4f941] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-32d4f941] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-32d4f941] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-32d4f941] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-32d4f941] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-32d4f941] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-32d4f941] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-32d4f941] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-32d4f941] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 575px) and (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-32d4f941] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-32d4f941] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-32d4f941] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-32d4f941] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-32d4f941] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-32d4f941] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-32d4f941] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-32d4f941] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-32d4f941] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 575px) and (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-32d4f941] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-32d4f941] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-32d4f941] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-32d4f941] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-32d4f941] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-32d4f941] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-32d4f941] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-32d4f941] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-32d4f941] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 575px) and (max-width: 768px) and (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-32d4f941] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-32d4f941] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-32d4f941] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-32d4f941] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-32d4f941] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-32d4f941] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-32d4f941] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-32d4f941] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-32d4f941] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-32d4f941] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
/* 移动端参数卡片视图 */
.mobile-param-list[data-v-32d4f941] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 16px;
}
.mobile-param-card[data-v-32d4f941] {
  background: var(--color-bg-layout);
  border-radius: var(--radius-lg);
  padding: 16px;
}
.mobile-param-row[data-v-32d4f941] {
  margin-bottom: 12px;
}
.mobile-param-row[data-v-32d4f941]:last-child {
  margin-bottom: 0;
}
.mobile-param-footer[data-v-32d4f941] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--color-border-secondary);
}
@media (max-width: 768px) {
.mobile-param-list[data-v-32d4f941] {
    padding: 0;
}
.mobile-param-list .highlights-panel .highlights-bg-decoration[data-v-32d4f941] {
    display: none;
}
.mobile-param-card[data-v-32d4f941] {
    padding: 14px;
    border-radius: 10px;
}
}
.skill-detail-page[data-v-caec36dd] {
  padding: var(--spacing-4);
  background: var(--color-bg-layout);
}
/* 页面头部 - highlights-panel */
.highlights-panel[data-v-caec36dd] {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  border-radius: var(--radius-xl);
  padding: 24px 32px;
  color: white;
  margin-bottom: var(--spacing-4);
  position: relative;
  overflow: hidden;
}
/* 几何图形装饰 */
.highlights-bg-decoration[data-v-caec36dd] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-caec36dd] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-caec36dd] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-caec36dd] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-caec36dd] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-caec36dd] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-caec36dd] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-caec36dd] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-caec36dd] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-caec36dd] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-caec36dd] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
@media (max-width: 768px) {
.highlights-panel[data-v-caec36dd] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-caec36dd] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-caec36dd] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-caec36dd] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-caec36dd] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-caec36dd] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-caec36dd] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-caec36dd] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-caec36dd] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) {
.highlights-panel[data-v-caec36dd] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-caec36dd] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-caec36dd] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-caec36dd] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-caec36dd] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-caec36dd] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-caec36dd] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-caec36dd] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-caec36dd] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-caec36dd] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-caec36dd] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-caec36dd] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-caec36dd] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-caec36dd] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-caec36dd] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-caec36dd] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-caec36dd] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-caec36dd] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) {
.highlights-panel[data-v-caec36dd] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-caec36dd] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-caec36dd] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-caec36dd] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-caec36dd] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-caec36dd] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-caec36dd] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-caec36dd] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-caec36dd] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-caec36dd] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-caec36dd] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-caec36dd] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-caec36dd] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-caec36dd] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-caec36dd] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-caec36dd] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-caec36dd] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-caec36dd] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-caec36dd] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-caec36dd] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-caec36dd] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-caec36dd] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-caec36dd] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-caec36dd] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-caec36dd] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-caec36dd] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-caec36dd] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-caec36dd] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-caec36dd] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-caec36dd] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-caec36dd] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-caec36dd] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-caec36dd] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-caec36dd] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-caec36dd] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-caec36dd] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
.highlights-content[data-v-caec36dd] {
  display: flex;
  justify-content: space-between;
}
.highlights-left h2[data-v-caec36dd] {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: white;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.highlights-meta[data-v-caec36dd] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  font-size: 13px;
  opacity: 0.85;
  font-family: 'SFMono-Regular', Consolas, monospace;
}
.highlights-tag[data-v-caec36dd] {
  background: rgba(255, 255, 255, 0.2);
  border: none;
  color: white;
}
.highlights-right[data-v-caec36dd] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-back-btn[data-v-caec36dd] {
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: white;
}
.highlights-back-btn[data-v-caec36dd]:hover {
  background: rgba(255, 255, 255, 0.25);
  color: white;
  border-color: rgba(255, 255, 255, 0.5);
}
/* 内容区域 */
.detail-content[data-v-caec36dd] {
  padding: var(--spacing-4);
}
@media (max-width: 768px) {
.detail-content[data-v-caec36dd] {
    padding: 12px;
}
.detail-content .highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    display: none;
}
}
.detail-card[data-v-caec36dd] {
  margin-bottom: var(--spacing-3);
  border-radius: 12px;
}
.detail-card[data-v-caec36dd] .ant-card-head {
  border-bottom: 1px solid #f0f0f0;
  font-weight: 600;
}
.empty-text[data-v-caec36dd] {
  color: rgba(0, 0, 0, 0.25);
}
/* 组成列表 */
.composition-list[data-v-caec36dd] {
  padding: 8px;
}
.composition-list[data-v-caec36dd] .ant-list-item {
  padding: 12px;
  border-radius: 8px;
  transition: background 0.3s;
}
.composition-list[data-v-caec36dd] .ant-list-item:hover {
  background: #fafafa;
}
.composition-avatar[data-v-caec36dd] {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}
/* 流程预览 */
.flow-preview[data-v-caec36dd] {
  padding: 24px;
  background: #fafafa;
  border-radius: 8px;
  min-height: 300px;
}
.flow-empty[data-v-caec36dd] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 200px;
  color: rgba(0, 0, 0, 0.25);
}
.flow-empty-icon[data-v-caec36dd] {
  font-size: 48px;
  margin-bottom: 16px;
}
.flow-diagram[data-v-caec36dd] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.flow-node[data-v-caec36dd] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 20px;
  background: #fff;
  border: 2px solid #d9d9d9;
  border-radius: 8px;
  width: 280px;
}
@media (max-width: 768px) {
.flow-node[data-v-caec36dd] {
    padding: 12px;
}
.flow-node .highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    display: none;
}
}
.flow-node--start[data-v-caec36dd] {
  border-color: #52c41a;
}
.flow-node--end[data-v-caec36dd] {
  border-color: #ff4d4f;
}
.flow-node--prompt[data-v-caec36dd] {
  border-color: #1677ff;
}
.flow-node--condition[data-v-caec36dd] {
  border-color: #fa8c16;
}
.flow-node--loop[data-v-caec36dd] {
  border-color: #722ed1;
}
.flow-node__icon[data-v-caec36dd] {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background: #f0f0f0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
}
.flow-node__content[data-v-caec36dd] {
  flex: 1;
  min-width: 0;
}
.flow-node__name[data-v-caec36dd] {
  font-weight: 500;
  color: rgba(0, 0, 0, 0.85);
}
.flow-node__type[data-v-caec36dd] {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.45);
}
.flow-connector[data-v-caec36dd] {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 4px 0;
  position: relative;
}
.flow-connector__line[data-v-caec36dd] {
  width: 2px;
  height: 20px;
  background: linear-gradient(180deg, #d9d9d9 0%, #bfbfbf 100%);
  border-radius: 1px;
}
.flow-connector__arrow[data-v-caec36dd] {
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #8c8c8c;
  font-size: 12px;
  background: #fafafa;
  border: 1px solid #e8e8e8;
  border-radius: 50%;
  margin-top: -1px;
}
/* 示例 */
.examples-list[data-v-caec36dd] {
  padding: 8px;
}
.example-content[data-v-caec36dd] {
  padding: 8px;
}
.example-input[data-v-caec36dd],
.example-output[data-v-caec36dd] {
  margin-bottom: 16px;
}
.example-input h5[data-v-caec36dd],
.example-output h5[data-v-caec36dd] {
  margin: 0 0 8px;
  font-size: 13px;
  color: rgba(0, 0, 0, 0.65);
}
.example-input pre[data-v-caec36dd],
.example-output pre[data-v-caec36dd] {
  background: #f5f5f5;
  padding: 12px;
  border-radius: 6px;
  font-size: 12px;
  overflow-x: auto;
}
/* 评价 */
.reviews-summary[data-v-caec36dd] {
  padding: 8px;
}
.rating-overview[data-v-caec36dd] {
  text-align: center;
  padding: 16px;
}
@media (max-width: 768px) {
.rating-overview[data-v-caec36dd] {
    padding: 12px;
}
.rating-overview .highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    display: none;
}
}
.rating-score[data-v-caec36dd] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.rating-score .score[data-v-caec36dd] {
  font-size: 36px;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.85);
}
.rating-score .count[data-v-caec36dd] {
  color: rgba(0, 0, 0, 0.45);
}
.reviews-list[data-v-caec36dd] .ant-list-item {
  padding: 16px 0;
}
.review-time[data-v-caec36dd] {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.25);
}
/* 统计概览 */
.stats-overview[data-v-caec36dd] {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
.stat-card[data-v-caec36dd] {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #fafafa;
  border-radius: 8px;
}
.stat-icon[data-v-caec36dd] {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
}
.stat-icon.purple[data-v-caec36dd] {
  background: #f9f0ff;
  color: #722ed1;
}
.stat-icon.orange[data-v-caec36dd] {
  background: #fff7e6;
  color: #fa8c16;
}
.stat-icon.blue[data-v-caec36dd] {
  background: #e6f4ff;
  color: #1677ff;
}
.stat-icon.green[data-v-caec36dd] {
  background: #f6ffed;
  color: #52c41a;
}
.stat-number[data-v-caec36dd] {
  font-size: 20px;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.85);
}
.stat-label[data-v-caec36dd] {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.45);
}
/* IO 列表 */
.io-list[data-v-caec36dd] {
  padding: 8px;
}
.io-item[data-v-caec36dd] {
  padding: 12px;
  background: #fafafa;
  border-radius: 8px;
  margin-bottom: 8px;
}
.io-header[data-v-caec36dd] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}
.io-name[data-v-caec36dd] {
  font-weight: 500;
  color: rgba(0, 0, 0, 0.85);
}
.io-desc[data-v-caec36dd] {
  margin: 0;
  font-size: 12px;
  color: rgba(0, 0, 0, 0.45);
}
/* 时间信息 */
.time-list[data-v-caec36dd] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.time-item[data-v-caec36dd] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.time-icon[data-v-caec36dd] {
  font-size: 16px;
  color: rgba(0, 0, 0, 0.25);
}
.time-label[data-v-caec36dd] {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.45);
}
.time-value[data-v-caec36dd] {
  font-size: 13px;
  color: rgba(0, 0, 0, 0.85);
}
/* 快速测试 */
.quick-test[data-v-caec36dd] {
  text-align: center;
}
.test-desc[data-v-caec36dd] {
  color: rgba(0, 0, 0, 0.45);
  margin-bottom: 16px;
}
/* 类似技能 */
.similar-list[data-v-caec36dd] {
  padding: 8px;
}
.similar-item[data-v-caec36dd] {
  cursor: pointer;
  transition: background 0.3s;
}
.similar-item[data-v-caec36dd]:hover {
  background: #fafafa;
}
.similar-avatar[data-v-caec36dd] {
  width: 36px;
  height: 36px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}
/* 测试弹窗 */
.test-container[data-v-caec36dd] {
  padding: 8px;
}
.test-inputs h4[data-v-caec36dd] {
  margin: 0 0 16px;
  font-size: 14px;
  color: rgba(0, 0, 0, 0.85);
}
.test-actions[data-v-caec36dd] {
  display: flex;
  justify-content: center;
  margin: 16px 0;
}
.test-result h4[data-v-caec36dd] {
  margin: 0 0 16px;
  font-size: 14px;
  color: rgba(0, 0, 0, 0.85);
}
.result-content[data-v-caec36dd] {
  background: #fafafa;
  border-radius: 8px;
  padding: 16px;
}
@media (max-width: 768px) {
.result-content[data-v-caec36dd] {
    padding: 12px;
}
.result-content .highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    display: none;
}
}
.result-section[data-v-caec36dd] {
  margin-bottom: 16px;
}
.result-section h5[data-v-caec36dd] {
  margin: 0 0 8px;
  font-size: 13px;
  color: rgba(0, 0, 0, 0.65);
}
.execution-log[data-v-caec36dd],
.output-content[data-v-caec36dd] {
  background: #fff;
  border: 1px solid #d9d9d9;
  border-radius: 6px;
  padding: 12px;
  font-family: 'Monaco', 'Menlo', monospace;
  font-size: 13px;
  white-space: pre-wrap;
  word-wrap: break-word;
  max-height: 300px;
  overflow-y: auto;
}
/* 响应式 */
@media (max-width: 992px) {
.highlights-panel[data-v-caec36dd] {
    padding: 16px;
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-caec36dd] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-caec36dd] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-caec36dd] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-caec36dd] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-caec36dd] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-caec36dd] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-caec36dd] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-caec36dd] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-caec36dd] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-content[data-v-caec36dd] {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}
.highlights-left h2[data-v-caec36dd] {
    font-size: 18px;
}
.highlights-right[data-v-caec36dd] {
    width: 100%;
}
.highlights-right .ant-btn[data-v-caec36dd] {
    flex: 1;
}
.stats-overview[data-v-caec36dd] {
    grid-template-columns: 1fr;
}
}
@media (max-width: 992px) and (max-width: 768px) {
.highlights-panel[data-v-caec36dd] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-caec36dd] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-caec36dd] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-caec36dd] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-caec36dd] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-caec36dd] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-caec36dd] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-caec36dd] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-caec36dd] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 992px) and (max-width: 768px) {
.highlights-panel[data-v-caec36dd] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-caec36dd] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-caec36dd] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-caec36dd] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-caec36dd] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-caec36dd] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-caec36dd] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-caec36dd] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-caec36dd] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 992px) and (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-caec36dd] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-caec36dd] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-caec36dd] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-caec36dd] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-caec36dd] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-caec36dd] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-caec36dd] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-caec36dd] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-caec36dd] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 992px) and (max-width: 768px) {
.highlights-panel[data-v-caec36dd] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-caec36dd] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-caec36dd] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-caec36dd] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-caec36dd] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-caec36dd] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-caec36dd] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-caec36dd] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-caec36dd] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 992px) and (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-caec36dd] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-caec36dd] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-caec36dd] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-caec36dd] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-caec36dd] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-caec36dd] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-caec36dd] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-caec36dd] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-caec36dd] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 992px) and (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-caec36dd] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-caec36dd] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-caec36dd] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-caec36dd] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-caec36dd] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-caec36dd] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-caec36dd] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-caec36dd] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-caec36dd] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 992px) and (max-width: 768px) and (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-caec36dd] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-caec36dd] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-caec36dd] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-caec36dd] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-caec36dd] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-caec36dd] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-caec36dd] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-caec36dd] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-caec36dd] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) {
.skill-detail-page[data-v-caec36dd] {
    padding: 12px;
}
.skill-detail-page .highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    display: none;
}
.highlights-panel[data-v-caec36dd] {
    padding: 16px;
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-caec36dd] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-caec36dd] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-caec36dd] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-caec36dd] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-caec36dd] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-caec36dd] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-caec36dd] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-caec36dd] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-caec36dd] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-left h2[data-v-caec36dd] {
    font-size: 18px;
}
.detail-card[data-v-caec36dd] {
    margin-bottom: var(--spacing-3);
}
.flow-node[data-v-caec36dd] {
    width: 100%;
    max-width: 280px;
}
.stats-overview[data-v-caec36dd] {
    grid-template-columns: repeat(2, 1fr);
}
.tab-content[data-v-caec36dd] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-caec36dd] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-caec36dd] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-caec36dd] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-caec36dd] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-caec36dd] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-caec36dd] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-caec36dd] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-caec36dd] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-caec36dd] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-caec36dd] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-caec36dd] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-caec36dd] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-caec36dd] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-caec36dd] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-caec36dd] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-caec36dd] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-caec36dd] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-caec36dd] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-caec36dd] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-caec36dd] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-caec36dd] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-caec36dd] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-caec36dd] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-caec36dd] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-caec36dd] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-caec36dd] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-caec36dd] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-caec36dd] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-caec36dd] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-caec36dd] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-caec36dd] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-caec36dd] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-caec36dd] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-caec36dd] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-caec36dd] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-caec36dd] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-caec36dd] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-caec36dd] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-caec36dd] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-caec36dd] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-caec36dd] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-caec36dd] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-caec36dd] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-caec36dd] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-caec36dd] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-caec36dd] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-caec36dd] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-caec36dd] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-caec36dd] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-caec36dd] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-caec36dd] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-caec36dd] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-caec36dd] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-caec36dd] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) and (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-caec36dd] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-caec36dd] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-caec36dd] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-caec36dd] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-caec36dd] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-caec36dd] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-caec36dd] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-caec36dd] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-caec36dd] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.flow-node[data-v-caec36dd] {
    padding: 12px;
}
.flow-node .highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    display: none;
}
}
@media (max-width: 575px) {
.highlights-panel[data-v-caec36dd] {
    padding: 16px;
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-caec36dd] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-caec36dd] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-caec36dd] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-caec36dd] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-caec36dd] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-caec36dd] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-caec36dd] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-caec36dd] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-caec36dd] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-content[data-v-caec36dd] {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}
.highlights-left h2[data-v-caec36dd] {
    font-size: 18px;
}
.highlights-right[data-v-caec36dd] {
    width: 100%;
}
.highlights-right .ant-btn[data-v-caec36dd] {
    flex: 1;
}
.stats-overview[data-v-caec36dd] {
    grid-template-columns: 1fr;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.highlights-panel[data-v-caec36dd] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-caec36dd] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-caec36dd] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-caec36dd] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-caec36dd] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-caec36dd] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-caec36dd] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-caec36dd] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-caec36dd] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.highlights-panel[data-v-caec36dd] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-caec36dd] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-caec36dd] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-caec36dd] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-caec36dd] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-caec36dd] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-caec36dd] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-caec36dd] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-caec36dd] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 575px) and (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-caec36dd] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-caec36dd] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-caec36dd] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-caec36dd] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-caec36dd] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-caec36dd] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-caec36dd] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-caec36dd] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-caec36dd] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.highlights-panel[data-v-caec36dd] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-caec36dd] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-caec36dd] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-caec36dd] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-caec36dd] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-caec36dd] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-caec36dd] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-caec36dd] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-caec36dd] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 575px) and (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-caec36dd] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-caec36dd] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-caec36dd] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-caec36dd] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-caec36dd] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-caec36dd] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-caec36dd] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-caec36dd] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-caec36dd] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 575px) and (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-caec36dd] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-caec36dd] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-caec36dd] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-caec36dd] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-caec36dd] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-caec36dd] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-caec36dd] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-caec36dd] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-caec36dd] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 575px) and (max-width: 768px) and (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-caec36dd] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-caec36dd] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-caec36dd] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-caec36dd] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-caec36dd] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-caec36dd] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-caec36dd] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-caec36dd] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-caec36dd] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-caec36dd] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-caec36dd] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
/* Fixed Bottom Actions */
.fixed-actions[data-v-caec36dd] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 12px;
  background: #fff;
  border-top: 1px solid var(--color-border-secondary);
  display: flex;
  justify-content: flex-end;
  z-index: 100;
}
/* ==================== 页面容器 ==================== */
.ai-agents-page[data-v-bb105eb0] {
  padding: var(--spacing-4);
  min-height: 100%;
  background: var(--color-bg-layout);
}
/* ==================== Hero Section ==================== */
.hero-bg-decoration[data-v-bb105eb0] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-bb105eb0] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-bb105eb0] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-bb105eb0] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-bb105eb0] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-bb105eb0] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-bb105eb0] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-bb105eb0] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-bb105eb0] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-bb105eb0] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-bb105eb0] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-bb105eb0] {
  flex: 1;
}
.hero-title[data-v-bb105eb0] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-bb105eb0] {
  margin: 0 0 16px;
  font-size: 14px;
  opacity: 0.85;
  max-width: 600px;
}
.hero-stats[data-v-bb105eb0] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.hero-stat[data-v-bb105eb0] {
  display: flex;
  flex-direction: column;
}
.hero-stat-value[data-v-bb105eb0] {
  font-size: 22px;
  font-weight: 700;
}
.hero-stat-label[data-v-bb105eb0] {
  font-size: 12px;
  opacity: 0.7;
}
.hero-stat-divider[data-v-bb105eb0] {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.25);
}
.hero-right[data-v-bb105eb0] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
/* ==================== 筛选栏 ==================== */
.filter-bar[data-v-bb105eb0] {
  background: #fff;
  padding: 12px;
  border-radius: 0 0 12px 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  position: relative;
  z-index: 2;
}
.filter-bar-inner[data-v-bb105eb0] {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: 1600px;
  margin: 0 auto;
}
.filter-search-row[data-v-bb105eb0] {
  display: flex;
  gap: 8px;
  align-items: center;
}
.filter-search[data-v-bb105eb0] {
  flex: 1;
  max-width: 320px;
}
.filter-toggle-btn[data-v-bb105eb0] {
  flex-shrink: 0;
}
.filter-dropdowns[data-v-bb105eb0] {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  margin-top: 12px;
}
.filter-actions[data-v-bb105eb0] {
  grid-column: 1 / -1;
  display: flex;
  gap: 8px;
}
.filter-select[data-v-bb105eb0] {
  min-width: 140px;
}
/* ==================== 批量操作工具栏 ==================== */
.batch-toolbar[data-v-bb105eb0] {
  background: linear-gradient(135deg, rgba(24, 144, 255, 0.06) 0%, rgba(24, 144, 255, 0.1) 100%);
  border: 1px solid rgba(24, 144, 255, 0.2);
  border-radius: 10px;
  margin: 16px 24px;
  padding: 10px 20px;
  position: relative;
  z-index: 1;
  backdrop-filter: blur(10px);
}
.batch-toolbar[data-v-bb105eb0]:hover {
  box-shadow: 0 2px 12px rgba(24, 144, 255, 0.1);
}
.batch-toolbar-content[data-v-bb105eb0] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.selection-info[data-v-bb105eb0] {
  display: flex;
  align-items: center;
}
.batch-actions[data-v-bb105eb0] {
  display: flex;
  gap: 8px;
}
.batch-actions .ant-btn[data-v-bb105eb0] {
  border-radius: 6px;
  display: flex;
  align-items: center;
  gap: 6px;
}
/* ==================== 卡片网格 ==================== */
.card-grid[data-v-bb105eb0] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  padding: 12px 0;
  margin: 0 auto;
}
/* ==================== 单张卡片 ==================== */
.agent-card[data-v-bb105eb0] {
  position: relative;
  background: #fff;
  border-radius: 14px;
  border: 1px solid #ebeef5;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  padding: 0;
  cursor: pointer;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.agent-card[data-v-bb105eb0]:hover {
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(24, 144, 255, 0.15);
  border-color: transparent;
  transform: translateY(-4px);
}
.agent-card[data-v-bb105eb0]:active {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}
.agent-card--selected[data-v-bb105eb0] {
  border-color: #1890ff;
  box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.15);
}
/* 选中复选框 */
.agent-card__checkbox[data-v-bb105eb0] {
  position: absolute;
  top: 14px;
  left: 14px;
  opacity: 0;
  transition: opacity 0.2s ease;
  z-index: 3;
}
.agent-card:hover .agent-card__checkbox[data-v-bb105eb0],
.agent-card--selected .agent-card__checkbox[data-v-bb105eb0] {
  opacity: 1;
}
/* 顶部装饰条 */
.agent-card__accent[data-v-bb105eb0] {
  height: 4px;
  width: 100%;
  flex-shrink: 0;
}
/* 卡片头部 */
.agent-card__header[data-v-bb105eb0] {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 20px 0;
}
.agent-card__icon-wrap[data-v-bb105eb0] {
  width: 46px;
  height: 46px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15);
}
.agent-card__icon[data-v-bb105eb0] {
  color: #fff;
  font-size: 22px;
}
.agent-card__title-group[data-v-bb105eb0] {
  min-width: 0;
  flex: 1;
}
.agent-card__name[data-v-bb105eb0] {
  font-size: 15px;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.85);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.4;
}
.agent-card__code[data-v-bb105eb0] {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.45);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
}
.agent-card__header-right[data-v-bb105eb0] {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.agent-card__status-tag[data-v-bb105eb0] {
  border-radius: 6px;
  font-size: 11px;
  padding: 0 8px;
  line-height: 22px;
  border: none;
  font-weight: 500;
}
.agent-card__more-btn[data-v-bb105eb0] {
  color: rgba(0, 0, 0, 0.3);
  width: 28px;
  height: 28px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
}
.agent-card__more-btn[data-v-bb105eb0]:hover {
  color: rgba(0, 0, 0, 0.75);
  background: rgba(0, 0, 0, 0.04);
}
/* 描述 */
.agent-card__desc[data-v-bb105eb0] {
  padding: 8px 20px 0;
  font-size: 13px;
  color: rgba(0, 0, 0, 0.45);
  line-height: 1.5;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
/* 统计标签 */
.agent-card__tags[data-v-bb105eb0] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 12px 20px 0;
}
.agent-card__tag[data-v-bb105eb0] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  font-weight: 500;
  padding: 3px 10px;
  border-radius: 6px;
  line-height: 1.4;
  white-space: nowrap;
  transition: all 0.2s ease;
}
.agent-card__tag[data-v-bb105eb0] .anticon {
  font-size: 12px;
}
.agent-card__tag--model[data-v-bb105eb0] {
  color: #722ed1;
  background: #f9f0ff;
}
.agent-card__tag--conversations[data-v-bb105eb0] {
  color: #595959;
  background: #f5f5f5;
}
.agent-card__tag--knowledge[data-v-bb105eb0] {
  color: #1677ff;
  background: #e6f4ff;
}
.agent-card__tag--tools[data-v-bb105eb0] {
  color: #52c41a;
  background: #f6ffed;
}
/* 快捷操作栏 */
.agent-card__actions[data-v-bb105eb0] {
  display: flex;
  gap: 0;
  padding: 12px 20px 0;
  margin: 12px -20px 0;
  border-top: 1px solid #f0f0f0;
  background: #fafafa;
}
.agent-card__action-btn[data-v-bb105eb0] {
  flex: 1;
  height: auto;
  padding: 10px 4px;
  font-size: 12px;
  font-weight: 500;
  color: #595959;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  border-radius: 0;
  transition: all 0.2s ease;
  position: relative;
}
.agent-card__action-btn[data-v-bb105eb0] .anticon {
  font-size: 15px;
  color: #8c8c8c;
  margin-left: 8px;
  transition: all 0.2s ease;
}
.agent-card__action-btn[data-v-bb105eb0]:not(:last-child)::after {
  content: '';
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 20px;
  background: #e8e8e8;
}
.agent-card__action-btn[data-v-bb105eb0]:hover {
  color: #1677ff;
  background: #e6f4ff;
}
.agent-card__action-btn[data-v-bb105eb0]:hover .anticon {
  color: #1677ff;
  transform: scale(1.15);
}
.agent-card__action-btn--danger[data-v-bb105eb0]:hover {
  color: #ff4d4f;
  background: #fff1f0;
}
.agent-card__action-btn--danger[data-v-bb105eb0]:hover .anticon {
  color: #ff4d4f;
}
/* 底部 */
.agent-card__footer[data-v-bb105eb0] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 11px;
  color: rgba(0, 0, 0, 0.3);
  padding: 10px 20px 14px;
}
.agent-card__footer-item[data-v-bb105eb0] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.agent-card__footer-icon[data-v-bb105eb0] {
  font-size: 11px;
}
/* ==================== 空状态 ==================== */
.card-empty[data-v-bb105eb0] {
  padding: 80px 0;
}
/* ==================== 分页 ==================== */
/* ==================== 响应式 - 平板 ==================== */
@media (max-width: 1200px) {
.card-grid[data-v-bb105eb0] {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}
.hero-title[data-v-bb105eb0] {
    font-size: 24px;
}
}
/* ==================== 响应式 - 手机 ==================== */
@media (max-width: 768px) {
.ai-agents-page[data-v-bb105eb0] {
    padding: 12px;
}
.hero-content[data-v-bb105eb0] {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}
.hero-title[data-v-bb105eb0] {
    font-size: 22px;
}
.hero-desc[data-v-bb105eb0] {
    font-size: 13px;
    margin-bottom: 20px;
}
.hero-right[data-v-bb105eb0] {
    flex-direction: row;
    width: 100%;
}
.filter-bar[data-v-bb105eb0] {
    padding: 12px;
}
.filter-search[data-v-bb105eb0] {
    max-width: 100%;
}
.filter-dropdowns[data-v-bb105eb0] {
    grid-template-columns: 1fr;
}
.filter-select[data-v-bb105eb0] {
    width: 100%;
}
.card-grid[data-v-bb105eb0] {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 12px 0;
}
.batch-toolbar[data-v-bb105eb0] {
    margin: 12px;
}
.batch-toolbar-content[data-v-bb105eb0] {
    flex-direction: column;
    gap: 10px;
}
.batch-actions[data-v-bb105eb0] {
    flex-wrap: wrap;
    justify-content: center;
}
}
/* ==================== 响应式 - 小屏手机 ==================== */
@media (max-width: 575px) {
.hero-title[data-v-bb105eb0] {
    font-size: 20px;
}
.hero-stats[data-v-bb105eb0] {
    flex-wrap: wrap;
    gap: 8px;
}
.hero-stat-divider[data-v-bb105eb0] {
    display: none;
}
.agent-card__actions[data-v-bb105eb0] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    padding: 12px;
    margin: 12px -16px 0;
    background: var(--color-fill-quaternary);
}
.agent-card__action-btn[data-v-bb105eb0] {
    min-width: auto;
    border-radius: 8px;
    background: var(--color-neutral-0, #fff);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
.agent-card__action-btn[data-v-bb105eb0]:not(:last-child)::after {
    display: none;
}
.agent-card__action-btn--danger[data-v-bb105eb0] {
    grid-column: span 1;
}
}
.agent-test-panel[data-v-924221fa] {
  display: flex;
  flex-direction: column;
  height: 100%;
}
/* 对话区域 */
.test-chat-area[data-v-924221fa] {
  flex: 1;
  overflow: hidden;
  background: #f5f5f5;
  border-radius: 8px;
  margin-bottom: 16px;
}
.test-messages[data-v-924221fa] {
  height: 100%;
  overflow-y: auto;
  padding: 16px;
}
@media (max-width: 768px) {
.test-messages[data-v-924221fa] {
    padding: 12px;
}
}
.test-empty-state[data-v-924221fa] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: rgba(0, 0, 0, 0.45);
}
.test-empty-icon[data-v-924221fa] {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--color-primary-bg);
  color: var(--color-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  margin-bottom: 16px;
}
.test-empty-state h4[data-v-924221fa] {
  margin: 0 0 8px;
  font-size: 16px;
  color: rgba(0, 0, 0, 0.85);
}
.test-empty-state p[data-v-924221fa] {
  margin: 0;
  font-size: 13px;
}
/* 消息样式 */
.test-message[data-v-924221fa] {
  display: flex;
  gap: 12px;
  margin-bottom: 16px;
}
.test-message--user[data-v-924221fa] {
  flex-direction: row-reverse;
}
.test-message-avatar[data-v-924221fa] {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.test-message--user .test-message-avatar[data-v-924221fa] {
  background: var(--color-primary);
  color: #fff;
}
.test-message--assistant .test-message-avatar[data-v-924221fa] {
  background: var(--color-primary-bg);
  color: var(--color-primary);
}
.test-message-avatar img[data-v-924221fa] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.test-avatar-text[data-v-924221fa] {
  font-size: 14px;
  font-weight: 600;
}
.test-message-content[data-v-924221fa] {
  max-width: calc(100% - 60px);
}
.test-message-bubble[data-v-924221fa] {
  padding: 12px 16px;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}
.test-message--user .test-message-bubble[data-v-924221fa] {
  background: var(--color-primary);
  color: #fff;
}
.test-message-text[data-v-924221fa] {
  font-size: 14px;
  line-height: 1.6;
}
.test-message-text[data-v-924221fa] p {
  margin: 0 0 8px;
}
.test-message-text[data-v-924221fa] p:last-child {
  margin-bottom: 0;
}
.test-message-text[data-v-924221fa] code {
  background: rgba(0, 0, 0, 0.06);
  padding: 2px 6px;
  border-radius: 4px;
  font-family: 'SFMono-Regular', Consolas, monospace;
  font-size: 12px;
}
.test-message-text[data-v-924221fa] pre {
  background: rgba(0, 0, 0, 0.06);
  padding: 12px;
  border-radius: 8px;
  overflow-x: auto;
  margin: 8px 0;
}
.test-message-text[data-v-924221fa] pre code {
  background: none;
  padding: 0;
}
.test-message--user .test-message-text[data-v-924221fa] code,
.test-message--user .test-message-text[data-v-924221fa] pre {
  background: rgba(255, 255, 255, 0.2);
}
.test-message-loading[data-v-924221fa] {
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(0, 0, 0, 0.45);
}
/* 消息元数据 */
.test-message-metadata[data-v-924221fa] {
  display: flex;
  gap: 12px;
  margin-top: 8px;
  padding: 0 4px;
}
.test-metadata-item[data-v-924221fa] {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  color: rgba(0, 0, 0, 0.35);
}
/* 输入区域 */
.test-input-area[data-v-924221fa] {
  border-top: 1px solid var(--color-border-secondary);
  padding-top: 16px;
}
.test-input-wrapper[data-v-924221fa] {
  background: #fff;
  border-radius: 8px;
  padding: 12px;
  border: 1px solid var(--color-border-secondary);
}
.test-input[data-v-924221fa] {
  border: none;
  resize: none;
  padding: 0;
  font-size: 14px;
}
.test-input[data-v-924221fa]:focus {
  box-shadow: none;
}
.test-input-actions[data-v-924221fa] {
  display: flex;
  justify-content: flex-end;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px dashed var(--color-border-secondary);
}
/* 调试面板 */
.test-debug-panel[data-v-924221fa] {
  margin-top: 16px;
  border-top: 1px solid var(--color-border-secondary);
  padding-top: 16px;
}
.test-config-code[data-v-924221fa] {
  background: #f5f5f5;
  padding: 12px;
  border-radius: 8px;
  font-size: 12px;
  overflow-x: auto;
  max-height: 300px;
  overflow-y: auto;
}
.test-logs[data-v-924221fa] {
  max-height: 200px;
  overflow-y: auto;
  font-family: 'SFMono-Regular', Consolas, monospace;
  font-size: 12px;
}
.test-log-item[data-v-924221fa] {
  display: flex;
  gap: 8px;
  padding: 4px 0;
  border-bottom: 1px solid var(--color-border-secondary);
}
.test-log-time[data-v-924221fa] {
  color: rgba(0, 0, 0, 0.35);
  flex-shrink: 0;
}
.test-log-level[data-v-924221fa] {
  flex-shrink: 0;
  font-weight: 600;
  min-width: 50px;
}
.test-log-level--info[data-v-924221fa] {
  color: var(--color-primary);
}
.test-log-level--debug[data-v-924221fa] {
  color: #722ed1;
}
.test-log-level--warn[data-v-924221fa] {
  color: #faad14;
}
.test-log-level--error[data-v-924221fa] {
  color: #ff4d4f;
}
.test-log-message[data-v-924221fa] {
  color: rgba(0, 0, 0, 0.65);
  word-break: break-all;
}
.agent-edit-page[data-v-702add05] {
  padding: var(--spacing-4);
  padding-bottom: 80px;
  background: var(--color-bg-layout);
}
/* 页面头部 - highlights-panel */
.highlights-panel[data-v-702add05] {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  border-radius: var(--radius-xl);
  padding: 24px 32px;
  color: white;
  margin-bottom: var(--spacing-4);
  position: relative;
  overflow: hidden;
}
/* 几何图形装饰 */
.highlights-bg-decoration[data-v-702add05] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-702add05] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-702add05] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-702add05] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-702add05] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-702add05] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-702add05] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-702add05] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-702add05] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-702add05] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-702add05] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
@media (max-width: 768px) {
.highlights-panel[data-v-702add05] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-702add05] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-702add05] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-702add05] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-702add05] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-702add05] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-702add05] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-702add05] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-702add05] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-702add05] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-702add05] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-702add05] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-702add05] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) {
.highlights-panel[data-v-702add05] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-702add05] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-702add05] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-702add05] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-702add05] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-702add05] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-702add05] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-702add05] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-702add05] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-702add05] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-702add05] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-702add05] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-702add05] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-702add05] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-702add05] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-702add05] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-702add05] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-702add05] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-702add05] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-702add05] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-702add05] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-702add05] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-702add05] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-702add05] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-702add05] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-702add05] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
.highlights-content[data-v-702add05] {
  display: flex;
  justify-content: space-between;
}
.highlights-left h2[data-v-702add05] {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: white;
}
.highlights-meta[data-v-702add05] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  font-size: 13px;
  opacity: 0.85;
}
.highlights-right[data-v-702add05] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff;
  padding: 12px 24px;
  padding-bottom: calc(12px + env(safe-area-inset-bottom));
  border-top: 1px solid #f0f0f0;
  z-index: 100;
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06);
  max-width: 1400px;
  margin: 0 auto;
}
.highlights-right .ant-btn[data-v-702add05] {
  height: 40px;
  font-size: 14px;
  font-weight: 500;
  border-radius: 6px;
}
/* 固定底部时的返回按钮样式 - 深色文字 */
.highlights-right .highlights-back-btn[data-v-702add05] {
  background: #f5f5f5;
  border: 1px solid #d9d9d9;
  color: #262626;
}
.highlights-right .highlights-back-btn[data-v-702add05]:hover {
  background: #e8e8e8;
  color: #262626;
  border-color: #bfbfbf;
}
.highlights-back-btn[data-v-702add05] {
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: white;
}
.highlights-back-btn[data-v-702add05]:hover {
  background: rgba(255, 255, 255, 0.25);
  color: white;
  border-color: rgba(255, 255, 255, 0.5);
}
/* 表单容器 */
.form-container[data-v-702add05] {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: var(--spacing-4);
}
/* 表单区块 */
.form-section[data-v-702add05] {
  background: #fff;
  border-radius: var(--radius-lg);
  margin-bottom: var(--spacing-4);
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
}
.section-header[data-v-702add05] {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
  padding: var(--spacing-4) var(--spacing-4) var(--spacing-3);
  border-bottom: 1px solid var(--color-border-secondary);
}
.section-icon[data-v-702add05] {
  width: 40px;
  height: 40px;
  border-radius: var(--radius-md);
  background: var(--color-primary-bg);
  color: var(--color-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
}
.section-title h3[data-v-702add05] {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.85);
}
.section-title p[data-v-702add05] {
  margin: 4px 0 0;
  font-size: 13px;
  color: rgba(0, 0, 0, 0.45);
}
.section-body[data-v-702add05] {
  padding: var(--spacing-4);
}
/* 头像上传 */
.avatar-upload-wrapper[data-v-702add05] {
  display: flex;
  align-items: flex-start;
  gap: var(--spacing-3);
}
[data-v-702add05] .ant-upload-select-picture-card {
  width: 120px;
  height: 120px;
  margin: 0;
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.avatar-preview[data-v-702add05] {
  position: relative;
  width: 100%;
  height: 100%;
}
.avatar-preview img[data-v-702add05] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.avatar-overlay[data-v-702add05] {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff;
  opacity: 0;
  transition: opacity 0.3s;
}
.avatar-preview:hover .avatar-overlay[data-v-702add05] {
  opacity: 1;
}
.avatar-upload-trigger[data-v-702add05] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: rgba(0, 0, 0, 0.45);
}
.avatar-hint[data-v-702add05] {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.45);
  line-height: 1.5;
}
/* 提示词编辑器 */
.prompt-editor-wrapper[data-v-702add05] {
  position: relative;
}
.prompt-editor[data-v-702add05] {
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  font-size: 13px;
}
.prompt-toolbar[data-v-702add05] {
  margin-top: var(--spacing-2);
  padding-top: var(--spacing-2);
  border-top: 1px dashed var(--color-border-secondary);
}
/* 工具选择 */
.tools-selection[data-v-702add05],
.skills-selection[data-v-702add05] {
  max-height: 300px;
  overflow-y: auto;
}
.tool-checkbox[data-v-702add05],
.skill-checkbox[data-v-702add05] {
  width: 100%;
}
.tool-checkbox-content[data-v-702add05],
.skill-checkbox-content[data-v-702add05] {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  padding: var(--spacing-2);
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius-md);
  transition: all 0.3s;
}
.tool-checkbox:hover .tool-checkbox-content[data-v-702add05],
.skill-checkbox:hover .skill-checkbox-content[data-v-702add05],
.tool-checkbox.ant-checkbox-wrapper-checked .tool-checkbox-content[data-v-702add05],
.skill-checkbox.ant-checkbox-wrapper-checked .skill-checkbox-content[data-v-702add05] {
  border-color: var(--color-primary);
  background: var(--color-primary-bg);
}
.tool-icon[data-v-702add05],
.skill-icon[data-v-702add05] {
  width: 36px;
  height: 36px;
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 16px;
  flex-shrink: 0;
}
.tool-info[data-v-702add05],
.skill-info[data-v-702add05] {
  flex: 1;
  min-width: 0;
}
.tool-name[data-v-702add05],
.skill-name[data-v-702add05] {
  font-size: 14px;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.85);
}
.tool-desc[data-v-702add05],
.skill-desc[data-v-702add05] {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.45);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* 滑块配置 */
.slider-with-value[data-v-702add05] {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
}
.config-slider[data-v-702add05] {
  flex: 1;
}
.slider-value[data-v-702add05] {
  min-width: 50px;
  text-align: right;
  font-size: 14px;
  font-weight: 500;
  color: var(--color-primary);
}
.slider-hint[data-v-702add05] {
  margin-top: 4px;
  font-size: 12px;
  color: rgba(0, 0, 0, 0.45);
}
/* 开关标签 */
.switch-label[data-v-702add05] {
  margin-left: var(--spacing-2);
  font-size: 14px;
  color: rgba(0, 0, 0, 0.85);
}
/* 下拉选项 */
.select-option-content[data-v-702add05] {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
}
.select-option-title[data-v-702add05] {
  font-weight: 500;
}
.select-option-desc[data-v-702add05] {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.45);
}
.model-option[data-v-702add05] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-2);
}
/* 表单提示 */
.form-hint[data-v-702add05] {
  margin-top: 4px;
  font-size: 12px;
  display: flex;
  align-items: center;
  gap: 4px;
}
.form-hint.warning[data-v-702add05] {
  color: #faad14;
}
/* 响应式 */
@media (max-width: 1200px) {
.form-container[data-v-702add05] {
    grid-template-columns: 1fr;
}
.form-sidebar[data-v-702add05] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 768px) {
.agent-edit-page[data-v-702add05] {
    padding: 12px;
    padding-bottom: 60px;
}
.agent-edit-page .highlights-panel .highlights-bg-decoration[data-v-702add05] {
    display: none;
}
.highlights-panel[data-v-702add05] {
    padding: 16px;
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-702add05] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-702add05] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-702add05] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-702add05] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-702add05] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-702add05] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-702add05] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-702add05] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-702add05] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-702add05] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-702add05] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-content[data-v-702add05] {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}
.highlights-left h2[data-v-702add05] {
    font-size: 18px;
}
.highlights-right .ant-btn[data-v-702add05] {
    flex: 1;
    height: 44px;
    font-size: 15px;
}
.form-sidebar[data-v-702add05] {
    grid-template-columns: 1fr;
}
.section-body[data-v-702add05] {
    padding: var(--spacing-3);
}
.prompt-toolbar[data-v-702add05] .ant-space {
    flex-wrap: wrap;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-702add05] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-702add05] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-702add05] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-702add05] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-702add05] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-702add05] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-702add05] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-702add05] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-702add05] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-702add05] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-702add05] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-702add05] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-702add05] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-702add05] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-702add05] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-702add05] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-702add05] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-702add05] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-702add05] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-702add05] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-702add05] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-702add05] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-702add05] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-702add05] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-702add05] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-702add05] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-702add05] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-702add05] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-702add05] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-702add05] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-702add05] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-702add05] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-702add05] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-702add05] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-702add05] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-702add05] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-702add05] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-702add05] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-702add05] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 575px) {
.highlights-panel[data-v-702add05] {
    padding: 16px;
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-702add05] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-702add05] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-702add05] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-702add05] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-702add05] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-702add05] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-702add05] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-702add05] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-702add05] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-702add05] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-702add05] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-content[data-v-702add05] {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}
.highlights-left h2[data-v-702add05] {
    font-size: 18px;
}
.highlights-right .ant-btn[data-v-702add05] {
    flex: 1;
    height: 44px;
    font-size: 15px;
}
.section-body[data-v-702add05] {
    padding: 12px;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.highlights-panel[data-v-702add05] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-702add05] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-702add05] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-702add05] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-702add05] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-702add05] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-702add05] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-702add05] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-702add05] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-702add05] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-702add05] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-702add05] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-702add05] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.highlights-panel[data-v-702add05] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-702add05] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-702add05] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-702add05] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-702add05] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-702add05] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-702add05] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-702add05] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-702add05] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-702add05] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-702add05] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-702add05] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-702add05] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 575px) and (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-702add05] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-702add05] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-702add05] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-702add05] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-702add05] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-702add05] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-702add05] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-702add05] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-702add05] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-702add05] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-702add05] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-702add05] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-702add05] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
.agent-detail-page[data-v-aeb2fb6c] {
  padding: var(--spacing-4);
  min-height: 100%;
  background: var(--color-bg-layout);
  padding-bottom: 80px;
}
/* 页面头部 - highlights-panel */
.highlights-panel[data-v-aeb2fb6c] {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  border-radius: var(--radius-xl);
  padding: 24px 32px;
  color: white;
  margin-bottom: var(--spacing-4);
  position: relative;
  overflow: hidden;
}
/* 几何图形装饰 */
.highlights-bg-decoration[data-v-aeb2fb6c] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-aeb2fb6c] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-aeb2fb6c] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-aeb2fb6c] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-aeb2fb6c] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-aeb2fb6c] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-aeb2fb6c] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-aeb2fb6c] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-aeb2fb6c] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-aeb2fb6c] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-aeb2fb6c] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
@media (max-width: 768px) {
.highlights-panel[data-v-aeb2fb6c] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-aeb2fb6c] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-aeb2fb6c] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-aeb2fb6c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-aeb2fb6c] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-aeb2fb6c] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-aeb2fb6c] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-aeb2fb6c] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-aeb2fb6c] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-aeb2fb6c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-aeb2fb6c] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-aeb2fb6c] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-aeb2fb6c] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) {
.highlights-panel[data-v-aeb2fb6c] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-aeb2fb6c] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-aeb2fb6c] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-aeb2fb6c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-aeb2fb6c] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-aeb2fb6c] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-aeb2fb6c] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-aeb2fb6c] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-aeb2fb6c] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-aeb2fb6c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-aeb2fb6c] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-aeb2fb6c] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-aeb2fb6c] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-aeb2fb6c] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-aeb2fb6c] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-aeb2fb6c] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-aeb2fb6c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-aeb2fb6c] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-aeb2fb6c] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-aeb2fb6c] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-aeb2fb6c] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-aeb2fb6c] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-aeb2fb6c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-aeb2fb6c] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-aeb2fb6c] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-aeb2fb6c] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
.highlights-content[data-v-aeb2fb6c] {
  display: flex;
  justify-content: space-between;
}
.highlights-left h2[data-v-aeb2fb6c] {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: white;
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-meta[data-v-aeb2fb6c] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  font-size: 13px;
  opacity: 0.85;
  font-family: 'SFMono-Regular', Consolas, monospace;
}
.highlights-tag[data-v-aeb2fb6c] {
  background: rgba(255, 255, 255, 0.2);
  border: none;
  color: white;
  border-radius: 6px;
}
.highlights-right[data-v-aeb2fb6c] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-back-btn[data-v-aeb2fb6c] {
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: white;
}
.highlights-back-btn[data-v-aeb2fb6c]:hover {
  background: rgba(255, 255, 255, 0.25);
  color: white;
  border-color: rgba(255, 255, 255, 0.5);
}
/* Agent 头像信息 */
.agent-header-info[data-v-aeb2fb6c] {
  display: flex;
  align-items: center;
  gap: var(--spacing-4);
}
.agent-avatar-large[data-v-aeb2fb6c] {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #1890ff 0%, #69c0ff 100%);
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  overflow: hidden;
  box-shadow: 0 4px 14px rgba(24, 144, 255, 0.25);
  flex-shrink: 0;
  position: relative;
}
.agent-avatar-large[data-v-aeb2fb6c]::after {
  content: '';
  position: absolute;
  top: -2px;
  left: -2px;
  right: -2px;
  bottom: -2px;
  background: linear-gradient(135deg, rgba(24, 144, 255, 0.15), rgba(105, 192, 255, 0.15));
  border-radius: 50%;
  z-index: -1;
}
.avatar-initial[data-v-aeb2fb6c] {
  line-height: 1;
}
.agent-avatar-large img[data-v-aeb2fb6c] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* 统计卡片 */
.stats-cards[data-v-aeb2fb6c] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--spacing-4);
  margin-bottom: var(--spacing-4);
}
.stat-card[data-v-aeb2fb6c] {
  background: #fff;
  border-radius: var(--radius-lg);
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
  padding: 16px;
  transition: all 0.3s ease;
}
.stat-card[data-v-aeb2fb6c]:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  transform: translateY(-2px);
}
.stat-icon[data-v-aeb2fb6c] {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: #fff;
  flex-shrink: 0;
}
.stat-icon--blue[data-v-aeb2fb6c] {
  background: linear-gradient(135deg, #3b82f6, #60a5fa);
  box-shadow: 0 2px 8px rgba(59, 130, 246, 0.3);
}
.stat-icon--green[data-v-aeb2fb6c] {
  background: linear-gradient(135deg, #10b981, #34d399);
  box-shadow: 0 2px 8px rgba(16, 185, 129, 0.3);
}
.stat-icon--orange[data-v-aeb2fb6c] {
  background: linear-gradient(135deg, #f59e0b, #fbbf24);
  box-shadow: 0 2px 8px rgba(245, 158, 11, 0.3);
}
.stat-icon--purple[data-v-aeb2fb6c] {
  background: linear-gradient(135deg, #8b5cf6, #a78bfa);
  box-shadow: 0 2px 8px rgba(139, 92, 246, 0.3);
}
.stat-content[data-v-aeb2fb6c] {
  flex: 1;
}
.stat-value[data-v-aeb2fb6c] {
  font-size: 24px;
  font-weight: 700;
  color: rgba(0, 0, 0, 0.85);
  line-height: 1.2;
}
.stat-label[data-v-aeb2fb6c] {
  font-size: 13px;
  color: rgba(0, 0, 0, 0.45);
}
/* 详情内容 */
.detail-content[data-v-aeb2fb6c] {
  background: #fff;
  border-radius: var(--radius-lg);
  padding: var(--spacing-4);
  padding-bottom: 60px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
}
@media (max-width: 768px) {
.detail-content[data-v-aeb2fb6c] {
    padding: 12px;
    padding-bottom: 60px;
}
.detail-content .highlights-panel .highlights-bg-decoration[data-v-aeb2fb6c] {
    display: none;
}
}
.tab-content[data-v-aeb2fb6c] {
  padding-top: var(--spacing-4) var(--spacing-4);
}
/* 信息区块 */
.info-section[data-v-aeb2fb6c] {
  margin-bottom: var(--spacing-4);
}
.info-section[data-v-aeb2fb6c]:last-child {
  margin-bottom: 0;
}
.section-header[data-v-aeb2fb6c] {
  margin-bottom: var(--spacing-3);
}
.section-header h3[data-v-aeb2fb6c] {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.85);
  padding-left: 12px;
  border-left: 3px solid var(--color-primary);
}
/* 性格标签 */
.personality-tags[data-v-aeb2fb6c] {
  margin-bottom: var(--spacing-3);
}
/* 系统提示词 */
.system-prompt-box[data-v-aeb2fb6c] {
  background: #f5f5f5;
  border-radius: var(--radius-md);
  padding: var(--spacing-3);
}
.prompt-label[data-v-aeb2fb6c] {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.45);
  margin-bottom: 8px;
}
.prompt-content[data-v-aeb2fb6c] {
  margin: 0;
  font-family: 'SFMono-Regular', Consolas, monospace;
  font-size: 13px;
  line-height: 1.6;
  color: rgba(0, 0, 0, 0.65);
  white-space: pre-wrap;
  word-break: break-word;
  background: transparent;
  padding: 0;
}
/* 能力项 */
.capability-item[data-v-aeb2fb6c] {
  display: flex;
  margin-bottom: var(--spacing-3);
}
.capability-item[data-v-aeb2fb6c]:last-child {
  margin-bottom: 0;
}
.capability-label[data-v-aeb2fb6c] {
  width: 120px;
  flex-shrink: 0;
  font-size: 14px;
  color: rgba(0, 0, 0, 0.45);
}
.capability-value[data-v-aeb2fb6c] {
  flex: 1;
}
.capability-tags[data-v-aeb2fb6c] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.capability-list[data-v-aeb2fb6c] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.capability-card[data-v-aeb2fb6c] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  background: #f5f5f5;
  border-radius: var(--radius-md);
}
.capability-card-icon[data-v-aeb2fb6c] {
  width: 40px;
  height: 40px;
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 16px;
  flex-shrink: 0;
}
.capability-card-info[data-v-aeb2fb6c] {
  flex: 1;
  min-width: 0;
}
.capability-card-name[data-v-aeb2fb6c] {
  font-size: 14px;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.85);
}
.capability-card-desc[data-v-aeb2fb6c] {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.45);
}
/* 子Agent列表 */
.child-agents-list[data-v-aeb2fb6c] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
/* 会话用户 */
.conversation-user[data-v-aeb2fb6c] {
  display: flex;
  align-items: center;
  gap: 8px;
}
/* 日志工具栏 */
.logs-toolbar[data-v-aeb2fb6c] {
  margin-bottom: var(--spacing-3);
}
/* 日志容器 */
.logs-container[data-v-aeb2fb6c] {
  max-height: 600px;
  overflow-y: auto;
}
.log-item[data-v-aeb2fb6c] {
  padding: 12px;
  border-bottom: 1px solid var(--color-border-secondary);
  font-family: 'SFMono-Regular', Consolas, monospace;
  font-size: 13px;
}
.log-item[data-v-aeb2fb6c]:last-child {
  border-bottom: none;
}
.log-header[data-v-aeb2fb6c] {
  display: flex;
  gap: 12px;
  margin-bottom: 4px;
}
.log-time[data-v-aeb2fb6c] {
  color: rgba(0, 0, 0, 0.35);
}
.log-level[data-v-aeb2fb6c] {
  font-weight: 600;
  min-width: 50px;
}
.log-item--info .log-level[data-v-aeb2fb6c] {
  color: var(--color-primary);
}
.log-item--debug .log-level[data-v-aeb2fb6c] {
  color: #722ed1;
}
.log-item--warn .log-level[data-v-aeb2fb6c] {
  color: #faad14;
}
.log-item--error .log-level[data-v-aeb2fb6c] {
  color: #ff4d4f;
}
.log-source[data-v-aeb2fb6c] {
  color: rgba(0, 0, 0, 0.45);
}
.log-message[data-v-aeb2fb6c] {
  color: rgba(0, 0, 0, 0.65);
  word-break: break-all;
}
.log-details[data-v-aeb2fb6c] {
  margin-top: 8px;
  padding: 8px;
  background: #f5f5f5;
  border-radius: var(--radius-sm);
}
.log-details pre[data-v-aeb2fb6c] {
  margin: 0;
  font-size: 12px;
  overflow-x: auto;
}
/* 通用 */
.text-muted[data-v-aeb2fb6c] {
  color: rgba(0, 0, 0, 0.35);
}
/* 响应式 */
@media (max-width: 1200px) {
.stats-cards[data-v-aeb2fb6c] {
    grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 768px) {
.agent-detail-page[data-v-aeb2fb6c] {
    padding: 12px;
}
.agent-detail-page .highlights-panel .highlights-bg-decoration[data-v-aeb2fb6c] {
    display: none;
}
.highlights-panel[data-v-aeb2fb6c] {
    padding: 16px;
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-aeb2fb6c] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-aeb2fb6c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-aeb2fb6c] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-aeb2fb6c] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-aeb2fb6c] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-aeb2fb6c] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-aeb2fb6c] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-aeb2fb6c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-aeb2fb6c] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-aeb2fb6c] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-aeb2fb6c] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-content[data-v-aeb2fb6c] {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}
.highlights-left h2[data-v-aeb2fb6c] {
    font-size: 18px;
}
.highlights-right[data-v-aeb2fb6c] {
    width: 100%;
}
.highlights-right .ant-btn[data-v-aeb2fb6c] {
    flex: 1;
}
.stats-cards[data-v-aeb2fb6c] {
    grid-template-columns: repeat(2, 1fr);
}
.tab-content[data-v-aeb2fb6c] {
    padding: 12px;
}
.capability-item[data-v-aeb2fb6c] {
    flex-direction: column;
    gap: 8px;
}
.capability-label[data-v-aeb2fb6c] {
    width: auto;
}
.logs-toolbar[data-v-aeb2fb6c] .ant-space {
    flex-wrap: wrap;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-aeb2fb6c] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-aeb2fb6c] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-aeb2fb6c] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-aeb2fb6c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-aeb2fb6c] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-aeb2fb6c] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-aeb2fb6c] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-aeb2fb6c] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-aeb2fb6c] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-aeb2fb6c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-aeb2fb6c] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-aeb2fb6c] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-aeb2fb6c] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-aeb2fb6c] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-aeb2fb6c] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-aeb2fb6c] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-aeb2fb6c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-aeb2fb6c] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-aeb2fb6c] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-aeb2fb6c] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-aeb2fb6c] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-aeb2fb6c] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-aeb2fb6c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-aeb2fb6c] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-aeb2fb6c] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-aeb2fb6c] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-aeb2fb6c] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-aeb2fb6c] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-aeb2fb6c] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-aeb2fb6c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-aeb2fb6c] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-aeb2fb6c] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-aeb2fb6c] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-aeb2fb6c] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-aeb2fb6c] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-aeb2fb6c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-aeb2fb6c] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-aeb2fb6c] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-aeb2fb6c] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 575px) {
.highlights-panel[data-v-aeb2fb6c] {
    padding: 16px;
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-aeb2fb6c] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-aeb2fb6c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-aeb2fb6c] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-aeb2fb6c] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-aeb2fb6c] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-aeb2fb6c] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-aeb2fb6c] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-aeb2fb6c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-aeb2fb6c] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-aeb2fb6c] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-aeb2fb6c] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-content[data-v-aeb2fb6c] {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}
.highlights-left h2[data-v-aeb2fb6c] {
    font-size: 18px;
}
.agent-header-info[data-v-aeb2fb6c] {
    gap: var(--spacing-3);
}
.agent-avatar-large[data-v-aeb2fb6c] {
    width: 48px;
    height: 48px;
    font-size: 22px;
}
.highlights-right[data-v-aeb2fb6c] {
    width: 100%;
}
.highlights-right .ant-btn[data-v-aeb2fb6c] {
    flex: 1;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.highlights-panel[data-v-aeb2fb6c] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-aeb2fb6c] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-aeb2fb6c] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-aeb2fb6c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-aeb2fb6c] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-aeb2fb6c] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-aeb2fb6c] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-aeb2fb6c] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-aeb2fb6c] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-aeb2fb6c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-aeb2fb6c] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-aeb2fb6c] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-aeb2fb6c] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.highlights-panel[data-v-aeb2fb6c] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-aeb2fb6c] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-aeb2fb6c] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-aeb2fb6c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-aeb2fb6c] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-aeb2fb6c] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-aeb2fb6c] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-aeb2fb6c] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-aeb2fb6c] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-aeb2fb6c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-aeb2fb6c] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-aeb2fb6c] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-aeb2fb6c] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 575px) and (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-aeb2fb6c] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-aeb2fb6c] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-aeb2fb6c] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-aeb2fb6c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-aeb2fb6c] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-aeb2fb6c] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-aeb2fb6c] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-aeb2fb6c] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-aeb2fb6c] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-aeb2fb6c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-aeb2fb6c] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-aeb2fb6c] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-aeb2fb6c] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
/* Fixed Bottom Actions */
.fixed-actions[data-v-aeb2fb6c] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 12px;
  background: #fff;
  border-top: 1px solid var(--color-border-secondary);
  display: flex;
  justify-content: flex-end;
  z-index: 100;
}
/* 移动端卡片视图 */
.mobile-card-list[data-v-aeb2fb6c] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 16px;
}
.mobile-card[data-v-aeb2fb6c] {
  background: #fff;
  border-radius: var(--radius-lg);
  padding: 16px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
  cursor: pointer;
  transition: box-shadow 0.3s;
}
.mobile-card[data-v-aeb2fb6c]:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}
.mobile-card[data-v-aeb2fb6c]:active {
  background: #f5f5f5;
}
.mobile-card-header[data-v-aeb2fb6c] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.mobile-card-title[data-v-aeb2fb6c] {
  font-size: 16px;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.85);
  flex: 1;
  margin-right: 8px;
}
.mobile-card-row[data-v-aeb2fb6c] {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 8px;
  font-size: 13px;
}
.mobile-card-label[data-v-aeb2fb6c] {
  color: rgba(0, 0, 0, 0.45);
  flex-shrink: 0;
}
.mobile-card-id[data-v-aeb2fb6c] {
  font-family: 'SFMono-Regular', Consolas, monospace;
  font-size: 12px;
  color: rgba(0, 0, 0, 0.65);
  word-break: break-all;
}
.mobile-card-footer[data-v-aeb2fb6c] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  border-top: 1px solid var(--color-border-secondary);
}
.mobile-card-times[data-v-aeb2fb6c] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.mobile-card-time[data-v-aeb2fb6c] {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.35);
}
@media (max-width: 768px) {
.mobile-card-list[data-v-aeb2fb6c] {
    padding: 0;
}
.mobile-card-list .highlights-panel .highlights-bg-decoration[data-v-aeb2fb6c] {
    display: none;
}
.mobile-card[data-v-aeb2fb6c] {
    padding: 14px;
    border-radius: 10px;
}
.mobile-card-footer[data-v-aeb2fb6c] {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}
.mobile-card-times[data-v-aeb2fb6c] {
    flex: 1;
}
}
.agent-chat-page[data-v-1e2fd7a8] {
  display: flex;
  height: 100vh;
  overflow: hidden;
  background: var(--color-bg-layout);
}
/* 侧边栏 */
.chat-sidebar[data-v-1e2fd7a8] {
  width: 280px;
  background: #fff;
  border-right: 1px solid var(--color-border-secondary);
  display: flex;
  flex-direction: column;
  transition: width 0.3s;
}
.chat-sidebar--collapsed[data-v-1e2fd7a8] {
  width: 0 !important;
  min-width: 0 !important;
  overflow: hidden;
  border: none;
  padding: 0;
}
.sidebar-header[data-v-1e2fd7a8] {
  padding: 16px;
  border-bottom: 1px solid var(--color-border-secondary);
  display: flex;
  align-items: center;
  gap: 8px;
}
@media (max-width: 768px) {
.sidebar-header[data-v-1e2fd7a8] {
    padding: 12px;
}
}
.sidebar-close-btn[data-v-1e2fd7a8] {
  display: none;
  color: var(--color-text-secondary);
  padding: 4px;
}
.sidebar-close-btn[data-v-1e2fd7a8]:hover {
  color: var(--color-text);
}
.conversation-list[data-v-1e2fd7a8] {
  flex: 1;
  overflow-y: auto;
  padding: 8px;
}
.conversation-item[data-v-1e2fd7a8] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s;
  margin-bottom: 4px;
}
.conversation-item[data-v-1e2fd7a8]:hover {
  background: var(--color-bg-layout);
}
.conversation-item--active[data-v-1e2fd7a8] {
  background: var(--color-primary-bg);
}
.conversation-icon[data-v-1e2fd7a8] {
  color: var(--color-primary);
  font-size: 16px;
}
.conversation-info[data-v-1e2fd7a8] {
  flex: 1;
  min-width: 0;
}
.conversation-title[data-v-1e2fd7a8] {
  font-size: 14px;
  color: rgba(0, 0, 0, 0.85);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.conversation-time[data-v-1e2fd7a8] {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.45);
}
.conversation-more[data-v-1e2fd7a8] {
  opacity: 0;
  color: rgba(0, 0, 0, 0.35);
  transition: opacity 0.3s;
}
.conversation-item:hover .conversation-more[data-v-1e2fd7a8] {
  opacity: 1;
}
.sidebar-footer[data-v-1e2fd7a8] {
  padding: 12px;
  border-top: 1px solid var(--color-border-secondary);
}
/* 主聊天区域 */
.chat-main[data-v-1e2fd7a8] {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: #fff;
}
/* 聊天头部 */
.chat-header[data-v-1e2fd7a8] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 20px;
  border-bottom: 1px solid var(--color-border-secondary);
  background: #fff;
}
.chat-header-left[data-v-1e2fd7a8] {
  display: flex;
  align-items: center;
  gap: 16px;
}
.sidebar-toggle[data-v-1e2fd7a8] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: none;
  background: none;
  color: rgba(0, 0, 0, 0.45);
  font-size: 16px;
  cursor: pointer;
  border-radius: 6px;
  transition: all 0.2s;
}
.sidebar-toggle[data-v-1e2fd7a8]:hover {
  color: rgba(0, 0, 0, 0.65);
  background: rgba(0, 0, 0, 0.04);
}
.agent-info[data-v-1e2fd7a8] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.agent-avatar-small[data-v-1e2fd7a8] {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  overflow: hidden;
}
.agent-avatar-small img[data-v-1e2fd7a8] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.agent-meta[data-v-1e2fd7a8] {
  flex: 1;
}
.agent-name[data-v-1e2fd7a8] {
  font-size: 16px;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.85);
}
.agent-status[data-v-1e2fd7a8] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: rgba(0, 0, 0, 0.45);
}
/* 消息区域 */
.chat-messages[data-v-1e2fd7a8] {
  flex: 1;
  overflow-y: auto;
  padding: 20px;
  position: relative;
  background: radial-gradient(circle at 20% 50%, rgba(22, 119, 255, 0.03) 0%, transparent 50%), radial-gradient(circle at 80% 20%, rgba(114, 46, 209, 0.03) 0%, transparent 50%), #fafbfc;
}
/* 欢迎消息 */
.welcome-message[data-v-1e2fd7a8] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 400px;
  text-align: center;
}
.welcome-avatar[data-v-1e2fd7a8] {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 20px;
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.15);
  position: relative;
}
.welcome-avatar[data-v-1e2fd7a8]::after {
  content: '';
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  border: 2px dashed rgba(22, 119, 255, 0.3);
  animation: rotate-ring-1e2fd7a8 20s linear infinite;
}
@keyframes rotate-ring-1e2fd7a8 {
from {
    transform: rotate(0deg);
}
to {
    transform: rotate(360deg);
}
}
.welcome-avatar img[data-v-1e2fd7a8] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.welcome-title[data-v-1e2fd7a8] {
  font-size: 24px;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.85);
  margin: 0 0 12px;
}
.welcome-desc[data-v-1e2fd7a8] {
  font-size: 14px;
  color: rgba(0, 0, 0, 0.45);
  max-width: 500px;
  margin: 0 0 24px;
  line-height: 1.6;
}
.quick-questions[data-v-1e2fd7a8] {
  max-width: 500px;
}
.quick-questions-title[data-v-1e2fd7a8] {
  font-size: 13px;
  color: rgba(0, 0, 0, 0.35);
  margin-bottom: 12px;
}
.quick-questions-list[data-v-1e2fd7a8] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
}
.quick-question-tag[data-v-1e2fd7a8] {
  cursor: pointer;
  padding: 8px 16px;
  font-size: 13px;
  border-radius: 16px;
  transition: all 0.3s;
}
.quick-question-tag[data-v-1e2fd7a8]:hover {
  background: var(--color-primary);
  color: #fff;
}
/* 消息项 */
.message-item[data-v-1e2fd7a8] {
  display: flex;
  gap: 12px;
  margin-bottom: 16px;
}
.message-item--user[data-v-1e2fd7a8] {
  flex-direction: row-reverse;
}
.message-item--user .message-time[data-v-1e2fd7a8] {
  text-align: right;
}
.message-avatar[data-v-1e2fd7a8] {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
  font-size: 15px;
  font-weight: 600;
  color: #fff;
}
.message-item--user .message-avatar[data-v-1e2fd7a8] {
  background: linear-gradient(135deg, #1677ff 0%, #4096ff 100%);
}
.message-avatar img[data-v-1e2fd7a8] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.message-avatar-text[data-v-1e2fd7a8] {
  font-size: 14px;
  font-weight: 600;
}
/* Agent 图标头像 */
.message-avatar-icon[data-v-1e2fd7a8] {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
}
.agent-avatar-icon[data-v-1e2fd7a8] {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: rgba(255, 255, 255, 0.9);
}
.user-avatar-img[data-v-1e2fd7a8] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.user-avatar-initial[data-v-1e2fd7a8] {
  background: linear-gradient(135deg, #1677ff 0%, #4096ff 100%);
}
.message-content[data-v-1e2fd7a8] {
  max-width: calc(100% - 80px);
  min-width: 0;
}
.message-bubble[data-v-1e2fd7a8] {
  padding: 12px 16px;
  border-radius: 16px;
  background: #f7f8fa;
  word-break: break-word;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
  position: relative;
}
.message-item--user .message-bubble[data-v-1e2fd7a8] {
  background: linear-gradient(135deg, #1677ff 0%, #4096ff 100%);
  color: #fff;
  border-radius: 16px 4px 16px 16px;
  box-shadow: 0 2px 8px rgba(22, 119, 255, 0.3);
}
.message-item:not(.message-item--user) .message-bubble[data-v-1e2fd7a8] {
  border-radius: 4px 16px 16px 16px;
}
.message-item--error .message-bubble[data-v-1e2fd7a8] {
  background: #fff1f0;
  border: 1px solid #ffccc7;
}
.message-text[data-v-1e2fd7a8] {
  font-size: 14px;
  line-height: 1.6;
}
.message-text[data-v-1e2fd7a8] p {
  margin: 0 0 8px;
}
.message-text[data-v-1e2fd7a8] p:last-child {
  margin-bottom: 0;
}
.message-text[data-v-1e2fd7a8] code {
  background: rgba(0, 0, 0, 0.06);
  padding: 2px 6px;
  border-radius: 4px;
  font-family: 'SFMono-Regular', Consolas, monospace;
  font-size: 12px;
}
.message-text[data-v-1e2fd7a8] pre {
  background: rgba(0, 0, 0, 0.06);
  padding: 12px;
  border-radius: 8px;
  overflow-x: auto;
  margin: 8px 0;
}
.message-text[data-v-1e2fd7a8] pre code {
  background: none;
  padding: 0;
}
.message-item--user .message-text[data-v-1e2fd7a8] code,
.message-item--user .message-text[data-v-1e2fd7a8] pre {
  background: rgba(255, 255, 255, 0.2);
}
/* 加载动画 */
.message-loading[data-v-1e2fd7a8] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 0;
}
.loading-dots[data-v-1e2fd7a8] {
  display: flex;
  gap: 4px;
}
.loading-dots span[data-v-1e2fd7a8] {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--color-primary);
  animation: loading-dot-1e2fd7a8 1.4s infinite ease-in-out both;
}
.loading-dots span[data-v-1e2fd7a8]:nth-child(1) {
  animation-delay: -0.32s;
}
.loading-dots span[data-v-1e2fd7a8]:nth-child(2) {
  animation-delay: -0.16s;
}
@keyframes loading-dot-1e2fd7a8 {
0%,
  80%,
  100% {
    transform: scale(0);
}
40% {
    transform: scale(1);
}
}
.thinking-text[data-v-1e2fd7a8] {
  font-size: 13px;
  color: rgba(0, 0, 0, 0.45);
}
.typing-cursor[data-v-1e2fd7a8] {
  display: inline-block;
  width: 2px;
  height: 16px;
  background: var(--color-primary);
  margin-left: 2px;
  vertical-align: text-bottom;
  animation: blink-cursor-1e2fd7a8 0.8s infinite;
}
@keyframes blink-cursor-1e2fd7a8 {
0%,
  100% {
    opacity: 1;
}
50% {
    opacity: 0;
}
}
/* 知识库引用 */
.message-citations[data-v-1e2fd7a8] {
  margin-top: 12px;
  background: #f5f5f5;
  border-radius: 8px;
  overflow: hidden;
}
.citations-header[data-v-1e2fd7a8] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  font-size: 13px;
  color: rgba(0, 0, 0, 0.65);
  cursor: pointer;
  transition: background 0.3s;
}
.citations-header[data-v-1e2fd7a8]:hover {
  background: rgba(0, 0, 0, 0.03);
}
.citations-list[data-v-1e2fd7a8] {
  padding: 0 12px 12px;
}
.citation-item[data-v-1e2fd7a8] {
  display: flex;
  gap: 8px;
  padding: 8px;
  background: #fff;
  border-radius: 6px;
  margin-bottom: 8px;
}
.citation-item[data-v-1e2fd7a8]:last-child {
  margin-bottom: 0;
}
.citation-index[data-v-1e2fd7a8] {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--color-primary);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 600;
  flex-shrink: 0;
}
.citation-content[data-v-1e2fd7a8] {
  flex: 1;
  min-width: 0;
}
.citation-source[data-v-1e2fd7a8] {
  font-size: 12px;
  color: var(--color-primary);
  margin-bottom: 4px;
}
.citation-text[data-v-1e2fd7a8] {
  font-size: 13px;
  color: rgba(0, 0, 0, 0.65);
  line-height: 1.5;
  display: -webkit-box;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
/* 工具调用 */
.message-tool-calls[data-v-1e2fd7a8] {
  margin-top: 12px;
}
.tool-calls-header[data-v-1e2fd7a8] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: rgba(0, 0, 0, 0.45);
  margin-bottom: 8px;
}
.tool-call-content[data-v-1e2fd7a8] {
  font-size: 12px;
}
.tool-call-section[data-v-1e2fd7a8] {
  margin-bottom: 8px;
}
.tool-call-label[data-v-1e2fd7a8] {
  font-weight: 600;
  color: rgba(0, 0, 0, 0.65);
  margin-bottom: 4px;
}
.tool-call-code[data-v-1e2fd7a8] {
  background: #f5f5f5;
  padding: 8px;
  border-radius: 4px;
  margin: 0;
  overflow-x: auto;
}
/* 消息操作 */
.message-actions[data-v-1e2fd7a8] {
  display: flex;
  gap: 4px;
  margin-top: 8px;
  display: none;
}
.message-item:hover .message-actions[data-v-1e2fd7a8],
.message-actions--visible[data-v-1e2fd7a8] {
  display: block;
}
.message-actions[data-v-1e2fd7a8] .ant-btn {
  color: rgba(0, 0, 0, 0.35);
}
.message-actions[data-v-1e2fd7a8] .ant-btn:hover {
  color: var(--color-primary);
}
.message-actions[data-v-1e2fd7a8] .anticon.rated {
  color: var(--color-primary);
}
/* 消息时间 */
.message-time[data-v-1e2fd7a8] {
  font-size: 11px;
  color: rgba(0, 0, 0, 0.35);
  margin-top: 4px;
  text-align: left;
}
/* 滚动到底部按钮 */
.scroll-to-bottom-btn[data-v-1e2fd7a8] {
  position: absolute;
  bottom: 20px;
  right: 20px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
}
/* 输入区域 */
.chat-input-area[data-v-1e2fd7a8] {
  padding: 16px 20px;
  border-top: 1px solid var(--color-border-secondary);
  background: #fff;
}
@media (max-width: 768px) {
.chat-input-area[data-v-1e2fd7a8] {
    padding: 12px;
}
}
.input-wrapper[data-v-1e2fd7a8] {
  position: relative;
  background: #f7f8fa;
  border-radius: 16px;
  padding: 12px 16px;
  border: 1px solid #e8e8e8;
  transition: border-color 0.3s, box-shadow 0.3s;
}
.input-wrapper[data-v-1e2fd7a8]:focus-within {
  border-color: #1677ff;
  box-shadow: 0 0 0 2px rgba(22, 119, 255, 0.1);
}
.chat-input[data-v-1e2fd7a8] {
  background: transparent;
  border: none;
  resize: none;
  padding: 0;
  font-size: 14px;
}
.chat-input[data-v-1e2fd7a8]:focus {
  box-shadow: none;
}
.input-actions[data-v-1e2fd7a8] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 8px;
}
.input-left-actions[data-v-1e2fd7a8] {
  display: flex;
  gap: 8px;
}
.input-right-actions[data-v-1e2fd7a8] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.char-count[data-v-1e2fd7a8] {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.35);
}
.upload-files[data-v-1e2fd7a8] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}
/* 响应式 */
@media (max-width: 768px) {
.chat-sidebar[data-v-1e2fd7a8] {
    width: 180px;
    flex-shrink: 0;
}
.chat-sidebar--collapsed[data-v-1e2fd7a8] {
    width: 0 !important;
    min-width: 0 !important;
    overflow: hidden;
    border: none;
    padding: 0;
}
.sidebar-header[data-v-1e2fd7a8] {
    padding: 10px;
    gap: 4px;
}
.sidebar-header .ant-btn-primary[data-v-1e2fd7a8] {
    font-size: 12px;
    height: 32px;
    padding: 0 8px;
}
.sidebar-close-btn[data-v-1e2fd7a8] {
    display: none;
}
.conversation-item[data-v-1e2fd7a8] {
    padding: 8px 10px;
}
.conversation-icon[data-v-1e2fd7a8] {
    font-size: 14px;
}
.conversation-title[data-v-1e2fd7a8] {
    font-size: 12px;
    max-width: 100px;
}
.conversation-time[data-v-1e2fd7a8] {
    font-size: 10px;
}
.conversation-more[data-v-1e2fd7a8] {
    font-size: 12px;
}
.sidebar-footer[data-v-1e2fd7a8] {
    padding: 6px;
}
.sidebar-footer .ant-btn[data-v-1e2fd7a8] {
    font-size: 12px;
    height: 32px;
}
.chat-header[data-v-1e2fd7a8] {
    padding: 8px 12px;
}
.chat-header-left[data-v-1e2fd7a8] {
    gap: 8px;
}
.agent-info[data-v-1e2fd7a8] {
    gap: 8px;
}
.agent-avatar-small[data-v-1e2fd7a8] {
    width: 32px;
    height: 32px;
    font-size: 13px;
}
.agent-name[data-v-1e2fd7a8] {
    font-size: 14px;
}
.agent-status[data-v-1e2fd7a8] {
    font-size: 11px;
}
.chat-header-right .ant-btn[data-v-1e2fd7a8] {
    padding: 4px;
}
.message-content[data-v-1e2fd7a8] {
    max-width: calc(100% - 60px);
}
.message-item[data-v-1e2fd7a8] {
    gap: 8px;
    margin-bottom: 12px;
}
.message-avatar[data-v-1e2fd7a8] {
    width: 30px;
    height: 30px;
    font-size: 12px;
}
.message-bubble[data-v-1e2fd7a8] {
    padding: 8px 12px;
    border-radius: 12px;
}
.message-item--user .message-bubble[data-v-1e2fd7a8] {
    border-radius: 12px 4px 12px 12px;
}
.message-item:not(.message-item--user) .message-bubble[data-v-1e2fd7a8] {
    border-radius: 4px 12px 12px 12px;
}
.message-text[data-v-1e2fd7a8] {
    font-size: 13px;
    line-height: 1.5;
}
.message-time[data-v-1e2fd7a8] {
    font-size: 11px;
}
.message-actions[data-v-1e2fd7a8] {
    opacity: 1;
    gap: 2px;
}
.message-actions .ant-btn[data-v-1e2fd7a8] {
    padding: 2px;
    font-size: 12px;
}
.chat-input-area[data-v-1e2fd7a8] {
    padding: 10px 12px;
}
.input-wrapper[data-v-1e2fd7a8] {
    padding: 8px 12px;
    border-radius: 12px;
}
.chat-input[data-v-1e2fd7a8] {
    font-size: 13px;
}
.input-actions[data-v-1e2fd7a8] {
    margin-top: 6px;
}
.welcome-section[data-v-1e2fd7a8] {
    padding: 16px 12px;
}
.welcome-avatar[data-v-1e2fd7a8] {
    width: 48px;
    height: 48px;
    font-size: 18px;
}
.welcome-title[data-v-1e2fd7a8] {
    font-size: 14px;
}
.welcome-desc[data-v-1e2fd7a8] {
    font-size: 12px;
}
.quick-questions[data-v-1e2fd7a8] {
    max-width: 100%;
}
.quick-questions-title[data-v-1e2fd7a8] {
    font-size: 12px;
    margin-bottom: 8px;
}
.quick-questions-list[data-v-1e2fd7a8] {
    gap: 6px;
}
.quick-question-tag[data-v-1e2fd7a8] {
    padding: 6px 12px;
    font-size: 12px;
    border-radius: 12px;
}
.chat-messages[data-v-1e2fd7a8] {
    padding: 12px;
}
.agent-chat-page[data-v-1e2fd7a8] {
    height: calc(100vh - var(--header-height, 56px) - var(--tab-height, 40px));
}
}
@media (max-width: 768px) and (max-width: 768px) {
.sidebar-header[data-v-1e2fd7a8] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.chat-input-area[data-v-1e2fd7a8] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.welcome-section[data-v-1e2fd7a8] {
    padding: 12px;
}
}
@media (max-width: 575px) {
.chat-sidebar[data-v-1e2fd7a8] {
    width: 140px;
}
.conversation-title[data-v-1e2fd7a8] {
    font-size: 11px;
    max-width: 80px;
}
.conversation-time[data-v-1e2fd7a8] {
    display: none;
}
.conversation-more[data-v-1e2fd7a8] {
    display: none;
}
.agent-meta[data-v-1e2fd7a8] {
    min-width: 0;
}
.agent-name[data-v-1e2fd7a8] {
    font-size: 13px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100px;
}
.chat-input-area[data-v-1e2fd7a8] {
    padding: 8px;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.chat-input-area[data-v-1e2fd7a8] {
    padding: 12px;
}
}
.orchestration-list-page[data-v-bff8bb83] {
  padding: 0;
}
/* ==================== Hero区域 ==================== */
.hero-section[data-v-bff8bb83] {
  position: relative;
  overflow: hidden;
  padding: 32px 32px 28px;
  margin-bottom: 16px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 12px;
  color: #fff;
}
.hero-bg-decoration[data-v-bff8bb83] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
  pointer-events: none;
}
.hero-circle[data-v-bff8bb83] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-bff8bb83] {
  width: 300px;
  height: 300px;
  top: -100px;
  right: -50px;
}
.hero-circle--2[data-v-bff8bb83] {
  width: 200px;
  height: 200px;
  bottom: -80px;
  left: 10%;
}
.hero-content[data-v-bff8bb83] {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.hero-left[data-v-bff8bb83] {
  flex: 1;
}
.hero-title[data-v-bff8bb83] {
  font-size: 24px;
  font-weight: 700;
  margin: 0 0 8px;
  color: #fff;
}
.hero-desc[data-v-bff8bb83] {
  font-size: 14px;
  opacity: 0.9;
  margin: 0 0 20px;
}
.hero-stats[data-v-bff8bb83] {
  display: flex;
  align-items: center;
  gap: 24px;
}
.hero-stat[data-v-bff8bb83] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.hero-stat-value[data-v-bff8bb83] {
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
}
.hero-stat-label[data-v-bff8bb83] {
  font-size: 12px;
  opacity: 0.85;
}
.hero-stat-divider[data-v-bff8bb83] {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.2);
}
.hero-right[data-v-bff8bb83] {
  display: flex;
  gap: 12px;
}
.hero-btn-primary[data-v-bff8bb83] {
  background: #fff !important;
  color: #667eea !important;
  border: none !important;
  font-weight: 600;
}
.hero-btn-primary[data-v-bff8bb83]:hover {
  background: rgba(255, 255, 255, 0.9) !important;
}
.hero-btn-default[data-v-bff8bb83] {
  background: rgba(255, 255, 255, 0.15) !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
}
.hero-btn-default[data-v-bff8bb83]:hover {
  background: rgba(255, 255, 255, 0.25) !important;
}
/* ==================== 筛选栏 ==================== */
.filter-bar[data-v-bff8bb83] {
  display: flex;
  gap: 12px;
  margin-bottom: 16px;
  padding: 0 4px;
}
.filter-search[data-v-bff8bb83] {
  width: 300px;
}
.filter-select[data-v-bff8bb83] {
  width: 180px;
}
/* ==================== 列表 ==================== */
.list-container[data-v-bff8bb83] {
  background: #fff;
  border-radius: 12px;
  padding: 4px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}
.cell-name[data-v-bff8bb83] {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.cell-name-text[data-v-bff8bb83] {
  font-weight: 600;
  color: #1f1f1f;
}
.cell-name-desc[data-v-bff8bb83] {
  font-size: 12px;
  color: #999;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 220px;
}
.cell-number[data-v-bff8bb83] {
  font-weight: 600;
  color: #1890ff;
}
.cell-stats[data-v-bff8bb83] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 12px;
}
.cell-stat-item[data-v-bff8bb83] {
  display: flex;
  gap: 4px;
}
.cell-stat-label[data-v-bff8bb83] {
  color: #999;
}
.cell-stat-value[data-v-bff8bb83] {
  font-weight: 600;
  color: #333;
}
.cell-time[data-v-bff8bb83] {
  font-size: 12px;
  color: #999;
}
.cell-actions[data-v-bff8bb83] {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
}
.empty-state[data-v-bff8bb83] {
  padding: 60px 0;
  text-align: center;
  color: #999;
}
.empty-state p[data-v-bff8bb83] {
  margin-top: 16px;
  font-size: 14px;
}
/* ==================== 响应式 ==================== */
@media (max-width: 768px) {
.hero-section[data-v-bff8bb83] {
    padding: 24px 20px;
}
.hero-content[data-v-bff8bb83] {
    flex-direction: column;
    gap: 20px;
}
.hero-stats[data-v-bff8bb83] {
    flex-wrap: wrap;
    gap: 16px;
}
.filter-bar[data-v-bff8bb83] {
    flex-direction: column;
}
.filter-search[data-v-bff8bb83],
  .filter-select[data-v-bff8bb83] {
    width: 100%;
}
}
/* ====================================================================
   AI Agent Orchestration Page — Modern Workflow Editor Styling
   Inspired by Dify / n8n / Retool
   ==================================================================== */
/* ==================== 页面布局 ==================== */
.orchestration-page[data-v-cb331b3a] {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #0a0e14;
  color: #c9d1d9;
  overflow: hidden;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}
/* ==================== 顶部工具栏 ==================== */
.orch-toolbar[data-v-cb331b3a] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 52px;
  padding: 0 20px;
  background: #141920;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  flex-shrink: 0;
  z-index: 10;
  backdrop-filter: blur(8px);
}
.orch-toolbar-left[data-v-cb331b3a] {
  display: flex;
  align-items: center;
  gap: 10px;
}
.orch-toolbar-center[data-v-cb331b3a] {
  display: flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 255, 255, 0.04);
  padding: 3px 8px;
  border-radius: 8px;
}
.orch-toolbar-right[data-v-cb331b3a] {
  display: flex;
  align-items: center;
  gap: 6px;
}
.orch-title[data-v-cb331b3a] {
  font-size: 15px;
  font-weight: 600;
  color: #e6edf3;
  letter-spacing: -0.2px;
  max-width: 200px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.toolbar-btn[data-v-cb331b3a] {
  color: #94a3b8 !important;
  border-color: transparent;
  background: transparent;
  border-radius: 8px;
  font-size: 13px;
  transition: all 0.15s ease;
  box-shadow: none;
}
.toolbar-btn[data-v-cb331b3a]:hover {
  color: #e2e8f0 !important;
  border-color: transparent;
  background: rgba(255, 255, 255, 0.08);
}
.toolbar-btn[data-v-cb331b3a]:disabled {
  color: rgba(139, 148, 158, 0.35);
  border-color: transparent;
  background: transparent;
}
.zoom-label[data-v-cb331b3a] {
  font-size: 11px;
  font-weight: 500;
  color: #8b949e;
  min-width: 38px;
  text-align: center;
  font-variant-numeric: tabular-nums;
}
.execute-btn[data-v-cb331b3a] {
  background: linear-gradient(135deg, #238636, #2ea043);
  border-color: transparent;
  border-radius: 8px;
  font-weight: 500;
  font-size: 14px;
  padding: 0 20px;
  box-shadow: 0 2px 12px rgba(35, 134, 54, 0.4);
  color: #ffffff !important;
}
.execute-btn[data-v-cb331b3a]:hover {
  background: linear-gradient(135deg, #2ea043, #3fb950);
  border-color: transparent;
  box-shadow: 0 4px 12px rgba(35, 134, 54, 0.4);
}
/* ==================== 主体区域 ==================== */
.orch-body[data-v-cb331b3a] {
  display: flex;
  flex: 1;
  overflow: hidden;
}
/* ==================== 左侧节点面板 ==================== */
.orch-node-panel[data-v-cb331b3a] {
  width: 248px;
  background: #111820;
  border-right: 1px solid rgba(255, 255, 255, 0.06);
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  overflow: hidden;
}
.panel-header[data-v-cb331b3a] {
  padding: 14px 16px;
  font-size: 12px;
  font-weight: 600;
  color: #c9d1d9;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: linear-gradient(180deg, rgba(96, 165, 250, 0.04) 0%, transparent 100%);
  position: relative;
}
.panel-header[data-v-cb331b3a]::before {
  content: '';
  position: absolute;
  left: 0;
  top: 14px;
  width: 3px;
  height: 14px;
  background: linear-gradient(180deg, #60a5fa, #3b82f6);
  border-radius: 0 2px 2px 0;
}
.panel-header[data-v-cb331b3a] .ant-btn {
  color: rgba(139, 148, 158, 0.6) !important;
  border-radius: 6px;
  transition: all 0.15s ease;
}
.panel-header[data-v-cb331b3a] .ant-btn:hover {
  color: #e6edf3 !important;
  background: rgba(255, 255, 255, 0.06);
}
.panel-hint[data-v-cb331b3a] {
  padding: 10px 18px 6px;
  font-size: 11px;
  color: rgba(139, 148, 158, 0.5);
}
.node-type-list[data-v-cb331b3a]::-webkit-scrollbar-track {
  background: transparent !important;
}
.node-type-list[data-v-cb331b3a]::-webkit-scrollbar-thumb {
  background: rgba(24, 144, 255, 0.5) !important;
  border-radius: 3px;
}
.node-type-list[data-v-cb331b3a]::-webkit-scrollbar-thumb:hover {
  background: rgba(24, 144, 255, 0.9) !important;
}
.node-type-list[data-v-cb331b3a]::-webkit-scrollbar {
  width: 5px !important;
}
.node-type-list[data-v-cb331b3a] {
  scrollbar-width: thin !important;
  scrollbar-color: rgba(24, 144, 255, 0.5) transparent !important;
}
.node-type-list[data-v-cb331b3a] {
  padding: 8px 10px;
  overflow-y: auto;
  flex: 1;
}
.node-type-item[data-v-cb331b3a] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  margin-bottom: 8px;
  border-radius: 10px;
  border-left: 4px solid;
  background: rgba(255, 255, 255, 0.015);
  cursor: pointer;
  transition: all 0.2s ease;
}
.node-type-item[data-v-cb331b3a]:hover {
  background: rgba(255, 255, 255, 0.05);
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.node-type-item[data-v-cb331b3a]:active {
  transform: translateY(0);
  background: rgba(24, 144, 255, 0.08);
}
.node-type-icon[data-v-cb331b3a] {
  width: 34px;
  height: 34px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  flex-shrink: 0;
  transition: transform 0.2s ease;
}
.node-type-item:hover .node-type-icon[data-v-cb331b3a] {
  transform: scale(1.08);
}
.node-type-info[data-v-cb331b3a] {
  flex: 1;
  min-width: 0;
}
.node-type-name[data-v-cb331b3a] {
  font-size: 13px;
  font-weight: 500;
  color: #e6edf3;
  line-height: 1.3;
}
.node-type-desc[data-v-cb331b3a] {
  font-size: 11px;
  color: rgba(139, 148, 158, 0.7);
  margin-top: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.3;
}
/* ==================== 中间画布区域 ==================== */
.orch-canvas-wrapper[data-v-cb331b3a] {
  flex: 1;
  overflow: auto;
  position: relative;
  background: #0a0e14;
  background-image: radial-gradient(circle, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
  background-size: 24px 24px;
}
.orch-canvas[data-v-cb331b3a] {
  position: relative;
  width: 3000px;
  height: 2000px;
  min-width: 100%;
  min-height: 100%;
}
.orch-edges-layer[data-v-cb331b3a] {
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 1;
}
/* ==================== 连接线样式 ==================== */
.orch-edge[data-v-cb331b3a] {
  pointer-events: stroke;
  cursor: pointer;
  transition: all 0.25s ease;
  stroke-dasharray: none;
  stroke: #6b7280;
  stroke-width: 2;
  stroke-linecap: round;
}
.orch-edge[data-v-cb331b3a]:hover {
  stroke: #60a5fa;
  stroke-width: 2.5;
  filter: drop-shadow(0 0 8px rgba(96, 165, 250, 0.3));
}
.orch-edge--active[data-v-cb331b3a] {
  stroke: #3b82f6;
  stroke-width: 2;
  stroke-dasharray: 8, 4;
  animation: edgeFlowDash-cb331b3a 0.8s linear infinite;
}
.orch-edge--flow[data-v-cb331b3a] {
  stroke-dasharray: 8, 4;
  animation: flowDash-cb331b3a 1s linear infinite;
}
@keyframes flowDash-cb331b3a {
to {
    stroke-dashoffset: -12;
}
}
@keyframes edgeFlowDash-cb331b3a {
to {
    stroke-dashoffset: -12;
}
}
.orch-edge-label[data-v-cb331b3a] {
  pointer-events: none;
  user-select: none;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-weight: 500;
  paint-order: stroke;
  stroke: rgba(10, 14, 20, 0.85);
  stroke-width: 4;
  stroke-linejoin: round;
}
/* ==================== 节点样式 ==================== */
.orch-node[data-v-cb331b3a] {
  position: absolute;
  width: 240px;
  background: #1e2430;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 10px;
  cursor: move;
  z-index: 2;
  transition: all 0.2s ease;
  user-select: none;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 0 0 0 transparent;
  overflow: visible;
}
.orch-node[data-v-cb331b3a]:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25), 0 0 0 0 transparent;
  transform: translateY(-1px);
  z-index: 3;
}
.orch-node--selected[data-v-cb331b3a] {
  box-shadow: 0 0 0 2px #1890ff, 0 0 0 5px rgba(24, 144, 255, 0.15), 0 4px 16px rgba(0, 0, 0, 0.2);
  z-index: 4;
  transform: translateY(-1px);
}
.orch-node--running[data-v-cb331b3a] {
  animation: nodeRunning-cb331b3a 1.5s ease-in-out infinite;
}
@keyframes nodeRunning-cb331b3a {
0%,
  100% {
    box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.3), 0 2px 8px rgba(0, 0, 0, 0.15);
}
50% {
    box-shadow: 0 0 0 4px rgba(24, 144, 255, 0.5), 0 4px 20px rgba(24, 144, 255, 0.2);
}
}
.orch-node--success[data-v-cb331b3a] {
  box-shadow: 0 0 0 2px rgba(82, 196, 26, 0.5), 0 0 0 5px rgba(82, 196, 26, 0.1), 0 2px 8px rgba(0, 0, 0, 0.15);
}
.orch-node--error[data-v-cb331b3a] {
  box-shadow: 0 0 0 2px rgba(248, 81, 73, 0.5), 0 0 0 5px rgba(248, 81, 73, 0.1), 0 2px 8px rgba(0, 0, 0, 0.15);
}
.orch-node-content[data-v-cb331b3a] {
  pointer-events: none;
  border-radius: 10px;
  overflow: hidden;
}
.orch-node-header[data-v-cb331b3a] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
  border-radius: 10px 10px 0 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.025) 0%, transparent 100%);
}
.orch-node-icon[data-v-cb331b3a] {
  font-size: 16px;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.orch-node-name[data-v-cb331b3a] {
  font-size: 13px;
  font-weight: 600;
  color: #e6edf3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.3;
}
.orch-node-body[data-v-cb331b3a] {
  padding: 8px 14px 10px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.orch-node-type-label[data-v-cb331b3a] {
  font-size: 11px;
  color: rgba(139, 148, 158, 0.75);
  font-weight: 500;
  padding: 2px 8px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.06);
  letter-spacing: 0.2px;
  line-height: 1.4;
}
.orch-node-status-dot[data-v-cb331b3a] {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(82, 196, 26, 0.8);
  box-shadow: 0 0 0 2px rgba(82, 196, 26, 0.15);
  flex-shrink: 0;
}
/* ==================== 端口样式 ==================== */
.orch-node-port[data-v-cb331b3a] {
  position: absolute;
  width: 12px;
  height: 12px;
  background: #4b5563;
  border: 2px solid #6b7280;
  border-radius: 50%;
  cursor: crosshair;
  z-index: 5;
  transition: all 0.2s ease;
}
.orch-node-port[data-v-cb331b3a]:hover {
  transform: translateY(-50%) scale(1.3);
  background: #60a5fa;
  border-color: #60a5fa;
  box-shadow: 0 0 0 4px rgba(96, 165, 250, 0.2);
}
.orch-node-port--connected[data-v-cb331b3a] {
  background: #60a5fa;
  border-color: #60a5fa;
  box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.18);
}
.orch-node-port--input[data-v-cb331b3a] {
  left: -6px;
  top: 50%;
  transform: translateY(-50%);
}
.orch-node-port--output[data-v-cb331b3a] {
  right: -6px;
  top: 50%;
  transform: translateY(-50%);
}
/* ==================== 空画布提示 ==================== */
.orch-canvas-empty[data-v-cb331b3a] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: rgba(139, 148, 158, 0.55);
  pointer-events: none;
  padding: 24px 32px;
  border-radius: 12px;
  background: rgba(20, 25, 32, 0.5);
  border: 1px dashed rgba(96, 165, 250, 0.18);
  backdrop-filter: blur(6px);
}
.empty-icon[data-v-cb331b3a] {
  font-size: 56px;
  margin-bottom: 20px;
  opacity: 0.55;
  color: #60a5fa;
  filter: drop-shadow(0 4px 16px rgba(96, 165, 250, 0.25));
}
.orch-canvas-empty p[data-v-cb331b3a] {
  font-size: 14px;
  max-width: 300px;
  line-height: 1.6;
  color: rgba(139, 148, 158, 0.75);
  font-weight: 500;
}
/* ==================== 右侧属性面板 ==================== */
.orch-property-panel[data-v-cb331b3a] {
  width: 300px;
  background: #111820;
  border-left: 1px solid rgba(255, 255, 255, 0.06);
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  overflow: hidden;
  transition: width 0.3s ease;
}
.orch-property-panel--collapsed[data-v-cb331b3a] {
  width: 0;
  overflow: hidden;
  border-left: none;
}
.panel-empty[data-v-cb331b3a] {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: rgba(139, 148, 158, 0.6);
  padding: 24px 20px;
  margin: 14px;
  border-radius: 10px;
  background: rgba(20, 25, 32, 0.4);
  border: 1px dashed rgba(96, 165, 250, 0.15);
  backdrop-filter: blur(4px);
}
.panel-empty-icon[data-v-cb331b3a] {
  font-size: 40px;
  margin-bottom: 14px;
  opacity: 0.5;
  color: #60a5fa;
  filter: drop-shadow(0 4px 12px rgba(96, 165, 250, 0.2));
}
.panel-empty p[data-v-cb331b3a] {
  font-size: 13px;
  text-align: center;
  font-weight: 500;
  line-height: 1.6;
}
.panel-content[data-v-cb331b3a] {
  padding: 14px;
  overflow-y: auto;
  flex: 1;
}
.config-section[data-v-cb331b3a] {
  margin-bottom: 20px;
}
.config-section-title[data-v-cb331b3a] {
  font-size: 11px;
  font-weight: 600;
  color: rgba(139, 148, 158, 0.7);
  text-transform: uppercase;
  letter-spacing: 0.8px;
  margin-bottom: 14px;
  padding-bottom: 8px;
  padding-left: 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  position: relative;
}
.config-section-title[data-v-cb331b3a]::before {
  content: '';
  position: absolute;
  left: 0;
  top: 1px;
  width: 3px;
  height: 12px;
  background: linear-gradient(180deg, #60a5fa, #3b82f6);
  border-radius: 2px;
}
.form-hint[data-v-cb331b3a] {
  font-size: 11px;
  color: rgba(139, 148, 158, 0.45);
  margin-top: 4px;
  line-height: 1.4;
}
.param-row[data-v-cb331b3a] {
  display: flex;
  gap: 6px;
  margin-bottom: 6px;
  align-items: center;
}
.code-textarea[data-v-cb331b3a] {
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  font-size: 12px;
}
/* ==================== 底部执行结果面板 ==================== */
.orch-execution-panel[data-v-cb331b3a] {
  background: #111820;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  flex-shrink: 0;
  max-height: 320px;
  display: flex;
  flex-direction: column;
  transition: max-height 0.3s ease;
}
.orch-execution-panel--collapsed[data-v-cb331b3a] {
  max-height: 38px;
}
.execution-panel-header[data-v-cb331b3a] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 9px 20px;
  cursor: pointer;
  flex-shrink: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
  transition: background 0.15s ease;
}
.execution-panel-header[data-v-cb331b3a]:hover {
  background: rgba(255, 255, 255, 0.02);
}
.execution-panel-actions[data-v-cb331b3a] {
  display: flex;
  align-items: center;
  gap: 6px;
}
.panel-toggle-btn[data-v-cb331b3a] {
  color: rgba(139, 148, 158, 0.6) !important;
  font-size: 12px;
  border-radius: 6px;
  transition: all 0.15s ease;
}
.panel-toggle-btn[data-v-cb331b3a]:hover {
  color: #e6edf3 !important;
  background: rgba(255, 255, 255, 0.06);
}
.execution-panel-title[data-v-cb331b3a] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  color: #e2e8f0 !important;
  letter-spacing: 0.2px;
}
.execution-panel-title[data-v-cb331b3a]::before {
  content: '';
  width: 3px;
  height: 14px;
  background: linear-gradient(180deg, #60a5fa, #3b82f6);
  border-radius: 2px;
}
.execution-panel-body[data-v-cb331b3a] {
  flex: 1;
  overflow-y: auto;
  padding: 14px 20px;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(24, 144, 255, 0.6) transparent !important;
}
.execution-result-header[data-v-cb331b3a] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
  color: #cbd5e1 !important;
}
.execution-duration[data-v-cb331b3a] {
  font-size: 12px;
  color: #94a3b8 !important;
  font-variant-numeric: tabular-nums;
}
.execution-result-sections[data-v-cb331b3a] {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.execution-section-title[data-v-cb331b3a] {
  font-size: 11px;
  font-weight: 600;
  color: #94a3b8 !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 8px;
  padding-left: 10px;
  position: relative;
}
.execution-section-title[data-v-cb331b3a]::before {
  content: '';
  position: absolute;
  left: 0;
  top: 1px;
  width: 3px;
  height: 11px;
  background: linear-gradient(180deg, #60a5fa, #3b82f6);
  border-radius: 2px;
}
.execution-code[data-v-cb331b3a] {
  background: linear-gradient(180deg, #0a0e14 0%, #0d1117 100%);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  padding: 12px 14px;
  font-size: 12px;
  color: #c9d1d9;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  overflow-x: auto;
  white-space: pre-wrap;
  word-break: break-all;
  margin: 0;
  line-height: 1.6;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.02);
}
.execution-error[data-v-cb331b3a] {
  color: #f85149;
}
.node-result-list[data-v-cb331b3a] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.node-result-item[data-v-cb331b3a] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  background: rgba(255, 255, 255, 0.02);
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.04);
  border-left: 3px solid rgba(100, 116, 139, 0.4);
  transition: background 0.15s ease;
}
.node-result-item[data-v-cb331b3a]:hover {
  background: rgba(255, 255, 255, 0.04);
}
.node-result-item--success[data-v-cb331b3a] {
  border-left-color: rgba(34, 197, 94, 0.5);
}
.node-result-item--error[data-v-cb331b3a] {
  border-left-color: rgba(239, 68, 68, 0.5);
}
.node-result-item--running[data-v-cb331b3a] {
  border-left-color: rgba(59, 130, 246, 0.5);
}
.node-result-item--pending[data-v-cb331b3a] {
  border-left-color: rgba(100, 116, 139, 0.4);
}
.node-result-header[data-v-cb331b3a] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.node-result-name[data-v-cb331b3a] {
  font-size: 12px;
  color: #e2e8f0 !important;
  font-weight: 500;
}
.node-result-duration[data-v-cb331b3a] {
  font-size: 11px;
  color: #94a3b8 !important;
  font-variant-numeric: tabular-nums;
}
/* 执行历史 */
.execution-history-title[data-v-cb331b3a] {
  font-size: 12px;
  font-weight: 600;
  color: #94a3b8 !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 12px;
}
.history-list[data-v-cb331b3a] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.history-item[data-v-cb331b3a] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background: rgba(255, 255, 255, 0.02);
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.04);
  cursor: pointer;
  transition: all 0.15s ease;
}
.history-item[data-v-cb331b3a]:hover {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.08);
  transform: translateX(2px);
}
.history-item-left[data-v-cb331b3a] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.history-duration[data-v-cb331b3a] {
  font-size: 12px;
  color: #94a3b8 !important;
  font-variant-numeric: tabular-nums;
}
.history-time[data-v-cb331b3a] {
  font-size: 11px;
  color: #64748b !important;
}
/* ==================== 右键菜单 ==================== */
.context-menu[data-v-cb331b3a] {
  position: fixed;
  z-index: 1000;
  background: #1a2030;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  padding: 5px;
  min-width: 180px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.45), 0 0 0 0 transparent;
  backdrop-filter: blur(12px);
}
.context-menu-item[data-v-cb331b3a] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  font-size: 13px;
  color: #c9d1d9;
  cursor: pointer;
  border-radius: 6px;
  transition: all 0.15s ease;
}
.context-menu-item[data-v-cb331b3a]:hover {
  background: rgba(255, 255, 255, 0.06);
  color: #e6edf3;
}
.context-menu-item--danger[data-v-cb331b3a] {
  color: #f85149;
}
.context-menu-item--danger[data-v-cb331b3a]:hover {
  background: rgba(248, 81, 73, 0.1);
  color: #ff7b72;
}
.context-menu-divider[data-v-cb331b3a] {
  height: 1px;
  background: rgba(255, 255, 255, 0.06);
  margin: 4px 8px;
}
/* ==================== Ant Design 暗色覆盖 ==================== */
.orch-node-panel[data-v-cb331b3a] .ant-input,
.orch-node-panel[data-v-cb331b3a] .ant-select-selector,
.orch-property-panel[data-v-cb331b3a] .ant-input,
.orch-property-panel[data-v-cb331b3a] .ant-select-selector,
.orch-property-panel[data-v-cb331b3a] .ant-input-number,
.orch-property-panel[data-v-cb331b3a] .ant-input-number-input,
.orch-property-panel[data-v-cb331b3a] .ant-select-dropdown,
.orch-property-panel[data-v-cb331b3a] .ant-input-affix-wrapper,
.orch-property-panel[data-v-cb331b3a] .ant-input-textarea textarea,
.orch-execution-panel[data-v-cb331b3a] .ant-input,
.orch-execution-panel[data-v-cb331b3a] .ant-select-selector {
  background: #0a0e14 !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  border-radius: 6px !important;
  color: #c9d1d9 !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}
.orch-property-panel[data-v-cb331b3a] .ant-input:focus,
.orch-property-panel[data-v-cb331b3a] .ant-input-focused,
.orch-property-panel[data-v-cb331b3a] .ant-input-affix-wrapper:focus,
.orch-property-panel[data-v-cb331b3a] .ant-input-affix-wrapper-focused,
.orch-property-panel[data-v-cb331b3a] .ant-input-textarea textarea:focus {
  border-color: #1890ff !important;
  box-shadow: 0 0 0 3px rgba(24, 144, 255, 0.15) !important;
}
.orch-property-panel[data-v-cb331b3a] .ant-select-arrow,
.orch-property-panel[data-v-cb331b3a] .ant-input-suffix {
  color: rgba(139, 148, 158, 0.6) !important;
}
.orch-property-panel[data-v-cb331b3a] .ant-select-dropdown {
  background: #1a2030 !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4) !important;
}
.orch-property-panel[data-v-cb331b3a] .ant-select-item {
  color: #c9d1d9 !important;
  border-radius: 4px !important;
}
.orch-property-panel[data-v-cb331b3a] .ant-select-item-option-active {
  background: rgba(255, 255, 255, 0.06) !important;
}
.orch-property-panel[data-v-cb331b3a] .ant-select-item-option-selected {
  background: rgba(24, 144, 255, 0.1) !important;
  color: #58a6ff !important;
}
.orch-property-panel[data-v-cb331b3a] .ant-form-item-label > label {
  color: rgba(139, 148, 158, 0.7) !important;
  font-size: 12px !important;
}
/* Slider */
.orch-property-panel[data-v-cb331b3a] .ant-slider {
  color: #1890ff;
}
.orch-property-panel[data-v-cb331b3a] .ant-slider-rail {
  background: rgba(255, 255, 255, 0.08) !important;
  border-radius: 4px !important;
  height: 4px !important;
}
.orch-property-panel[data-v-cb331b3a] .ant-slider-track {
  background: linear-gradient(90deg, #1890ff, #40a9ff) !important;
  border-radius: 4px !important;
  height: 4px !important;
}
.orch-property-panel[data-v-cb331b3a] .ant-slider-handle {
  width: 16px !important;
  height: 16px !important;
  border: 2px solid #1890ff !important;
  background: #1e2430 !important;
  margin-top: -6px !important;
  box-shadow: 0 0 0 3px rgba(24, 144, 255, 0.15) !important;
  transition: box-shadow 0.2s ease !important;
}
.orch-property-panel[data-v-cb331b3a] .ant-slider-handle:hover,
.orch-property-panel[data-v-cb331b3a] .ant-slider-handle:focus {
  box-shadow: 0 0 0 5px rgba(24, 144, 255, 0.25) !important;
}
/* Dashed buttons */
.orch-property-panel[data-v-cb331b3a] .ant-btn-dashed {
  border-color: rgba(255, 255, 255, 0.08);
  border-radius: 6px;
  color: rgba(139, 148, 158, 0.7);
  background: rgba(24, 144, 255, 0.06);
  transition: all 0.15s ease;
}
.orch-property-panel[data-v-cb331b3a] .ant-btn-dashed:hover {
  border-color: #1890ff;
  color: #1890ff;
  background: rgba(24, 144, 255, 0.06);
}
/* 暗色标签 */
.orch-toolbar[data-v-cb331b3a] .ant-tag,
.orch-execution-panel[data-v-cb331b3a] .ant-tag {
  border: none;
  border-radius: 6px;
  opacity: 0.9;
  font-size: 11px;
}
.orch-execution-panel[data-v-cb331b3a] .ant-tag-success,
.orch-execution-panel[data-v-cb331b3a] .ant-tag-green {
  background: rgba(34, 197, 94, 0.12) !important;
  border: 1px solid rgba(34, 197, 94, 0.25) !important;
  color: #4ade80 !important;
  border-radius: 4px !important;
  padding: 1px 10px !important;
  font-size: 12px !important;
}
.orch-execution-panel[data-v-cb331b3a] .ant-tag-error,
.orch-execution-panel[data-v-cb331b3a] .ant-tag-red {
  background: rgba(239, 68, 68, 0.12) !important;
  border: 1px solid rgba(239, 68, 68, 0.25) !important;
  color: #f87171 !important;
  border-radius: 4px !important;
  padding: 1px 10px !important;
}
.orch-execution-panel[data-v-cb331b3a] .ant-tag-processing,
.orch-execution-panel[data-v-cb331b3a] .ant-tag-blue {
  background: rgba(59, 130, 246, 0.12) !important;
  border: 1px solid rgba(59, 130, 246, 0.25) !important;
  color: #60a5fa !important;
  border-radius: 4px !important;
  padding: 1px 10px !important;
}
.orch-execution-panel[data-v-cb331b3a] .ant-empty-description {
  color: rgba(139, 148, 158, 0.35);
}
.orch-toolbar[data-v-cb331b3a] .ant-tag {
  border: none;
  border-radius: 6px;
}
/* 暗色下拉菜单 */
.orch-toolbar[data-v-cb331b3a] .ant-dropdown-menu {
  background: #1a2030;
  border-color: rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  padding: 5px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
}
.orch-toolbar[data-v-cb331b3a] .ant-dropdown-menu-item {
  color: #c9d1d9;
  border-radius: 6px;
}
.orch-toolbar[data-v-cb331b3a] .ant-dropdown-menu-item:hover {
  background: rgba(255, 255, 255, 0.06);
}
/* ==================== 缩略图 (Minimap) ==================== */
.orch-minimap[data-v-cb331b3a] {
  position: absolute;
  bottom: 14px;
  right: 14px;
  width: 160px;
  height: 100px;
  background: rgba(10, 14, 20, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 10px;
  overflow: hidden;
  z-index: 10;
  backdrop-filter: blur(8px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  transition: opacity 0.2s ease;
}
.orch-minimap[data-v-cb331b3a]:hover {
  background: rgba(10, 14, 20, 0.9);
}
.minimap-edges[data-v-cb331b3a] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.minimap-node[data-v-cb331b3a] {
  position: absolute;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.4);
  transition: transform 0.15s ease;
}
.minimap-node[data-v-cb331b3a]:hover {
  transform: translate(-50%, -50%) scale(1.5);
}
.minimap-toggle-btn[data-v-cb331b3a] {
  position: absolute;
  bottom: 14px;
  right: 14px;
  z-index: 10;
  background: rgba(10, 14, 20, 0.75) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  color: rgba(139, 148, 158, 0.6) !important;
  border-radius: 8px !important;
  backdrop-filter: blur(8px);
  transition: all 0.2s ease;
}
.minimap-toggle-btn[data-v-cb331b3a]:hover {
  color: #e6edf3 !important;
  background: rgba(10, 14, 20, 0.9) !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
}
.minimap-close-btn[data-v-cb331b3a] {
  position: absolute;
  top: 4px;
  right: 4px;
  z-index: 2;
  color: rgba(139, 148, 158, 0.5) !important;
  font-size: 10px !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  line-height: 20px !important;
  padding: 0 !important;
  border-radius: 4px !important;
}
.minimap-close-btn[data-v-cb331b3a]:hover {
  color: #e6edf3 !important;
  background: rgba(255, 255, 255, 0.1) !important;
}
/* ==================== 工具栏按钮激活状态 ==================== */
.toolbar-btn--active[data-v-cb331b3a] {
  color: #58a6ff !important;
  border-color: transparent !important;
  background: rgba(24, 144, 255, 0.1) !important;
}
.toolbar-btn--active[data-v-cb331b3a]:hover {
  color: #79c0ff !important;
  border-color: transparent !important;
  background: rgba(24, 144, 255, 0.15) !important;
}
/* ==================== 测试预览面板 ==================== */
.orch-test-panel[data-v-cb331b3a] {
  width: 320px;
  background: #111820;
  border-left: 1px solid rgba(255, 255, 255, 0.06);
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  overflow-y: auto;
}
.test-panel-content[data-v-cb331b3a] {
  padding: 14px;
}
.test-input-section[data-v-cb331b3a] {
  margin-bottom: 16px;
}
.test-textarea[data-v-cb331b3a] {
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  font-size: 12px;
}
.test-actions[data-v-cb331b3a] {
  display: flex;
  gap: 8px;
  margin-top: 10px;
}
.test-result-section[data-v-cb331b3a] {
  margin-top: 14px;
}
.test-result-text[data-v-cb331b3a] {
  background: linear-gradient(180deg, #0a0e14 0%, #0d1117 100%);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  padding: 12px 14px;
  font-size: 12px;
  color: #c9d1d9;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  overflow-x: auto;
  white-space: pre-wrap;
  word-break: break-all;
  margin: 0;
  max-height: 300px;
  overflow-y: auto;
  line-height: 1.6;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.02);
}
/* ==================== 调试变量面板 ==================== */
.orch-debug-panel[data-v-cb331b3a] {
  width: 320px;
  background: #111820;
  border-left: 1px solid rgba(255, 255, 255, 0.06);
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  overflow-y: auto;
}
.debug-panel-content[data-v-cb331b3a] {
  padding: 14px;
}
.debug-empty[data-v-cb331b3a] {
  color: rgba(139, 148, 158, 0.55);
  font-size: 12px;
  text-align: center;
  padding: 36px 16px;
  margin: 14px;
  border-radius: 10px;
  background: rgba(20, 25, 32, 0.4);
  border: 1px dashed rgba(96, 165, 250, 0.12);
}
.debug-var-list[data-v-cb331b3a] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.debug-var-item[data-v-cb331b3a] {
  display: flex;
  flex-direction: column;
  padding: 10px 12px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.025) 0%, rgba(255, 255, 255, 0.015) 100%);
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.05);
  transition: all 0.15s ease;
}
.debug-var-item[data-v-cb331b3a]:hover {
  background: rgba(96, 165, 250, 0.05);
  border-color: rgba(96, 165, 250, 0.18);
  transform: translateX(2px);
}
.debug-var-name[data-v-cb331b3a] {
  font-size: 11px;
  color: #60a5fa;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  margin-bottom: 4px;
  font-weight: 600;
  letter-spacing: 0.2px;
}
.debug-var-value[data-v-cb331b3a] {
  font-size: 12px;
  color: #c9d1d9;
  word-break: break-all;
  line-height: 1.5;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
}
/* ==================== 调试节点高亮 ==================== */
.orch-node--debug-next[data-v-cb331b3a] {
  animation: debugPulse-cb331b3a 1.2s ease-in-out infinite;
  border-color: transparent !important;
}
@keyframes debugPulse-cb331b3a {
0%,
  100% {
    box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.3), 0 0 16px rgba(24, 144, 255, 0.15);
}
50% {
    box-shadow: 0 0 0 4px rgba(24, 144, 255, 0.5), 0 0 28px rgba(24, 144, 255, 0.3);
}
}
/* ==================== 测试面板暗色覆盖 ==================== */
.orch-test-panel[data-v-cb331b3a] .ant-input,
.orch-test-panel[data-v-cb331b3a] .ant-input-textarea textarea,
.orch-debug-panel[data-v-cb331b3a] .ant-input {
  background: #0a0e14 !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  border-radius: 6px !important;
  color: #c9d1d9 !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}
.orch-test-panel[data-v-cb331b3a] .ant-input:focus,
.orch-test-panel[data-v-cb331b3a] .ant-input-textarea textarea:focus {
  border-color: #1890ff !important;
  box-shadow: 0 0 0 3px rgba(24, 144, 255, 0.15) !important;
}
/* ==================== 滚动条样式 ==================== */
/* 深色主题滚动条 - 透明滑轨 + 蓝色高亮滑块 */
.orch-node-panel[data-v-cb331b3a],
.orch-property-panel[data-v-cb331b3a],
.orch-test-panel[data-v-cb331b3a],
.orch-debug-panel[data-v-cb331b3a],
.orch-execution-panel[data-v-cb331b3a],
.orch-canvas-wrapper[data-v-cb331b3a],
.node-type-list[data-v-cb331b3a],
.ant-tabs-content[data-v-cb331b3a],
.ant-collapse-content[data-v-cb331b3a],
.ant-select-dropdown[data-v-cb331b3a],
.ant-modal-content[data-v-cb331b3a],
.ant-drawer-body[data-v-cb331b3a],
.ant-table-body[data-v-cb331b3a],
.ant-tree-tbody[data-v-cb331b3a],
.ant-spin-nested-loading[data-v-cb331b3a],
.orch-property-content[data-v-cb331b3a],
.orch-property-section[data-v-cb331b3a],
.orch-property-section-content[data-v-cb331b3a],
.orch-property-tabs[data-v-cb331b3a],
.panel-content[data-v-cb331b3a],
.panel-content-inner[data-v-cb331b3a] {
  scrollbar-width: thin !important;
  scrollbar-color: rgba(24, 144, 255, 0.6) transparent !important;
}
.orch-node-panel[data-v-cb331b3a]::-webkit-scrollbar,
.orch-property-panel[data-v-cb331b3a]::-webkit-scrollbar,
.orch-test-panel[data-v-cb331b3a]::-webkit-scrollbar,
.orch-debug-panel[data-v-cb331b3a]::-webkit-scrollbar,
.orch-execution-panel[data-v-cb331b3a]::-webkit-scrollbar,
.orch-canvas-wrapper[data-v-cb331b3a]::-webkit-scrollbar,
.node-type-list[data-v-cb331b3a]::-webkit-scrollbar,
.ant-tabs-content[data-v-cb331b3a]::-webkit-scrollbar,
.ant-collapse-content[data-v-cb331b3a]::-webkit-scrollbar,
.ant-select-dropdown[data-v-cb331b3a]::-webkit-scrollbar,
.ant-modal-content[data-v-cb331b3a]::-webkit-scrollbar,
.ant-drawer-body[data-v-cb331b3a]::-webkit-scrollbar,
.ant-table-body[data-v-cb331b3a]::-webkit-scrollbar,
.ant-tree-tbody[data-v-cb331b3a]::-webkit-scrollbar,
.ant-spin-nested-loading[data-v-cb331b3a]::-webkit-scrollbar,
.orch-property-content[data-v-cb331b3a]::-webkit-scrollbar,
.orch-property-section[data-v-cb331b3a]::-webkit-scrollbar,
.orch-property-section-content[data-v-cb331b3a]::-webkit-scrollbar,
.orch-property-tabs[data-v-cb331b3a]::-webkit-scrollbar,
.panel-content[data-v-cb331b3a]::-webkit-scrollbar,
.panel-content-inner[data-v-cb331b3a]::-webkit-scrollbar {
  width: 5px !important;
  height: 5px !important;
}
.orch-node-panel[data-v-cb331b3a]::-webkit-scrollbar-track,
.orch-property-panel[data-v-cb331b3a]::-webkit-scrollbar-track,
.orch-test-panel[data-v-cb331b3a]::-webkit-scrollbar-track,
.orch-debug-panel[data-v-cb331b3a]::-webkit-scrollbar-track,
.orch-execution-panel[data-v-cb331b3a]::-webkit-scrollbar-track,
.orch-canvas-wrapper[data-v-cb331b3a]::-webkit-scrollbar-track,
.node-type-list[data-v-cb331b3a]::-webkit-scrollbar-track,
.ant-tabs-content[data-v-cb331b3a]::-webkit-scrollbar-track,
.ant-collapse-content[data-v-cb331b3a]::-webkit-scrollbar-track,
.ant-select-dropdown[data-v-cb331b3a]::-webkit-scrollbar-track,
.ant-modal-content[data-v-cb331b3a]::-webkit-scrollbar-track,
.ant-drawer-body[data-v-cb331b3a]::-webkit-scrollbar-track,
.ant-table-body[data-v-cb331b3a]::-webkit-scrollbar-track,
.ant-tree-tbody[data-v-cb331b3a]::-webkit-scrollbar-track,
.ant-spin-nested-loading[data-v-cb331b3a]::-webkit-scrollbar-track,
.orch-property-content[data-v-cb331b3a]::-webkit-scrollbar-track,
.orch-property-section[data-v-cb331b3a]::-webkit-scrollbar-track,
.orch-property-section-content[data-v-cb331b3a]::-webkit-scrollbar-track,
.orch-property-tabs[data-v-cb331b3a]::-webkit-scrollbar-track,
.panel-content[data-v-cb331b3a]::-webkit-scrollbar-track,
.panel-content-inner[data-v-cb331b3a]::-webkit-scrollbar-track {
  background: transparent !important;
}
.orch-node-panel[data-v-cb331b3a]::-webkit-scrollbar-thumb,
.orch-property-panel[data-v-cb331b3a]::-webkit-scrollbar-thumb,
.orch-test-panel[data-v-cb331b3a]::-webkit-scrollbar-thumb,
.orch-debug-panel[data-v-cb331b3a]::-webkit-scrollbar-thumb,
.orch-execution-panel[data-v-cb331b3a]::-webkit-scrollbar-thumb,
.orch-canvas-wrapper[data-v-cb331b3a]::-webkit-scrollbar-thumb,
.node-type-list[data-v-cb331b3a]::-webkit-scrollbar-thumb,
.ant-tabs-content[data-v-cb331b3a]::-webkit-scrollbar-thumb,
.ant-collapse-content[data-v-cb331b3a]::-webkit-scrollbar-thumb,
.ant-select-dropdown[data-v-cb331b3a]::-webkit-scrollbar-thumb,
.ant-modal-content[data-v-cb331b3a]::-webkit-scrollbar-thumb,
.ant-drawer-body[data-v-cb331b3a]::-webkit-scrollbar-thumb,
.ant-table-body[data-v-cb331b3a]::-webkit-scrollbar-thumb,
.ant-tree-tbody[data-v-cb331b3a]::-webkit-scrollbar-thumb,
.ant-spin-nested-loading[data-v-cb331b3a]::-webkit-scrollbar-thumb,
.orch-property-content[data-v-cb331b3a]::-webkit-scrollbar-thumb,
.orch-property-section[data-v-cb331b3a]::-webkit-scrollbar-thumb,
.orch-property-section-content[data-v-cb331b3a]::-webkit-scrollbar-thumb,
.orch-property-tabs[data-v-cb331b3a]::-webkit-scrollbar-thumb,
.panel-content[data-v-cb331b3a]::-webkit-scrollbar-thumb,
.panel-content-inner[data-v-cb331b3a]::-webkit-scrollbar-thumb {
  background: rgba(24, 144, 255, 0.5) !important;
  border-radius: 3px !important;
  transition: background 0.2s ease;
}
.orch-node-panel[data-v-cb331b3a]::-webkit-scrollbar-thumb:hover,
.orch-property-panel[data-v-cb331b3a]::-webkit-scrollbar-thumb:hover,
.orch-test-panel[data-v-cb331b3a]::-webkit-scrollbar-thumb:hover,
.orch-debug-panel[data-v-cb331b3a]::-webkit-scrollbar-thumb:hover,
.orch-execution-panel[data-v-cb331b3a]::-webkit-scrollbar-thumb:hover,
.orch-canvas-wrapper[data-v-cb331b3a]::-webkit-scrollbar-thumb:hover,
.node-type-list[data-v-cb331b3a]::-webkit-scrollbar-thumb:hover,
.ant-tabs-content[data-v-cb331b3a]::-webkit-scrollbar-thumb:hover,
.ant-collapse-content[data-v-cb331b3a]::-webkit-scrollbar-thumb:hover,
.ant-select-dropdown[data-v-cb331b3a]::-webkit-scrollbar-thumb:hover,
.ant-modal-content[data-v-cb331b3a]::-webkit-scrollbar-thumb:hover,
.ant-drawer-body[data-v-cb331b3a]::-webkit-scrollbar-thumb:hover,
.ant-table-body[data-v-cb331b3a]::-webkit-scrollbar-thumb:hover,
.ant-tree-tbody[data-v-cb331b3a]::-webkit-scrollbar-thumb:hover,
.ant-spin-nested-loading[data-v-cb331b3a]::-webkit-scrollbar-thumb:hover,
.orch-property-content[data-v-cb331b3a]::-webkit-scrollbar-thumb:hover,
.orch-property-section[data-v-cb331b3a]::-webkit-scrollbar-thumb:hover,
.orch-property-section-content[data-v-cb331b3a]::-webkit-scrollbar-thumb:hover,
.orch-property-tabs[data-v-cb331b3a]::-webkit-scrollbar-thumb:hover,
.panel-content[data-v-cb331b3a]::-webkit-scrollbar-thumb:hover,
.panel-content-inner[data-v-cb331b3a]::-webkit-scrollbar-thumb:hover {
  background: rgba(24, 144, 255, 0.9) !important;
}
/* 滚动条四角圆角优化 */
.orch-node-panel[data-v-cb331b3a]::-webkit-scrollbar-corner,
.orch-property-panel[data-v-cb331b3a]::-webkit-scrollbar-corner,
.execution-panel-body[data-v-cb331b3a]::-webkit-scrollbar-corner,
.orch-test-panel[data-v-cb331b3a]::-webkit-scrollbar-corner,
.orch-debug-panel[data-v-cb331b3a]::-webkit-scrollbar-corner {
  background: transparent !important;
}
/* 画布区域隐藏滚动条（使用自定义平移/缩放） */
.orch-canvas-wrapper[data-v-cb331b3a] {
  scrollbar-width: none;
}
.orch-canvas-wrapper[data-v-cb331b3a]::-webkit-scrollbar {
  display: none;
}
/* ==================== Ant Design Divider ==================== */
.orch-toolbar[data-v-cb331b3a] .ant-divider-vertical {
  border-color: rgba(255, 255, 255, 0.08);
  height: 20px;
}
.ai-token-monitoring-page[data-v-1702045c] {
  background: var(--color-bg-layout);
  min-height: 100%;
  padding: var(--spacing-4);
}
.ai-token-monitoring-page[data-v-1702045c] .responsive-table-container {
  padding: 0;
}
.hero-bg-decoration[data-v-1702045c] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-1702045c] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-1702045c] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-1702045c] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-1702045c] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-1702045c] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-1702045c] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-1702045c] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-1702045c] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-1702045c] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-1702045c] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-1702045c] {
  flex: 1;
}
.hero-title[data-v-1702045c] {
  margin: 0 0 6px;
  font-size: 24px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-1702045c] {
  margin: 0;
  font-size: 13px;
  opacity: 0.85;
  max-width: 600px;
}
.hero-right[data-v-1702045c] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
/* 核心指标卡片 */
.metrics-grid[data-v-1702045c] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: var(--spacing-3);
}
.metric-card[data-v-1702045c] {
  background: #fff;
  border-radius: 12px;
  padding: 12px 12px 4px;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
  border: 1px solid #f0f0f0;
  transition: all 0.3s ease;
}
.metric-card[data-v-1702045c]:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}
.metric-card__icon[data-v-1702045c] {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  flex-shrink: 0;
  color: #fff;
  position: relative;
  overflow: hidden;
}
.metric-card__icon[data-v-1702045c]::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(45deg, transparent 40%, rgba(255, 255, 255, 0.3) 50%, transparent 60%);
  animation: shimmer-1702045c 3s infinite;
}
@keyframes shimmer-1702045c {
0% {
    transform: translateX(-100%) rotate(45deg);
}
100% {
    transform: translateX(100%) rotate(45deg);
}
}
.metric-card--tokens .metric-card__icon[data-v-1702045c] {
  background: linear-gradient(135deg, #3b82f6, #60a5fa);
  box-shadow: 0 4px 14px rgba(59, 130, 246, 0.3);
}
.metric-card--cost .metric-card__icon[data-v-1702045c] {
  background: linear-gradient(135deg, #f59e0b, #fbbf24);
  box-shadow: 0 4px 14px rgba(245, 158, 11, 0.3);
}
.metric-card--calls .metric-card__icon[data-v-1702045c] {
  background: linear-gradient(135deg, #10b981, #34d399);
  box-shadow: 0 4px 14px rgba(16, 185, 129, 0.3);
}
.metric-card--models .metric-card__icon[data-v-1702045c] {
  background: linear-gradient(135deg, #8b5cf6, #a78bfa);
  box-shadow: 0 4px 14px rgba(139, 92, 246, 0.3);
}
.metric-card__content[data-v-1702045c] {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.metric-card__label[data-v-1702045c] {
  font-size: 12px;
  color: #8c8c8c;
  white-space: nowrap;
}
.metric-card__value[data-v-1702045c] {
  font-size: 24px;
  font-weight: 700;
  color: #1f1f1f;
  line-height: 1.2;
}
.metric-card__unit[data-v-1702045c] {
  font-size: 14px;
  font-weight: 400;
  color: #8c8c8c;
}
.metric-card__trend[data-v-1702045c] {
  font-size: 12px;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 2px;
}
.metric-card__trend.up[data-v-1702045c] {
  color: #52c41a;
}
.metric-card__trend.down[data-v-1702045c] {
  color: #ff4d4f;
}
.metric-card__sub[data-v-1702045c] {
  font-size: 11px;
  color: #bfbfbf;
}
/* 图表区域 */
.chart-section[data-v-1702045c] {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 12px;
  margin-bottom: var(--spacing-3);
}
.section-card[data-v-1702045c] {
  background: #fff;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
  border: 1px solid #f0f0f0;
}
.section-card__header[data-v-1702045c] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}
.section-card__title[data-v-1702045c] {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  color: #1f1f1f;
  display: flex;
  align-items: center;
  gap: 8px;
}
.section-card__title-icon[data-v-1702045c] {
  color: #1677ff;
  font-size: 16px;
}
.chart-container[data-v-1702045c] {
  height: 290px;
  display: flex;
}
.chart-area[data-v-1702045c] {
  display: flex;
  width: 100%;
  height: 100%;
}
/* Y 轴 */
.chart-y-axis[data-v-1702045c] {
  width: 48px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  padding-right: 8px;
  padding-bottom: 24px;
  position: relative;
  flex-shrink: 0;
}
.chart-y-unit[data-v-1702045c] {
  font-size: 10px;
  color: #8c8c8c;
  margin-bottom: 4px;
  font-weight: 500;
}
.chart-y-tick[data-v-1702045c] {
  flex: 1;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
}
.chart-y-tick__label[data-v-1702045c] {
  font-size: 10px;
  color: #8c8c8c;
  line-height: 1;
  transform: translateY(-50%);
}
/* 图表主体 */
.chart-body[data-v-1702045c] {
  flex: 1;
  position: relative;
  height: 100%;
}
/* 网格线 */
.chart-grid[data-v-1702045c] {
  position: absolute;
  inset: 0;
  bottom: 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  pointer-events: none;
}
.chart-grid-line[data-v-1702045c] {
  width: 100%;
  height: 1px;
  background: #f0f0f0;
}
.chart-x-axis-line[data-v-1702045c] {
  position: absolute;
  bottom: 24px;
  left: 0;
  right: 0;
  height: 1px;
  background: #d9d9d9;
}
/* 柱状图 */
.mini-chart[data-v-1702045c] {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  width: 100%;
  height: 100%;
  padding: 0 4px;
  position: relative;
  z-index: 1;
}
.chart-bar-wrapper[data-v-1702045c] {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: calc(100% - 24px);
  justify-content: flex-end;
  position: relative;
}
.chart-bar[data-v-1702045c] {
  width: 100%;
  max-width: 48px;
  border-radius: 6px 6px 2px 2px;
  transition: height 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  min-height: 4px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}
.chart-bar-value[data-v-1702045c] {
  position: absolute;
  top: -22px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 11px;
  font-weight: 600;
  color: #595959;
  white-space: nowrap;
}
.chart-bar-tooltip[data-v-1702045c] {
  position: absolute;
  top: -8px;
  left: 50%;
  transform: translateX(-50%);
  background: #1f1f1f;
  color: #fff;
  padding: 4px 8px;
  border-radius: 6px;
  font-size: 11px;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s;
  z-index: 10;
}
.chart-bar-wrapper:hover .chart-bar-tooltip[data-v-1702045c] {
  opacity: 1;
}
.chart-bar-tooltip[data-v-1702045c]::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 50%;
  transform: translateX(-50%);
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid #1f1f1f;
}
.chart-bar-tooltip__date[data-v-1702045c] {
  font-size: 10px;
  opacity: 0.7;
}
.chart-bar-label[data-v-1702045c] {
  position: absolute;
  bottom: -20px;
  font-size: 11px;
  color: #8c8c8c;
}
/* 分布列表 */
.distribution-list[data-v-1702045c] {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.distribution-item__header[data-v-1702045c] {
  display: flex;
  justify-content: space-between;
  margin-bottom: 4px;
}
.distribution-item__name[data-v-1702045c] {
  font-size: 13px;
  font-weight: 500;
  color: #333;
}
.distribution-item__value[data-v-1702045c] {
  font-size: 13px;
  font-weight: 600;
  color: #1f1f1f;
}
.distribution-item__bar[data-v-1702045c] {
  height: 8px;
  background: #f5f5f5;
  border-radius: 4px;
  overflow: hidden;
}
.distribution-item__fill[data-v-1702045c] {
  height: 100%;
  border-radius: 4px;
  transition: width 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.distribution-item__footer[data-v-1702045c] {
  display: flex;
  justify-content: space-between;
  font-size: 11px;
  color: #8c8c8c;
  margin-top: 2px;
}
/* Table cells */
.table-cell-content[data-v-1702045c] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.table-cell-title[data-v-1702045c] {
  font-weight: 600;
  font-size: 14px;
  color: var(--color-text-primary);
  cursor: pointer;
  display: inline-block;
  transition: color 0.2s;
}
.table-cell-title[data-v-1702045c]:hover {
  color: #1677ff;
}
.table-cell-subtitle[data-v-1702045c] {
  font-size: 12px;
  color: var(--color-text-tertiary);
  line-height: 1.4;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 280px;
}
/* 用量进度条 */
.usage-cell[data-v-1702045c] {
  min-width: 160px;
}
.usage-bar[data-v-1702045c] {
  height: 6px;
  background: #f0f0f0;
  border-radius: 3px;
  overflow: hidden;
  margin-bottom: 4px;
}
.usage-bar__fill[data-v-1702045c] {
  height: 100%;
  border-radius: 3px;
  transition: width 0.5s ease;
}
.usage-info[data-v-1702045c] {
  display: flex;
  gap: 4px;
  font-size: 12px;
}
.usage-used[data-v-1702045c] {
  font-weight: 600;
  color: #1f1f1f;
}
.usage-total[data-v-1702045c] {
  color: #8c8c8c;
}
/* 今日用量 */
.today-cell[data-v-1702045c] {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.today-value[data-v-1702045c] {
  font-size: 15px;
  font-weight: 600;
  color: #1f1f1f;
}
.today-cost[data-v-1702045c] {
  font-size: 12px;
  color: #52c41a;
  font-weight: 500;
}
/* 性能指标 */
.perf-cell[data-v-1702045c] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.perf-item[data-v-1702045c] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
.perf-label[data-v-1702045c] {
  font-size: 12px;
  color: #8c8c8c;
  white-space: nowrap;
}
.perf-value[data-v-1702045c] {
  font-size: 12px;
  font-weight: 500;
  color: #1f1f1f;
}
.status-tag[data-v-1702045c] {
  font-weight: 500;
  font-size: 12px;
  padding: 2px 8px;
  border-radius: var(--radius-sm);
}
.text-muted[data-v-1702045c] {
  color: #d9d9d9;
}
/* 移动端卡片 */
.mobile-card-header[data-v-1702045c] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
}
.mobile-card-name[data-v-1702045c] {
  font-weight: 600;
  font-size: 14px;
  color: #1f1f1f;
}
.mobile-card-tag[data-v-1702045c] {
  font-size: 11px;
}
.mobile-card-desc[data-v-1702045c] {
  font-size: 12px;
  color: #8c8c8c;
  margin-bottom: 10px;
}
.mobile-card-metrics[data-v-1702045c] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-bottom: 12px;
  padding: 10px;
  background: #fafafa;
  border-radius: 8px;
}
.mobile-metric[data-v-1702045c] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
}
.mobile-metric__value[data-v-1702045c] {
  font-size: 15px;
  font-weight: 700;
  color: #1f1f1f;
}
.mobile-metric__label[data-v-1702045c] {
  font-size: 10px;
  color: #8c8c8c;
}
.mobile-card-usage[data-v-1702045c] {
  margin-top: 8px;
}
.mobile-card-usage .usage-info[data-v-1702045c] {
  justify-content: center;
  font-size: 11px;
}
.filter-actions-col[data-v-1702045c] {
  display: flex;
  justify-content: flex-end;
}
/* 响应式 */
@media (max-width: 1200px) {
.chart-section[data-v-1702045c] {
    grid-template-columns: 1fr;
}
}
@media (max-width: 991px) {
.hero-content[data-v-1702045c] {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}
.metrics-grid[data-v-1702045c] {
    grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 575px) {
.hero-title[data-v-1702045c] {
    font-size: 20px;
}
.metric-card[data-v-1702045c] {
    padding: 14px;
}
.metric-card__value[data-v-1702045c] {
    font-size: 20px;
}
.hero-right[data-v-1702045c] {
    width: 100%;
}
}
.ai-token-monitoring-edit-page[data-v-35fdd6ca] {
  padding: var(--spacing-4);
  min-height: 100%;
  background: var(--color-bg-layout);
}
/* Highlights Panel */
.highlights-panel[data-v-35fdd6ca] {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  border-radius: var(--radius-xl);
  padding: 24px 32px;
  color: #fff;
  margin-bottom: var(--spacing-4);
  position: relative;
  overflow: hidden;
}
/* 几何图形装饰 */
.highlights-bg-decoration[data-v-35fdd6ca] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-35fdd6ca] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-35fdd6ca] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-35fdd6ca] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-35fdd6ca] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-35fdd6ca] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-35fdd6ca] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-35fdd6ca] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-35fdd6ca] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-35fdd6ca] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-35fdd6ca] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
@media (max-width: 768px) {
.highlights-panel[data-v-35fdd6ca] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-35fdd6ca] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-35fdd6ca] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-35fdd6ca] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-35fdd6ca] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-35fdd6ca] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-35fdd6ca] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-35fdd6ca] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-35fdd6ca] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-35fdd6ca] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-35fdd6ca] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-35fdd6ca] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-35fdd6ca] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) {
.highlights-panel[data-v-35fdd6ca] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-35fdd6ca] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-35fdd6ca] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-35fdd6ca] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-35fdd6ca] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-35fdd6ca] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-35fdd6ca] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-35fdd6ca] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-35fdd6ca] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-35fdd6ca] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-35fdd6ca] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-35fdd6ca] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-35fdd6ca] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-35fdd6ca] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-35fdd6ca] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-35fdd6ca] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-35fdd6ca] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-35fdd6ca] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-35fdd6ca] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-35fdd6ca] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-35fdd6ca] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-35fdd6ca] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-35fdd6ca] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-35fdd6ca] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-35fdd6ca] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-35fdd6ca] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
.highlights-content[data-v-35fdd6ca] {
  display: flex;
  justify-content: space-between;
}
.highlights-left h2[data-v-35fdd6ca] {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: white;
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-meta[data-v-35fdd6ca] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  font-size: 13px;
  opacity: 0.85;
}
.highlights-tag[data-v-35fdd6ca] {
  background: rgba(255, 255, 255, 0.2) !important;
  border: none !important;
  color: #fff !important;
  font-size: 12px;
  padding: 2px 10px;
}
.highlights-right[data-v-35fdd6ca] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-action-btn[data-v-35fdd6ca] {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
}
.highlights-action-btn[data-v-35fdd6ca]:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.5);
}
/* Form Content */
.form-content[data-v-35fdd6ca] {
  max-width: 1200px;
  padding-bottom: 60px;
  /* Space for fixed actions */
}
/* Fixed Actions */
.fixed-actions[data-v-35fdd6ca] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 12px;
  background: #fff;
  border-top: 1px solid var(--color-border-secondary);
  display: flex;
  justify-content: flex-end;
  z-index: 100;
}
/* Info Section */
.info-section[data-v-35fdd6ca] {
  margin-bottom: 24px;
  border: 1px solid var(--color-border-secondary);
  border-radius: 10px;
  overflow: hidden;
}
.section-header[data-v-35fdd6ca] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 20px;
  background: var(--color-fill-quaternary);
  border-bottom: 1px solid var(--color-border-secondary);
  font-weight: 600;
  color: var(--color-text-primary);
}
.section-body[data-v-35fdd6ca] {
  padding: 16px 20px;
}
@media (max-width: 768px) {
.section-body[data-v-35fdd6ca] {
    padding: 12px;
}
.section-body .highlights-panel .highlights-bg-decoration[data-v-35fdd6ca] {
    display: none;
}
}
/* Responsive */
@media (max-width: 768px) {
.ai-token-monitoring-edit-page[data-v-35fdd6ca] {
    padding: 12px;
}
.ai-token-monitoring-edit-page .highlights-panel .highlights-bg-decoration[data-v-35fdd6ca] {
    display: none;
}
.highlights-panel[data-v-35fdd6ca] {
    padding: 16px;
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-35fdd6ca] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-35fdd6ca] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-35fdd6ca] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-35fdd6ca] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-35fdd6ca] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-35fdd6ca] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-35fdd6ca] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-35fdd6ca] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-35fdd6ca] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-35fdd6ca] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-35fdd6ca] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-content[data-v-35fdd6ca] {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}
.highlights-left h2[data-v-35fdd6ca] {
    font-size: 18px;
}
.highlights-right[data-v-35fdd6ca] {
    width: 100%;
}
.highlights-right .ant-btn[data-v-35fdd6ca] {
    flex: 1;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-35fdd6ca] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-35fdd6ca] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-35fdd6ca] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-35fdd6ca] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-35fdd6ca] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-35fdd6ca] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-35fdd6ca] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-35fdd6ca] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-35fdd6ca] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-35fdd6ca] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-35fdd6ca] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-35fdd6ca] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-35fdd6ca] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-35fdd6ca] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-35fdd6ca] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-35fdd6ca] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-35fdd6ca] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-35fdd6ca] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-35fdd6ca] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-35fdd6ca] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-35fdd6ca] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-35fdd6ca] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-35fdd6ca] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-35fdd6ca] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-35fdd6ca] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-35fdd6ca] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-35fdd6ca] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-35fdd6ca] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-35fdd6ca] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-35fdd6ca] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-35fdd6ca] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-35fdd6ca] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-35fdd6ca] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-35fdd6ca] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-35fdd6ca] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-35fdd6ca] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-35fdd6ca] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-35fdd6ca] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-35fdd6ca] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 575px) {
.highlights-panel[data-v-35fdd6ca] {
    padding: 16px;
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-35fdd6ca] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-35fdd6ca] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-35fdd6ca] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-35fdd6ca] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-35fdd6ca] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-35fdd6ca] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-35fdd6ca] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-35fdd6ca] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-35fdd6ca] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-35fdd6ca] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-35fdd6ca] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-content[data-v-35fdd6ca] {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}
.highlights-left h2[data-v-35fdd6ca] {
    font-size: 18px;
}
.highlights-right[data-v-35fdd6ca] {
    width: 100%;
}
.highlights-right .ant-btn[data-v-35fdd6ca] {
    flex: 1;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.highlights-panel[data-v-35fdd6ca] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-35fdd6ca] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-35fdd6ca] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-35fdd6ca] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-35fdd6ca] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-35fdd6ca] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-35fdd6ca] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-35fdd6ca] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-35fdd6ca] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-35fdd6ca] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-35fdd6ca] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-35fdd6ca] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-35fdd6ca] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.highlights-panel[data-v-35fdd6ca] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-35fdd6ca] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-35fdd6ca] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-35fdd6ca] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-35fdd6ca] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-35fdd6ca] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-35fdd6ca] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-35fdd6ca] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-35fdd6ca] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-35fdd6ca] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-35fdd6ca] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-35fdd6ca] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-35fdd6ca] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 575px) and (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-35fdd6ca] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-35fdd6ca] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-35fdd6ca] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-35fdd6ca] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-35fdd6ca] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-35fdd6ca] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-35fdd6ca] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-35fdd6ca] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-35fdd6ca] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-35fdd6ca] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-35fdd6ca] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-35fdd6ca] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-35fdd6ca] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
.open-platform-page[data-v-1b9dbfed] {
  padding: 16px;
  background: #f0f2f5;
}
@media (max-width: 768px) {
.open-platform-page[data-v-1b9dbfed] {
    padding: 12px;
}
}
/* ===== Hero Section ===== */
.hero-bg-decoration[data-v-1b9dbfed] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
}
.hero-circle[data-v-1b9dbfed] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-1b9dbfed] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-1b9dbfed] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-1b9dbfed] {
  position: absolute;
  background: rgba(255, 255, 255, 0.06);
}
.hero-line--1[data-v-1b9dbfed] {
  width: 300px;
  height: 1px;
  top: 30px;
  right: 100px;
  transform: rotate(-15deg);
}
.hero-dot[data-v-1b9dbfed] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-1b9dbfed] {
  top: 50px;
  right: 300px;
}
.hero-dot--2[data-v-1b9dbfed] {
  bottom: 60px;
  right: 150px;
}
.hero-content[data-v-1b9dbfed] {
  position: relative;
  z-index: 1;
}
.hero-title[data-v-1b9dbfed] {
  color: #fff;
  font-size: 28px;
  font-weight: 700;
  margin: 0 0 8px 0;
}
.hero-desc[data-v-1b9dbfed] {
  color: rgba(255, 255, 255, 0.85);
  font-size: 14px;
  margin: 0 0 24px 0;
}
.hero-stats[data-v-1b9dbfed] {
  display: flex;
  gap: 24px;
}
.hero-stat[data-v-1b9dbfed] {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.hero-stat-value[data-v-1b9dbfed] {
  color: #fff;
  font-size: 24px;
  font-weight: 700;
}
.hero-stat-label[data-v-1b9dbfed] {
  color: rgba(255, 255, 255, 0.75);
  font-size: 12px;
  margin-top: 4px;
}
.hero-stat-divider[data-v-1b9dbfed] {
  width: 1px;
  height: 40px;
  background: rgba(255, 255, 255, 0.2);
}
/* ===== Cards ===== */
.market-card[data-v-1b9dbfed],
.table-card[data-v-1b9dbfed] {
  margin-bottom: 16px;
  border-radius: 12px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03), 0 1px 6px -1px rgba(0, 0, 0, 0.02), 0 2px 4px rgba(0, 0, 0, 0.02);
}
.card-header[data-v-1b9dbfed] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}
.card-title[data-v-1b9dbfed] {
  font-size: 16px;
  font-weight: 600;
  margin: 0;
}
/* ===== Plugin Grid ===== */
.plugin-grid[data-v-1b9dbfed] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
/* ===== Plugin Card（对标App Store风格） ===== */
.plugin-card[data-v-1b9dbfed] {
  background: #fff;
  border-radius: 12px;
  border: 1px solid #f0f0f0;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
}
.plugin-card[data-v-1b9dbfed]:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(24, 144, 255, 0.15);
  border-color: rgba(24, 144, 255, 0.25);
}
.plugin-card-banner[data-v-1b9dbfed] {
  height: 6px;
  flex-shrink: 0;
}
.plugin-card-body[data-v-1b9dbfed] {
  padding: 20px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
@media (max-width: 768px) {
.plugin-card-body[data-v-1b9dbfed] {
    padding: 12px;
}
}
.plugin-card-header[data-v-1b9dbfed] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 12px;
}
.plugin-icon-wrapper[data-v-1b9dbfed] {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.plugin-icon[data-v-1b9dbfed] {
  font-size: 24px;
  color: #fff;
}
.plugin-card-badges[data-v-1b9dbfed] {
  display: flex;
  gap: 4px;
}
.plugin-card-info[data-v-1b9dbfed] {
  flex: 1;
  margin-bottom: 12px;
}
.plugin-name[data-v-1b9dbfed] {
  font-size: 15px;
  font-weight: 600;
  color: #262626;
  margin: 0 0 6px;
  line-height: 1.3;
}
.plugin-desc[data-v-1b9dbfed] {
  font-size: 13px;
  color: #8c8c8c;
  line-height: 1.5;
  margin: 0;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.plugin-card-meta[data-v-1b9dbfed] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 0;
  border-top: 1px solid #f5f5f5;
  border-bottom: 1px solid #f5f5f5;
  margin-bottom: 12px;
}
.plugin-rating[data-v-1b9dbfed] {
  display: flex;
  align-items: center;
  gap: 1px;
}
.rating-value[data-v-1b9dbfed] {
  font-size: 13px;
  font-weight: 600;
  color: #faad14;
  margin-left: 4px;
}
.plugin-stat[data-v-1b9dbfed] {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: #8c8c8c;
}
.plugin-stat-value[data-v-1b9dbfed] {
  font-weight: 600;
  color: #595959;
}
.plugin-card-footer[data-v-1b9dbfed] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: auto;
}
.plugin-card-tags[data-v-1b9dbfed] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.plugin-version[data-v-1b9dbfed] {
  font-size: 12px;
  color: #bfbfbf;
  font-weight: 500;
}
.plugin-action-btn[data-v-1b9dbfed] {
  font-weight: 500;
  border-radius: 6px;
}
.uninstall-btn[data-v-1b9dbfed] {
  color: #ff4d4f;
  border-color: #ffccc7;
  background: #fff;
}
.uninstall-btn[data-v-1b9dbfed]:hover {
  color: #ff7875;
  border-color: #ff7875;
  background: #fff1f0;
}
/* ===== Pagination ===== */
.card-pagination[data-v-1b9dbfed] {
  display: flex;
  justify-content: flex-end;
  margin-top: 16px;
}
.card-pagination[data-v-1b9dbfed] .ant-pagination {
  display: flex;
  justify-content: flex-end;
}
.card-header-actions[data-v-1b9dbfed] {
  display: flex;
  gap: 8px;
  align-items: center;
}
/* ===== Doc Detail ===== */
.doc-detail-content h4[data-v-1b9dbfed] {
  font-size: 14px;
  font-weight: 600;
  margin: 0 0 8px 0;
}
.doc-content-body[data-v-1b9dbfed] {
  background: #f5f5f5;
  border-radius: 8px;
  padding: 16px;
  font-size: 13px;
  line-height: 1.8;
  white-space: pre-wrap;
  color: #333;
}
@media (max-width: 768px) {
.doc-content-body[data-v-1b9dbfed] {
    padding: 12px;
}
}
/* ===== Mobile Card Styles ===== */
.mobile-plugin-card[data-v-1b9dbfed],
.mobile-developer-card[data-v-1b9dbfed],
.mobile-apikey-card[data-v-1b9dbfed],
.mobile-doc-card[data-v-1b9dbfed] {
  background: #fff;
  border-radius: 12px;
  border: 1px solid #f0f0f0;
  overflow: hidden;
}
.mobile-plugin-header[data-v-1b9dbfed],
.mobile-developer-header[data-v-1b9dbfed],
.mobile-apikey-header[data-v-1b9dbfed],
.mobile-doc-header[data-v-1b9dbfed] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid #f5f5f5;
}
.mobile-plugin-icon[data-v-1b9dbfed] {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mobile-plugin-info[data-v-1b9dbfed] {
  flex: 1;
  margin-left: 12px;
}
.mobile-plugin-name[data-v-1b9dbfed],
.mobile-developer-name[data-v-1b9dbfed],
.mobile-apikey-name[data-v-1b9dbfed],
.mobile-doc-title[data-v-1b9dbfed] {
  font-size: 15px;
  font-weight: 600;
  color: #262626;
  margin-bottom: 4px;
}
.mobile-plugin-body[data-v-1b9dbfed],
.mobile-developer-body[data-v-1b9dbfed],
.mobile-apikey-body[data-v-1b9dbfed] {
  padding: 10px 16px;
}
.mobile-plugin-field[data-v-1b9dbfed],
.mobile-developer-field[data-v-1b9dbfed],
.mobile-apikey-field[data-v-1b9dbfed] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 0;
  border-bottom: 1px solid #fafafa;
}
.mobile-plugin-field[data-v-1b9dbfed]:last-child,
.mobile-developer-field[data-v-1b9dbfed]:last-child,
.mobile-apikey-field[data-v-1b9dbfed]:last-child {
  border-bottom: none;
}
.mobile-plugin-label[data-v-1b9dbfed],
.mobile-developer-label[data-v-1b9dbfed],
.mobile-apikey-label[data-v-1b9dbfed] {
  font-size: 12px;
  color: #999;
  flex-shrink: 0;
}
.mobile-plugin-value[data-v-1b9dbfed],
.mobile-developer-value[data-v-1b9dbfed],
.mobile-apikey-value[data-v-1b9dbfed] {
  font-size: 13px;
  color: #595959;
}
.mobile-apikey-tags[data-v-1b9dbfed] {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.mobile-plugin-footer[data-v-1b9dbfed],
.mobile-developer-footer[data-v-1b9dbfed],
.mobile-apikey-footer[data-v-1b9dbfed],
.mobile-doc-footer[data-v-1b9dbfed] {
  padding: 10px 16px;
  border-top: 1px solid #f5f5f5;
  background: #fafafa;
  display: flex;
  gap: 8px;
}
.mobile-doc-card[data-v-1b9dbfed] {
  padding: 12px 16px;
}
.mobile-doc-header[data-v-1b9dbfed] {
  border-bottom: none;
  padding: 0 0 12px;
}
.mobile-doc-title[data-v-1b9dbfed] {
  margin-bottom: 0;
}
.mobile-doc-footer[data-v-1b9dbfed] {
  border-top: none;
  background: transparent;
  padding: 0;
}
/* ===== Responsive ===== */
@media (max-width: 1200px) {
.plugin-grid[data-v-1b9dbfed] {
    grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 768px) {
.plugin-grid[data-v-1b9dbfed] {
    grid-template-columns: 1fr;
}
.hero-title[data-v-1b9dbfed] {
    font-size: 22px;
}
.hero-stats[data-v-1b9dbfed] {
    gap: 16px;
}
.hero-stat-value[data-v-1b9dbfed] {
    font-size: 20px;
}
.card-header[data-v-1b9dbfed] {
    flex-direction: column;
    gap: 12px;
    align-items: flex-start;
}
.plugin-card-body[data-v-1b9dbfed] {
    padding: 16px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.plugin-card-body[data-v-1b9dbfed] {
    padding: 12px;
}
}
.plugin-list[data-v-2229829d] {
  background: var(--color-bg-layout);
  min-height: 100%;
  padding: var(--spacing-4);
}
.plugin-list[data-v-2229829d] .responsive-table-container {
  padding: 0;
}
/* Hero Section */
.hero-bg-decoration[data-v-2229829d] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-2229829d] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-2229829d] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-2229829d] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-2229829d] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-2229829d] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-2229829d] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-2229829d] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-2229829d] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-2229829d] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-2229829d] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-2229829d] {
  flex: 1;
}
.hero-title[data-v-2229829d] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-2229829d] {
  margin: 0 0 16px;
  font-size: 14px;
  opacity: 0.85;
  max-width: 600px;
}
.hero-stats[data-v-2229829d] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.hero-stat[data-v-2229829d] {
  display: flex;
  flex-direction: column;
}
.hero-stat-value[data-v-2229829d] {
  font-size: 22px;
  font-weight: 700;
}
.hero-stat-label[data-v-2229829d] {
  font-size: 12px;
  opacity: 0.7;
}
.hero-right[data-v-2229829d] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
/* Table cells */
.table-cell-content[data-v-2229829d] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.table-cell-title[data-v-2229829d] {
  font-weight: 600;
  font-size: 15px;
  color: var(--color-text-primary);
  cursor: pointer;
  display: inline-block;
  transition: color 0.2s;
}
.table-cell-title[data-v-2229829d]:hover {
  color: #1677ff;
}
.table-cell-subtitle[data-v-2229829d] {
  font-size: 13px;
  color: var(--color-text-tertiary);
  line-height: 1.5;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 400px;
}
.status-tag[data-v-2229829d] {
  font-weight: 500;
  font-size: 12px;
  padding: 2px 8px;
  border-radius: var(--radius-sm);
}
/* Mobile */
.mobile-card-fields-row[data-v-2229829d] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 12px;
}
@media (max-width: 991px) {
.hero-content[data-v-2229829d] {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}
.hero-stats[data-v-2229829d] {
    gap: 12px;
}
.hero-stat-value[data-v-2229829d] {
    font-size: 18px;
}
}
@media (max-width: 575px) {
.hero-title[data-v-2229829d] {
    font-size: 20px;
}
.hero-right[data-v-2229829d] {
    width: 100%;
}
}
.filter-actions-col[data-v-2229829d] {
  display: flex;
  justify-content: flex-end;
}
.plugin-edit-page[data-v-5c7eaf3c] {
  padding: var(--spacing-4);
  min-height: 100%;
  background: var(--color-bg-layout);
}
/* Highlights Panel */
.highlights-panel[data-v-5c7eaf3c] {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  border-radius: var(--radius-xl);
  padding: 24px 32px;
  color: #fff;
  margin-bottom: var(--spacing-4);
  position: relative;
  overflow: hidden;
}
/* 几何图形装饰 */
.highlights-bg-decoration[data-v-5c7eaf3c] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-5c7eaf3c] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-5c7eaf3c] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-5c7eaf3c] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-5c7eaf3c] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-5c7eaf3c] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-5c7eaf3c] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-5c7eaf3c] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-5c7eaf3c] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-5c7eaf3c] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-5c7eaf3c] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
@media (max-width: 768px) {
.highlights-panel[data-v-5c7eaf3c] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-5c7eaf3c] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-5c7eaf3c] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-5c7eaf3c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-5c7eaf3c] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-5c7eaf3c] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-5c7eaf3c] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-5c7eaf3c] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-5c7eaf3c] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-5c7eaf3c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-5c7eaf3c] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-5c7eaf3c] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-5c7eaf3c] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) {
.highlights-panel[data-v-5c7eaf3c] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-5c7eaf3c] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-5c7eaf3c] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-5c7eaf3c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-5c7eaf3c] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-5c7eaf3c] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-5c7eaf3c] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-5c7eaf3c] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-5c7eaf3c] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-5c7eaf3c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-5c7eaf3c] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-5c7eaf3c] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-5c7eaf3c] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-5c7eaf3c] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-5c7eaf3c] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-5c7eaf3c] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-5c7eaf3c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-5c7eaf3c] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-5c7eaf3c] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-5c7eaf3c] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-5c7eaf3c] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-5c7eaf3c] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-5c7eaf3c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-5c7eaf3c] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-5c7eaf3c] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-5c7eaf3c] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
.highlights-content[data-v-5c7eaf3c] {
  display: flex;
  justify-content: space-between;
}
.highlights-left h2[data-v-5c7eaf3c] {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: white;
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-meta[data-v-5c7eaf3c] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  font-size: 13px;
  opacity: 0.85;
}
.highlights-tag[data-v-5c7eaf3c] {
  background: rgba(255, 255, 255, 0.2) !important;
  border: none !important;
  color: #fff !important;
  font-size: 12px;
  padding: 2px 10px;
}
.highlights-right[data-v-5c7eaf3c] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-action-btn[data-v-5c7eaf3c] {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
}
.highlights-action-btn[data-v-5c7eaf3c]:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.5);
}
/* Form Content */
.form-content[data-v-5c7eaf3c] {
  max-width: 1200px;
  padding-bottom: 60px;
  /* Space for fixed actions */
}
/* Fixed Actions */
.fixed-actions[data-v-5c7eaf3c] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 12px;
  background: #fff;
  border-top: 1px solid var(--color-border-secondary);
  display: flex;
  justify-content: flex-end;
  z-index: 100;
}
/* Info Section */
.info-section[data-v-5c7eaf3c] {
  margin-bottom: 24px;
  border: 1px solid var(--color-border-secondary);
  border-radius: 10px;
  overflow: hidden;
}
.section-header[data-v-5c7eaf3c] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 20px;
  background: var(--color-fill-quaternary);
  border-bottom: 1px solid var(--color-border-secondary);
  font-weight: 600;
  color: var(--color-text-primary);
}
.section-body[data-v-5c7eaf3c] {
  padding: 16px 20px;
}
@media (max-width: 768px) {
.section-body[data-v-5c7eaf3c] {
    padding: 12px;
}
.section-body .highlights-panel .highlights-bg-decoration[data-v-5c7eaf3c] {
    display: none;
}
}
/* Responsive */
@media (max-width: 768px) {
.plugin-edit-page[data-v-5c7eaf3c] {
    padding: 12px;
}
.plugin-edit-page .highlights-panel .highlights-bg-decoration[data-v-5c7eaf3c] {
    display: none;
}
.highlights-panel[data-v-5c7eaf3c] {
    padding: 16px;
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-5c7eaf3c] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-5c7eaf3c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-5c7eaf3c] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-5c7eaf3c] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-5c7eaf3c] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-5c7eaf3c] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-5c7eaf3c] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-5c7eaf3c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-5c7eaf3c] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-5c7eaf3c] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-5c7eaf3c] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-content[data-v-5c7eaf3c] {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}
.highlights-left h2[data-v-5c7eaf3c] {
    font-size: 18px;
}
.highlights-right[data-v-5c7eaf3c] {
    width: 100%;
}
.highlights-right .ant-btn[data-v-5c7eaf3c] {
    flex: 1;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-5c7eaf3c] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-5c7eaf3c] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-5c7eaf3c] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-5c7eaf3c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-5c7eaf3c] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-5c7eaf3c] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-5c7eaf3c] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-5c7eaf3c] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-5c7eaf3c] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-5c7eaf3c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-5c7eaf3c] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-5c7eaf3c] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-5c7eaf3c] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-5c7eaf3c] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-5c7eaf3c] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-5c7eaf3c] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-5c7eaf3c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-5c7eaf3c] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-5c7eaf3c] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-5c7eaf3c] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-5c7eaf3c] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-5c7eaf3c] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-5c7eaf3c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-5c7eaf3c] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-5c7eaf3c] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-5c7eaf3c] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-5c7eaf3c] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-5c7eaf3c] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-5c7eaf3c] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-5c7eaf3c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-5c7eaf3c] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-5c7eaf3c] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-5c7eaf3c] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-5c7eaf3c] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-5c7eaf3c] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-5c7eaf3c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-5c7eaf3c] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-5c7eaf3c] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-5c7eaf3c] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 575px) {
.highlights-panel[data-v-5c7eaf3c] {
    padding: 16px;
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-5c7eaf3c] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-5c7eaf3c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-5c7eaf3c] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-5c7eaf3c] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-5c7eaf3c] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-5c7eaf3c] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-5c7eaf3c] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-5c7eaf3c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-5c7eaf3c] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-5c7eaf3c] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-5c7eaf3c] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-content[data-v-5c7eaf3c] {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}
.highlights-left h2[data-v-5c7eaf3c] {
    font-size: 18px;
}
.highlights-right[data-v-5c7eaf3c] {
    width: 100%;
}
.highlights-right .ant-btn[data-v-5c7eaf3c] {
    flex: 1;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.highlights-panel[data-v-5c7eaf3c] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-5c7eaf3c] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-5c7eaf3c] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-5c7eaf3c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-5c7eaf3c] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-5c7eaf3c] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-5c7eaf3c] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-5c7eaf3c] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-5c7eaf3c] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-5c7eaf3c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-5c7eaf3c] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-5c7eaf3c] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-5c7eaf3c] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.highlights-panel[data-v-5c7eaf3c] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-5c7eaf3c] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-5c7eaf3c] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-5c7eaf3c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-5c7eaf3c] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-5c7eaf3c] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-5c7eaf3c] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-5c7eaf3c] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-5c7eaf3c] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-5c7eaf3c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-5c7eaf3c] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-5c7eaf3c] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-5c7eaf3c] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 575px) and (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-5c7eaf3c] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-5c7eaf3c] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-5c7eaf3c] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-5c7eaf3c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-5c7eaf3c] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-5c7eaf3c] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-5c7eaf3c] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-5c7eaf3c] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-5c7eaf3c] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-5c7eaf3c] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-5c7eaf3c] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-5c7eaf3c] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-5c7eaf3c] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
.menu-manager[data-v-c6e14b58] {
  padding: 20px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.permission-tags[data-v-c6e14b58] {
  margin-top: 12px;
  display: flex;
  flex-wrap: wrap;
}
.permission-tags[data-v-c6e14b58] .ant-tag {
  font-size: 13px;
  padding: 4px 12px;
  border-radius: 16px;
  cursor: default;
}
.permission-tags[data-v-c6e14b58] .ant-tag:hover {
  opacity: 0.8;
}
.permission-tags[data-v-c6e14b58] .ant-tag .anticon-close {
  margin-left: 4px;
  cursor: pointer;
}
.permission-tags[data-v-c6e14b58] .ant-tag .anticon-close:hover {
  color: #ff4d4f;
}
.menu-manager-header[data-v-c6e14b58] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid #f0f0f0;
}
.menu-manager-header h3[data-v-c6e14b58] {
  margin: 0;
  color: #262626;
  font-weight: 600;
}
.header-actions[data-v-c6e14b58] {
  display: flex;
  gap: 8px;
}
.menu-sorting-area h4[data-v-c6e14b58] {
  margin-bottom: 16px;
  color: #262626;
  font-weight: 500;
}
.draggable-menu-list[data-v-c6e14b58] {
  min-height: 200px;
}
.drag-ghost[data-v-c6e14b58] {
  opacity: 0.5;
  background: #f6ffed;
  border: 2px dashed #b7eb8f;
}
.drag-chosen[data-v-c6e14b58] {
  opacity: 0.8;
  transform: rotate(2deg);
}
.drag-drag[data-v-c6e14b58] {
  transform: rotate(5deg);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
/* 统计信息样式 */
.statistics-content[data-v-c6e14b58] {
  padding: 16px 0;
}
@media (max-width: 768px) {
.statistics-content[data-v-c6e14b58] {
    padding: 12px;
}
}
.move-menu-content[data-v-c6e14b58] {
  padding: 16px 0;
}
@media (max-width: 768px) {
.move-menu-content[data-v-c6e14b58] {
    padding: 12px;
}
}
.move-menu-content p[data-v-c6e14b58] {
  margin-bottom: 16px;
}
/* 批量操作栏样式 */
.batch-actions-bar[data-v-c6e14b58] {
  background-color: #f6f8fa;
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  padding: 16px;
  margin-bottom: 16px;
  transition: all 0.3s ease;
}
@media (max-width: 768px) {
.batch-actions-bar[data-v-c6e14b58] {
    padding: 12px;
}
}
.batch-actions-bar[data-v-c6e14b58]:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.batch-actions[data-v-c6e14b58] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
/* 搜索结果样式 */
.search-results-info[data-v-c6e14b58] {
  margin-bottom: 16px;
}
/* 筛选面板样式 */
.filter-panel[data-v-c6e14b58] {
  background: #fafafa;
  border: 1px solid #d9d9d9;
  border-radius: 6px;
  margin-bottom: 16px;
  transition: all 0.3s ease;
}
.filter-panel[data-v-c6e14b58]:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.filter-panel-header[data-v-c6e14b58] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  border-bottom: 1px solid #e8e8e8;
  background: #f5f5f5;
  border-radius: 6px 6px 0 0;
}
.filter-title[data-v-c6e14b58] {
  font-weight: 500;
  color: #262626;
  display: flex;
  align-items: center;
  gap: 6px;
}
.filter-panel-body[data-v-c6e14b58] {
  padding: 16px;
}
@media (max-width: 768px) {
.filter-panel-body[data-v-c6e14b58] {
    padding: 12px;
}
}
.filter-section[data-v-c6e14b58] {
  margin-bottom: 12px;
  display: flex;
  align-items: center;
}
.filter-section[data-v-c6e14b58]:last-child {
  margin-bottom: 0;
}
.filter-label[data-v-c6e14b58] {
  color: #595959;
  font-size: 14px;
  width: 80px;
  flex-shrink: 0;
}
.active-filters[data-v-c6e14b58] {
  padding: 12px 16px;
  background: #fff;
  border-top: 1px dashed #d9d9d9;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  border-radius: 0 0 6px 6px;
}
.active-filters-label[data-v-c6e14b58] {
  color: #8c8c8c;
  font-size: 13px;
}
/* 筛选操作栏样式 */
.filter-actions-bar[data-v-c6e14b58] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  margin-bottom: 16px;
  border-bottom: 1px solid #f0f0f0;
}
.search-results-count[data-v-c6e14b58] {
  color: #52c41a;
  font-size: 14px;
}
.search-results-count strong[data-v-c6e14b58] {
  font-size: 16px;
}
.search-no-results[data-v-c6e14b58] {
  color: #ff4d4f;
  font-size: 14px;
}
/* ==================== 紧凑型布局样式 ==================== */
.menu-manager[data-v-c6e14b58] {
  padding: 12px;
  height: 100%;
  display: flex;
  flex-direction: column;
  background: #fff;
}
.menu-manager-header[data-v-c6e14b58] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 12px;
  background: #fafafa;
  border-radius: 6px;
  margin-bottom: 8px;
  flex-shrink: 0;
}
.header-left[data-v-c6e14b58] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.header-left h3[data-v-c6e14b58] {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
}
.header-actions[data-v-c6e14b58] {
  display: flex;
  align-items: center;
  gap: 8px;
}
/* 紧凑型筛选面板 */
.filter-panel-compact[data-v-c6e14b58] {
  background: #f5f5f5;
  border: 1px solid #e8e8e8;
  border-radius: 4px;
  padding: 8px 12px;
  margin-bottom: 8px;
  flex-shrink: 0;
}
.filter-row[data-v-c6e14b58] {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
}
.filter-row .filter-label[data-v-c6e14b58] {
  color: #595959;
  font-size: 13px;
  width: auto;
  margin-right: 4px;
}
/* 批量操作栏 */
.batch-bar[data-v-c6e14b58] {
  background: #e6f7ff;
  border: 1px solid #91d5ff;
  border-radius: 4px;
  padding: 6px 12px;
  margin-bottom: 8px;
  font-size: 13px;
  flex-shrink: 0;
}
/* 菜单列表区域 */
.menu-list-area[data-v-c6e14b58] {
  flex: 1;
  overflow: auto;
  border: 1px solid #f0f0f0;
  border-radius: 4px;
}
.menu-item-wrapper[data-v-c6e14b58] {
  border-bottom: 1px solid #f0f0f0;
}
.submenu-item-wrapper[data-v-c6e14b58] {
  border-bottom: 1px solid #f0f0f0;
}
.menu-list-header[data-v-c6e14b58] {
  display: flex;
  align-items: center;
  padding: 6px 8px;
  background: #fafafa;
  border-bottom: 1px solid #f0f0f0;
  font-size: 12px;
  font-weight: 500;
  color: #595959;
  position: sticky;
  top: 0;
  z-index: 10;
}
.menu-list-header .col-checkbox[data-v-c6e14b58] {
  width: 20px;
  flex-shrink: 0;
}
.menu-list-header .col-info[data-v-c6e14b58] {
  flex: 1;
  min-width: 180px;
}
.menu-list-header .col-path[data-v-c6e14b58] {
  width: 180px;
  flex-shrink: 0;
  color: #8c8c8c;
}
.menu-list-header .col-actions[data-v-c6e14b58] {
  width: 90px;
  flex-shrink: 0;
  text-align: center;
}
/* 紧凑型菜单行 - 一行显示 */
.menu-row-compact[data-v-c6e14b58] {
  display: flex;
  align-items: center;
  padding: 4px 8px;
  gap: 6px;
  border-bottom: 1px solid #f5f5f5;
  min-height: 32px;
}
.menu-row-compact[data-v-c6e14b58]:hover {
  background: #fafafa;
}
.menu-col-check[data-v-c6e14b58] {
  width: 20px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
}
.menu-col-handle[data-v-c6e14b58] {
  width: 16px;
  text-align: center;
  cursor: move;
  color: #bfbfbf;
  font-size: 10px;
  user-select: none;
  flex-shrink: 0;
}
.menu-col-handle[data-v-c6e14b58]:hover {
  color: #1890ff;
}
.menu-col-icon[data-v-c6e14b58] {
  width: 20px;
  text-align: center;
  font-size: 13px;
  color: #1890ff;
  flex-shrink: 0;
}
.menu-col-title[data-v-c6e14b58] {
  flex: 1;
  min-width: 150px;
  display: flex;
  align-items: center;
  gap: 4px;
}
.menu-title-text[data-v-c6e14b58] {
  font-size: 13px;
  color: #262626;
  font-weight: 500;
}
.menu-type-tag[data-v-c6e14b58] {
  font-size: 10px;
  line-height: 16px;
  padding: 0 4px;
}
.menu-col-path[data-v-c6e14b58] {
  width: 180px;
  font-size: 12px;
  color: #8c8c8c;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex-shrink: 0;
}
.menu-col-actions[data-v-c6e14b58] {
  width: 90px;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
}
/* 紧凑型子菜单容器 */
.submenu-container-compact[data-v-c6e14b58] {
  background: #fafafa;
  border-top: 1px dashed #e8e8e8;
}
.draggable-submenu-compact[data-v-c6e14b58] {
  padding: 0;
}
/* 紧凑型子菜单行 */
.submenu-row-compact[data-v-c6e14b58] {
  display: flex;
  align-items: center;
  padding: 3px 8px 3px 44px;
  gap: 6px;
  border-bottom: 1px solid #f0f0f0;
  min-height: 28px;
}
.submenu-row-compact[data-v-c6e14b58]:hover {
  background: #f5f5f5;
}
.submenu-col-check[data-v-c6e14b58] {
  width: 20px;
  flex-shrink: 0;
}
.submenu-handle[data-v-c6e14b58] {
  width: 16px;
  text-align: center;
  cursor: move;
  color: #bfbfbf;
  font-size: 10px;
  user-select: none;
  flex-shrink: 0;
}
.submenu-handle[data-v-c6e14b58]:hover {
  color: #52c41a;
}
.submenu-col-icon[data-v-c6e14b58] {
  width: 20px;
  text-align: center;
  font-size: 12px;
  color: #52c41a;
  flex-shrink: 0;
}
.submenu-col-title[data-v-c6e14b58] {
  flex: 1;
  min-width: 140px;
  display: flex;
  align-items: center;
  gap: 4px;
}
.submenu-title-text[data-v-c6e14b58] {
  font-size: 12px;
  color: #595959;
}
.submenu-col-path[data-v-c6e14b58] {
  width: 160px;
  font-size: 11px;
  color: #bfbfbf;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex-shrink: 0;
}
.submenu-col-actions[data-v-c6e14b58] {
  width: 80px;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
}
/* 紧凑型三级菜单容器 */
.thirdlevel-container-compact[data-v-c6e14b58] {
  background: #fff;
  padding-left: 44px;
  border-top: 1px dotted #f0f0f0;
}
/* 紧凑型三级菜单行 */
.thirdmenu-row-compact[data-v-c6e14b58] {
  display: flex;
  align-items: center;
  padding: 2px 8px 2px 36px;
  gap: 6px;
  border-bottom: 1px solid #fafafa;
  min-height: 24px;
}
.thirdmenu-row-compact[data-v-c6e14b58]:hover {
  background: #fafafa;
}
.thirdmenu-col-check[data-v-c6e14b58] {
  width: 20px;
  flex-shrink: 0;
}
.thirdmenu-handle[data-v-c6e14b58] {
  width: 20px;
  text-align: center;
  cursor: grab;
  color: #bfbfbf;
  font-size: 10px;
  user-select: none;
  flex-shrink: 0;
}
.thirdmenu-handle[data-v-c6e14b58]:hover {
  color: #1890ff;
}
.draggable-thirdlevel-compact[data-v-c6e14b58] {
  min-height: 24px;
}
.thirdmenu-item-wrapper[data-v-c6e14b58] {
  border-bottom: 1px solid #fafafa;
}
.thirdmenu-col-icon[data-v-c6e14b58] {
  width: 16px;
  text-align: center;
  font-size: 11px;
  color: #722ed1;
  flex-shrink: 0;
}
.thirdmenu-col-title[data-v-c6e14b58] {
  flex: 1;
  min-width: 120px;
  display: flex;
  align-items: center;
  gap: 4px;
}
.thirdmenu-title-text[data-v-c6e14b58] {
  font-size: 11px;
  color: #8c8c8c;
}
.thirdmenu-col-path[data-v-c6e14b58] {
  width: 140px;
  font-size: 10px;
  color: #d9d9d9;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex-shrink: 0;
}
.thirdmenu-col-actions[data-v-c6e14b58] {
  width: 70px;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
}
/* 拖拽样式 */
.drag-ghost[data-v-c6e14b58] {
  opacity: 0.5;
  background: #e6f7ff;
}
.drag-chosen[data-v-c6e14b58] {
  background: #bae7ff;
}
.drag-drag[data-v-c6e14b58] {
  opacity: 0.9;
}
/* 响应式设计 */
@media (max-width: 1200px) {
.menu-col-path[data-v-c6e14b58],
  .submenu-col-path[data-v-c6e14b58],
  .thirdmenu-col-path[data-v-c6e14b58] {
    display: none;
}
.menu-list-header .col-path[data-v-c6e14b58] {
    display: none;
}
.menu-col-actions[data-v-c6e14b58] {
    width: 80px;
}
}
@media (max-width: 992px) {
.menu-manager-header[data-v-c6e14b58] {
    flex-direction: column;
    gap: 8px;
    align-items: stretch;
}
.header-actions[data-v-c6e14b58] {
    justify-content: space-between;
}
.menu-manager[data-v-c6e14b58] {
    padding: 8px;
}
}
@media (max-width: 768px) {
.menu-list-header .col-actions[data-v-c6e14b58] {
    width: 70px;
}
.menu-col-actions[data-v-c6e14b58] {
    width: 60px;
}
.submenu-col-actions[data-v-c6e14b58] {
    width: 60px;
}
.thirdmenu-col-actions[data-v-c6e14b58] {
    width: 50px;
}
}
/* 编辑菜单弹窗样式优化 */
.menu-edit-modal .ant-modal-body[data-v-c6e14b58] {
  padding: 20px;
}
.menu-edit-modal .ant-form-item[data-v-c6e14b58] {
  margin-bottom: 16px;
}
.menu-edit-modal .ant-form-item-label[data-v-c6e14b58] {
  font-weight: 500;
}
.menu-edit-modal .icon-selector[data-v-c6e14b58] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.menu-edit-modal .icon-preview[data-v-c6e14b58] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 8px;
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  background: #fafafa;
  min-width: 80px;
  justify-content: center;
}
.menu-edit-modal .icon-select[data-v-c6e14b58] {
  flex: 1;
  min-width: 0;
}
.menu-edit-modal .form-tip[data-v-c6e14b58] {
  margin-top: 4px;
  font-size: 12px;
  color: #8c8c8c;
}
.todo-page[data-v-1f606c8a] {
  padding: var(--spacing-4);
  background: var(--color-bg-layout);
}
/* ==================== Hero 区域 ==================== */
.hero-bg-decoration[data-v-1f606c8a] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-1f606c8a] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-1f606c8a] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-1f606c8a] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-1f606c8a] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-1f606c8a] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-1f606c8a] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-1f606c8a] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-1f606c8a] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-1f606c8a] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-1f606c8a] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-1f606c8a] {
  flex: 1;
}
.hero-title[data-v-1f606c8a] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-1f606c8a] {
  margin: 0 0 16px;
  font-size: 14px;
  opacity: 0.85;
  max-width: 600px;
  color: white;
}
.hero-stats[data-v-1f606c8a] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.hero-stat[data-v-1f606c8a] {
  display: flex;
  flex-direction: column;
  cursor: pointer;
  transition: transform 0.2s ease;
}
.hero-stat[data-v-1f606c8a]:hover {
  transform: translateY(-2px);
}
.hero-stat-value[data-v-1f606c8a] {
  font-size: 22px;
  font-weight: 700;
  color: white;
}
.hero-stat-label[data-v-1f606c8a] {
  font-size: 12px;
  opacity: 0.7;
  color: white;
}
.hero-stat-divider[data-v-1f606c8a] {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.25);
}
.hero-right[data-v-1f606c8a] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
/* ==================== 筛选栏 ==================== */
.filter-bar[data-v-1f606c8a] {
  background: var(--color-neutral-0);
  padding: 16px 32px;
  margin: 0;
  border-radius: 0 0 var(--radius-xl) var(--radius-xl);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  position: relative;
  z-index: 2;
}
@media (max-width: 768px) {
.filter-bar[data-v-1f606c8a] {
    padding: 12px;
}
}
.filter-bar-inner[data-v-1f606c8a] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  max-width: 1600px;
  margin: 0 auto;
}
.filter-left[data-v-1f606c8a] {
  display: flex;
  gap: 12px;
  flex: 1;
  flex-wrap: wrap;
}
.filter-search[data-v-1f606c8a] {
  max-width: 320px;
}
.filter-select[data-v-1f606c8a] {
  width: 160px;
}
/* ==================== 批量操作工具栏 ==================== */
.batch-toolbar[data-v-1f606c8a] {
  background: linear-gradient(135deg, rgba(22, 119, 255, 0.06) 0%, rgba(22, 119, 255, 0.1) 100%);
  border: 1px solid rgba(22, 119, 255, 0.2);
  border-radius: 10px;
  margin: 16px 24px;
  padding: 10px 20px;
  position: relative;
  z-index: 1;
  backdrop-filter: blur(10px);
}
.batch-toolbar[data-v-1f606c8a]:hover {
  box-shadow: 0 2px 12px rgba(22, 119, 255, 0.1);
}
/* 内容区域 */
.content-area[data-v-1f606c8a] {
  padding: 0;
}
/* 网格视图样式 */
.grid-view-container[data-v-1f606c8a] {
  margin-top: 12px;
}
.todo-card[data-v-1f606c8a] {
  border-radius: 8px;
  box-shadow: var(--shadow-sm);
  transition: all 0.3s ease;
  overflow: hidden;
  height: 100%;
  border: 1px solid var(--color-border-light);
}
.todo-card[data-v-1f606c8a]:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
  border-color: var(--color-border);
}
.todo-card[data-v-1f606c8a] .ant-card-body {
  padding: 0;
}
.todo-card-header[data-v-1f606c8a] {
  padding: 16px 16px 0 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 768px) {
.todo-card-header[data-v-1f606c8a] {
    padding: 12px;
}
}
.todo-priority-tag[data-v-1f606c8a],
.todo-status-tag[data-v-1f606c8a] {
  font-size: 12px;
}
.todo-card-body[data-v-1f606c8a] {
  padding: 16px;
}
@media (max-width: 768px) {
.todo-card-body[data-v-1f606c8a] {
    padding: 12px;
}
}
.todo-title[data-v-1f606c8a] {
  font-size: 15px;
  font-weight: 600;
  color: var(--color-text-primary);
  margin-bottom: 8px;
  line-height: 1.4;
}
.todo-title-completed[data-v-1f606c8a] {
  text-decoration: line-through;
  color: var(--color-text-quaternary);
}
.todo-description[data-v-1f606c8a] {
  font-size: 13px;
  color: var(--color-text-secondary);
  margin-bottom: 12px;
  line-height: 1.5;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.todo-meta[data-v-1f606c8a] {
  display: flex;
  gap: 16px;
  font-size: 12px;
  color: var(--color-text-tertiary);
}
.todo-meta-item[data-v-1f606c8a] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.todo-card-footer[data-v-1f606c8a] {
  padding: 12px 16px;
  border-top: 1px solid var(--color-border-light);
  display: flex;
  justify-content: flex-end;
}
/* 筛选容器样式 */
.filter-container[data-v-1f606c8a] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  padding: 12px;
}
.filter-left[data-v-1f606c8a],
.filter-right[data-v-1f606c8a] {
  display: flex;
  align-items: center;
  gap: 12px;
}
/* 统计趋势样式 */
.stat-trend[data-v-1f606c8a] {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 4px;
  font-size: 12px;
}
.trend-positive[data-v-1f606c8a] {
  color: var(--color-success-600);
}
.trend-negative[data-v-1f606c8a] {
  color: var(--color-error-600);
}
.page-header[data-v-1f606c8a] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 12px;
  background: var(--color-neutral-0);
  border-radius: 8px;
}
.header-content[data-v-1f606c8a] {
  flex: 1;
}
.page-title[data-v-1f606c8a] {
  font-size: 18px;
  font-weight: 600;
  color: var(--color-text-primary);
  margin: 0 0 8px 0;
}
.page-description[data-v-1f606c8a] {
  font-size: 14px;
  color: var(--color-text-secondary);
  margin: 0;
}
.header-actions[data-v-1f606c8a] {
  display: flex;
  gap: 12px;
}
.stats-card[data-v-1f606c8a] {
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  background: var(--color-bg-layout);
  transition: all var(--duration-base) var(--easing-ease-out);
}
.stats-card[data-v-1f606c8a]:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}
.stats-card[data-v-1f606c8a] .ant-card-body {
  padding: 16px;
}
.stats-grid[data-v-1f606c8a] {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: var(--spacing-4);
}
.stat-item[data-v-1f606c8a] {
  display: flex;
  align-items: center;
  padding: var(--spacing-3);
  background: var(--color-neutral-0);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-sm);
  transition: all var(--duration-base) var(--easing-ease-out);
  cursor: pointer;
}
.stat-item[data-v-1f606c8a]:hover {
  background: var(--color-bg-container);
  box-shadow: var(--shadow-lg);
  transform: translateY(-2px);
}
.stat-icon[data-v-1f606c8a] {
  width: 48px;
  height: 48px;
  border-radius: var(--radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: var(--spacing-4);
  color: white;
  font-size: var(--icon-size-lg);
  position: relative;
  overflow: hidden;
  transition: all var(--duration-base) var(--easing-ease-out);
  flex-shrink: 0;
}
.stat-icon[data-v-1f606c8a]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 50%;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0.08) 60%, transparent 100%);
  border-radius: 14px 14px 0 0;
  pointer-events: none;
}
.stat-icon[data-v-1f606c8a]::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.3), transparent);
  transform: rotate(45deg);
  transition: all 0.6s ease;
  animation: stat-icon-shimmer-1f606c8a 3s infinite;
}
@keyframes stat-icon-shimmer-1f606c8a {
0% {
    transform: translateX(-100%) translateY(-100%) rotate(45deg);
}
100% {
    transform: translateX(100%) translateY(100%) rotate(45deg);
}
}
.stat-item:hover .stat-icon[data-v-1f606c8a] {
  transform: scale(1.08) translateY(-2px);
  box-shadow: var(--shadow-xl);
}
.stat-content[data-v-1f606c8a] {
  flex: 1;
  min-width: 0;
}
.stat-value[data-v-1f606c8a] {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-bold);
  color: var(--color-text);
  line-height: 1.2;
  transition: all var(--duration-base) var(--easing-ease-out);
}
.stat-item:hover .stat-value[data-v-1f606c8a] {
  transform: scale(1.05);
}
.stat-label[data-v-1f606c8a] {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  margin-top: var(--spacing-1);
  font-weight: 500;
}
/* 筛选区域 - 使用 ResponsiveTable 内置的 .pc-filter 容器 */
[data-v-1f606c8a] .pc-filter {
  padding: 12px 16px;
}
[data-v-1f606c8a] .pc-filter .ant-input,[data-v-1f606c8a] .pc-filter .ant-select-selector {
  border-radius: 8px;
  transition: all 0.3s ease;
}
[data-v-1f606c8a] .pc-filter .ant-input:hover,[data-v-1f606c8a] .pc-filter .ant-input:focus,[data-v-1f606c8a] .pc-filter .ant-select-focused .ant-select-selector {
  box-shadow: 0 0 0 2px rgba(22, 119, 255, 0.2);
}
.batch-toolbar[data-v-1f606c8a] {
  background: linear-gradient(135deg, rgba(38, 166, 154, 0.1) 0%, rgba(0, 150, 136, 0.15) 100%);
  border: 2px solid rgba(38, 166, 154, 0.3);
  border-radius: 12px;
  padding: 8px 20px;
  margin-bottom: 16px;
  backdrop-filter: blur(10px);
  transition: all 0.3s ease;
}
.batch-toolbar[data-v-1f606c8a]:hover {
  box-shadow: 0 4px 16px rgba(0, 105, 92, 0.15);
}
.batch-toolbar-content[data-v-1f606c8a] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.selection-info[data-v-1f606c8a] {
  display: flex;
  align-items: center;
}
.batch-actions[data-v-1f606c8a] {
  display: flex;
  gap: 8px;
}
.batch-actions[data-v-1f606c8a] .ant-btn {
  border-radius: 6px;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 6px;
}
.batch-actions[data-v-1f606c8a] .ant-btn:hover {
  transform: translateY(-1px);
}
.batch-actions[data-v-1f606c8a] .ant-btn-dangerous {
  color: var(--color-error);
  border-color: var(--color-error);
}
.batch-actions[data-v-1f606c8a] .ant-btn-dangerous:hover {
  background: var(--color-error);
  color: #fff;
}
/* 移动端卡片自定义样式 */
.mobile-todo-header[data-v-1f606c8a] {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}
.mobile-todo-title[data-v-1f606c8a] {
  flex: 1;
  min-width: 0;
  font-size: 15px;
  font-weight: 600;
  color: var(--color-text);
  line-height: 1.4;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
}
.mobile-todo-title-completed[data-v-1f606c8a] {
  text-decoration: line-through;
  color: var(--color-text-quaternary, #bfbfbf);
}
.mobile-todo-field-danger[data-v-1f606c8a] {
  color: #ff4d4f;
  font-weight: 500;
}
.mobile-todo-desc[data-v-1f606c8a] {
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--color-text-tertiary);
  font-size: 13px;
  line-height: 1.5;
  margin-bottom: 8px;
}
.todo-form-modal[data-v-1f606c8a] .ant-modal-body {
  padding: 24px;
  max-height: 65vh;
  overflow-y: auto;
}
.todo-form-modal[data-v-1f606c8a] .ant-form-item-label > label {
  font-weight: 500;
}
.todo-form-modal[data-v-1f606c8a] .ant-input,
.todo-form-modal[data-v-1f606c8a] .ant-select-selector,
.todo-form-modal[data-v-1f606c8a] .ant-input-number {
  border-radius: 8px;
  transition: all 0.3s ease;
}
.todo-form-modal[data-v-1f606c8a] .ant-input:focus,
.todo-form-modal[data-v-1f606c8a] .ant-select-focused .ant-select-selector {
  box-shadow: 0 0 0 2px rgba(22, 119, 255, 0.2);
}
.approval-modal[data-v-1f606c8a] .ant-modal-body {
  padding: 24px;
}
.approval-modal[data-v-1f606c8a] .ant-form-item-label > label {
  font-weight: 500;
}
.approval-modal[data-v-1f606c8a] .ant-input {
  border-radius: 8px;
  transition: all 0.3s ease;
}
.approval-modal[data-v-1f606c8a] .ant-input:focus {
  box-shadow: 0 0 0 2px rgba(22, 119, 255, 0.2);
}
.approval-history-drawer[data-v-1f606c8a] .ant-drawer-body {
  padding: 24px;
}
.history-item[data-v-1f606c8a] {
  padding-bottom: 4px;
}
.history-action[data-v-1f606c8a] {
  margin-bottom: 8px;
}
.history-info[data-v-1f606c8a] {
  padding-left: 4px;
}
.history-operator[data-v-1f606c8a],
.history-time[data-v-1f606c8a],
.history-comment[data-v-1f606c8a] {
  margin-bottom: 4px;
  font-size: 14px;
}
.history-label[data-v-1f606c8a] {
  color: var(--color-text-secondary);
  margin-right: 4px;
}
/* 逾期行高亮 */
[data-v-1f606c8a] .overdue-row {
  background-color: #fff2f0 !important;
}
[data-v-1f606c8a] .overdue-row:hover > td {
  background-color: #ffccc7 !important;
}
/* 响应式 */
@media (max-width: 768px) {
.todo-page[data-v-1f606c8a] {
    padding: var(--spacing-3);
}
.page-header[data-v-1f606c8a] {
    flex-direction: column;
    gap: 16px;
}
.header-actions[data-v-1f606c8a] {
    width: 100%;
}
.filter-container[data-v-1f606c8a] {
    flex-direction: column;
    align-items: stretch;
}
.filter-left[data-v-1f606c8a],
  .filter-right[data-v-1f606c8a] {
    width: 100%;
    flex-wrap: wrap;
}
.filter-left[data-v-1f606c8a] .ant-space,
  .filter-right[data-v-1f606c8a] .ant-space {
    width: 100%;
}
.filter-left[data-v-1f606c8a] .ant-input-search,
  .filter-left[data-v-1f606c8a] .ant-select,
  .filter-right[data-v-1f606c8a] .ant-select {
    width: 100% !important;
}
.stats-grid[data-v-1f606c8a] {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}
.stat-item[data-v-1f606c8a] {
    padding: var(--spacing-3);
}
.stat-icon[data-v-1f606c8a] {
    width: 40px;
    height: 40px;
    font-size: 18px;
    margin-right: 10px;
}
.stat-value[data-v-1f606c8a] {
    font-size: 20px;
}
.stat-label[data-v-1f606c8a] {
    font-size: 12px;
}
.batch-toolbar-content[data-v-1f606c8a] {
    flex-direction: column;
    gap: 12px;
}
.batch-actions[data-v-1f606c8a] {
    flex-wrap: wrap;
    justify-content: center;
}
  /* 模态框移动端全屏适配 */
[data-v-1f606c8a] .ant-modal {
    max-width: 100vw !important;
    margin: 0 !important;
    top: 0 !important;
    padding: 0 !important;
}
[data-v-1f606c8a] .ant-modal-content {
    border-radius: 0 !important;
    display: flex;
    flex-direction: column;
}
[data-v-1f606c8a] .ant-modal-body {
    flex: 1;
    overflow-y: auto;
    max-height: none !important;
}
.todo-form-modal[data-v-1f606c8a] .ant-modal-body {
    padding: 16px !important;
}
.approval-modal[data-v-1f606c8a] .ant-modal-body {
    padding: 16px !important;
}
}
/* ==================== 移动端适配（保持元素尺寸） ==================== */
@media (max-width: 768px) {
.hero-section[data-v-1f606c8a] {
    margin-bottom: var(--spacing-3);
}
.hero-content[data-v-1f606c8a] {
    flex-direction: column;
    gap: 16px;
    align-items: flex-start;
}
.hero-left[data-v-1f606c8a] {
    width: 100%;
}
.hero-right[data-v-1f606c8a] {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
.filter-bar[data-v-1f606c8a] .ant-radio-button-wrapper {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.filter-bar[data-v-1f606c8a] .ant-radio-button-wrapper svg,
  .filter-bar[data-v-1f606c8a] .ant-radio-button-wrapper i {
    display: inline-flex;
    visibility: visible !important;
}
.filter-bar[data-v-1f606c8a] {
    padding: 12px var(--spacing-4);
}
.filter-bar-inner[data-v-1f606c8a] {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
}
.filter-left[data-v-1f606c8a] {
    flex-direction: column;
    gap: 12px;
}
.filter-search[data-v-1f606c8a] {
    max-width: 100%;
}
.filter-select[data-v-1f606c8a] {
    width: 100%;
}
.filter-right[data-v-1f606c8a] {
    justify-content: flex-end;
    gap: 8px;
}
.content-area[data-v-1f606c8a] {
    padding: 0;
}
.batch-toolbar[data-v-1f606c8a] {
    margin: 12px var(--spacing-4);
    padding: 8px 12px;
}
.batch-toolbar-content[data-v-1f606c8a] {
    flex-direction: column;
    gap: 8px;
    align-items: flex-start;
}
.batch-actions[data-v-1f606c8a] {
    width: 100%;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 8px;
}
  /* 网格视图移动端优化 */
.grid-view-container[data-v-1f606c8a] {
    margin-bottom: 16px;
}
.todo-card[data-v-1f606c8a] {
    border-radius: 12px;
}
.todo-meta[data-v-1f606c8a] {
    flex-wrap: wrap;
    gap: 8px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.filter-bar[data-v-1f606c8a] {
    padding: 12px;
}
}
@media (max-width: 575px) {
.stats-grid[data-v-1f606c8a] {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}
.stat-item[data-v-1f606c8a] {
    padding: var(--spacing-3);
}
.stat-icon[data-v-1f606c8a] {
    width: 32px;
    height: 32px;
    min-width: 32px;
    border-radius: 8px;
    font-size: 13px;
}
.stat-value[data-v-1f606c8a] {
    font-size: 16px;
}
.stat-label[data-v-1f606c8a] {
    font-size: 10px;
}
.stats-card[data-v-1f606c8a] .ant-card-body {
    padding: 12px;
}
}
/* 工作流审批扩展字段样式 */
.workflow-meta[data-v-1f606c8a] {
  margin-top: 4px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.workflow-meta-item[data-v-1f606c8a] {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 12px;
  color: var(--color-text-tertiary, #8c8c8c);
}
.rich-text-editor[data-v-ff9b0237] {
  width: 100%;
  border: 1px solid var(--color-border, #d9d9d9);
  border-radius: 6px;
  overflow: hidden;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
  background: var(--color-bg-container, #fff);
}
.rich-text-editor[data-v-ff9b0237]:hover {
  border-color: var(--color-primary-hover, #4096ff);
}
.rich-text-editor[data-v-ff9b0237]:focus-within {
  border-color: var(--color-primary, #1677ff);
  box-shadow: 0 0 0 2px rgba(22, 119, 255, 0.1);
}
/* 工具栏样式 */
.rich-text-toolbar[data-v-ff9b0237] {
  border-bottom: 1px solid var(--color-border-secondary, #f0f0f0);
  background: var(--color-bg-layout, #fafafa);
}
/* 编辑区域样式 */
.rich-text-content[data-v-ff9b0237] {
  overflow-y: auto;
}
/* 暗色模式适配 */
.rich-text-editor.is-dark[data-v-ff9b0237] {
  border-color: var(--color-border, #424242);
  background: var(--color-bg-container, #1f1f1f);
}
.rich-text-editor.is-dark[data-v-ff9b0237]:hover {
  border-color: var(--color-primary-hover, #1668dc);
}
.rich-text-editor.is-dark[data-v-ff9b0237]:focus-within {
  border-color: var(--color-primary, #1677ff);
  box-shadow: 0 0 0 2px rgba(22, 119, 255, 0.15);
}
.rich-text-editor.is-dark .rich-text-toolbar[data-v-ff9b0237] {
  border-bottom-color: var(--color-border-secondary, #303030);
  background: var(--color-bg-layout, #141414);
}
/* 只读状态 */
.rich-text-editor.is-readonly[data-v-ff9b0237] {
  background: var(--color-bg-container-disabled, #f5f5f5);
  cursor: not-allowed;
}
.rich-text-editor.is-dark.is-readonly[data-v-ff9b0237] {
  background: var(--color-bg-container-disabled, #262626);
}
/* 禁用状态 */
.rich-text-editor.is-disabled[data-v-ff9b0237] {
  background: var(--color-bg-container-disabled, #f5f5f5);
  cursor: not-allowed;
  opacity: 0.6;
}
.rich-text-editor.is-dark.is-disabled[data-v-ff9b0237] {
  background: var(--color-bg-container-disabled, #262626);
}
/* WangEditor 内部样式覆盖 - 亮色模式 */
.rich-text-editor[data-v-ff9b0237] .w-e-toolbar {
  background: var(--color-bg-layout, #fafafa) !important;
  border-bottom: 1px solid var(--color-border-secondary, #f0f0f0) !important;
}
.rich-text-editor[data-v-ff9b0237] .w-e-text-container {
  background: var(--color-bg-container, #fff) !important;
  color: var(--color-text, rgba(0, 0, 0, 0.88)) !important;
}
.rich-text-editor[data-v-ff9b0237] .w-e-text-placeholder {
  color: var(--color-text-quaternary, rgba(0, 0, 0, 0.25)) !important;
}
.rich-text-editor[data-v-ff9b0237] .w-e-bar-item button {
  color: var(--color-text, rgba(0, 0, 0, 0.88)) !important;
}
.rich-text-editor[data-v-ff9b0237] .w-e-bar-item button:hover {
  background: var(--color-bg-text-hover, rgba(0, 0, 0, 0.06)) !important;
}
.rich-text-editor[data-v-ff9b0237] .w-e-bar-divider {
  background-color: var(--color-border-secondary, #f0f0f0) !important;
}
.rich-text-editor[data-v-ff9b0237] .w-e-text-container [data-slate-editor] {
  min-height: 100%;
}
/* WangEditor 内部样式覆盖 - 暗色模式 */
.rich-text-editor.is-dark[data-v-ff9b0237] .w-e-toolbar {
  background: var(--color-bg-layout, #141414) !important;
  border-bottom: 1px solid var(--color-border-secondary, #303030) !important;
}
.rich-text-editor.is-dark[data-v-ff9b0237] .w-e-text-container {
  background: var(--color-bg-container, #1f1f1f) !important;
  color: var(--color-text, rgba(255, 255, 255, 0.85)) !important;
}
.rich-text-editor.is-dark[data-v-ff9b0237] .w-e-text-placeholder {
  color: var(--color-text-quaternary, rgba(255, 255, 255, 0.25)) !important;
}
.rich-text-editor.is-dark[data-v-ff9b0237] .w-e-bar-item button {
  color: var(--color-text, rgba(255, 255, 255, 0.85)) !important;
}
.rich-text-editor.is-dark[data-v-ff9b0237] .w-e-bar-item button:hover {
  background: var(--color-bg-text-hover, rgba(255, 255, 255, 0.08)) !important;
}
.rich-text-editor.is-dark[data-v-ff9b0237] .w-e-bar-divider {
  background-color: var(--color-border-secondary, #303030) !important;
}
/* WangEditor 弹出菜单暗色适配 */
.rich-text-editor.is-dark[data-v-ff9b0237] .w-e-drop-panel {
  background: var(--color-bg-elevated, #262626) !important;
  border-color: var(--color-border, #424242) !important;
}
.rich-text-editor.is-dark[data-v-ff9b0237] .w-e-drop-panel li {
  color: var(--color-text, rgba(255, 255, 255, 0.85)) !important;
}
.rich-text-editor.is-dark[data-v-ff9b0237] .w-e-drop-panel li:hover {
  background: var(--color-bg-text-hover, rgba(255, 255, 255, 0.08)) !important;
}
/* WangEditor 模态框暗色适配 */
.rich-text-editor.is-dark[data-v-ff9b0237] .w-e-modal {
  background: var(--color-bg-elevated, #262626) !important;
}
.rich-text-editor.is-dark[data-v-ff9b0237] .w-e-modal-header {
  border-bottom-color: var(--color-border, #424242) !important;
}
.rich-text-editor.is-dark[data-v-ff9b0237] .w-e-modal-header-title {
  color: var(--color-text, rgba(255, 255, 255, 0.85)) !important;
}
.rich-text-editor.is-dark[data-v-ff9b0237] .w-e-modal-body {
  color: var(--color-text, rgba(255, 255, 255, 0.85)) !important;
}
.rich-text-editor.is-dark[data-v-ff9b0237] .w-e-modal-footer {
  border-top-color: var(--color-border, #424242) !important;
}
/* WangEditor tooltip 暗色适配 */
.rich-text-editor.is-dark[data-v-ff9b0237] .w-e-tooltip {
  background: var(--color-bg-elevated, #262626) !important;
  color: var(--color-text, rgba(255, 255, 255, 0.85)) !important;
}
/* 编辑器内链接样式 */
.rich-text-editor[data-v-ff9b0237] .w-e-text-container a {
  color: var(--color-link, #1677ff) !important;
  text-decoration: none !important;
}
.rich-text-editor[data-v-ff9b0237] .w-e-text-container a:hover {
  color: var(--color-link-hover, #4096ff) !important;
}
/* 编辑器内表格样式 */
.rich-text-editor[data-v-ff9b0237] .w-e-text-container table {
  border-collapse: collapse;
}
.rich-text-editor[data-v-ff9b0237] .w-e-text-container td {
  border: 1px solid var(--color-border, #d9d9d9);
  padding: 4px 8px;
}
.rich-text-editor.is-dark[data-v-ff9b0237] .w-e-text-container td {
  border-color: var(--color-border, #424242);
}
/* 编辑器内代码块样式 */
.rich-text-editor[data-v-ff9b0237] .w-e-text-container pre {
  background: var(--color-bg-layout, #f5f5f5) !important;
  border: 1px solid var(--color-border, #d9d9d9) !important;
  border-radius: 4px;
  padding: 8px 12px;
}
.rich-text-editor.is-dark[data-v-ff9b0237] .w-e-text-container pre {
  background: var(--color-bg-layout, #141414) !important;
  border-color: var(--color-border, #424242) !important;
}
/* 编辑器内引用样式 */
.rich-text-editor[data-v-ff9b0237] .w-e-text-container blockquote {
  border-left: 3px solid var(--color-border, #d9d9d9);
  padding-left: 12px;
  margin: 8px 0;
  color: var(--color-text-secondary, rgba(0, 0, 0, 0.45));
}
.rich-text-editor.is-dark[data-v-ff9b0237] .w-e-text-container blockquote {
  border-left-color: var(--color-border, #424242);
  color: var(--color-text-secondary, rgba(255, 255, 255, 0.45));
}
/* 滚动条样式 */
.rich-text-content[data-v-ff9b0237] ::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.rich-text-content[data-v-ff9b0237] ::-webkit-scrollbar-thumb {
  background: var(--color-text-quaternary, rgba(0, 0, 0, 0.15));
  border-radius: 3px;
}
.rich-text-content[data-v-ff9b0237] ::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-tertiary, rgba(0, 0, 0, 0.25));
}
.rich-text-editor.is-dark .rich-text-content[data-v-ff9b0237] ::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.15);
}
.rich-text-editor.is-dark .rich-text-content[data-v-ff9b0237] ::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.25);
}
/* 响应式 */
@media (max-width: 768px) {
.rich-text-editor[data-v-ff9b0237] {
    border-radius: 4px;
}
.rich-text-editor[data-v-ff9b0237] .w-e-toolbar {
    flex-wrap: wrap;
}
}
/* ==================== Page Container ==================== */
.announcement-page[data-v-49def3b0] {
  padding: 16px;
  background: var(--color-bg-layout);
}
@media (max-width: 768px) {
.announcement-page[data-v-49def3b0] {
    padding: 12px;
}
}
/* ==================== Hero Section ==================== */
.hero-bg-decoration[data-v-49def3b0] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-49def3b0] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-49def3b0] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-49def3b0] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-49def3b0] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-49def3b0] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-49def3b0] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-49def3b0] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-49def3b0] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-49def3b0] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-49def3b0] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-49def3b0] {
  flex: 1;
}
.hero-title[data-v-49def3b0] {
  font-size: 28px;
  font-weight: 700;
  margin: 0 0 8px;
  color: #fff;
}
.hero-subtitle[data-v-49def3b0] {
  font-size: 14px;
  opacity: 0.85;
  margin: 0 0 24px;
}
.hero-stats[data-v-49def3b0] {
  display: flex;
  align-items: center;
  gap: 32px;
}
.hero-stat[data-v-49def3b0] {
  display: flex;
  flex-direction: column;
}
.hero-stat-value[data-v-49def3b0] {
  font-size: 28px;
  font-weight: 700;
}
.hero-stat-label[data-v-49def3b0] {
  font-size: 13px;
  opacity: 0.8;
}
.hero-stat-divider[data-v-49def3b0] {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.25);
}
.hero-right[data-v-49def3b0] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
/* ==================== Filter Bar ==================== */
.filter-bar[data-v-49def3b0] {
  background: #fff;
  border-radius: 12px;
  padding: 16px 24px;
  margin-bottom: 12px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
}
@media (max-width: 768px) {
.filter-bar[data-v-49def3b0] {
    padding: 12px;
}
}
.filter-bar-inner[data-v-49def3b0] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.filter-left[data-v-49def3b0] {
  display: flex;
  gap: 12px;
  flex: 1;
}
.filter-search[data-v-49def3b0] {
  max-width: 320px;
}
.filter-select[data-v-49def3b0] {
  min-width: 140px;
}
/* ==================== Card Grid ==================== */
.card-grid[data-v-49def3b0] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 24px;
}
/* ==================== Announcement Card ==================== */
.announcement-card[data-v-49def3b0] {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
  transition: all 0.3s;
  border: 1px solid #f0f0f0;
  display: flex;
  flex-direction: column;
  position: relative;
}
.announcement-card[data-v-49def3b0]:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}
/* Card accent bar */
.card-accent[data-v-49def3b0] {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 3px;
  flex-shrink: 0;
  border-top-left-radius: var(--radius-lg, 8px);
  border-bottom-left-radius: var(--radius-lg, 8px);
}
.card-accent--system[data-v-49def3b0] {
  background: var(--color-primary, #1677ff);
}
.card-accent--maintenance[data-v-49def3b0] {
  background: var(--color-warning, #fa8c16);
}
.card-accent--update[data-v-49def3b0] {
  background: var(--color-success, #52c41a);
}
.card-accent--activity[data-v-49def3b0] {
  background: #722ed1;
}
.card-accent--other[data-v-49def3b0] {
  background: var(--color-text-quaternary, #bfbfbf);
}
/* Card body */
.card-body[data-v-49def3b0] {
  padding: 16px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
@media (max-width: 768px) {
.card-body[data-v-49def3b0] {
    padding: 12px;
}
}
.card-header[data-v-49def3b0] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 8px;
}
.card-title[data-v-49def3b0] {
  font-size: 16px;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.85);
  line-height: 1.4;
  flex: 1;
  margin: 0;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.top-icon[data-v-49def3b0] {
  font-size: 14px;
  margin-right: 6px;
  color: var(--color-warning, #fa8c16);
  vertical-align: -1px;
}
.card-tags[data-v-49def3b0] {
  display: flex;
  gap: 4px;
  flex-shrink: 0;
  margin-left: 8px;
}
.card-tag[data-v-49def3b0] {
  border-radius: 4px;
  font-size: 11px;
  padding: 0 6px;
  line-height: 20px;
  border: none;
}
.card-type-status[data-v-49def3b0] {
  display: flex;
  gap: 6px;
  margin-bottom: 8px;
}
.card-desc[data-v-49def3b0] {
  font-size: 13px;
  color: rgba(0, 0, 0, 0.45);
  line-height: 1.6;
  margin-bottom: 12px;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  flex: 1;
}
.card-meta[data-v-49def3b0] {
  display: flex;
  gap: 16px;
  font-size: 12px;
  color: rgba(0, 0, 0, 0.45);
  margin-bottom: 8px;
  flex-wrap: wrap;
}
.card-meta-item[data-v-49def3b0] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.card-audience[data-v-49def3b0] {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.45);
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  gap: 4px;
}
.card-footer[data-v-49def3b0] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 12px;
  border-top: 1px solid #f5f5f5;
}
.card-actions[data-v-49def3b0] {
  display: flex;
  gap: 2px;
}
/* ==================== Empty State ==================== */
.card-empty[data-v-49def3b0] {
  padding: 80px 0;
}
/* ==================== Pagination ==================== */
.pagination-wrapper[data-v-49def3b0] {
  display: flex;
  justify-content: flex-end;
  padding: 16px 0;
}
@media (max-width: 768px) {
.pagination-wrapper[data-v-49def3b0] {
    padding: 12px;
}
}
/* ==================== Form Modal ==================== */
.announcement-form-modal[data-v-49def3b0] .ant-modal-body {
  padding: 24px;
  max-height: 70vh;
  overflow-y: auto;
}
.announcement-form-modal[data-v-49def3b0] .ant-form-item-label > label {
  font-weight: 500;
}
.announcement-form-modal[data-v-49def3b0] .ant-input,
.announcement-form-modal[data-v-49def3b0] .ant-select-selector,
.announcement-form-modal[data-v-49def3b0] .ant-input-number {
  border-radius: 8px;
  transition: all 0.3s ease;
}
.announcement-form-modal[data-v-49def3b0] .ant-input:focus,
.announcement-form-modal[data-v-49def3b0] .ant-select-focused .ant-select-selector {
  box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
}
/* Priority selector */
.priority-option[data-v-49def3b0] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.priority-dot[data-v-49def3b0] {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}
.priority-dot-low[data-v-49def3b0] {
  background-color: #d9d9d9;
}
.priority-dot-medium[data-v-49def3b0] {
  background-color: #1890ff;
}
.priority-dot-high[data-v-49def3b0] {
  background-color: #fa8c16;
}
.priority-dot-urgent[data-v-49def3b0] {
  background-color: #f5222d;
}
/* Media upload */
.media-upload-section[data-v-49def3b0] {
  border: 1px dashed var(--color-border);
  border-radius: 8px;
  padding: 16px;
  background: var(--color-bg-layout);
}
@media (max-width: 768px) {
.media-upload-section[data-v-49def3b0] {
    padding: 12px;
}
}
.media-upload-tip[data-v-49def3b0] {
  margin-top: 8px;
  font-size: 12px;
  color: var(--color-text-secondary);
}
.media-list[data-v-49def3b0] {
  margin-top: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.media-item[data-v-49def3b0] {
  display: flex;
  align-items: center;
  padding: 12px;
  background: var(--color-bg-container);
  border-radius: 8px;
  border: 1px solid var(--color-border-light);
}
.media-item-icon[data-v-49def3b0] {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-primary-bg);
  border-radius: 8px;
  color: var(--color-primary);
  font-size: 18px;
  margin-right: 12px;
}
.media-item-info[data-v-49def3b0] {
  flex: 1;
  min-width: 0;
}
.media-item-name[data-v-49def3b0] {
  font-weight: 500;
  color: var(--color-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.media-item-meta[data-v-49def3b0] {
  font-size: 12px;
  color: var(--color-text-secondary);
  margin-top: 4px;
}
/* ==================== Preview Modal ==================== */
.preview-content[data-v-49def3b0] {
  padding: 0;
  display: flex;
  flex-direction: column;
  max-height: calc(75vh - 40px);
  overflow: hidden;
}
.preview-header[data-v-49def3b0] {
  margin-bottom: 16px;
}
.preview-title[data-v-49def3b0] {
  font-size: 20px;
  font-weight: 600;
  margin: 0 0 10px;
  color: var(--color-text);
  line-height: 1.4;
}
.preview-tags[data-v-49def3b0] {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.preview-tags[data-v-49def3b0] .ant-tag {
  margin: 0;
  border-radius: 4px;
  font-size: 12px;
}
.preview-meta-bar[data-v-49def3b0] {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  padding: 10px 14px;
  background: var(--color-bg-layout);
  border-radius: 8px;
}
.preview-meta-item[data-v-49def3b0] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--color-text-secondary);
}
.preview-meta-item[data-v-49def3b0] .anticon {
  color: var(--color-text-quaternary);
  font-size: 14px;
}
.preview-body[data-v-49def3b0] {
  line-height: 1.8;
  color: var(--color-text);
  font-size: 15px;
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 4px 12px 4px 4px;
  margin: 0 -4px;
  scrollbar-gutter: stable;
}
.preview-body[data-v-49def3b0]::-webkit-scrollbar {
  width: 6px;
}
.preview-body[data-v-49def3b0]::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 3px;
}
.preview-body[data-v-49def3b0]::-webkit-scrollbar-track {
  background: transparent;
}
.preview-body[data-v-49def3b0] h3 {
  font-size: 18px;
  font-weight: 600;
  margin: 16px 0 8px;
}
.preview-body[data-v-49def3b0] ul,
.preview-body[data-v-49def3b0] ol {
  padding-left: 20px;
}
.preview-body[data-v-49def3b0] li {
  margin-bottom: 4px;
}
.preview-body[data-v-49def3b0] p {
  margin-bottom: 8px;
}
.preview-body[data-v-49def3b0] strong {
  font-weight: 600;
}
/* Media player */
.preview-media-section[data-v-49def3b0] {
  margin: 16px 0;
  padding: 16px;
  background: var(--color-bg-layout);
  border-radius: 8px;
  flex-shrink: 0;
  max-height: 35vh;
  overflow-y: auto;
}
@media (max-width: 768px) {
.preview-media-section[data-v-49def3b0] {
    padding: 12px;
}
}
.preview-media-title[data-v-49def3b0] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  color: var(--color-text);
  margin-bottom: 12px;
  font-size: 15px;
}
.preview-media-list[data-v-49def3b0] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.preview-media-item[data-v-49def3b0] {
  background: var(--color-bg-container);
  border-radius: 8px;
  overflow: hidden;
}
.preview-video-player[data-v-49def3b0] {
  width: 100%;
  max-height: 400px;
  background: #000;
  border-radius: 8px 8px 0 0;
}
.preview-audio-player[data-v-49def3b0] {
  padding: 16px;
}
.preview-image-player[data-v-49def3b0] {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fafafa;
  padding: 16px;
  border-radius: 8px 8px 0 0;
}
.preview-image[data-v-49def3b0] {
  max-width: 100%;
  max-height: 400px;
  object-fit: contain;
  border-radius: 4px;
  cursor: zoom-in;
  transition: transform 0.2s;
}
.preview-image[data-v-49def3b0]:hover {
  transform: scale(1.02);
}
@media (max-width: 768px) {
.preview-audio-player[data-v-49def3b0] {
    padding: 12px;
}
}
.audio-player-header[data-v-49def3b0] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.audio-icon[data-v-49def3b0] {
  font-size: 24px;
  color: var(--color-primary);
}
.audio-name[data-v-49def3b0] {
  font-weight: 500;
  color: var(--color-text);
}
.audio-controls[data-v-49def3b0] {
  width: 100%;
  height: 40px;
}
.preview-media-info[data-v-49def3b0] {
  display: flex;
  gap: 16px;
  padding: 12px 16px;
  background: var(--color-bg-layout);
  font-size: 12px;
  color: var(--color-text-secondary);
  flex-wrap: wrap;
}
.media-info-item[data-v-49def3b0] {
  display: flex;
  align-items: center;
  gap: 4px;
}
/* Display config */
.preview-display-config[data-v-49def3b0] {
  margin-top: 16px;
}
.display-config-items[data-v-49def3b0] {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}
.config-item[data-v-49def3b0] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--color-text-secondary);
  padding: 6px 12px;
  background: var(--color-bg-layout);
  border-radius: 6px;
}
.announcement-preview-modal[data-v-49def3b0] .ant-modal-body {
  max-height: 75vh;
  padding: 20px 24px;
  overflow: hidden;
}
.announcement-preview-modal[data-v-49def3b0] .ant-modal-header {
  padding-bottom: 12px;
}
/* ==================== Template Select Modal ==================== */
.template-select-modal[data-v-49def3b0] .ant-modal-body {
  max-height: 70vh;
  overflow-y: auto;
}
.template-modal-content[data-v-49def3b0] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.template-list[data-v-49def3b0] {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  max-height: 400px;
  overflow-y: auto;
}
.template-item[data-v-49def3b0] {
  padding: 16px;
  border: 1px solid var(--color-border-light);
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
}
@media (max-width: 768px) {
.template-item[data-v-49def3b0] {
    padding: 12px;
}
}
.template-item[data-v-49def3b0]:hover {
  border-color: var(--color-primary);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.template-item-header[data-v-49def3b0] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.template-item-name[data-v-49def3b0] {
  font-weight: 600;
  font-size: 15px;
  color: var(--color-text);
}
.template-item-desc[data-v-49def3b0] {
  font-size: 13px;
  color: var(--color-text-secondary);
  margin: 0 0 8px;
  line-height: 1.5;
}
.template-item-preview[data-v-49def3b0] {
  padding: 8px;
  background: var(--color-bg-layout);
  border-radius: 6px;
  margin-bottom: 8px;
}
.template-item-preview .preview-label[data-v-49def3b0] {
  font-size: 12px;
  color: var(--color-text-quaternary);
}
.template-item-preview .preview-text[data-v-49def3b0] {
  font-size: 13px;
  color: var(--color-text);
}
.template-item-footer[data-v-49def3b0] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  color: var(--color-text-secondary);
}
.template-item-footer .priority-tag[data-v-49def3b0] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.template-modal-footer[data-v-49def3b0] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 16px;
  border-top: 1px solid var(--color-border-light);
}
/* ==================== Template Form Modal ==================== */
.template-form-content[data-v-49def3b0] {
  max-height: 60vh;
  overflow-y: auto;
}
.template-result-preview[data-v-49def3b0] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.preview-row[data-v-49def3b0] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.preview-row label[data-v-49def3b0] {
  font-weight: 500;
  color: var(--color-text);
  font-size: 14px;
}
.preview-row .preview-value[data-v-49def3b0] {
  padding: 12px;
  background: var(--color-bg-layout);
  border-radius: 8px;
  font-size: 14px;
  line-height: 1.6;
}
.preview-row .content-preview[data-v-49def3b0] {
  max-height: 200px;
  overflow-y: auto;
}
/* ==================== Responsive - Tablet ==================== */
@media (max-width: 1200px) {
.card-grid[data-v-49def3b0] {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}
.hero-title[data-v-49def3b0] {
    font-size: 24px;
}
.hero-stat-value[data-v-49def3b0] {
    font-size: 22px;
}
}
/* ==================== Responsive - Mobile ==================== */
@media (max-width: 768px) {
.hero-content[data-v-49def3b0] {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}
.hero-title[data-v-49def3b0] {
    font-size: 22px;
}
.hero-subtitle[data-v-49def3b0] {
    font-size: 13px;
    margin-bottom: 20px;
}
.hero-stats[data-v-49def3b0] {
    gap: 16px;
}
.hero-stat-value[data-v-49def3b0] {
    font-size: 22px;
}
.hero-right[data-v-49def3b0] {
    flex-direction: row;
    width: 100%;
}
.hero-btn-primary[data-v-49def3b0],
  .hero-btn-default[data-v-49def3b0] {
    flex: 1;
    justify-content: center;
    height: 40px;
}
.filter-bar[data-v-49def3b0] {
    padding: 12px 16px;
}
.filter-bar-inner[data-v-49def3b0] {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
}
.filter-left[data-v-49def3b0] {
    flex-direction: column;
}
.filter-search[data-v-49def3b0] {
    max-width: 100%;
}
.filter-select[data-v-49def3b0] {
    width: 100%;
}
.card-grid[data-v-49def3b0] {
    grid-template-columns: 1fr;
    gap: 12px;
}
.pagination-wrapper[data-v-49def3b0] {
    justify-content: center;
}
.pagination-wrapper[data-v-49def3b0] .ant-pagination-options {
    display: none;
}
  /* Modal mobile fullscreen */
[data-v-49def3b0] .ant-modal {
    max-width: 100vw !important;
    margin: 0 !important;
    top: 0 !important;
    padding: 0 !important;
}
[data-v-49def3b0] .ant-modal-content {
    border-radius: 0 !important;
    display: flex;
    flex-direction: column;
}
[data-v-49def3b0] .ant-modal-body {
    flex: 1;
    overflow-y: auto;
    max-height: none !important;
}
.announcement-form-modal[data-v-49def3b0] .ant-modal-body {
    max-height: none !important;
    padding: 16px;
}
.announcement-preview-modal[data-v-49def3b0] .ant-modal-body {
    max-height: none !important;
    padding: 16px;
    overflow: visible;
}
.preview-content[data-v-49def3b0] {
    max-height: none;
    overflow: visible;
}
.preview-body[data-v-49def3b0] {
    overflow: visible;
    padding: 0;
    margin: 0;
}
.preview-media-info[data-v-49def3b0] {
    flex-direction: column;
    gap: 8px;
}
.display-config-items[data-v-49def3b0] {
    flex-direction: column;
    gap: 8px;
}
.template-list[data-v-49def3b0] {
    grid-template-columns: 1fr;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.filter-bar[data-v-49def3b0] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.pagination-wrapper[data-v-49def3b0] {
    padding: 12px;
}
}
/* ==================== Responsive - Small Mobile ==================== */
@media (max-width: 575px) {
.hero-title[data-v-49def3b0] {
    font-size: 20px;
}
.hero-right[data-v-49def3b0] {
    width: 100%;
}
.hero-stats[data-v-49def3b0] {
    flex-wrap: wrap;
    gap: 8px;
}
.hero-stat-divider[data-v-49def3b0] {
    display: none;
}
.hero-stat-value[data-v-49def3b0] {
    font-size: 18px;
}
.card-grid[data-v-49def3b0] {
    gap: 10px;
}
.hero-btn-primary[data-v-49def3b0],
  .hero-btn-default[data-v-49def3b0] {
    font-size: 12px;
    padding: 0 16px;
}
.filter-bar[data-v-49def3b0] {
    padding: 10px 12px;
}
.filter-search[data-v-49def3b0] {
    font-size: 13px;
}
.filter-select[data-v-49def3b0] {
    font-size: 13px;
}
.card-title[data-v-49def3b0] {
    font-size: 14px;
}
.card-tag[data-v-49def3b0] {
    font-size: 10px;
    padding: 0 4px;
    line-height: 18px;
}
.pagination-wrapper[data-v-49def3b0] .ant-pagination-item {
    min-width: 28px;
    height: 28px;
    line-height: 28px;
    font-size: 12px;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.filter-bar[data-v-49def3b0] {
    padding: 12px;
}
}
.template-container[data-v-f3b47a16] {
  padding: 24px;
  background: var(--color-bg-layout);
}
@media (max-width: 768px) {
.template-container[data-v-f3b47a16] {
    padding: 12px;
}
}
.page-header[data-v-f3b47a16] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 12px;
}
.page-title[data-v-f3b47a16] {
  margin: 0;
  font-size: 24px;
  font-weight: 600;
  color: var(--color-text);
}
.page-description[data-v-f3b47a16] {
  margin: 8px 0 0;
  color: var(--color-text-secondary);
  font-size: 14px;
}
.filter-card[data-v-f3b47a16] {
  margin-bottom: 24px;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.template-grid[data-v-f3b47a16] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  gap: 20px;
}
.template-card[data-v-f3b47a16] {
  border-radius: 12px;
  transition: all 0.3s ease;
  border: 1px solid var(--color-border-light);
  overflow: hidden;
}
.template-card[data-v-f3b47a16]:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  transform: translateY(-4px);
}
.template-card.is-built-in[data-v-f3b47a16] {
  border-color: var(--color-primary);
  border-width: 2px;
}
.card-header[data-v-f3b47a16] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}
.card-title-row[data-v-f3b47a16] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.template-name[data-v-f3b47a16] {
  font-weight: 600;
  font-size: 16px;
  color: var(--color-text);
}
.card-content[data-v-f3b47a16] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.template-description[data-v-f3b47a16] {
  color: var(--color-text-secondary);
  font-size: 13px;
  margin: 0;
  line-height: 1.5;
}
.template-preview[data-v-f3b47a16] {
  padding: 12px;
  background: var(--color-bg-layout);
  border-radius: 8px;
}
.preview-label[data-v-f3b47a16] {
  font-size: 12px;
  color: var(--color-text-quaternary);
  margin-bottom: 4px;
}
.preview-title[data-v-f3b47a16] {
  font-size: 14px;
  color: var(--color-text);
  font-weight: 500;
}
.placeholder-tags[data-v-f3b47a16] {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
}
.placeholder-label[data-v-f3b47a16] {
  font-size: 12px;
  color: var(--color-text-secondary);
}
.placeholder-tag[data-v-f3b47a16] {
  background: var(--color-primary-bg);
  color: var(--color-primary);
  border: none;
}
.default-config[data-v-f3b47a16] {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.default-config .config-item[data-v-f3b47a16] {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: var(--color-text-secondary);
}
.empty-state[data-v-f3b47a16] {
  padding: 60px 0;
  background: var(--color-bg-container);
  border-radius: 12px;
}
/* 预览弹窗样式 */
.template-preview-modal[data-v-f3b47a16] .ant-modal-body {
  max-height: 70vh;
  overflow-y: auto;
}
.preview-content[data-v-f3b47a16] {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.preview-section h4[data-v-f3b47a16] {
  margin: 0 0 12px;
  font-size: 15px;
  font-weight: 600;
  color: var(--color-text);
}
.preview-box[data-v-f3b47a16] {
  padding: 16px;
  background: var(--color-bg-layout);
  border-radius: 8px;
  border: 1px solid var(--color-border-light);
  font-size: 14px;
  line-height: 1.6;
}
@media (max-width: 768px) {
.preview-box[data-v-f3b47a16] {
    padding: 12px;
}
}
.preview-box.content-box[data-v-f3b47a16] {
  max-height: 300px;
  overflow-y: auto;
}
.config-preview[data-v-f3b47a16] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.config-preview .config-item[data-v-f3b47a16] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: var(--color-text);
}
.preview-actions[data-v-f3b47a16] {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 12px;
}
/* 使用模板弹窗样式 */
.use-template-content[data-v-f3b47a16] {
  max-height: 60vh;
  overflow-y: auto;
}
.result-preview[data-v-f3b47a16] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.preview-item[data-v-f3b47a16] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.preview-item label[data-v-f3b47a16] {
  font-weight: 500;
  color: var(--color-text);
  font-size: 14px;
}
.preview-value[data-v-f3b47a16] {
  padding: 12px;
  background: var(--color-bg-layout);
  border-radius: 8px;
  font-size: 14px;
  line-height: 1.6;
}
.preview-value.content-value[data-v-f3b47a16] {
  max-height: 200px;
  overflow-y: auto;
}
/* 表单样式 */
.form-tip[data-v-f3b47a16] {
  margin-top: 4px;
  font-size: 12px;
  color: var(--color-text-secondary);
}
/* 响应式 */
@media (max-width: 768px) {
.template-container[data-v-f3b47a16] {
    padding: 16px;
}
.page-header[data-v-f3b47a16] {
    flex-direction: column;
    gap: 16px;
}
.header-actions[data-v-f3b47a16] {
    width: 100%;
}
.template-grid[data-v-f3b47a16] {
    grid-template-columns: 1fr;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.template-container[data-v-f3b47a16] {
    padding: 12px;
}
}
/* 移动端卡片视图样式 */
.mobile-card-list[data-v-f3b47a16] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.mobile-card[data-v-f3b47a16] {
  background: #fff;
  border-radius: 8px;
  padding: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.mobile-card-field[data-v-f3b47a16] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 0;
  border-bottom: 1px solid #f5f5f5;
}
.mobile-card-field[data-v-f3b47a16]:last-child {
  border-bottom: none;
}
.mobile-card-label[data-v-f3b47a16] {
  font-size: 13px;
  color: #666;
  flex-shrink: 0;
}
.mobile-card-value[data-v-f3b47a16] {
  font-size: 13px;
  color: #333;
  text-align: right;
  word-break: break-all;
  max-width: 60%;
}
.user-announcements-page[data-v-d8e6ec35] {
  padding: 16px;
}
@media (max-width: 768px) {
.user-announcements-page[data-v-d8e6ec35] {
    padding: 12px;
}
}
.page-header[data-v-d8e6ec35] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 12px;
}
.page-title[data-v-d8e6ec35] {
  margin: 0;
  font-size: 20px;
  font-weight: 600;
  color: var(--color-text);
}
.page-desc[data-v-d8e6ec35] {
  margin: 4px 0 0;
  font-size: 13px;
  color: var(--color-text-secondary);
}
/* 筛选栏 */
.filter-bar[data-v-d8e6ec35] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.filter-search[data-v-d8e6ec35] {
  width: 280px;
}
.filter-desktop[data-v-d8e6ec35] {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.filter-mobile[data-v-d8e6ec35] {
  display: none;
  gap: 8px;
  width: 100%;
}
/* 公告卡片列表 */
.announcement-list[data-v-d8e6ec35] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.announcement-card[data-v-d8e6ec35] {
  background: var(--color-bg-container);
  border: 1px solid var(--color-border-secondary);
  border-radius: 10px;
  padding: 16px 20px;
  cursor: pointer;
  transition: all 0.25s;
}
@media (max-width: 768px) {
.announcement-card[data-v-d8e6ec35] {
    padding: 12px;
}
}
.announcement-card[data-v-d8e6ec35]:hover {
  border-color: #1677ff;
  box-shadow: 0 2px 12px rgba(22, 119, 255, 0.1);
  transform: translateY(-1px);
}
.announcement-card.is-unread[data-v-d8e6ec35] {
  border-left: 3px solid #1677ff;
}
.announcement-card.is-top[data-v-d8e6ec35] {
  border-left: 3px solid #ff4d4f;
}
.card-header[data-v-d8e6ec35] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.card-tags[data-v-d8e6ec35] {
  display: flex;
  align-items: center;
  gap: 6px;
}
.card-time[data-v-d8e6ec35] {
  font-size: 12px;
  color: var(--color-text-quaternary);
}
.card-title[data-v-d8e6ec35] {
  margin: 0 0 6px;
  font-size: 15px;
  font-weight: 600;
  color: var(--color-text);
  line-height: 1.5;
}
.announcement-card.is-unread .card-title[data-v-d8e6ec35] {
  color: var(--color-text);
}
.card-summary[data-v-d8e6ec35] {
  margin: 0 0 10px;
  font-size: 13px;
  color: var(--color-text-secondary);
  line-height: 1.6;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.card-footer[data-v-d8e6ec35] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.card-views[data-v-d8e6ec35] {
  font-size: 12px;
  color: var(--color-text-quaternary);
  display: flex;
  align-items: center;
  gap: 4px;
}
/* 分页 */
.pagination-wrapper[data-v-d8e6ec35] {
  display: flex;
  justify-content: center;
  margin-top: 24px;
}
/* 公告详情弹窗 */
.announcement-detail .detail-title-row[data-v-d8e6ec35] {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 8px;
}
.announcement-detail .detail-title[data-v-d8e6ec35] {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: var(--color-text);
  line-height: 1.4;
  flex: 1;
}
.announcement-detail .detail-meta[data-v-d8e6ec35] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 4px;
}
.announcement-detail .meta-time[data-v-d8e6ec35],
.announcement-detail .meta-views[data-v-d8e6ec35] {
  font-size: 12px;
  color: var(--color-text-quaternary);
  display: flex;
  align-items: center;
  gap: 4px;
}
.announcement-detail .detail-body[data-v-d8e6ec35] {
  line-height: 1.8;
  color: var(--color-text);
  word-break: break-word;
}
.announcement-detail .detail-body[data-v-d8e6ec35] img {
  max-width: 100%;
  border-radius: 8px;
}
.announcement-detail .detail-body[data-v-d8e6ec35] p {
  margin-bottom: 12px;
}
/* 媒体文件区域 */
.detail-media .media-header[data-v-d8e6ec35] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 500;
  color: var(--color-text);
  margin-bottom: 12px;
}
.detail-media .media-list[data-v-d8e6ec35] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.detail-media .media-item[data-v-d8e6ec35] {
  border-radius: 8px;
  overflow: hidden;
}
.detail-media .media-info[data-v-d8e6ec35] {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 0 0;
  font-size: 13px;
}
.detail-media .media-type-icon[data-v-d8e6ec35] {
  color: #1890ff;
  font-size: 14px;
  flex-shrink: 0;
}
.detail-media .media-name[data-v-d8e6ec35] {
  flex: 1;
  color: var(--color-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.detail-media .media-duration[data-v-d8e6ec35] {
  flex-shrink: 0;
  color: #8c8c8c;
  font-size: 12px;
  background: #f5f5f5;
  padding: 1px 6px;
  border-radius: 3px;
}
.detail-media .media-size[data-v-d8e6ec35] {
  flex-shrink: 0;
  color: #8c8c8c;
  font-size: 12px;
}
.detail-media .media-video-wrapper[data-v-d8e6ec35] {
  border-radius: 8px;
  overflow: hidden;
  background: #000;
}
.detail-media .media-video[data-v-d8e6ec35] {
  width: 100%;
  max-height: 360px;
  display: block;
  border-radius: 8px;
}
.detail-media .media-audio-wrapper[data-v-d8e6ec35] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: linear-gradient(135deg, #f0f5ff, #e6f4ff);
  border-radius: 8px;
}
.detail-media .media-audio-icon[data-v-d8e6ec35] {
  font-size: 28px;
  color: #1890ff;
  flex-shrink: 0;
}
.detail-media .media-audio-player[data-v-d8e6ec35] {
  flex: 1;
  min-width: 0;
}
.detail-media .media-audio[data-v-d8e6ec35] {
  width: 100%;
  border-radius: 4px;
}
/* 视频占位符 */
.detail-media .media-video-placeholder[data-v-d8e6ec35] {
  position: relative;
  width: 100%;
  height: 200px;
  background: linear-gradient(135deg, #1a1a2e, #16213e);
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.detail-media .video-placeholder-icon[data-v-d8e6ec35] {
  font-size: 48px;
  color: rgba(255, 255, 255, 0.8);
  margin-bottom: 12px;
}
.detail-media .video-placeholder-info[data-v-d8e6ec35] {
  text-align: center;
}
.detail-media .video-placeholder-name[data-v-d8e6ec35] {
  display: block;
  color: rgba(255, 255, 255, 0.9);
  font-size: 14px;
  font-weight: 500;
}
.detail-media .video-placeholder-hint[data-v-d8e6ec35] {
  display: block;
  color: rgba(255, 255, 255, 0.5);
  font-size: 12px;
  margin-top: 4px;
}
.detail-media .video-placeholder-thumb[data-v-d8e6ec35] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.3;
}
/* 音频占位符 */
.detail-media .media-audio-placeholder[data-v-d8e6ec35] {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
}
.detail-media .audio-placeholder-wave[data-v-d8e6ec35] {
  display: flex;
  align-items: center;
  gap: 3px;
  padding: 8px 12px;
  background: rgba(24, 144, 255, 0.1);
  border-radius: 20px;
}
.detail-media .wave-bar[data-v-d8e6ec35] {
  width: 4px;
  height: 16px;
  background: linear-gradient(180deg, #1890ff, #096dd9);
  border-radius: 2px;
  animation: waveAnimation-d8e6ec35 0.8s ease-in-out infinite;
}
@keyframes waveAnimation-d8e6ec35 {
0%,
  100% {
    height: 8px;
}
50% {
    height: 24px;
}
}
.detail-media .audio-placeholder-info[data-v-d8e6ec35] {
  flex: 1;
}
.detail-media .audio-placeholder-name[data-v-d8e6ec35] {
  display: block;
  color: var(--color-text);
  font-size: 14px;
  font-weight: 500;
}
.detail-media .audio-placeholder-hint[data-v-d8e6ec35] {
  display: block;
  color: #8c8c8c;
  font-size: 12px;
  margin-top: 2px;
}
/* 附件区域 */
.detail-attachments .attachments-header[data-v-d8e6ec35] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 500;
  color: var(--color-text);
  margin-bottom: 8px;
}
.detail-attachments .attachments-list[data-v-d8e6ec35] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.detail-attachments .attachment-item[data-v-d8e6ec35] {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  background: #fafafa;
  border-radius: 4px;
  font-size: 13px;
  transition: background 0.2s;
}
.detail-attachments .attachment-item[data-v-d8e6ec35]:hover {
  background: #f0f0f0;
}
.detail-attachments .attachment-name[data-v-d8e6ec35] {
  flex: 1;
  color: #1890ff;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.detail-attachments .attachment-name[data-v-d8e6ec35]:hover {
  text-decoration: underline;
}
.detail-attachments .attachment-size[data-v-d8e6ec35] {
  flex-shrink: 0;
  color: #8c8c8c;
  font-size: 12px;
}
/* 响应式 */
@media (max-width: 768px) {
.user-announcements-page[data-v-d8e6ec35] {
    padding: 12px;
}
.page-header[data-v-d8e6ec35] {
    flex-direction: column;
    gap: 8px;
}
.page-title[data-v-d8e6ec35] {
    font-size: 18px;
}
.filter-bar[data-v-d8e6ec35] {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
}
.filter-search[data-v-d8e6ec35] {
    width: 100% !important;
}
.filter-desktop[data-v-d8e6ec35] {
    display: none;
}
.filter-mobile[data-v-d8e6ec35] {
    display: flex;
}
.announcement-card[data-v-d8e6ec35] {
    padding: 12px 14px;
    border-radius: 8px;
}
.card-header[data-v-d8e6ec35] {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    margin-bottom: 6px;
}
.card-time[data-v-d8e6ec35] {
    order: -1;
    align-self: flex-end;
}
.card-title[data-v-d8e6ec35] {
    font-size: 14px;
}
.card-summary[data-v-d8e6ec35] {
    font-size: 12px;
    line-clamp: 2;
    margin-bottom: 8px;
}
.card-footer[data-v-d8e6ec35] {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
}
.card-footer .ant-btn[data-v-d8e6ec35] {
    padding: 0;
    font-size: 13px;
}
.pagination-wrapper[data-v-d8e6ec35] {
    margin-top: 16px;
}
.pagination-wrapper[data-v-d8e6ec35] .ant-pagination {
    text-align: center;
}
.pagination-wrapper[data-v-d8e6ec35] .ant-pagination-options {
    display: none;
}
  /* 弹窗移动端适配 */
.announcement-detail .detail-meta[data-v-d8e6ec35] {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}
.announcement-detail .detail-title[data-v-d8e6ec35] {
    font-size: 16px;
}
.detail-media .media-video[data-v-d8e6ec35] {
    max-height: 240px;
}
.detail-media .media-audio-wrapper[data-v-d8e6ec35] {
    padding: 10px 12px;
}
.detail-media .media-audio-icon[data-v-d8e6ec35] {
    font-size: 22px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.user-announcements-page[data-v-d8e6ec35] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.announcement-card[data-v-d8e6ec35] {
    padding: 12px;
}
}
@media (max-width: 575px) {
.card-tags[data-v-d8e6ec35] {
    flex-wrap: wrap;
}
.card-summary[data-v-d8e6ec35] {
    line-clamp: 1;
}
}
.announcement-analytics[data-v-51ed7d11] {
  padding: 24px;
  background: var(--color-bg-layout);
}
@media (max-width: 768px) {
.announcement-analytics[data-v-51ed7d11] {
    padding: 12px;
}
}
.page-header[data-v-51ed7d11] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.page-header h2[data-v-51ed7d11] {
  margin: 0;
  font-size: 20px;
  font-weight: 600;
  color: var(--color-text);
}
.header-actions[data-v-51ed7d11] {
  display: flex;
  gap: 12px;
}
/* 概览卡片 */
.overview-cards[data-v-51ed7d11] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 24px;
}
.overview-card[data-v-51ed7d11] {
  background: var(--color-bg-container);
  border-radius: 12px;
  padding: 20px;
  display: flex;
  align-items: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  transition: all 0.3s;
}
.overview-card[data-v-51ed7d11]:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}
.card-icon[data-v-51ed7d11] {
  width: 56px;
  height: 56px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  color: white;
  margin-right: 16px;
}
.card-content[data-v-51ed7d11] {
  flex: 1;
}
.card-value[data-v-51ed7d11] {
  font-size: 28px;
  font-weight: 700;
  color: var(--color-text);
  line-height: 1.2;
}
.card-label[data-v-51ed7d11] {
  font-size: 14px;
  color: var(--color-text-secondary);
  margin-top: 4px;
}
/* 分析卡片 */
.analytics-card[data-v-51ed7d11] {
  margin-bottom: 24px;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.analytics-card[data-v-51ed7d11] .ant-card-head {
  border-bottom: 1px solid var(--color-border-light);
}
/* 漏斗图 */
.funnel-container[data-v-51ed7d11] {
  display: flex;
  gap: 40px;
}
.funnel-chart[data-v-51ed7d11] {
  flex: 1;
}
.funnel-stage[data-v-51ed7d11] {
  display: flex;
  align-items: center;
  margin-bottom: 16px;
}
.funnel-bar-wrapper[data-v-51ed7d11] {
  flex: 1;
  margin-right: 16px;
}
.funnel-bar[data-v-51ed7d11] {
  height: 36px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-right: 12px;
  transition: width 0.5s ease;
}
.funnel-value[data-v-51ed7d11] {
  color: white;
  font-weight: 600;
  font-size: 14px;
}
.funnel-info[data-v-51ed7d11] {
  width: 120px;
}
.funnel-label[data-v-51ed7d11] {
  font-size: 14px;
  color: var(--color-text);
  font-weight: 500;
}
.funnel-rate[data-v-51ed7d11] {
  font-size: 12px;
  color: var(--color-text-secondary);
  display: flex;
  align-items: center;
  gap: 4px;
}
.funnel-summary[data-v-51ed7d11] {
  width: 180px;
  padding: 16px;
  background: var(--color-bg-layout);
  border-radius: 8px;
}
@media (max-width: 768px) {
.funnel-summary[data-v-51ed7d11] {
    padding: 12px;
}
}
.summary-item[data-v-51ed7d11] {
  display: flex;
  align-items: center;
  margin-bottom: 12px;
}
.summary-item[data-v-51ed7d11]:last-child {
  margin-bottom: 0;
}
.summary-dot[data-v-51ed7d11] {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  margin-right: 12px;
}
.summary-content[data-v-51ed7d11] {
  flex: 1;
}
.summary-label[data-v-51ed7d11] {
  font-size: 12px;
  color: var(--color-text-secondary);
}
.summary-value[data-v-51ed7d11] {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-text);
}
/* 趋势图 */
.trend-chart-container[data-v-51ed7d11] {
  padding: 16px 0;
}
@media (max-width: 768px) {
.trend-chart-container[data-v-51ed7d11] {
    padding: 12px;
}
}
.trend-chart[data-v-51ed7d11] {
  display: flex;
  height: 250px;
}
.chart-y-axis[data-v-51ed7d11] {
  width: 50px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-right: 8px;
  font-size: 12px;
  color: var(--color-text-secondary);
  text-align: right;
}
.chart-area[data-v-51ed7d11] {
  flex: 1;
  position: relative;
  border-left: 1px solid var(--color-border-light);
  border-bottom: 1px solid var(--color-border-light);
}
.chart-grid[data-v-51ed7d11] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.grid-line[data-v-51ed7d11] {
  border-top: 1px dashed var(--color-border-light);
}
.chart-bars[data-v-51ed7d11] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: flex-end;
  padding: 0 4px;
}
.bar-group[data-v-51ed7d11] {
  display: flex;
  justify-content: center;
  gap: 2px;
  align-items: flex-end;
  height: 100%;
}
.bar[data-v-51ed7d11] {
  width: 8px;
  min-height: 2px;
  border-radius: 2px 2px 0 0;
  position: relative;
  transition: height 0.3s ease;
}
.bar-read[data-v-51ed7d11] {
  background: #1890ff;
}
.bar-display[data-v-51ed7d11] {
  background: #52c41a;
}
.bar-tooltip[data-v-51ed7d11] {
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.75);
  color: white;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 12px;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s;
}
.bar:hover .bar-tooltip[data-v-51ed7d11] {
  opacity: 1;
}
.chart-x-axis[data-v-51ed7d11] {
  display: flex;
  margin-left: 50px;
  padding-top: 8px;
}
.x-label[data-v-51ed7d11] {
  text-align: center;
  font-size: 11px;
  color: var(--color-text-secondary);
}
.chart-legend[data-v-51ed7d11] {
  display: flex;
  justify-content: center;
  gap: 24px;
  margin-top: 16px;
}
.legend-item[data-v-51ed7d11] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--color-text-secondary);
}
.legend-color[data-v-51ed7d11] {
  width: 16px;
  height: 4px;
  border-radius: 2px;
}
/* 受众分析 */
.audience-chart[data-v-51ed7d11] {
  padding: 8px 0;
}
.audience-item[data-v-51ed7d11] {
  display: flex;
  align-items: center;
  margin-bottom: 16px;
}
.audience-item[data-v-51ed7d11]:last-child {
  margin-bottom: 0;
}
.audience-label[data-v-51ed7d11] {
  width: 140px;
  display: flex;
  justify-content: space-between;
  margin-right: 12px;
}
.role-name[data-v-51ed7d11],
.dept-name[data-v-51ed7d11] {
  font-size: 14px;
  color: var(--color-text);
}
.role-count[data-v-51ed7d11],
.dept-count[data-v-51ed7d11] {
  font-size: 12px;
  color: var(--color-text-secondary);
}
.audience-bar-wrapper[data-v-51ed7d11] {
  flex: 1;
  height: 8px;
  background: var(--color-bg-layout);
  border-radius: 4px;
  overflow: hidden;
}
.audience-bar[data-v-51ed7d11] {
  height: 100%;
  background: linear-gradient(90deg, #1890ff, #40a9ff);
  border-radius: 4px;
  transition: width 0.5s ease;
}
.dept-bar[data-v-51ed7d11] {
  background: linear-gradient(90deg, #52c41a, #73d13d);
}
.audience-rate[data-v-51ed7d11] {
  width: 50px;
  text-align: right;
  font-size: 14px;
  font-weight: 500;
  color: var(--color-text);
  margin-left: 12px;
}
/* 热力图 */
.heatmap-container[data-v-51ed7d11] {
  display: flex;
  gap: 8px;
}
.heatmap-y-axis[data-v-51ed7d11] {
  width: 40px;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  font-size: 12px;
  color: var(--color-text-secondary);
}
.heatmap-content[data-v-51ed7d11] {
  flex: 1;
}
.heatmap-x-axis[data-v-51ed7d11] {
  display: flex;
  justify-content: space-between;
  padding: 0 2px 8px;
  font-size: 10px;
  color: var(--color-text-secondary);
}
.heatmap-x-axis span[data-v-51ed7d11] {
  width: 20px;
  text-align: center;
}
.heatmap-grid[data-v-51ed7d11] {
  display: grid;
  grid-template-columns: repeat(24, 1fr);
  grid-template-rows: repeat(7, 1fr);
  gap: 2px;
}
.heatmap-cell[data-v-51ed7d11] {
  width: 100%;
  aspect-ratio: 1;
  border-radius: 2px;
  cursor: pointer;
  transition: transform 0.2s;
}
.heatmap-cell[data-v-51ed7d11]:hover {
  transform: scale(1.2);
  z-index: 1;
}
.heatmap-legend[data-v-51ed7d11] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
  justify-content: center;
}
.legend-label[data-v-51ed7d11] {
  font-size: 12px;
  color: var(--color-text-secondary);
}
.legend-scale[data-v-51ed7d11] {
  display: flex;
  gap: 2px;
}
.legend-scale span[data-v-51ed7d11] {
  width: 16px;
  height: 12px;
  border-radius: 2px;
}
/* 表格 */
.rate-cell[data-v-51ed7d11] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.rate-bar-wrapper[data-v-51ed7d11] {
  flex: 1;
  height: 6px;
  background: var(--color-bg-layout);
  border-radius: 3px;
  overflow: hidden;
}
.rate-bar[data-v-51ed7d11] {
  height: 100%;
  background: #1890ff;
  border-radius: 3px;
}
/* 详情弹窗 */
.detail-modal-content[data-v-51ed7d11] {
  padding: 16px 0;
}
@media (max-width: 768px) {
.detail-modal-content[data-v-51ed7d11] {
    padding: 12px;
}
}
.detail-stat-card[data-v-51ed7d11] {
  background: var(--color-bg-layout);
  border-radius: 8px;
  padding: 16px;
}
@media (max-width: 768px) {
.detail-stat-card[data-v-51ed7d11] {
    padding: 12px;
}
}
.stat-title[data-v-51ed7d11] {
  font-size: 14px;
  font-weight: 600;
  color: var(--color-text);
  margin-bottom: 16px;
}
.device-chart[data-v-51ed7d11] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.device-item[data-v-51ed7d11] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.device-name[data-v-51ed7d11] {
  width: 60px;
  font-size: 13px;
  color: var(--color-text);
}
.device-bar-wrapper[data-v-51ed7d11] {
  flex: 1;
  height: 8px;
  background: var(--color-bg-container);
  border-radius: 4px;
  overflow: hidden;
}
.device-bar[data-v-51ed7d11] {
  height: 100%;
  background: #1890ff;
  border-radius: 4px;
}
.device-percent[data-v-51ed7d11] {
  width: 50px;
  text-align: right;
  font-size: 13px;
  color: var(--color-text-secondary);
}
.engagement-stats[data-v-51ed7d11] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.engagement-item[data-v-51ed7d11] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.engagement-item .anticon[data-v-51ed7d11] {
  font-size: 18px;
  color: #1890ff;
}
.engagement-label[data-v-51ed7d11] {
  flex: 1;
  font-size: 13px;
  color: var(--color-text-secondary);
}
.engagement-value[data-v-51ed7d11] {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-text);
}
/* 响应式 */
@media (max-width: 1200px) {
.overview-cards[data-v-51ed7d11] {
    grid-template-columns: repeat(2, 1fr);
}
.funnel-container[data-v-51ed7d11] {
    flex-direction: column;
}
.funnel-summary[data-v-51ed7d11] {
    width: 100%;
}
}
@media (max-width: 1200px) and (max-width: 768px) {
.funnel-summary[data-v-51ed7d11] {
    padding: 12px;
}
}
@media (max-width: 768px) {
.announcement-analytics[data-v-51ed7d11] {
    padding: 16px;
}
.page-header[data-v-51ed7d11] {
    flex-direction: column;
    gap: 12px;
    align-items: flex-start;
}
.header-actions[data-v-51ed7d11] {
    width: 100%;
    flex-direction: column;
}
.overview-cards[data-v-51ed7d11] {
    grid-template-columns: 1fr;
}
.heatmap-container[data-v-51ed7d11] {
    flex-direction: column;
}
.heatmap-y-axis[data-v-51ed7d11] {
    flex-direction: row;
    width: 100%;
    justify-content: space-around;
    margin-bottom: 8px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.announcement-analytics[data-v-51ed7d11] {
    padding: 12px;
}
}
/* 移动端卡片视图样式 */
.mobile-card-list[data-v-51ed7d11] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 16px;
}
.mobile-card[data-v-51ed7d11] {
  background: #fff;
  border-radius: 12px;
  border: 1px solid #f0f0f0;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.mobile-card-header[data-v-51ed7d11] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: #fafafa;
  border-bottom: 1px solid #f0f0f0;
}
.mobile-card-icon[data-v-51ed7d11] {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.mobile-card-info[data-v-51ed7d11] {
  flex: 1;
  min-width: 0;
}
.mobile-card-name[data-v-51ed7d11] {
  font-size: 15px;
  font-weight: 600;
  color: #262626;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mobile-card-code[data-v-51ed7d11] {
  font-size: 12px;
  color: #8c8c8c;
  font-family: monospace;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mobile-card-body[data-v-51ed7d11] {
  padding: 12px 16px;
}
.mobile-card-field[data-v-51ed7d11] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 8px 0;
  border-bottom: 1px solid #fafafa;
}
.mobile-card-field[data-v-51ed7d11]:last-child {
  border-bottom: none;
}
.mobile-card-label[data-v-51ed7d11] {
  font-size: 12px;
  color: #999;
  flex-shrink: 0;
}
.mobile-card-value[data-v-51ed7d11] {
  font-size: 13px;
  color: #595959;
  text-align: right;
  word-break: break-all;
  flex: 1;
  margin-left: 12px;
}
.mobile-card-rate[data-v-51ed7d11] {
  flex: 1;
  height: 6px;
  background: #f0f0f0;
  border-radius: 3px;
  overflow: hidden;
  margin-left: 12px;
}
.mobile-card-rate-bar[data-v-51ed7d11] {
  height: 100%;
  background: #1890ff;
  border-radius: 3px;
}
.mobile-card-actions[data-v-51ed7d11] {
  display: flex;
  justify-content: flex-end;
  gap: 4px;
  padding: 8px 12px;
  border-top: 1px solid #f0f0f0;
  background: #fafafa;
}
.menu-management-page[data-v-a2092058] {
  background: var(--color-bg-layout);
  min-height: 100%;
  padding: var(--spacing-4);
}
.hero-bg-decoration[data-v-a2092058] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-a2092058] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-a2092058] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-a2092058] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-a2092058] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-a2092058] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-dot[data-v-a2092058] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-a2092058] {
  top: 20%;
  right: 25%;
}
.hero-content[data-v-a2092058] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-a2092058] {
  flex: 1;
}
.hero-title[data-v-a2092058] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-a2092058] {
  margin: 0 0 16px;
  font-size: 14px;
  opacity: 0.85;
  max-width: 600px;
}
.hero-stats[data-v-a2092058] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.hero-stat[data-v-a2092058] {
  display: flex;
  flex-direction: column;
}
.hero-stat-value[data-v-a2092058] {
  font-size: 22px;
  font-weight: 700;
}
.hero-stat-label[data-v-a2092058] {
  font-size: 12px;
  opacity: 0.7;
}
.hero-stat-divider[data-v-a2092058] {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.25);
}
.hero-right[data-v-a2092058] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
.filter-section[data-v-a2092058] {
  background: #fff;
  border-radius: var(--radius-lg);
  padding: 16px 20px;
  margin-bottom: var(--spacing-4);
}
@media (max-width: 768px) {
.filter-section[data-v-a2092058] {
    padding: 12px;
}
}
.table-cell-content[data-v-a2092058] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.table-cell-title[data-v-a2092058] {
  font-weight: 600;
  font-size: 14px;
  display: flex;
  align-items: center;
}
.table-cell-subtitle[data-v-a2092058] {
  font-size: 12px;
  color: var(--color-text-tertiary);
}
@media (max-width: 768px) {
.menu-management-page[data-v-a2092058] {
    padding: var(--spacing-3);
}
.hero-content[data-v-a2092058] {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}
.hero-title[data-v-a2092058] {
    font-size: 20px !important;
}
.hero-desc[data-v-a2092058] {
    font-size: 13px !important;
}
.hero-stats[data-v-a2092058] {
    gap: 12px !important;
}
.hero-stat-value[data-v-a2092058] {
    font-size: 18px !important;
}
.hero-stat-label[data-v-a2092058] {
    font-size: 11px !important;
}
.hero-right[data-v-a2092058] {
    width: 100%;
    flex-wrap: wrap;
}
.hero-btn-primary[data-v-a2092058],
  .hero-btn-default[data-v-a2092058] {
    flex: 1;
    min-width: calc(50% - 6px);
    justify-content: center;
}
.filter-section[data-v-a2092058] {
    padding: 12px 16px;
}
[data-v-a2092058] .ant-table {
    font-size: 13px;
}
[data-v-a2092058] .ant-table-thead > tr > th {
    padding: 8px 12px;
    font-size: 12px;
}
[data-v-a2092058] .ant-table-tbody > tr > td {
    padding: 10px 12px;
}
[data-v-a2092058] .ant-btn {
    min-height: 44px;
    min-width: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
}
[data-v-a2092058] .ant-input {
    height: 44px !important;
    font-size: 14px !important;
}
[data-v-a2092058] .ant-modal {
    max-width: 100vw !important;
    margin: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 100vh !important;
}
[data-v-a2092058] .ant-modal-content {
    border-radius: 0 !important;
    display: flex;
    flex-direction: column;
}
[data-v-a2092058] .ant-modal-body {
    flex: 1;
    overflow-y: auto;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.filter-section[data-v-a2092058] {
    padding: 12px;
}
}
.filter-actions-col[data-v-a2092058] {
  display: flex;
  justify-content: flex-end;
}
/* ==================== 移动端卡片样式 ==================== */
.mobile-card-list[data-v-a2092058] {
  display: none;
}
@media (max-width: 768px) {
.mobile-card-list[data-v-a2092058] {
    display: block;
    padding: 0;
    margin: 0;
}
.mobile-card[data-v-a2092058] {
    background: #fff;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.mobile-card--child[data-v-a2092058] {
    margin-left: 16px;
    background: #fafbfc;
}
.mobile-card__header[data-v-a2092058] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 12px;
}
.mobile-card__title[data-v-a2092058] {
    font-size: 14px;
    font-weight: 600;
    color: #1a1a1a;
    flex: 1;
    margin-right: 8px;
    word-break: break-word;
}
.mobile-card__body[data-v-a2092058] {
    margin-bottom: 12px;
}
.mobile-card__field[data-v-a2092058] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 0;
    border-bottom: 1px solid #f5f5f5;
}
.mobile-card__field[data-v-a2092058]:last-child {
    border-bottom: none;
}
.mobile-card__field-label[data-v-a2092058] {
    font-size: 13px;
    color: #8c8c8c;
}
.mobile-card__field-value[data-v-a2092058] {
    font-size: 13px;
    color: #333;
    text-align: right;
    max-width: 60%;
    word-break: break-word;
}
.mobile-card__footer[data-v-a2092058] {
    padding-top: 8px;
    border-top: 1px solid #f0f0f0;
}
.mobile-card__footer[data-v-a2092058] .ant-btn {
    min-height: auto;
    min-width: auto;
}
}
.page-selector[data-v-0a726d2c] {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.page-selector__card[data-v-0a726d2c] {
  border: 1px solid var(--color-border-secondary, #f0f0f0);
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}
.page-selector__card-header[data-v-0a726d2c] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background: var(--color-fill-quaternary, #fafafa);
  border-bottom: 1px solid var(--color-border-secondary, #f0f0f0);
}
.page-selector__card-title[data-v-0a726d2c] {
  font-weight: 600;
  color: var(--color-text-primary, rgba(0, 0, 0, 0.88));
  font-size: 14px;
}
.page-selector__card-body[data-v-0a726d2c] {
  padding: 16px;
}
.page-selector__manual-toggle[data-v-0a726d2c] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.page-selector__manual-label[data-v-0a726d2c] {
  font-size: 12px;
  color: var(--color-text-secondary, rgba(0, 0, 0, 0.45));
}
.page-selector__path[data-v-0a726d2c] {
  background: var(--color-fill-quaternary, #fafafa);
  border-radius: 6px;
  padding: 8px;
}
.menu-management-edit-page[data-v-c309e826] {
  padding: var(--spacing-4);
  min-height: 100%;
  background: var(--color-bg-layout);
}
.highlights-panel[data-v-c309e826] {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  border-radius: var(--radius-xl);
  padding: 24px 32px;
  color: #fff;
  margin-bottom: var(--spacing-4);
  position: relative;
  overflow: hidden;
}
/* 几何图形装饰 */
.highlights-bg-decoration[data-v-c309e826] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-c309e826] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-c309e826] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-c309e826] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-c309e826] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-c309e826] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-c309e826] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-c309e826] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-c309e826] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-c309e826] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-c309e826] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
.highlights-content[data-v-c309e826] {
  display: flex;
  justify-content: space-between;
}
.highlights-left h2[data-v-c309e826] {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: white;
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-meta[data-v-c309e826] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  font-size: 13px;
  opacity: 0.85;
}
.highlights-tag[data-v-c309e826] {
  background: rgba(255, 255, 255, 0.2) !important;
  border: none !important;
  color: #fff !important;
  font-size: 12px;
  padding: 2px 10px;
}
.highlights-right[data-v-c309e826] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-action-btn[data-v-c309e826] {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
}
.highlights-action-btn[data-v-c309e826]:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.5);
}
.form-content[data-v-c309e826] {
  max-width: 1200px;
  padding-bottom: 60px;
}
.fixed-actions[data-v-c309e826] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 12px;
  background: #fff;
  border-top: 1px solid var(--color-border-secondary);
  display: flex;
  justify-content: flex-end;
  z-index: 100;
}
.info-section[data-v-c309e826] {
  margin-bottom: 24px;
  border: 1px solid var(--color-border-secondary);
  border-radius: 10px;
  overflow: hidden;
}
.section-header[data-v-c309e826] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 20px;
  background: var(--color-fill-quaternary);
  border-bottom: 1px solid var(--color-border-secondary);
  font-weight: 600;
  color: var(--color-text-primary);
}
.section-body[data-v-c309e826] {
  padding: 16px 20px;
}
@media (max-width: 768px) {
.section-body[data-v-c309e826] {
    padding: 12px;
}
.highlights-bg-decoration[data-v-c309e826] {
    display: none;
}
}
.form-item-help[data-v-c309e826] {
  font-size: 12px;
  color: var(--color-text-secondary, #999);
  margin-top: 4px;
}
.permission-center[data-v-1714e427] {
  height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--color-bg-layout);
}
.page-header[data-v-1714e427] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #fff;
  border-bottom: 1px solid #e8e8e8;
}
.layout[data-v-1714e427] {
  flex: 1;
  display: flex;
  overflow: hidden;
}
.content[data-v-1714e427] {
  flex: 1;
  padding: 24px;
  overflow: auto;
}
.section-header[data-v-1714e427] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px;
  background: #fff;
  margin-bottom: 16px;
  border-radius: 8px;
}
@media (max-width: 768px) {
.section-header[data-v-1714e427] {
    padding: 12px;
}
}
.data-rule-item[data-v-1714e427] {
  padding: 16px;
  background: #fafafa;
  border-radius: 8px;
}
@media (max-width: 768px) {
.data-rule-item[data-v-1714e427] {
    padding: 12px;
}
}
.rule-code[data-v-1714e427] {
  font-family: 'SF Mono', Monaco, 'Courier New', monospace;
  font-size: 12px;
  background: #f5f5f5;
  padding: 2px 6px;
  border-radius: 4px;
  color: #d46b08;
}
/* 移动端卡片视图样式 */
.mobile-card-list[data-v-1714e427] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.mobile-card[data-v-1714e427] {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.mobile-card-header[data-v-1714e427] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #f0f0f0;
}
.mobile-card-title[data-v-1714e427] {
  font-weight: 600;
  font-size: 15px;
  color: #333;
}
.mobile-card-body[data-v-1714e427] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.mobile-card-field[data-v-1714e427] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.mobile-card-label[data-v-1714e427] {
  font-size: 12px;
  color: #666;
}
.mobile-card-value[data-v-1714e427] {
  font-size: 13px;
  color: #333;
}
.mobile-card-footer[data-v-1714e427] {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  border-top: 1px solid #f0f0f0;
  gap: 8px;
}
.stats-card[data-v-35da7882] {
  background: #fff;
  border-radius: 8px;
  transition: all 0.3s ease;
  overflow: hidden;
}
.stats-card[data-v-35da7882]:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}
.stats-card[data-v-35da7882] .ant-card-body {
  padding: 0 12px;
  background: #f5f6f9;
}
.stat-item[data-v-35da7882] {
  display: flex;
  align-items: center;
  padding: 12px 16px;
  background: white;
}
.stat-item .stat-icon[data-v-35da7882] {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  color: #fff;
  margin-right: 16px;
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease;
}
.stat-item .stat-icon[data-v-35da7882]:hover {
  transform: scale(1.05);
}
.stat-item .stat-content[data-v-35da7882] {
  min-width: 0;
}
.stat-item .stat-content .stat-value[data-v-35da7882] {
  font-size: 28px;
  font-weight: 600;
  color: #1f2937;
  line-height: 1.2;
}
.stat-item .stat-content .stat-label[data-v-35da7882] {
  font-size: 14px;
  color: #6b7280;
  margin-top: 4px;
}
@media (max-width: 575px) {
.stat-item .stat-icon[data-v-35da7882] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    font-size: 18px;
    margin-right: 12px;
}
.stat-item .stat-content .stat-value[data-v-35da7882] {
    font-size: 24px;
}
.stat-item .stat-content .stat-label[data-v-35da7882] {
    font-size: 12px;
}
}
.role-name[data-v-35da7882] {
  font-weight: 500;
}
.text-muted[data-v-35da7882] {
  color: #bfbfbf;
}
.stats-card[data-v-8b6c15a8] {
  background: #fff;
  border-radius: 8px;
  transition: all 0.3s ease;
  overflow: hidden;
}
.stats-card[data-v-8b6c15a8]:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}
.stats-card[data-v-8b6c15a8] .ant-card-body {
  padding: 0 12px;
  background: #f5f6f9;
}
.stat-item[data-v-8b6c15a8] {
  display: flex;
  align-items: center;
  padding: 12px 16px;
  background: white;
}
.stat-item .stat-icon[data-v-8b6c15a8] {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  color: #fff;
  margin-right: 16px;
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease;
}
.stat-item .stat-icon[data-v-8b6c15a8]:hover {
  transform: scale(1.05);
}
.stat-item .stat-content[data-v-8b6c15a8] {
  min-width: 0;
}
.stat-item .stat-content .stat-value[data-v-8b6c15a8] {
  font-size: 28px;
  font-weight: 600;
  color: #1f2937;
  line-height: 1.2;
}
.stat-item .stat-content .stat-label[data-v-8b6c15a8] {
  font-size: 14px;
  color: #6b7280;
  margin-top: 4px;
}
@media (max-width: 575px) {
.stat-item .stat-icon[data-v-8b6c15a8] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    font-size: 18px;
    margin-right: 12px;
}
.stat-item .stat-content .stat-value[data-v-8b6c15a8] {
    font-size: 24px;
}
.stat-item .stat-content .stat-label[data-v-8b6c15a8] {
    font-size: 12px;
}
}
.policy-name[data-v-8b6c15a8] {
  font-weight: 500;
}
.text-muted[data-v-8b6c15a8] {
  color: #bfbfbf;
}
.condition-row[data-v-8b6c15a8] {
  margin-bottom: 8px;
}
.simulator-result[data-v-8b6c15a8] {
  margin-top: 16px;
}
/* 移动端卡片样式 */
.mobile-card[data-v-8b6c15a8] {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}
.mobile-card .mobile-card-header[data-v-8b6c15a8] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #f0f0f0;
}
.mobile-card .mobile-card-title[data-v-8b6c15a8] {
  font-weight: 600;
  font-size: 15px;
  color: #262626;
}
.mobile-card .mobile-card-content[data-v-8b6c15a8] {
  margin-bottom: 12px;
}
.mobile-card .mobile-card-item[data-v-8b6c15a8] {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
  font-size: 13px;
}
.mobile-card .mobile-card-item .label[data-v-8b6c15a8] {
  color: #8c8c8c;
  margin-right: 8px;
  min-width: 80px;
}
.mobile-card .mobile-card-actions[data-v-8b6c15a8] {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding-top: 8px;
  border-top: 1px solid #f0f0f0;
}
.stats-card[data-v-6f581e9e] {
  background: #fff;
  border-radius: 8px;
  transition: all 0.3s ease;
  overflow: hidden;
}
.stats-card[data-v-6f581e9e]:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}
.stats-card[data-v-6f581e9e] .ant-card-body {
  padding: 0 12px;
  background: #f5f6f9;
}
.stat-item[data-v-6f581e9e] {
  display: flex;
  align-items: center;
  padding: 12px 16px;
  background: white;
}
.stat-item .stat-icon[data-v-6f581e9e] {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  color: #fff;
  margin-right: 16px;
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease;
}
.stat-item .stat-icon[data-v-6f581e9e]:hover {
  transform: scale(1.05);
}
.stat-item .stat-content[data-v-6f581e9e] {
  min-width: 0;
}
.stat-item .stat-content .stat-value[data-v-6f581e9e] {
  font-size: 28px;
  font-weight: 600;
  color: #1f2937;
  line-height: 1.2;
}
.stat-item .stat-content .stat-label[data-v-6f581e9e] {
  font-size: 14px;
  color: #6b7280;
  margin-top: 4px;
}
@media (max-width: 575px) {
.stat-item .stat-icon[data-v-6f581e9e] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    font-size: 18px;
    margin-right: 12px;
}
.stat-item .stat-content .stat-value[data-v-6f581e9e] {
    font-size: 24px;
}
.stat-item .stat-content .stat-label[data-v-6f581e9e] {
    font-size: 12px;
}
}
.rule-name[data-v-6f581e9e] {
  font-weight: 500;
}
.text-muted[data-v-6f581e9e] {
  color: #bfbfbf;
}
/* 移动端卡片样式 */
.mobile-card[data-v-6f581e9e] {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}
.mobile-card .mobile-card-header[data-v-6f581e9e] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #f0f0f0;
}
.mobile-card .mobile-card-title[data-v-6f581e9e] {
  font-weight: 600;
  font-size: 15px;
  color: #262626;
}
.mobile-card .mobile-card-content[data-v-6f581e9e] {
  margin-bottom: 12px;
}
.mobile-card .mobile-card-item[data-v-6f581e9e] {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
  font-size: 13px;
}
.mobile-card .mobile-card-item .label[data-v-6f581e9e] {
  color: #8c8c8c;
  margin-right: 8px;
  min-width: 80px;
}
.mobile-card .mobile-card-actions[data-v-6f581e9e] {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding-top: 8px;
  border-top: 1px solid #f0f0f0;
}
.stats-card[data-v-88b32789] {
  background: #fff;
  border-radius: 8px;
  transition: all 0.3s ease;
  overflow: hidden;
}
.stats-card[data-v-88b32789]:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}
.stats-card[data-v-88b32789] .ant-card-body {
  padding: 0 12px;
  background: #f5f6f9;
}
.stat-item[data-v-88b32789] {
  display: flex;
  align-items: center;
  padding: 12px 16px;
  background: white;
}
.stat-item .stat-icon[data-v-88b32789] {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  color: #fff;
  margin-right: 16px;
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease;
}
.stat-item .stat-icon[data-v-88b32789]:hover {
  transform: scale(1.05);
}
.stat-item .stat-content[data-v-88b32789] {
  min-width: 0;
}
.stat-item .stat-content .stat-value[data-v-88b32789] {
  font-size: 28px;
  font-weight: 600;
  color: #1f2937;
  line-height: 1.2;
}
.stat-item .stat-content .stat-label[data-v-88b32789] {
  font-size: 14px;
  color: #6b7280;
  margin-top: 4px;
}
@media (max-width: 575px) {
.stat-item .stat-icon[data-v-88b32789] {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    font-size: 16px;
    margin-right: 10px;
}
.stat-item .stat-content .stat-value[data-v-88b32789] {
    font-size: 18px;
}
.stat-item .stat-content .stat-label[data-v-88b32789] {
    font-size: 11px;
}
}
.rule-name[data-v-88b32789] {
  font-weight: 500;
}
.text-muted[data-v-88b32789] {
  color: #bfbfbf;
}
.test-result[data-v-88b32789] {
  margin-top: 16px;
}
/* 移动端卡片样式 */
.mobile-card[data-v-88b32789] {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}
.mobile-card .mobile-card-header[data-v-88b32789] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #f0f0f0;
}
.mobile-card .mobile-card-title[data-v-88b32789] {
  font-weight: 600;
  font-size: 15px;
  color: #262626;
}
.mobile-card .mobile-card-content[data-v-88b32789] {
  margin-bottom: 12px;
}
.mobile-card .mobile-card-item[data-v-88b32789] {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
  font-size: 13px;
}
.mobile-card .mobile-card-item .label[data-v-88b32789] {
  color: #8c8c8c;
  margin-right: 8px;
  min-width: 80px;
}
.mobile-card .mobile-card-actions[data-v-88b32789] {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding-top: 8px;
  border-top: 1px solid #f0f0f0;
}
.stats-card[data-v-1936a5c4] {
  background: #fff;
  border-radius: 8px;
  transition: all 0.3s ease;
  overflow: hidden;
}
.stats-card[data-v-1936a5c4]:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}
.stats-card[data-v-1936a5c4] .ant-card-body {
  padding: 0 12px;
  background: #f5f6f9;
}
.stat-item[data-v-1936a5c4] {
  display: flex;
  align-items: center;
  padding: 12px 16px;
  background: white;
}
.stat-item .stat-icon[data-v-1936a5c4] {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  color: #fff;
  margin-right: 16px;
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease;
}
.stat-item .stat-icon[data-v-1936a5c4]:hover {
  transform: scale(1.05);
}
.stat-item .stat-content[data-v-1936a5c4] {
  min-width: 0;
}
.stat-item .stat-content .stat-value[data-v-1936a5c4] {
  font-size: 28px;
  font-weight: 600;
  color: #1f2937;
  line-height: 1.2;
}
.stat-item .stat-content .stat-label[data-v-1936a5c4] {
  font-size: 14px;
  color: #6b7280;
  margin-top: 4px;
}
@media (max-width: 575px) {
.stat-item .stat-icon[data-v-1936a5c4] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    font-size: 18px;
    margin-right: 12px;
}
.stat-item .stat-content .stat-value[data-v-1936a5c4] {
    font-size: 24px;
}
.stat-item .stat-content .stat-label[data-v-1936a5c4] {
    font-size: 12px;
}
}
.action-icon[data-v-1936a5c4] {
  font-size: 16px;
}
.action-icon.login[data-v-1936a5c4],
.action-icon.create[data-v-1936a5c4],
.action-icon.grant[data-v-1936a5c4] {
  color: #52c41a;
}
.action-icon.update[data-v-1936a5c4] {
  color: #1890ff;
}
.action-icon.delete[data-v-1936a5c4] {
  color: #ff4d4f;
}
.action-icon.access[data-v-1936a5c4] {
  color: #722ed1;
}
.resource-name[data-v-1936a5c4] {
  color: #595959;
  max-width: 120px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.text-muted[data-v-1936a5c4] {
  color: #bfbfbf;
}
/* 移动端卡片样式 */
.mobile-card[data-v-1936a5c4] {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}
.mobile-card .mobile-card-header[data-v-1936a5c4] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #f0f0f0;
}
.mobile-card .mobile-card-title[data-v-1936a5c4] {
  font-weight: 600;
  font-size: 15px;
  color: #262626;
}
.mobile-card .mobile-card-content[data-v-1936a5c4] {
  margin-bottom: 12px;
}
.mobile-card .mobile-card-item[data-v-1936a5c4] {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
  font-size: 13px;
}
.mobile-card .mobile-card-item .label[data-v-1936a5c4] {
  color: #8c8c8c;
  margin-right: 8px;
  min-width: 80px;
}
.mobile-card .mobile-card-actions[data-v-1936a5c4] {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding-top: 8px;
  border-top: 1px solid #f0f0f0;
}
.notification-template-page[data-v-e10b55c3] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px 16px 24px;
}
/* 面包屑 */
.page-breadcrumb[data-v-e10b55c3] {
  font-size: 13px;
  padding-left: 8px;
}
/* ==================== 页面标题区 ==================== */
.page-hero[data-v-e10b55c3] {
  position: relative;
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  border-radius: 16px;
  padding: 24px 32px;
  margin-bottom: 4px;
  color: white;
  overflow: hidden;
  box-shadow: 0 8px 28px rgba(114, 46, 209, 0.22);
}
.hero-bg[data-v-e10b55c3] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-e10b55c3] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-e10b55c3] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-e10b55c3] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-e10b55c3] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-e10b55c3] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-e10b55c3] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-e10b55c3] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-e10b55c3] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-e10b55c3] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-e10b55c3] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.hero-left[data-v-e10b55c3] {
  display: flex;
  align-items: center;
  gap: 16px;
  flex: 1;
  min-width: 200px;
}
.hero-icon[data-v-e10b55c3] {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  color: white;
  flex-shrink: 0;
  backdrop-filter: blur(8px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.hero-text[data-v-e10b55c3] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.hero-title[data-v-e10b55c3] {
  margin: 0;
  font-size: 22px;
  font-weight: 700;
  color: white;
  letter-spacing: 0.3px;
  line-height: 1.2;
}
.hero-desc[data-v-e10b55c3] {
  margin: 0;
  font-size: 13px;
  opacity: 0.85;
  line-height: 1.4;
}
.hero-stats[data-v-e10b55c3] {
  display: flex;
  align-items: center;
  gap: 16px;
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 12px;
  padding: 12px 20px;
  backdrop-filter: blur(8px);
}
.stat-item[data-v-e10b55c3] {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 50px;
}
.stat-value[data-v-e10b55c3] {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.1;
}
.stat-label[data-v-e10b55c3] {
  font-size: 12px;
  opacity: 0.85;
  margin-top: 2px;
}
.stat-divider[data-v-e10b55c3] {
  width: 1px;
  height: 28px;
  background: rgba(255, 255, 255, 0.3);
}
/* ==================== 通道卡片 ==================== */
.channel-card[data-v-e10b55c3] {
  background: #fff;
  border-radius: 12px;
  padding: 12px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
  border: 1px solid #f0f0f0;
}
.channel-header[data-v-e10b55c3] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid #f0f0f0;
}
.channel-header-left[data-v-e10b55c3] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.channel-header-icon[data-v-e10b55c3] {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: linear-gradient(135deg, #1677ff 0%, #4096ff 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 18px;
  box-shadow: 0 2px 8px rgba(22, 119, 255, 0.2);
}
.channel-header-title[data-v-e10b55c3] {
  font-size: 16px;
  font-weight: 600;
  color: #1a1a1a;
}
.channel-header-desc[data-v-e10b55c3] {
  font-size: 12px;
  color: #8c8c8c;
  margin-top: 2px;
}
.channel-toggles[data-v-e10b55c3] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 12px;
}
.channel-toggle-item[data-v-e10b55c3] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: #fafafa;
  border: 1px solid #f0f0f0;
  border-radius: 10px;
  transition: all 0.2s ease;
  cursor: pointer;
}
.channel-toggle-item[data-v-e10b55c3]:hover {
  background: #f0f5ff;
  border-color: #d6e4ff;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(22, 119, 255, 0.08);
}
.channel-toggle-item.is-enabled[data-v-e10b55c3] {
  background: #f0f5ff;
  border-color: #b3d8ff;
}
.channel-icon-wrap[data-v-e10b55c3] {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 20px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  flex-shrink: 0;
  transition: transform 0.2s ease;
}
.channel-toggle-item:hover .channel-icon-wrap[data-v-e10b55c3] {
  transform: scale(1.05);
}
.channel-icon[data-v-e10b55c3] {
  font-size: 20px;
  line-height: 1;
}
.channel-info[data-v-e10b55c3] {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
}
.channel-label[data-v-e10b55c3] {
  font-size: 14px;
  font-weight: 500;
  color: #1a1a1a;
  line-height: 1.2;
}
.channel-status[data-v-e10b55c3] {
  font-size: 11px;
  color: #8c8c8c;
  margin-top: 2px;
}
.channel-toggle-item.is-enabled .channel-status[data-v-e10b55c3] {
  color: #52c41a;
}
/* ==================== 模板列表卡片 ==================== */
.template-card[data-v-e10b55c3] {
  background: #fff;
  border-radius: 12px;
  padding: 20px 24px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
  border: 1px solid #f0f0f0;
}
.template-toolbar[data-v-e10b55c3] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  flex-wrap: wrap;
  gap: 12px;
}
.create-btn[data-v-e10b55c3] {
  border: none;
  box-shadow: 0 2px 8px rgba(114, 46, 209, 0.25);
  transition: all 0.2s ease;
}
.create-btn[data-v-e10b55c3]:hover {
  box-shadow: 0 4px 12px rgba(114, 46, 209, 0.35) !important;
  transform: translateY(-1px);
}
.channel-option[data-v-e10b55c3] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
}
.channel-option-icon[data-v-e10b55c3] {
  display: inline-flex;
  align-items: center;
  font-size: 14px;
  line-height: 1;
}
/* 表格内的名称列 */
.template-name-cell[data-v-e10b55c3] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.template-name[data-v-e10b55c3] {
  font-weight: 500;
  color: #1a1a1a;
  font-size: 14px;
  line-height: 1.3;
}
.template-code[data-v-e10b55c3] {
  font-size: 11px;
  color: #999;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  background: #fafafa;
  padding: 1px 6px;
  border-radius: 3px;
  display: inline-block;
  width: fit-content;
}
.create-time-cell[data-v-e10b55c3] {
  font-family: 'SFMono-Regular', Consolas, monospace;
  font-size: 12px;
  color: #595959;
}
/* 通道标签 */
.channel-tag[data-v-e10b55c3] {
  border: none;
  border-radius: 12px;
  padding: 2px 10px;
  font-size: 12px;
}
.channel-tag-inner[data-v-e10b55c3] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
/* 表格 */
[data-v-e10b55c3] .template-table {
  border-radius: 8px;
  overflow: hidden;
}
[data-v-e10b55c3] .template-table .ant-table-thead > tr > th {
  background: #fafafa;
  font-weight: 600;
  color: #595959;
  font-size: 13px;
}
[data-v-e10b55c3] .template-table .ant-table-tbody > tr > td {
  border-bottom: 1px solid #f5f5f5;
}
[data-v-e10b55c3] .template-table .ant-table-tbody > tr:hover > td {
  background: #fafbff !important;
}
/* 操作按钮 */
.action-btn[data-v-e10b55c3] {
  border-radius: 6px;
  transition: all 0.2s ease;
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.action-btn--edit[data-v-e10b55c3] {
  color: #1677ff;
}
.action-btn--edit[data-v-e10b55c3]:hover {
  background: #e6f4ff !important;
  color: #1677ff !important;
}
.action-btn--copy[data-v-e10b55c3] {
  color: #722ed1;
}
.action-btn--copy[data-v-e10b55c3]:hover {
  background: #f4e9ff !important;
  color: #722ed1 !important;
}
.action-btn--enable[data-v-e10b55c3] {
  color: #52c41a;
}
.action-btn--enable[data-v-e10b55c3]:hover {
  background: #f6ffed !important;
  color: #52c41a !important;
}
.action-btn--disable[data-v-e10b55c3] {
  color: #faad14;
}
.action-btn--disable[data-v-e10b55c3]:hover {
  background: #fffbe6 !important;
  color: #faad14 !important;
}
.action-btn--delete[data-v-e10b55c3] {
  color: #ff4d4f;
}
.action-btn--delete[data-v-e10b55c3]:hover {
  background: #fff1f0 !important;
  color: #ff4d4f !important;
}
/* ==================== 编辑器弹窗 ==================== */
[data-v-e10b55c3] .editor-modal .ant-modal-content {
  border-radius: 12px;
  overflow: hidden;
}
[data-v-e10b55c3] .editor-modal .ant-modal-header {
  background: linear-gradient(135deg, #f9f0ff 0%, #fff 100%);
  border-bottom: 1px solid #f0f0f0;
  padding: 16px 24px;
  margin: 0;
}
[data-v-e10b55c3] .editor-modal .ant-modal-title {
  font-size: 16px;
  font-weight: 600;
  color: #531dab;
}
.channel-radio-btn[data-v-e10b55c3] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
/* 变量区 */
.variable-section[data-v-e10b55c3] {
  width: 100%;
}
.variable-buttons[data-v-e10b55c3] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.var-btn[data-v-e10b55c3] {
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  font-size: 12px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: auto;
  padding: 4px 10px;
  background: #f5f5f5;
  border-color: #e8e8e8;
  transition: all 0.2s ease;
}
.var-btn[data-v-e10b55c3]:hover {
  background: #e6f4ff;
  border-color: #91caff;
  color: #1677ff;
  transform: translateY(-1px);
}
.var-name[data-v-e10b55c3] {
  font-weight: 500;
  color: #1677ff;
}
.var-desc[data-v-e10b55c3] {
  color: #8c8c8c;
  font-size: 11px;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.var-btn:hover .var-desc[data-v-e10b55c3] {
  color: #4096ff;
}
/* 预览区 */
.preview-tabs[data-v-e10b55c3] {
  margin-top: 16px;
}
.preview-container[data-v-e10b55c3] {
  background: linear-gradient(135deg, #fafafa 0%, #f5f5f5 100%);
  border-radius: 8px;
  padding: 16px 20px;
  border: 1px solid #e8e8e8;
}
.preview-subject[data-v-e10b55c3] {
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px dashed #d9d9d9;
  font-size: 15px;
  color: #1a1a1a;
}
.preview-content[data-v-e10b55c3] {
  white-space: pre-wrap;
  word-break: break-all;
  line-height: 1.8;
  color: #262626;
  font-size: 14px;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.preview-legend[data-v-e10b55c3] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-top: 4px;
}
.legend-label[data-v-e10b55c3] {
  font-size: 12px;
  color: #8c8c8c;
  margin-right: 4px;
}
.sample-tag[data-v-e10b55c3] {
  font-family: 'SFMono-Regular', Consolas, monospace;
  font-size: 11px;
  border-radius: 12px;
}
.variable-table[data-v-e10b55c3] {
  margin-top: 4px;
}
/* ==================== 移动端 ==================== */
@media (max-width: 768px) {
.page-hero[data-v-e10b55c3] {
    padding: 20px;
}
.hero-title[data-v-e10b55c3] {
    font-size: 20px;
}
.hero-stats[data-v-e10b55c3] {
    padding: 8px 14px;
}
.stat-value[data-v-e10b55c3] {
    font-size: 16px;
}
.stat-label[data-v-e10b55c3] {
    font-size: 11px;
}
.channel-card[data-v-e10b55c3],
  .template-card[data-v-e10b55c3] {
    padding: 16px;
}
.channel-toggles[data-v-e10b55c3] {
    grid-template-columns: 1fr;
}
.template-toolbar[data-v-e10b55c3] {
    flex-direction: column;
    align-items: stretch;
}
.create-btn[data-v-e10b55c3] {
    width: 100%;
}
[data-v-e10b55c3] .ant-modal {
    max-width: 100vw !important;
    margin: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 100vh !important;
}
[data-v-e10b55c3] .ant-modal-content {
    border-radius: 0 !important;
    display: flex;
    flex-direction: column;
    padding: 0 !important;
}
[data-v-e10b55c3] .ant-modal-body {
    flex: 1;
    overflow-y: auto;
    padding: 16px !important;
}
[data-v-e10b55c3] .ant-modal-header {
    padding: 16px !important;
}
[data-v-e10b55c3] .ant-modal-footer {
    padding: 12px 16px !important;
}
[data-v-e10b55c3] .ant-form-item {
    margin-bottom: 12px !important;
}
[data-v-e10b55c3] .ant-form-item-label {
    padding-bottom: 6px !important;
}
}
/* ==================== 移动端卡片视图 ==================== */
.mobile-card-list[data-v-e10b55c3] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 0;
}
.mobile-card[data-v-e10b55c3] {
  background: #fff;
  border: 1px solid #f0f0f0;
  border-radius: 10px;
  padding: 14px;
  margin-bottom: 4px;
  transition: all 0.2s ease;
}
.mobile-card[data-v-e10b55c3]:hover {
  border-color: #d6e4ff;
  box-shadow: 0 2px 8px rgba(22, 119, 255, 0.06);
}
.mobile-card-header[data-v-e10b55c3] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
  gap: 8px;
}
.mobile-card-title-wrap[data-v-e10b55c3] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
  min-width: 0;
}
.mobile-card-title[data-v-e10b55c3] {
  font-size: 15px;
  font-weight: 600;
  color: #262626;
}
.mobile-card-code[data-v-e10b55c3] {
  font-size: 11px;
  color: #999;
  font-family: 'SFMono-Regular', Consolas, monospace;
  background: #fafafa;
  padding: 1px 6px;
  border-radius: 3px;
  display: inline-block;
  width: fit-content;
}
.mobile-card-body[data-v-e10b55c3] {
  margin-bottom: 10px;
  padding: 8px 0;
  border-top: 1px dashed #f0f0f0;
  border-bottom: 1px dashed #f0f0f0;
}
.mobile-card-row[data-v-e10b55c3] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4px 0;
  font-size: 13px;
}
.mobile-card-label[data-v-e10b55c3] {
  color: #8c8c8c;
  font-size: 12px;
}
.mobile-card-value[data-v-e10b55c3] {
  color: #595959;
  font-size: 13px;
}
.mobile-card-actions[data-v-e10b55c3] {
  display: flex;
  justify-content: flex-end;
  padding-top: 4px;
}
.dev-tools[data-v-d53af197] {
  padding: 16px;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}
@media (max-width: 768px) {
.dev-tools[data-v-d53af197] {
    padding: 12px;
}
}
.panel-card[data-v-d53af197] {
  margin-bottom: 12px;
}
.panel-card[data-v-d53af197] .ant-card-head {
  min-height: 36px;
  padding: 0 12px;
  font-size: 13px;
}
.panel-card[data-v-d53af197] .ant-card-head-title {
  padding: 8px 0;
  font-size: 13px;
}
.panel-card[data-v-d53af197] .ant-card-body {
  padding: 12px;
}
/* 公式输入 */
.formula-input[data-v-d53af197] {
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  font-size: 13px;
  line-height: 1.6;
  background: #1e1e2e;
  color: #cdd6f4;
  border: 1px solid #45475a;
  border-radius: 6px;
  padding: 10px 12px;
  resize: vertical;
}
.formula-input[data-v-d53af197]:focus {
  border-color: #89b4fa;
  box-shadow: 0 0 0 2px rgba(137, 180, 250, 0.2);
}
.formula-hint[data-v-d53af197] {
  margin-top: 6px;
  font-size: 12px;
}
/* 操作栏 */
.action-bar[data-v-d53af197] {
  margin-bottom: 12px;
  display: flex;
  gap: 8px;
}
/* 结果面板 */
.result-panel[data-v-d53af197] {
  padding: 4px 0;
}
.result-status[data-v-d53af197] {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 10px;
  font-size: 14px;
  font-weight: 600;
}
.result-status.success[data-v-d53af197] {
  color: #52c41a;
}
.result-status.error[data-v-d53af197] {
  color: #ff4d4f;
}
.result-value[data-v-d53af197] {
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
}
.result-code[data-v-d53af197] {
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  background: #1e1e2e;
  color: #a6e3a1;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 13px;
  word-break: break-all;
}
.result-meta[data-v-d53af197] {
  display: flex;
  gap: 6px;
}
/* 执行日志 */
.execution-log[data-v-d53af197] {
  max-height: 260px;
  overflow-y: auto;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  font-size: 12px;
  line-height: 1.8;
  background: #1e1e2e;
  border-radius: 6px;
  padding: 8px 12px;
}
.log-entry[data-v-d53af197] {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: baseline;
}
.log-step[data-v-d53af197] {
  color: #6c7086;
  flex-shrink: 0;
}
.log-entry.info .log-message[data-v-d53af197] {
  color: #89b4fa;
}
.log-entry.variable .log-message[data-v-d53af197] {
  color: #f9e2af;
}
.log-entry.function .log-message[data-v-d53af197] {
  color: #cba6f7;
}
.log-entry.result .log-message[data-v-d53af197] {
  color: #a6e3a1;
}
.log-entry.warn .log-message[data-v-d53af197] {
  color: #fab387;
}
.log-entry.error .log-message[data-v-d53af197] {
  color: #f38ba8;
}
.log-detail[data-v-d53af197] {
  color: #bac2de;
  background: #313244;
  padding: 0 6px;
  border-radius: 3px;
  font-size: 11px;
}
/* 函数参考表格 */
[data-v-d53af197] .ant-collapse-ghost > .ant-collapse-item > .ant-collapse-header {
  font-weight: 600;
  font-size: 13px;
  padding: 4px 0 !important;
}
[data-v-d53af197] 
  .ant-collapse-ghost > .ant-collapse-item > .ant-collapse-content > .ant-collapse-content-box
 {
  padding: 0 0 4px 0 !important;
}
/* API 测试 */
.method-selector[data-v-d53af197] {
  width: 100%;
}
.method-selector[data-v-d53af197] .ant-select-selection-item {
  font-weight: 700;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
}
.method-tag[data-v-d53af197] {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 700;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  min-width: 52px;
  text-align: center;
}
.method-tag.get[data-v-d53af197] {
  background: #e6f4ff;
  color: #1677ff;
  border: 1px solid #91caff;
}
.method-tag.post[data-v-d53af197] {
  background: #f6ffed;
  color: #52c41a;
  border: 1px solid #b7eb8f;
}
.method-tag.put[data-v-d53af197] {
  background: #fffbe6;
  color: #faad14;
  border: 1px solid #ffe58f;
}
.method-tag.delete[data-v-d53af197] {
  background: #fff2f0;
  color: #ff4d4f;
  border: 1px solid #ffccc7;
}
.method-tag.patch[data-v-d53af197] {
  background: #f9f0ff;
  color: #722ed1;
  border: 1px solid #d3adf7;
}
.url-input[data-v-d53af197] {
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  font-size: 13px;
}
.api-sub-tabs[data-v-d53af197] .ant-tabs-nav {
  margin-bottom: 8px;
}
.body-input[data-v-d53af197] {
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  font-size: 13px;
  line-height: 1.6;
  background: #1e1e2e;
  color: #cdd6f4;
  border: 1px solid #45475a;
  border-radius: 6px;
  padding: 10px 12px;
  resize: vertical;
}
.body-input[data-v-d53af197]:focus {
  border-color: #89b4fa;
  box-shadow: 0 0 0 2px rgba(137, 180, 250, 0.2);
}
.body-actions[data-v-d53af197] {
  margin-top: 6px;
  display: flex;
  justify-content: flex-end;
}
/* 响应面板 */
.response-panel[data-v-d53af197] {
  padding: 4px 0;
}
.response-meta[data-v-d53af197] {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
  align-items: center;
}
.status-tag[data-v-d53af197] {
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  font-weight: 700;
  font-size: 13px;
}
.response-headers[data-v-d53af197] {
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  font-size: 12px;
  line-height: 1.8;
  background: #1e1e2e;
  border-radius: 6px;
  padding: 8px 12px;
}
.header-item[data-v-d53af197] {
  display: flex;
  gap: 6px;
  align-items: baseline;
}
.header-key[data-v-d53af197] {
  color: #89b4fa;
  flex-shrink: 0;
}
.header-sep[data-v-d53af197] {
  color: #6c7086;
}
.header-value[data-v-d53af197] {
  color: #a6e3a1;
  word-break: break-all;
}
.response-body[data-v-d53af197] {
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  font-size: 12px;
  line-height: 1.6;
  background: #1e1e2e;
  color: #cdd6f4;
  border-radius: 6px;
  padding: 12px;
  margin: 0;
  overflow-x: auto;
  max-height: 400px;
  overflow-y: auto;
  white-space: pre-wrap;
  word-break: break-all;
}
.response-body code[data-v-d53af197] {
  color: #cdd6f4;
  font-family: inherit;
}
/* 历史记录 */
.history-code[data-v-d53af197] {
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  font-size: 12px;
  background: #f5f5f5;
  padding: 1px 6px;
  border-radius: 3px;
  color: #333;
}
/* 滚动条美化 */
.execution-log[data-v-d53af197]::-webkit-scrollbar,
.response-body[data-v-d53af197]::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.execution-log[data-v-d53af197]::-webkit-scrollbar-track,
.response-body[data-v-d53af197]::-webkit-scrollbar-track {
  background: #313244;
  border-radius: 3px;
}
.execution-log[data-v-d53af197]::-webkit-scrollbar-thumb,
.response-body[data-v-d53af197]::-webkit-scrollbar-thumb {
  background: #585b70;
  border-radius: 3px;
}
.execution-log[data-v-d53af197]::-webkit-scrollbar-thumb:hover,
.response-body[data-v-d53af197]::-webkit-scrollbar-thumb:hover {
  background: #6c7086;
}
/* 移动端卡片视图样式 */
.mobile-card-list[data-v-d53af197] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.mobile-card[data-v-d53af197] {
  background: #fff;
  border-radius: 8px;
  padding: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.mobile-card-header[data-v-d53af197] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #f0f0f0;
}
.mobile-card-title[data-v-d53af197] {
  font-weight: 600;
  font-size: 15px;
  color: #333;
}
.mobile-card-body[data-v-d53af197] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.mobile-card-field[data-v-d53af197] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.mobile-card-label[data-v-d53af197] {
  font-size: 12px;
  color: #666;
}
.mobile-card-value[data-v-d53af197] {
  font-size: 13px;
  color: #333;
}
.mobile-card-footer[data-v-d53af197] {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-top: 12px;
  padding-top: 8px;
  border-top: 1px solid #f0f0f0;
}
.print-template-list[data-v-b59c2cc6] {
  height: 100%;
}
.print-template-list[data-v-b59c2cc6] .action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border-radius: 6px;
  transition: all 0.2s;
}
.template-name-cell[data-v-b59c2cc6] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.template-name-cell .template-icon[data-v-b59c2cc6] {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  font-size: 16px;
  transition: all 0.3s;
  flex-shrink: 0;
  color: #fff;
}
.template-name-cell .template-icon.icon-blue[data-v-b59c2cc6] {
  background: linear-gradient(135deg, #1890ff, #69c0ff);
  box-shadow: 0 2px 8px rgba(24, 144, 255, 0.3);
}
.template-name-cell .template-icon.icon-green[data-v-b59c2cc6] {
  background: linear-gradient(135deg, #52c41a, #95de64);
  box-shadow: 0 2px 8px rgba(82, 196, 26, 0.3);
}
.template-name-cell .template-icon.icon-cyan[data-v-b59c2cc6] {
  background: linear-gradient(135deg, #3dbbae, #5cdbd3);
  box-shadow: 0 2px 8px rgba(19, 194, 194, 0.3);
}
.template-name-cell .template-icon.icon-purple[data-v-b59c2cc6] {
  background: linear-gradient(135deg, #722ed1, #b37feb);
  box-shadow: 0 2px 8px rgba(114, 46, 209, 0.3);
}
.template-name-cell .template-icon.icon-orange[data-v-b59c2cc6] {
  background: linear-gradient(135deg, #faad14, #ffc53d);
  box-shadow: 0 2px 8px rgba(250, 173, 20, 0.3);
}
.template-name-cell .template-icon.icon-geekblue[data-v-b59c2cc6] {
  background: linear-gradient(135deg, #2f54eb, #85a5ff);
  box-shadow: 0 2px 8px rgba(47, 84, 235, 0.3);
}
.template-name-cell .template-icon.icon-volcano[data-v-b59c2cc6] {
  background: linear-gradient(135deg, #fa541c, #ffbb96);
  box-shadow: 0 2px 8px rgba(250, 84, 28, 0.3);
}
.template-name-cell .template-icon.icon-magenta[data-v-b59c2cc6] {
  background: linear-gradient(135deg, #eb2f96, #ffadd2);
  box-shadow: 0 2px 8px rgba(235, 47, 150, 0.3);
}
.template-name-cell .template-icon.icon-gold[data-v-b59c2cc6] {
  background: linear-gradient(135deg, #d48806, #ffd666);
  box-shadow: 0 2px 8px rgba(212, 136, 6, 0.3);
}
.template-name-cell .template-icon.icon-lime[data-v-b59c2cc6] {
  background: linear-gradient(135deg, #7cb305, #d3f261);
  box-shadow: 0 2px 8px rgba(124, 179, 5, 0.3);
}
.template-name-cell .template-icon.icon-default[data-v-b59c2cc6] {
  background: linear-gradient(135deg, #8c8c8c, #bfbfbf);
  box-shadow: 0 2px 8px rgba(140, 140, 140, 0.3);
}
.template-name-cell .template-info .template-name[data-v-b59c2cc6] {
  font-weight: 500;
  color: #1890ff;
}
.template-name-cell .template-info .template-name[data-v-b59c2cc6]:hover {
  text-decoration: underline;
}
.template-name-cell .template-info .template-code[data-v-b59c2cc6] {
  font-size: 12px;
  color: #999;
  margin-top: 2px;
}
.usage-count[data-v-b59c2cc6] {
  color: #666;
}
.usage-count .anticon[data-v-b59c2cc6] {
  color: #999;
}
.template-card[data-v-b59c2cc6] {
  margin-bottom: 12px;
}
.template-card .template-card-header[data-v-b59c2cc6] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.template-card .template-card-icon[data-v-b59c2cc6] {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  font-size: 15px;
  transition: all 0.3s;
  flex-shrink: 0;
  color: #fff;
}
.template-card .template-card-icon.icon-blue[data-v-b59c2cc6] {
  background: linear-gradient(135deg, #1890ff, #69c0ff);
  box-shadow: 0 2px 8px rgba(24, 144, 255, 0.3);
}
.template-card .template-card-icon.icon-green[data-v-b59c2cc6] {
  background: linear-gradient(135deg, #52c41a, #95de64);
  box-shadow: 0 2px 8px rgba(82, 196, 26, 0.3);
}
.template-card .template-card-icon.icon-cyan[data-v-b59c2cc6] {
  background: linear-gradient(135deg, #3dbbae, #5cdbd3);
  box-shadow: 0 2px 8px rgba(19, 194, 194, 0.3);
}
.template-card .template-card-icon.icon-purple[data-v-b59c2cc6] {
  background: linear-gradient(135deg, #722ed1, #b37feb);
  box-shadow: 0 2px 8px rgba(114, 46, 209, 0.3);
}
.template-card .template-card-icon.icon-orange[data-v-b59c2cc6] {
  background: linear-gradient(135deg, #faad14, #ffc53d);
  box-shadow: 0 2px 8px rgba(250, 173, 20, 0.3);
}
.template-card .template-card-icon.icon-geekblue[data-v-b59c2cc6] {
  background: linear-gradient(135deg, #2f54eb, #85a5ff);
  box-shadow: 0 2px 8px rgba(47, 84, 235, 0.3);
}
.template-card .template-card-icon.icon-volcano[data-v-b59c2cc6] {
  background: linear-gradient(135deg, #fa541c, #ffbb96);
  box-shadow: 0 2px 8px rgba(250, 84, 28, 0.3);
}
.template-card .template-card-icon.icon-magenta[data-v-b59c2cc6] {
  background: linear-gradient(135deg, #eb2f96, #ffadd2);
  box-shadow: 0 2px 8px rgba(235, 47, 150, 0.3);
}
.template-card .template-card-icon.icon-gold[data-v-b59c2cc6] {
  background: linear-gradient(135deg, #d48806, #ffd666);
  box-shadow: 0 2px 8px rgba(212, 136, 6, 0.3);
}
.template-card .template-card-icon.icon-lime[data-v-b59c2cc6] {
  background: linear-gradient(135deg, #7cb305, #d3f261);
  box-shadow: 0 2px 8px rgba(124, 179, 5, 0.3);
}
.template-card .template-card-icon.icon-default[data-v-b59c2cc6] {
  background: linear-gradient(135deg, #8c8c8c, #bfbfbf);
  box-shadow: 0 2px 8px rgba(140, 140, 140, 0.3);
}
.template-card .template-card-info[data-v-b59c2cc6] {
  flex: 1;
  min-width: 0;
}
.template-card .template-card-info .template-card-name[data-v-b59c2cc6] {
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.template-card .template-card-info .template-card-code[data-v-b59c2cc6] {
  font-size: 12px;
  color: #999;
}
.template-card .template-card-meta[data-v-b59c2cc6] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}
.template-card .template-card-usage[data-v-b59c2cc6] {
  font-size: 12px;
  color: #666;
}
.template-card .template-card-updater[data-v-b59c2cc6] {
  font-size: 12px;
  color: #999;
}
.preview-container[data-v-b59c2cc6] {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.preview-container .preview-toolbar[data-v-b59c2cc6] {
  padding-bottom: 16px;
  border-bottom: 1px solid #f0f0f0;
  margin-bottom: 16px;
  flex-shrink: 0;
}
.preview-container .preview-scroll[data-v-b59c2cc6] {
  flex: 1;
  overflow: auto;
  padding: 20px;
  background: #f5f5f5;
  border-radius: 4px;
}
.preview-container .preview-paper[data-v-b59c2cc6] {
  display: flex;
  justify-content: center;
  transform-origin: top center;
  transition: transform 0.2s ease;
}
.preview-container .preview-paper .preview-page[data-v-b59c2cc6] {
  width: 210mm;
  min-height: 297mm;
  background: #fff;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
  padding: 15mm;
}
.preview-empty[data-v-b59c2cc6],
.preview-empty-state[data-v-b59c2cc6] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 300px;
  color: #999;
}
.preview-empty p[data-v-b59c2cc6],
.preview-empty-state p[data-v-b59c2cc6] {
  margin-top: 12px;
  font-size: 14px;
}
.preview-empty-state[data-v-b59c2cc6] {
  height: 100%;
}
@media print {
.preview-toolbar[data-v-b59c2cc6],
  .preview-scroll[data-v-b59c2cc6] {
    display: none !important;
}
.preview-paper[data-v-b59c2cc6] {
    transform: none !important;
    overflow: visible !important;
}
.preview-paper .preview-page[data-v-b59c2cc6] {
    box-shadow: none !important;
    width: 100% !important;
    min-height: auto !important;
    padding: 0 !important;
}
}
.profile-page[data-v-49d6a0ed] {
  background: var(--color-bg-layout);
  min-height: 100%;
  padding: var(--spacing-4);
}
.profile-page[data-v-49d6a0ed] .responsive-table-container {
  padding: 0;
}
.hero-bg-decoration[data-v-49d6a0ed] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-49d6a0ed] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-49d6a0ed] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-49d6a0ed] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-49d6a0ed] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-49d6a0ed] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-49d6a0ed] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-49d6a0ed] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-49d6a0ed] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-49d6a0ed] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-49d6a0ed] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-49d6a0ed] {
  flex: 1;
}
.hero-title[data-v-49d6a0ed] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-49d6a0ed] {
  margin: 0 0 16px;
  font-size: 14px;
  opacity: 0.85;
  max-width: 600px;
}
.hero-stats[data-v-49d6a0ed] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.hero-stat[data-v-49d6a0ed] {
  display: flex;
  flex-direction: column;
}
.hero-stat-value[data-v-49d6a0ed] {
  font-size: 22px;
  font-weight: 700;
}
.hero-stat-label[data-v-49d6a0ed] {
  font-size: 12px;
  opacity: 0.7;
}
.hero-stat-divider[data-v-49d6a0ed] {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.25);
}
.hero-right[data-v-49d6a0ed] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
.table-cell-content[data-v-49d6a0ed] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.table-cell-title[data-v-49d6a0ed] {
  font-weight: 600;
  font-size: 15px;
  color: var(--color-text-primary);
  cursor: pointer;
  display: inline-block;
  transition: color 0.2s;
}
.table-cell-title[data-v-49d6a0ed]:hover {
  color: #1677ff;
}
.table-cell-subtitle[data-v-49d6a0ed] {
  font-size: 13px;
  color: var(--color-text-tertiary);
  line-height: 1.5;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 400px;
}
.status-tag[data-v-49d6a0ed] {
  font-weight: 500;
  font-size: 12px;
  padding: 2px 8px;
  border-radius: var(--radius-sm);
}
@media (max-width: 991px) {
.hero-content[data-v-49d6a0ed] {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}
.hero-stats[data-v-49d6a0ed] {
    gap: 12px;
}
.hero-stat-value[data-v-49d6a0ed] {
    font-size: 18px;
}
}
@media (max-width: 575px) {
.hero-title[data-v-49d6a0ed] {
    font-size: 20px;
}
.hero-right[data-v-49d6a0ed] {
    width: 100%;
}
}
.filter-actions-col[data-v-49d6a0ed] {
  display: flex;
  justify-content: flex-end;
}
.profile-edit-page[data-v-cd199b3e] {
  padding: var(--spacing-4);
  min-height: calc(100vh - 180px);
  background: var(--color-bg-layout);
}
.highlights-panel[data-v-cd199b3e] {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  border-radius: var(--radius-xl);
  padding: 24px 32px;
  color: #fff;
  margin-bottom: var(--spacing-4);
  box-shadow: 0 4px 12px rgba(22, 119, 255, 0.3);
  position: relative;
  overflow: hidden;
}
/* 几何图形装饰 */
.highlights-bg-decoration[data-v-cd199b3e] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-cd199b3e] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-cd199b3e] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-cd199b3e] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-cd199b3e] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-cd199b3e] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-cd199b3e] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-cd199b3e] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-cd199b3e] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-cd199b3e] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-cd199b3e] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
.highlights-dot--4[data-v-cd199b3e] {
  width: 10px;
  height: 10px;
  bottom: 15%;
  right: 45%;
  background: rgba(255, 255, 255, 0.15);
}
@media (max-width: 768px) {
.highlights-panel[data-v-cd199b3e] {
    padding: 16px;
}
.highlights-bg-decoration[data-v-cd199b3e] {
    display: none;
}
}
.highlights-content[data-v-cd199b3e] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.highlights-left h2[data-v-cd199b3e] {
  margin: 0;
  font-size: 24px;
  font-weight: 600;
  color: white;
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-meta[data-v-cd199b3e] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  font-size: 14px;
  opacity: 0.9;
}
.highlights-tag[data-v-cd199b3e] {
  background: rgba(255, 255, 255, 0.2) !important;
  border: none !important;
  color: #fff !important;
  font-size: 12px;
  padding: 2px 10px;
}
.highlights-right[data-v-cd199b3e] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-action-btn[data-v-cd199b3e] {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
}
.highlights-action-btn[data-v-cd199b3e]:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.5);
}
.form-content[data-v-cd199b3e] {
  max-width: 1400px;
  padding-bottom: 80px;
}
.fixed-actions[data-v-cd199b3e] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 12px 24px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(8px);
  border-top: 1px solid var(--color-border-secondary);
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  z-index: 100;
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.05);
}
.info-section[data-v-cd199b3e] {
  margin-bottom: 24px;
  border: 1px solid var(--color-border-secondary);
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.03);
  transition: all 0.3s ease;
}
.info-section[data-v-cd199b3e]:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.section-header[data-v-cd199b3e] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 20px;
  background: linear-gradient(135deg, #fafafa 0%, #f5f5f5 100%);
  border-bottom: 1px solid var(--color-border-secondary);
  font-weight: 600;
  font-size: 15px;
  color: var(--color-text-primary);
}
.section-body[data-v-cd199b3e] {
  padding: 20px;
}
@media (max-width: 768px) {
.section-body[data-v-cd199b3e] {
    padding: 12px;
}
}
@media (max-width: 575px) {
.profile-edit-page[data-v-cd199b3e] {
    padding: 12px;
}
.highlights-panel[data-v-cd199b3e] {
    padding: 16px;
}
.highlights-content[data-v-cd199b3e] {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}
.highlights-left h2[data-v-cd199b3e] {
    font-size: 18px;
}
.highlights-right[data-v-cd199b3e] {
    width: auto;
    flex-shrink: 0;
}
}
/* ==================== 移动端卡片视图 ==================== */
.mobile-card-list[data-v-cd199b3e] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 0;
}
.mobile-card[data-v-cd199b3e] {
  background: #fff;
  border: 1px solid #f0f0f0;
  border-radius: 12px;
  padding: 16px;
  margin-bottom: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease;
}
.mobile-card[data-v-cd199b3e]:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}
.mobile-card-header[data-v-cd199b3e] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  gap: 8px;
}
.mobile-card-title[data-v-cd199b3e] {
  font-size: 15px;
  font-weight: 600;
  color: #262626;
  flex: 1;
}
.mobile-card-body[data-v-cd199b3e] {
  margin-bottom: 12px;
}
.mobile-card-row[data-v-cd199b3e] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 0;
  font-size: 13px;
}
.mobile-card-row-full[data-v-cd199b3e] {
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}
.mobile-card-label[data-v-cd199b3e] {
  color: #8c8c8c;
  font-size: 12px;
}
.mobile-card-value[data-v-cd199b3e] {
  color: #595959;
  font-size: 13px;
}
.mobile-card-actions[data-v-cd199b3e] {
  padding-top: 12px;
  border-top: 1px solid #f0f0f0;
  display: flex;
  justify-content: flex-end;
}
.mobile-card-actions-right[data-v-cd199b3e] {
  justify-content: flex-end;
}
/* ==================== 桌面端表格优化 ==================== */
[data-v-cd199b3e] .table-as-cards .ant-table {
  border-radius: 8px;
  overflow: hidden;
}
[data-v-cd199b3e] .table-as-cards .ant-table .ant-table-thead > tr > th {
  background: linear-gradient(135deg, #fafafa 0%, #f5f5f5 100%);
  font-weight: 600;
  font-size: 13px;
  color: #595959;
  border-bottom: 1px solid #f0f0f0;
  padding: 12px 16px;
}
[data-v-cd199b3e] .table-as-cards .ant-table .ant-table-tbody > tr > td {
  padding: 12px 16px;
  border-bottom: 1px solid #fafafa;
  transition: background 0.2s ease;
}
[data-v-cd199b3e] .table-as-cards .ant-table .ant-table-tbody > tr:hover > td {
  background: #fafafa;
}
[data-v-cd199b3e] .table-as-cards .ant-table .ant-table-tbody > tr:last-child > td {
  border-bottom: none;
}
.permission-set-page[data-v-338b7f9a] {
  background: var(--color-bg-layout);
  min-height: 100%;
  padding: var(--spacing-4);
}
.permission-set-page[data-v-338b7f9a] .responsive-table-container {
  padding: 0;
}
.hero-bg-decoration[data-v-338b7f9a] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-338b7f9a] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-338b7f9a] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-338b7f9a] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-338b7f9a] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-338b7f9a] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-338b7f9a] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-338b7f9a] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-338b7f9a] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-338b7f9a] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-338b7f9a] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-338b7f9a] {
  flex: 1;
}
.hero-title[data-v-338b7f9a] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-338b7f9a] {
  margin: 0 0 16px;
  font-size: 14px;
  opacity: 0.85;
  max-width: 600px;
}
.hero-stats[data-v-338b7f9a] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.hero-stat[data-v-338b7f9a] {
  display: flex;
  flex-direction: column;
}
.hero-stat-value[data-v-338b7f9a] {
  font-size: 22px;
  font-weight: 700;
}
.hero-stat-label[data-v-338b7f9a] {
  font-size: 12px;
  opacity: 0.7;
}
.hero-stat-divider[data-v-338b7f9a] {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.25);
}
.hero-right[data-v-338b7f9a] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
.table-cell-content[data-v-338b7f9a] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.table-cell-title[data-v-338b7f9a] {
  font-weight: 600;
  font-size: 15px;
  color: var(--color-text-primary);
  cursor: pointer;
  display: inline-block;
  transition: color 0.2s;
}
.table-cell-title[data-v-338b7f9a]:hover {
  color: #1677ff;
}
.table-cell-subtitle[data-v-338b7f9a] {
  font-size: 13px;
  color: var(--color-text-tertiary);
  line-height: 1.5;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 400px;
}
.status-tag[data-v-338b7f9a] {
  font-weight: 500;
  font-size: 12px;
  padding: 2px 8px;
  border-radius: var(--radius-sm);
}
@media (max-width: 991px) {
.hero-content[data-v-338b7f9a] {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}
.hero-stats[data-v-338b7f9a] {
    gap: 12px;
}
.hero-stat-value[data-v-338b7f9a] {
    font-size: 18px;
}
}
@media (max-width: 575px) {
.hero-title[data-v-338b7f9a] {
    font-size: 20px;
}
.hero-right[data-v-338b7f9a] {
    width: 100%;
}
}
.filter-actions-col[data-v-338b7f9a] {
  display: flex;
  justify-content: flex-end;
}
.permission-set-edit-page[data-v-f341abef] {
  padding: var(--spacing-4);
  min-height: 100%;
  background: var(--color-bg-layout);
}
.highlights-panel[data-v-f341abef] {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  border-radius: var(--radius-xl);
  padding: 24px 32px;
  color: #fff;
  margin-bottom: var(--spacing-4);
  position: relative;
  overflow: hidden;
}
/* 几何图形装饰 */
.highlights-bg-decoration[data-v-f341abef] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-f341abef] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-f341abef] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-f341abef] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-f341abef] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-f341abef] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-f341abef] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-f341abef] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-f341abef] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-f341abef] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-f341abef] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
@media (max-width: 768px) {
.highlights-panel[data-v-f341abef] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-f341abef] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-f341abef] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-f341abef] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-f341abef] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-f341abef] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-f341abef] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-f341abef] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-f341abef] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-f341abef] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-f341abef] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-f341abef] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-f341abef] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
.highlights-content[data-v-f341abef] {
  display: flex;
  justify-content: space-between;
}
.highlights-left h2[data-v-f341abef] {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: white;
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-meta[data-v-f341abef] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  font-size: 13px;
  opacity: 0.85;
}
.highlights-tag[data-v-f341abef] {
  background: rgba(255, 255, 255, 0.2) !important;
  border: none !important;
  color: #fff !important;
  font-size: 12px;
  padding: 2px 10px;
}
.highlights-right[data-v-f341abef] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-action-btn[data-v-f341abef] {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
}
.highlights-action-btn[data-v-f341abef]:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.5);
}
.form-content[data-v-f341abef] {
  max-width: 1200px;
  padding-bottom: 60px;
}
.fixed-actions[data-v-f341abef] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 12px;
  background: #fff;
  border-top: 1px solid var(--color-border-secondary);
  display: flex;
  justify-content: flex-end;
  z-index: 100;
}
.info-section[data-v-f341abef] {
  margin-bottom: 24px;
  border: 1px solid var(--color-border-secondary);
  border-radius: 10px;
  overflow: hidden;
}
.section-header[data-v-f341abef] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 20px;
  background: var(--color-fill-quaternary);
  border-bottom: 1px solid var(--color-border-secondary);
  font-weight: 600;
  color: var(--color-text-primary);
}
.section-body[data-v-f341abef] {
  padding: 16px 20px;
}
@media (max-width: 768px) {
.section-body[data-v-f341abef] {
    padding: 12px;
}
.section-body .highlights-panel .highlights-bg-decoration[data-v-f341abef] {
    display: none;
}
}
@media (max-width: 768px) {
.permission-set-edit-page[data-v-f341abef] {
    padding: 12px;
}
.permission-set-edit-page .highlights-panel .highlights-bg-decoration[data-v-f341abef] {
    display: none;
}
.highlights-panel[data-v-f341abef] {
    padding: 16px;
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-f341abef] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-f341abef] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-f341abef] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-f341abef] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-f341abef] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-f341abef] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-f341abef] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-f341abef] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-f341abef] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-f341abef] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-f341abef] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-content[data-v-f341abef] {
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
}
.highlights-left h2[data-v-f341abef] {
    font-size: 18px;
}
.highlights-right[data-v-f341abef] {
    width: auto;
    flex-shrink: 0;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-f341abef] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-f341abef] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-f341abef] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-f341abef] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-f341abef] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-f341abef] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-f341abef] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-f341abef] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-f341abef] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-f341abef] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-f341abef] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-f341abef] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-f341abef] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
.org-wide-default-page[data-v-9591e87e] {
  background: var(--color-bg-layout);
  min-height: 100%;
  padding: var(--spacing-4);
}
.org-wide-default-page[data-v-9591e87e] .responsive-table-container {
  padding: 0;
}
.hero-bg-decoration[data-v-9591e87e] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-9591e87e] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-9591e87e] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-9591e87e] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-9591e87e] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-9591e87e] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-9591e87e] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-9591e87e] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-9591e87e] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-9591e87e] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-9591e87e] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-9591e87e] {
  flex: 1;
}
.hero-title[data-v-9591e87e] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-9591e87e] {
  margin: 0 0 16px;
  font-size: 14px;
  opacity: 0.85;
  max-width: 600px;
}
.hero-stats[data-v-9591e87e] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.hero-stat[data-v-9591e87e] {
  display: flex;
  flex-direction: column;
}
.hero-stat-value[data-v-9591e87e] {
  font-size: 22px;
  font-weight: 700;
}
.hero-stat-label[data-v-9591e87e] {
  font-size: 12px;
  opacity: 0.7;
}
.hero-stat-divider[data-v-9591e87e] {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.25);
}
.hero-right[data-v-9591e87e] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
.table-cell-content[data-v-9591e87e] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.table-cell-title[data-v-9591e87e] {
  font-weight: 600;
  font-size: 15px;
  color: var(--color-text-primary);
  cursor: pointer;
  display: inline-block;
  transition: color 0.2s;
}
.table-cell-title[data-v-9591e87e]:hover {
  color: #1677ff;
}
.table-cell-subtitle[data-v-9591e87e] {
  font-size: 13px;
  color: var(--color-text-tertiary);
  line-height: 1.5;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 400px;
}
.status-tag[data-v-9591e87e] {
  font-weight: 500;
  font-size: 12px;
  padding: 2px 8px;
  border-radius: var(--radius-sm);
}
@media (max-width: 991px) {
.hero-content[data-v-9591e87e] {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}
.hero-stats[data-v-9591e87e] {
    gap: 12px;
}
.hero-stat-value[data-v-9591e87e] {
    font-size: 18px;
}
}
@media (max-width: 575px) {
.hero-title[data-v-9591e87e] {
    font-size: 20px;
}
.hero-right[data-v-9591e87e] {
    width: 100%;
}
}
.filter-actions-col[data-v-9591e87e] {
  display: flex;
  justify-content: flex-end;
}
.org-wide-default-edit-page[data-v-b0834d38] {
  padding: var(--spacing-4);
  min-height: 100%;
  background: var(--color-bg-layout);
}
.highlights-panel[data-v-b0834d38] {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  border-radius: var(--radius-xl);
  padding: 24px 32px;
  color: #fff;
  margin-bottom: var(--spacing-4);
  position: relative;
  overflow: hidden;
}
/* 几何图形装饰 */
.highlights-bg-decoration[data-v-b0834d38] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-b0834d38] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-b0834d38] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-b0834d38] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-b0834d38] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-b0834d38] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-b0834d38] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-b0834d38] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-b0834d38] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-b0834d38] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-b0834d38] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
@media (max-width: 768px) {
.highlights-panel[data-v-b0834d38] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-b0834d38] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-b0834d38] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-b0834d38] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-b0834d38] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-b0834d38] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-b0834d38] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-b0834d38] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-b0834d38] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-b0834d38] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-b0834d38] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-b0834d38] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-b0834d38] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
.highlights-content[data-v-b0834d38] {
  display: flex;
  justify-content: space-between;
}
.highlights-left h2[data-v-b0834d38] {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: white;
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-meta[data-v-b0834d38] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  font-size: 13px;
  opacity: 0.85;
}
.highlights-right[data-v-b0834d38] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-action-btn[data-v-b0834d38] {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
}
.highlights-action-btn[data-v-b0834d38]:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.5);
}
.form-content[data-v-b0834d38] {
  max-width: 1200px;
  padding-bottom: 60px;
}
.fixed-actions[data-v-b0834d38] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 12px;
  background: #fff;
  border-top: 1px solid var(--color-border-secondary);
  display: flex;
  justify-content: flex-end;
  z-index: 100;
}
.info-section[data-v-b0834d38] {
  margin-bottom: 24px;
  border: 1px solid var(--color-border-secondary);
  border-radius: 10px;
  overflow: hidden;
}
.section-header[data-v-b0834d38] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 20px;
  background: var(--color-fill-quaternary);
  border-bottom: 1px solid var(--color-border-secondary);
  font-weight: 600;
  color: var(--color-text-primary);
}
.section-body[data-v-b0834d38] {
  padding: 16px 20px;
}
@media (max-width: 768px) {
.section-body[data-v-b0834d38] {
    padding: 12px;
}
.section-body .highlights-panel .highlights-bg-decoration[data-v-b0834d38] {
    display: none;
}
}
@media (max-width: 768px) {
.org-wide-default-edit-page[data-v-b0834d38] {
    padding: 12px;
}
.org-wide-default-edit-page .highlights-panel .highlights-bg-decoration[data-v-b0834d38] {
    display: none;
}
.highlights-panel[data-v-b0834d38] {
    padding: 16px;
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-b0834d38] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-b0834d38] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-b0834d38] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-b0834d38] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-b0834d38] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-b0834d38] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-b0834d38] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-b0834d38] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-b0834d38] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-b0834d38] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-b0834d38] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-content[data-v-b0834d38] {
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
}
.highlights-left h2[data-v-b0834d38] {
    font-size: 18px;
}
.highlights-right[data-v-b0834d38] {
    width: auto;
    flex-shrink: 0;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-b0834d38] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-b0834d38] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-b0834d38] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-b0834d38] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-b0834d38] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-b0834d38] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-b0834d38] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-b0834d38] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-b0834d38] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-b0834d38] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-b0834d38] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-b0834d38] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-b0834d38] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
.sharing-rule-page[data-v-9c8921d7] {
  background: var(--color-bg-layout);
  min-height: 100%;
  padding: var(--spacing-4);
}
.sharing-rule-page[data-v-9c8921d7] .responsive-table-container {
  padding: 0;
}
.hero-bg-decoration[data-v-9c8921d7] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-9c8921d7] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-9c8921d7] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-9c8921d7] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-9c8921d7] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-9c8921d7] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-9c8921d7] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-9c8921d7] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-9c8921d7] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-9c8921d7] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-9c8921d7] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-9c8921d7] {
  flex: 1;
}
.hero-title[data-v-9c8921d7] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-9c8921d7] {
  margin: 0 0 16px;
  font-size: 14px;
  opacity: 0.85;
  max-width: 600px;
}
.hero-stats[data-v-9c8921d7] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.hero-stat[data-v-9c8921d7] {
  display: flex;
  flex-direction: column;
}
.hero-stat-value[data-v-9c8921d7] {
  font-size: 22px;
  font-weight: 700;
}
.hero-stat-label[data-v-9c8921d7] {
  font-size: 12px;
  opacity: 0.7;
}
.hero-stat-divider[data-v-9c8921d7] {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.25);
}
.hero-right[data-v-9c8921d7] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
.table-cell-content[data-v-9c8921d7] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.table-cell-title[data-v-9c8921d7] {
  font-weight: 600;
  font-size: 15px;
  color: var(--color-text-primary);
  cursor: pointer;
  display: inline-block;
  transition: color 0.2s;
}
.table-cell-title[data-v-9c8921d7]:hover {
  color: #1677ff;
}
.status-tag[data-v-9c8921d7] {
  font-weight: 500;
  font-size: 12px;
  padding: 2px 8px;
  border-radius: var(--radius-sm);
}
@media (max-width: 991px) {
.hero-content[data-v-9c8921d7] {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}
.hero-stats[data-v-9c8921d7] {
    gap: 12px;
}
.hero-stat-value[data-v-9c8921d7] {
    font-size: 18px;
}
}
@media (max-width: 575px) {
.hero-title[data-v-9c8921d7] {
    font-size: 20px;
}
.hero-right[data-v-9c8921d7] {
    width: 100%;
}
}
.filter-actions-col[data-v-9c8921d7] {
  display: flex;
  justify-content: flex-end;
}
.sharing-rule-edit-page[data-v-25661016] {
  padding: var(--spacing-4);
  min-height: 100%;
  background: var(--color-bg-layout);
}
.highlights-panel[data-v-25661016] {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  border-radius: var(--radius-xl);
  padding: 24px 32px;
  color: #fff;
  margin-bottom: var(--spacing-4);
  position: relative;
  overflow: hidden;
}
/* 几何图形装饰 */
.highlights-bg-decoration[data-v-25661016] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-25661016] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-25661016] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-25661016] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-25661016] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-25661016] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-25661016] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-25661016] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-25661016] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-25661016] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-25661016] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
@media (max-width: 768px) {
.highlights-panel[data-v-25661016] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-25661016] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-25661016] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-25661016] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-25661016] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-25661016] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-25661016] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-25661016] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-25661016] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-25661016] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-25661016] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-25661016] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-25661016] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
.highlights-content[data-v-25661016] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.highlights-left h2[data-v-25661016] {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: white;
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-meta[data-v-25661016] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  font-size: 13px;
  opacity: 0.85;
}
.highlights-tag[data-v-25661016] {
  background: rgba(255, 255, 255, 0.2) !important;
  border: none !important;
  color: #fff !important;
  font-size: 12px;
  padding: 2px 10px;
}
.highlights-right[data-v-25661016] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-action-btn[data-v-25661016] {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
}
.highlights-action-btn[data-v-25661016]:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.5);
}
.form-content[data-v-25661016] {
  max-width: 1200px;
  padding-bottom: 60px;
}
.fixed-actions[data-v-25661016] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 12px;
  background: #fff;
  border-top: 1px solid var(--color-border-secondary);
  display: flex;
  justify-content: flex-end;
  z-index: 100;
}
.info-section[data-v-25661016] {
  margin-bottom: 24px;
  border: 1px solid var(--color-border-secondary);
  border-radius: 10px;
  overflow: hidden;
}
.section-header[data-v-25661016] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 20px;
  background: var(--color-fill-quaternary);
  border-bottom: 1px solid var(--color-border-secondary);
  font-weight: 600;
  color: var(--color-text-primary);
}
.section-body[data-v-25661016] {
  padding: 16px 20px;
}
@media (max-width: 768px) {
.section-body[data-v-25661016] {
    padding: 12px;
}
.section-body .highlights-panel .highlights-bg-decoration[data-v-25661016] {
    display: none;
}
}
@media (max-width: 768px) {
.sharing-rule-edit-page[data-v-25661016] {
    padding: 12px;
}
.sharing-rule-edit-page .highlights-panel .highlights-bg-decoration[data-v-25661016] {
    display: none;
}
.highlights-panel[data-v-25661016] {
    padding: 16px;
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-25661016] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-25661016] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-25661016] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-25661016] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-25661016] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-25661016] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-25661016] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-25661016] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-25661016] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-25661016] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-25661016] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-content[data-v-25661016] {
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
}
.highlights-left h2[data-v-25661016] {
    font-size: 18px;
}
.highlights-right[data-v-25661016] {
    width: auto;
    flex-shrink: 0;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-25661016] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-25661016] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-25661016] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-25661016] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-25661016] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-25661016] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-25661016] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-25661016] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-25661016] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-25661016] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-25661016] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-25661016] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-25661016] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
.record-type-page[data-v-2bf37540] {
  background: var(--color-bg-layout);
  min-height: 100%;
  padding: var(--spacing-4);
}
.record-type-page[data-v-2bf37540] .responsive-table-container {
  padding: 0;
}
.hero-bg-decoration[data-v-2bf37540] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-2bf37540] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-2bf37540] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-2bf37540] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-2bf37540] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-2bf37540] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-2bf37540] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-2bf37540] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-2bf37540] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-2bf37540] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-2bf37540] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-2bf37540] {
  flex: 1;
}
.hero-title[data-v-2bf37540] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-2bf37540] {
  margin: 0 0 16px;
  font-size: 14px;
  opacity: 0.85;
  max-width: 600px;
}
.hero-stats[data-v-2bf37540] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.hero-stat[data-v-2bf37540] {
  display: flex;
  flex-direction: column;
}
.hero-stat-value[data-v-2bf37540] {
  font-size: 22px;
  font-weight: 700;
}
.hero-stat-label[data-v-2bf37540] {
  font-size: 12px;
  opacity: 0.7;
}
.hero-stat-divider[data-v-2bf37540] {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.25);
}
.hero-right[data-v-2bf37540] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
.table-cell-content[data-v-2bf37540] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.table-cell-title[data-v-2bf37540] {
  font-weight: 600;
  font-size: 15px;
  color: var(--color-text-primary);
  cursor: pointer;
  display: inline-block;
  transition: color 0.2s;
}
.table-cell-title[data-v-2bf37540]:hover {
  color: #1677ff;
}
.table-cell-subtitle[data-v-2bf37540] {
  font-size: 13px;
  color: var(--color-text-tertiary);
  line-height: 1.5;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 400px;
}
.status-tag[data-v-2bf37540] {
  font-weight: 500;
  font-size: 12px;
  padding: 2px 8px;
  border-radius: var(--radius-sm);
}
@media (max-width: 991px) {
.hero-content[data-v-2bf37540] {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}
.hero-stats[data-v-2bf37540] {
    gap: 12px;
}
.hero-stat-value[data-v-2bf37540] {
    font-size: 18px;
}
}
@media (max-width: 575px) {
.hero-title[data-v-2bf37540] {
    font-size: 20px;
}
.hero-right[data-v-2bf37540] {
    width: 100%;
}
.hero-stats[data-v-2bf37540] {
    flex-wrap: wrap;
}
.hero-stat-divider[data-v-2bf37540] {
    display: none;
}
  /* 移动端卡片字段 */
.mobile-card-fields[data-v-2bf37540] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 12px;
}
.mobile-card-field-inline[data-v-2bf37540] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
}
.mobile-card-field-label[data-v-2bf37540] {
    font-size: 12px;
    color: var(--color-text-tertiary);
    flex-shrink: 0;
    min-width: 70px;
}
.mobile-card-field-value[data-v-2bf37540] {
    font-size: 13px;
    color: var(--color-text-primary);
    word-break: break-all;
}
}
.filter-actions-col[data-v-2bf37540] {
  display: flex;
  justify-content: flex-end;
}
/* 移动端表格优化 */
@media (max-width: 768px) {
  /* 表格横向滚动 */
[data-v-2bf37540] .ant-table-wrapper {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
}
[data-v-2bf37540] .ant-table {
    min-width: 500px !important;
    font-size: 13px;
}
[data-v-2bf37540] .ant-table-thead > tr > th {
    padding: 10px 8px !important;
    font-size: 12px;
    white-space: nowrap;
}
[data-v-2bf37540] .ant-table-tbody > tr > td {
    padding: 12px 8px !important;
    white-space: nowrap;
}
  /* 操作列优化 */
[data-v-2bf37540] .record-type-actions {
    display: flex;
    gap: 4px;
    flex-wrap: nowrap;
}
[data-v-2bf37540] .record-type-actions .ant-btn {
    min-width: 32px !important;
    min-height: 32px !important;
    padding: 0 4px !important;
    font-size: 11px !important;
}
  /* 筛选区域优化 */
[data-v-2bf37540] .filter-section .ant-space {
    flex-wrap: wrap;
    width: 100%;
}
[data-v-2bf37540] .filter-section .ant-space-item {
    width: 100%;
    flex-basis: 100%;
}
[data-v-2bf37540] .filter-section .ant-input-affix-wrapper,[data-v-2bf37540] .filter-section .ant-select-selector {
    width: 100% !important;
}
  /* 空数据字段占位 */
[data-v-2bf37540] .ant-table-cell {
    min-height: 20px;
}
}
.record-type-edit-page[data-v-ca02e4cf] {
  padding: var(--spacing-4);
  min-height: 100%;
  background: var(--color-bg-layout);
}
.highlights-panel[data-v-ca02e4cf] {
  background: linear-gradient(135deg, var(--color-hero-gradient-start) 0%, var(--color-hero-gradient-end) 100%);
  border-radius: var(--radius-xl);
  padding: 24px 32px;
  color: #fff;
  margin-bottom: var(--spacing-4);
  box-shadow: 0 4px 12px rgba(22, 119, 255, 0.3);
  position: relative;
  overflow: hidden;
}
/* 几何图形装饰 */
.highlights-bg-decoration[data-v-ca02e4cf] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-ca02e4cf] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-ca02e4cf] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-ca02e4cf] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-ca02e4cf] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-ca02e4cf] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-ca02e4cf] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-ca02e4cf] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-ca02e4cf] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-ca02e4cf] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-ca02e4cf] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
[data-v-ca02e4cf] .ant-input {
  width: auto;
}
@media (max-width: 768px) {
.highlights-panel[data-v-ca02e4cf] {
    padding: 16px;
}
.highlights-bg-decoration[data-v-ca02e4cf] {
    display: none;
}
}
.highlights-content[data-v-ca02e4cf] {
  display: flex;
  justify-content: space-between;
}
.highlights-left h2[data-v-ca02e4cf] {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: white;
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-meta[data-v-ca02e4cf] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  font-size: 13px;
  opacity: 0.85;
}
.highlights-tag[data-v-ca02e4cf] {
  background: rgba(255, 255, 255, 0.2) !important;
  border: none !important;
  color: #fff !important;
  font-size: 12px;
  padding: 2px 10px;
}
.highlights-right[data-v-ca02e4cf] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-action-btn[data-v-ca02e4cf] {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
}
.highlights-action-btn[data-v-ca02e4cf]:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.5);
}
.form-content[data-v-ca02e4cf] {
  max-width: 1200px;
  padding-bottom: 60px;
}
.fixed-actions[data-v-ca02e4cf] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 12px;
  background: #fff;
  border-top: 1px solid var(--color-border-secondary);
  display: flex;
  justify-content: flex-end;
  z-index: 100;
}
.info-section[data-v-ca02e4cf] {
  margin-bottom: 24px;
  border: 1px solid var(--color-border-secondary);
  border-radius: 10px;
  overflow: hidden;
}
.section-header[data-v-ca02e4cf] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 20px;
  background: var(--color-fill-quaternary);
  border-bottom: 1px solid var(--color-border-secondary);
  font-weight: 600;
  color: var(--color-text-primary);
}
.section-body[data-v-ca02e4cf] {
  padding: 16px 20px;
}
@media (max-width: 768px) {
.section-body[data-v-ca02e4cf] {
    padding: 12px;
}
}
@media (max-width: 768px) {
.record-type-edit-page[data-v-ca02e4cf] {
    padding: 12px;
}
.highlights-panel[data-v-ca02e4cf] {
    padding: 16px;
}
.highlights-content[data-v-ca02e4cf] {
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
}
.highlights-left h2[data-v-ca02e4cf] {
    font-size: 18px;
}
.highlights-right[data-v-ca02e4cf] {
    width: auto;
    flex-shrink: 0;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-ca02e4cf] {
    padding: 12px;
}
}
/* ==================== 移动端卡片视图 ==================== */
.mobile-card-list[data-v-ca02e4cf] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 0;
}
.mobile-card[data-v-ca02e4cf] {
  background: #fff;
  border: 1px solid #f0f0f0;
  border-radius: 8px;
  padding: 12px;
  margin-bottom: 8px;
}
.mobile-card-header[data-v-ca02e4cf] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
  gap: 8px;
}
.mobile-card-title[data-v-ca02e4cf] {
  font-size: 15px;
  font-weight: 600;
  color: #262626;
  flex: 1;
}
.mobile-card-body[data-v-ca02e4cf] {
  margin-bottom: 8px;
}
.mobile-card-row[data-v-ca02e4cf] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4px 0;
  font-size: 13px;
}
.mobile-card-row-full[data-v-ca02e4cf] {
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}
.mobile-card-label[data-v-ca02e4cf] {
  color: #8c8c8c;
  font-size: 12px;
}
.mobile-card-value[data-v-ca02e4cf] {
  color: #595959;
  font-size: 13px;
}
.mobile-card-actions[data-v-ca02e4cf] {
  padding-top: 8px;
  border-top: 1px solid #f0f0f0;
  display: flex;
  justify-content: flex-end;
}
.mobile-card-actions-right[data-v-ca02e4cf] {
  justify-content: flex-end;
}
.etl-pipeline-edit-page[data-v-5fb1adf0] {
  padding: var(--spacing-4);
  min-height: 100%;
  background: var(--color-bg-layout);
}
/* ===== Hero 区域（标准样式，与 index.vue 一致） ===== */
.hero-bg-decoration[data-v-5fb1adf0] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-5fb1adf0] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-5fb1adf0] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.hero-circle--2[data-v-5fb1adf0] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.hero-circle--3[data-v-5fb1adf0] {
  width: 80px;
  height: 80px;
  top: 30%;
  right: 10%;
}
.hero-line[data-v-5fb1adf0] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.hero-line--1[data-v-5fb1adf0] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.hero-line--2[data-v-5fb1adf0] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.hero-dot[data-v-5fb1adf0] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.hero-dot--1[data-v-5fb1adf0] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.hero-dot--2[data-v-5fb1adf0] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.hero-dot--3[data-v-5fb1adf0] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
.hero-content[data-v-5fb1adf0] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
}
.hero-left[data-v-5fb1adf0] {
  flex: 1;
}
.hero-title[data-v-5fb1adf0] {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 12px;
}
.hero-desc[data-v-5fb1adf0] {
  margin-top: 8px;
  font-size: 13px;
  opacity: 0.85;
}
.hero-tag[data-v-5fb1adf0] {
  background: rgba(255, 255, 255, 0.2) !important;
  border: none !important;
  color: #fff !important;
  font-size: 12px;
  padding: 2px 10px;
}
.hero-right[data-v-5fb1adf0] {
  display: flex;
  align-items: center;
  gap: 12px;
}
/* ===== 表单区域 ===== */
.form-content[data-v-5fb1adf0] {
  max-width: 1200px;
  padding-bottom: 60px;
}
.info-section[data-v-5fb1adf0] {
  margin-bottom: 24px;
  border: 1px solid var(--color-border-secondary);
  border-radius: 10px;
  overflow: hidden;
}
.section-header[data-v-5fb1adf0] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 20px;
  background: var(--color-fill-quaternary);
  border-bottom: 1px solid var(--color-border-secondary);
  font-weight: 600;
  color: var(--color-text-primary);
}
.section-body[data-v-5fb1adf0] {
  padding: 16px 20px;
}
.designer-placeholder[data-v-5fb1adf0] {
  text-align: center;
  padding: 40px 20px;
  background: var(--color-fill-quaternary);
  border-radius: 8px;
}
.designer-placeholder p[data-v-5fb1adf0] {
  color: var(--color-text-tertiary);
  margin-bottom: 16px;
}
.designer-placeholder .designer-hint[data-v-5fb1adf0] {
  margin-top: 12px;
  font-size: 12px;
  color: var(--color-text-tertiary);
}
.fixed-actions[data-v-5fb1adf0] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 12px;
  background: #fff;
  border-top: 1px solid var(--color-border-secondary);
  display: flex;
  justify-content: flex-end;
  z-index: 100;
}
/* ===== 移动端卡片 ===== */
.mobile-card-list[data-v-5fb1adf0] {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-3);
  margin-bottom: var(--spacing-4);
}
.mobile-card[data-v-5fb1adf0] {
  background: var(--color-neutral-0);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-lg);
  padding: var(--spacing-3);
  transition: all var(--duration-fast) var(--easing-default);
}
.mobile-card[data-v-5fb1adf0]:hover {
  border-color: var(--color-primary-200);
  box-shadow: var(--shadow-sm);
}
.mobile-card-header[data-v-5fb1adf0] {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  margin-bottom: var(--spacing-2);
}
.mobile-card-name[data-v-5fb1adf0] {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  flex: 1;
}
.mobile-card-body[data-v-5fb1adf0] {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
  margin-bottom: var(--spacing-2);
}
.mobile-card-item[data-v-5fb1adf0] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.mobile-card-label[data-v-5fb1adf0] {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
}
.mobile-card-actions[data-v-5fb1adf0] {
  display: flex;
  justify-content: flex-end;
  gap: var(--spacing-1);
  padding-top: var(--spacing-2);
  border-top: 1px solid var(--color-border-light);
}
/* ===== 响应式 ===== */
@media (max-width: 768px) {
.etl-pipeline-edit-page[data-v-5fb1adf0] {
    padding: 12px;
}
.hero-section[data-v-5fb1adf0] {
    padding: 14px 16px;
}
.hero-bg-decoration[data-v-5fb1adf0] {
    display: none;
}
.hero-content[data-v-5fb1adf0] {
    flex-direction: column;
    gap: 12px;
}
.hero-title[data-v-5fb1adf0] {
    font-size: 18px;
}
.hero-right[data-v-5fb1adf0] {
    width: 100%;
}
.section-body[data-v-5fb1adf0] {
    padding: 12px;
}
}
.etl-node-palette[data-v-5648df56] {
  width: 100%;
  height: 100%;
  background: var(--designer-panel-bg, #ffffff);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  user-select: none;
}
.palette-header[data-v-5648df56] {
  padding: 12px 12px 8px;
  border-bottom: 1px solid var(--designer-panel-border, #e5e7eb);
}
.palette-title[data-v-5648df56] {
  font-weight: 600;
  font-size: 14px;
  color: var(--color-text-primary, #111827);
}
.palette-search[data-v-5648df56] {
  padding: 8px 12px;
  border-bottom: 1px solid var(--designer-panel-border, #e5e7eb);
}
.palette-groups[data-v-5648df56] {
  flex: 1;
  overflow-y: auto;
  padding: 4px 0;
}
.palette-group[data-v-5648df56] {
  margin-bottom: 2px;
}
.group-header[data-v-5648df56] {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  cursor: pointer;
  font-size: 12px;
  font-weight: 600;
  color: var(--color-text-secondary, #4b5563);
  transition: background 0.2s;
}
.group-header[data-v-5648df56]:hover {
  background: var(--color-bg-layout, #fafbfc);
}
.group-arrow[data-v-5648df56] {
  font-size: 10px;
  transition: transform 0.2s;
  color: var(--color-text-tertiary, #9ca3af);
}
.group-arrow-expanded[data-v-5648df56] {
  transform: rotate(90deg);
}
.group-color-dot[data-v-5648df56] {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.group-label[data-v-5648df56] {
  flex: 1;
}
.group-count[data-v-5648df56] {
  font-size: 11px;
  color: var(--color-text-tertiary, #9ca3af);
  font-weight: 400;
}
.group-items[data-v-5648df56] {
  padding: 2px 8px 8px;
}
.palette-item[data-v-5648df56] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  margin-bottom: 2px;
  border-radius: 4px;
  cursor: grab;
  transition: all 0.2s;
  font-size: 12px;
  color: var(--color-text-secondary, #4b5563);
}
.palette-item[data-v-5648df56]:hover {
  background: var(--color-primary-50, #eff6ff);
  color: var(--color-primary-500, #3b82f6);
  transform: translateX(2px);
}
.palette-item[data-v-5648df56]:active {
  cursor: grabbing;
}
.palette-item-icon[data-v-5648df56] {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  transition: all 0.3s ease;
}
.palette-item:hover .palette-item-icon[data-v-5648df56] {
  transform: scale(1.08);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2);
}
.palette-item-info[data-v-5648df56] {
  flex: 1;
  overflow: hidden;
}
.palette-item-label[data-v-5648df56] {
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.palette-item-desc[data-v-5648df56] {
  font-size: 11px;
  color: var(--color-text-tertiary, #9ca3af);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.etl-property-panel[data-v-8c968d47] {
  width: 100%;
  height: 100%;
  background: var(--designer-panel-bg, #ffffff);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.panel-header[data-v-8c968d47] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid var(--designer-panel-border, #e5e7eb);
}
.panel-title[data-v-8c968d47] {
  font-weight: 600;
  font-size: 14px;
  color: var(--color-text-primary, #111827);
}
.panel-empty[data-v-8c968d47] {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.panel-content[data-v-8c968d47] {
  flex: 1;
  overflow-y: auto;
  padding: 12px 16px;
}
.node-type-badge-wrap[data-v-8c968d47] {
  margin-bottom: 8px;
}
.mapping-row[data-v-8c968d47] {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 8px;
}
.mapping-arrow[data-v-8c968d47] {
  color: var(--color-text-tertiary, #9ca3af);
  font-size: 12px;
}
.property-collapse[data-v-8c968d47] .ant-collapse-header {
  padding: 8px 0 !important;
  font-size: 12px;
  font-weight: 600;
  color: var(--color-text-secondary, #4b5563);
}
.property-collapse[data-v-8c968d47] .ant-collapse-content-box {
  padding: 0 0 8px !important;
}
.property-collapse[data-v-8c968d47] .ant-collapse-item {
  border-bottom: none !important;
}
.etl-designer[data-v-61081fa3] {
  width: 100%;
  height: 100%;
  background: var(--designer-canvas-bg, #fafbfc);
  display: flex;
  flex-direction: column;
}
.etl-designer.mobile-mode .designer-header[data-v-61081fa3] {
  padding: 0 8px;
}
.etl-designer.mobile-mode .designer-header .header-center[data-v-61081fa3] {
  display: none;
}
.designer-layout[data-v-61081fa3] {
  height: 100%;
}
.designer-header[data-v-61081fa3] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 16px;
  height: var(--designer-toolbar-height);
  background: #fff;
  border-bottom: 1px solid var(--designer-panel-border, #e5e7eb);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
  z-index: 10;
}
.designer-header .header-left[data-v-61081fa3] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
}
.designer-header .header-center[data-v-61081fa3] {
  display: flex;
  align-items: center;
  gap: 4px;
  flex: 0 0 auto;
}
.designer-header .header-right[data-v-61081fa3] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  justify-content: flex-end;
}
.designer-header .header-title[data-v-61081fa3] {
  font-weight: 600;
  font-size: 15px;
  color: var(--color-text-primary);
}
.designer-header .header-status[data-v-61081fa3] {
  margin-left: 4px;
}
.designer-header .zoom-level[data-v-61081fa3] {
  font-size: 12px;
  color: var(--color-text-secondary);
  min-width: 40px;
  text-align: center;
}
.designer-sider[data-v-61081fa3] {
  background: #fff;
  border-right: 1px solid var(--designer-panel-border, #e5e7eb);
  overflow: hidden;
}
.designer-sider-right[data-v-61081fa3] {
  background: #fff;
  border-left: 1px solid var(--designer-panel-border, #e5e7eb);
  overflow: hidden;
}
.designer-content[data-v-61081fa3] {
  position: relative;
  overflow: hidden;
  background: var(--designer-canvas-bg, #fafbfc);
}
.canvas-container[data-v-61081fa3] {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
  cursor: default;
}
.canvas-container[data-v-61081fa3]:active {
  cursor: grabbing;
}
.canvas-grid[data-v-61081fa3] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: radial-gradient(circle, var(--designer-canvas-grid-color, #e5e7eb) 1px, transparent 1px);
  background-size: 20px 20px;
  pointer-events: none;
  transition: opacity 0.2s ease;
}
.canvas-grid--hidden[data-v-61081fa3] {
  background-image: none;
}
.canvas-grid--dense[data-v-61081fa3] {
  background-image: radial-gradient(circle, var(--designer-canvas-grid-color, #e5e7eb) 0.5px, transparent 0.5px);
}
.canvas-wrapper[data-v-61081fa3] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform-origin: 0 0;
}
.canvas-empty[data-v-61081fa3] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: var(--color-text-secondary, #86909c);
  pointer-events: none;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.canvas-empty .empty-icon-wrap[data-v-61081fa3] {
  width: 96px;
  height: 96px;
  border-radius: 24px;
  background: linear-gradient(135deg, #dbeafe 0%, #ede9fe 50%, #fef3c7 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  box-shadow: 0 8px 24px rgba(59, 130, 246, 0.12);
}
.canvas-empty .empty-icon[data-v-61081fa3] {
  font-size: 48px;
  background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.canvas-empty .empty-title[data-v-61081fa3] {
  font-size: 15px;
  font-weight: 500;
  margin: 0 0 6px 0;
  color: var(--color-text-primary, #1d2129);
}
.canvas-empty .empty-subtitle[data-v-61081fa3] {
  font-size: 12px;
  margin: 0 0 16px 0;
  color: var(--color-text-tertiary, #c9cdd4);
  max-width: 280px;
}
.canvas-empty .empty-action[data-v-61081fa3] {
  pointer-events: auto;
}
.edges-layer[data-v-61081fa3] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: visible;
}
.edges-layer .edge-path[data-v-61081fa3] {
  pointer-events: stroke;
  cursor: pointer;
  transition: stroke 0.2s;
}
.edges-layer .edge-path[data-v-61081fa3]:hover {
  stroke: var(--designer-edge-color-hover, #3b82f6);
}
.edges-layer .edge-path.edge-selected[data-v-61081fa3] {
  stroke: var(--designer-edge-color-selected, #3b82f6);
  stroke-width: 2.5;
  stroke-dasharray: 8, 4;
  animation: designer-edge-flow 0.8s linear infinite;
}
.temp-edge-path[data-v-61081fa3] {
  animation: designer-edge-flow 0.6s linear infinite;
  filter: drop-shadow(0 0 4px rgba(24, 144, 255, 0.5));
}
.etl-node[data-v-61081fa3] {
  position: absolute;
  width: var(--designer-node-width);
  background: #fff;
  border: 2px solid var(--designer-panel-border, #e5e7eb);
  border-radius: var(--designer-node-radius);
  box-shadow: var(--designer-node-shadow);
  cursor: move;
  transition: all 0.2s ease;
  user-select: none;
}
.etl-node[data-v-61081fa3]:hover {
  box-shadow: var(--designer-node-shadow-hover);
  transform: translateY(-1px);
}
.etl-node.etl-node-selected[data-v-61081fa3] {
  border-color: var(--color-primary-500, #3b82f6);
  box-shadow: var(--designer-node-shadow-selected);
}
.etl-node.etl-node-extract[data-v-61081fa3] {
  border-left: 4px solid var(--color-primary-500, #3b82f6);
}
.etl-node.etl-node-transform[data-v-61081fa3] {
  border-left: 4px solid var(--color-success-500, #10b981);
}
.etl-node.etl-node-load[data-v-61081fa3] {
  border-left: 4px solid var(--color-warning-500, #f59e0b);
}
.node-port[data-v-61081fa3] {
  position: absolute;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid var(--designer-edge-color, #d1d5db);
  cursor: crosshair;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.18s ease;
}
.node-port[data-v-61081fa3]:hover {
  border-color: var(--color-primary-500, #3b82f6);
  background: #e6f7ff;
  width: 28px;
  height: 28px;
  box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.18), 0 2px 8px rgba(59, 130, 246, 0.35);
}
.node-port .port-dot[data-v-61081fa3] {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--designer-edge-color, #d1d5db);
  transition: background 0.18s ease;
}
.node-port:hover .port-dot[data-v-61081fa3] {
  background: var(--color-primary-500, #3b82f6);
}
.node-port-input[data-v-61081fa3] {
  top: -11px;
  left: 50%;
  transform: translateX(-50%);
}
.node-port-output[data-v-61081fa3] {
  bottom: -11px;
  left: 50%;
  transform: translateX(-50%);
}
.node-header[data-v-61081fa3] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  margin-top: 6px;
  border-bottom: 1px solid var(--designer-panel-border, #e5e7eb);
  height: 40px;
}
.node-icon-wrap[data-v-61081fa3] {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
  background: linear-gradient(135deg, var(--node-color, #3b82f6) 0%, var(--node-color-secondary, #60a5fa) 100%);
  color: #fff;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease;
}
.node-title[data-v-61081fa3] {
  flex: 1;
  font-size: 13px;
  font-weight: 500;
  color: var(--color-text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.node-delete-btn[data-v-61081fa3] {
  flex-shrink: 0;
  opacity: 0;
  transition: opacity 0.2s;
}
.etl-node:hover .node-delete-btn[data-v-61081fa3] {
  opacity: 1;
}
/* 触屏/移动端：删除按钮常显 */
@media (hover: none), (max-width: 768px) {
.node-delete-btn[data-v-61081fa3] {
    opacity: 1;
}
}
.node-body[data-v-61081fa3] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 8px;
  height: 36px;
}
.node-type-badge[data-v-61081fa3] {
  font-size: 11px;
  color: var(--color-text-secondary);
  background: #f5f5f5;
  padding: 2px 6px;
  border-radius: 3px;
}
.node-order[data-v-61081fa3] {
  font-size: 11px;
  color: #999;
  font-weight: 600;
}
.context-menu[data-v-61081fa3] {
  position: fixed;
  background: #fff;
  border: 1px solid var(--designer-panel-border, #e5e7eb);
  border-radius: 4px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
  z-index: 1000;
  min-width: 140px;
  padding: 4px 0;
}
.context-menu-item[data-v-61081fa3] {
  padding: 8px 16px;
  cursor: pointer;
  font-size: 13px;
  color: var(--color-text-primary);
  display: flex;
  align-items: center;
  gap: 8px;
  transition: background 0.2s;
}
.context-menu-item[data-v-61081fa3]:hover {
  background: #f5f5f5;
}
.context-menu-item.danger[data-v-61081fa3] {
  color: #ff4d4f;
}
.context-menu-item.danger[data-v-61081fa3]:hover {
  background: #fff1f0;
}
.context-menu-divider[data-v-61081fa3] {
  height: 1px;
  background: var(--designer-panel-border, #e5e7eb);
  margin: 4px 0;
}
.mobile-drawer[data-v-61081fa3] .ant-drawer-body {
  padding: 0;
}
/* ========== 校验错误节点高亮（B4） ========== */
.etl-node-error[data-v-61081fa3] {
  border-color: #f53f3f !important;
  box-shadow: 0 0 0 2px rgba(245, 63, 63, 0.18) !important;
  animation: etl-node-error-pulse-61081fa3 1.4s ease-in-out infinite;
}
@keyframes etl-node-error-pulse-61081fa3 {
0%,
  100% {
    box-shadow: 0 0 0 2px rgba(245, 63, 63, 0.18);
}
50% {
    box-shadow: 0 0 0 4px rgba(245, 63, 63, 0.28);
}
}
/* ========== Minimap 概览（B3） ========== */
.minimap[data-v-61081fa3] {
  position: absolute;
  right: 16px;
  bottom: 16px;
  width: 188px;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(8px);
  border: 1px solid var(--designer-panel-border, #e5e7eb);
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  z-index: 5;
  padding: 8px;
  cursor: pointer;
}
.minimap-title[data-v-61081fa3] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: var(--color-text-secondary, #86909c);
  margin-bottom: 6px;
  padding-left: 2px;
}
.minimap-title[data-v-61081fa3] .anticon {
  font-size: 11px;
}
.minimap-canvas[data-v-61081fa3] {
  position: relative;
  background: #f7f8fa;
  border-radius: 4px;
  overflow: hidden;
}
.minimap-node[data-v-61081fa3] {
  position: absolute;
  border-radius: 2px;
}
.minimap-node-extract[data-v-61081fa3] {
  background: #3b82f6;
}
.minimap-node-transform[data-v-61081fa3] {
  background: #10b981;
}
.minimap-node-load[data-v-61081fa3] {
  background: #f59e0b;
}
.minimap-viewport[data-v-61081fa3] {
  position: absolute;
  border: 1.5px solid #3b82f6;
  background: rgba(59, 130, 246, 0.08);
  border-radius: 2px;
  pointer-events: none;
}
/* ========== 校验错误面板（B4） ========== */
.validation-panel[data-v-61081fa3] {
  position: absolute;
  left: 16px;
  bottom: 16px;
  width: 300px;
  max-height: 260px;
  background: #fff;
  border: 1px solid #ffd4d4;
  border-left: 3px solid #f53f3f;
  border-radius: 8px;
  box-shadow: 0 6px 20px rgba(245, 63, 63, 0.15);
  z-index: 6;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.validation-header[data-v-61081fa3] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 500;
  color: #f53f3f;
  background: #fff1f0;
  cursor: pointer;
  user-select: none;
}
.validation-icon[data-v-61081fa3] {
  font-size: 14px;
}
.validation-toggle[data-v-61081fa3] {
  margin-left: auto;
  font-size: 11px;
  color: #f53f3f;
}
.validation-list[data-v-61081fa3] {
  overflow-y: auto;
  padding: 4px 0;
  max-height: 200px;
}
.validation-item[data-v-61081fa3] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  font-size: 12px;
  color: var(--color-text-primary, #1d2129);
  border-bottom: 1px solid #f5f5f5;
  transition: background 0.15s ease;
}
.validation-item[data-v-61081fa3]:last-child {
  border-bottom: none;
}
.validation-item--clickable[data-v-61081fa3] {
  cursor: pointer;
}
.validation-item--clickable[data-v-61081fa3]:hover {
  background: #fff1f0;
}
.validation-dot[data-v-61081fa3] {
  flex-shrink: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #f53f3f;
}
.validation-text[data-v-61081fa3] {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.validation-jump[data-v-61081fa3] {
  flex-shrink: 0;
  font-size: 11px;
  color: #f53f3f;
}
.validation-rule-page[data-v-52c596dc] {
  background: var(--color-bg-layout);
  min-height: 100%;
  padding: var(--spacing-4);
}
.validation-rule-page[data-v-52c596dc] .responsive-table-container {
  padding: 0;
}
.hero-bg-decoration[data-v-52c596dc] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-52c596dc] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-52c596dc] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-52c596dc] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-52c596dc] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-52c596dc] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-52c596dc] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-52c596dc] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-52c596dc] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-52c596dc] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-52c596dc] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-52c596dc] {
  flex: 1;
}
.hero-title[data-v-52c596dc] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-52c596dc] {
  margin: 0 0 16px;
  font-size: 14px;
  opacity: 0.85;
  max-width: 600px;
}
.hero-stats[data-v-52c596dc] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.hero-stat[data-v-52c596dc] {
  display: flex;
  flex-direction: column;
}
.hero-stat-value[data-v-52c596dc] {
  font-size: 22px;
  font-weight: 700;
}
.hero-stat-label[data-v-52c596dc] {
  font-size: 12px;
  opacity: 0.7;
}
.hero-stat-divider[data-v-52c596dc] {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.25);
}
.hero-right[data-v-52c596dc] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
.table-cell-content[data-v-52c596dc] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.table-cell-title[data-v-52c596dc] {
  font-weight: 600;
  font-size: 15px;
  color: var(--color-text-primary);
  cursor: pointer;
  display: inline-block;
  transition: color 0.2s;
}
.table-cell-title[data-v-52c596dc]:hover {
  color: #1677ff;
}
.table-cell-subtitle[data-v-52c596dc] {
  font-size: 13px;
  color: var(--color-text-tertiary);
  line-height: 1.5;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 400px;
}
.status-tag[data-v-52c596dc] {
  font-weight: 500;
  font-size: 12px;
  padding: 2px 8px;
  border-radius: var(--radius-sm);
}
@media (max-width: 991px) {
.hero-content[data-v-52c596dc] {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}
.hero-stats[data-v-52c596dc] {
    gap: 12px;
}
.hero-stat-value[data-v-52c596dc] {
    font-size: 18px;
}
}
@media (max-width: 575px) {
.hero-title[data-v-52c596dc] {
    font-size: 20px;
}
.hero-right[data-v-52c596dc] {
    width: 100%;
}
}
.filter-actions-col[data-v-52c596dc] {
  display: flex;
  justify-content: flex-end;
}
.validation-rule-edit-page[data-v-e37e0ddc] {
  padding: var(--spacing-4);
  min-height: 100%;
  background: var(--color-bg-layout);
}
.highlights-panel[data-v-e37e0ddc] {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  border-radius: var(--radius-xl);
  padding: 24px 32px;
  color: #fff;
  margin-bottom: var(--spacing-4);
  position: relative;
  overflow: hidden;
}
/* 几何图形装饰 */
.highlights-bg-decoration[data-v-e37e0ddc] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-e37e0ddc] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-e37e0ddc] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-e37e0ddc] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-e37e0ddc] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-e37e0ddc] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-e37e0ddc] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-e37e0ddc] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-e37e0ddc] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-e37e0ddc] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-e37e0ddc] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
@media (max-width: 768px) {
.highlights-panel[data-v-e37e0ddc] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-e37e0ddc] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-e37e0ddc] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-e37e0ddc] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-e37e0ddc] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-e37e0ddc] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-e37e0ddc] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-e37e0ddc] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-e37e0ddc] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-e37e0ddc] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-e37e0ddc] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-e37e0ddc] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-e37e0ddc] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
.highlights-content[data-v-e37e0ddc] {
  display: flex;
  justify-content: space-between;
}
.highlights-left h2[data-v-e37e0ddc] {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: white;
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-meta[data-v-e37e0ddc] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  font-size: 13px;
  opacity: 0.85;
}
.highlights-tag[data-v-e37e0ddc] {
  background: rgba(255, 255, 255, 0.2) !important;
  border: none !important;
  color: #fff !important;
  font-size: 12px;
  padding: 2px 10px;
}
.highlights-right[data-v-e37e0ddc] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-action-btn[data-v-e37e0ddc] {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
}
.highlights-action-btn[data-v-e37e0ddc]:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.5);
}
.form-content[data-v-e37e0ddc] {
  max-width: 1200px;
  padding-bottom: 60px;
}
.fixed-actions[data-v-e37e0ddc] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 12px;
  background: #fff;
  border-top: 1px solid var(--color-border-secondary);
  display: flex;
  justify-content: flex-end;
  z-index: 100;
}
.info-section[data-v-e37e0ddc] {
  margin-bottom: 24px;
  border: 1px solid var(--color-border-secondary);
  border-radius: 10px;
  overflow: hidden;
}
.section-header[data-v-e37e0ddc] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 20px;
  background: var(--color-fill-quaternary);
  border-bottom: 1px solid var(--color-border-secondary);
  font-weight: 600;
  color: var(--color-text-primary);
}
.section-body[data-v-e37e0ddc] {
  padding: 16px 20px;
}
@media (max-width: 768px) {
.section-body[data-v-e37e0ddc] {
    padding: 12px;
}
.section-body .highlights-panel .highlights-bg-decoration[data-v-e37e0ddc] {
    display: none;
}
}
textarea[data-v-e37e0ddc] .ant-input {
  width: 100%;
}
@media (max-width: 768px) {
.validation-rule-edit-page[data-v-e37e0ddc] {
    padding: 12px;
}
.validation-rule-edit-page .highlights-panel .highlights-bg-decoration[data-v-e37e0ddc] {
    display: none;
}
.highlights-panel[data-v-e37e0ddc] {
    padding: 16px;
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-e37e0ddc] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-e37e0ddc] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-e37e0ddc] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-e37e0ddc] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-e37e0ddc] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-e37e0ddc] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-e37e0ddc] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-e37e0ddc] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-e37e0ddc] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-e37e0ddc] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-e37e0ddc] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-content[data-v-e37e0ddc] {
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
}
.highlights-left h2[data-v-e37e0ddc] {
    font-size: 18px;
}
.highlights-right[data-v-e37e0ddc] {
    width: auto;
    flex-shrink: 0;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-e37e0ddc] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-e37e0ddc] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-e37e0ddc] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-e37e0ddc] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-e37e0ddc] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-e37e0ddc] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-e37e0ddc] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-e37e0ddc] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-e37e0ddc] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-e37e0ddc] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-e37e0ddc] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-e37e0ddc] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-e37e0ddc] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
.webhook-page[data-v-4dbda37b] {
  background: var(--color-bg-layout);
  min-height: 100%;
  padding: var(--spacing-4);
}
.webhook-page[data-v-4dbda37b] .responsive-table-container {
  padding: 0;
}
.hero-bg-decoration[data-v-4dbda37b] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-4dbda37b] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-4dbda37b] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-4dbda37b] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-4dbda37b] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-4dbda37b] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-4dbda37b] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-4dbda37b] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-4dbda37b] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-4dbda37b] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-4dbda37b] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-4dbda37b] {
  flex: 1;
}
.hero-title[data-v-4dbda37b] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-4dbda37b] {
  margin: 0 0 16px;
  font-size: 14px;
  opacity: 0.85;
  max-width: 600px;
}
.hero-stats[data-v-4dbda37b] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.hero-stat[data-v-4dbda37b] {
  display: flex;
  flex-direction: column;
}
.hero-stat-value[data-v-4dbda37b] {
  font-size: 22px;
  font-weight: 700;
}
.hero-stat-label[data-v-4dbda37b] {
  font-size: 12px;
  opacity: 0.7;
}
.hero-stat-divider[data-v-4dbda37b] {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.25);
}
.hero-right[data-v-4dbda37b] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
.table-cell-content[data-v-4dbda37b] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.table-cell-title[data-v-4dbda37b] {
  font-weight: 600;
  font-size: 15px;
  color: var(--color-text-primary);
  cursor: pointer;
  display: inline-block;
  transition: color 0.2s;
}
.table-cell-title[data-v-4dbda37b]:hover {
  color: #1677ff;
}
.table-cell-subtitle[data-v-4dbda37b] {
  font-size: 13px;
  color: var(--color-text-tertiary);
  line-height: 1.5;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 400px;
}
.status-tag[data-v-4dbda37b] {
  font-weight: 500;
  font-size: 12px;
  padding: 2px 8px;
  border-radius: var(--radius-sm);
}
@media (max-width: 991px) {
.hero-content[data-v-4dbda37b] {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}
.hero-stats[data-v-4dbda37b] {
    gap: 12px;
}
.hero-stat-value[data-v-4dbda37b] {
    font-size: 18px;
}
}
@media (max-width: 575px) {
.hero-title[data-v-4dbda37b] {
    font-size: 20px;
}
.hero-right[data-v-4dbda37b] {
    width: 100%;
}
}
.filter-actions-col[data-v-4dbda37b] {
  display: flex;
  justify-content: flex-end;
}
.webhook-edit-page[data-v-5d1ecfcf] {
  padding: var(--spacing-4);
  min-height: 100%;
  background: var(--color-bg-layout);
}
.highlights-panel[data-v-5d1ecfcf] {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  border-radius: var(--radius-xl);
  padding: 24px 32px;
  color: #fff;
  margin-bottom: var(--spacing-4);
  position: relative;
  overflow: hidden;
}
/* 几何图形装饰 */
.highlights-bg-decoration[data-v-5d1ecfcf] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-5d1ecfcf] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-5d1ecfcf] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-5d1ecfcf] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-5d1ecfcf] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-5d1ecfcf] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-5d1ecfcf] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-5d1ecfcf] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-5d1ecfcf] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-5d1ecfcf] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-5d1ecfcf] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
@media (max-width: 768px) {
.highlights-panel[data-v-5d1ecfcf] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-5d1ecfcf] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-5d1ecfcf] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-5d1ecfcf] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-5d1ecfcf] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-5d1ecfcf] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-5d1ecfcf] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-5d1ecfcf] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-5d1ecfcf] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-5d1ecfcf] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-5d1ecfcf] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-5d1ecfcf] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-5d1ecfcf] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
.highlights-content[data-v-5d1ecfcf] {
  display: flex;
  justify-content: space-between;
}
.highlights-left h2[data-v-5d1ecfcf] {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: white;
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-meta[data-v-5d1ecfcf] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  font-size: 13px;
  opacity: 0.85;
}
.highlights-tag[data-v-5d1ecfcf] {
  background: rgba(255, 255, 255, 0.2) !important;
  border: none !important;
  color: #fff !important;
  font-size: 12px;
  padding: 2px 10px;
}
.highlights-right[data-v-5d1ecfcf] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-action-btn[data-v-5d1ecfcf] {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
}
.highlights-action-btn[data-v-5d1ecfcf]:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.5);
}
.form-content[data-v-5d1ecfcf] {
  max-width: 1200px;
  padding-bottom: 60px;
}
.fixed-actions[data-v-5d1ecfcf] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 12px;
  background: #fff;
  border-top: 1px solid var(--color-border-secondary);
  display: flex;
  justify-content: flex-end;
  z-index: 100;
}
.info-section[data-v-5d1ecfcf] {
  margin-bottom: 24px;
  border: 1px solid var(--color-border-secondary);
  border-radius: 10px;
  overflow: hidden;
}
.section-header[data-v-5d1ecfcf] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 20px;
  background: var(--color-fill-quaternary);
  border-bottom: 1px solid var(--color-border-secondary);
  font-weight: 600;
  color: var(--color-text-primary);
}
.section-body[data-v-5d1ecfcf] {
  padding: 16px 20px;
}
@media (max-width: 768px) {
.section-body[data-v-5d1ecfcf] {
    padding: 12px;
}
.section-body .highlights-panel .highlights-bg-decoration[data-v-5d1ecfcf] {
    display: none;
}
}
@media (max-width: 768px) {
.webhook-edit-page[data-v-5d1ecfcf] {
    padding: 12px;
}
.webhook-edit-page .highlights-panel .highlights-bg-decoration[data-v-5d1ecfcf] {
    display: none;
}
.highlights-panel[data-v-5d1ecfcf] {
    padding: 16px;
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-5d1ecfcf] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-5d1ecfcf] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-5d1ecfcf] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-5d1ecfcf] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-5d1ecfcf] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-5d1ecfcf] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-5d1ecfcf] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-5d1ecfcf] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-5d1ecfcf] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-5d1ecfcf] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-5d1ecfcf] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-content[data-v-5d1ecfcf] {
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
}
.highlights-left h2[data-v-5d1ecfcf] {
    font-size: 18px;
}
.highlights-right[data-v-5d1ecfcf] {
    width: auto;
    flex-shrink: 0;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-5d1ecfcf] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-5d1ecfcf] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-5d1ecfcf] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-5d1ecfcf] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-5d1ecfcf] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-5d1ecfcf] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-5d1ecfcf] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-5d1ecfcf] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-5d1ecfcf] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-5d1ecfcf] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-5d1ecfcf] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-5d1ecfcf] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-5d1ecfcf] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
/* 自定义模态框遮罩层 */
.custom-modal-overlay[data-v-6e83bd3e] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(0, 0, 0, 0.7) 0%, rgba(15, 23, 42, 0.75) 100%);
  backdrop-filter: blur(20px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  animation: maskFadeIn-6e83bd3e 0.5s ease-out;
}
/* 自定义模态框 */
.custom-modal[data-v-6e83bd3e] {
  position: relative;
  background: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(32px);
  border-radius: 20px;
  box-shadow: 0 32px 96px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.15);
  animation: modalSlideIn-6e83bd3e 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  max-width: 90vw;
  max-height: 90vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
}
/* 关闭按钮 */
.custom-modal-close[data-v-6e83bd3e] {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 36px;
  height: 36px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  transition: all 0.3s ease;
  backdrop-filter: blur(8px);
}
.custom-modal-close[data-v-6e83bd3e]:hover {
  background: rgba(0, 0, 0, 0.2);
  transform: scale(1.1);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}
.custom-modal-close svg[data-v-6e83bd3e] {
  color: rgba(0, 0, 0, 0.7);
  transition: color 0.3s ease;
}
.custom-modal-close:hover svg[data-v-6e83bd3e] {
  color: rgba(0, 0, 0, 0.9);
}
/* 全屏模态框 */
.custom-modal-fullscreen[data-v-6e83bd3e] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  border-radius: 0;
  overflow: hidden;
}
/* 动画效果 */
@keyframes maskFadeIn-6e83bd3e {
from {
    opacity: 0;
    background: linear-gradient(135deg, rgba(0, 0, 0, 0.4) 0%, rgba(15, 23, 42, 0.5) 100%);
}
to {
    opacity: 1;
    background: linear-gradient(135deg, rgba(0, 0, 0, 0.7) 0%, rgba(15, 23, 42, 0.75) 100%);
}
}
@keyframes modalSlideIn-6e83bd3e {
from {
    opacity: 0;
    transform: scale(0.9) translateY(-40px);
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.2);
}
to {
    opacity: 1;
    transform: scale(1) translateY(0);
    box-shadow: 0 32px 96px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(255, 255, 255, 0.1);
}
}
/* 加载动画 */
.loading-spinner[data-v-6e83bd3e] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 24px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(16px);
  border-radius: 12px;
  z-index: 100;
}
.spinner[data-v-6e83bd3e] {
  width: 64px;
  height: 64px;
  border: 4px solid rgba(24, 144, 255, 0.1);
  border-left-color: #1890ff;
  border-radius: 50%;
  animation: spin-6e83bd3e 1s linear infinite;
  box-shadow: 0 0 20px rgba(24, 144, 255, 0.2);
}
.loading-text[data-v-6e83bd3e] {
  font-size: 18px;
  color: rgba(0, 0, 0, 0.8);
  font-weight: 600;
  letter-spacing: 0.8px;
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8);
}
@keyframes spin-6e83bd3e {
to {
    transform: rotate(360deg);
}
}
/* 图片渐现动画 */
@keyframes fadeIn-6e83bd3e {
from {
    opacity: 0;
}
to {
    opacity: 1;
}
}
/* 图片切换动画 */
@keyframes slideIn-6e83bd3e {
from {
    opacity: 0;
    transform: translateX(30px);
}
to {
    opacity: 1;
    transform: translateX(0);
}
}
/* 图片淡出动画 */
@keyframes fadeOut-6e83bd3e {
from {
    opacity: 1;
}
to {
    opacity: 0;
}
}
/* 错误状态 */
.error-container[data-v-6e83bd3e] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
  text-align: center;
  padding: 0 32px;
}
.error-icon[data-v-6e83bd3e] {
  margin-bottom: 12px;
  transform: scale(1.1);
}
.error-message[data-v-6e83bd3e] {
  font-size: 20px;
  font-weight: 600;
  color: #ff4d4f;
  margin-bottom: 8px;
  letter-spacing: 0.5px;
}
.error-detail[data-v-6e83bd3e] {
  font-size: 16px;
  color: rgba(0, 0, 0, 0.65);
  margin-bottom: 20px;
  line-height: 1.6;
  max-width: 400px;
}
.retry-button[data-v-6e83bd3e] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 24px;
  border: 1px solid #1890ff;
  border-radius: 10px;
  background: #1890ff;
  color: white;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 16px rgba(24, 144, 255, 0.3);
}
.retry-button[data-v-6e83bd3e]:hover:not(:disabled) {
  background: #40a9ff;
  border-color: #40a9ff;
  transform: translateY(-3px);
  box-shadow: 0 12px 32px rgba(24, 144, 255, 0.4);
}
.retry-button[data-v-6e83bd3e]:disabled {
  background: #f0f0f0;
  border-color: #d9d9d9;
  color: #bfbfbf;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
.retry-limit[data-v-6e83bd3e] {
  font-size: 14px;
  color: #ff4d4f;
  margin-top: 12px;
}
/* 工具提示 */
.tooltip-wrapper[data-v-6e83bd3e] {
  position: relative;
  display: inline-block;
}
.tooltip[data-v-6e83bd3e] {
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.9);
  color: white;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 13px;
  white-space: nowrap;
  margin-bottom: 10px;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  z-index: 100;
  backdrop-filter: blur(8px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}
.tooltip-wrapper:hover .tooltip[data-v-6e83bd3e] {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(-6px);
}
/* 分隔线 */
.divider[data-v-6e83bd3e] {
  width: 1px;
  height: 36px;
  background: rgba(0, 0, 0, 0.12);
  margin: 0 12px;
  border-radius: 0.5px;
}
/* 按钮基础样式 */
button[data-v-6e83bd3e] {
  background: transparent;
  border: none;
  cursor: pointer;
  font-size: 16px;
  color: rgba(0, 0, 0, 0.65);
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
button[data-v-6e83bd3e]:hover {
  color: rgba(0, 0, 0, 0.9);
}
button[data-v-6e83bd3e]:disabled {
  cursor: not-allowed;
  opacity: 0.4;
}
button[data-v-6e83bd3e]:disabled:hover {
  color: rgba(0, 0, 0, 0.65);
  transform: none;
}
.image-viewer[data-v-6e83bd3e] {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.image-viewer-content[data-v-6e83bd3e] {
  flex: 1;
  overflow: hidden;
  min-height: 300px;
}
.image-viewer-toolbar-bottom[data-v-6e83bd3e] {
  position: sticky;
  bottom: 0;
  z-index: 10;
}
/* 顶部工具栏 */
.image-viewer-toolbar[data-v-6e83bd3e] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 64px 16px 16px;
  background: rgba(255, 255, 255, 0.98);
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(20px);
  transition: all 0.3s ease;
}
.toolbar-left[data-v-6e83bd3e] {
  flex: 1;
  padding-right: 8px;
}
.image-viewer-title[data-v-6e83bd3e] {
  font-size: 20px;
  font-weight: 700;
  color: rgba(0, 0, 0, 0.9);
  margin-bottom: 6px;
  line-height: 1.4;
  letter-spacing: 0.5px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
.image-viewer-description[data-v-6e83bd3e] {
  font-size: 15px;
  color: rgba(0, 0, 0, 0.65);
  line-height: 1.6;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.toolbar-right[data-v-6e83bd3e] {
  display: flex;
  align-items: center;
  gap: 16px;
}
.toolbar-actions[data-v-6e83bd3e] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.view-mode-toggle[data-v-6e83bd3e] {
  width: 40px;
  height: 40px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
  color: rgba(0, 0, 0, 0.65);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  backdrop-filter: blur(8px);
}
.view-mode-toggle[data-v-6e83bd3e]:hover {
  border-color: #1890ff;
  color: #1890ff;
  background: rgba(24, 144, 255, 0.05);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(24, 144, 255, 0.2);
}
.view-mode-toggle[data-v-6e83bd3e]:active {
  transform: translateY(0);
}
.image-viewer-meta[data-v-6e83bd3e] {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 14px;
  flex-wrap: nowrap;
  overflow: hidden;
  white-space: nowrap;
  max-width: 100%;
  text-overflow: clip;
}
.image-viewer-index[data-v-6e83bd3e],
.image-viewer-size[data-v-6e83bd3e],
.image-viewer-scale[data-v-6e83bd3e] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: rgba(0, 0, 0, 0.06);
  border-radius: 24px;
  color: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  font-size: 14px;
  font-weight: 500;
}
.image-viewer-index[data-v-6e83bd3e]:hover,
.image-viewer-size[data-v-6e83bd3e]:hover,
.image-viewer-scale[data-v-6e83bd3e]:hover {
  background: rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
/* 预览内容区域 */
.image-viewer-content[data-v-6e83bd3e] {
  position: relative;
  flex: 1;
  padding: 8px 16px;
  background: linear-gradient(145deg, #f8fafc 0%, #e2e8f0 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: inset 0 0 60px rgba(0, 0, 0, 0.05);
  overflow: hidden;
}
/* 背景装饰 - 移除旋转效果，避免视频模糊 */
.image-viewer-content[data-v-6e83bd3e]::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.9) 0%, transparent 70%);
  opacity: 0.7;
  pointer-events: none;
}
/* 移除旋转动画，避免影响视频清晰度 */
/* 预览图片容器 */
.image-viewer-image-container[data-v-6e83bd3e] {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: grab;
  /* background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(8px); */
  border-radius: 12px;
  /* box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1); */
  transition: all 0.3s ease;
  z-index: 1;
}
/* .image-viewer-image-container:hover {
  box-shadow: 0 20px 80px rgba(0, 0, 0, 0.2), inset 0 0 0 1px rgba(255, 255, 255, 0.9);
}

.image-viewer-image-container:active {
  cursor: grabbing;
  box-shadow: 0 24px 96px rgba(0, 0, 0, 0.25), inset 0 0 0 1px rgba(255, 255, 255, 0.9);
} */
/* 媒体元素样式 */
.image-viewer-image[data-v-6e83bd3e],
.image-viewer-video[data-v-6e83bd3e] {
  max-width: 95%;
  max-height: 95%;
  object-fit: contain;
  border-radius: 12px;
  box-shadow: 0 20px 80px rgba(0, 0, 0, 0.25), 0 0 0 1px rgba(255, 255, 255, 0.5);
  position: relative;
  z-index: 3;
  /* 移除过渡效果，避免视频模糊 */
  transition: none;
  /* 优化视频渲染 */
  image-rendering: auto;
  filter: none !important;
  backdrop-filter: none !important;
}
.image-viewer-image[data-v-6e83bd3e] {
  user-select: none;
  /* background: white;
  border: 1px solid rgba(255, 255, 255, 0.8); */
  /* 移除默认动画，避免覆盖transform属性 */
  /* 确保transform属性优先级 */
  transform-origin: center center;
}
.image-viewer-image.fade-in[data-v-6e83bd3e] {
  animation: fadeIn-6e83bd3e 0.8s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
.image-viewer-image.slide-in[data-v-6e83bd3e] {
  animation: slideIn-6e83bd3e 0.6s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
.image-viewer-image.fade-out[data-v-6e83bd3e] {
  animation: fadeOut-6e83bd3e 0.3s ease-out forwards;
}
.image-viewer-image[data-v-6e83bd3e]:hover {
  box-shadow: 0 28px 96px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(255, 255, 255, 0.9);
}
.image-viewer-video[data-v-6e83bd3e] {
  background: rgba(15, 23, 42, 0.95);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 12px;
  max-width: 95% !important;
  max-height: 95% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain;
}
/* 底部工具栏 */
.image-viewer-toolbar-bottom[data-v-6e83bd3e] {
  background: rgba(255, 255, 255, 0.98);
  border-top: 1px solid rgba(0, 0, 0, 0.12);
  padding: 0 16px 16px;
  backdrop-filter: blur(20px);
}
/* 缩略图导航 */
.thumbnail-scroll[data-v-6e83bd3e] {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  padding: 8px 0;
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 0, 0, 0.25) transparent;
}
.thumbnail-scroll[data-v-6e83bd3e]::-webkit-scrollbar {
  height: 6px;
}
.thumbnail-scroll[data-v-6e83bd3e]::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.06);
  border-radius: 3px;
}
.thumbnail-scroll[data-v-6e83bd3e]::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.25);
  border-radius: 3px;
  transition: background 0.3s ease;
}
.thumbnail-scroll[data-v-6e83bd3e]::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.4);
}
.thumbnail-item[data-v-6e83bd3e] {
  width: 80px;
  height: 80px;
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  border: 2px solid transparent;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  flex-shrink: 0;
  position: relative;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}
.thumbnail-item[data-v-6e83bd3e]:hover {
  transform: translateY(-4px) scale(1.02);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
  border-color: rgba(24, 144, 255, 0.3);
}
.thumbnail-active[data-v-6e83bd3e] {
  border-color: #1890ff;
  box-shadow: 0 0 0 3px rgba(24, 144, 255, 0.2), 0 8px 32px rgba(24, 144, 255, 0.3);
  transform: translateY(-2px);
}
.thumbnail-image[data-v-6e83bd3e] {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: all 0.3s ease;
}
.thumbnail-indicator[data-v-6e83bd3e] {
  position: absolute;
  bottom: 6px;
  right: 6px;
  background: rgba(0, 0, 0, 0.8);
  color: white;
  font-size: 11px;
  font-weight: 600;
  padding: 2px 6px;
  border-radius: 10px;
  backdrop-filter: blur(4px);
  transition: all 0.3s ease;
}
.thumbnail-active .thumbnail-indicator[data-v-6e83bd3e] {
  background: #1890ff;
  color: white;
}
/* 工具栏导航按钮 */
.toolbar-nav[data-v-6e83bd3e] {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
}
.toolbar-nav-btn[data-v-6e83bd3e] {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.12);
  background: rgba(255, 255, 255, 0.95);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  color: rgba(0, 0, 0, 0.7);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  backdrop-filter: blur(8px);
}
.toolbar-nav-btn[data-v-6e83bd3e]:hover:not(:disabled) {
  background: rgba(24, 144, 255, 0.12);
  border-color: #1890ff;
  color: #1890ff;
  transform: translateY(-3px);
  box-shadow: 0 6px 24px rgba(24, 144, 255, 0.3);
}
.toolbar-nav-btn[data-v-6e83bd3e]:active:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(24, 144, 255, 0.3);
}
.toolbar-nav-btn[data-v-6e83bd3e]:disabled {
  opacity: 0.4;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
.toolbar-nav-btn[data-v-6e83bd3e] .anticon {
  font-size: 18px;
  transition: all 0.3s ease;
}
.toolbar-nav-btn[data-v-6e83bd3e]:hover:not(:disabled) .anticon {
  transform: scale(1.1);
}
/* 全屏模式下的调整 */
.custom-modal-fullscreen .image-viewer-toolbar[data-v-6e83bd3e] {
  padding: 16px 64px 16px 40px;
}
.custom-modal-fullscreen .image-viewer-toolbar-bottom[data-v-6e83bd3e] {
  padding: 16px 40px;
}
.custom-modal-fullscreen .thumbnail-item[data-v-6e83bd3e] {
  width: 96px;
  height: 96px;
}
/* 中型设备响应式 */
@media (min-width: 769px) and (max-width: 1024px) {
.image-viewer-toolbar[data-v-6e83bd3e] {
    padding: 20px 64px 20px 28px;
}
.image-viewer-toolbar-bottom[data-v-6e83bd3e] {
    padding: 16px 28px;
}
.thumbnail-item[data-v-6e83bd3e] {
    width: 72px;
    height: 72px;
}
}
/* 表格视图样式 */
.image-viewer-table[data-v-6e83bd3e] {
  width: 100%;
  height: 100%;
  overflow: auto;
  padding: 16px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(12px);
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}
.viewer-table[data-v-6e83bd3e] {
  width: 100%;
  border-collapse: collapse;
  background: white;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.09);
}
.viewer-table th[data-v-6e83bd3e] {
  background: #fafafa;
  border-bottom: 1px solid #f0f0f0;
  padding: 16px 20px;
  text-align: left;
  font-weight: 600;
  font-size: 14px;
  color: rgba(0, 0, 0, 0.85);
  position: sticky;
  top: 0;
  z-index: 10;
  backdrop-filter: blur(8px);
}
.viewer-table td[data-v-6e83bd3e] {
  border-bottom: 1px solid #f0f0f0;
  padding: 16px 20px;
  font-size: 14px;
  color: rgba(0, 0, 0, 0.65);
  transition: all 0.3s ease;
}
.viewer-table tr:last-child td[data-v-6e83bd3e] {
  border-bottom: none;
}
.viewer-table tr[data-v-6e83bd3e]:hover {
  background: rgba(24, 144, 255, 0.05);
  cursor: pointer;
  transform: translateY(-1px);
}
.table-row-active[data-v-6e83bd3e] {
  background: rgba(24, 144, 255, 0.1) !important;
  box-shadow: 0 2px 8px rgba(24, 144, 255, 0.2);
}
.table-thumbnail[data-v-6e83bd3e] {
  width: 60px;
  height: 60px;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid #f0f0f0;
  transition: all 0.3s ease;
}
.table-thumbnail[data-v-6e83bd3e]:hover {
  transform: scale(1.1);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
/* 表格缩略图占位符样式 */
.table-thumbnail-placeholder[data-v-6e83bd3e] {
  width: 60px;
  height: 60px;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid #f0f0f0;
  transition: all 0.3s ease;
  background: #fafafa;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #8c8c8c;
}
.table-thumbnail-placeholder[data-v-6e83bd3e]:hover {
  transform: scale(1.1);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.table-action-button[data-v-6e83bd3e] {
  padding: 6px 16px;
  border: 1px solid #1890ff;
  border-radius: 6px;
  background: white;
  color: #1890ff;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  transition: all 0.3s ease;
  backdrop-filter: blur(4px);
}
.table-action-button[data-v-6e83bd3e]:hover {
  background: #1890ff;
  color: white;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(24, 144, 255, 0.3);
}
.table-action-button[data-v-6e83bd3e]:active {
  transform: translateY(0);
}
/* 小型设备响应式 */
@media (max-width: 768px) {
  /* 表格视图响应式 */
.image-viewer-table[data-v-6e83bd3e] {
    padding: 8px;
}
.viewer-table th[data-v-6e83bd3e],
  .viewer-table td[data-v-6e83bd3e] {
    padding: 12px 8px;
    font-size: 12px;
}
.table-thumbnail[data-v-6e83bd3e] {
    width: 40px;
    height: 40px;
}
.table-action-button[data-v-6e83bd3e] {
    padding: 4px 12px;
    font-size: 12px;
}
  /* 音频播放器移动端适配 */
.audio-player-content[data-v-6e83bd3e] {
    transform: scale(0.85);
    transform-origin: center center;
}
.album-cover[data-v-6e83bd3e] {
    width: 140px;
    height: 140px;
}
.song-title[data-v-6e83bd3e] {
    font-size: 18px;
}
.song-artist[data-v-6e83bd3e] {
    font-size: 14px;
}
.control-btn[data-v-6e83bd3e] {
    width: 44px;
    height: 44px;
}
.control-btn svg[data-v-6e83bd3e] {
    width: 20px;
    height: 20px;
}
.play-btn[data-v-6e83bd3e] {
    width: 56px;
    height: 56px;
}
.play-btn svg[data-v-6e83bd3e] {
    width: 24px;
    height: 24px;
}
.controls[data-v-6e83bd3e] {
    gap: 20px;
}
.progress-bar[data-v-6e83bd3e] {
    height: 6px;
}
.time-display[data-v-6e83bd3e] {
    font-size: 12px;
}
.image-viewer-toolbar[data-v-6e83bd3e] {
    padding: 12px 48px 12px 12px;
}
.image-viewer-title[data-v-6e83bd3e] {
    font-size: 16px;
}
.image-viewer-description[data-v-6e83bd3e] {
    font-size: 13px;
}
.toolbar-nav[data-v-6e83bd3e] {
    gap: 8px;
}
.toolbar-nav-btn[data-v-6e83bd3e] {
    width: 36px;
    height: 36px;
}
.thumbnail-item[data-v-6e83bd3e] {
    width: 56px;
    height: 56px;
}
}
/* 音频容器样式 */
.audio-container[data-v-6e83bd3e] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  gap: 16px;
  padding: 4px;
  background: linear-gradient(145deg, #f8fafc 0%, #e2e8f0 100%);
  border-radius: 20px;
  box-shadow: 0 20px 80px rgba(0, 0, 0, 0.15);
}
/* 专辑封面区域 */
.album-container[data-v-6e83bd3e] {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
  transition: transform 0.3s ease;
}
.album-container[data-v-6e83bd3e]:hover {
  transform: scale(1.02);
}
.album-cover[data-v-6e83bd3e] {
  position: relative;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  overflow: hidden;
  box-shadow: 0 20px 80px rgba(0, 0, 0, 0.25);
  background: #1e293b;
  transition: all 0.3s ease;
}
.album-cover.rotating[data-v-6e83bd3e] {
  animation: rotate-6e83bd3e 20s linear infinite;
}
@keyframes rotate-6e83bd3e {
from {
    transform: rotate(0deg);
}
to {
    transform: rotate(360deg);
}
}
.cover-image[data-v-6e83bd3e] {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.3s ease;
}
.album-base[data-v-6e83bd3e] {
  width: 120px;
  height: 10px;
  background: rgba(0, 0, 0, 0.1);
  border-radius: 5px;
  margin-top: 15px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
/* 歌曲信息 */
.song-info[data-v-6e83bd3e] {
  text-align: center;
  margin: 10px 0;
}
.song-title[data-v-6e83bd3e] {
  font-size: 24px;
  font-weight: 700;
  color: rgba(0, 0, 0, 0.9);
  margin: 0 0 8px 0;
  line-height: 1.2;
}
.song-artist[data-v-6e83bd3e] {
  font-size: 16px;
  color: rgba(0, 0, 0, 0.65);
  margin: 0;
  line-height: 1.4;
}
/* 测试按钮 */
.test-btn[data-v-6e83bd3e] {
  background: linear-gradient(135deg, #6e8efb, #a777e3);
  color: white;
  border: none;
  border-radius: 8px;
  padding: 10px 20px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  margin: 10px 0;
  transition: all 0.3s ease;
}
.test-btn[data-v-6e83bd3e]:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(110, 142, 251, 0.4);
}
/* 音频元素 */
.image-viewer-audio[data-v-6e83bd3e] {
  border: 1px solid rgba(255, 255, 255, 0.2);
  width: 100%;
  height: 40px;
  border-radius: 12px;
  box-shadow: 0 20px 80px rgba(0, 0, 0, 0.25), 0 0 0 1px rgba(255, 255, 255, 0.5);
  margin: 10px 0;
  display: block;
  visibility: visible;
  opacity: 1;
}
/* 进度条 */
.progress-container[data-v-6e83bd3e] {
  width: 100%;
  cursor: pointer;
}
.progress-bar[data-v-6e83bd3e] {
  width: 100%;
  height: 8px;
  background: rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  overflow: hidden;
  position: relative;
  transition: all 0.3s ease;
}
.progress-bar[data-v-6e83bd3e]:hover {
  height: 10px;
  background: rgba(0, 0, 0, 0.15);
}
.progress-filled[data-v-6e83bd3e] {
  height: 100%;
  background: linear-gradient(90deg, #1890ff, #69c0ff);
  border-radius: 4px;
  transition: width 0.1s linear;
  box-shadow: 0 0 10px rgba(24, 144, 255, 0.5);
}
.time-display[data-v-6e83bd3e] {
  display: flex;
  justify-content: space-between;
  font-size: 14px;
  color: rgba(0, 0, 0, 0.65);
  margin-top: 8px;
}
/* 播放控制 */
.controls[data-v-6e83bd3e] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  margin: 0 0 8px;
}
.control-btn[data-v-6e83bd3e] {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  border: 2px solid rgba(0, 0, 0, 0.1);
  background: rgba(255, 255, 255, 0.95);
  color: rgba(0, 0, 0, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}
.control-btn[data-v-6e83bd3e]:hover {
  border-color: #1890ff;
  color: #1890ff;
  background: rgba(24, 144, 255, 0.1);
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(24, 144, 255, 0.3);
}
.control-btn[data-v-6e83bd3e]:active {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(24, 144, 255, 0.3);
}
.play-btn[data-v-6e83bd3e] {
  width: 72px;
  height: 72px;
  border-color: #1890ff;
  background: #1890ff;
  color: white;
  box-shadow: 0 8px 32px rgba(24, 144, 255, 0.4);
}
.play-btn[data-v-6e83bd3e]:hover {
  background: #40a9ff;
  border-color: #40a9ff;
  color: white;
  box-shadow: 0 12px 40px rgba(24, 144, 255, 0.5);
}
/* 音频可视化效果 */
.audio-visualization[data-v-6e83bd3e] {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 100%;
  height: 200px;
  background: rgba(15, 23, 42, 0.95);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 12px;
  padding: 20px;
  gap: 8px;
  box-shadow: 0 20px 80px rgba(0, 0, 0, 0.25), 0 0 0 1px rgba(255, 255, 255, 0.5);
  cursor: pointer;
  transition: all 0.3s ease;
}
.audio-visualization[data-v-6e83bd3e]:hover {
  box-shadow: 0 28px 96px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(255, 255, 255, 0.7);
}
.visualization-bar[data-v-6e83bd3e] {
  width: 12px;
  background: linear-gradient(to top, #1890ff, #69c0ff);
  border-radius: 6px;
  transition: height 0.1s ease;
  animation: pulse-6e83bd3e 1s infinite ease-in-out;
}
/* 音频激活提示 */
.audio-activation-hint[data-v-6e83bd3e] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: rgba(0, 0, 0, 0.7);
  color: white;
  padding: 12px 24px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 500;
  backdrop-filter: blur(8px);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
  cursor: pointer;
  transition: all 0.3s ease;
  z-index: 10;
}
.audio-activation-hint[data-v-6e83bd3e]:hover {
  background: rgba(0, 0, 0, 0.9);
  transform: translate(-50%, -50%) scale(1.05);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4);
}
@keyframes pulse-6e83bd3e {
0%,
  100% {
    opacity: 1;
}
50% {
    opacity: 0.7;
}
}
.gallery-container[data-v-8058a466] {
  width: 100%;
  position: relative;
}
/* 画廊网格 */
.gallery-grid[data-v-8058a466] {
  display: grid;
  width: 100%;
  transition: all 0.3s ease;
}
/* 画廊项 */
.gallery-item[data-v-8058a466] {
  position: relative;
  cursor: pointer;
  border-radius: var(--radius-md);
  overflow: hidden;
  transition: all 0.3s ease;
  border: 1px solid var(--border-light);
  background: var(--bg-primary);
}
.gallery-item[data-v-8058a466]:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-medium);
  border-color: var(--primary-color);
}
.gallery-item-selected[data-v-8058a466] {
  border-color: var(--primary-color);
  box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
}
.gallery-item-inner[data-v-8058a466] {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.gallery-image[data-v-8058a466] {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.3s ease;
}
.gallery-image-loading[data-v-8058a466] {
  filter: blur(8px);
}
/* 视频播放按钮 */
.gallery-video-play[data-v-8058a466] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 48px;
  height: 48px;
  background: rgba(0, 0, 0, 0.6);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 20px;
  transition: all 0.3s ease;
  z-index: 2;
}
.gallery-item:hover .gallery-video-play[data-v-8058a466] {
  background: rgba(0, 0, 0, 0.8);
  transform: translate(-50%, -50%) scale(1.1);
}
/* 加载状态 */
.gallery-item-loading[data-v-8058a466] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 3;
}
/* 悬停效果 */
.gallery-item-hover[data-v-8058a466] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.4);
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  padding: var(--spacing-sm);
  transition: all 0.3s ease;
  z-index: 4;
}
.gallery-item-actions[data-v-8058a466] {
  display: flex;
  gap: var(--spacing-xs);
}
.gallery-item-actions[data-v-8058a466] .ant-btn {
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(4px);
}
/* 标题和描述 */
.gallery-item-title[data-v-8058a466] {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: var(--spacing-xs) var(--spacing-sm);
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.6));
  color: white;
  font-size: 14px;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  z-index: 1;
}
.gallery-item-description[data-v-8058a466] {
  position: absolute;
  bottom: 24px;
  left: 0;
  right: 0;
  padding: var(--spacing-xs) var(--spacing-sm);
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.6));
  color: white;
  font-size: 12px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  z-index: 1;
}
/* 分页 */
.gallery-pagination[data-v-8058a466] {
  margin-top: var(--spacing-lg);
  display: flex;
  justify-content: center;
}
/* 预览弹窗 */
.gallery-preview-modal[data-v-8058a466] .ant-modal-content {
  border-radius: var(--radius-lg);
}
.gallery-preview-modal[data-v-8058a466] .ant-modal-body {
  padding: 0;
}
.gallery-preview[data-v-8058a466] {
  position: relative;
}
.gallery-preview-content[data-v-8058a466] {
  position: relative;
  padding: var(--spacing-xl);
  background: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%);
  min-height: 500px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.05);
}
/* 预览图片容器 */
.gallery-preview-image-container[data-v-8058a466] {
  position: relative;
  width: 100%;
  height: 600px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  cursor: grab;
  background: rgba(255, 255, 255, 0.95);
  border-radius: var(--radius-md);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}
.gallery-preview-image-container[data-v-8058a466]:active {
  cursor: grabbing;
  box-shadow: 0 6px 25px rgba(0, 0, 0, 0.15);
}
.gallery-preview-image[data-v-8058a466],
.gallery-preview-video[data-v-8058a466] {
  max-width: 90%;
  max-height: 90%;
  object-fit: contain;
  border-radius: var(--radius-md);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease;
}
.gallery-preview-image[data-v-8058a466] {
  user-select: none;
}
.gallery-preview-image[data-v-8058a466]:hover {
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2);
}
.gallery-preview-video[data-v-8058a466] {
  background: var(--bg-secondary);
  border: 1px solid var(--border-light);
}
/* 预览信息 */
.gallery-preview-info[data-v-8058a466] {
  padding: var(--spacing-lg);
  border-top: 1px solid var(--border-light);
  background: var(--bg-primary);
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.05);
}
.gallery-preview-title[data-v-8058a466] {
  font-size: 18px;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: var(--spacing-sm);
  line-height: 1.4;
}
.gallery-preview-description[data-v-8058a466] {
  font-size: 14px;
  color: var(--text-secondary);
  margin-bottom: var(--spacing-md);
  line-height: 1.6;
}
.gallery-preview-meta[data-v-8058a466] {
  display: flex;
  gap: var(--spacing-xl);
  font-size: 13px;
  color: var(--text-tertiary);
  padding-top: var(--spacing-sm);
  border-top: 1px solid var(--border-light);
}
.gallery-preview-meta span[data-v-8058a466] {
  display: flex;
  align-items: center;
  gap: var(--spacing-xs);
}
/* 预览导航 */
.gallery-preview-nav[data-v-8058a466] {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  padding: 0 var(--spacing-lg);
  pointer-events: none;
  z-index: 10;
}
.gallery-nav-btn[data-v-8058a466] {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  pointer-events: all;
  transition: all 0.3s ease;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.5);
}
.gallery-nav-btn[data-v-8058a466]:hover {
  background: white;
  transform: scale(1.15);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.2);
}
.gallery-nav-btn[data-v-8058a466]:active {
  transform: scale(1.1);
}
.gallery-nav-prev[data-v-8058a466] {
  margin-left: -24px;
}
.gallery-nav-next[data-v-8058a466] {
  margin-right: -24px;
}
/* 预览操作 */
.gallery-preview-actions[data-v-8058a466] {
  display: flex;
  justify-content: flex-end;
  gap: var(--spacing-xs);
  padding: var(--spacing-md) var(--spacing-lg);
  border-top: 1px solid var(--border-light);
  background: var(--bg-primary);
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.05);
}
.gallery-action-btn[data-v-8058a466] {
  display: flex;
  align-items: center;
  gap: var(--spacing-xs);
  padding: var(--spacing-xs) var(--spacing-sm);
  border-radius: var(--radius-sm);
  transition: all 0.3s ease;
}
.gallery-action-btn[data-v-8058a466]:hover {
  background: rgba(0, 0, 0, 0.05);
  transform: translateY(-1px);
}
.gallery-action-btn[data-v-8058a466] .anticon {
  font-size: 16px;
}
.gallery-action-btn span[data-v-8058a466] {
  font-size: 14px;
}
/* 响应式设计 */
@media (max-width: 1200px) {
.gallery-grid[data-v-8058a466] {
    grid-template-columns: repeat(3, 1fr) !important;
}
}
@media (max-width: 992px) {
.gallery-grid[data-v-8058a466] {
    grid-template-columns: repeat(2, 1fr) !important;
}
}
@media (max-width: 768px) {
.gallery-grid[data-v-8058a466] {
    grid-template-columns: 1fr !important;
}
.gallery-item[data-v-8058a466] {
    height: 250px !important;
}
.gallery-preview-content[data-v-8058a466] {
    padding: var(--spacing-md);
    min-height: 300px;
}
.gallery-preview-nav[data-v-8058a466] {
    padding: 0 var(--spacing-md);
}
.gallery-nav-prev[data-v-8058a466] {
    margin-left: -16px;
}
.gallery-nav-next[data-v-8058a466] {
    margin-right: -16px;
}
.gallery-preview-info[data-v-8058a466] {
    padding: var(--spacing-sm) var(--spacing-md);
}
.gallery-preview-actions[data-v-8058a466] {
    flex-direction: column;
    gap: var(--spacing-sm);
    padding: var(--spacing-sm) var(--spacing-md);
}
.gallery-preview-actions[data-v-8058a466] .ant-btn {
    width: 100%;
}
}
@media (max-width: 480px) {
.gallery-item[data-v-8058a466] {
    height: 200px !important;
}
.gallery-preview-content[data-v-8058a466] {
    min-height: 250px;
}
.gallery-preview-image[data-v-8058a466],
  .gallery-preview-video[data-v-8058a466] {
    max-height: 400px;
}
}
.calendar-container[data-v-e958e842] {
  width: 100%;
  border: 1px solid var(--border-light);
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--bg-primary);
  box-shadow: var(--shadow-light);
}
/* 日历头部 */
.calendar-header[data-v-e958e842] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--spacing-md);
  border-bottom: 1px solid var(--border-light);
  background: var(--bg-primary);
}
.calendar-nav[data-v-e958e842] {
  display: flex;
  align-items: center;
  gap: var(--spacing-md);
}
.calendar-title[data-v-e958e842] {
  display: flex;
  gap: var(--spacing-sm);
  align-items: center;
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary);
}
.week-title[data-v-e958e842] {
  font-size: 14px;
  color: var(--text-secondary);
}
.calendar-actions[data-v-e958e842] {
  display: flex;
  gap: var(--spacing-sm);
  align-items: center;
}
/* 日历主体 */
.calendar-body[data-v-e958e842] {
  position: relative;
  overflow: hidden;
}
/* 月份视图 */
.calendar-month-view[data-v-e958e842] {
  width: 100%;
}
.calendar-weekdays[data-v-e958e842] {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 0;
  padding: var(--spacing-sm);
  background: var(--bg-secondary);
}
.calendar-weekday[data-v-e958e842] {
  text-align: center;
  padding: var(--spacing-sm);
  font-size: 14px;
  font-weight: 500;
  color: var(--text-secondary);
}
.calendar-weekday-weekend[data-v-e958e842] {
  color: var(--text-tertiary);
}
.calendar-days[data-v-e958e842] {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 0;
  padding: var(--spacing-sm);
}
.calendar-day[data-v-e958e842] {
  position: relative;
  padding: var(--spacing-sm);
  aspect-ratio: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  cursor: pointer;
  transition: all 0.2s ease;
  border-radius: var(--radius-sm);
  border: 1px solid transparent;
}
.calendar-day[data-v-e958e842]:hover {
  background: var(--bg-secondary);
}
.calendar-day-other[data-v-e958e842] {
  color: var(--text-tertiary);
}
.calendar-day-weekend[data-v-e958e842] {
  background: rgba(24, 144, 255, 0.05);
}
.calendar-day-today[data-v-e958e842] {
  font-weight: 600;
  color: var(--primary-color);
}
.calendar-day-selected[data-v-e958e842] {
  background: var(--primary-color);
  color: white;
}
.calendar-day-disabled[data-v-e958e842] {
  cursor: not-allowed;
  opacity: 0.5;
}
.calendar-day-disabled[data-v-e958e842]:hover {
  background: transparent;
}
.day-number[data-v-e958e842] {
  font-size: 14px;
  font-weight: 500;
}
.day-events[data-v-e958e842] {
  display: flex;
  gap: 2px;
  margin-top: var(--spacing-xs);
  width: 100%;
  flex-wrap: wrap;
  justify-content: center;
}
.event-dot[data-v-e958e842] {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
}
.event-more[data-v-e958e842] {
  font-size: 10px;
  color: var(--text-tertiary);
}
/* 周视图 */
.calendar-week-view[data-v-e958e842] {
  display: flex;
  height: 600px;
}
.calendar-day-view[data-v-e958e842] {
  display: flex;
  height: 600px;
}
.calendar-time-slots[data-v-e958e842] {
  width: 60px;
  padding: var(--spacing-sm);
  background: var(--bg-primary);
  border-right: 1px solid var(--border-light);
}
.calendar-time-slot[data-v-e958e842] {
  height: 100px;
  font-size: 12px;
  color: var(--text-tertiary);
  text-align: right;
  padding-right: var(--spacing-sm);
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  line-height: 1;
  padding-top: 2px;
}
.calendar-week-columns[data-v-e958e842] {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  background: var(--bg-primary);
}
.calendar-week-column[data-v-e958e842] {
  border-right: 1px solid var(--border-light);
  position: relative;
}
.calendar-week-column[data-v-e958e842]:last-child {
  border-right: none;
}
.week-column-header[data-v-e958e842] {
  padding: var(--spacing-sm);
  text-align: center;
  border-bottom: 1px solid var(--border-light);
  background: var(--bg-secondary);
}
.weekday-label[data-v-e958e842] {
  font-size: 12px;
  color: var(--text-tertiary);
  margin-top: 2px;
}
.week-column-body[data-v-e958e842] {
  position: relative;
  height: calc(100% - 60px);
  background: linear-gradient(to bottom, transparent 0%, transparent calc(100% - 1px), var(--border-light) calc(100% - 1px));
  background-size: 100% 100px;
  overflow: hidden;
}
.calendar-event[data-v-e958e842] {
  position: absolute;
  left: 4px;
  right: 4px;
  border-radius: var(--radius-sm);
  padding: var(--spacing-xs);
  color: white;
  cursor: pointer;
  transition: all 0.2s ease;
  overflow: hidden;
  box-shadow: var(--shadow-light);
}
.calendar-event[data-v-e958e842]:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow-medium);
}
.event-title[data-v-e958e842] {
  font-size: 12px;
  font-weight: 500;
  margin-bottom: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.event-time[data-v-e958e842] {
  font-size: 10px;
  opacity: 0.9;
}
.calendar-event-day[data-v-e958e842] {
  position: absolute;
  left: 4px;
  right: 4px;
  border-radius: var(--radius-sm);
  padding: var(--spacing-xs);
  color: white;
  cursor: pointer;
  transition: all 0.2s ease;
  overflow: hidden;
  box-shadow: var(--shadow-light);
}
/* 事件详情面板 */
.calendar-event-detail[data-v-e958e842] {
  position: absolute;
  top: 0;
  right: 0;
  width: 300px;
  height: 100%;
  background: var(--bg-primary);
  border-left: 1px solid var(--border-light);
  display: flex;
  flex-direction: column;
  box-shadow: var(--shadow-heavy);
  z-index: 100;
}
.event-detail-header[data-v-e958e842] {
  padding: var(--spacing-md);
  border-bottom: 1px solid var(--border-light);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.event-detail-header h3[data-v-e958e842] {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary);
}
.event-detail-body[data-v-e958e842] {
  flex: 1;
  padding: var(--spacing-md);
  overflow: auto;
}
.event-detail-footer[data-v-e958e842] {
  padding: var(--spacing-md);
  border-top: 1px solid var(--border-light);
  display: flex;
  justify-content: flex-end;
  gap: var(--spacing-sm);
}
/* 响应式设计 */
@media (max-width: 768px) {
.calendar-header[data-v-e958e842] {
    flex-direction: column;
    gap: var(--spacing-sm);
    align-items: stretch;
}
.calendar-nav[data-v-e958e842] {
    justify-content: space-between;
}
.calendar-title[data-v-e958e842] {
    justify-content: center;
}
.calendar-actions[data-v-e958e842] {
    justify-content: center;
    gap: var(--spacing-sm);
}
.calendar-month-view[data-v-e958e842] {
    font-size: 12px;
}
.calendar-day[data-v-e958e842] {
    padding: var(--spacing-xs);
}
.calendar-week-view[data-v-e958e842],
  .calendar-day-view[data-v-e958e842] {
    height: 400px;
}
.calendar-time-slots[data-v-e958e842] {
    width: 40px;
    padding: var(--spacing-xs);
}
.calendar-time-slot[data-v-e958e842] {
    height: 80px;
    font-size: 10px;
}
.week-column-body[data-v-e958e842] {
    background-size: 100% 80px;
}
.calendar-event-detail[data-v-e958e842] {
    width: 100%;
    position: fixed;
    top: auto;
    bottom: 0;
    height: 50%;
    border-left: none;
    border-top: 1px solid var(--border-light);
}
}
.image-preview-container[data-v-0e78bd61] {
  display: inline-block;
  position: relative;
}
/* 缩略图样式 */
.thumbnail-wrapper[data-v-0e78bd61] {
  position: relative;
  display: inline-block;
  cursor: pointer;
  border-radius: var(--radius-md);
  overflow: hidden;
  transition: all 0.3s ease;
  border: 1px solid var(--border-light);
}
.thumbnail-wrapper[data-v-0e78bd61]:hover {
  box-shadow: var(--shadow-medium);
  transform: scale(1.05);
}
.thumbnail[data-v-0e78bd61] {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.3s ease;
}
.thumbnail.has-error[data-v-0e78bd61] {
  display: none;
}
/* 占位符样式 */
.thumbnail-placeholder[data-v-0e78bd61] {
  width: 100%;
  height: 100%;
  min-width: 200px;
  min-height: 200px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: var(--bg-secondary);
  color: var(--text-tertiary);
  border-radius: 8px;
}
.placeholder-icon[data-v-0e78bd61] {
  font-size: 20px;
  margin-bottom: var(--spacing-xs);
  color: var(--text-tertiary);
}
.placeholder-text[data-v-0e78bd61] {
  font-size: 12px;
  text-align: center;
  color: var(--text-tertiary);
}
/* 播放图标 */
.play-icon[data-v-0e78bd61] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 40px;
  height: 40px;
  background: rgba(0, 0, 0, 0.6);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 20px;
  transition: all 0.3s ease;
}
.thumbnail-wrapper:hover .play-icon[data-v-0e78bd61] {
  background: rgba(0, 0, 0, 0.8);
  transform: translate(-50%, -50%) scale(1.1);
}
/* 加载状态 */
.thumbnail-loading[data-v-0e78bd61] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
}
/* 预览弹窗 */
.image-preview-modal[data-v-0e78bd61] .ant-modal-content {
  border-radius: var(--radius-lg);
}
.image-preview-modal[data-v-0e78bd61] .ant-modal-body {
  padding: 0;
}
.preview-content[data-v-0e78bd61] {
  position: relative;
  padding: var(--spacing-md);
  background: var(--bg-primary);
}
/* 图片预览 */
.preview-image-wrapper[data-v-0e78bd61] {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 400px;
  background: var(--bg-secondary);
  border-radius: var(--radius-sm);
  overflow: hidden;
}
.preview-image[data-v-0e78bd61] {
  max-width: 100%;
  max-height: 600px;
  object-fit: contain;
  border-radius: var(--radius-sm);
}
/* 视频预览 */
.preview-video-wrapper[data-v-0e78bd61] {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 400px;
  background: var(--bg-secondary);
  border-radius: var(--radius-sm);
  overflow: hidden;
}
.preview-video[data-v-0e78bd61] {
  max-width: 100%;
  max-height: 600px;
  border-radius: var(--radius-sm);
}
/* 音频预览 */
.preview-audio-wrapper[data-v-0e78bd61] {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
  background: var(--bg-secondary);
  border-radius: var(--radius-sm);
  padding: var(--spacing-md);
}
.preview-audio[data-v-0e78bd61] {
  width: 100%;
  max-width: 600px;
}
/* 预览底部 */
.preview-footer[data-v-0e78bd61] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--spacing-md) calc(var(--spacing-md) + 4px);
  border-top: 1px solid var(--border-light);
  background: var(--bg-primary);
}
/* 预览导航 */
.preview-nav[data-v-0e78bd61] {
  display: flex;
  align-items: center;
  gap: var(--spacing-md);
}
.nav-info[data-v-0e78bd61] {
  font-size: 14px;
  color: var(--text-secondary);
  min-width: 80px;
  text-align: center;
}
/* 预览操作 */
.preview-actions[data-v-0e78bd61] {
  display: flex;
  gap: var(--spacing-md);
}
/* 响应式设计 */
@media (max-width: 768px) {
.preview-content[data-v-0e78bd61] {
    padding: var(--spacing-md);
}
.preview-image-wrapper[data-v-0e78bd61] {
    min-height: 300px;
}
.preview-video-wrapper[data-v-0e78bd61] {
    min-height: 300px;
}
.preview-footer[data-v-0e78bd61] {
    flex-direction: column;
    gap: var(--spacing-md);
    align-items: stretch;
}
.preview-nav[data-v-0e78bd61] {
    justify-content: center;
}
.preview-actions[data-v-0e78bd61] {
    justify-content: center;
}
}
.file-uploader-container[data-v-867b70e7] {
  width: 100%;
}
/* 拖拽上传 */
.drag-uploader[data-v-867b70e7] {
  border: 2px dashed var(--border-color);
  border-radius: var(--radius-lg);
  padding: var(--spacing-xl) var(--spacing-lg);
  text-align: center;
  transition: all 0.3s ease;
  background: var(--bg-primary);
  position: relative;
  overflow: hidden;
}
.drag-uploader[data-v-867b70e7]:hover {
  border-color: var(--primary-color);
  background: rgba(24, 144, 255, 0.08);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(24, 144, 255, 0.15);
}
.drag-uploader-active[data-v-867b70e7] {
  border-color: var(--primary-color) !important;
  background: rgba(24, 144, 255, 0.12) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(24, 144, 255, 0.2) !important;
}
.drag-uploader-active .drag-icon[data-v-867b70e7] .anticon {
  opacity: 1 !important;
  transform: scale(1.1) !important;
  color: var(--primary-color) !important;
}
.drag-uploader-active .drag-text[data-v-867b70e7] {
  color: var(--primary-color) !important;
}
.drag-uploader-active .drag-hint[data-v-867b70e7] {
  color: var(--text-primary) !important;
}
.drag-uploader-active .drag-type-tag[data-v-867b70e7] {
  background: rgba(24, 144, 255, 0.15) !important;
  border-color: var(--primary-color-light) !important;
  color: var(--primary-color) !important;
}
.drag-icon[data-v-867b70e7] {
  margin-bottom: var(--spacing-lg);
  transition: all 0.3s ease;
}
.drag-icon[data-v-867b70e7] .anticon {
  font-size: 48px;
  color: var(--primary-color);
  opacity: 0.8;
  transition: all 0.3s ease;
}
.drag-uploader:hover .drag-icon[data-v-867b70e7] .anticon {
  opacity: 1;
  transform: scale(1.05);
}
.drag-content[data-v-867b70e7] {
  margin-bottom: var(--spacing-lg);
}
.drag-text[data-v-867b70e7] {
  font-size: 18px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0 0 var(--spacing-sm);
  line-height: 1.4;
}
.drag-hint[data-v-867b70e7] {
  font-size: 14px;
  color: var(--text-secondary);
  margin: 0 0 var(--spacing-md);
  line-height: 1.5;
}
.drag-types[data-v-867b70e7] {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-top: var(--spacing-sm);
}
.drag-type-tag[data-v-867b70e7] {
  font-size: 12px;
  padding: 4px 12px;
  background: var(--bg-secondary);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-full);
  color: var(--text-tertiary);
  transition: all 0.2s ease;
}
.drag-type-tag[data-v-867b70e7]:hover {
  background: var(--bg-tertiary);
  border-color: var(--border-color);
  color: var(--text-secondary);
}
.drag-button[data-v-867b70e7] {
  margin-top: var(--spacing-md);
  /* padding: 0; */
  color: var(--text-secondary);
  transition: all 0.3s ease;
}
.drag-button[data-v-867b70e7]:hover {
  transform: translateY(-1px);
  color: var(--primary-color);
  box-shadow: 0 2px 8px rgba(24, 144, 255, 0.3);
}
/* 上传列表额外操作 */
.upload-list-extra[data-v-867b70e7] {
  margin-top: var(--spacing-md);
  padding-top: var(--spacing-md);
  border-top: 1px solid var(--border-light);
}
/* 批量操作样式 */
.batch-operations[data-v-867b70e7] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--spacing-md);
  padding: var(--spacing-sm) var(--spacing-md);
  background: var(--bg-secondary);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-md);
  flex-wrap: wrap;
  gap: var(--spacing-sm);
}
.batch-operations[data-v-867b70e7] .ant-checkbox {
  margin-right: var(--spacing-md);
}
.batch-operations[data-v-867b70e7] .ant-btn-group {
  display: flex;
  gap: var(--spacing-xs);
}
.batch-operations[data-v-867b70e7] .ant-btn {
  font-size: 12px;
  /* padding: 4px 12px; */
  border-radius: var(--radius-sm);
  transition: all 0.3s ease;
}
.batch-operations[data-v-867b70e7] .ant-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(24, 144, 255, 0.2);
}
@media (max-width: 768px) {
.batch-operations[data-v-867b70e7] {
    flex-direction: column;
    align-items: stretch;
}
.batch-operations[data-v-867b70e7] .ant-btn-group {
    justify-content: center;
}
}
/* 文件预览弹窗 */
.file-preview-modal[data-v-867b70e7] .ant-modal-content {
  border-radius: var(--radius-lg);
}
.preview-content[data-v-867b70e7] {
  position: relative;
  padding: var(--spacing-md);
  max-height: 600px;
  overflow: auto;
}
.preview-image[data-v-867b70e7] {
  max-width: 100%;
  max-height: 500px;
  object-fit: contain;
  border-radius: var(--radius-sm);
}
.preview-text[data-v-867b70e7] {
  width: 100%;
  max-height: 500px;
  overflow: auto;
  padding: var(--spacing-md);
  background: var(--bg-secondary);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-sm);
  font-size: 14px;
  line-height: 1.5;
  color: var(--text-primary);
}
.preview-other[data-v-867b70e7] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--spacing-xl) var(--spacing-md);
  gap: var(--spacing-md);
}
.preview-other[data-v-867b70e7] .anticon {
  font-size: 64px;
  color: var(--text-tertiary);
}
.preview-file-info[data-v-867b70e7] {
  text-align: center;
  gap: var(--spacing-xs);
  display: flex;
  flex-direction: column;
}
.file-name[data-v-867b70e7] {
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary);
}
.file-size[data-v-867b70e7],
.file-type[data-v-867b70e7] {
  font-size: 14px;
  color: var(--text-secondary);
}
.preview-footer[data-v-867b70e7] {
  display: flex;
  justify-content: flex-end;
  gap: var(--spacing-sm);
  padding: var(--spacing-md) var(--spacing-md);
  border-top: 1px solid var(--border-light);
}
/* 响应式设计 */
@media (max-width: 768px) {
.drag-uploader[data-v-867b70e7] {
    padding: var(--spacing-lg) var(--spacing-md);
}
.drag-text[data-v-867b70e7] {
    font-size: 14px;
}
.drag-hint[data-v-867b70e7] {
    font-size: 12px;
}
.preview-content[data-v-867b70e7] {
    padding: var(--spacing-md);
    max-height: 400px;
}
.preview-other[data-v-867b70e7] {
    padding: var(--spacing-lg) var(--spacing-md);
}
.preview-other[data-v-867b70e7] .anticon {
    font-size: 48px;
}
.preview-footer[data-v-867b70e7] {
    flex-direction: column;
    gap: var(--spacing-sm);
}
.preview-footer[data-v-867b70e7] .ant-btn {
    width: 100%;
}
}
/* 上传进度条样式优化 */
.uploader[data-v-867b70e7] .ant-upload-list-item-progress {
  margin-top: 8px;
  border-radius: var(--radius-sm);
  overflow: hidden;
}
.uploader[data-v-867b70e7] .ant-progress {
  width: 100%;
  border-radius: var(--radius-sm);
}
.uploader[data-v-867b70e7] .ant-progress-bg {
  transition: width 0.3s ease;
  border-radius: var(--radius-sm);
  background: linear-gradient(90deg, var(--primary-color), var(--primary-color-light));
  animation: progress-animation-867b70e7 2s linear infinite;
}
@keyframes progress-animation-867b70e7 {
0% {
    background-position: 0 0;
}
100% {
    background-position: 200% 0;
}
}
.uploader[data-v-867b70e7] .ant-progress-inner {
  border-radius: var(--radius-sm);
  background: var(--bg-secondary);
}
/* 分块上传状态提示 */
.uploader[data-v-867b70e7] .ant-upload-list-item {
  position: relative;
  padding: var(--spacing-md);
  margin-bottom: var(--spacing-sm);
  border-radius: var(--radius-md);
  border: 1px solid var(--border-light);
  background: var(--bg-primary);
  transition: all 0.3s ease;
  overflow: hidden;
}
.uploader[data-v-867b70e7] .ant-upload-list-item::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: var(--primary-color);
  opacity: 0;
  transition: opacity 0.3s ease;
}
.uploader[data-v-867b70e7] .ant-upload-list-item-uploading::before {
  opacity: 1;
}
.uploader[data-v-867b70e7] .ant-upload-list-item:hover {
  border-color: var(--primary-color-light);
  box-shadow: 0 2px 8px rgba(24, 144, 255, 0.15);
  transform: translateY(-1px);
}
.uploader[data-v-867b70e7] .ant-upload-list-item-info {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
  min-width: 0;
}
.uploader[data-v-867b70e7] .ant-upload-list-item-name {
  word-break: break-all;
  font-size: 14px;
  font-weight: 500;
  color: var(--text-primary);
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
}
.uploader[data-v-867b70e7] .ant-upload-list-item-name::after {
  content: attr(data-size);
  position: absolute;
  right: 0;
  top: 0;
  font-size: 12px;
  color: var(--text-tertiary);
  font-weight: normal;
}
.uploader[data-v-867b70e7] .ant-upload-list-item-status-text {
  font-size: 12px;
  color: var(--text-secondary);
  display: flex;
  align-items: center;
  gap: 4px;
}
/* 上传状态样式 */
.uploader[data-v-867b70e7] .ant-upload-list-item-uploading {
  border-color: var(--primary-color-light);
  background: rgba(24, 144, 255, 0.02);
}
.uploader[data-v-867b70e7] .ant-upload-list-item-success {
  border-color: var(--success-color-light);
  background: rgba(82, 196, 26, 0.02);
}
.uploader[data-v-867b70e7] .ant-upload-list-item-success::before {
  background: var(--success-color);
  opacity: 1;
}
.uploader[data-v-867b70e7] .ant-upload-list-item-error {
  border-color: var(--error-color-light);
  background: rgba(255, 77, 79, 0.02);
}
.uploader[data-v-867b70e7] .ant-upload-list-item-error::before {
  background: var(--error-color);
  opacity: 1;
}
.uploader[data-v-867b70e7] .ant-upload-list-item-warning {
  border-color: var(--warning-color-light);
  background: rgba(250, 173, 20, 0.02);
}
.uploader[data-v-867b70e7] .ant-upload-list-item-warning::before {
  background: var(--warning-color);
  opacity: 1;
}
/* 上传列表操作按钮 */
.uploader[data-v-867b70e7] .ant-upload-list-item-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  opacity: 0;
  transition: opacity 0.3s ease;
  margin-top: 4px;
}
.uploader[data-v-867b70e7] .ant-upload-list-item:hover .ant-upload-list-item-actions {
  opacity: 1;
}
.uploader[data-v-867b70e7] .ant-upload-list-item-action {
  font-size: 14px;
  color: var(--text-tertiary);
  transition: all 0.2s ease;
  padding: 4px;
  border-radius: var(--radius-sm);
}
.uploader[data-v-867b70e7] .ant-upload-list-item-action:hover {
  color: var(--primary-color);
  background: rgba(24, 144, 255, 0.08);
}
/* 上传列表进度条容器 */
.uploader[data-v-867b70e7] .ant-upload-list-item-progress {
  margin-top: 6px;
  position: relative;
}
/* 上传速度显示 */
.upload-speed[data-v-867b70e7] {
  font-size: 12px;
  color: var(--text-tertiary);
  margin-left: 8px;
}
/* 预计剩余时间显示 */
.upload-eta[data-v-867b70e7] {
  font-size: 12px;
  color: var(--text-tertiary);
  margin-left: 8px;
}
/* 上传列表文件信息 */
.upload-file-info[data-v-867b70e7] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 4px;
  font-size: 12px;
  color: var(--text-secondary);
}
/* 哈希计算状态 */
.hash-status[data-v-867b70e7] {
  font-size: 12px;
  color: var(--warning-color);
  margin-left: 8px;
  display: flex;
  align-items: center;
  gap: 4px;
}
/* 拖拽上传区域样式优化 */
.drag-uploader[data-v-867b70e7] .ant-btn {
  margin-top: var(--spacing-md);
  font-size: 14px;
  /* padding: 8px 24px; */
  border-radius: var(--radius-md);
  transition: all 0.3s ease;
}
.drag-uploader[data-v-867b70e7] .ant-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(24, 144, 255, 0.3);
}
.drag-uploader[data-v-867b70e7] .ant-btn-primary {
  background: var(--primary-color);
  border-color: var(--primary-color);
  background: linear-gradient(135deg, var(--primary-color), var(--primary-color-light));
}
.drag-uploader[data-v-867b70e7] .ant-btn-primary:hover {
  background: var(--primary-color-dark);
  border-color: var(--primary-color-dark);
  background: linear-gradient(135deg, var(--primary-color-dark), var(--primary-color));
}
/* 响应式上传列表 */
@media (max-width: 768px) {
.uploader[data-v-867b70e7] .ant-upload-list-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}
.uploader[data-v-867b70e7] .ant-upload-list-item-actions {
    align-self: flex-end;
    margin-top: -8px;
}
.uploader[data-v-867b70e7] .ant-progress {
    width: 100%;
}
.upload-file-info[data-v-867b70e7] {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}
}
.chart-container[data-v-2de7a220] {
  position: relative;
  display: block;
  width: 100%;
  min-height: 200px;
  background: var(--bg-primary);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-light);
  border: 1px solid var(--border-light);
  overflow: hidden;
}
.chart-canvas[data-v-2de7a220] {
  width: 100%;
  height: 100%;
  min-height: inherit;
}
.chart-loading[data-v-2de7a220] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  backdrop-filter: blur(2px);
  transition: opacity 0.3s ease;
}
.chart-error[data-v-2de7a220] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--spacing-lg);
  background: rgba(255, 255, 255, 0.9);
  z-index: 10;
  gap: var(--spacing-md);
  backdrop-filter: blur(2px);
  transition: opacity 0.3s ease;
}
.chart-title[data-v-2de7a220] {
  position: absolute;
  top: var(--spacing-md);
  left: var(--spacing-md);
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary);
  z-index: 5;
  background: rgba(255, 255, 255, 0.7);
  padding: var(--spacing-xs) var(--spacing-sm);
  border-radius: var(--radius-sm);
  backdrop-filter: blur(2px);
}
.chart-subtitle[data-v-2de7a220] {
  position: absolute;
  top: calc(var(--spacing-md) + 24px);
  left: var(--spacing-md);
  font-size: 14px;
  color: var(--text-secondary);
  z-index: 5;
  background: rgba(255, 255, 255, 0.7);
  padding: var(--spacing-xs) var(--spacing-sm);
  border-radius: var(--radius-sm);
  backdrop-filter: blur(2px);
}
.chart-legend[data-v-2de7a220] {
  position: absolute;
  top: var(--spacing-md);
  right: var(--spacing-md);
  z-index: 5;
  background: rgba(255, 255, 255, 0.7);
  padding: var(--spacing-xs) var(--spacing-sm);
  border-radius: var(--radius-sm);
  backdrop-filter: blur(2px);
}
/* 优化响应式设计 */
@media (max-width: 768px) {
.chart-container[data-v-2de7a220] {
    min-height: 300px;
    border-radius: var(--radius-sm);
}
.chart-title[data-v-2de7a220] {
    font-size: 14px;
    top: var(--spacing-sm);
    left: var(--spacing-sm);
    padding: 2px 6px;
}
.chart-subtitle[data-v-2de7a220] {
    font-size: 12px;
    top: calc(var(--spacing-sm) + 20px);
    left: var(--spacing-sm);
    padding: 2px 6px;
}
.chart-legend[data-v-2de7a220] {
    right: var(--spacing-sm);
    top: var(--spacing-sm);
    padding: 2px 6px;
}
.chart-error[data-v-2de7a220] {
    padding: var(--spacing-md);
}
}
/* 深色主题适配 */
@media (prefers-color-scheme: dark) {
.chart-loading[data-v-2de7a220],
  .chart-error[data-v-2de7a220] {
    background: rgba(0, 0, 0, 0.8);
}
.chart-title[data-v-2de7a220],
  .chart-subtitle[data-v-2de7a220],
  .chart-legend[data-v-2de7a220] {
    background: rgba(0, 0, 0, 0.7);
}
}
/* 优化加载状态 - 使用全局三个点样式 */
/* 优化错误状态 */
.chart-error .ant-alert[data-v-2de7a220] {
  max-width: 100%;
  margin-bottom: var(--spacing-sm);
}
.chart-error .ant-btn[data-v-2de7a220] {
  margin-top: var(--spacing-xs);
}
.modal-title-container[data-v-ea9c9fdb] {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  cursor: move;
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  padding: 0 4px;
}
.modal-drag-handle[data-v-ea9c9fdb] {
  cursor: move;
  display: flex;
  align-items: center;
  margin-right: 8px;
  padding: 4px;
}
.drag-icon[data-v-ea9c9fdb] {
  font-size: 16px;
  color: #1890ff;
  opacity: 0.8;
}
.modal-title[data-v-ea9c9fdb] {
  flex: 1;
  font-size: 16px;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.85);
  margin-right: 12px;
}
.modal-title-actions[data-v-ea9c9fdb] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.fullscreen-btn[data-v-ea9c9fdb],
.maximize-btn[data-v-ea9c9fdb],
.minimize-btn[data-v-ea9c9fdb],
.close-btn[data-v-ea9c9fdb] {
  color: #999;
  font-size: 14px;
  margin: 0;
  /* padding: 4px; */
}
.fullscreen-btn[data-v-ea9c9fdb]:hover,
.maximize-btn[data-v-ea9c9fdb]:hover,
.minimize-btn[data-v-ea9c9fdb]:hover,
.close-btn[data-v-ea9c9fdb]:hover {
  color: #1890ff;
  background-color: rgba(24, 144, 255, 0.1);
  border-radius: 4px;
}
.modal-resize-handles[data-v-ea9c9fdb] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  z-index: 10;
}
.resize-handle[data-v-ea9c9fdb] {
  position: absolute;
  pointer-events: auto;
}
.resize-right[data-v-ea9c9fdb] {
  top: 0;
  right: 0;
  width: 8px;
  height: 100%;
  cursor: e-resize;
  background: linear-gradient(to left, rgba(24, 144, 255, 0.2), transparent);
}
.resize-right[data-v-ea9c9fdb]:hover {
  background: linear-gradient(to left, rgba(24, 144, 255, 0.4), transparent);
}
.resize-bottom[data-v-ea9c9fdb] {
  bottom: 0;
  left: 0;
  width: 100%;
  height: 8px;
  cursor: s-resize;
  background: linear-gradient(to top, rgba(24, 144, 255, 0.2), transparent);
}
.resize-bottom[data-v-ea9c9fdb]:hover {
  background: linear-gradient(to top, rgba(24, 144, 255, 0.4), transparent);
}
.resize-bottom-right[data-v-ea9c9fdb] {
  bottom: 0;
  right: 0;
  width: 16px;
  height: 16px;
  cursor: nwse-resize;
  background: linear-gradient(135deg, rgba(24, 144, 255, 0.5), rgba(24, 144, 255, 0.2));
  border-bottom-right-radius: 4px;
  z-index: 11;
}
.resize-bottom-right[data-v-ea9c9fdb]:hover {
  background: linear-gradient(135deg, rgba(24, 144, 255, 0.8), rgba(24, 144, 255, 0.4));
}
/* 适配暗色模式 */
@media (max-width: 768px) {
.modal-title-container[data-v-ea9c9fdb] {
    flex-wrap: wrap;
}
.modal-title[data-v-ea9c9fdb] {
    flex: 1 1 100%;
    margin-top: 4px;
    margin-bottom: 4px;
}
.modal-title-actions[data-v-ea9c9fdb] {
    flex: 1 1 100%;
    justify-content: flex-end;
}
}
.draggable-modal-wrapper {
  padding: 0 !important;
  margin: 0 !important;
}
.draggable-modal-wrapper .ant-modal {
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  position: fixed !important;
  transform: none !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  /* 设置内部第一层子元素div高度为100% */
}
.draggable-modal-wrapper .ant-modal > div {
  height: 100% !important;
}
.draggable-modal-wrapper .ant-modal-content {
  position: relative;
  overflow: visible !important;
  border-radius: 8px;
  overflow: hidden;
  max-height: 100% !important;
}
.draggable-modal-wrapper .ant-modal-header {
  padding: 16px 36px 12px 16px;
  border-bottom: 1px solid #f0f0f0;
  background-color: #fafafa;
  margin-bottom: 0;
}
.draggable-modal-wrapper .ant-modal-body {
  padding: 0;
  max-height: calc(100vh - 200px);
  overflow-y: auto;
}
.draggable-modal-wrapper .ant-modal-footer {
  padding: 16px;
  border-top: 1px solid #f0f0f0;
  text-align: right;
  margin-top: 0;
}
.draggable-modal-wrapper .ant-modal.fullscreen {
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
}
.draggable-modal-wrapper .ant-modal.fullscreen .ant-modal-content {
  height: 100%;
  border-radius: 0;
}
.draggable-modal-wrapper .ant-modal.fullscreen .ant-modal-body {
  max-height: calc(100vh - 120px);
}
.draggable-modal-wrapper .ant-modal.minimized {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.draggable-modal-wrapper .ant-modal.minimized .ant-modal-content {
  height: 100%;
}
.draggable-modal-wrapper .ant-modal.minimized .ant-modal-header {
  border-bottom: none;
  padding: 16px 36px 12px 16px;
  margin-bottom: 0;
}
/* ============================================================
   CSS 变量（与 design-tokens.css 同步）
   ============================================================ */
.dynamic-form-detail[data-v-acc4d40a] {
  --form-bg: var(--color-neutral-0, #ffffff);
  --form-border: var(--color-neutral-200, #e8e8e8);
  --form-border-hover: var(--color-neutral-300, #d9d9d9);
  --form-text: var(--color-neutral-800, #333333);
  --form-text-secondary: var(--color-neutral-500, #666666);
  --form-text-tertiary: var(--color-neutral-400, #999999);
  --form-primary: var(--color-primary-500, #1890ff);
  --form-primary-light: rgba(24, 144, 255, 0.1);
  --form-error: var(--color-error-500, #ff4d4f);
  --form-success: var(--color-success-500, #52c41a);
  --form-warning: var(--color-warning-500, #faad14);
  --form-shadow-sm: 0 1px 4px rgba(0, 0, 0, 0.05);
  --form-shadow-md: 0 2px 8px rgba(0, 0, 0, 0.08);
  --form-shadow-lg: 0 4px 16px rgba(0, 0, 0, 0.12);
  --form-radius: var(--radius-lg, 8px);
  --form-radius-sm: var(--radius-md, 4px);
  --form-spacing: var(--spacing-6, 24px);
  --form-spacing-sm: var(--spacing-4, 16px);
  --form-spacing-xs: var(--spacing-2, 8px);
  --form-font-size-sm: var(--font-size-sm, 13px);
  --form-font-size-base: var(--font-size-base, 14px);
  --form-font-size-lg: var(--font-size-lg, 16px);
  --form-font-size-xl: var(--font-size-xl, 18px);
  --form-transition: var(--duration-normal, 0.3s) var(--easing-default, ease);
}
/* 主容器 */
.dynamic-form-detail[data-v-acc4d40a] {
  background: var(--form-bg);
  border-radius: var(--form-radius);
  padding: var(--form-spacing);
  box-shadow: var(--form-shadow-sm);
  border: 1px solid var(--form-border);
  transition: box-shadow var(--form-transition);
}
.dynamic-form-detail[data-v-acc4d40a]:hover {
  box-shadow: var(--form-shadow-md);
}
/* ============================================================
   表单头部
   ============================================================ */
.form-header[data-v-acc4d40a] {
  margin-bottom: var(--form-spacing);
  padding-bottom: var(--form-spacing-sm);
  border-bottom: 1px solid var(--form-border);
}
.header-title-row[data-v-acc4d40a] {
  display: flex;
  align-items: center;
  gap: var(--form-spacing-xs);
}
.header-title[data-v-acc4d40a] {
  font-size: var(--form-font-size-xl);
  font-weight: 600;
  color: var(--form-text);
  margin: 0 0 var(--form-spacing-xs) 0;
  line-height: 1.4;
}
.header-description[data-v-acc4d40a] {
  font-size: var(--form-font-size-base);
  color: var(--form-text-secondary);
  margin: 0;
  line-height: 1.5;
}
/* ============================================================
   页签样式
   ============================================================ */
.form-tabs[data-v-acc4d40a] {
  margin-bottom: var(--form-spacing);
  background: var(--form-bg);
  border-radius: var(--form-radius);
  padding: var(--form-spacing-sm);
  box-shadow: var(--form-shadow-sm);
  border: 1px solid var(--form-border);
}
.form-tabs[data-v-acc4d40a] .ant-tabs-nav {
  margin-bottom: var(--form-spacing-sm);
}
.form-tabs[data-v-acc4d40a] .ant-tabs-tab {
  font-size: var(--form-font-size-base);
  font-weight: 500;
  color: var(--form-text-secondary);
  padding: var(--form-spacing-xs) var(--form-spacing-sm);
  transition: color var(--form-transition);
}
.form-tabs[data-v-acc4d40a] .ant-tabs-tab:hover {
  color: var(--form-primary);
}
.form-tabs[data-v-acc4d40a] .ant-tabs-tab.ant-tabs-tab-active {
  color: var(--form-primary);
  font-weight: 600;
}
.form-tabs[data-v-acc4d40a] .ant-tabs-ink-bar {
  background: var(--form-primary);
  height: 2px;
}
.tab-content[data-v-acc4d40a] {
  padding-top: var(--form-spacing-xs);
}
/* ============================================================
   分组样式
   ============================================================ */
.form-groups[data-v-acc4d40a] {
  margin-bottom: var(--form-spacing);
  border: 1px solid var(--form-border);
  border-radius: var(--form-radius);
  overflow: hidden;
}
.form-groups[data-v-acc4d40a] .ant-collapse-header {
  font-size: var(--form-font-size-lg);
  font-weight: 600;
  color: var(--form-text);
  padding: var(--form-spacing-sm) var(--form-spacing);
}
.form-groups[data-v-acc4d40a] .ant-collapse-content-box {
  padding: var(--form-spacing-sm) var(--form-spacing);
}
.group-field-count[data-v-acc4d40a] {
  font-size: var(--form-font-size-sm);
  color: var(--form-text-tertiary);
  font-weight: 400;
}
/* ============================================================
   主表单容器
   ============================================================ */
.main-form-container[data-v-acc4d40a] {
  margin-bottom: var(--form-spacing);
  background: var(--form-bg);
  border-radius: var(--form-radius);
  padding: var(--form-spacing);
  box-shadow: var(--form-shadow-sm);
  border: 1px solid var(--form-border);
}
/* 表单行 */
.form-row[data-v-acc4d40a] {
  display: grid;
  grid-template-columns: repeat(24, 1fr);
  gap: var(--form-spacing-sm);
  margin-bottom: var(--form-spacing-sm);
}
.form-row[data-v-acc4d40a]:last-child {
  margin-bottom: 0;
}
/* 字段列 */
.field-col[data-v-acc4d40a] {
  transition: all var(--form-transition);
}
/* 表单字段项 */
.form-field-item[data-v-acc4d40a] {
  margin-bottom: 0;
}
.form-field-item[data-v-acc4d40a] .ant-form-item-label {
  padding-bottom: var(--form-spacing-xs);
}
.form-field-item[data-v-acc4d40a] .ant-form-item-label > label {
  font-size: var(--form-font-size-base);
  font-weight: 500;
  color: var(--form-text);
  height: auto;
}
.form-field-item[data-v-acc4d40a] .ant-form-item-required::before {
  color: var(--form-error);
  font-size: var(--form-font-size-base);
}
.form-field-item[data-v-acc4d40a] .ant-form-item-explain {
  font-size: var(--form-font-size-base);
}
.form-field-item[data-v-acc4d40a] .ant-form-item-extra {
  font-size: var(--form-font-size-sm);
  color: var(--form-text-tertiary);
  min-height: auto;
  margin-top: 2px;
}
.form-field-item[data-v-acc4d40a] .ant-form-item-help {
  font-size: var(--form-font-size-sm);
}
/* 字段标签 */
.field-label-wrapper[data-v-acc4d40a] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.required-mark[data-v-acc4d40a] {
  color: var(--form-error);
  font-size: var(--form-font-size-base);
  font-weight: 600;
}
.field-tooltip-icon[data-v-acc4d40a] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--form-text-tertiary);
  color: var(--form-bg);
  font-size: 11px;
  font-weight: 600;
  cursor: help;
  line-height: 1;
}
.field-badge[data-v-acc4d40a] {
  margin-left: 4px;
  font-size: 11px;
}
/* 字段组件 hover 效果 */
.form-field-item[data-v-acc4d40a] .ant-input:hover,
.form-field-item[data-v-acc4d40a] .ant-input-number:hover,
.form-field-item[data-v-acc4d40a] .ant-select:not(.ant-select-disabled) .ant-select-selector:hover,
.form-field-item[data-v-acc4d40a] .ant-picker:hover,
.form-field-item[data-v-acc4d40a] .ant-tree-select:hover .ant-select-selector {
  border-color: var(--form-primary);
}
.form-field-item[data-v-acc4d40a] .ant-input:focus,
.form-field-item[data-v-acc4d40a] .ant-input-number:focus,
.form-field-item[data-v-acc4d40a] .ant-select-focused .ant-select-selector,
.form-field-item[data-v-acc4d40a] .ant-picker-focused,
.form-field-item[data-v-acc4d40a] .ant-tree-select-focused .ant-select-selector {
  border-color: var(--form-primary);
  box-shadow: 0 0 0 2px var(--form-primary-light);
}
/* ============================================================
   明细区域
   ============================================================ */
.detail-sections[data-v-acc4d40a] {
  margin-bottom: var(--form-spacing);
}
.detail-section[data-v-acc4d40a] {
  margin-bottom: var(--form-spacing);
  background: var(--form-bg);
  border-radius: var(--form-radius);
  padding: var(--form-spacing);
  box-shadow: var(--form-shadow-sm);
  border: 1px solid var(--form-border);
  transition: all var(--form-transition);
}
.detail-section[data-v-acc4d40a]:hover {
  box-shadow: var(--form-shadow-md);
  border-color: var(--form-border-hover);
}
.section-header[data-v-acc4d40a] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--form-spacing-sm);
  padding-bottom: var(--form-spacing-xs);
  border-bottom: 1px solid var(--form-border);
}
.section-title[data-v-acc4d40a] {
  font-size: var(--form-font-size-lg);
  font-weight: 600;
  color: var(--form-text);
  margin: 0;
  line-height: 1.4;
}
.section-actions[data-v-acc4d40a] {
  display: flex;
  gap: var(--form-spacing-xs);
}
/* 明细表格 */
.detail-table-container[data-v-acc4d40a] {
  margin-top: var(--form-spacing-sm);
  border: 1px solid var(--form-border);
  border-radius: var(--form-radius-sm);
  overflow: hidden;
}
.detail-table[data-v-acc4d40a] .ant-table-thead > tr > th {
  background: var(--color-neutral-50, #fafafa);
  font-weight: 600;
  color: var(--form-text);
  border-bottom: 1px solid var(--form-border);
  padding: var(--form-spacing-xs) var(--form-spacing-sm);
}
.detail-table[data-v-acc4d40a] .ant-table-tbody > tr > td {
  padding: var(--form-spacing-xs) var(--form-spacing-sm);
  border-bottom: 1px solid var(--color-neutral-100, #f0f0f0);
}
.detail-table[data-v-acc4d40a] .ant-table-tbody > tr:hover > td {
  background: var(--color-neutral-50, #f5f5f5);
}
.table-add-button[data-v-acc4d40a] {
  margin-top: var(--form-spacing-sm);
}
.table-add-button[data-v-acc4d40a] .ant-btn {
  width: 100%;
  border-radius: var(--form-radius-sm);
}
/* 自定义内容 */
.detail-content[data-v-acc4d40a] {
  padding: var(--form-spacing-sm);
  background: var(--color-neutral-50, #fafafa);
  border-radius: var(--form-radius-sm);
  border: 1px dashed var(--form-border);
}
/* ============================================================
   表单底部
   ============================================================ */
.form-footer[data-v-acc4d40a] {
  padding-top: var(--form-spacing-sm);
  border-top: 1px solid var(--form-border);
  margin: var(--form-spacing) calc(-1 * var(--form-spacing)) calc(-1 * var(--form-spacing));
  padding-left: var(--form-spacing);
  padding-right: var(--form-spacing);
  padding-bottom: var(--form-spacing);
}
.footer-content[data-v-acc4d40a] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.footer-left[data-v-acc4d40a] {
  display: flex;
  align-items: center;
  gap: var(--form-spacing-xs);
}
.footer-right[data-v-acc4d40a] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.footer-btn[data-v-acc4d40a] {
  min-width: 80px;
  height: 32px;
  border-radius: var(--form-radius-sm);
  font-weight: 500;
  transition: all var(--form-transition);
}
.footer-btn[data-v-acc4d40a]:hover {
  transform: translateY(-1px);
  box-shadow: var(--form-shadow-md);
}
/* ============================================================
   查看模式
   ============================================================ */
.dynamic-form-detail.is-view .form-field-item[data-v-acc4d40a] .ant-input,
.dynamic-form-detail.is-view .form-field-item[data-v-acc4d40a] .ant-input-number,
.dynamic-form-detail.is-view .form-field-item[data-v-acc4d40a] .ant-select-selector,
.dynamic-form-detail.is-view .form-field-item[data-v-acc4d40a] .ant-picker,
.dynamic-form-detail.is-view .form-field-item[data-v-acc4d40a] .ant-tree-select-selector {
  background: transparent;
  border-color: transparent;
  color: var(--form-text);
  padding-left: 0;
}
/* ============================================================
   动画
   ============================================================ */
@keyframes formFadeIn-acc4d40a {
from {
    opacity: 0;
    transform: translateY(10px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
@keyframes fieldSlideIn-acc4d40a {
from {
    opacity: 0;
    transform: translateY(5px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
/* ============================================================
   响应式设计（5档断点）
   ============================================================ */
@media (max-width: 1024px) {
.form-row[data-v-acc4d40a] {
    gap: 12px;
}
}
@media (max-width: 768px) {
.dynamic-form-detail[data-v-acc4d40a] {
    padding: var(--form-spacing-sm);
    border-radius: var(--form-radius-sm);
}
.form-header[data-v-acc4d40a] {
    margin-bottom: var(--form-spacing-sm);
    padding-bottom: var(--form-spacing-xs);
}
.header-title[data-v-acc4d40a] {
    font-size: var(--form-font-size-lg);
}
.form-tabs[data-v-acc4d40a] {
    padding: var(--form-spacing-xs);
    margin-bottom: var(--form-spacing-sm);
}
.main-form-container[data-v-acc4d40a] {
    padding: var(--form-spacing-sm);
    margin-bottom: var(--form-spacing-sm);
}
  /* 移动端强制单列 */
.form-row[data-v-acc4d40a] {
    grid-template-columns: 1fr;
    gap: var(--form-spacing-xs);
    margin-bottom: var(--form-spacing-xs);
}
.field-col[data-v-acc4d40a] {
    grid-column: span 1 !important;
}
.detail-section[data-v-acc4d40a] {
    padding: var(--form-spacing-sm);
    margin-bottom: var(--form-spacing-sm);
}
.section-header[data-v-acc4d40a] {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--form-spacing-xs);
    margin-bottom: var(--form-spacing-xs);
    padding-bottom: var(--form-spacing-xs);
}
.section-actions[data-v-acc4d40a] {
    width: 100%;
    justify-content: flex-start;
    flex-wrap: wrap;
}
.form-footer[data-v-acc4d40a] {
    margin: var(--form-spacing-sm) calc(-1 * var(--form-spacing-sm)) calc(-1 * var(--form-spacing-sm));
    padding: var(--form-spacing-sm);
}
.footer-content[data-v-acc4d40a] {
    flex-direction: column;
    align-items: stretch;
    gap: var(--form-spacing-xs);
}
.footer-left[data-v-acc4d40a],
  .footer-right[data-v-acc4d40a] {
    width: 100%;
    justify-content: center;
}
.footer-btn[data-v-acc4d40a] {
    width: 100%;
    height: 36px;
}
}
@media (max-width: 480px) {
.dynamic-form-detail[data-v-acc4d40a] {
    padding: 12px;
}
.form-tabs[data-v-acc4d40a] .ant-tabs-tab {
    padding: 4px 8px;
    font-size: var(--form-font-size-sm);
}
.header-title[data-v-acc4d40a] {
    font-size: var(--form-font-size-base);
}
}
/* ============================================================
   深色模式（使用CSS变量自动适配）
   ============================================================ */
@media (prefers-color-scheme: dark) {
.dynamic-form-detail[data-v-acc4d40a] {
    --form-bg: var(--color-neutral-900, #1f1f1f);
    --form-border: var(--color-neutral-700, #333);
    --form-border-hover: var(--color-neutral-600, #444);
    --form-text: var(--color-neutral-100, #f0f0f0);
    --form-text-secondary: var(--color-neutral-400, #b0b0b0);
    --form-text-tertiary: var(--color-neutral-500, #888);
    --form-shadow-sm: 0 1px 4px rgba(0, 0, 0, 0.2);
    --form-shadow-md: 0 2px 8px rgba(0, 0, 0, 0.3);
}
.main-form-container[data-v-acc4d40a],
  .detail-section[data-v-acc4d40a],
  .form-tabs[data-v-acc4d40a] {
    background: var(--form-bg);
    border-color: var(--form-border);
}
.detail-table-container[data-v-acc4d40a] {
    background: var(--form-bg);
    border-color: var(--form-border);
}
.detail-table[data-v-acc4d40a] .ant-table-thead > tr > th {
    background: var(--color-neutral-800, #2a2a2a);
    color: var(--form-text);
    border-bottom-color: var(--form-border);
}
.detail-table[data-v-acc4d40a] .ant-table-tbody > tr > td {
    border-bottom-color: var(--form-border);
}
.detail-table[data-v-acc4d40a] .ant-table-tbody > tr:hover > td {
    background: var(--color-neutral-800, #2a2a2a);
}
.detail-content[data-v-acc4d40a] {
    background: var(--color-neutral-800, #2a2a2a);
    border-color: var(--form-border);
}
.form-footer[data-v-acc4d40a] {
    border-color: var(--form-border);
}
.form-tabs[data-v-acc4d40a] .ant-tabs-tab {
    color: var(--form-text-secondary);
}
.field-tooltip-icon[data-v-acc4d40a] {
    background: var(--form-text-tertiary);
    color: var(--form-bg);
}
.dynamic-form-detail.is-view .form-field-item[data-v-acc4d40a] .ant-input,
  .dynamic-form-detail.is-view .form-field-item[data-v-acc4d40a] .ant-input-number,
  .dynamic-form-detail.is-view .form-field-item[data-v-acc4d40a] .ant-select-selector,
  .dynamic-form-detail.is-view .form-field-item[data-v-acc4d40a] .ant-picker,
  .dynamic-form-detail.is-view .form-field-item[data-v-acc4d40a] .ant-tree-select-selector {
    color: var(--form-text);
}
}
/* 减少动画偏好 */
@media (prefers-reduced-motion: reduce) {
.dynamic-form-detail[data-v-acc4d40a],
  .dynamic-form-detail[data-v-acc4d40a] *,
  .dynamic-form-detail[data-v-acc4d40a] *::before,
  .dynamic-form-detail[data-v-acc4d40a] *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
}
}
.responsive-layout[data-v-b0f8846d] {
  min-height: 100vh;
  width: 100%;
  transition: all 0.3s ease;
  --layout-padding: 16px;
  --layout-gap: 16px;
  --layout-padding-tablet: 12px;
  --layout-gap-tablet: 12px;
  --layout-padding-mobile: 8px;
  --layout-gap-mobile: 8px;
}
.responsive-layout.safe-area[data-v-b0f8846d] {
  padding-top: env(safe-area-inset-top);
  padding-bottom: env(safe-area-inset-bottom);
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
}
/* Desktop 布局 */
.is-desktop[data-v-b0f8846d] {
  padding: var(--layout-padding);
}
.is-desktop[data-v-b0f8846d] > * {
  margin-bottom: var(--layout-gap);
}
/* Tablet 布局 */
.is-tablet[data-v-b0f8846d] {
  padding: var(--layout-padding-tablet);
}
.is-tablet[data-v-b0f8846d] > * {
  margin-bottom: var(--layout-gap-tablet);
}
/* Mobile 布局 */
.is-mobile[data-v-b0f8846d] {
  padding: var(--layout-padding-mobile);
}
.is-mobile[data-v-b0f8846d] > * {
  margin-bottom: var(--layout-gap-mobile);
}
/* 刘海屏适配 */
@media screen and (max-width: 480px) {
.safe-area[data-v-b0f8846d] {
    padding-top: max(env(safe-area-inset-top), 20px);
    padding-bottom: max(env(safe-area-inset-bottom), 20px);
}
}
/* 横屏适配 */
@media screen and (orientation: landscape) and (max-height: 500px) {
.is-mobile[data-v-b0f8846d] {
    padding: 8px 16px;
}
.is-mobile[data-v-b0f8846d] > * {
    margin-bottom: 8px;
}
}

/* 样式已迁移到全局：src/styles/components/common.css (.stat-card) */
.components-demo-container[data-v-a8238648] {
  padding: 12px 16px 12px 16px;
  margin: 0 auto;
  position: relative;
  overflow-x: hidden;
  max-width: 100%;
  box-sizing: border-box;
}
/* 针对移动端设备，增加顶部内边距，避免内容遮挡顶部菜单 */
@media (max-width: 768px) {
.components-demo-container[data-v-a8238648] {
    padding-top: 24px;
}
.component-section[data-v-a8238648] {
    padding: 0px !important;
}
.component-demo[data-v-a8238648] {
    padding: 0px !important;
}
}
.component-section[data-v-a8238648] {
  margin-bottom: 20px;
  padding: 20px;
  /* background: var(--bg-primary); */
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-light);
}
/* 布局效果说明 */
.layout-description[data-v-a8238648] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 16px;
  margin-top: 16px;
}
.layout-description-item[data-v-a8238648] {
  border: 1px solid var(--color-border);
  border-radius: 8px;
  padding: 16px;
  background: var(--color-bg-container);
}
@media (max-width: 768px) {
.layout-description-item[data-v-a8238648] {
    padding: 12px;
}
}
.layout-description-label[data-v-a8238648] {
  font-size: 14px;
  font-weight: 600;
  color: var(--color-text);
  margin: 0 0 8px 0;
}
.layout-description-content[data-v-a8238648] {
  font-size: 14px;
  color: var(--color-text-secondary);
  margin: 0;
  line-height: 1.4;
}
/* 响应式调整 */
@media (max-width: 768px) {
.layout-description[data-v-a8238648] {
    grid-template-columns: 1fr;
}
}
.component-section h2[data-v-a8238648] {
  margin-top: 0;
  margin-bottom: 15px;
  color: var(--text-primary);
  font-size: 20px;
  font-weight: 600;
}
.component-desc[data-v-a8238648] {
  margin-bottom: 20px;
  color: var(--text-secondary);
  font-size: 14px;
}
.component-demo[data-v-a8238648] {
  padding: 0 20px;
  /* background: var(--bg-secondary); */
  border-radius: var(--radius-sm);
}
.component-demo h3[data-v-a8238648] {
  margin-top: 0;
  margin-bottom: 15px;
  color: var(--text-primary);
  font-size: 16px;
  font-weight: 500;
}
.components-demo-container h1[data-v-a8238648] {
  margin-top: 0;
  font-size: 20px;
  color: var(--text-primary);
  padding-top: 8px;
}
.components-nav[data-v-a8238648] {
  position: sticky;
  top: 0;
  z-index: 100;
  padding: 8px;
  overflow-x: auto;
  background: #fff;
  border-radius: var(--radius-md);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  margin-bottom: 0;
  border: 1px solid #f0f0f0;
}
/* 针对移动端设备，调整导航栏的位置和样式 */
@media (max-width: 768px) {
.components-nav[data-v-a8238648] {
    position: relative;
    top: auto;
    margin-top: 16px;
}
.components-nav[data-v-a8238648] .ant-btn-group {
    flex-wrap: wrap;
}
}
.components-nav[data-v-a8238648] .ant-btn-group {
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
}
.components-nav[data-v-a8238648] .ant-btn-group > .ant-btn {
  flex: 0 0 auto;
  margin: 0;
}
.layout-demo-item[data-v-a8238648] {
  /* background: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%); */
  border-radius: var(--radius-md);
  padding: 40px 20px;
  height: 100%;
  text-align: center;
  border: 2px solid var(--border-color);
  box-shadow: var(--shadow-light);
  transition: all 0.3s ease;
  min-height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.layout-demo-item[data-v-a8238648]:hover {
  box-shadow: var(--shadow-medium);
  transform: translateY(-2px);
}
.layout-demo-item h4[data-v-a8238648] {
  margin: 0 0 10px 0;
  color: var(--text-primary);
  font-size: 18px;
  font-weight: 600;
}
.layout-demo-item p[data-v-a8238648] {
  margin: 0;
  color: var(--text-secondary);
  font-size: 14px;
}
.layout-demo-header[data-v-a8238648] {
  height: 100%;
  width: 100%;
  min-height: 64px;
  padding: 0 var(--spacing-lg);
  display: flex;
  align-items: center;
  justify-content: space-between;
  /* background: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%); */
  border-radius: 0;
}
.layout-demo-footer[data-v-a8238648] {
  height: 100%;
  min-height: 64px;
  padding: 0 var(--spacing-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  /* background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-primary) 100%); */
  border-radius: 0;
}
.layout-demo-responsive-hint[data-v-a8238648] {
  margin-top: 20px;
  padding: 15px;
  background: rgba(0, 122, 255, 0.1);
  border-radius: var(--radius-md);
  border-left: 4px solid #007aff;
  color: var(--text-primary);
  font-size: 14px;
  text-align: center;
}
.list-item-content[data-v-a8238648] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 10px;
  border-bottom: 1px solid var(--border-color);
}
.list-item-content[data-v-a8238648]:hover {
  background: var(--bg-secondary);
}
.list-item-info[data-v-a8238648] {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
}
.list-item-name[data-v-a8238648] {
  font-weight: 500;
  color: var(--text-primary);
}
.list-item-status[data-v-a8238648] {
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 500;
}
.status-completed[data-v-a8238648] {
  background: rgba(82, 196, 26, 0.1);
  color: #52c41a;
}
.status-in-progress[data-v-a8238648] {
  background: rgba(250, 173, 20, 0.1);
  color: #faad14;
}
.status-pending[data-v-a8238648] {
  background: rgba(153, 153, 153, 0.1);
  color: #999;
}
.list-item-actions[data-v-a8238648] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.list-item-description[data-v-a8238648] {
  color: var(--text-secondary);
  font-size: 14px;
}
.filter-container[data-v-a8238648] {
  /* background: var(--bg-secondary); */
  padding: 16px;
  border-radius: var(--radius-md);
  margin-bottom: 16px;
}
@media (max-width: 768px) {
.filter-container[data-v-a8238648] {
    padding: 12px;
}
}
.filter-container h3[data-v-a8238648] {
  margin-top: 0;
  margin-bottom: 12px;
  color: var(--text-primary);
  font-size: 16px;
  font-weight: 500;
}
.list-display-toggle[data-v-a8238648] {
  /* margin-bottom: 16px; */
  display: flex;
  justify-content: flex-end;
}
.list-display-toggle[data-v-a8238648] .ant-radio-group {
  border-radius: var(--radius-md);
  padding: 4px;
}
.list-display-toggle[data-v-a8238648] .ant-radio-button {
  border: none;
  box-shadow: none;
}
.list-display-toggle[data-v-a8238648] .ant-radio-button-checked {
  color: white;
  border-radius: var(--radius-sm);
}
/* 组件特性列表样式 */
.component-features[data-v-a8238648] {
  background: var(--bg-primary);
  border-radius: var(--radius-md);
  padding: 16px;
  margin-top: 16px;
  border: 1px solid var(--border-color);
}
@media (max-width: 768px) {
.component-features[data-v-a8238648] {
    padding: 12px;
}
}
.component-features h4[data-v-a8238648] {
  margin-top: 0;
  margin-bottom: 12px;
  color: var(--text-primary);
  font-size: 16px;
  font-weight: 500;
}
.component-features ul[data-v-a8238648] {
  margin: 0;
  padding-left: 24px;
}
.component-features li[data-v-a8238648] {
  margin-bottom: 8px;
  color: var(--text-secondary);
  line-height: 1.5;
}
/* 弹框内容演示样式 */
.modal-content-demo[data-v-a8238648] {
  padding: 20px;
}
.modal-content-demo h4[data-v-a8238648] {
  margin-top: 0;
  margin-bottom: 16px;
  color: var(--text-primary);
  font-size: 16px;
  font-weight: 600;
}
.modal-content-demo p[data-v-a8238648] {
  margin-bottom: 20px;
  color: var(--text-secondary);
  line-height: 1.6;
}
/* 演示特性样式 */
.demo-features[data-v-a8238648] {
  margin-bottom: 24px;
  padding: 16px;
  background: var(--bg-secondary);
  border-radius: var(--radius-md);
  border-left: 4px solid var(--primary-color);
}
@media (max-width: 768px) {
.demo-features[data-v-a8238648] {
    padding: 12px;
}
}
.demo-features h5[data-v-a8238648] {
  margin-top: 0;
  margin-bottom: 12px;
  color: var(--text-primary);
  font-size: 14px;
  font-weight: 500;
}
.demo-features ul[data-v-a8238648] {
  margin: 0;
  padding-left: 20px;
}
.demo-features li[data-v-a8238648] {
  margin-bottom: 6px;
  color: var(--text-secondary);
  font-size: 13px;
  line-height: 1.5;
}
/* 代码示例样式 */
.demo-code[data-v-a8238648] {
  margin-bottom: 20px;
}
.demo-code h5[data-v-a8238648] {
  margin-top: 0;
  margin-bottom: 12px;
  color: var(--text-primary);
  font-size: 14px;
  font-weight: 500;
}
.demo-code pre[data-v-a8238648] {
  margin: 0;
  padding: 16px;
  background: #f5f5f5;
  border-radius: var(--radius-md);
  overflow-x: auto;
  font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
  font-size: 13px;
  line-height: 1.4;
}
.demo-code code[data-v-a8238648] {
  color: #333;
}
/* 自定义标题样式 */
.custom-title[data-v-a8238648] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary);
}
/* 深色模式支持 */
@media (prefers-color-scheme: dark) {
.component-features[data-v-a8238648] {
    background: #1f1f1f;
    border-color: #333;
}
.demo-features[data-v-a8238648] {
    background: #2a2a2a;
    border-left-color: var(--primary-color);
}
.demo-code pre[data-v-a8238648] {
    background: #1a1a1a;
    border: 1px solid #333;
}
.demo-code code[data-v-a8238648] {
    color: #e0e0e0;
}
.custom-title[data-v-a8238648] {
    color: #e0e0e0;
}
}
@media (prefers-color-scheme: dark) and (max-width: 768px) {
.component-features[data-v-a8238648] {
    padding: 12px;
}
}
@media (prefers-color-scheme: dark) and (max-width: 768px) {
.demo-features[data-v-a8238648] {
    padding: 12px;
}
}
.stats-container[data-v-a8238648] {
  margin-bottom: 16px;
  padding: 0 4px;
}
/* 响应式统计卡片布局 */
@media (max-width: 768px) {
.stats-container[data-v-a8238648] {
    overflow: visible;
}
.stats-container[data-v-a8238648] .ant-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    overflow: visible;
    flex-wrap: wrap;
    margin: 0 -4px;
    padding: 0 4px;
}
.stats-container[data-v-a8238648] .ant-col {
    flex: 0 0 auto;
    width: 100% !important;
}
.stats-container[data-v-a8238648] .stat-item {
    min-width: 0;
    padding: var(--spacing-3);
}
}
/* 模态框中的特殊处理 */
.ant-modal-body .stats-container[data-v-a8238648] {
  padding: 0 8px;
}
/* 优化统计卡片内部元素，减小高度 */
.stats-container[data-v-a8238648] .stat-icon {
  width: 36px;
  height: 36px;
  font-size: 16px;
  margin-right: 12px;
}
.stats-container[data-v-a8238648] .stat-content {
  padding: 0;
}
.stats-container[data-v-a8238648] .stat-label {
  font-size: 11px;
  margin-bottom: 4px;
}
.stats-container[data-v-a8238648] .stat-value {
  font-size: 18px;
  gap: 8px;
  margin-bottom: 4px;
}
.stats-container[data-v-a8238648] .stat-change {
  font-size: 10px;
  padding: 2px 6px;
}
/* 模态框中卡片样式进一步优化 */
.ant-modal-body .stats-container[data-v-a8238648] .stat-item {
  padding: var(--spacing-3);
}
/* 确保所有移动尺寸下都是两栏布局 */
@media (max-width: 576px) {
.ant-modal-body .stats-container[data-v-a8238648] .ant-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    overflow: visible;
    flex-wrap: wrap;
}
.ant-modal-body .stats-container[data-v-a8238648] .ant-col {
    width: 100% !important;
}
}
/* 错误页面预览卡片 */
.error-page-preview[data-v-a8238648] {
  cursor: pointer;
  border-radius: 12px;
  overflow: hidden;
  transition: transform 0.3s, box-shadow 0.3s;
}
.error-page-preview[data-v-a8238648]:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}
.error-page-mini[data-v-a8238648] {
  height: 200px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  position: relative;
  overflow: hidden;
}
.error-page-mini[data-v-a8238648]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
  background-size: 20px 20px;
}
.error-page-404[data-v-a8238648] {
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #1e3a5f 100%);
}
.error-page-403[data-v-a8238648] {
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #3b1a1a 100%);
}
.error-page-500[data-v-a8238648] {
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #2d1b4e 100%);
}
.error-page-mini-code[data-v-a8238648] {
  font-size: 48px;
  font-weight: 800;
  letter-spacing: 4px;
  line-height: 1;
  margin-bottom: 8px;
  position: relative;
  z-index: 1;
}
.error-page-404 .error-page-mini-code[data-v-a8238648] {
  color: #60a5fa;
  text-shadow: 0 0 20px rgba(96, 165, 250, 0.5), 0 0 40px rgba(96, 165, 250, 0.2);
}
.error-page-403 .error-page-mini-code[data-v-a8238648] {
  color: #f87171;
  text-shadow: 0 0 20px rgba(248, 113, 113, 0.5), 0 0 40px rgba(248, 113, 113, 0.2);
}
.error-page-500 .error-page-mini-code[data-v-a8238648] {
  color: #c084fc;
  text-shadow: 0 0 20px rgba(192, 132, 252, 0.5), 0 0 40px rgba(192, 132, 252, 0.2);
}
.error-page-mini-text[data-v-a8238648] {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 12px;
  position: relative;
  z-index: 1;
}
.error-page-mini-hint[data-v-a8238648] {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.3);
  position: relative;
  z-index: 1;
}
.error-page-preview-modal[data-v-a8238648] .ant-modal-body {
  padding: 0;
}
.error-page-iframe-container[data-v-a8238648] {
  border-radius: 8px;
  overflow: hidden;
}
.error-page-iframe-container iframe[data-v-a8238648] {
  display: block;
}
@media (max-width: 768px) {
.error-page-preview-modal[data-v-a8238648] .ant-modal {
    max-width: calc(100vw - 32px) !important;
    margin: 16px auto !important;
}
.error-page-preview-modal[data-v-a8238648] .ant-modal-content {
    padding: 0;
}
.error-page-iframe-container iframe[data-v-a8238648] {
    height: 400px;
}
.error-page-mini[data-v-a8238648] {
    height: 160px;
}
.error-page-mini-code[data-v-a8238648] {
    font-size: 36px;
}
.error-page-mini-text[data-v-a8238648] {
    font-size: 12px;
}
}
@media (max-width: 575px) {
.error-page-mini[data-v-a8238648] {
    height: 140px;
}
.error-page-mini-code[data-v-a8238648] {
    font-size: 28px;
    letter-spacing: 2px;
}
.error-page-mini-hint[data-v-a8238648] {
    font-size: 11px;
}
}
/* 移动端卡片样式 */
.mobile-cards .mobile-card[data-v-a8238648] {
  padding: 12px;
  background: #fff;
  border-radius: 8px;
  margin-bottom: 12px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}
.mobile-cards .mobile-card-header[data-v-a8238648] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #f0f0f0;
}
.mobile-cards .mobile-card-title[data-v-a8238648] {
  font-weight: 600;
  font-size: 15px;
  color: #262626;
}
.mobile-cards .mobile-card-content[data-v-a8238648] {
  margin-bottom: 12px;
}
.mobile-cards .mobile-card-item[data-v-a8238648] {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
  font-size: 13px;
}
.mobile-cards .mobile-card-item .label[data-v-a8238648] {
  color: #8c8c8c;
  margin-right: 8px;
  min-width: 70px;
}
.mobile-cards .mobile-card-actions[data-v-a8238648] {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding-top: 8px;
  border-top: 1px solid #f0f0f0;
}
.avatar-uploader-container[data-v-09cdd1f1] {
  display: inline-block;
}
.avatar-uploader[data-v-09cdd1f1] .ant-upload {
  display: block;
}
.avatar-wrapper[data-v-09cdd1f1] {
  position: relative;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  border: 4px solid #fff;
}
.avatar-wrapper:hover .avatar-mask[data-v-09cdd1f1] {
  opacity: 1;
}
.avatar[data-v-09cdd1f1] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.avatar-mask[data-v-09cdd1f1] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.camera-icon[data-v-09cdd1f1] {
  font-size: 28px;
  color: #fff;
  margin-bottom: 4px;
}
.change-text[data-v-09cdd1f1] {
  font-size: 12px;
  color: #fff;
}
.upload-placeholder[data-v-09cdd1f1] {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: #f5f7fa;
  border: 2px dashed #d9d9d9;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
}
.upload-placeholder[data-v-09cdd1f1]:hover {
  border-color: #1890ff;
  background: #e6f7ff;
}
.upload-icon-wrapper[data-v-09cdd1f1] {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px;
}
.upload-icon[data-v-09cdd1f1] {
  font-size: 24px;
  color: #8c8c8c;
}
.upload-text[data-v-09cdd1f1] {
  font-size: 12px;
  color: #8c8c8c;
}
.cropper-modal-content[data-v-09cdd1f1] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.cropper-area[data-v-09cdd1f1] {
  flex: 1;
  min-height: 300px;
}
.cropper-toolbar[data-v-09cdd1f1] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  background: #fafafa;
  border-radius: 8px;
  flex-wrap: wrap;
  gap: 12px;
}
.toolbar-actions[data-v-09cdd1f1] {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.toolbar-actions[data-v-09cdd1f1] .ant-btn {
  font-size: 12px;
  padding: 4px 12px;
}
.zoom-control[data-v-09cdd1f1] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.zoom-control[data-v-09cdd1f1] .ant-btn {
  width: 32px;
  height: 32px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.zoom-value[data-v-09cdd1f1] {
  min-width: 50px;
  text-align: center;
  font-size: 13px;
  font-weight: 500;
  color: #262626;
}
.cropper-wrapper[data-v-09cdd1f1] {
  width: 100%;
  height: 400px;
  background: #000;
  border-radius: 8px;
  overflow: hidden;
}
.cropper-sidebar[data-v-09cdd1f1] {
  width: 220px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.section-title[data-v-09cdd1f1] {
  font-size: 14px;
  font-weight: 600;
  color: #262626;
  margin: 0 0 12px 0;
}
.preview-section[data-v-09cdd1f1] {
  padding-bottom: 12px;
  border-bottom: 1px solid #f0f0f0;
}
.preview-list[data-v-09cdd1f1] {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: flex-end;
  gap: 16px;
}
.preview-item[data-v-09cdd1f1] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
.preview-box[data-v-09cdd1f1] {
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid #f0f0f0;
  background: #fafafa;
}
.preview-box-lg[data-v-09cdd1f1] {
  width: 64px;
  height: 64px;
}
.preview-box-md[data-v-09cdd1f1] {
  width: 40px;
  height: 40px;
}
.preview-box-sm[data-v-09cdd1f1] {
  width: 24px;
  height: 24px;
}
.preview-img[data-v-09cdd1f1] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.preview-placeholder[data-v-09cdd1f1] {
  width: 100%;
  height: 100%;
  background: #f0f0f0;
}
.preview-size[data-v-09cdd1f1] {
  font-size: 12px;
  color: #8c8c8c;
}
.format-section[data-v-09cdd1f1],
.quality-section[data-v-09cdd1f1],
.aspect-section[data-v-09cdd1f1] {
  padding-bottom: 12px;
  border-bottom: 1px solid #f0f0f0;
}
.format-section[data-v-09cdd1f1]:last-child,
.quality-section[data-v-09cdd1f1]:last-child,
.aspect-section[data-v-09cdd1f1]:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.quality-slider[data-v-09cdd1f1] .ant-slider {
  margin: 4px 0;
}
.quality-slider[data-v-09cdd1f1] .ant-slider-mark-text {
  font-size: 11px;
}
.format-buttons[data-v-09cdd1f1],
.aspect-buttons[data-v-09cdd1f1] {
  display: flex;
  flex-wrap: nowrap;
  gap: 6px;
}
.format-buttons[data-v-09cdd1f1] .ant-btn,
.aspect-buttons[data-v-09cdd1f1] .ant-btn {
  flex: 1;
  min-width: 0;
  font-size: 12px;
  padding: 4px 6px;
  height: 28px;
}
.quality-value[data-v-09cdd1f1] {
  display: block;
  text-align: right;
  padding-top: 8px;
  font-size: 12px;
  color: #1890ff;
  font-weight: 500;
}
.modal-footer-content[data-v-09cdd1f1] {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}
.footer-actions-left[data-v-09cdd1f1] {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.footer-actions-right[data-v-09cdd1f1] {
  display: flex;
  gap: 8px;
}
@media (max-width: 768px) {
.avatar-wrapper[data-v-09cdd1f1],
  .upload-placeholder[data-v-09cdd1f1] {
    width: 80px;
    height: 80px;
}
.cropper-modal-content[data-v-09cdd1f1] {
    flex-direction: column;
    gap: 12px;
}
.cropper-area[data-v-09cdd1f1] {
    width: 100%;
}
.cropper-sidebar[data-v-09cdd1f1] {
    width: 100%;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 12px;
}
.section-title[data-v-09cdd1f1] {
    font-size: 12px;
    margin-bottom: 6px;
}
.preview-section[data-v-09cdd1f1],
  .format-section[data-v-09cdd1f1],
  .quality-section[data-v-09cdd1f1],
  .aspect-section[data-v-09cdd1f1] {
    border-bottom: none;
    padding-bottom: 0;
    width: 48%;
    flex: 1;
    min-width: 140px;
}
.preview-list[data-v-09cdd1f1] {
    justify-content: flex-start;
    gap: 12px;
}
.preview-box-lg[data-v-09cdd1f1] {
    width: 48px !important;
    height: 48px !important;
}
.preview-box-md[data-v-09cdd1f1] {
    width: 32px !important;
    height: 32px !important;
}
.preview-box-sm[data-v-09cdd1f1] {
    width: 24px !important;
    height: 24px !important;
}
.cropper-wrapper[data-v-09cdd1f1] {
    height: 250px;
}
.cropper-toolbar[data-v-09cdd1f1] {
    flex-direction: column;
    gap: 8px;
    padding: 8px;
}
.toolbar-actions[data-v-09cdd1f1] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    width: 100%;
    justify-content: center;
}
.toolbar-actions[data-v-09cdd1f1] .ant-btn {
    flex: 1;
    min-width: calc(33.33% - 4px);
    font-size: 11px;
    padding: 4px 8px;
    height: 32px;
}
.zoom-control[data-v-09cdd1f1] {
    width: 100%;
    justify-content: center;
    padding-top: 8px;
    border-top: 1px solid #e8e8e8;
    margin-top: 0;
}
.zoom-value[data-v-09cdd1f1] {
    min-width: 40px;
    font-size: 12px;
}
.format-buttons[data-v-09cdd1f1],
  .aspect-buttons[data-v-09cdd1f1] {
    flex-wrap: wrap;
    gap: 4px;
}
.format-buttons[data-v-09cdd1f1] .ant-btn,
  .aspect-buttons[data-v-09cdd1f1] .ant-btn {
    flex: 1;
    min-width: 0;
    font-size: 11px;
    padding: 2px 4px;
    height: 26px;
}
}
/* 小屏幕手机 */
@media (max-width: 480px) {
.cropper-sidebar[data-v-09cdd1f1] {
    flex-direction: column;
}
.preview-section[data-v-09cdd1f1],
  .format-section[data-v-09cdd1f1],
  .quality-section[data-v-09cdd1f1],
  .aspect-section[data-v-09cdd1f1] {
    width: 100%;
}
.preview-list[data-v-09cdd1f1] {
    justify-content: center;
}
.cropper-wrapper[data-v-09cdd1f1] {
    height: 200px;
}
.action-buttons-left[data-v-09cdd1f1] .ant-btn {
    min-width: calc(50% - 3px);
}
}
.profile-container[data-v-3b3d3341] {
  min-height: 100%;
  background: #f0f2f5;
  padding: 0;
}
.page-header[data-v-3b3d3341] {
  position: relative;
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%);
  padding: 36px 28px 88px;
  overflow: hidden;
}
.header-bg-decoration[data-v-3b3d3341] {
  position: absolute;
  top: 0;
  right: 0;
  width: 65%;
  height: 100%;
  pointer-events: none;
}
.header-bg-decoration .header-circle[data-v-3b3d3341] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.header-bg-decoration .header-circle-1[data-v-3b3d3341] {
  width: 320px;
  height: 320px;
  top: -160px;
  right: -80px;
  animation: float-3b3d3341 8s ease-in-out infinite;
}
.header-bg-decoration .header-circle-2[data-v-3b3d3341] {
  width: 200px;
  height: 200px;
  bottom: -100px;
  right: 120px;
  animation: float-3b3d3341 6s ease-in-out infinite reverse;
}
.header-bg-decoration .header-circle-3[data-v-3b3d3341] {
  width: 100px;
  height: 100px;
  top: 20%;
  right: 30%;
  background: rgba(255, 255, 255, 0.05);
  animation: float-3b3d3341 10s ease-in-out infinite;
}
.header-bg-decoration .header-line[data-v-3b3d3341] {
  position: absolute;
  background: rgba(255, 255, 255, 0.06);
}
.header-bg-decoration .header-line-1[data-v-3b3d3341] {
  width: 240px;
  height: 1px;
  top: 35%;
  right: 0;
  transform: rotate(25deg);
}
.header-bg-decoration .header-line-2[data-v-3b3d3341] {
  width: 180px;
  height: 1px;
  bottom: 25%;
  right: 40px;
  transform: rotate(-15deg);
}
.header-bg-decoration .header-line-3[data-v-3b3d3341] {
  width: 120px;
  height: 1px;
  top: 60%;
  right: 20%;
  transform: rotate(45deg);
}
@keyframes float-3b3d3341 {
0%,
  100% {
    transform: translateY(0);
}
50% {
    transform: translateY(-10px);
}
}
.header-content[data-v-3b3d3341] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.header-content .header-left .page-title[data-v-3b3d3341] {
  font-size: 28px;
  font-weight: 700;
  color: #fff;
  margin: 0 0 8px 0;
  letter-spacing: 0.5px;
}
.header-content .header-left .page-subtitle[data-v-3b3d3341] {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.8);
  margin: 0;
  font-weight: 400;
}
.header-content .header-right .edit-profile-btn[data-v-3b3d3341] {
  border-radius: 8px;
  font-weight: 500;
  height: 40px;
  padding: 0 20px;
  backdrop-filter: blur(8px);
  background: rgba(255, 255, 255, 0.2) !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  color: white !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.header-content .header-right .edit-profile-btn[data-v-3b3d3341]:hover {
  background: rgba(255, 255, 255, 0.35) !important;
  border-color: rgba(255, 255, 255, 0.6) !important;
  color: white !important;
}
.profile-main[data-v-3b3d3341] {
  padding: 0 16px 16px;
  margin-top: -60px;
  position: relative;
  z-index: 2;
}
.profile-info-card[data-v-3b3d3341] {
  background: #fff;
  border-radius: 16px;
  padding: 28px;
  margin-bottom: 12px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
  transition: box-shadow 0.3s ease;
}
.profile-info-card[data-v-3b3d3341]:hover {
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.1);
}
.profile-info-main[data-v-3b3d3341] {
  display: flex;
  align-items: flex-start;
  gap: 28px;
}
.avatar-section[data-v-3b3d3341] {
  flex-shrink: 0;
}
.user-info[data-v-3b3d3341] {
  flex: 1;
  padding-top: 8px;
}
.user-info .user-name-row[data-v-3b3d3341] {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.user-info .user-name[data-v-3b3d3341] {
  font-size: 24px;
  font-weight: 700;
  color: #1a1a2e;
  margin: 0;
  letter-spacing: 0.3px;
}
.user-info .role-tag[data-v-3b3d3341] {
  font-weight: 500;
  border-radius: 6px;
  font-size: 12px;
}
.user-info .user-email[data-v-3b3d3341] {
  font-size: 14px;
  color: #8c8c8c;
  margin: 0 0 14px 0;
  display: flex;
  align-items: center;
  gap: 8px;
}
.user-info .user-meta[data-v-3b3d3341] {
  display: flex;
  align-items: center;
}
.user-info .user-meta .join-date[data-v-3b3d3341] {
  font-size: 13px;
  color: #bfbfbf;
  display: flex;
  align-items: center;
  gap: 6px;
}
.stats-section[data-v-3b3d3341] {
  margin-bottom: 12px;
}
.stats-section[data-v-3b3d3341] .stat-card {
  background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
  border: 1px solid #e8ecf1;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
  padding: var(--spacing-3);
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  transition: all 0.3s ease;
  /* 彩色图标样式 - 参考权限集风格 */
  /* 各变体彩色图标 */
}
.stats-section[data-v-3b3d3341] .stat-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}
.stats-section[data-v-3b3d3341] .stat-card .stat-card__icon-wrap {
  margin-bottom: 12px;
}
.stats-section[data-v-3b3d3341] .stat-card .stat-card__icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.stats-section[data-v-3b3d3341] .stat-card .stat-card__label {
  font-size: 12px;
  color: #8c8c8c;
  margin-bottom: 4px;
}
.stats-section[data-v-3b3d3341] .stat-card .stat-card__value {
  font-size: 26px;
  font-weight: 700;
  color: #1a1a2e;
  line-height: 1.2;
}
.stats-section[data-v-3b3d3341] .stat-card.stat-card--primary .stat-card__icon {
  background: linear-gradient(135deg, #1890ff, #69c0ff);
  color: #fff;
}
.stats-section[data-v-3b3d3341] .stat-card.stat-card--success .stat-card__icon {
  background: linear-gradient(135deg, #52c41a, #95de64);
  color: #fff;
}
.stats-section[data-v-3b3d3341] .stat-card.stat-card--warning .stat-card__icon {
  background: linear-gradient(135deg, #faad14, #ffc53d);
  color: #fff;
}
.stats-section[data-v-3b3d3341] .stat-card.stat-card--danger .stat-card__icon {
  background: linear-gradient(135deg, #f5222d, #ff7875);
  color: #fff;
}
.stats-section[data-v-3b3d3341] .stat-card.stat-card--info .stat-card__icon {
  background: linear-gradient(135deg, #722ed1, #b37feb);
  color: #fff;
}
.content-section .left-content[data-v-3b3d3341],
.content-section .right-content[data-v-3b3d3341] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.content-section .content-card[data-v-3b3d3341] {
  border-radius: 14px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  border: 1px solid #f0f0f0;
  transition: box-shadow 0.3s ease;
}
.content-section .content-card[data-v-3b3d3341]:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}
.content-section .content-card[data-v-3b3d3341] .ant-card-head {
  border-bottom: 1px solid #f5f5f5;
  min-height: 48px;
}
.content-section .content-card[data-v-3b3d3341] .ant-card-head .ant-card-head-title {
  font-weight: 600;
  font-size: 15px;
  color: #1a1a2e;
}
.content-section .content-card[data-v-3b3d3341] .ant-card-body {
  padding: 16px 24px;
}
.content-section .view-all-link[data-v-3b3d3341] {
  display: flex;
  align-items: center;
  gap: 4px;
  color: #1890ff;
  font-size: 13px;
  font-weight: 500;
  transition: color 0.2s;
}
.content-section .view-all-link[data-v-3b3d3341]:hover {
  color: #40a9ff;
}
.activity-item[data-v-3b3d3341] {
  padding: 12px 16px;
  margin: 0 -16px;
  border-radius: 10px;
  transition: all 0.25s ease;
}
.activity-item[data-v-3b3d3341]:hover {
  background: #f8fafc;
}
.activity-item[data-v-3b3d3341] .ant-list-item-meta {
  align-items: center;
}
.activity-avatar[data-v-3b3d3341] {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: #fff;
  transition: all 0.3s ease;
}
.activity-avatar.create[data-v-3b3d3341] {
  background: linear-gradient(135deg, #52c41a, #95de64);
  box-shadow: 0 2px 8px rgba(82, 196, 26, 0.3);
}
.activity-avatar.update[data-v-3b3d3341] {
  background: linear-gradient(135deg, #1890ff, #69c0ff);
  box-shadow: 0 2px 8px rgba(24, 144, 255, 0.3);
}
.activity-avatar.publish[data-v-3b3d3341] {
  background: linear-gradient(135deg, #fa8c16, #ffc53d);
  box-shadow: 0 2px 8px rgba(250, 140, 22, 0.3);
}
.activity-avatar.approve[data-v-3b3d3341] {
  background: linear-gradient(135deg, #722ed1, #b37feb);
  box-shadow: 0 2px 8px rgba(114, 46, 209, 0.3);
}
.activity-content[data-v-3b3d3341] {
  font-size: 14px;
  color: #262626;
  font-weight: 500;
}
.activity-time[data-v-3b3d3341] {
  font-size: 12px;
  color: #bfbfbf;
  margin-top: 4px;
}
.collection-list[data-v-3b3d3341] {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.collection-item[data-v-3b3d3341] {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  background: linear-gradient(135deg, #fafbfc, #f5f7fa);
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.3s ease;
  border: 1px solid transparent;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.02);
}
.collection-item[data-v-3b3d3341]:hover {
  background: linear-gradient(135deg, #f0f5ff, #e6f0ff);
  border-color: #d6e4ff;
  transform: translateX(6px);
  box-shadow: 0 4px 12px rgba(24, 144, 255, 0.08);
}
.collection-item .collection-icon-wrapper[data-v-3b3d3341] {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.collection-item .collection-icon-wrapper.icon-blue[data-v-3b3d3341] {
  background: linear-gradient(135deg, #1890ff, #69c0ff);
  box-shadow: 0 2px 8px rgba(24, 144, 255, 0.3);
}
.collection-item .collection-icon-wrapper.icon-cyan[data-v-3b3d3341] {
  background: linear-gradient(135deg, #3dbbae, #5cdbd3);
  box-shadow: 0 2px 8px rgba(19, 194, 194, 0.3);
}
.collection-item .collection-icon-wrapper.icon-purple[data-v-3b3d3341] {
  background: linear-gradient(135deg, #722ed1, #b37feb);
  box-shadow: 0 2px 8px rgba(114, 46, 209, 0.3);
}
.collection-item .collection-icon-wrapper.icon-orange[data-v-3b3d3341] {
  background: linear-gradient(135deg, #fa8c16, #ffc53d);
  box-shadow: 0 2px 8px rgba(250, 140, 22, 0.3);
}
.collection-item .collection-icon[data-v-3b3d3341] {
  font-size: 22px;
  color: #fff;
}
.collection-item .collection-info[data-v-3b3d3341] {
  flex: 1;
  min-width: 0;
}
.collection-item .collection-info .collection-name[data-v-3b3d3341] {
  font-weight: 600;
  color: #262626;
  margin-bottom: 2px;
  font-size: 14px;
}
.collection-item .collection-info .collection-desc[data-v-3b3d3341] {
  font-size: 12px;
  color: #8c8c8c;
}
.collection-item .collection-actions[data-v-3b3d3341] {
  display: flex;
  gap: 10px;
}
.collection-item .collection-actions .action-icon[data-v-3b3d3341] {
  cursor: pointer;
  color: #bfbfbf;
  padding: 6px;
  border-radius: 6px;
  transition: all 0.2s;
  font-size: 15px;
}
.collection-item .collection-actions .action-icon[data-v-3b3d3341]:hover {
  color: #1890ff;
  background: #e6f7ff;
}
.collection-item .collection-actions .action-icon.delete[data-v-3b3d3341]:hover {
  color: #ff4d4f;
  background: #fff1f0;
}
/* 账户安全 */
.security-list .security-item[data-v-3b3d3341] {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px;
  cursor: pointer;
  transition: all 0.25s ease;
  border-radius: 12px;
}
.security-list .security-item[data-v-3b3d3341]:hover {
  background: linear-gradient(135deg, #f8fafc, #f5f7fa);
}
.security-list .security-item .security-icon-wrapper[data-v-3b3d3341] {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.25s;
  /* 彩色图标变体 */
}
.security-list .security-item .security-icon-wrapper .security-icon[data-v-3b3d3341] {
  font-size: 20px;
  color: #fff;
  transition: color 0.25s;
}
.security-list .security-item .security-icon-wrapper.icon-blue[data-v-3b3d3341] {
  background: linear-gradient(135deg, #1890ff, #69c0ff);
  box-shadow: 0 2px 8px rgba(24, 144, 255, 0.3);
}
.security-list .security-item .security-icon-wrapper.icon-green[data-v-3b3d3341] {
  background: linear-gradient(135deg, #52c41a, #95de64);
  box-shadow: 0 2px 8px rgba(82, 196, 26, 0.3);
}
.security-list .security-item .security-icon-wrapper.icon-orange[data-v-3b3d3341] {
  background: linear-gradient(135deg, #faad14, #ffc53d);
  box-shadow: 0 2px 8px rgba(250, 173, 20, 0.3);
}
.security-list .security-item .security-icon-wrapper.icon-red[data-v-3b3d3341] {
  background: linear-gradient(135deg, #ff4d4f, #ff7875);
  box-shadow: 0 2px 8px rgba(255, 77, 79, 0.3);
}
.security-list .security-item .security-icon-wrapper.active[data-v-3b3d3341] {
  background: linear-gradient(135deg, #52c41a, #95de64);
  box-shadow: 0 2px 8px rgba(82, 196, 26, 0.3);
}
.security-list .security-item .security-info[data-v-3b3d3341] {
  flex: 1;
}
.security-list .security-item .security-info .security-label[data-v-3b3d3341] {
  font-weight: 600;
  color: #262626;
  margin-bottom: 3px;
  font-size: 14px;
}
.security-list .security-item .security-info .security-value[data-v-3b3d3341] {
  font-size: 12px;
  color: #8c8c8c;
}
.security-list .security-item .security-status[data-v-3b3d3341] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.security-list .security-item .security-status .security-tag[data-v-3b3d3341] {
  border-radius: 6px;
  font-size: 12px;
}
.security-list .security-item .security-status .arrow-icon[data-v-3b3d3341] {
  font-size: 12px;
  color: #bfbfbf;
  transition: color 0.2s;
}
.security-list .security-item:hover .arrow-icon[data-v-3b3d3341] {
  color: #1890ff;
}
/* 锁屏设置 */
.lock-settings .setting-item[data-v-3b3d3341] {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px;
  border-radius: 12px;
  transition: all 0.25s;
}
.lock-settings .setting-item[data-v-3b3d3341]:hover {
  background: linear-gradient(135deg, #f8fafc, #f5f7fa);
}
.lock-settings .setting-item .setting-icon-wrapper[data-v-3b3d3341] {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  /* 彩色图标变体 */
}
.lock-settings .setting-item .setting-icon-wrapper .setting-icon[data-v-3b3d3341] {
  font-size: 20px;
  color: #fff;
}
.lock-settings .setting-item .setting-icon-wrapper.icon-purple[data-v-3b3d3341] {
  background: linear-gradient(135deg, #722ed1, #b37feb);
  box-shadow: 0 2px 8px rgba(114, 46, 209, 0.3);
}
.lock-settings .setting-item .setting-icon-wrapper.icon-cyan[data-v-3b3d3341] {
  background: linear-gradient(135deg, #3dbbae, #5cdbd3);
  box-shadow: 0 2px 8px rgba(19, 194, 194, 0.3);
}
.lock-settings .setting-item .setting-info[data-v-3b3d3341] {
  flex: 1;
}
.lock-settings .setting-item .setting-info .setting-label[data-v-3b3d3341] {
  font-weight: 600;
  color: #262626;
  font-size: 14px;
}
.lock-settings .setting-item .setting-info .setting-value[data-v-3b3d3341] {
  font-size: 12px;
  color: #8c8c8c;
}
/* 通知设置 */
.notification-settings .notification-item[data-v-3b3d3341] {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px;
  border-radius: 12px;
  transition: all 0.25s;
}
.notification-settings .notification-item[data-v-3b3d3341]:hover {
  background: linear-gradient(135deg, #f8fafc, #f5f7fa);
}
.notification-settings .notification-item .notification-icon-wrapper[data-v-3b3d3341] {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  /* 彩色图标变体 */
}
.notification-settings .notification-item .notification-icon-wrapper .notification-icon[data-v-3b3d3341] {
  font-size: 20px;
  color: #fff;
}
.notification-settings .notification-item .notification-icon-wrapper.icon-blue[data-v-3b3d3341] {
  background: linear-gradient(135deg, #1890ff, #69c0ff);
  box-shadow: 0 2px 8px rgba(24, 144, 255, 0.3);
}
.notification-settings .notification-item .notification-icon-wrapper.icon-green[data-v-3b3d3341] {
  background: linear-gradient(135deg, #52c41a, #95de64);
  box-shadow: 0 2px 8px rgba(82, 196, 26, 0.3);
}
.notification-settings .notification-item .notification-icon-wrapper.icon-orange[data-v-3b3d3341] {
  background: linear-gradient(135deg, #faad14, #ffc53d);
  box-shadow: 0 2px 8px rgba(250, 173, 20, 0.3);
}
.notification-settings .notification-item .notification-icon-wrapper.icon-purple[data-v-3b3d3341] {
  background: linear-gradient(135deg, #722ed1, #b37feb);
  box-shadow: 0 2px 8px rgba(114, 46, 209, 0.3);
}
.notification-settings .notification-item .notification-icon-wrapper.icon-red[data-v-3b3d3341] {
  background: linear-gradient(135deg, #f5222d, #ff7875);
  box-shadow: 0 2px 8px rgba(245, 34, 45, 0.3);
}
.notification-settings .notification-item .notification-info[data-v-3b3d3341] {
  flex: 1;
}
.notification-settings .notification-item .notification-info .notification-label[data-v-3b3d3341] {
  display: block;
  font-weight: 600;
  color: #262626;
  font-size: 14px;
}
.notification-settings .notification-item .notification-info .notification-desc[data-v-3b3d3341] {
  display: block;
  font-size: 12px;
  color: #8c8c8c;
  margin-top: 2px;
}
/* 移动端适配：缩小图标和间距 */
@media (max-width: 768px) {
.security-icon-wrapper[data-v-3b3d3341],
  .setting-icon-wrapper[data-v-3b3d3341],
  .notification-icon-wrapper[data-v-3b3d3341] {
    width: 36px !important;
    height: 36px !important;
    border-radius: 10px !important;
}
.security-icon-wrapper .security-icon[data-v-3b3d3341],
  .setting-icon-wrapper .security-icon[data-v-3b3d3341],
  .notification-icon-wrapper .security-icon[data-v-3b3d3341],
  .security-icon-wrapper .setting-icon[data-v-3b3d3341],
  .setting-icon-wrapper .setting-icon[data-v-3b3d3341],
  .notification-icon-wrapper .setting-icon[data-v-3b3d3341],
  .security-icon-wrapper .notification-icon[data-v-3b3d3341],
  .setting-icon-wrapper .notification-icon[data-v-3b3d3341],
  .notification-icon-wrapper .notification-icon[data-v-3b3d3341] {
    font-size: 16px !important;
}
.activity-avatar[data-v-3b3d3341] {
    width: 36px !important;
    height: 36px !important;
    border-radius: 10px !important;
    font-size: 15px !important;
}
.collection-icon-wrapper[data-v-3b3d3341] {
    width: 36px !important;
    height: 36px !important;
    border-radius: 10px !important;
}
.collection-icon-wrapper .collection-icon[data-v-3b3d3341] {
    font-size: 18px !important;
}
}
/* 弹窗 */
.modal-footer[data-v-3b3d3341] {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid #f0f2f5;
}
.two-factor-content .qr-code-section[data-v-3b3d3341] {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 20px;
}
.two-factor-content .qr-code-section .qr-code-placeholder[data-v-3b3d3341] {
  width: 140px;
  height: 140px;
  border-radius: 16px;
  background: linear-gradient(135deg, #f5f7fa, #e8ecf1);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 56px;
  color: #1890ff;
  border: 2px dashed #d9d9d9;
}
.two-factor-content .qr-code-section .qr-code-desc[data-v-3b3d3341] {
  margin-top: 12px;
  font-size: 13px;
  color: #8c8c8c;
}
/* 响应式 */
@media (max-width: 768px) {
.page-header[data-v-3b3d3341] {
    padding: 20px 16px 72px;
}
.page-header .header-content[data-v-3b3d3341] {
    flex-direction: column;
    gap: 16px;
}
.page-header .header-content .header-right[data-v-3b3d3341] {
    width: 100%;
}
.page-header .header-content .header-right .edit-profile-btn[data-v-3b3d3341] {
    width: 100%;
}
.page-header .header-content .page-title[data-v-3b3d3341] {
    font-size: 22px !important;
}
.profile-main[data-v-3b3d3341] {
    padding: 0 12px 12px;
    margin-top: -48px;
}
.profile-info-card[data-v-3b3d3341] {
    padding: 20px;
}
.profile-info-main[data-v-3b3d3341] {
    flex-direction: column;
    align-items: center;
    gap: 16px;
}
.profile-info-main .user-info[data-v-3b3d3341] {
    text-align: center;
    padding-top: 0;
}
.profile-info-main .user-info .user-name-row[data-v-3b3d3341] {
    justify-content: center;
}
.profile-info-main .user-info .user-email[data-v-3b3d3341] {
    justify-content: center;
}
.profile-info-main .user-info .user-meta[data-v-3b3d3341] {
    justify-content: center;
}
.content-section .content-card[data-v-3b3d3341] .ant-card-body {
    padding: 14px 16px;
}
}
.notifications-page[data-v-229825a4] {
  background: var(--color-bg-layout);
  min-height: 100%;
}
/* 统计标签 */
.stat-tag[data-v-229825a4] {
  font-size: 12px;
  padding: 2px 8px;
  border-radius: 10px;
  line-height: 18px;
  margin-right: 8px;
}
.stat-tag.total[data-v-229825a4] {
  background: var(--color-bg-text-hover, #f5f5f5);
  color: var(--color-text-secondary);
}
.stat-tag.unread[data-v-229825a4] {
  background: var(--color-primary-bg);
  color: var(--color-primary);
}
/* 类型图标 */
.type-icon-cell[data-v-229825a4] {
  display: flex;
  justify-content: center;
  align-items: center;
}
.type-icon[data-v-229825a4] {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  flex-shrink: 0;
}
.type-icon.type-info[data-v-229825a4] {
  background: var(--color-info-bg, #e6f7ff);
  color: var(--color-info, #1677ff);
}
.type-icon.type-success[data-v-229825a4] {
  background: var(--color-success-bg, #f6ffed);
  color: var(--color-success);
}
.type-icon.type-warning[data-v-229825a4] {
  background: var(--color-warning-bg, #fffbe6);
  color: var(--color-warning, #faad14);
}
.type-icon.type-error[data-v-229825a4] {
  background: var(--color-error-bg, #fff2f0);
  color: var(--color-error);
}
/* 标题列 */
.title-cell[data-v-229825a4] {
  cursor: pointer;
  transition: color 0.2s;
}
.title-cell[data-v-229825a4]:hover {
  color: var(--color-primary);
}
.title-unread[data-v-229825a4] {
  font-weight: 600;
  color: var(--color-text);
}
/* 内容列 */
.content-cell[data-v-229825a4] {
  color: var(--color-text-secondary);
  font-size: 13px;
  cursor: pointer;
}
/* 时间列 */
.time-cell[data-v-229825a4] {
  color: var(--color-text-quaternary);
  font-size: 12px;
  white-space: nowrap;
}
/* 未读行高亮 - 通过 :deep 覆盖表格行样式 */
[data-v-229825a4] .ant-table-row {
  transition: background 0.15s ease;
}
/* 移动端卡片样式 - 使用 ResponsiveTable 内置卡片结构 */
.mobile-notification-header[data-v-229825a4] {
  display: flex;
  align-items: center;
  gap: 10px;
}
.mobile-notification-info[data-v-229825a4] {
  flex: 1;
  min-width: 0;
}
.mobile-notification-title[data-v-229825a4] {
  font-size: 15px;
  font-weight: 600;
  color: var(--color-text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.4;
}
.mobile-notification-title.title-unread[data-v-229825a4] {
  font-weight: 600;
}
.mobile-notification-time[data-v-229825a4] {
  font-size: 12px;
  color: var(--color-text-quaternary);
  margin-top: 2px;
}
.mobile-notification-unread-tag[data-v-229825a4] {
  flex-shrink: 0;
}
.mobile-notification-content[data-v-229825a4] {
  font-size: 13px;
  color: var(--color-text-secondary);
  line-height: 1.5;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
/* 未读卡片左边框高亮 */
[data-v-229825a4] .mobile-card {
  border-left: 3px solid transparent;
}
[data-v-229825a4] .mobile-card-selected {
  border-left-color: var(--color-primary);
}
@media (max-width: 575px) {
.mobile-notification-title[data-v-229825a4] {
    font-size: 14px;
}
.mobile-notification-content[data-v-229825a4] {
    font-size: 12px;
    line-clamp: 1;
}
}
.conversation-list-panel[data-v-9e73369c] {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  background-color: #f5f6f8;
  user-select: none;
}
/* 嵌入模式（全屏三栏布局时使用固定宽度） */
.conversation-list-panel--embedded[data-v-9e73369c] {
  width: 300px;
  min-width: 300px;
  border-right: 1px solid #e8e8e8;
}
/* ========== 顶部区域 ========== */
.panel-header[data-v-9e73369c] {
  padding: 12px 12px 0;
  flex-shrink: 0;
}
.search-input[data-v-9e73369c] {
  margin-bottom: 10px;
}
.search-input[data-v-9e73369c] .ant-input-search {
  border-radius: 8px;
}
.search-input[data-v-9e73369c] .ant-input {
  border-radius: 8px;
  background-color: #fff;
}
.tab-segmented[data-v-9e73369c] {
  margin-bottom: 8px;
}
.tab-segmented[data-v-9e73369c] .ant-segmented {
  background-color: #f0f0f0;
  border-radius: 8px;
  padding: 2px;
}
.tab-segmented[data-v-9e73369c] .ant-segmented-item {
  color: rgba(0, 0, 0, 0.45);
  font-weight: 400;
  transition: all 0.3s ease;
}
.tab-segmented[data-v-9e73369c] .ant-segmented-item-selected {
  background-color: #fff;
  border-radius: 6px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
  color: var(--color-primary);
  font-weight: 600;
}
/* ========== 列表容器 ========== */
.list-container[data-v-9e73369c] {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0 6px;
}
.list-container[data-v-9e73369c]::-webkit-scrollbar {
  width: 4px;
}
.list-container[data-v-9e73369c]::-webkit-scrollbar-thumb {
  background-color: #d9d9d9;
  border-radius: 2px;
}
.list-container[data-v-9e73369c]::-webkit-scrollbar-thumb:hover {
  background-color: #bfbfbf;
}
/* ========== 会话项 ========== */
.swipe-container[data-v-9e73369c] {
  position: relative;
  overflow: hidden;
}
.swipe-actions[data-v-9e73369c] {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  display: none;
  align-items: stretch;
  z-index: 0;
}
.swipe-container--active .swipe-actions[data-v-9e73369c] {
  display: flex;
}
.swipe-action[data-v-9e73369c] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  color: #fff;
  font-size: 12px;
  gap: 2px;
  min-width: 70px;
}
.swipe-action--pin[data-v-9e73369c] {
  background: #1677ff;
}
.swipe-action--mute[data-v-9e73369c] {
  background: #fa8c16;
}
.swipe-action--delete[data-v-9e73369c] {
  background: #ff4d4f;
}
.conversation-item[data-v-9e73369c] {
  display: flex;
  align-items: center;
  padding: 12px 10px;
  cursor: pointer;
  position: relative;
  z-index: 1;
  transition: transform 0.3s ease;
  background: #fff;
  width: 100%;
}
.conversation-item[data-v-9e73369c]:hover {
  background-color: rgba(0, 0, 0, 0.04);
}
.conversation-item.active[data-v-9e73369c] {
  background-color: #e8f0fe;
}
.conversation-avatar[data-v-9e73369c] {
  flex-shrink: 0;
  margin-right: 12px;
  background-color: var(--color-neutral-400, #8c8c8c);
  color: var(--color-text-inverse);
  font-weight: 500;
}
.conversation-info[data-v-9e73369c] {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.info-top[data-v-9e73369c] {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.conversation-name[data-v-9e73369c] {
  font-size: 14px;
  font-weight: 500;
  color: #1a1a1a;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 160px;
}
.conversation-time[data-v-9e73369c] {
  font-size: 12px;
  color: #999;
  flex-shrink: 0;
  margin-left: 8px;
}
.info-bottom[data-v-9e73369c] {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.last-message[data-v-9e73369c] {
  font-size: 12px;
  color: #999;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  margin-right: 8px;
  line-height: 1.4;
}
.info-right[data-v-9e73369c] {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.mute-icon[data-v-9e73369c] {
  font-size: 12px;
  color: #bfbfbf;
}
.unread-badge[data-v-9e73369c] .ant-badge-count {
  font-size: 11px;
  box-shadow: none;
}
.mention-badge[data-v-9e73369c] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fa8c16;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  font-style: normal;
  flex-shrink: 0;
}
/* 右键菜单触发区域（透明覆盖层） */
.context-menu-trigger[data-v-9e73369c] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  opacity: 0;
}
.menu-item-danger[data-v-9e73369c] {
  color: #ff4d4f !important;
}
.menu-item-danger[data-v-9e73369c]:hover {
  background-color: #fff1f0 !important;
}
/* ========== 联系人项 ========== */
.contact-item[data-v-9e73369c] {
  display: flex;
  align-items: center;
  padding: 12px 10px;
  border-radius: 10px;
  cursor: pointer;
  transition: background-color 0.15s;
}
.contact-item[data-v-9e73369c]:hover {
  background-color: rgba(0, 0, 0, 0.04);
}
.avatar-wrapper[data-v-9e73369c] {
  position: relative;
  flex-shrink: 0;
  margin-right: 12px;
}
.online-dot[data-v-9e73369c] {
  position: absolute;
  bottom: 1px;
  right: 1px;
  width: 10px;
  height: 10px;
  background-color: #52c41a;
  border: 2px solid #f5f6f8;
  border-radius: 50%;
}
.contact-info[data-v-9e73369c] {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.contact-name[data-v-9e73369c] {
  font-size: 14px;
  font-weight: 500;
  color: #1a1a1a;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.contact-department[data-v-9e73369c] {
  font-size: 12px;
  color: #999;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* ========== 空状态 ========== */
.empty-state[data-v-9e73369c] {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 200px;
}
/* ========== 底部操作 ========== */
.panel-footer[data-v-9e73369c] {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  border-top: 1px solid #e8e8e8;
  flex-shrink: 0;
}
.footer-btn[data-v-9e73369c] {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  color: #666;
  margin-right: 4px;
  transition: all 0.2s;
}
.footer-btn[data-v-9e73369c]:hover {
  background-color: #e8e8e8;
  color: #1890ff;
}
@media (min-width: 769px) {
.swipe-container[data-v-9e73369c] {
    border-radius: 10px;
}
}
.voice-message[data-v-117b6ad7] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 4px 2px;
  min-width: 200px;
  max-width: 300px;
  cursor: pointer;
  border-radius: 12px;
  transition: opacity 0.2s;
}
.voice-message[data-v-117b6ad7]:active {
  opacity: 0.8;
}
/* ==================== 播放按钮 ==================== */
.voice-message__play-btn[data-v-117b6ad7] {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s, box-shadow 0.2s;
}
.voice-message__play-btn[data-v-117b6ad7]:hover {
  transform: scale(1.08);
}
.voice-message__play-btn[data-v-117b6ad7]:active {
  transform: scale(0.95);
}
.voice-message__play-icon[data-v-117b6ad7] {
  font-size: 34px;
  line-height: 1;
}
/* 自己发送 - 蓝色主题 */
.voice-message--self .voice-message__play-icon[data-v-117b6ad7] {
  color: rgba(255, 255, 255, 0.95);
}
.voice-message--self .voice-message__play-btn--playing .voice-message__play-icon[data-v-117b6ad7] {
  color: #fff;
}
/* 对方发送 - 白色主题 */
.voice-message:not(.voice-message--self) .voice-message__play-icon[data-v-117b6ad7] {
  color: #1677ff;
}
.voice-message:not(.voice-message--self) .voice-message__play-btn--playing .voice-message__play-icon[data-v-117b6ad7] {
  color: #ff4d4f;
}
/* ==================== 波形 + 时长 ==================== */
.voice-message__body[data-v-117b6ad7] {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.voice-message__wave[data-v-117b6ad7] {
  display: flex;
  align-items: center;
  gap: 2px;
  height: 28px;
  flex: 1;
  padding: 2px 0;
}
.voice-message__wave-bar[data-v-117b6ad7] {
  flex: 1;
  max-width: 3px;
  border-radius: 2px;
  transition: background 0.3s, transform 0.3s;
}
/* 自己发送 - 白色波形 */
.voice-message--self .voice-message__wave-bar[data-v-117b6ad7] {
  background: rgba(255, 255, 255, 0.35);
}
.voice-message--self .voice-message__wave-bar.active[data-v-117b6ad7] {
  background: #fff;
  animation: voice-wave-self-117b6ad7 0.5s ease-in-out infinite alternate;
}
@keyframes voice-wave-self-117b6ad7 {
0% {
    transform: scaleY(0.3);
    opacity: 0.5;
}
100% {
    transform: scaleY(1);
    opacity: 1;
}
}
/* 对方发送 - 蓝灰波形 */
.voice-message:not(.voice-message--self) .voice-message__wave-bar[data-v-117b6ad7] {
  background: #d4dce8;
}
.voice-message:not(.voice-message--self) .voice-message__wave-bar.active[data-v-117b6ad7] {
  background: #1677ff;
  animation: voice-wave-other-117b6ad7 0.5s ease-in-out infinite alternate;
}
@keyframes voice-wave-other-117b6ad7 {
0% {
    transform: scaleY(0.3);
    opacity: 0.6;
}
100% {
    transform: scaleY(1);
    opacity: 1;
}
}
/* ==================== 时长 ==================== */
.voice-message__duration[data-v-117b6ad7] {
  font-size: 12px;
  flex-shrink: 0;
  min-width: 32px;
  letter-spacing: 0.3px;
}
.voice-message--self .voice-message__duration[data-v-117b6ad7] {
  color: rgba(255, 255, 255, 0.75);
}
.voice-message:not(.voice-message--self) .voice-message__duration[data-v-117b6ad7] {
  color: #999;
}
/* ==================== 移动端适配 ==================== */
@media (max-width: 768px) {
.voice-message[data-v-117b6ad7] {
    min-width: 170px;
    max-width: 250px;
    gap: 8px;
}
.voice-message__play-icon[data-v-117b6ad7] {
    font-size: 30px;
}
.voice-message__play-btn[data-v-117b6ad7] {
    width: 32px;
    height: 32px;
}
.voice-message__wave[data-v-117b6ad7] {
    height: 22px;
}
}
.message-area[data-v-e93140fd] {
  display: flex;
  flex-direction: column;
  flex: 1;
  height: 100%;
  background-color: #f0f2f5;
  position: relative;
  overflow: hidden;
}
.message-area__header[data-v-e93140fd] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 20px;
  background: #fff;
  border-bottom: 1px solid #e8e8e8;
  flex-shrink: 0;
  z-index: 1;
}
.message-area__header-left[data-v-e93140fd] {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.message-area__conversation-name[data-v-e93140fd] {
  font-size: 16px;
  font-weight: 600;
  color: #1a1a1a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.message-area__member-count[data-v-e93140fd] {
  font-size: 12px;
  color: #8c8c8c;
  flex-shrink: 0;
}
.message-area__online-status[data-v-e93140fd] {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: #8c8c8c;
  flex-shrink: 0;
}
.message-area__online-dot[data-v-e93140fd] {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #bfbfbf;
  transition: background-color 0.3s;
}
.message-area__online-status--online .message-area__online-dot[data-v-e93140fd] {
  background-color: #52c41a;
}
.message-area__online-status--online[data-v-e93140fd] {
  color: #52c41a;
}
.message-area__header-right[data-v-e93140fd] {
  flex-shrink: 0;
}
.message-area__more-btn[data-v-e93140fd] {
  color: #8c8c8c;
}
.message-area__more-btn[data-v-e93140fd]:hover {
  color: #1677ff;
}
.message-area__list[data-v-e93140fd] {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 16px 20px;
  scroll-behavior: smooth;
}
.message-area__list[data-v-e93140fd]::-webkit-scrollbar {
  width: 6px;
}
.message-area__list[data-v-e93140fd]::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.15);
  border-radius: 3px;
}
.message-area__list[data-v-e93140fd]::-webkit-scrollbar-track {
  background: transparent;
}
.message-area__avatar[data-v-e93140fd] {
  font-size: 16px !important;
}
.message-area__loading[data-v-e93140fd] {
  display: flex;
  justify-content: center;
  padding: 12px 0;
}
.message-area__empty[data-v-e93140fd] {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #f0f2f5;
}
.message-area__empty-icon[data-v-e93140fd] {
  font-size: 64px;
  color: #d9d9d9;
  margin-bottom: 16px;
}
.message-area__empty-text[data-v-e93140fd] {
  font-size: 14px;
  color: #8c8c8c;
  margin: 0;
}
.message-area__empty-messages[data-v-e93140fd] {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  min-height: 200px;
}
.message-area__time-divider[data-v-e93140fd] {
  display: flex;
  align-items: center;
  margin: 16px 0;
  gap: 12px;
}
.message-area__time-divider-line[data-v-e93140fd] {
  flex: 1;
  height: 1px;
  background-color: #e0e0e0;
}
.message-area__time-divider-text[data-v-e93140fd] {
  font-size: 12px;
  color: #8c8c8c;
  white-space: nowrap;
  flex-shrink: 0;
}
.message-area__system-message[data-v-e93140fd] {
  text-align: center;
  font-size: 12px;
  color: #8c8c8c;
  margin: 8px 0;
  padding: 4px 12px;
  background-color: rgba(0, 0, 0, 0.04);
  border-radius: 4px;
  display: inline-block;
  width: 100%;
}
.message-area__recalled-message[data-v-e93140fd] {
  text-align: center;
  font-size: 12px;
  color: #bfbfbf;
  font-style: italic;
  margin: 8px 0;
}
.message-area__message[data-v-e93140fd] {
  display: flex;
  align-items: flex-start;
  margin-bottom: 16px;
  gap: 10px;
  position: relative;
}
.message-area__message--self[data-v-e93140fd] {
  flex-direction: row-reverse;
}
.message-area__message--other[data-v-e93140fd] {
  flex-direction: row;
}
.message-area__message:hover .message-area__message-actions[data-v-e93140fd],
.message-area__message:hover .message-area__message-time[data-v-e93140fd] {
  opacity: 1;
  visibility: visible;
}
.message-area__avatar[data-v-e93140fd] {
  flex-shrink: 0;
  font-size: 14px;
  user-select: none;
  align-self: flex-start;
}
.message-area__avatar--other[data-v-e93140fd] {
  background-color: #8c8c8c;
  color: #fff;
}
.message-area__avatar--self[data-v-e93140fd] {
  background-color: #1677ff;
  color: #fff;
}
.message-area__message-body[data-v-e93140fd] {
  max-width: 65%;
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.message-area__sender-name[data-v-e93140fd] {
  font-size: 12px;
  color: #8c8c8c;
  margin-bottom: 4px;
  padding-left: 4px;
}
.message-area__bubble-wrapper[data-v-e93140fd] {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  padding-top: 4px;
}
.message-area__message--other .message-area__bubble-wrapper[data-v-e93140fd] {
  align-items: flex-start;
}
.message-area__message--self .message-area__bubble-wrapper[data-v-e93140fd] {
  align-items: flex-end;
}
.message-area__bubble[data-v-e93140fd] {
  padding: 10px 14px;
  border-radius: 12px;
  word-break: break-word;
  line-height: 1.5;
  position: relative;
  min-height: 32px;
}
.message-area__bubble--self[data-v-e93140fd] {
  background-color: #1677ff;
  color: #fff;
  border-top-right-radius: 4px;
}
.message-area__bubble--other[data-v-e93140fd] {
  background-color: #fff;
  color: #1a1a1a;
  border-top-left-radius: 4px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}
.message-area__bubble--image[data-v-e93140fd] {
  padding: 4px;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 8px;
  overflow: hidden;
}
.message-area__bubble--file[data-v-e93140fd] {
  padding: 12px 16px;
  cursor: pointer;
  transition: background-color 0.2s;
}
.message-area__bubble--file[data-v-e93140fd]:hover {
  filter: brightness(0.95);
}
.message-area__bubble-text[data-v-e93140fd] {
  font-size: 14px;
  white-space: pre-wrap;
}
.message-area[data-v-e93140fd] .mention-highlight {
  color: #1677ff;
  font-weight: 600;
  cursor: pointer;
  padding: 0 2px;
  border-radius: 3px;
}
.message-area[data-v-e93140fd] .mention-highlight--all {
  color: #fa8c16;
}
.message-area .message-area__bubble--self[data-v-e93140fd] .mention-highlight {
  color: #fff;
  background: rgba(255, 255, 255, 0.25);
}
.message-area .message-area__bubble--self[data-v-e93140fd] .mention-highlight--all {
  color: #ffd666;
  background: rgba(255, 214, 102, 0.15);
}
.message-area__reply-ref[data-v-e93140fd] {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 6px 10px;
  margin-bottom: 6px;
  border-radius: 6px;
  border-left: 2px solid;
  font-size: 12px;
  line-height: 1.4;
  cursor: pointer;
  transition: opacity 0.15s;
}
.message-area__reply-ref[data-v-e93140fd]:hover {
  opacity: 0.85;
}
.message-area__bubble--self .message-area__reply-ref[data-v-e93140fd] {
  background: rgba(255, 255, 255, 0.15);
  border-left-color: rgba(255, 255, 255, 0.4);
}
.message-area__bubble--other .message-area__reply-ref[data-v-e93140fd] {
  background: #f5f6f8;
  border-left-color: #1677ff;
}
.message-area__reply-ref-name[data-v-e93140fd] {
  font-weight: 500;
  color: inherit;
  opacity: 0.9;
}
.message-area__reply-ref-text[data-v-e93140fd] {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  opacity: 0.7;
}
.message-area__bubble-image[data-v-e93140fd] {
  border-radius: 8px;
  max-width: 200px;
  object-fit: cover;
}
.message-area__bubble-file[data-v-e93140fd] {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 200px;
}
.message-area__file-icon[data-v-e93140fd] {
  font-size: 28px;
  opacity: 0.8;
  flex-shrink: 0;
}
.message-area__file-info[data-v-e93140fd] {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.message-area__file-name[data-v-e93140fd] {
  font-size: 13px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.message-area__file-size[data-v-e93140fd] {
  font-size: 11px;
  opacity: 0.6;
}
.message-area__file-download-icon[data-v-e93140fd] {
  font-size: 16px;
  opacity: 0.6;
  flex-shrink: 0;
}
.message-area__message-actions[data-v-e93140fd] {
  display: flex;
  align-items: center;
  gap: 4px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
  padding: 4px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease;
  z-index: 10;
  white-space: nowrap;
  position: absolute;
  top: -42px;
}
.message-area__message--self .message-area__message-actions[data-v-e93140fd] {
  right: 0;
}
.message-area__message--other .message-area__message-actions[data-v-e93140fd] {
  left: 0;
}
.message-area__action-btn[data-v-e93140fd] {
  color: #666;
  font-size: 14px;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  transition: all 0.15s ease;
}
.message-area__action-btn[data-v-e93140fd]:hover {
  color: #1677ff;
  background-color: #e6f4ff;
}
.message-area__action-btn[data-v-e93140fd]:active {
  transform: scale(0.95);
}
.message-area__message-time[data-v-e93140fd] {
  font-size: 11px;
  color: #999;
  margin-top: 4px;
  padding: 0 4px;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease;
}
.message-area__message:hover .message-area__message-time[data-v-e93140fd] {
  opacity: 1;
  visibility: visible;
}
.message-area__bubble-footer[data-v-e93140fd] {
  display: flex;
  align-items: center;
  gap: 4px;
  justify-content: flex-end;
}
.message-area__bubble-time[data-v-e93140fd] {
  font-size: 11px;
  color: #bfbfbf;
  white-space: nowrap;
}
.message-area__status[data-v-e93140fd] {
  font-size: 12px;
  display: flex;
  align-items: center;
}
.message-area__status--sending[data-v-e93140fd] {
  color: #999;
}
.message-area__status--sent[data-v-e93140fd] {
  color: #52c41a;
}
.message-area__status--failed[data-v-e93140fd] {
  color: #ff4d4f;
  cursor: pointer;
}
@media (max-width: 768px) {
.message-area__avatar[data-v-e93140fd] {
    font-size: 14px !important;
}
.message-area__message[data-v-e93140fd] {
    gap: 8px;
}
.message-area__message-body[data-v-e93140fd] {
    max-width: 80%;
}
.message-area__header[data-v-e93140fd] {
    padding: 8px 12px;
}
.message-area__list[data-v-e93140fd] {
    padding: 12px;
}
.message-area__conversation-name[data-v-e93140fd] {
    font-size: 15px;
}
.message-area__bubble[data-v-e93140fd] {
    padding: 8px 12px;
}
.message-area__message[data-v-e93140fd] {
    margin-bottom: 12px;
    gap: 8px;
}
.message-area__action-btn[data-v-e93140fd] {
    width: 32px;
    height: 32px;
}
}
@media (max-width: 420px) {
.message-area__message-body[data-v-e93140fd] {
    max-width: 82%;
}
.message-area__list[data-v-e93140fd] {
    padding: 10px 12px;
}
.message-area__bubble-file[data-v-e93140fd] {
    min-width: 160px;
}
}
.message-area__forward-list[data-v-e93140fd] {
  max-height: 400px;
  overflow-y: auto;
}
.message-area__forward-item[data-v-e93140fd] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 8px;
  cursor: pointer;
  transition: background-color 0.2s;
}
.message-area__forward-item[data-v-e93140fd]:hover {
  background-color: #f5f5f5;
}
.message-area__forward-item--active[data-v-e93140fd] {
  background-color: #e6f4ff;
}
.message-area__forward-item--active[data-v-e93140fd]:hover {
  background-color: #d6e8ff;
}
.message-area__forward-avatar[data-v-e93140fd] {
  flex-shrink: 0;
  background-color: #1677ff;
  color: #fff;
}
.message-area__forward-info[data-v-e93140fd] {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.message-area__forward-name[data-v-e93140fd] {
  font-size: 14px;
  color: #1a1a1a;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.message-area__forward-type[data-v-e93140fd] {
  font-size: 12px;
  color: #8c8c8c;
}
.message-area__forward-radio[data-v-e93140fd] {
  flex-shrink: 0;
}
.message-area__forward-empty[data-v-e93140fd] {
  text-align: center;
  padding: 24px 0;
  color: #8c8c8c;
  font-size: 14px;
}
@keyframes fadeIn-e93140fd {
from {
    opacity: 0;
}
to {
    opacity: 1;
}
}
.message-highlight[data-v-e93140fd] {
  animation: messageHighlight-e93140fd 2s ease;
}
@keyframes messageHighlight-e93140fd {
0% {
    background-color: rgba(22, 119, 255, 0.15);
}
100% {
    background-color: transparent;
}
}
/* ==================== 消息搜索面板 ==================== */
.message-area__search-panel[data-v-e93140fd] {
  padding: 12px 16px;
  background: #fafafa;
  border-bottom: 1px solid #f0f0f0;
}
.message-area__search-bar[data-v-e93140fd] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.message-area__search-bar[data-v-e93140fd] .ant-input-search {
  flex: 1;
}
.message-area__search-results[data-v-e93140fd] {
  margin-top: 8px;
  max-height: 300px;
  overflow-y: auto;
}
.message-area__search-result-item[data-v-e93140fd] {
  display: flex;
  gap: 10px;
  padding: 10px 8px;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.15s;
}
.message-area__search-result-item[data-v-e93140fd]:hover {
  background: #e6f4ff;
}
.message-area__search-result-content[data-v-e93140fd] {
  flex: 1;
  min-width: 0;
}
.message-area__search-result-header[data-v-e93140fd] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 4px;
}
.message-area__search-result-name[data-v-e93140fd] {
  font-size: 13px;
  font-weight: 600;
  color: #333;
}
.message-area__search-result-time[data-v-e93140fd] {
  font-size: 11px;
  color: #999;
}
.message-area__search-result-text[data-v-e93140fd] {
  font-size: 13px;
  color: #666;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.message-area__search-result-text[data-v-e93140fd] mark {
  background: #fff3cd;
  color: inherit;
  padding: 0 1px;
  border-radius: 2px;
}
.message-area__search-empty[data-v-e93140fd] {
  padding: 24px;
  text-align: center;
  color: #bfbfbf;
  font-size: 13px;
}
@media (max-width: 768px) {
.message-area__search-panel[data-v-e93140fd] {
    padding: 8px 12px;
}
.message-area__search-results[data-v-e93140fd] {
    max-height: 200px;
}
.message-area__message-actions[data-v-e93140fd] {
    opacity: 1 !important;
    visibility: visible !important;
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
}
.message-area__message-time[data-v-e93140fd] {
    opacity: 1 !important;
    visibility: visible !important;
}
}
.message-area__typing[data-v-e93140fd] {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  font-size: 12px;
  color: #999;
}
.typing-dots[data-v-e93140fd] {
  display: inline-flex;
  align-items: center;
  gap: 3px;
}
.typing-dots i[data-v-e93140fd] {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #999;
  animation: typingBounce-e93140fd 1.4s infinite ease-in-out;
}
.typing-dots i[data-v-e93140fd]:nth-child(1) {
  animation-delay: 0s;
}
.typing-dots i[data-v-e93140fd]:nth-child(2) {
  animation-delay: 0.2s;
}
.typing-dots i[data-v-e93140fd]:nth-child(3) {
  animation-delay: 0.4s;
}
@keyframes typingBounce-e93140fd {
0%,
  80%,
  100% {
    transform: scale(0.6);
    opacity: 0.4;
}
40% {
    transform: scale(1);
    opacity: 1;
}
}
/* 移动端长按操作菜单 */
.mobile-action-modal[data-v-e93140fd] .ant-modal-body {
  padding: 0;
}
.mobile-action-list[data-v-e93140fd] {
  border-radius: 12px 12px 0 0;
  overflow: hidden;
}
.mobile-action-item[data-v-e93140fd] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 20px;
  font-size: 15px;
  color: #1a1a1a;
  border-bottom: 1px solid #f0f0f0;
  cursor: pointer;
  transition: background 0.2s;
}
.mobile-action-item[data-v-e93140fd]:active {
  background: #f5f5f5;
}
.mobile-action-item--danger[data-v-e93140fd] {
  color: #ff4d4f;
}
.mobile-action-cancel[data-v-e93140fd] {
  padding: 14px 20px;
  text-align: center;
  font-size: 15px;
  color: #666;
  border-top: 8px solid #f5f5f5;
  cursor: pointer;
  transition: background 0.2s;
}
.mobile-action-cancel[data-v-e93140fd]:active {
  background: #f5f5f5;
}
.voice-recorder[data-v-6cfd0c6c] {
  display: flex;
  align-items: center;
  padding: 10px 14px;
  background: #fafbfc;
  border-radius: 10px;
  min-height: 48px;
  border: 1px solid #f0f0f0;
  transition: all 0.3s;
}
.voice-recorder--active[data-v-6cfd0c6c] {
  background: linear-gradient(135deg, #fff5f5, #fff1f0);
  border-color: #ffccc7;
  box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.08);
}
/* ==================== 录音中 ==================== */
.voice-recorder__recording[data-v-6cfd0c6c] {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
}
.voice-recorder__indicator[data-v-6cfd0c6c] {
  flex-shrink: 0;
  width: 10px;
  height: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.voice-recorder__dot[data-v-6cfd0c6c] {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ff4d4f;
  animation: recording-pulse-6cfd0c6c 1.2s ease-in-out infinite;
}
@keyframes recording-pulse-6cfd0c6c {
0%,
  100% {
    opacity: 1;
    transform: scale(1);
}
50% {
    opacity: 0.4;
    transform: scale(0.7);
}
}
.voice-recorder__wave[data-v-6cfd0c6c] {
  display: flex;
  align-items: center;
  gap: 2px;
  height: 26px;
  flex: 1;
}
.voice-recorder__wave-bar[data-v-6cfd0c6c] {
  flex: 1;
  max-width: 3px;
  height: 6px;
  background: #ff7875;
  border-radius: 2px;
  animation: recorder-wave-6cfd0c6c 0.7s ease-in-out infinite alternate;
}
@keyframes recorder-wave-6cfd0c6c {
0% {
    height: 4px;
    opacity: 0.5;
}
100% {
    height: 22px;
    opacity: 1;
}
}
.voice-recorder__duration[data-v-6cfd0c6c] {
  font-size: 13px;
  font-weight: 600;
  color: #ff4d4f;
  min-width: 36px;
  font-variant-numeric: tabular-nums;
}
.voice-recorder__actions[data-v-6cfd0c6c] {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}
.voice-recorder__btn-cancel[data-v-6cfd0c6c] {
  color: #999 !important;
}
.voice-recorder__btn-cancel[data-v-6cfd0c6c]:hover {
  color: #666 !important;
  background: rgba(0, 0, 0, 0.04) !important;
}
.voice-recorder__btn-send[data-v-6cfd0c6c] {
  width: 32px !important;
  min-width: 32px !important;
  height: 32px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 6px rgba(22, 119, 255, 0.3);
}
/* ==================== 预览 ==================== */
.voice-recorder__preview[data-v-6cfd0c6c] {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
}
.voice-recorder__btn-play[data-v-6cfd0c6c] {
  color: #1677ff !important;
  font-size: 20px;
}
.voice-recorder__btn-play[data-v-6cfd0c6c]:hover {
  background: rgba(22, 119, 255, 0.06) !important;
}
.voice-recorder__wave-mini[data-v-6cfd0c6c] {
  display: flex;
  align-items: center;
  gap: 1.5px;
  height: 22px;
  flex: 1;
}
.voice-recorder__wave-bar-mini[data-v-6cfd0c6c] {
  flex: 1;
  max-width: 2.5px;
  height: 4px;
  background: #e0e4ea;
  border-radius: 1.5px;
  transition: background 0.3s, transform 0.3s;
}
.voice-recorder__wave-bar-mini.active[data-v-6cfd0c6c] {
  background: #1677ff;
  animation: preview-wave-6cfd0c6c 0.5s ease-in-out infinite alternate;
}
@keyframes preview-wave-6cfd0c6c {
0% {
    transform: scaleY(0.3);
    opacity: 0.5;
}
100% {
    transform: scaleY(1);
    opacity: 1;
}
}
.voice-recorder__btn-discard[data-v-6cfd0c6c] {
  color: #999 !important;
}
.voice-recorder__btn-discard[data-v-6cfd0c6c]:hover {
  color: #ff4d4f !important;
  background: rgba(255, 77, 79, 0.06) !important;
}
.voice-recorder__btn-confirm[data-v-6cfd0c6c] {
  font-size: 12px;
  border-radius: 6px;
  box-shadow: 0 2px 6px rgba(22, 119, 255, 0.25);
}
/* ==================== 移动端适配 ==================== */
@media (max-width: 768px) {
.voice-recorder[data-v-6cfd0c6c] {
    padding: 8px 10px;
    border-radius: 8px;
}
.voice-recorder__wave-bar[data-v-6cfd0c6c] {
    max-width: 2px;
}
.voice-recorder__wave-bar-mini[data-v-6cfd0c6c] {
    max-width: 2px;
}
.voice-recorder__duration[data-v-6cfd0c6c] {
    font-size: 12px;
}
}
.message-input-wrapper[data-v-ab0da3c2] {
  background: #fff;
  border-top: 1px solid #e8e8e8;
  min-height: 160px;
  display: flex;
  flex-direction: column;
  position: relative;
}
/* 引用回复条 */
.reply-bar[data-v-ab0da3c2] {
  display: flex;
  align-items: center;
  padding: 6px 12px;
  background: #f7f8fa;
  border-bottom: 1px solid #f0f0f0;
  gap: 8px;
  flex-shrink: 0;
}
.reply-bar__content[data-v-ab0da3c2] {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #666;
}
.reply-bar__name[data-v-ab0da3c2] {
  color: #1677ff;
  font-weight: 500;
  flex-shrink: 0;
}
.reply-bar__text[data-v-ab0da3c2] {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #999;
}
.reply-bar__close[data-v-ab0da3c2] {
  color: #999 !important;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.reply-bar__close[data-v-ab0da3c2]:hover {
  color: #666 !important;
  background: rgba(0, 0, 0, 0.04) !important;
}
/* 引用条过渡动画 */
.reply-fade-enter-active[data-v-ab0da3c2] {
  transition: all 0.2s ease;
}
.reply-fade-leave-active[data-v-ab0da3c2] {
  transition: all 0.15s ease;
}
.reply-fade-enter-from[data-v-ab0da3c2],
.reply-fade-leave-to[data-v-ab0da3c2] {
  opacity: 0;
  max-height: 0;
  padding-top: 0;
  padding-bottom: 0;
}
/* 工具栏 */
.input-toolbar[data-v-ab0da3c2] {
  display: flex;
  align-items: center;
  padding: 6px 12px;
  gap: 2px;
  border-bottom: 1px solid #f0f0f0;
}
.toolbar-btn[data-v-ab0da3c2] {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #8c8c8c;
  font-size: 16px;
  border-radius: 4px;
  padding: 0;
  transition: all 0.2s;
}
.toolbar-btn[data-v-ab0da3c2]:hover {
  color: #1677ff;
  background: #f0f5ff;
}
/* 输入区域 */
.message-editor[data-v-ab0da3c2] {
  flex: 1;
  min-height: 88px;
  max-height: 200px;
  overflow-y: auto;
  padding: 12px;
  font-size: 14px;
  line-height: 1.6;
  color: #333;
  outline: none;
  border: none;
  word-break: break-word;
  white-space: pre-wrap;
}
.message-editor[data-v-ab0da3c2]:empty::before {
  content: attr(data-placeholder);
  color: #bfbfbf;
  pointer-events: none;
}
.message-editor[data-v-ab0da3c2]:focus {
  background: #fafafa;
}
/* 底部发送栏 */
.input-footer[data-v-ab0da3c2] {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 8px 12px;
  gap: 12px;
}
.char-count[data-v-ab0da3c2] {
  font-size: 12px;
  color: #bfbfbf;
  margin-right: auto;
}
.send-btn[data-v-ab0da3c2] {
  border-radius: 6px;
  min-width: 72px;
  font-size: 14px;
}
/* 表情面板遮罩 */
.emoji-panel-mask[data-v-ab0da3c2] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 99;
}
/* 表情面板 */
.emoji-panel[data-v-ab0da3c2] {
  position: absolute;
  bottom: 100%;
  left: 0;
  width: 320px;
  max-height: 360px;
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  z-index: 100;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.emoji-tabs[data-v-ab0da3c2] {
  display: flex;
  border-bottom: 1px solid #f0f0f0;
  background: #fafafa;
  flex-shrink: 0;
}
.emoji-tab[data-v-ab0da3c2] {
  flex: 1;
  text-align: center;
  padding: 8px 4px;
  font-size: 12px;
  color: #8c8c8c;
  cursor: pointer;
  transition: all 0.2s;
  border-bottom: 2px solid transparent;
}
.emoji-tab[data-v-ab0da3c2]:hover {
  color: #1677ff;
  background: #f0f5ff;
}
.emoji-tab.active[data-v-ab0da3c2] {
  color: #1677ff;
  border-bottom-color: #1677ff;
  font-weight: 500;
}
.emoji-grid[data-v-ab0da3c2] {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 2px;
  padding: 8px;
  overflow-y: auto;
  flex: 1;
}
.emoji-item[data-v-ab0da3c2] {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  cursor: pointer;
  border-radius: 4px;
  transition: all 0.15s;
  user-select: none;
}
.emoji-item[data-v-ab0da3c2]:hover {
  transform: scale(1.3);
  background: #f0f0f0;
}
/* 表情面板过渡动画 */
.emoji-slide-enter-active[data-v-ab0da3c2],
.emoji-slide-leave-active[data-v-ab0da3c2] {
  transition: all 0.2s ease;
}
.emoji-slide-enter-from[data-v-ab0da3c2],
.emoji-slide-leave-to[data-v-ab0da3c2] {
  opacity: 0;
  transform: translateY(8px);
}
/* 图片预览弹窗内容 */
.image-preview-content[data-v-ab0da3c2] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
.image-preview-info[data-v-ab0da3c2] {
  display: flex;
  gap: 12px;
  color: #666;
  font-size: 13px;
}
.image-preview-actions[data-v-ab0da3c2] {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  width: 100%;
}
/* 文件确认弹窗内容 */
.file-confirm-content[data-v-ab0da3c2] {
  padding: 8px 0;
}
.file-info-item[data-v-ab0da3c2] {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 12px;
  background: #fafafa;
  border-radius: 8px;
}
.file-info-detail[data-v-ab0da3c2] {
  flex: 1;
  min-width: 0;
}
.file-info-name[data-v-ab0da3c2] {
  font-size: 14px;
  color: #333;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.file-info-size[data-v-ab0da3c2] {
  font-size: 12px;
  color: #999;
  margin-top: 4px;
}
/* 滚动条样式 */
.message-editor[data-v-ab0da3c2]::-webkit-scrollbar,
.emoji-grid[data-v-ab0da3c2]::-webkit-scrollbar {
  width: 4px;
}
.message-editor[data-v-ab0da3c2]::-webkit-scrollbar-thumb,
.emoji-grid[data-v-ab0da3c2]::-webkit-scrollbar-thumb {
  background: #d9d9d9;
  border-radius: 2px;
}
.message-editor[data-v-ab0da3c2]::-webkit-scrollbar-thumb:hover,
.emoji-grid[data-v-ab0da3c2]::-webkit-scrollbar-thumb:hover {
  background: #bfbfbf;
}
/* ==================== 移动端适配 ==================== */
@media (max-width: 768px) {
.message-input-wrapper[data-v-ab0da3c2] {
    min-height: 140px;
}
.input-toolbar[data-v-ab0da3c2] {
    padding: 4px 8px;
}
.toolbar-btn[data-v-ab0da3c2] {
    width: 32px;
    height: 32px;
    font-size: 18px;
}
.message-editor[data-v-ab0da3c2] {
    min-height: 80px;
    max-height: 160px;
    padding: 10px;
    font-size: 16px;
    /* 防止 iOS 自动缩放 */
}
.input-footer[data-v-ab0da3c2] {
    padding: 6px 8px;
}
.send-btn[data-v-ab0da3c2] {
    min-width: 64px;
    height: 36px;
}
.emoji-panel[data-v-ab0da3c2] {
    width: 100%;
    max-height: 280px;
    border-radius: 0;
    border-left: none;
    border-right: none;
}
.emoji-item[data-v-ab0da3c2] {
    width: 36px;
    height: 36px;
    font-size: 22px;
}
}
/* 弹窗模式适配 */
@media (max-width: 420px) {
.message-editor[data-v-ab0da3c2] {
    min-height: 70px;
    max-height: 120px;
    padding: 8px 10px;
}
.emoji-panel[data-v-ab0da3c2] {
    width: calc(100vw - 32px);
}
}
/* ==================== @提及面板 ==================== */
.mention-panel-mask[data-v-ab0da3c2] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 99;
}
.mention-panel[data-v-ab0da3c2] {
  position: absolute;
  bottom: 100%;
  left: 12px;
  width: 280px;
  max-height: 320px;
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  z-index: 100;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.mention-panel__header[data-v-ab0da3c2] {
  padding: 8px 12px;
  font-size: 12px;
  color: #999;
  border-bottom: 1px solid #f0f0f0;
  flex-shrink: 0;
}
.mention-panel__search[data-v-ab0da3c2] {
  padding: 8px;
  flex-shrink: 0;
}
.mention-panel__list[data-v-ab0da3c2] {
  overflow-y: auto;
  flex: 1;
  max-height: 240px;
}
.mention-panel__item[data-v-ab0da3c2] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  cursor: pointer;
  transition: background 0.15s;
}
.mention-panel__item[data-v-ab0da3c2]:hover,
.mention-panel__item.active[data-v-ab0da3c2] {
  background: #f0f5ff;
}
.mention-panel__item--all[data-v-ab0da3c2] {
  border-bottom: 1px solid #f0f0f0;
}
.mention-panel__avatar[data-v-ab0da3c2] {
  flex-shrink: 0;
}
.mention-panel__avatar--all[data-v-ab0da3c2] {
  background: #1677ff !important;
  color: #fff !important;
}
.mention-panel__info[data-v-ab0da3c2] {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.mention-panel__name[data-v-ab0da3c2] {
  font-size: 14px;
  color: #333;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mention-panel__dept[data-v-ab0da3c2] {
  font-size: 12px;
  color: #999;
}
.mention-panel__empty[data-v-ab0da3c2] {
  padding: 24px 12px;
  text-align: center;
  color: #bfbfbf;
  font-size: 13px;
}
/* @标签样式（编辑器内） */
[data-v-ab0da3c2] .mention-tag {
  color: #1677ff;
  background: #e6f4ff;
  padding: 1px 4px;
  border-radius: 3px;
  font-weight: 500;
  cursor: default;
}
[data-v-ab0da3c2] .mention-tag--all {
  color: #fa8c16;
  background: #fff7e6;
}
/* @面板过渡动画 */
.mention-slide-enter-active[data-v-ab0da3c2],
.mention-slide-leave-active[data-v-ab0da3c2] {
  transition: all 0.2s ease;
}
.mention-slide-enter-from[data-v-ab0da3c2],
.mention-slide-leave-to[data-v-ab0da3c2] {
  opacity: 0;
  transform: translateY(8px);
}
/* 移动端适配 */
@media (max-width: 768px) {
.mention-panel[data-v-ab0da3c2] {
    width: calc(100% - 24px);
    max-height: 260px;
}
}
.create-group-form[data-v-6ad4a589] {
  margin-bottom: 0;
}
.avatar-upload-area[data-v-6ad4a589] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.group-avatar-preview[data-v-6ad4a589] {
  cursor: pointer;
  border: 2px dashed #d9d9d9;
  transition: border-color 0.3s;
}
.group-avatar-preview[data-v-6ad4a589]:hover {
  border-color: #1677ff;
}
.avatar-upload-tip[data-v-6ad4a589] {
  font-size: 12px;
  color: #999;
}
.member-select-area[data-v-6ad4a589] {
  border: 1px solid var(--color-border);
  border-radius: 8px;
  overflow: hidden;
}
.member-search[data-v-6ad4a589] {
  padding: 8px;
  border-bottom: 1px solid var(--color-border);
}
.member-search[data-v-6ad4a589] .ant-input-affix-wrapper {
  border-radius: 6px;
}
.member-list[data-v-6ad4a589] {
  max-height: 280px;
  overflow-y: auto;
}
.member-item[data-v-6ad4a589] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  cursor: pointer;
  transition: background 0.2s;
}
.member-item[data-v-6ad4a589]:hover {
  background: #f5f5f5;
}
.member-item.selected[data-v-6ad4a589] {
  background: #e6f4ff;
}
.member-avatar[data-v-6ad4a589] {
  background: #1677ff;
  color: #fff;
  flex-shrink: 0;
}
.member-info[data-v-6ad4a589] {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.member-name[data-v-6ad4a589] {
  font-size: 14px;
  color: var(--color-text);
}
.member-dept[data-v-6ad4a589] {
  font-size: 12px;
  color: var(--color-text-secondary, #999);
}
.modal-footer[data-v-6ad4a589] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.selected-count[data-v-6ad4a589] {
  font-size: 13px;
  color: var(--color-text-secondary, #999);
}
.footer-actions[data-v-6ad4a589] {
  display: flex;
  gap: 8px;
}
.chat-page[data-v-5d1d4c3f] {
  display: flex;
  height: 100%;
  width: 100%;
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.chat-page__main[data-v-5d1d4c3f] {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
  position: relative;
}
/* ==================== 群成员抽屉 ==================== */
.group-drawer__members[data-v-5d1d4c3f] {
  padding: 16px;
  min-height: 200px;
}
.group-drawer__member-item[data-v-5d1d4c3f] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 8px;
  border-radius: 8px;
  transition: background-color 0.2s;
}
.group-drawer__member-item[data-v-5d1d4c3f]:hover {
  background-color: #f5f5f5;
}
.group-drawer__member-avatar[data-v-5d1d4c3f] {
  flex-shrink: 0;
  background-color: #1677ff;
  color: #fff;
}
.group-drawer__member-info[data-v-5d1d4c3f] {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.group-drawer__member-name[data-v-5d1d4c3f] {
  font-size: 14px;
  color: #1a1a1a;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.group-drawer__member-dept[data-v-5d1d4c3f] {
  font-size: 12px;
  color: #8c8c8c;
}
.group-drawer__remove-btn[data-v-5d1d4c3f] {
  flex-shrink: 0;
  font-size: 12px;
}
.group-drawer__empty[data-v-5d1d4c3f] {
  text-align: center;
  padding: 32px 0;
  color: #8c8c8c;
  font-size: 14px;
}
.group-drawer__footer[data-v-5d1d4c3f] {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 16px;
  background: #fff;
  border-top: 1px solid #f0f0f0;
}
.group-drawer__danger-actions[data-v-5d1d4c3f] {
  margin-top: 8px;
  border-top: 1px solid #f0f0f0;
  padding-top: 8px;
}
.group-drawer__add-panel[data-v-5d1d4c3f] {
  margin-top: 12px;
  border-top: 1px solid #f0f0f0;
  padding-top: 12px;
}
.group-drawer__contact-list[data-v-5d1d4c3f] {
  max-height: 300px;
  overflow-y: auto;
}
.group-drawer__contact-item[data-v-5d1d4c3f] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 4px;
}
.group-drawer__contact-avatar[data-v-5d1d4c3f] {
  flex-shrink: 0;
  background-color: #8c8c8c;
  color: #fff;
}
.group-drawer__contact-name[data-v-5d1d4c3f] {
  flex: 1;
  font-size: 14px;
  color: #1a1a1a;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media (max-width: 768px) {
.chat-page[data-v-5d1d4c3f] {
    flex-direction: column;
    border-radius: 0;
    box-shadow: none;
}
.chat-page .conversation-list[data-v-5d1d4c3f] {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 40vh;
    border-right: none !important;
    border-bottom: 1px solid var(--color-border);
}
.chat-page .message-area[data-v-5d1d4c3f] {
    flex: 1;
    min-height: 0;
}
.group-drawer__member-item[data-v-5d1d4c3f] {
    padding: 8px 4px;
}
.group-drawer__members[data-v-5d1d4c3f] {
    padding: 12px;
}
}
.notification-detail-page[data-v-ff458c54] {
  /* 覆盖 MainLayout 全局规则强制设置的 flex: 1，避免内容少时底部留白 */
  flex: none !important;
  height: 100% !important;
  display: block !important;
  overflow: auto !important;
  background: var(--color-bg-layout);
}
/* 内容 */
.detail-body[data-v-ff458c54] {
  padding: 16px;
}
@media (max-width: 768px) {
.detail-body[data-v-ff458c54] {
    padding: 12px;
}
}
.empty-state[data-v-ff458c54] {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 400px;
}
/* 详情卡片 */
.detail-card[data-v-ff458c54] {
  max-width: 800px;
  margin: 0 auto;
  background: var(--color-bg-container);
  border-radius: 12px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
  overflow: hidden;
}
/* 标题区 */
.card-head[data-v-ff458c54] {
  padding: 24px 24px 20px;
}
@media (max-width: 768px) {
.card-head[data-v-ff458c54] {
    padding: 12px;
}
}
.head-top[data-v-ff458c54] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}
.type-badge[data-v-ff458c54] {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 10px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 500;
}
.type-badge.type-info[data-v-ff458c54] {
  background: var(--color-info-bg, #e6f7ff);
  color: var(--color-info, #1677ff);
}
.type-badge.type-success[data-v-ff458c54] {
  background: var(--color-success-bg, #f6ffed);
  color: var(--color-success);
}
.type-badge.type-warning[data-v-ff458c54] {
  background: var(--color-warning-bg, #fffbe6);
  color: var(--color-warning, #faad14);
}
.type-badge.type-error[data-v-ff458c54] {
  background: var(--color-error-bg, #fff2f0);
  color: var(--color-error);
}
.unread-dot[data-v-ff458c54] {
  font-size: 11px;
  border-radius: 10px;
}
.card-title[data-v-ff458c54] {
  margin: 0 0 12px;
  font-size: 20px;
  font-weight: 600;
  color: var(--color-text);
  line-height: 1.4;
}
.head-meta[data-v-ff458c54] {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.meta-time[data-v-ff458c54],
.meta-sender[data-v-ff458c54] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  color: var(--color-text-quaternary);
}
.meta-time[data-v-ff458c54] .anticon,
.meta-sender[data-v-ff458c54] .anticon {
  font-size: 13px;
}
/* 正文内容 */
.card-content[data-v-ff458c54] {
  padding: 0 24px 20px;
}
.content-text[data-v-ff458c54] {
  font-size: 15px;
  line-height: 1.8;
  color: var(--color-text-secondary, #555);
}
/* 详细内容 */
.card-detail[data-v-ff458c54] {
  padding: 0 24px 20px;
}
.detail-divider[data-v-ff458c54] {
  height: 1px;
  background: var(--color-border-secondary);
  margin-bottom: 16px;
}
.detail-label[data-v-ff458c54] {
  font-size: 13px;
  font-weight: 600;
  color: var(--color-text);
  margin-bottom: 10px;
}
.detail-body[data-v-ff458c54] {
  padding: 14px 16px;
  background: var(--color-bg-layout);
  border-radius: 8px;
  font-size: 13px;
  line-height: 1.8;
  color: var(--color-text-secondary);
  white-space: pre-wrap;
  word-break: break-word;
}
@media (max-width: 768px) {
.detail-body[data-v-ff458c54] {
    padding: 12px;
}
}
/* 底部状态与操作 */
.card-footer[data-v-ff458c54] {
  padding: 12px 24px;
  border-top: 1px solid var(--color-border-secondary);
  background: var(--color-bg-layout);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.footer-left[data-v-ff458c54] {
  display: flex;
  align-items: center;
}
.footer-status[data-v-ff458c54] {
  display: flex;
  align-items: center;
  gap: 6px;
}
.footer-actions[data-v-ff458c54] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.footer-actions .ant-btn[data-v-ff458c54] {
  font-size: 13px;
}
.status-dot[data-v-ff458c54] {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
}
.status-dot.read[data-v-ff458c54] {
  background: var(--color-text-quaternary, #d9d9d9);
}
.status-dot.unread[data-v-ff458c54] {
  background: var(--color-primary);
}
.status-text[data-v-ff458c54] {
  font-size: 12px;
  color: var(--color-text-quaternary);
}
/* 移动端适配 */
@media (max-width: 768px) {
.detail-body[data-v-ff458c54] {
    padding: 12px;
}
.card-head[data-v-ff458c54] {
    padding: 16px;
}
.card-title[data-v-ff458c54] {
    font-size: 17px;
}
.card-content[data-v-ff458c54] {
    padding: 0 16px 16px;
}
.content-text[data-v-ff458c54] {
    font-size: 14px;
}
.card-detail[data-v-ff458c54] {
    padding: 0 16px 16px;
}
.card-footer[data-v-ff458c54] {
    padding: 12px 16px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.detail-body[data-v-ff458c54] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.card-head[data-v-ff458c54] {
    padding: 12px;
}
}
@media (max-width: 575px) {
.card-head[data-v-ff458c54] {
    padding: 14px 12px;
}
.card-title[data-v-ff458c54] {
    font-size: 16px;
}
.card-content[data-v-ff458c54] {
    padding: 0 12px 14px;
}
.content-text[data-v-ff458c54] {
    font-size: 13px;
}
.card-detail[data-v-ff458c54] {
    padding: 0 12px 14px;
}
.detail-body[data-v-ff458c54] {
    padding: 10px 12px;
    font-size: 12px;
}
.head-meta[data-v-ff458c54] {
    gap: 12px;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.card-head[data-v-ff458c54] {
    padding: 12px;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.detail-body[data-v-ff458c54] {
    padding: 12px;
}
}
.iframe-page[data-v-7aa8c847] {
  width: 100%;
  height: 100%;
  min-height: calc(100vh - 180px);
}
.global-search-page[data-v-861af035] {
  max-width: 800px;
  margin: 0 auto;
  padding: 40px 24px;
}
.search-container[data-v-861af035] {
  background: var(--color-bg-container);
  border-radius: 8px;
  padding: 40px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}
.search-header[data-v-861af035] {
  text-align: center;
  margin-bottom: 32px;
}
.search-header h2[data-v-861af035] {
  font-size: 24px;
  margin-bottom: 8px;
  color: var(--color-text);
}
.search-subtitle[data-v-861af035] {
  color: var(--color-text-secondary);
  font-size: 14px;
}
.search-input[data-v-861af035] {
  margin-bottom: 24px;
}
.search-input[data-v-861af035] .ant-input-search-button {
  height: 40px;
}
.section-title[data-v-861af035] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 14px;
  font-weight: 500;
  color: var(--color-text-secondary);
  margin-bottom: 12px;
}
/* 搜索历史 */
.search-history[data-v-861af035] {
  margin-bottom: 24px;
}
.history-tags[data-v-861af035] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.history-tag[data-v-861af035] {
  cursor: pointer;
  border-radius: 4px;
  padding: 2px 8px;
}
/* 搜索结果 */
.result-list[data-v-861af035] {
  margin-top: 16px;
}
.result-item[data-v-861af035] {
  display: flex;
  align-items: center;
  padding: 16px;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.2s;
  gap: 16px;
}
@media (max-width: 768px) {
.result-item[data-v-861af035] {
    padding: 12px;
}
}
.result-item[data-v-861af035]:hover {
  background: var(--color-bg-text-hover, rgba(0, 0, 0, 0.02));
}
.result-icon[data-v-861af035] {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background: var(--color-primary-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-primary);
  font-size: 18px;
  flex-shrink: 0;
}
.result-content[data-v-861af035] {
  flex: 1;
  min-width: 0;
}
.result-title[data-v-861af035] {
  font-size: 15px;
  font-weight: 500;
  color: var(--color-text);
  margin-bottom: 4px;
}
.result-title[data-v-861af035] .highlight {
  color: var(--color-primary);
  background: var(--color-primary-bg);
  padding: 0 2px;
  border-radius: 2px;
}
.result-desc[data-v-861af035] {
  font-size: 13px;
  color: var(--color-text-secondary);
  margin-bottom: 6px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.result-meta[data-v-861af035] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.result-path[data-v-861af035] {
  font-size: 12px;
  color: var(--color-text-quaternary);
}
.result-arrow[data-v-861af035] {
  color: var(--color-text-quaternary, #bbb);
  font-size: 12px;
}
/* 快捷入口 */
.quick-links[data-v-861af035] {
  margin-top: 8px;
}
.quick-link-item[data-v-861af035] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s;
  color: var(--color-text);
  font-size: 14px;
}
.quick-link-item[data-v-861af035]:hover {
  background: var(--color-primary-bg);
  color: var(--color-primary);
}
.quick-link-icon[data-v-861af035] {
  font-size: 16px;
}
@media (max-width: 768px) {
.search-container[data-v-861af035] {
    padding: 24px 16px;
}
.search-header h2[data-v-861af035] {
    font-size: 20px;
}
}
.forbidden-container[data-v-7f61a6f5] {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #e8f4f8 0%, #f0f5ff 30%, #e6f0ff 60%, #f5f0ff 100%);
  background-size: 400% 400%;
  animation: gradientShift-7f61a6f5 25s ease infinite;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding: 16px;
  box-sizing: border-box;
}
@media (max-width: 768px) {
.forbidden-container[data-v-7f61a6f5] {
    padding: 12px;
}
}
.forbidden-container[data-v-7f61a6f5]::-webkit-scrollbar {
  display: none;
}
/* 网格背景 */
.forbidden-container[data-v-7f61a6f5]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: linear-gradient(rgba(239, 68, 68, 0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(239, 68, 68, 0.04) 1px, transparent 1px);
  background-size: 60px 60px;
  animation: gridMove-7f61a6f5 40s linear infinite;
  z-index: 1;
}
/* 光晕效果 */
.forbidden-container[data-v-7f61a6f5]::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle at 30% 40%, rgba(239, 68, 68, 0.05) 0%, transparent 50%), radial-gradient(circle at 70% 60%, rgba(251, 146, 60, 0.04) 0%, transparent 50%);
  animation: lightPulse-7f61a6f5 15s ease-in-out infinite;
  pointer-events: none;
  z-index: 1;
}
/* 装饰几何元素 */
.geo-shape[data-v-7f61a6f5] {
  position: absolute;
  z-index: 2;
  opacity: 0.5;
  animation: geoFloat-7f61a6f5 20s ease-in-out infinite;
}
/* 六边形 */
.geo-hex[data-v-7f61a6f5] {
  width: 80px;
  height: 92px;
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
}
.geo-hex-1[data-v-7f61a6f5] {
  top: 8%;
  left: 6%;
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.08), rgba(251, 146, 60, 0.05));
  animation-delay: 0s;
}
.geo-hex-2[data-v-7f61a6f5] {
  bottom: 12%;
  right: 8%;
  background: linear-gradient(135deg, rgba(220, 38, 38, 0.08), rgba(239, 68, 68, 0.05));
  width: 60px;
  height: 69px;
  animation-delay: 5s;
}
/* 菱形 */
.geo-diamond[data-v-7f61a6f5] {
  width: 50px;
  height: 50px;
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
}
.geo-diamond-1[data-v-7f61a6f5] {
  top: 20%;
  right: 12%;
  background: linear-gradient(135deg, rgba(251, 146, 60, 0.1), rgba(245, 158, 11, 0.06));
  animation-delay: 2s;
}
.geo-diamond-2[data-v-7f61a6f5] {
  bottom: 25%;
  left: 10%;
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.1), rgba(220, 38, 38, 0.06));
  width: 40px;
  height: 40px;
  animation-delay: 7s;
}
/* 三角形 */
.geo-triangle[data-v-7f61a6f5] {
  width: 0;
  height: 0;
  border-left: 30px solid transparent;
  border-right: 30px solid transparent;
  border-bottom: 52px solid rgba(239, 68, 68, 0.06);
}
.geo-triangle-1[data-v-7f61a6f5] {
  top: 60%;
  right: 20%;
  animation-delay: 3s;
}
.geo-triangle-2[data-v-7f61a6f5] {
  top: 15%;
  left: 30%;
  border-bottom-color: rgba(251, 146, 60, 0.05);
  border-left-width: 20px;
  border-right-width: 20px;
  border-bottom-width: 35px;
  animation-delay: 8s;
}
/* 装饰线条 */
.geo-line[data-v-7f61a6f5] {
  position: absolute;
  height: 1px;
  z-index: 2;
  opacity: 0.3;
}
.geo-line-1[data-v-7f61a6f5] {
  top: 30%;
  left: 0;
  width: 30%;
  background: linear-gradient(90deg, transparent, rgba(239, 68, 68, 0.2), transparent);
  animation: linePulse-7f61a6f5 8s ease-in-out infinite;
}
.geo-line-2[data-v-7f61a6f5] {
  bottom: 35%;
  right: 0;
  width: 25%;
  background: linear-gradient(90deg, transparent, rgba(251, 146, 60, 0.2), transparent);
  animation: linePulse-7f61a6f5 10s ease-in-out infinite 3s;
}
/* 点阵装饰 */
.geo-dots[data-v-7f61a6f5] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 120px;
  height: 120px;
  background-image: radial-gradient(circle, rgba(239, 68, 68, 0.12) 1px, transparent 1px);
  background-size: 15px 15px;
  z-index: 2;
  opacity: 0.4;
  animation: dotsFloat-7f61a6f5 25s ease-in-out infinite;
}
.forbidden-content[data-v-7f61a6f5] {
  position: relative;
  z-index: 10;
  text-align: center;
  width: 100%;
  max-width: 520px;
  background: #fff;
  border: 1px solid rgba(239, 68, 68, 0.1);
  border-radius: 20px;
  padding: 40px 24px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(239, 68, 68, 0.06);
  backdrop-filter: blur(20px);
  box-sizing: border-box;
}
.error-image[data-v-7f61a6f5] {
  margin-bottom: 24px;
}
.error-icon[data-v-7f61a6f5] {
  font-size: 80px;
  color: rgba(59, 130, 246, 0.25);
  margin-bottom: 8px;
  filter: drop-shadow(0 0 20px rgba(59, 130, 246, 0.1));
}
.error-icon-forbidden[data-v-7f61a6f5] {
  color: rgba(239, 68, 68, 0.25);
  filter: drop-shadow(0 0 20px rgba(239, 68, 68, 0.1));
}
.error-code[data-v-7f61a6f5] {
  font-size: 80px;
  font-weight: 800;
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 40%, #f97316 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin: 0 0 12px 0;
  line-height: 1;
  letter-spacing: 4px;
}
.error-title[data-v-7f61a6f5] {
  font-size: 20px;
  font-weight: 600;
  color: #1a1a1a;
  margin: 0 0 12px 0;
}
.error-description[data-v-7f61a6f5] {
  font-size: 15px;
  color: #666;
  margin: 0 0 32px 0;
  line-height: 1.6;
}
.error-actions[data-v-7f61a6f5] {
  margin-bottom: 32px;
}
.error-actions[data-v-7f61a6f5] .ant-btn-primary {
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
  border: none;
  box-shadow: 0 4px 12px rgba(239, 68, 68, 0.3);
}
.error-actions[data-v-7f61a6f5] .ant-btn-primary:hover {
  background: linear-gradient(135deg, #f87171 0%, #ef4444 100%);
  box-shadow: 0 6px 16px rgba(239, 68, 68, 0.4);
}
.error-actions[data-v-7f61a6f5] .ant-btn-default {
  background: #fff;
  border-color: #d9d9d9;
  color: #333;
}
.error-actions[data-v-7f61a6f5] .ant-btn-default:hover {
  background: #f5f5f5;
  border-color: rgba(239, 68, 68, 0.4);
  color: #ef4444;
}
.helpful-links[data-v-7f61a6f5] {
  text-align: left;
  background: #f8fafc;
  padding: 20px 24px;
  border-radius: 12px;
  border: 1px solid #e8ecf0;
}
@media (max-width: 768px) {
.helpful-links[data-v-7f61a6f5] {
    padding: 12px;
}
}
.helpful-links h3[data-v-7f61a6f5] {
  margin: 0 0 12px 0;
  font-size: 14px;
  font-weight: 600;
  color: #666;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.helpful-links ul[data-v-7f61a6f5] {
  margin: 0;
  padding-left: 0;
  list-style: none;
}
.helpful-links li[data-v-7f61a6f5] {
  margin-bottom: 8px;
  line-height: 1.5;
}
.helpful-links li[data-v-7f61a6f5]::before {
  content: '\2192';
  color: rgba(239, 68, 68, 0.6);
  margin-right: 8px;
}
.helpful-links a[data-v-7f61a6f5] {
  color: #555;
  text-decoration: none;
  transition: all 0.3s;
}
.helpful-links a[data-v-7f61a6f5]:hover {
  color: #ef4444;
}
/* 动画 */
@keyframes gradientShift-7f61a6f5 {
0% {
    background-position: 0% 50%;
}
25% {
    background-position: 50% 25%;
}
50% {
    background-position: 100% 50%;
}
75% {
    background-position: 50% 75%;
}
100% {
    background-position: 0% 50%;
}
}
@keyframes gridMove-7f61a6f5 {
0% {
    transform: translate(0, 0);
}
100% {
    transform: translate(60px, 60px);
}
}
@keyframes lightPulse-7f61a6f5 {
0%,
  100% {
    transform: scale(1) rotate(0deg);
    opacity: 0.08;
}
50% {
    transform: scale(1.1) rotate(180deg);
    opacity: 0.12;
}
}
@keyframes geoFloat-7f61a6f5 {
0%,
  100% {
    transform: translateY(0) rotate(0deg);
}
25% {
    transform: translateY(-20px) rotate(5deg);
}
50% {
    transform: translateY(-10px) rotate(-3deg);
}
75% {
    transform: translateY(-25px) rotate(2deg);
}
}
@keyframes linePulse-7f61a6f5 {
0%,
  100% {
    opacity: 0.15;
    transform: scaleX(1);
}
50% {
    opacity: 0.4;
    transform: scaleX(1.2);
}
}
@keyframes dotsFloat-7f61a6f5 {
0%,
  100% {
    transform: translate(-50%, -50%) translateY(0);
}
50% {
    transform: translate(-50%, -50%) translateY(-15px);
}
}
/* 响应式 */
@media (max-width: 768px) {
.forbidden-container[data-v-7f61a6f5] {
    padding: 12px;
}
.forbidden-content[data-v-7f61a6f5] {
    padding: 28px 16px;
    border-radius: 16px;
}
.error-icon[data-v-7f61a6f5] {
    font-size: 60px;
}
.error-code[data-v-7f61a6f5] {
    font-size: 52px;
}
.error-title[data-v-7f61a6f5] {
    font-size: 18px;
}
.error-description[data-v-7f61a6f5] {
    font-size: 14px;
    margin-bottom: 24px;
}
.error-actions[data-v-7f61a6f5] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 24px;
}
.error-actions .ant-btn[data-v-7f61a6f5] {
    margin-left: 0 !important;
    width: 100%;
}
.helpful-links[data-v-7f61a6f5] {
    padding: 16px;
}
.geo-shape[data-v-7f61a6f5] {
    display: none;
}
.geo-line[data-v-7f61a6f5] {
    display: none;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.forbidden-container[data-v-7f61a6f5] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.helpful-links[data-v-7f61a6f5] {
    padding: 12px;
}
}
@media (max-width: 575px) {
.forbidden-container[data-v-7f61a6f5] {
    padding: 8px;
}
.forbidden-content[data-v-7f61a6f5] {
    padding: 24px 12px;
    border-radius: 12px;
}
.error-icon[data-v-7f61a6f5] {
    font-size: 48px;
}
.error-code[data-v-7f61a6f5] {
    font-size: 40px;
    letter-spacing: 2px;
}
.error-title[data-v-7f61a6f5] {
    font-size: 16px;
}
.error-description[data-v-7f61a6f5] {
    font-size: 13px;
}
.geo-dots[data-v-7f61a6f5] {
    display: none;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.forbidden-container[data-v-7f61a6f5] {
    padding: 12px;
}
}
.not-found-container[data-v-359ffa90] {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #e8f4f8 0%, #f0f5ff 30%, #e6f0ff 60%, #f5f0ff 100%);
  background-size: 400% 400%;
  animation: gradientShift-359ffa90 25s ease infinite;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding: 16px;
  box-sizing: border-box;
}
@media (max-width: 768px) {
.not-found-container[data-v-359ffa90] {
    padding: 12px;
}
}
.not-found-container[data-v-359ffa90]::-webkit-scrollbar {
  display: none;
}
/* 网格背景 */
.not-found-container[data-v-359ffa90]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: linear-gradient(rgba(59, 130, 246, 0.06) 1px, transparent 1px), linear-gradient(90deg, rgba(59, 130, 246, 0.06) 1px, transparent 1px);
  background-size: 60px 60px;
  animation: gridMove-359ffa90 40s linear infinite;
  z-index: 1;
}
/* 光晕效果 */
.not-found-container[data-v-359ffa90]::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle at 30% 40%, rgba(59, 130, 246, 0.06) 0%, transparent 50%), radial-gradient(circle at 70% 60%, rgba(99, 102, 241, 0.05) 0%, transparent 50%);
  animation: lightPulse-359ffa90 15s ease-in-out infinite;
  pointer-events: none;
  z-index: 1;
}
/* 装饰几何元素 */
.geo-shape[data-v-359ffa90] {
  position: absolute;
  z-index: 2;
  opacity: 0.5;
  animation: geoFloat-359ffa90 20s ease-in-out infinite;
}
/* 六边形 */
.geo-hex[data-v-359ffa90] {
  width: 80px;
  height: 92px;
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
}
.geo-hex-1[data-v-359ffa90] {
  top: 8%;
  left: 6%;
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.1), rgba(99, 102, 241, 0.06));
  animation-delay: 0s;
}
.geo-hex-2[data-v-359ffa90] {
  bottom: 12%;
  right: 8%;
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.1), rgba(139, 92, 246, 0.06));
  width: 60px;
  height: 69px;
  animation-delay: 5s;
}
/* 菱形 */
.geo-diamond[data-v-359ffa90] {
  width: 50px;
  height: 50px;
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
}
.geo-diamond-1[data-v-359ffa90] {
  top: 20%;
  right: 12%;
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.1), rgba(99, 102, 241, 0.06));
  animation-delay: 2s;
}
.geo-diamond-2[data-v-359ffa90] {
  bottom: 25%;
  left: 10%;
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.1), rgba(59, 130, 246, 0.06));
  width: 40px;
  height: 40px;
  animation-delay: 7s;
}
/* 三角形 */
.geo-triangle[data-v-359ffa90] {
  width: 0;
  height: 0;
  border-left: 30px solid transparent;
  border-right: 30px solid transparent;
  border-bottom: 52px solid rgba(59, 130, 246, 0.06);
}
.geo-triangle-1[data-v-359ffa90] {
  top: 60%;
  right: 20%;
  animation-delay: 3s;
}
.geo-triangle-2[data-v-359ffa90] {
  top: 15%;
  left: 30%;
  border-bottom-color: rgba(99, 102, 241, 0.05);
  border-left-width: 20px;
  border-right-width: 20px;
  border-bottom-width: 35px;
  animation-delay: 8s;
}
/* 装饰线条 */
.geo-line[data-v-359ffa90] {
  position: absolute;
  height: 1px;
  z-index: 2;
  opacity: 0.3;
}
.geo-line-1[data-v-359ffa90] {
  top: 30%;
  left: 0;
  width: 30%;
  background: linear-gradient(90deg, transparent, rgba(59, 130, 246, 0.2), transparent);
  animation: linePulse-359ffa90 8s ease-in-out infinite;
}
.geo-line-2[data-v-359ffa90] {
  bottom: 35%;
  right: 0;
  width: 25%;
  background: linear-gradient(90deg, transparent, rgba(99, 102, 241, 0.2), transparent);
  animation: linePulse-359ffa90 10s ease-in-out infinite 3s;
}
/* 点阵装饰 */
.geo-dots[data-v-359ffa90] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 120px;
  height: 120px;
  background-image: radial-gradient(circle, rgba(59, 130, 246, 0.12) 1px, transparent 1px);
  background-size: 15px 15px;
  z-index: 2;
  opacity: 0.4;
  animation: dotsFloat-359ffa90 25s ease-in-out infinite;
}
.not-found-content[data-v-359ffa90] {
  position: relative;
  z-index: 10;
  text-align: center;
  width: 100%;
  max-width: 520px;
  background: #fff;
  border: 1px solid rgba(59, 130, 246, 0.1);
  border-radius: 20px;
  padding: 40px 24px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(59, 130, 246, 0.06);
  backdrop-filter: blur(20px);
  box-sizing: border-box;
}
.error-image[data-v-359ffa90] {
  margin-bottom: 24px;
}
.error-icon[data-v-359ffa90] {
  font-size: 80px;
  color: rgba(59, 130, 246, 0.25);
  margin-bottom: 8px;
  filter: drop-shadow(0 0 20px rgba(59, 130, 246, 0.1));
}
.error-code[data-v-359ffa90] {
  font-size: 80px;
  font-weight: 800;
  background: linear-gradient(135deg, #3b82f6 0%, #2563eb 40%, #6366f1 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin: 0 0 12px 0;
  line-height: 1;
  letter-spacing: 4px;
}
.error-title[data-v-359ffa90] {
  font-size: 20px;
  font-weight: 600;
  color: #1a1a1a;
  margin: 0 0 12px 0;
}
.error-description[data-v-359ffa90] {
  font-size: 15px;
  color: #666;
  margin: 0 0 32px 0;
  line-height: 1.6;
}
.error-actions[data-v-359ffa90] {
  margin-bottom: 32px;
}
.error-actions[data-v-359ffa90] .ant-btn-primary {
  background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
  border: none;
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
}
.error-actions[data-v-359ffa90] .ant-btn-primary:hover {
  background: linear-gradient(135deg, #60a5fa 0%, #3b82f6 100%);
  box-shadow: 0 6px 16px rgba(59, 130, 246, 0.4);
}
.error-actions[data-v-359ffa90] .ant-btn-default {
  background: #fff;
  border-color: #d9d9d9;
  color: #333;
}
.error-actions[data-v-359ffa90] .ant-btn-default:hover {
  background: #f5f5f5;
  border-color: rgba(59, 130, 246, 0.4);
  color: #3b82f6;
}
.helpful-links[data-v-359ffa90] {
  text-align: left;
  background: #f8fafc;
  padding: 20px 24px;
  border-radius: 12px;
  border: 1px solid #e8ecf0;
}
@media (max-width: 768px) {
.helpful-links[data-v-359ffa90] {
    padding: 12px;
}
}
.helpful-links h3[data-v-359ffa90] {
  margin: 0 0 12px 0;
  font-size: 14px;
  font-weight: 600;
  color: #666;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.helpful-links ul[data-v-359ffa90] {
  margin: 0;
  padding-left: 0;
  list-style: none;
}
.helpful-links li[data-v-359ffa90] {
  margin-bottom: 8px;
  line-height: 1.5;
}
.helpful-links li[data-v-359ffa90]::before {
  content: '→';
  color: rgba(59, 130, 246, 0.5);
  margin-right: 8px;
}
.helpful-links a[data-v-359ffa90] {
  color: #555;
  text-decoration: none;
  transition: all 0.3s;
}
.helpful-links a[data-v-359ffa90]:hover {
  color: #3b82f6;
}
/* 动画 */
@keyframes gradientShift-359ffa90 {
0% {
    background-position: 0% 50%;
}
25% {
    background-position: 50% 25%;
}
50% {
    background-position: 100% 50%;
}
75% {
    background-position: 50% 75%;
}
100% {
    background-position: 0% 50%;
}
}
@keyframes gridMove-359ffa90 {
0% {
    transform: translate(0, 0);
}
100% {
    transform: translate(60px, 60px);
}
}
@keyframes lightPulse-359ffa90 {
0%,
  100% {
    transform: scale(1) rotate(0deg);
    opacity: 0.08;
}
50% {
    transform: scale(1.1) rotate(180deg);
    opacity: 0.12;
}
}
@keyframes geoFloat-359ffa90 {
0%,
  100% {
    transform: translateY(0) rotate(0deg);
}
25% {
    transform: translateY(-20px) rotate(5deg);
}
50% {
    transform: translateY(-10px) rotate(-3deg);
}
75% {
    transform: translateY(-25px) rotate(2deg);
}
}
@keyframes linePulse-359ffa90 {
0%,
  100% {
    opacity: 0.15;
    transform: scaleX(1);
}
50% {
    opacity: 0.4;
    transform: scaleX(1.2);
}
}
@keyframes dotsFloat-359ffa90 {
0%,
  100% {
    transform: translate(-50%, -50%) translateY(0);
}
50% {
    transform: translate(-50%, -50%) translateY(-15px);
}
}
/* 响应式 */
@media (max-width: 768px) {
.not-found-container[data-v-359ffa90] {
    padding: 12px;
}
.not-found-content[data-v-359ffa90] {
    padding: 28px 16px;
    border-radius: 16px;
}
.error-icon[data-v-359ffa90] {
    font-size: 60px;
}
.error-code[data-v-359ffa90] {
    font-size: 52px;
}
.error-title[data-v-359ffa90] {
    font-size: 18px;
}
.error-description[data-v-359ffa90] {
    font-size: 14px;
    margin-bottom: 24px;
}
.error-actions[data-v-359ffa90] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 24px;
}
.error-actions .ant-btn[data-v-359ffa90] {
    margin-left: 0 !important;
    width: 100%;
}
.helpful-links[data-v-359ffa90] {
    padding: 16px;
}
.geo-shape[data-v-359ffa90] {
    display: none;
}
.geo-line[data-v-359ffa90] {
    display: none;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.not-found-container[data-v-359ffa90] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.helpful-links[data-v-359ffa90] {
    padding: 12px;
}
}
@media (max-width: 575px) {
.not-found-container[data-v-359ffa90] {
    padding: 8px;
}
.not-found-content[data-v-359ffa90] {
    padding: 24px 12px;
    border-radius: 12px;
}
.error-icon[data-v-359ffa90] {
    font-size: 48px;
}
.error-code[data-v-359ffa90] {
    font-size: 40px;
    letter-spacing: 2px;
}
.error-title[data-v-359ffa90] {
    font-size: 16px;
}
.error-description[data-v-359ffa90] {
    font-size: 13px;
}
.geo-dots[data-v-359ffa90] {
    display: none;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.not-found-container[data-v-359ffa90] {
    padding: 12px;
}
}
.external-drawer[data-v-c7712746] .ant-drawer-body {
  padding: 0;
  height: calc(100vh - 55px);
  overflow: hidden;
}
.external-drawer[data-v-c7712746] .ant-drawer-header {
  border-bottom: 1px solid #f0f0f0;
}
.drawer-content[data-v-c7712746] {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.applications-layout[data-v-9014f7df] {
  padding: 0;
}
/* 默认移动端布局：正常流式布局 */
.responsive-table-container[data-v-1ab4331b] {
  padding: 16px;
  background: var(--color-bg-layout);
}
/* 全屏模式 */
.responsive-table-container.is-fullscreen[data-v-1ab4331b] {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: var(--color-bg-layout);
}
/* PC端 (≥768px)：固定头部，独立滚动 */
@media (min-width: 768px) {
.responsive-table-container[data-v-1ab4331b] {
    height: 100%;
    display: flex;
    flex-direction: column;
}
  /* 固定头部区域 */
.sticky-header-section[data-v-1ab4331b] {
    flex-shrink: 0;
    background: var(--color-bg-layout);
    z-index: 10;
}
  /* 可滚动内容区域 */
.scrollable-content[data-v-1ab4331b] {
    flex: 1;
    min-height: 0;
    /* 重要：允许flex子项收缩 */
}
}
/* 移动端 (<768px)：恢复正常布局 */
@media (max-width: 767px) {
.responsive-table-container[data-v-1ab4331b] {
    height: auto;
    display: block;
    overflow: visible;
    padding: 8px;
}
.sticky-header-section[data-v-1ab4331b] {
    flex-shrink: unset;
    z-index: unset;
}
.scrollable-content[data-v-1ab4331b] {
    flex: unset;
    overflow: visible;
    min-height: unset;
}
}
/* 页面头部 (Hero Section) */
.page-header[data-v-1ab4331b] {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 32px;
  margin-bottom: var(--spacing-3, 12px);
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  border-radius: var(--radius-xl, 16px);
  color: white;
  overflow: hidden;
  transition: all 0.3s ease;
}
.page-header[data-v-1ab4331b] .ant-input-search-button {
  color: #fff;
}
.hero-bg-decoration[data-v-1ab4331b] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-1ab4331b] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-1ab4331b] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-1ab4331b] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-1ab4331b] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-1ab4331b] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-1ab4331b] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-1ab4331b] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-1ab4331b] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-1ab4331b] {
  bottom: 30%;
  right: 15%;
}
.header-content[data-v-1ab4331b] {
  flex: 1;
  position: relative;
  z-index: 1;
}
.page-title[data-v-1ab4331b] {
  font-size: 26px;
  font-weight: 700;
  color: white;
  margin: 0 0 8px 0;
}
.page-description[data-v-1ab4331b] {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.85);
  margin: 0;
  max-width: 500px;
}
.header-actions[data-v-1ab4331b] {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 12px;
  align-items: center;
  flex-shrink: 0;
}
/* 工具栏 */
.table-toolbar[data-v-1ab4331b] {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-bottom: 12px;
  padding: 8px 0;
}
/* 列配置面板 */
.column-setting-content[data-v-1ab4331b] {
  min-width: 160px;
  max-width: 280px;
  max-height: 300px;
  overflow-y: auto;
  padding: 4px 0;
}
/* 筛选区域 */
.stats-slot-wrapper[data-v-1ab4331b] {
  margin-bottom: 12px;
}
.filter-container[data-v-1ab4331b] {
  margin-bottom: 12px;
}
.pc-filter[data-v-1ab4331b] {
  padding: 20px;
  background: var(--color-bg-container);
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  border: 1px solid var(--color-border-light);
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 12px;
  /* 让 filter slot 内容占据剩余空间 */
  /* 按钮列右对齐，防止换行 */
  /* 确保 a-space 中的按钮不换行 */
  /* 确保按钮本身不换行 */
}
.pc-filter[data-v-1ab4331b] .ant-row {
  flex: 1;
  width: 100%;
}
.pc-filter[data-v-1ab4331b] .ant-col:last-child {
  display: flex;
  justify-content: flex-end;
  flex-shrink: 0;
}
.pc-filter[data-v-1ab4331b] .ant-space {
  flex-wrap: nowrap !important;
  white-space: nowrap;
}
.pc-filter[data-v-1ab4331b] .ant-btn {
  flex-shrink: 0;
  white-space: nowrap;
}
.filter-export[data-v-1ab4331b] {
  flex-shrink: 0;
  margin-left: auto;
}
.mobile-filter-actions[data-v-1ab4331b] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  width: 100%;
  box-sizing: border-box;
}
.mobile-filter[data-v-1ab4331b] {
  position: relative;
  width: 100%;
}
.filter-toggle-btn[data-v-1ab4331b] {
  flex: 1;
  min-width: calc(50% - 4px);
  max-width: 100%;
  margin-bottom: 10px;
  border-radius: 8px;
  height: 40px;
  font-size: 14px;
  font-weight: 500;
  transition: all 0.3s ease;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.filter-toggle-btn.filter-active[data-v-1ab4331b] {
  background-color: var(--color-bg-container);
  color: var(--color-primary);
  border-color: var(--color-primary);
}
.filter-toggle-btn.filter-active[data-v-1ab4331b]:hover {
  background-color: rgba(var(--primary-color-rgb), 0.04);
}
.mobile-filter-content[data-v-1ab4331b] {
  position: relative;
  padding: 0;
  background: var(--color-bg-container);
  border-radius: 12px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
  border: none;
  margin-bottom: 10px;
  overflow: hidden;
}
.mobile-filter-body[data-v-1ab4331b] {
  padding: 12px 16px;
}
.mobile-filter-body[data-v-1ab4331b] .ant-row {
  row-gap: 10px;
  margin-left: 0;
  margin-right: 0;
}
.mobile-filter-body[data-v-1ab4331b] .ant-col {
  padding-left: 0;
  padding-right: 0;
  max-width: 100%;
  flex: 0 0 100%;
}
.mobile-filter-body[data-v-1ab4331b] .ant-select {
  width: 100%;
}
.mobile-filter-body[data-v-1ab4331b] .ant-select-selector {
  height: 36px;
  border-radius: 8px;
  font-size: 13px;
  transition: all 0.3s ease;
}
.mobile-filter-body[data-v-1ab4331b] .ant-select-selection-item,
.mobile-filter-body[data-v-1ab4331b] .ant-select-selection-placeholder {
  line-height: 34px;
  font-size: 13px;
}
.mobile-filter-body[data-v-1ab4331b] .ant-select-arrow {
  color: var(--color-text-quaternary);
}
.mobile-filter-body[data-v-1ab4331b] .ant-input,
.mobile-filter-body[data-v-1ab4331b] .ant-input-affix-wrapper {
  height: 36px;
  border-radius: 8px;
  font-size: 13px;
  transition: all 0.3s ease;
}
.mobile-filter-body[data-v-1ab4331b] .ant-input-search-button {
  height: 36px;
  border-radius: 0 8px 8px 0;
}
.mobile-filter-body[data-v-1ab4331b] .ant-btn {
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  flex-shrink: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mobile-filter-body[data-v-1ab4331b] .ant-btn-primary {
  flex: 1;
  min-width: calc(50% - 4px);
}
.mobile-filter-body[data-v-1ab4331b] .ant-space {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  width: 100%;
  box-sizing: border-box;
}
.mobile-filter-body[data-v-1ab4331b] .ant-form-item {
  margin-bottom: 0;
}
/* 批量操作工具栏 */
.batch-toolbar-wrapper[data-v-1ab4331b] {
  margin-bottom: 12px;
}
.batch-toolbar[data-v-1ab4331b] {
  padding: 8px 20px;
  background: var(--color-bg-container);
  border: 1px solid var(--color-border-light);
  border-radius: 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
}
.batch-toolbar > span[data-v-1ab4331b] {
  font-size: 15px;
  font-weight: 500;
  color: var(--color-text);
}
.batch-toolbar[data-v-1ab4331b] .ant-btn {
  height: 36px;
  border-radius: var(--radius-md);
  font-size: 13px;
  font-weight: 500;
  padding: 6px 16px;
  transition: all 0.3s ease;
}
.batch-toolbar[data-v-1ab4331b] .ant-btn:hover {
  transform: translateY(-1px);
}
.batch-toolbar[data-v-1ab4331b] .ant-btn[danger]:hover {
  background: rgba(255, 77, 79, 0.05);
  border-color: var(--color-danger);
  color: var(--color-danger);
}
/* 移动端批量操作工具栏 */
.batch-toolbar-mobile .batch-toolbar[data-v-1ab4331b] {
  flex-direction: column;
  gap: 12px;
  align-items: stretch;
  padding: 12px 16px;
}
.batch-toolbar-mobile .batch-toolbar .batch-toolbar-content[data-v-1ab4331b] {
  flex-direction: column;
  gap: 12px;
  width: 100%;
}
.batch-toolbar-mobile .batch-toolbar .selection-info[data-v-1ab4331b] {
  width: 100%;
  justify-content: space-between;
}
.batch-toolbar-mobile .batch-toolbar .batch-actions[data-v-1ab4331b] {
  width: 100%;
  justify-content: space-between;
}
.batch-toolbar-mobile .batch-toolbar .batch-actions[data-v-1ab4331b] .ant-btn {
  flex: 1;
  justify-content: center;
}
.batch-toolbar-content[data-v-1ab4331b] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.selection-info[data-v-1ab4331b] {
  display: flex;
  align-items: center;
}
.batch-actions[data-v-1ab4331b] {
  display: flex;
  gap: 8px;
}
.batch-progress[data-v-1ab4331b] {
  width: 100%;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--color-border-light);
}
.selection-limit[data-v-1ab4331b] {
  font-size: 12px;
  color: var(--color-text-tertiary);
  margin-left: 8px;
}
/* 表格样式 */
[data-v-1ab4331b] .ant-card-body {
  padding: 12px 16px;
}
[data-v-1ab4331b] .ant-table {
  border-radius: 12px;
  overflow: hidden;
}
[data-v-1ab4331b] .ant-table::before {
  display: none;
}
[data-v-1ab4331b] .ant-table .ant-table-thead > tr > th {
  background: var(--color-bg-container);
  font-weight: 600;
  color: var(--color-text);
  font-size: 14px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--color-border-light);
}
[data-v-1ab4331b] .ant-table .ant-table-tbody > tr > td {
  padding: 14px 16px;
  font-size: 14px;
  color: var(--color-text-secondary);
  border-bottom: 1px solid var(--color-border-light);
}
[data-v-1ab4331b] .ant-table .ant-table-tbody > tr.ant-table-row:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
[data-v-1ab4331b] .ant-table .ant-table-tbody > tr.ant-table-row-selected,[data-v-1ab4331b] .ant-table .ant-table-tbody > tr.ant-table-row-selected:hover {
  background: rgba(var(--primary-color-rgb), 0.04);
}
/* 键盘导航焦点行 */
[data-v-1ab4331b] .keyboard-focused-row {
  outline: 2px solid var(--color-primary);
  outline-offset: -2px;
}
/* 移动端卡片列表样式 */
.mobile-card-virtual-container[data-v-1ab4331b] {
  overflow-y: auto;
  margin-bottom: 16px;
  border-radius: 0;
  border: none;
  background: transparent;
  box-shadow: none;
}
.mobile-card-grid[data-v-1ab4331b] {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  padding: 0;
}
.mobile-card-virtual-container .mobile-card[data-v-1ab4331b] {
  margin-bottom: 16px;
  width: 100%;
  left: 0;
}
.mobile-card[data-v-1ab4331b] {
  background: var(--color-bg-container);
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  border: none;
  box-sizing: border-box;
  overflow: hidden;
}
/* 卡片头部 */
.mobile-card-header[data-v-1ab4331b] {
  padding: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--color-border-secondary, #f0f0f0);
  margin-bottom: 0;
  display: flex;
  align-items: center;
  gap: 12px;
}
.mobile-card-title-wrap[data-v-1ab4331b] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 4px;
}
.mobile-card-title[data-v-1ab4331b] {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: var(--color-text, #1f1f1f);
  flex: 1;
  min-width: 0;
}
.mobile-card-code[data-v-1ab4331b] {
  font-size: 13px;
  color: var(--color-text-tertiary, #8c8c8c);
  font-family: monospace;
}
.mobile-card-desc[data-v-1ab4331b] {
  font-size: 13px;
  color: var(--color-text-secondary, #666);
  line-height: 1.5;
  padding: 12px 16px;
  background: #fafafa;
}
.mobile-card-meta[data-v-1ab4331b] {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--color-border-secondary, #f0f0f0);
  margin-bottom: 0;
}
.mobile-meta-item[data-v-1ab4331b] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 13px;
}
.mobile-meta-label[data-v-1ab4331b] {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--color-text-tertiary, #8c8c8c);
  font-size: 13px;
}
.mobile-meta-value[data-v-1ab4331b] {
  color: var(--color-text-secondary, #333);
  font-weight: 500;
  font-size: 13px;
}
.mobile-meta-icon[data-v-1ab4331b] {
  font-size: 13px;
}
.mobile-card-body[data-v-1ab4331b] {
  padding: 12px 16px;
}
.mobile-card-field[data-v-1ab4331b] {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 6px 0 !important;
  width: 100% !important;
  gap: 12px !important;
}
.mobile-card-field[data-v-1ab4331b]:last-child {
  margin-bottom: 0;
}
.mobile-card-field-label[data-v-1ab4331b] {
  font-size: 13px !important;
  font-weight: 400 !important;
  color: var(--color-text-tertiary, #8c8c8c) !important;
  flex-shrink: 0 !important;
  text-align: left !important;
  flex: 0 0 auto !important;
}
.mobile-card-field-value[data-v-1ab4331b] {
  font-size: 13px !important;
  color: var(--color-text-secondary, #333) !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  text-align: right !important;
  flex: 1 !important;
  margin-left: auto !important;
}
.mobile-card-field-inline[data-v-1ab4331b] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 13px;
}
/* 卡片底部操作区域 */
.mobile-card-footer[data-v-1ab4331b] {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  text-align: right;
  background: rgba(233, 233, 233, 0.08);
  border-top: 1px solid var(--color-border-secondary, #f0f0f0);
}
.mobile-card-footer[data-v-1ab4331b] .ant-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: 8px;
  min-height: 44px;
  font-weight: 500;
  border-radius: 8px;
  white-space: nowrap;
  flex: none;
  color: var(--color-primary, #1890ff);
}
.mobile-card-footer[data-v-1ab4331b] .ant-btn:hover {
  background-color: rgba(24, 144, 255, 0.08);
}
.mobile-card-footer[data-v-1ab4331b] .ant-btn-dangerous {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: 8px;
  min-height: 44px;
  font-weight: 500;
  border-radius: 8px;
  white-space: nowrap;
  flex: none;
  color: var(--color-danger, #ff4d4f);
}
.mobile-card-footer[data-v-1ab4331b] .ant-btn-dangerous:hover {
  background-color: rgba(255, 47, 47, 0.08);
}
.mobile-card-footer[data-v-1ab4331b] .ant-btn-icon {
  font-size: 14px;
  margin-right: 4px;
}
.mobile-action-btn[data-v-1ab4331b] {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 16px;
  color: var(--color-primary, #1890ff);
  font-weight: 500;
  border-radius: 8px;
}
.mobile-action-btn[data-v-1ab4331b]:hover {
  background: rgba(24, 144, 255, 0.08);
}
.mobile-action-btn[data-v-1ab4331b] .ant-btn-icon {
  font-size: 14px;
  margin-right: 4px;
}
/* 移动端卡片 fields 容器统一样式 */
[data-v-1ab4331b] .mobile-card-fields,[data-v-1ab4331b] .mobile-app-fields,[data-v-1ab4331b] .mobile-group-fields,[data-v-1ab4331b] .mobile-robot-fields,[data-v-1ab4331b] .mobile-todo-fields,[data-v-1ab4331b] .mobile-task-fields,[data-v-1ab4331b] .mobile-announcement-fields {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
[data-v-1ab4331b] .mobile-card-field,[data-v-1ab4331b] .mobile-app-field,[data-v-1ab4331b] .mobile-group-field,[data-v-1ab4331b] .mobile-robot-field,[data-v-1ab4331b] .mobile-todo-field,[data-v-1ab4331b] .mobile-task-field,[data-v-1ab4331b] .mobile-announcement-field {
  display: flex;
  gap: 2px;
}
[data-v-1ab4331b] .mobile-card-field-label,[data-v-1ab4331b] .mobile-app-field-label,[data-v-1ab4331b] .mobile-group-field-label,[data-v-1ab4331b] .mobile-robot-field-label,[data-v-1ab4331b] .mobile-todo-field-label,[data-v-1ab4331b] .mobile-task-field-label,[data-v-1ab4331b] .mobile-announcement-field-label {
  font-size: 12px;
  font-weight: 400;
  color: var(--color-text-quaternary, #999);
  flex-shrink: 0;
  min-width: 36px;
}
[data-v-1ab4331b] .mobile-card-field-value,[data-v-1ab4331b] .mobile-app-field-value,[data-v-1ab4331b] .mobile-group-field-value,[data-v-1ab4331b] .mobile-robot-field-value,[data-v-1ab4331b] .mobile-todo-field-value,[data-v-1ab4331b] .mobile-task-field-value,[data-v-1ab4331b] .mobile-announcement-field-value {
  font-size: 13px;
  color: var(--color-text-secondary);
  line-height: 1.5;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
[data-v-1ab4331b] .mobile-card-tags,[data-v-1ab4331b] .mobile-app-tags,[data-v-1ab4331b] .mobile-group-tags,[data-v-1ab4331b] .mobile-robot-badges,[data-v-1ab4331b] .mobile-todo-badges,[data-v-1ab4331b] .mobile-task-badges,[data-v-1ab4331b] .mobile-announcement-badges {
  display: flex;
  gap: 4px;
  flex-shrink: 0;
  flex-wrap: wrap;
  justify-content: flex-end;
}
[data-v-1ab4331b] .mobile-card-tag,[data-v-1ab4331b] .mobile-app-tag,[data-v-1ab4331b] .mobile-group-tag,[data-v-1ab4331b] .mobile-robot-tag,[data-v-1ab4331b] .mobile-robot-badge,[data-v-1ab4331b] .mobile-todo-tag,[data-v-1ab4331b] .mobile-task-tag,[data-v-1ab4331b] .mobile-announcement-tag {
  font-size: 11px;
  line-height: 1;
  padding: 2px 6px;
  border-radius: 4px;
  margin: 0;
  flex-shrink: 0;
  max-width: 140px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
[data-v-1ab4331b] .mobile-card-name,[data-v-1ab4331b] .mobile-app-name,[data-v-1ab4331b] .mobile-group-name,[data-v-1ab4331b] .robot-name,[data-v-1ab4331b] .mobile-todo-title,[data-v-1ab4331b] .mobile-task-name,[data-v-1ab4331b] .mobile-announcement-name {
  font-size: 15px;
  font-weight: 600;
  color: var(--color-text);
  line-height: 1.4;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  min-width: 0;
  margin-right: 8px;
}
[data-v-1ab4331b] .mobile-card-desc,[data-v-1ab4331b] .mobile-app-desc,[data-v-1ab4331b] .mobile-group-desc,[data-v-1ab4331b] .mobile-robot-desc,[data-v-1ab4331b] .mobile-todo-desc,[data-v-1ab4331b] .mobile-task-desc,[data-v-1ab4331b] .mobile-announcement-desc {
  font-size: 13px;
  color: var(--color-text-secondary, #666);
  line-height: 1.5;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: 8px;
  margin-top: 4px;
}
/* 行内字段模式统一样式 */
[data-v-1ab4331b] .mobile-card-field-inline,[data-v-1ab4331b] .mobile-app-field-inline,[data-v-1ab4331b] .mobile-group-field-inline,[data-v-1ab4331b] .mobile-todo-field-inline,[data-v-1ab4331b] .mobile-task-field-inline,[data-v-1ab4331b] .mobile-announcement-field-inline {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
[data-v-1ab4331b] .mobile-card-field-inline > .mobile-card-field-label,[data-v-1ab4331b] .mobile-app-field-inline > .mobile-app-field-label,[data-v-1ab4331b] .mobile-group-field-inline > .mobile-group-field-label,[data-v-1ab4331b] .mobile-todo-field-inline > .mobile-todo-field-label,[data-v-1ab4331b] .mobile-task-field-inline > .mobile-task-field-label,[data-v-1ab4331b] .mobile-announcement-field-inline > .mobile-announcement-field-label {
  display: block;
}
[data-v-1ab4331b] .mobile-card-field-inline > .mobile-card-field-label::after,[data-v-1ab4331b] .mobile-app-field-inline > .mobile-app-field-label::after,[data-v-1ab4331b] .mobile-group-field-inline > .mobile-group-field-label::after,[data-v-1ab4331b] .mobile-todo-field-inline > .mobile-todo-field-label::after,[data-v-1ab4331b] .mobile-task-field-inline > .mobile-task-field-label::after,[data-v-1ab4331b] .mobile-announcement-field-inline > .mobile-announcement-field-label::after {
  content: ':';
  margin-right: 2px;
}
.mobile-pagination[data-v-1ab4331b] {
  margin-top: 12px;
  padding: 12px 0 4px;
  display: flex;
  justify-content: center;
}
/* 移动端加载状态 */
.mobile-list-loading[data-v-1ab4331b] {
  min-height: 300px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  background-color: var(--color-bg-container);
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  border: 1px solid var(--color-border-light);
}
.mobile-loading-content[data-v-1ab4331b] {
  text-align: center;
}
.mobile-loading-spinner[data-v-1ab4331b] {
  width: 40px;
  height: 40px;
}
[data-v-1ab4331b] .ant-spin-tip {
  margin-top: 16px;
  font-size: 14px;
  color: var(--color-text-secondary);
}
/* 表格 loading 居中 */
[data-v-1ab4331b] .ant-table-wrapper .ant-spin-nested-loading > div > .ant-spin {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-height: none;
}
[data-v-1ab4331b] .ant-table-wrapper .ant-spin-container::after {
  background: transparent;
}
/* 卡片网格 */
.card-grid[data-v-1ab4331b] {
  margin-bottom: 12px;
}
/* 默认列表视图样式 */
.default-list-view[data-v-1ab4331b] {
  margin-top: 16px;
}
.default-list-item[data-v-1ab4331b] {
  display: flex;
  align-items: center;
  padding: 16px;
  background: var(--color-bg-container);
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  border: 1px solid var(--color-border-light);
  margin-bottom: 12px;
  transition: all 0.3s ease;
  cursor: pointer;
}
.default-list-item[data-v-1ab4331b]:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  transform: translateY(-2px);
  border-color: var(--color-primary);
}
.default-list-item-content[data-v-1ab4331b] {
  flex: 1;
  min-width: 0;
}
.default-list-item-title[data-v-1ab4331b] {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-text);
  margin-bottom: 4px;
  line-height: 1.4;
}
.default-list-item-description[data-v-1ab4331b] {
  font-size: 14px;
  color: var(--color-text-secondary);
  line-height: 1.4;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
}
/* 导出下拉菜单样式 */
.export-dropdown[data-v-1ab4331b] .ant-btn {
  border-color: var(--color-primary, #26a69a);
  color: var(--color-primary, #26a69a);
}
.export-dropdown[data-v-1ab4331b] .ant-btn:hover {
  border-color: var(--color-primary-hover, #00897b);
  color: var(--color-primary-hover, #00897b);
}
/* 空状态 */
.empty-state-container[data-v-1ab4331b] {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 300px;
  padding: 40px 20px;
  background-color: var(--color-bg-container);
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  border: 1px solid var(--color-border-light);
  margin-top: 16px;
}
.empty-state-content[data-v-1ab4331b] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  max-width: 400px;
}
.empty-state-image[data-v-1ab4331b] {
  margin-bottom: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.empty-custom-image[data-v-1ab4331b] {
  max-width: 120px;
  max-height: 120px;
  object-fit: contain;
  border-radius: 8px;
}
.empty-state-actions[data-v-1ab4331b] {
  margin-top: 8px;
}
.empty-state-actions[data-v-1ab4331b] .ant-btn {
  transition: all 0.3s ease;
}
.empty-state-actions[data-v-1ab4331b] .ant-btn:hover {
  transform: translateY(-2px);
}
/* 下拉刷新指示器 */
.pull-refresh-indicator[data-v-1ab4331b] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background-color: var(--color-bg-container);
  border-bottom: 1px solid var(--color-border-secondary, #f0f0f0);
  padding: 10px;
  text-align: center;
  font-size: 13px;
  color: var(--color-text-tertiary);
  z-index: 1000;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
  animation: pullRefresh-1ab4331b 0.3s ease;
}
@keyframes pullRefresh-1ab4331b {
from {
    transform: translateY(-100%);
    opacity: 0;
}
to {
    transform: translateY(0);
    opacity: 1;
}
}
/* 悬浮筛选图标 */
.floating-filter-icon[data-v-1ab4331b] {
  position: absolute;
  top: 0px;
  right: 20px;
  z-index: 100;
  opacity: 0;
  transform: translateY(-10px);
  transition: all 0.3s ease;
  pointer-events: none;
}
.floating-filter-icon.show[data-v-1ab4331b] {
  opacity: 1;
  transform: translateY(32px);
  pointer-events: auto;
}
.floating-filter-icon[data-v-1ab4331b] .ant-btn {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease;
}
.floating-filter-icon[data-v-1ab4331b] .ant-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}
/* 悬浮筛选面板 */
.floating-filter-panel[data-v-1ab4331b] {
  position: absolute;
  top: 8px;
  left: 0;
  right: 0;
  background-color: var(--color-bg-container);
  border-bottom: 1px solid var(--color-border-light);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  z-index: 101;
  max-height: 80vh;
  overflow-y: auto;
}
.floating-filter-body[data-v-1ab4331b] {
  padding: 20px;
}
/* 移动端卡片选中状态 */
.mobile-card-selected[data-v-1ab4331b] {
  border-color: var(--color-primary);
  background-color: rgba(var(--primary-color-rgb), 0.02);
  box-shadow: 0 0 0 2px rgba(var(--primary-color-rgb), 0.2);
}
/* 移动端操作按钮 */
.mobile-action-btn[data-v-1ab4331b] {
  flex: 1;
  text-align: center;
  border-radius: 8px;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}
.mobile-action-btn[data-v-1ab4331b] .anticon {
  font-size: 14px;
}
.mobile-action-btn[data-v-1ab4331b]:hover {
  background-color: rgba(0, 0, 0, 0.04);
  transform: translateY(-1px);
}
.mobile-action-btn[data-v-1ab4331b]:active {
  transform: translateY(0);
}
/* 移动端卡片操作按钮统一样式 */
[data-v-1ab4331b] .mobile-primary-action {
  color: #1677ff;
  font-size: 13px;
  font-weight: 500;
}
[data-v-1ab4331b] .mobile-primary-action:hover,[data-v-1ab4331b] .mobile-primary-action:active {
  color: #4096ff;
  background-color: rgba(22, 119, 255, 0.08);
}
[data-v-1ab4331b] .mobile-view-action {
  color: #1677ff;
  font-size: 13px;
  font-weight: 500;
}
[data-v-1ab4331b] .mobile-view-action:hover,[data-v-1ab4331b] .mobile-view-action:active {
  color: #4096ff;
  background-color: rgba(22, 119, 255, 0.08);
}
[data-v-1ab4331b] .mobile-more-action {
  color: var(--color-text-secondary);
  margin-left: auto;
  font-size: 20px;
  width: 36px;
  height: 36px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  flex: none;
}
[data-v-1ab4331b] .mobile-more-action:hover,[data-v-1ab4331b] .mobile-more-action:active {
  color: var(--color-text);
  background-color: rgba(0, 0, 0, 0.06);
}
[data-v-1ab4331b] .mobile-more-action .anticon {
  font-size: 20px;
  font-weight: bold;
}
[data-v-1ab4331b] .mobile-danger-action {
  color: #ff4d4f;
  font-size: 13px;
  font-weight: 500;
}
[data-v-1ab4331b] .mobile-danger-action:hover,[data-v-1ab4331b] .mobile-danger-action:active {
  color: #ff7875;
  background-color: rgba(255, 77, 79, 0.08);
}
/* 移动端复选框 */
.mobile-checkbox[data-v-1ab4331b] {
  transform: scale(1.2);
  margin-right: 8px;
}
/* 右键菜单 */
.responsive-table-context-menu[data-v-1ab4331b] {
  position: fixed;
  z-index: 1050;
  background: var(--color-bg-container);
  border-radius: 8px;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
  border: 1px solid var(--color-border-light);
  padding: 4px 0;
  min-width: 120px;
}
.context-menu-item[data-v-1ab4331b] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  cursor: pointer;
  font-size: 14px;
  color: var(--color-text);
  transition: background-color 0.2s ease;
}
.context-menu-item[data-v-1ab4331b]:hover {
  background-color: rgba(0, 0, 0, 0.04);
}
.context-menu-item__icon[data-v-1ab4331b] {
  font-size: 14px;
}
.context-menu-item--danger[data-v-1ab4331b] {
  color: #ff4d4f;
}
.context-menu-item--danger[data-v-1ab4331b]:hover {
  background-color: rgba(255, 77, 79, 0.06);
}
.context-menu-item--disabled[data-v-1ab4331b] {
  color: var(--color-text-quaternary);
  cursor: not-allowed;
}
.context-menu-item--disabled[data-v-1ab4331b]:hover {
  background-color: transparent;
}
/* 动画效果 */
.fade-enter-active[data-v-1ab4331b],
.fade-leave-active[data-v-1ab4331b] {
  transition: opacity 0.3s ease;
}
.fade-enter-from[data-v-1ab4331b],
.fade-leave-to[data-v-1ab4331b] {
  opacity: 0;
}
.slide-down-enter-active[data-v-1ab4331b],
.slide-down-leave-active[data-v-1ab4331b] {
  transition: all 0.3s ease;
}
.slide-down-enter-from[data-v-1ab4331b] {
  transform: translateY(-10px);
  opacity: 0;
}
.slide-down-leave-to[data-v-1ab4331b] {
  transform: translateY(-10px);
  opacity: 0;
}
/* 响应式设计 - 超小屏幕 (xs) */
@media (max-width: 575.98px) {
.page-header[data-v-1ab4331b] {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    padding: 20px;
}
.page-header .header-content[data-v-1ab4331b] {
    margin-bottom: 0;
}
.page-header .page-title[data-v-1ab4331b] {
    font-size: 20px;
}
.page-header .page-description[data-v-1ab4331b] {
    font-size: 13px;
}
.header-actions[data-v-1ab4331b] {
    width: 100%;
    flex-wrap: wrap;
    gap: 8px;
}
.stats-slot-wrapper[data-v-1ab4331b] {
    margin-bottom: 20px;
}
.filter-container[data-v-1ab4331b] {
    margin-bottom: 16px;
}
.pc-filter[data-v-1ab4331b] {
    padding: 12px;
}
.pc-filter[data-v-1ab4331b] .ant-space {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    width: 100%;
}
.pc-filter[data-v-1ab4331b] .ant-space > .ant-space-item {
    flex: 1;
    min-width: 100%;
}
.batch-toolbar[data-v-1ab4331b] {
    flex-direction: column;
    gap: 12px;
    align-items: stretch;
    padding: 12px 16px;
}
.batch-toolbar .batch-toolbar-content[data-v-1ab4331b] {
    flex-direction: column;
    gap: 12px;
    width: 100%;
}
.batch-toolbar .selection-info[data-v-1ab4331b] {
    width: 100%;
    justify-content: space-between;
}
.batch-toolbar .batch-actions[data-v-1ab4331b] {
    width: 100%;
    justify-content: space-between;
}
.batch-toolbar .batch-actions[data-v-1ab4331b] .ant-btn {
    flex: 1;
    justify-content: center;
}
.card-grid[data-v-1ab4331b] {
    grid-template-columns: repeat(auto-fill, minmax(100%, 1fr));
    gap: 16px;
}
.mobile-card-grid[data-v-1ab4331b] {
    gap: 10px;
}
.mobile-card[data-v-1ab4331b] {
    border-radius: 10px;
}
.mobile-card-header[data-v-1ab4331b] {
    padding: 12px 14px 8px;
}
.mobile-card-body[data-v-1ab4331b] {
    padding: 10px 14px;
}
}
/* 响应式设计 - 小屏幕 (sm) */
@media (min-width: 576px) and (max-width: 767.98px) {
.page-header[data-v-1ab4331b] {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    padding: 24px;
}
.page-header .header-content[data-v-1ab4331b] {
    margin-bottom: 0;
}
.page-header .page-title[data-v-1ab4331b] {
    font-size: 22px;
}
.header-actions[data-v-1ab4331b] {
    width: 100%;
}
.filter-container[data-v-1ab4331b] {
    margin-bottom: 20px;
}
.pc-filter[data-v-1ab4331b] {
    padding: 16px;
}
.pc-filter[data-v-1ab4331b] .ant-space {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    width: 100%;
}
.pc-filter[data-v-1ab4331b] .ant-space > .ant-space-item {
    flex: 1;
    min-width: calc(50% - 4px);
}
.batch-toolbar[data-v-1ab4331b] {
    flex-direction: column;
    gap: 12px;
    align-items: stretch;
    padding: 12px 16px;
}
.batch-toolbar .batch-toolbar-content[data-v-1ab4331b] {
    flex-direction: column;
    gap: 12px;
    width: 100%;
}
.batch-toolbar .selection-info[data-v-1ab4331b] {
    width: 100%;
    justify-content: space-between;
}
.batch-toolbar .batch-actions[data-v-1ab4331b] {
    width: 100%;
    justify-content: flex-end;
}
.card-grid[data-v-1ab4331b] {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 16px;
}
}
/* 响应式设计 - 中等屏幕 (md) */
@media (min-width: 768px) and (max-width: 991.98px) {
.header-actions[data-v-1ab4331b] {
    gap: 8px;
}
.pc-filter[data-v-1ab4331b] .ant-space {
    gap: 12px;
}
.batch-toolbar[data-v-1ab4331b] {
    padding: 12px 16px;
}
.card-grid[data-v-1ab4331b] {
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 16px;
}
  /* 平板设备的批量操作工具栏 */
.batch-toolbar-tablet .batch-toolbar[data-v-1ab4331b] {
    flex-direction: column;
    gap: 12px;
    align-items: stretch;
}
.batch-toolbar-tablet .batch-toolbar .batch-toolbar-content[data-v-1ab4331b] {
    flex-direction: column;
    gap: 12px;
}
.batch-toolbar-tablet .batch-toolbar .batch-actions[data-v-1ab4331b] {
    justify-content: flex-end;
}
}
/* 响应式设计 - 大屏幕 (lg) */
@media (min-width: 992px) and (max-width: 1199.98px) {
.card-grid[data-v-1ab4331b] {
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
}
}
/* 响应式设计 - 超大屏幕 (xl) */
@media (min-width: 1200px) and (max-width: 1399.98px) {
.card-grid[data-v-1ab4331b] {
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
}
}
/* 响应式设计 - 特大屏幕 (xxl) */
@media (min-width: 1400px) {
.card-grid[data-v-1ab4331b] {
    grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
}
}
/* prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
.responsive-table-container[data-v-1ab4331b] *,
  .responsive-table-container[data-v-1ab4331b] *::before,
  .responsive-table-container[data-v-1ab4331b] *::after {
    animation-duration: 0.01ms;
    animation-iteration-count: 1;
    transition-duration: 0.01ms;
    transition-delay: 0ms;
    scroll-behavior: auto;
}
.fade-enter-active[data-v-1ab4331b],
  .fade-leave-active[data-v-1ab4331b],
  .slide-down-enter-active[data-v-1ab4331b],
  .slide-down-leave-active[data-v-1ab4331b] {
    transition: none;
}
.pull-refresh-indicator[data-v-1ab4331b] {
    animation: none;
}
.default-list-item[data-v-1ab4331b],
  .mobile-card[data-v-1ab4331b],
  .batch-toolbar[data-v-1ab4331b] .ant-btn,
  .filter-toggle-btn[data-v-1ab4331b],
  .floating-filter-icon[data-v-1ab4331b] .ant-btn,
  .mobile-action-btn[data-v-1ab4331b],
  .page-header[data-v-1ab4331b],
  .empty-state-actions[data-v-1ab4331b] .ant-btn {
    transition: none;
}
}
.app-center-page[data-v-130fc785] {
  padding: var(--spacing-4);
  background: linear-gradient(135deg, #f5f7fa 0%, #e4e8ef 100%);
  display: flex;
  flex-direction: column;
  gap: var(--spacing-4);
}
.hero-section[data-v-130fc785] {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  border-radius: var(--radius-xl);
  color: white;
  box-shadow: 0 4px 16px rgba(22, 119, 255, 0.25);
  overflow: hidden;
  gap: 24px;
  flex-wrap: wrap;
}
.hero-bg-decoration[data-v-130fc785] {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}
.hero-circle[data-v-130fc785] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-130fc785] {
  width: 280px;
  height: 280px;
  top: -100px;
  right: -40px;
}
.hero-circle--2[data-v-130fc785] {
  width: 180px;
  height: 180px;
  bottom: -60px;
  left: 15%;
}
.hero-circle--3[data-v-130fc785] {
  width: 100px;
  height: 100px;
  top: 10px;
  left: 45%;
}
.hero-line[data-v-130fc785] {
  position: absolute;
  height: 2px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-130fc785] {
  width: 120px;
  top: 30%;
  right: 20%;
  transform: rotate(-25deg);
}
.hero-line--2[data-v-130fc785] {
  width: 80px;
  bottom: 25%;
  right: 30%;
  transform: rotate(15deg);
}
.hero-dot[data-v-130fc785] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.25);
}
.hero-dot--1[data-v-130fc785] {
  top: 20%;
  left: 30%;
}
.hero-dot--2[data-v-130fc785] {
  bottom: 30%;
  right: 15%;
  width: 4px;
  height: 4px;
}
.hero-dot--3[data-v-130fc785] {
  top: 50%;
  left: 60%;
  width: 8px;
  height: 8px;
  background: rgba(255, 255, 255, 0.15);
}
.hero-content[data-v-130fc785] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  gap: 24px;
  flex-wrap: wrap;
}
.hero-left[data-v-130fc785] {
  flex: 1;
  min-width: 240px;
  position: relative;
  z-index: 1;
}
.hero-left h1[data-v-130fc785] {
  margin: 0 0 6px 0;
  font-size: 24px;
  font-weight: 700;
  color: #ffffff;
}
.hero-desc[data-v-130fc785] {
  margin: 0;
  font-size: 13px;
  opacity: 0.85;
  max-width: 480px;
  color: rgba(255, 255, 255, 0.85);
}
.hero-right[data-v-130fc785] {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-shrink: 0;
  position: relative;
  z-index: 1;
  flex-wrap: wrap;
}
.hero-search[data-v-130fc785] {
  width: 240px;
}
.hero-search[data-v-130fc785] .ant-input {
  background: rgba(255, 255, 255, 0.95);
  border: none;
  border-radius: var(--radius-lg);
}
.hero-sort[data-v-130fc785] {
  width: 140px;
}
.hero-sort[data-v-130fc785] .ant-select-selector {
  background: rgba(255, 255, 255, 0.95) !important;
  border: none !important;
  border-radius: var(--radius-lg) !important;
}
.hero-view-mode[data-v-130fc785] {
  background: rgba(255, 255, 255, 0.92);
  border-radius: var(--radius-lg);
  padding: 2px;
}
.marketplace-content[data-v-130fc785] {
  padding: 0;
  background: transparent;
}
.category-filter[data-v-130fc785] {
  margin-bottom: var(--spacing-5);
  background: #fff;
  padding: 12px 16px;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.category-filter[data-v-130fc785] .ant-radio-group {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.category-filter[data-v-130fc785] .ant-radio-button-wrapper {
  border-radius: 16px !important;
  border: 1px solid #d9d9d9 !important;
  padding: 4px 16px;
  height: auto;
  line-height: 22px;
  font-size: 13px;
  transition: all 0.3s;
}
.category-filter[data-v-130fc785] .ant-radio-button-wrapper:not(:first-child)::before {
  display: none;
}
.category-filter[data-v-130fc785] .ant-radio-button-wrapper-checked {
  background: #1677ff !important;
  border-color: #1677ff !important;
  color: #fff !important;
  box-shadow: 0 2px 4px rgba(22, 119, 255, 0.3);
}
.category-filter[data-v-130fc785] .ant-radio-button-wrapper:hover:not(.ant-radio-button-wrapper-checked) {
  border-color: #1677ff !important;
  color: #1677ff;
}
.featured-section[data-v-130fc785] {
  margin-bottom: var(--spacing-8);
}
.section-title[data-v-130fc785] {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  font-size: 18px;
  font-weight: var(--font-weight-semibold);
  margin: 0 0 var(--spacing-4) 0;
}
.featured-app-card[data-v-130fc785] {
  background: white;
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: all var(--duration-base) var(--easing-ease-out);
  border: 1px solid transparent;
}
.featured-app-card[data-v-130fc785]:hover {
  box-shadow: var(--shadow-lg);
  border-color: rgba(24, 144, 255, 0.1);
  transform: translateY(-3px);
}
.app-header[data-v-130fc785] {
  position: relative;
  padding: var(--spacing-4) var(--spacing-6) var(--spacing-5);
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--spacing-3);
  overflow: hidden;
}
.app-header-geometric[data-v-130fc785] {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}
.app-geo-circle[data-v-130fc785] {
  position: absolute;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.12);
  top: -30px;
  right: -20px;
}
.app-geo-line[data-v-130fc785] {
  position: absolute;
  width: 60px;
  height: 2px;
  background: rgba(255, 255, 255, 0.1);
  bottom: 20px;
  right: 30%;
  transform: rotate(-15deg);
}
.app-geo-dot[data-v-130fc785] {
  position: absolute;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.25);
  top: 15px;
  left: 55%;
}
.app-header .app-title[data-v-130fc785] {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: white;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}
.app-header .app-icon[data-v-130fc785] {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  color: white;
}
.favorite-btn[data-v-130fc785] {
  position: absolute;
  top: var(--spacing-3);
  right: var(--spacing-3);
  background: transparent !important;
  border: none !important;
  color: rgba(255, 255, 255, 0.7) !important;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--duration-base) var(--easing-ease-out);
}
.favorite-btn[data-v-130fc785]:hover {
  color: white !important;
  transform: scale(1.15);
}
.featured-tag[data-v-130fc785] {
  position: absolute;
  top: var(--spacing-3);
  right: var(--spacing-3);
  border-radius: var(--radius-xl);
  font-size: 12px;
  padding: var(--spacing-0-5) var(--spacing-2-5);
  border: none;
  backdrop-filter: blur(4px);
  background: rgba(255, 255, 255, 0.25) !important;
  color: white !important;
}
.app-body[data-v-130fc785] {
  padding: var(--spacing-4) var(--spacing-6);
}
.app-body h4[data-v-130fc785] {
  margin: 0 0 var(--spacing-2) 0;
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-semibold);
}
.app-desc[data-v-130fc785] {
  margin: 0 0 var(--spacing-3) 0;
  font-size: 13px;
  color: var(--text-color-secondary);
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.app-meta[data-v-130fc785] {
  display: flex;
  gap: var(--spacing-4);
  margin-bottom: var(--spacing-3);
  font-size: 12px;
  color: var(--text-color-secondary);
}
.app-tags[data-v-130fc785] {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-2);
}
.app-footer[data-v-130fc785] {
  padding: var(--spacing-4) var(--spacing-6) var(--spacing-6);
  display: flex;
  gap: var(--spacing-2);
}
.apps-grid-section[data-v-130fc785] {
  margin-top: var(--spacing-6);
}
.section-header[data-v-130fc785] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--spacing-4);
}
.section-actions[data-v-130fc785] {
  display: flex;
  gap: var(--spacing-2);
}
.app-card[data-v-130fc785] {
  background: white;
  border-radius: var(--radius-xl);
  padding: var(--spacing-5);
  box-shadow: var(--shadow-sm);
  transition: all var(--duration-base) var(--easing-ease-out);
  border: 1px solid transparent;
}
.app-card[data-v-130fc785]:hover {
  box-shadow: var(--shadow-lg);
  border-color: rgba(24, 144, 255, 0.1);
  transform: translateY(-3px);
}
.app-icon-wrapper[data-v-130fc785] {
  height: 48px;
  padding: 0 16px;
  border-radius: var(--radius-xl);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: var(--spacing-3);
  font-size: 20px;
  color: white;
}
.app-icon-wrapper h4[data-v-130fc785] {
  margin-left: 8px;
  margin-bottom: 0;
  font-size: 18px;
  color: white;
}
.app-info h4[data-v-130fc785] {
  margin: 0 0 var(--spacing-2) 0;
  font-size: 15px;
  font-weight: var(--font-weight-semibold);
}
.app-info .app-desc[data-v-130fc785] {
  margin: 0 0 var(--spacing-3) 0;
  font-size: 12px;
  color: var(--text-color-secondary);
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.app-info .app-meta[data-v-130fc785] {
  margin-bottom: var(--spacing-2);
}
.app-card .app-footer[data-v-130fc785] {
  display: flex;
  gap: var(--spacing-2);
  margin-top: var(--spacing-3);
  padding: 0;
}
.favorite-btn-small[data-v-130fc785] {
  flex: 1;
  background: #f5f7fa !important;
  border: none !important;
  color: var(--text-color-primary) !important;
}
.favorite-btn-small[data-v-130fc785]:hover {
  background: #e8eaed !important;
}
.favorite-btn-small.ant-btn-primary[data-v-130fc785] {
  background: var(--primary-color) !important;
  color: white !important;
}
.favorite-btn-small.ant-btn-primary[data-v-130fc785]:hover {
  background: var(--primary-color-dark) !important;
}
.list-app-info[data-v-130fc785] {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
  cursor: pointer;
}
.list-app-icon[data-v-130fc785] {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--font-size-md);
  color: white;
}
.list-app-name[data-v-130fc785] {
  font-size: var(--font-size-base);
  font-weight: 500;
}
.list-app-desc[data-v-130fc785] {
  font-size: 12px;
  color: var(--text-color-secondary);
}
.install-modal-content[data-v-130fc785] {
  padding: var(--spacing-2) 0;
}
.install-app-header[data-v-130fc785] {
  display: flex;
  align-items: center;
  gap: var(--spacing-4);
}
.install-app-icon[data-v-130fc785] {
  width: 64px;
  height: 64px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  color: white;
}
.install-app-info h3[data-v-130fc785] {
  margin: 0 0 var(--spacing-2) 0;
  font-size: 18px;
  font-weight: var(--font-weight-semibold);
}
.install-app-info p[data-v-130fc785] {
  margin: 0;
  font-size: var(--font-size-base);
  color: var(--text-color-secondary);
}
.install-app-details[data-v-130fc785] {
  margin-top: var(--spacing-4);
}
.detail-row[data-v-130fc785] {
  display: flex;
  justify-content: space-between;
  padding: var(--spacing-2) 0;
}
.detail-row .label[data-v-130fc785] {
  color: var(--text-color-secondary);
}
.detail-row .value[data-v-130fc785] {
  font-weight: 500;
}
.install-warning[data-v-130fc785] {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  padding: var(--spacing-3);
  background: var(--warning-bg-color);
  border-radius: var(--radius-lg);
  margin-top: var(--spacing-4);
  font-size: 13px;
  color: var(--warning-color);
}
/* ==================== 响应式样式 - 平板 ==================== */
@media (max-width: 992px) {
.app-center-page[data-v-130fc785] {
    padding: var(--spacing-4);
}
.app-center-header[data-v-130fc785] {
    padding: var(--spacing-5) var(--spacing-5);
}
.header-left h1[data-v-130fc785] {
    font-size: 22px;
}
.subtitle[data-v-130fc785] {
    font-size: 13px;
}
}
/* ==================== 响应式样式 - 手机 ==================== */
@media (max-width: 768px) {
.app-center-page[data-v-130fc785] {
    padding: var(--spacing-3);
}
.app-center-header[data-v-130fc785] {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--spacing-4);
    padding: var(--spacing-4);
}
.header-left h1[data-v-130fc785] {
    font-size: 20px;
}
.subtitle[data-v-130fc785] {
    font-size: 12px;
}
.header-right[data-v-130fc785] {
    width: 100%;
    flex-direction: column;
    gap: var(--spacing-2-5);
}
.header-right .ant-input-search[data-v-130fc785] {
    width: 100% !important;
}
.header-right .ant-btn[data-v-130fc785] {
    width: 100%;
    justify-content: center;
}
.geo-circle--1[data-v-130fc785] {
    width: 200px;
    height: 200px;
    top: -80px;
    right: -50px;
}
.geo-circle--2[data-v-130fc785] {
    width: 120px;
    height: 120px;
    bottom: -40px;
    left: 5%;
}
.category-filter[data-v-130fc785] .ant-radio-group {
    display: flex;
    flex-wrap: wrap;
}
.category-filter[data-v-130fc785] .ant-radio-button-wrapper {
    margin-bottom: var(--spacing-2);
}
.section-title[data-v-130fc785] {
    font-size: var(--font-size-md);
}
.app-header[data-v-130fc785] {
    padding: var(--spacing-5) var(--spacing-4);
}
.app-header .app-icon[data-v-130fc785] {
    width: 56px;
    height: 56px;
    font-size: 24px;
}
.featured-tag[data-v-130fc785] {
    left: 84px;
    font-size: 11px;
    padding: var(--spacing-0-5) var(--spacing-2);
}
.app-body[data-v-130fc785] {
    padding: var(--spacing-3-5) var(--spacing-4);
}
.app-body h4[data-v-130fc785] {
    font-size: 15px;
}
.app-desc[data-v-130fc785] {
    font-size: 12px;
}
.app-footer[data-v-130fc785] {
    padding: var(--spacing-3-5) var(--spacing-4) var(--spacing-5);
}
.app-footer .ant-btn[data-v-130fc785] {
    width: 100%;
}
.app-icon-wrapper[data-v-130fc785] {
    height: 44px;
    font-size: 18px;
}
.app-info h4[data-v-130fc785] {
    font-size: var(--font-size-base);
}
.app-info .app-desc[data-v-130fc785] {
    font-size: 11px;
}
.app-card .app-footer[data-v-130fc785] {
    padding: 0;
    margin-top: var(--spacing-2-5);
}
.app-card .app-footer .ant-btn[data-v-130fc785] {
    flex: 1;
    font-size: 12px;
}
.list-app-info[data-v-130fc785] {
    gap: var(--spacing-2-5);
}
.list-app-icon[data-v-130fc785] {
    width: 36px;
    height: 36px;
    font-size: var(--font-size-base);
}
.list-app-name[data-v-130fc785] {
    font-size: 13px;
}
.list-app-desc[data-v-130fc785] {
    font-size: 11px;
}
}
/* ==================== 响应式样式 - 小屏手机 ==================== */
@media (max-width: 575px) {
.app-center-header[data-v-130fc785] {
    padding: var(--spacing-3-5);
}
.header-left h1[data-v-130fc785] {
    font-size: 18px;
}
.featured-tag[data-v-130fc785] {
    display: none;
}
.app-header .app-icon[data-v-130fc785] {
    width: 40px;
    height: 40px;
    font-size: 18px;
}
.app-body h4[data-v-130fc785] {
    font-size: var(--font-size-base);
}
.app-meta[data-v-130fc785] {
    gap: var(--spacing-2-5);
    font-size: 11px;
}
.app-tags[data-v-130fc785] .ant-tag {
    font-size: 11px;
    padding: var(--spacing-0-5) var(--spacing-2);
}
}
/* ==================== 移动端触摸目标优化 ==================== */
@media (max-width: 768px) {
  /* 确保所有按钮触摸目标至少44px */
.app-footer .ant-btn[data-v-130fc785],
  .app-card .app-footer .ant-btn[data-v-130fc785],
  .header-right .ant-btn[data-v-130fc785],
  .section-actions .ant-btn[data-v-130fc785] {
    min-height: 36px;
    min-width: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    padding: 10px 16px;
}
.section-actions .ant-btn svg[data-v-130fc785],
  .section-actions .ant-btn i[data-v-130fc785] {
    display: inline-block;
    line-height: 16px;
}
.favorite-btn[data-v-130fc785] {
    width: 44px;
    height: 36px;
    min-width: 44px;
    min-height: 36px;
}
.favorite-btn-small[data-v-130fc785] {
    min-height: 36px;
    min-width: 44px;
}
  /* 模态框全屏显示 */
[data-v-130fc785] .ant-modal {
    max-width: 100vw !important;
    margin: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 100vh !important;
}
[data-v-130fc785] .ant-modal-content {
    border-radius: 0 !important;
    display: flex;
    flex-direction: column;
}
[data-v-130fc785] .ant-modal-body {
    flex: 1;
    overflow-y: auto;
    padding: 16px !important;
}
[data-v-130fc785] .ant-modal-footer {
    padding: 12px 16px !important;
    border-top: 1px solid #f0f0f0;
}
[data-v-130fc785] .ant-modal-header {
    padding: 16px !important;
}
  /* 移动端应用卡片样式 */
.mobile-app-card[data-v-130fc785] {
    background: white;
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    border: 1px solid var(--color-border-light);
}
.mobile-app-card-header[data-v-130fc785] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}
.mobile-app-icon[data-v-130fc785] {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: white;
    flex-shrink: 0;
}
.mobile-app-info[data-v-130fc785] {
    flex: 1;
    min-width: 0;
}
.mobile-app-name[data-v-130fc785] {
    font-size: 15px;
    font-weight: 600;
    color: var(--color-text);
    margin-bottom: 4px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mobile-app-desc[data-v-130fc785] {
    font-size: 12px;
    color: var(--color-text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mobile-app-status[data-v-130fc785] {
    flex-shrink: 0;
}
.mobile-app-card-meta[data-v-130fc785] {
    display: flex;
    gap: 16px;
    font-size: 12px;
    color: var(--color-text-tertiary, #bfbfbf);
    margin-bottom: 8px;
}
.mobile-app-card-tags[data-v-130fc785] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 12px;
}
.mobile-app-card-tags[data-v-130fc785] .ant-tag {
    font-size: 11px;
    padding: 0 6px;
    line-height: 20px;
    border-radius: 4px;
    margin: 0;
}
.mobile-app-card-actions[data-v-130fc785] {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
}
.mobile-action-btn[data-v-130fc785] {
    min-width: 44px;
    min-height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.mobile-install-btn[data-v-130fc785] {
    min-height: 36px;
    padding: 0 16px;
    display: flex;
    align-items: center;
    gap: 6px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.mobile-app-card[data-v-130fc785] {
    padding: 12px;
}
}
.my-apps-page[data-v-2fd5cd5a] {
  padding: var(--spacing-4);
  background: var(--color-bg-layout);
  min-height: 100%;
}
/* ===== Hero Section - matching Index.vue ===== */
.hero-bg-decoration[data-v-2fd5cd5a] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-2fd5cd5a] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-2fd5cd5a] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-2fd5cd5a] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-2fd5cd5a] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-2fd5cd5a] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-2fd5cd5a] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-2fd5cd5a] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-2fd5cd5a] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-2fd5cd5a] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-2fd5cd5a] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-2fd5cd5a] {
  flex: 1;
}
.hero-badge[data-v-2fd5cd5a] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 255, 255, 0.15);
  border-radius: 20px;
  padding: 4px 14px;
  font-size: 13px;
  margin-bottom: 12px;
  backdrop-filter: blur(4px);
}
.hero-title[data-v-2fd5cd5a] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
}
.hero-desc[data-v-2fd5cd5a] {
  margin: 0;
  font-size: 14px;
  opacity: 0.85;
  max-width: 500px;
}
.hero-right[data-v-2fd5cd5a] {
  flex-shrink: 0;
}
.hero-search[data-v-2fd5cd5a] {
  width: 280px;
}
.hero-search[data-v-2fd5cd5a] .ant-input-search {
  border-radius: 10px;
}
.hero-search[data-v-2fd5cd5a] .ant-input {
  border-radius: 10px;
}
/* ===== Filter bar ===== */
.filter-bar[data-v-2fd5cd5a] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: var(--spacing-3);
  flex-wrap: wrap;
  background: #fff;
  padding: 12px 16px;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.filter-bar[data-v-2fd5cd5a] .ant-radio-group {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.filter-bar[data-v-2fd5cd5a] .ant-radio-button-wrapper {
  border-radius: 16px !important;
  border: 1px solid #d9d9d9 !important;
  padding: 4px 16px;
  height: auto;
  line-height: 22px;
  font-size: 13px;
  transition: all 0.3s;
}
.filter-bar[data-v-2fd5cd5a] .ant-radio-button-wrapper:not(:first-child)::before {
  display: none;
}
.filter-bar[data-v-2fd5cd5a] .ant-radio-button-wrapper-checked {
  background: #1677ff !important;
  border-color: #1677ff !important;
  color: #fff !important;
  box-shadow: 0 2px 4px rgba(22, 119, 255, 0.3);
}
.filter-bar[data-v-2fd5cd5a] .ant-radio-button-wrapper:hover:not(.ant-radio-button-wrapper-checked) {
  border-color: #1677ff !important;
  color: #1677ff;
}
/* ===== Status tabs ===== */
.status-tabs[data-v-2fd5cd5a] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  padding: 8px 12px;
  background: var(--color-bg-container, #fff);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
}
.batch-btn[data-v-2fd5cd5a] {
  margin-left: 16px;
}
/* ===== App cards grid ===== */
.apps-grid[data-v-2fd5cd5a] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: var(--spacing-4);
}
.app-card[data-v-2fd5cd5a] {
  background: var(--color-neutral-0);
  border-radius: var(--radius-xl);
  border: 1px solid var(--color-border-light);
  overflow: hidden;
  transition: all 0.3s;
  cursor: pointer;
  display: flex;
  flex-direction: column;
}
.app-card[data-v-2fd5cd5a]:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}
.app-card-banner[data-v-2fd5cd5a] {
  height: 8px;
  flex-shrink: 0;
}
.app-card-body[data-v-2fd5cd5a] {
  padding: var(--spacing-4);
  display: flex;
  flex-direction: column;
  flex: 1;
}
.app-card-header[data-v-2fd5cd5a] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: var(--spacing-3);
}
.app-card-icon[data-v-2fd5cd5a] {
  width: 48px;
  height: 48px;
  border-radius: var(--radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  color: white;
  margin-bottom: 0;
}
.app-card-icon-inner[data-v-2fd5cd5a] {
  font-size: 26px;
  color: #fff;
}
.app-card-badges[data-v-2fd5cd5a] {
  display: flex;
  gap: 4px;
}
.app-card-info[data-v-2fd5cd5a] {
  flex: 1;
  margin-bottom: var(--spacing-3);
}
.app-card-name[data-v-2fd5cd5a] {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-text-primary);
  margin-bottom: var(--spacing-1);
  line-height: 1.3;
}
.app-card-desc[data-v-2fd5cd5a] {
  font-size: 13px;
  color: var(--color-text-tertiary);
  line-height: 1.5;
  margin-bottom: 0;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.app-card-meta[data-v-2fd5cd5a] {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
  padding: var(--spacing-3) 0;
  border-top: 1px solid var(--color-border-light);
  margin-bottom: var(--spacing-3);
}
.app-card-stat[data-v-2fd5cd5a] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: var(--color-text-tertiary);
  padding: var(--spacing-3);
}
.app-card-stat[data-v-2fd5cd5a] .anticon {
  color: var(--color-text-quaternary);
}
.app-card-stat-value[data-v-2fd5cd5a] {
  font-weight: 600;
  color: var(--color-text-secondary);
}
.app-card-stat-label[data-v-2fd5cd5a] {
  color: var(--color-text-quaternary);
}
.app-card-footer[data-v-2fd5cd5a] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: auto;
}
.app-card-access[data-v-2fd5cd5a] {
  font-size: 12px;
  color: var(--color-text-quaternary);
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
/* ===== Empty state ===== */
.empty-state[data-v-2fd5cd5a] {
  text-align: center;
  padding: 80px var(--spacing-4);
}
.empty-state-icon[data-v-2fd5cd5a] {
  font-size: 64px;
  color: var(--color-border);
  margin-bottom: var(--spacing-4);
}
.empty-state-title[data-v-2fd5cd5a] {
  font-size: 18px;
  color: var(--color-text-secondary);
  margin-bottom: var(--spacing-2);
}
.empty-state-desc[data-v-2fd5cd5a] {
  font-size: 14px;
  color: var(--color-text-quaternary);
}
/* ===== Responsive ===== */
@media (max-width: 991px) {
.hero-content[data-v-2fd5cd5a] {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--spacing-4);
}
.hero-search[data-v-2fd5cd5a] {
    width: 100%;
}
.apps-grid[data-v-2fd5cd5a] {
    grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 575px) {
.hero-title[data-v-2fd5cd5a] {
    font-size: 20px;
}
.apps-grid[data-v-2fd5cd5a] {
    grid-template-columns: 1fr;
}
.app-card-body[data-v-2fd5cd5a] {
    padding: var(--spacing-3);
}
.app-card-icon[data-v-2fd5cd5a] {
    width: 44px;
    height: 44px;
    border-radius: 10px;
}
.app-card-footer[data-v-2fd5cd5a] {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--spacing-2);
}
.filter-bar[data-v-2fd5cd5a] {
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
}
.filter-bar[data-v-2fd5cd5a] .ant-radio-group {
    display: inline-flex;
    flex-wrap: nowrap;
}
}
.stats-chart-card[data-v-082ead16] {
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease;
}
.stats-chart-card[data-v-082ead16]:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}
.chart-title[data-v-082ead16] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.chart-container[data-v-082ead16] {
  width: 100%;
  height: 300px;
}
@media (max-width: 768px) {
.chart-title[data-v-082ead16] {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}
.chart-container[data-v-082ead16] {
    height: 240px;
}
}
@media (max-width: 575px) {
.chart-container[data-v-082ead16] {
    height: 200px;
}
.chart-title[data-v-082ead16] .ant-radio-group {
    flex-wrap: wrap;
}
.chart-title[data-v-082ead16] .ant-radio-button-wrapper {
    padding: 0 8px;
    font-size: 12px;
}
}
.quick-access-card[data-v-1b02cbdd] {
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease;
}
.quick-access-card[data-v-1b02cbdd]:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}
.card-title[data-v-1b02cbdd] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
}
.favorite-apps[data-v-1b02cbdd] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.favorite-app-item[data-v-1b02cbdd] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
}
.favorite-app-item[data-v-1b02cbdd]:hover {
  background: var(--color-bg-layout);
  transform: translateX(4px);
}
.app-icon-wrapper[data-v-1b02cbdd] {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 18px;
  flex-shrink: 0;
}
.app-info-wrapper[data-v-1b02cbdd] {
  flex: 1;
  min-width: 0;
}
.app-name[data-v-1b02cbdd] {
  font-weight: 500;
  color: #1a1a1a;
  margin-bottom: 4px;
}
.app-meta-info[data-v-1b02cbdd] {
  font-size: 12px;
  color: #8c8c8c;
}
.separator[data-v-1b02cbdd] {
  margin: 0 4px;
}
.favorite-btn[data-v-1b02cbdd] {
  color: #faad14;
}
.section-subtitle[data-v-1b02cbdd] {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #595959;
  font-size: 14px;
  margin-bottom: 12px;
}
.recent-apps[data-v-1b02cbdd] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.recent-app-tag[data-v-1b02cbdd] {
  cursor: pointer;
  transition: all 0.3s ease;
  padding: 4px 12px;
}
.recent-app-tag[data-v-1b02cbdd]:hover {
  transform: translateY(-2px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
@media (max-width: 768px) {
.favorite-app-item[data-v-1b02cbdd] {
    padding: 8px;
    gap: 8px;
}
.app-icon-wrapper[data-v-1b02cbdd] {
    width: 36px;
    height: 36px;
    font-size: 16px;
    border-radius: 8px;
}
.app-name[data-v-1b02cbdd] {
    font-size: 13px;
}
.app-meta-info[data-v-1b02cbdd] {
    font-size: 11px;
}
.section-subtitle[data-v-1b02cbdd] {
    font-size: 13px;
}
.recent-apps[data-v-1b02cbdd] {
    gap: 6px;
}
.recent-app-tag[data-v-1b02cbdd] {
    padding: 2px 8px;
    font-size: 12px;
}
}
@media (max-width: 575px) {
.favorite-app-item[data-v-1b02cbdd] {
    padding: 6px;
    gap: 6px;
}
.app-icon-wrapper[data-v-1b02cbdd] {
    width: 32px;
    height: 32px;
    font-size: 14px;
    border-radius: 6px;
}
.app-name[data-v-1b02cbdd] {
    font-size: 12px;
    margin-bottom: 2px;
}
.app-meta-info[data-v-1b02cbdd] {
    font-size: 10px;
}
.favorite-app-item[data-v-1b02cbdd]:hover {
    transform: none;
}
.section-subtitle[data-v-1b02cbdd] {
    font-size: 12px;
    margin-bottom: 8px;
}
.recent-app-tag[data-v-1b02cbdd] {
    padding: 2px 6px;
    font-size: 11px;
}
.recent-app-tag[data-v-1b02cbdd]:hover {
    transform: none;
}
}
/* ===========================
   应用分析页面 — 参考首页风格
   =========================== */
/* 页面容器 */
.apps-dashboard[data-v-fe873f73] {
  padding: var(--spacing-4);
  background: var(--color-bg-layout);
}
/* ===== 头部区域 — 蓝色渐变 Hero（参考首页） ===== */
.hero-bg-decoration[data-v-fe873f73] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-fe873f73] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-fe873f73] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-fe873f73] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-fe873f73] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-fe873f73] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-fe873f73] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-fe873f73] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-fe873f73] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-fe873f73] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-fe873f73] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-fe873f73] {
  flex: 1;
}
.hero-badge[data-v-fe873f73] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 255, 255, 0.15);
  border-radius: 20px;
  padding: 4px 14px;
  font-size: 13px;
  margin-bottom: 12px;
  backdrop-filter: blur(4px);
}
.hero-title[data-v-fe873f73] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
  letter-spacing: 0.5px;
}
.hero-desc[data-v-fe873f73] {
  margin: 0;
  font-size: 14px;
  opacity: 0.85;
  max-width: 500px;
}
.hero-right[data-v-fe873f73] {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
  flex-shrink: 0;
}
.hero-right[data-v-fe873f73] .ant-input-search {
  width: 260px;
}
.hero-right[data-v-fe873f73] .ant-input {
  border-radius: 10px;
}
.hero-right[data-v-fe873f73] .ant-select {
  width: 140px;
}
.hero-right[data-v-fe873f73] .ant-btn-group .ant-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.85);
  min-width: 36px;
  min-height: 36px;
}
.hero-right[data-v-fe873f73] .ant-btn-group .ant-btn svg {
  display: inline-block;
  font-size: 16px;
  color: inherit;
  width: 16px;
  height: 16px;
}
/* 视图切换按钮组 */
.hero-right[data-v-fe873f73] .view-toggle {
  display: inline-flex;
}
.hero-right[data-v-fe873f73] .view-toggle .ant-radio-button-wrapper {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
}
.hero-right[data-v-fe873f73] .view-toggle .ant-radio-button-wrapper svg,
.hero-right[data-v-fe873f73] .view-toggle .ant-radio-button-wrapper i {
  display: inline-flex;
  visibility: visible !important;
}
.search-input[data-v-fe873f73] .ant-input-search-button {
  border-radius: 0 var(--radius-lg) var(--radius-lg) 0;
}
.search-input[data-v-fe873f73] .ant-input {
  border-radius: var(--radius-lg) 0 0 var(--radius-lg);
}
.sort-select[data-v-fe873f73] {
  width: 140px;
}
.category-select[data-v-fe873f73] {
  width: 100%;
}
/* ===== 统计卡片行 ===== */
.stats-row[data-v-fe873f73] {
  margin-bottom: var(--spacing-3);
  display: flex;
  align-items: stretch;
}
.stats-row[data-v-fe873f73] .ant-col {
  display: flex;
}
.stat-card[data-v-fe873f73] {
  border-radius: var(--radius-xl);
  border: 1px solid var(--color-border-light);
  box-shadow: var(--shadow-sm);
  transition: all var(--duration-base) var(--easing-ease-out);
  cursor: pointer;
  margin-bottom: 0;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(245, 247, 250, 0.95) 100%);
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
  display: flex;
}
.stat-card[data-v-fe873f73]::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(59, 130, 246, 0.05), transparent);
  transition: left 0.6s ease;
  z-index: 0;
}
.stat-card[data-v-fe873f73]:hover::before {
  left: 100%;
}
.stat-card[data-v-fe873f73]:hover {
  box-shadow: var(--shadow-lg);
  transform: translateY(-2px);
  border-color: var(--color-primary-200);
}
.stat-card[data-v-fe873f73] .ant-card-body {
  padding: var(--spacing-3);
  position: relative;
  z-index: 1;
}
.stat-content[data-v-fe873f73] {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
  position: relative;
  z-index: 1;
  flex: 1;
  min-width: 0;
}
.stat-icon[data-v-fe873f73] {
  width: 48px;
  height: 48px;
  border-radius: var(--radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-neutral-0);
  font-size: var(--icon-size-lg);
  flex-shrink: 0;
  transition: all var(--duration-base) var(--easing-ease-out);
}
.stat-card:hover .stat-icon[data-v-fe873f73] {
  transform: scale(1.05);
}
/* 图标颜色变体 */
.stat-icon-purple[data-v-fe873f73] {
  background: linear-gradient(135deg, #8b5cf6 0%, #a78bfa 100%);
  box-shadow: 0 4px 14px rgba(139, 92, 246, 0.3);
}
.stat-icon-success[data-v-fe873f73] {
  background: linear-gradient(135deg, var(--color-success-500) 0%, var(--color-success-400) 100%);
  box-shadow: var(--shadow-colored-success);
}
.stat-icon-warning[data-v-fe873f73] {
  background: linear-gradient(135deg, var(--color-warning-500) 0%, var(--color-warning-400) 100%);
  box-shadow: var(--shadow-colored-warning);
}
.stat-icon-danger[data-v-fe873f73] {
  background: linear-gradient(135deg, var(--color-error-500) 0%, var(--color-error-400) 100%);
  box-shadow: var(--shadow-colored-error);
}
.stat-info[data-v-fe873f73] {
  flex: 1;
  min-width: 0;
}
.stat-value[data-v-fe873f73] {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
  line-height: var(--line-height-tight);
}
.stat-label[data-v-fe873f73] {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  margin-top: var(--spacing-0-5);
}
.stat-trend[data-v-fe873f73] {
  display: flex;
  align-items: center;
  gap: var(--spacing-0-5);
  margin-top: var(--spacing-0-5);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
}
.stat-trend.up[data-v-fe873f73] {
  color: var(--color-success-600);
}
.stat-trend.down[data-v-fe873f73] {
  color: var(--color-error-600);
}
/* ===== 主内容区 ===== */
.main-content[data-v-fe873f73] {
  margin-top: var(--spacing-2);
}
/* ===== 筛选栏 ===== */
.filter-bar[data-v-fe873f73] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--spacing-3);
  flex-wrap: wrap;
  gap: var(--spacing-4);
}
.category-tabs[data-v-fe873f73] {
  flex: 1;
  background: #fff;
  padding: 8px 12px;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.category-tabs[data-v-fe873f73] .ant-radio-group {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.category-tabs[data-v-fe873f73] .ant-radio-button-wrapper {
  border-radius: 16px !important;
  border: 1px solid #d9d9d9 !important;
  padding: 4px 16px;
  height: auto;
  line-height: 22px;
  font-size: 13px;
  transition: all 0.3s;
}
.category-tabs[data-v-fe873f73] .ant-radio-button-wrapper:not(:first-child)::before {
  display: none;
}
.category-tabs[data-v-fe873f73] .ant-radio-button-wrapper-checked {
  background: #1677ff !important;
  border-color: #1677ff !important;
  color: #fff !important;
  box-shadow: 0 2px 4px rgba(22, 119, 255, 0.3);
}
.category-tabs[data-v-fe873f73] .ant-radio-button-wrapper:hover:not(.ant-radio-button-wrapper-checked) {
  border-color: #1677ff !important;
  color: #1677ff;
}
.status-filter[data-v-fe873f73] {
  flex-shrink: 0;
  background: #fff;
  padding: 8px 12px;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.status-filter[data-v-fe873f73] .ant-radio-group {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.status-filter[data-v-fe873f73] .ant-radio-button-wrapper {
  border-radius: 16px !important;
  border: 1px solid #d9d9d9 !important;
  padding: 4px 16px;
  height: auto;
  line-height: 22px;
  font-size: 13px;
  transition: all 0.3s;
}
.status-filter[data-v-fe873f73] .ant-radio-button-wrapper:not(:first-child)::before {
  display: none;
}
.status-filter[data-v-fe873f73] .ant-radio-button-wrapper-checked {
  background: #1677ff !important;
  border-color: #1677ff !important;
  color: #fff !important;
  box-shadow: 0 2px 4px rgba(22, 119, 255, 0.3);
}
.status-filter[data-v-fe873f73] .ant-radio-button-wrapper:hover:not(.ant-radio-button-wrapper-checked) {
  border-color: #1677ff !important;
  color: #1677ff;
}
/* ===== 应用卡片容器 ===== */
.apps-container[data-v-fe873f73] {
  margin-bottom: var(--spacing-3);
}
/* ===== 应用卡片 ===== */
.app-card[data-v-fe873f73] {
  border-radius: var(--radius-xl);
  border: 1px solid var(--color-border-light);
  box-shadow: var(--shadow-sm);
  transition: all var(--duration-base) var(--easing-ease-out);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(245, 247, 250, 0.95) 100%);
  position: relative;
  overflow: hidden;
}
.app-card[data-v-fe873f73]::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(59, 130, 246, 0.03), transparent);
  transition: left 0.6s ease;
  z-index: 0;
}
.app-card[data-v-fe873f73]:hover::before {
  left: 100%;
}
.app-card[data-v-fe873f73]:hover {
  box-shadow: var(--shadow-lg);
  transform: translateY(-2px);
  border-color: var(--color-primary-200);
}
.app-card[data-v-fe873f73] .ant-card-body {
  padding: 0;
  position: relative;
  z-index: 1;
}
.app-card-header[data-v-fe873f73] {
  position: relative;
  padding: var(--spacing-5) var(--spacing-5) 0;
}
.app-icon[data-v-fe873f73] {
  width: 48px;
  height: 48px;
  border-radius: var(--radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-neutral-0);
  font-size: var(--icon-size-lg);
}
.favorite-button[data-v-fe873f73] {
  position: absolute;
  top: var(--spacing-4);
  right: var(--spacing-4);
  color: var(--color-warning-500);
}
.app-info[data-v-fe873f73] {
  padding: var(--spacing-4) var(--spacing-5) 0;
}
.app-name[data-v-fe873f73] {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  margin-bottom: var(--spacing-2);
}
.status-tag[data-v-fe873f73] {
  font-size: var(--font-size-xs);
  padding: var(--spacing-0-5) var(--spacing-2);
  border-radius: var(--radius-base);
}
.app-description[data-v-fe873f73] {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  margin: 0 0 var(--spacing-3);
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  /* 固定两行高度：行高 1.5 * 字号 14px * 2行 = 42px */
  height: 42px;
  line-height: 1.5;
}
.app-meta[data-v-fe873f73] {
  display: flex;
  gap: var(--spacing-4);
  font-size: var(--font-size-xs);
  color: var(--color-text-tertiary);
  margin-bottom: var(--spacing-2);
}
.app-meta span[data-v-fe873f73] {
  display: flex;
  align-items: center;
  gap: var(--spacing-1);
}
.app-stats[data-v-fe873f73] {
  display: flex;
  gap: var(--spacing-4);
  font-size: var(--font-size-xs);
  color: var(--color-text-tertiary);
  margin-bottom: var(--spacing-4);
}
.app-stats span[data-v-fe873f73] {
  display: flex;
  align-items: center;
  gap: var(--spacing-1);
}
.app-actions[data-v-fe873f73] {
  display: flex;
  justify-content: flex-end;
  gap: var(--spacing-1);
  padding: var(--spacing-3) var(--spacing-5);
  border-top: 1px solid var(--color-border-light);
}
/* ===== 图表区域 ===== */
.chart-section[data-v-fe873f73] {
  margin-top: 0;
}
/* ===== 表格视图 ===== */
.apps-table[data-v-fe873f73] {
  background: var(--color-neutral-0);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}
.table-app-name[data-v-fe873f73] {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
}
.mini-icon[data-v-fe873f73] {
  width: var(--spacing-8);
  height: var(--spacing-8);
  border-radius: var(--radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-neutral-0);
  font-size: var(--font-size-base);
}
.table-tag[data-v-fe873f73] {
  font-size: var(--font-size-xs);
  padding: var(--spacing-0-5) var(--spacing-2);
  border-radius: var(--radius-base);
  margin-left: var(--spacing-2);
}
/* ===== 排行榜区域 ===== */
.leaderboard-section[data-v-fe873f73] {
  margin-top: var(--spacing-4);
  background: var(--color-neutral-0);
  border-radius: var(--radius-xl);
  border: 1px solid var(--color-border-light);
  box-shadow: var(--shadow-sm);
  padding: var(--spacing-5);
}
.leaderboard-section .section-header[data-v-fe873f73] {
  margin-bottom: var(--spacing-4);
}
.leaderboard-section .section-header h2[data-v-fe873f73] {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
  margin: 0 0 var(--spacing-1);
}
.leaderboard-section .section-header p[data-v-fe873f73] {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  margin: 0;
}
.leaderboard-section[data-v-fe873f73] .ant-radio-group {
  margin-bottom: var(--spacing-4);
}
.leaderboard-list[data-v-fe873f73] {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
}
.leaderboard-item[data-v-fe873f73] {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
  padding: var(--spacing-3) var(--spacing-4);
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(245, 247, 250, 0.95) 100%);
  border: 1px solid var(--color-border-light);
  transition: all var(--duration-base) var(--easing-ease-out);
  cursor: pointer;
}
.leaderboard-item[data-v-fe873f73]:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-1px);
  border-color: var(--color-primary-200);
}
.leaderboard-item .rank[data-v-fe873f73] {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-secondary);
  background: var(--color-neutral-100);
  flex-shrink: 0;
}
.leaderboard-item .rank.top-3[data-v-fe873f73] {
  background: linear-gradient(135deg, #ffd700 0%, #ffb800 100%);
  color: #fff;
  box-shadow: 0 2px 8px rgba(255, 184, 0, 0.35);
}
.leaderboard-item .app-icon[data-v-fe873f73] {
  width: 40px;
  height: 40px;
  border-radius: var(--radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-neutral-0);
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-bold);
  flex-shrink: 0;
}
.leaderboard-item .app-info[data-v-fe873f73] {
  flex: 1;
  min-width: 0;
}
.leaderboard-item .app-info h4[data-v-fe873f73] {
  margin: 0;
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.leaderboard-item .app-info .app-category[data-v-fe873f73] {
  font-size: var(--font-size-xs);
  color: var(--color-text-tertiary);
}
.leaderboard-item .app-metric[data-v-fe873f73] {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  color: var(--color-primary-600);
  white-space: nowrap;
  flex-shrink: 0;
}
/* ===== 响应式 ===== */
@media (max-width: 991px) {
.main-content[data-v-fe873f73] {
    flex-direction: column;
}
.hero-content[data-v-fe873f73] {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--spacing-4);
}
.hero-right[data-v-fe873f73] {
    width: 100%;
    flex-wrap: wrap;
}
.hero-right[data-v-fe873f73] .ant-input-search {
    width: 100%;
}
}
@media (max-width: 768px) {
.apps-dashboard[data-v-fe873f73] {
    padding: var(--spacing-3);
}
  /* 搜索和按钮区域 - 保持元素尺寸，只调整布局 */
.hero-right[data-v-fe873f73] {
    width: 100%;
    flex-wrap: wrap;
    gap: 12px;
}
.hero-right[data-v-fe873f73] .ant-space {
    width: 100%;
    flex-wrap: wrap;
    gap: 12px;
}
.search-input[data-v-fe873f73] {
    width: 100%;
    min-width: unset;
}
  /* 搜索框全宽显示 */
.hero-right[data-v-fe873f73] .ant-input-search {
    width: 100%;
}
  /* 视图切换按钮组 */
.hero-right[data-v-fe873f73] .view-toggle {
    display: inline-flex;
}
.hero-right[data-v-fe873f73] .view-toggle .ant-radio-button-wrapper {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
}
.hero-right[data-v-fe873f73] .view-toggle .ant-radio-button-wrapper svg,
  .hero-right[data-v-fe873f73] .view-toggle .ant-radio-button-wrapper i {
    display: inline-flex;
    visibility: visible !important;
}
  /* 筛选栏 */
.filter-bar[data-v-fe873f73] {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
}
.category-tabs[data-v-fe873f73] {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.category-tabs[data-v-fe873f73] .ant-radio-group {
    display: inline-flex;
    flex-wrap: nowrap;
}
.category-tabs[data-v-fe873f73] .ant-radio-button-wrapper {
    flex-shrink: 0;
}
.status-filter[data-v-fe873f73] {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.status-filter[data-v-fe873f73] .ant-radio-group {
    display: inline-flex;
    flex-wrap: nowrap;
}
.status-filter[data-v-fe873f73] .ant-radio-button-wrapper {
    flex-shrink: 0;
}
  /* 统计卡片 - 改为2列网格 */
.stats-row[data-v-fe873f73] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}
.stats-row[data-v-fe873f73] .ant-row {
    display: contents;
}
.stats-row[data-v-fe873f73] .ant-col {
    display: block;
    width: 100%;
    max-width: 100%;
    flex: none;
}
.stat-card[data-v-fe873f73] {
    height: 100%;
    width: 100%;
}
  /* 应用卡片网格 */
.apps-grid[data-v-fe873f73] {
    grid-template-columns: 1fr;
    gap: 12px;
}
.app-card[data-v-fe873f73] .ant-card-body {
    padding: 0;
}
  /* 表格横向滚动 */
.apps-table[data-v-fe873f73] {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.apps-table[data-v-fe873f73] .ant-table-container {
    min-width: 600px;
}
.leaderboard-section[data-v-fe873f73] {
    padding: var(--spacing-4);
}
.leaderboard-item[data-v-fe873f73] {
    padding: var(--spacing-2-5) var(--spacing-3);
    gap: var(--spacing-2);
}
.leaderboard-item .rank[data-v-fe873f73] {
    width: 28px;
    height: 28px;
    font-size: var(--font-size-xs);
}
.leaderboard-item .app-icon[data-v-fe873f73] {
    width: 36px;
    height: 36px;
    font-size: var(--font-size-sm);
}
.leaderboard-item .app-info h4[data-v-fe873f73] {
    font-size: var(--font-size-sm);
}
.leaderboard-item .app-metric[data-v-fe873f73] {
    font-size: var(--font-size-xs);
}
}
@media (max-width: 575px) {
.hero-title[data-v-fe873f73] {
    font-size: 20px;
}
.app-icon[data-v-fe873f73] {
    width: 36px;
    height: 36px;
    font-size: 16px;
}
.stat-icon[data-v-fe873f73] {
    width: 32px;
    height: 32px;
    min-width: 32px;
    border-radius: 8px;
    font-size: 13px;
}
.stat-value[data-v-fe873f73] {
    font-size: 16px;
}
.stat-label[data-v-fe873f73] {
    font-size: 10px;
}
.leaderboard-section[data-v-fe873f73] {
    padding: var(--spacing-3);
}
.leaderboard-item[data-v-fe873f73] {
    padding: var(--spacing-2);
    gap: var(--spacing-2);
}
.leaderboard-item .rank[data-v-fe873f73] {
    width: 24px;
    height: 24px;
    font-size: 11px;
}
.leaderboard-item .app-icon[data-v-fe873f73] {
    width: 32px;
    height: 32px;
    font-size: var(--font-size-xs);
}
.leaderboard-item .app-info h4[data-v-fe873f73] {
    font-size: var(--font-size-xs);
}
.leaderboard-item .app-category[data-v-fe873f73] {
    display: none;
}
.leaderboard-item .app-metric[data-v-fe873f73] {
    font-size: 11px;
}
}
/* ===== Mobile Card List ===== */
.mobile-card-list[data-v-fe873f73] {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-3);
  margin-bottom: var(--spacing-4);
}
.mobile-card[data-v-fe873f73] {
  background: var(--color-neutral-0);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-lg);
  padding: var(--spacing-3);
  transition: all var(--duration-fast) var(--easing-default);
}
.mobile-card[data-v-fe873f73]:hover {
  border-color: var(--color-primary-200);
  box-shadow: var(--shadow-sm);
}
.mobile-card-header[data-v-fe873f73] {
  margin-bottom: var(--spacing-2);
}
.mobile-card-header .table-app-name[data-v-fe873f73] {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
}
.mobile-card-header .mini-icon[data-v-fe873f73] {
  width: var(--spacing-6);
  height: var(--spacing-6);
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-neutral-0);
  font-size: var(--font-size-sm);
}
.mobile-card-header span[data-v-fe873f73] {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mobile-card-body[data-v-fe873f73] {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
  margin-bottom: var(--spacing-2);
}
.mobile-card-item[data-v-fe873f73] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.mobile-card-label[data-v-fe873f73] {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
}
.mobile-card-value[data-v-fe873f73] {
  font-size: var(--font-size-sm);
  color: var(--color-text-primary);
}
.mobile-card-actions[data-v-fe873f73] {
  display: flex;
  justify-content: flex-end;
  gap: var(--spacing-1);
  padding-top: var(--spacing-2);
  border-top: 1px solid var(--color-border-light);
}
.application-create[data-v-174f1038] {
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
/* Hero */
.hero-bg-decoration[data-v-174f1038] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-174f1038] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-174f1038] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -40px;
}
.hero-circle--2[data-v-174f1038] {
  width: 140px;
  height: 140px;
  bottom: -50px;
  right: 240px;
}
.hero-line[data-v-174f1038] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-174f1038] {
  width: 280px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-content[data-v-174f1038] {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 16px;
}
.hero-left[data-v-174f1038] {
  flex: 1;
}
.hero-left h1[data-v-174f1038] {
  margin: 0 0 6px;
  font-size: 22px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-174f1038] {
  margin: 0;
  font-size: 13px;
  opacity: 0.85;
}
.hero-back[data-v-174f1038] {
  color: white !important;
  padding: 0;
  font-size: 14px;
}
.create-card[data-v-174f1038] {
  border-radius: 16px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.create-steps[data-v-174f1038] {
  margin-bottom: 32px;
}
.create-form[data-v-174f1038] {
  max-width: 880px;
  margin: 0 auto;
}
.step-content[data-v-174f1038] {
  min-height: 320px;
  padding: 16px 0;
}
.form-actions[data-v-174f1038] {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-top: 32px;
  padding-top: 16px;
  border-top: 1px solid var(--color-border-light, #f0f0f0);
}
@media (max-width: 768px) {
.application-create[data-v-174f1038] {
    padding: 12px;
}
.form-actions[data-v-174f1038] {
    flex-direction: column;
    gap: 12px;
}
.form-actions .ant-btn[data-v-174f1038] {
    width: 100%;
}
}
.application-edit-page[data-v-60c3bd4a] {
  background: #f5f5f5 !important;
  padding: 16px 16px 80px !important;
}
/* highlights-panel 样式 */
.highlights-panel[data-v-60c3bd4a] {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 100%) !important;
  padding: 24px !important;
  color: #fff !important;
  position: relative;
  overflow: hidden;
}
/* 几何图形装饰 */
.highlights-bg-decoration[data-v-60c3bd4a] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-60c3bd4a] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-60c3bd4a] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-60c3bd4a] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-60c3bd4a] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-60c3bd4a] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-60c3bd4a] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-60c3bd4a] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-60c3bd4a] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-60c3bd4a] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-60c3bd4a] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
@media (max-width: 768px) {
.highlights-panel[data-v-60c3bd4a] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-60c3bd4a] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-60c3bd4a] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-60c3bd4a] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-60c3bd4a] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-60c3bd4a] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-60c3bd4a] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-60c3bd4a] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-60c3bd4a] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-60c3bd4a] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-60c3bd4a] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-60c3bd4a] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-60c3bd4a] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
.highlights-content[data-v-60c3bd4a] {
  max-width: 1400px !important;
  margin: 0 auto !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
}
.highlights-left h2[data-v-60c3bd4a] {
  color: #fff !important;
  font-size: 24px !important;
  font-weight: 600 !important;
  margin: 0 0 8px 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}
.highlights-tag[data-v-60c3bd4a] {
  font-size: 12px !important;
  padding: 2px 8px !important;
  border-radius: 4px !important;
  color: white;
}
.highlights-meta[data-v-60c3bd4a] {
  font-size: 14px !important;
  opacity: 0.85 !important;
  margin-top: 4px !important;
}
.highlights-right[data-v-60c3bd4a] {
  display: flex !important;
  gap: 12px !important;
}
.highlights-action-btn[data-v-60c3bd4a] {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
  border-radius: 6px !important;
  padding: 8px 16px !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  transition: all 0.3s ease !important;
}
.highlights-action-btn[data-v-60c3bd4a]:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  border-color: rgba(255, 255, 255, 0.5) !important;
  color: #fff !important;
}
/* form-content 样式 */
.form-content[data-v-60c3bd4a] {
  max-width: 1400px !important;
  margin: 0 auto !important;
}
.info-section[data-v-60c3bd4a] {
  background: #fff !important;
  border-radius: 8px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
  overflow: hidden !important;
  height: 100% !important;
}
.section-header[data-v-60c3bd4a] {
  padding: 16px 20px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #262626 !important;
  border-bottom: 1px solid #f0f0f0 !important;
  background: #fafafa !important;
}
@media (max-width: 768px) {
.section-header[data-v-60c3bd4a] {
    padding: 12px;
}
.section-header .highlights-panel .highlights-bg-decoration[data-v-60c3bd4a] {
    display: none;
}
}
.section-body[data-v-60c3bd4a] {
  padding: 20px !important;
}
@media (max-width: 768px) {
.section-body[data-v-60c3bd4a] {
    padding: 12px;
}
.section-body .highlights-panel .highlights-bg-decoration[data-v-60c3bd4a] {
    display: none;
}
}
.section-body[data-v-60c3bd4a] .ant-form-item {
  margin-bottom: 16px !important;
}
.section-body[data-v-60c3bd4a] .ant-form-item:last-child {
  margin-bottom: 0 !important;
}
.section-body[data-v-60c3bd4a] .ant-form-item-label > label {
  font-size: 13px !important;
  color: #595959 !important;
}
.section-body[data-v-60c3bd4a] .ant-input,
.section-body[data-v-60c3bd4a] .ant-select,
.section-body[data-v-60c3bd4a] .ant-input-number,
.section-body[data-v-60c3bd4a] .ant-textarea {
  font-size: 14px !important;
}
/* fixed-actions 样式 */
.fixed-actions[data-v-60c3bd4a] {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  background: #fff !important;
  padding: 12px !important;
  padding-bottom: calc(16px + env(safe-area-inset-bottom)) !important;
  border-top: 1px solid #f0f0f0 !important;
  z-index: 100 !important;
  display: flex !important;
  justify-content: flex-end !important;
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06) !important;
}
.fixed-actions[data-v-60c3bd4a] .ant-btn {
  height: 40px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  border-radius: 6px !important;
  padding: 0 24px !important;
}
.fixed-actions[data-v-60c3bd4a] .ant-btn-primary {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}
/* 移动端适配 */
@media (max-width: 768px) {
.highlights-panel[data-v-60c3bd4a] {
    padding: 16px !important;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-60c3bd4a] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-60c3bd4a] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-60c3bd4a] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-60c3bd4a] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-60c3bd4a] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-60c3bd4a] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-60c3bd4a] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-60c3bd4a] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-60c3bd4a] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-60c3bd4a] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-60c3bd4a] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-60c3bd4a] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-left h2[data-v-60c3bd4a] {
    font-size: 18px !important;
}
.highlights-meta[data-v-60c3bd4a] {
    font-size: 13px !important;
}
.highlights-content[data-v-60c3bd4a] {
    flex-direction: row !important;
    gap: 12px !important;
}
.highlights-right[data-v-60c3bd4a] {
    width: auto !important;
    flex-shrink: 0 !important;
}
.highlights-action-btn[data-v-60c3bd4a] {
    width: auto !important;
    justify-content: center !important;
    min-width: 80px !important;
    min-height: 36px !important;
}
.section-header[data-v-60c3bd4a] {
    padding: 12px 16px !important;
    font-size: 14px !important;
}
.section-body[data-v-60c3bd4a] {
    padding: 16px !important;
}
.section-body[data-v-60c3bd4a] .ant-form-item-label > label {
    font-size: 12px !important;
}
.section-body[data-v-60c3bd4a] .ant-input,
  .section-body[data-v-60c3bd4a] .ant-select,
  .section-body[data-v-60c3bd4a] .ant-input-number,
  .section-body[data-v-60c3bd4a] .ant-textarea {
    font-size: 13px !important;
}
.fixed-actions[data-v-60c3bd4a] .ant-btn {
    height: 36px !important;
    font-size: 15px !important;
}
.fixed-actions[data-v-60c3bd4a] .ant-space {
    width: 100% !important;
}
.fixed-actions[data-v-60c3bd4a] .ant-space-item {
    flex: 1 !important;
}
.fixed-actions[data-v-60c3bd4a] .ant-space-item .ant-btn {
    width: 100% !important;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-60c3bd4a] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-60c3bd4a] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-60c3bd4a] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-60c3bd4a] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-60c3bd4a] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-60c3bd4a] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-60c3bd4a] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-60c3bd4a] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-60c3bd4a] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-60c3bd4a] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-60c3bd4a] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-60c3bd4a] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-60c3bd4a] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.section-header[data-v-60c3bd4a] {
    padding: 12px;
}
.section-header .highlights-panel .highlights-bg-decoration[data-v-60c3bd4a] {
    display: none;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.section-body[data-v-60c3bd4a] {
    padding: 12px;
}
.section-body .highlights-panel .highlights-bg-decoration[data-v-60c3bd4a] {
    display: none;
}
}
@media (max-width: 575px) {
.highlights-left h2[data-v-60c3bd4a] {
    font-size: 16px !important;
}
.highlights-tag[data-v-60c3bd4a] {
    font-size: 11px !important;
}
.info-section[data-v-60c3bd4a] {
    border-radius: 6px !important;
}
.section-header[data-v-60c3bd4a] {
    padding: 10px 12px !important;
    font-size: 13px !important;
}
.section-body[data-v-60c3bd4a] {
    padding: 12px !important;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.section-header[data-v-60c3bd4a] {
    padding: 12px;
}
.section-header .highlights-panel .highlights-bg-decoration[data-v-60c3bd4a] {
    display: none;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.section-body[data-v-60c3bd4a] {
    padding: 12px;
}
.section-body .highlights-panel .highlights-bg-decoration[data-v-60c3bd4a] {
    display: none;
}
}
.iframe-container[data-v-973a82b9] {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: calc(100vh - 180px);
  background: #fff;
  overflow: hidden;
}
.iframe-loading[data-v-973a82b9],
.iframe-error[data-v-973a82b9] {
  min-height: 400px;
}
.iframe-loading-overlay[data-v-973a82b9],
.iframe-error-overlay[data-v-973a82b9] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  z-index: 10;
}
.iframe-content[data-v-973a82b9] {
  width: 100%;
  height: 100%;
  border: none;
  background: #fff;
}
.iframe-content[data-v-973a82b9]:focus {
  outline: none;
}
.field-renderer[data-v-728edc75] {
  width: 100%;
}
.field-value[data-v-728edc75] {
  color: #1f1f1f;
}
.simple-richtext[data-v-728edc75] {
  width: 100%;
}
.simple-richtext .richtext-toolbar[data-v-728edc75] {
  display: flex;
  gap: 4px;
  padding: 4px 8px;
  border: 1px solid #d9d9d9;
  border-bottom: none;
  border-radius: 6px 6px 0 0;
  background: #fafafa;
}
.simple-richtext .richtext-toolbar[data-v-728edc75] .ant-btn {
  padding: 2px 6px;
  height: 24px;
}
.simple-richtext[data-v-728edc75] .ant-input {
  border-radius: 0 0 6px 6px;
}

.error-boundary.full[data-v-7dece17e] {
  padding: 48px 24px;
  background: #fff;
  border-radius: 8px;
}
.error-boundary.compact[data-v-7dece17e] {
  padding: 16px 12px;
  background: #fafafa;
  border: 1px dashed #d9d9d9;
  border-radius: 6px;
  min-height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.error-boundary.compact[data-v-7dece17e] .ant-result {
  padding: 12px 0;
}
.error-boundary.compact[data-v-7dece17e] .ant-result-title {
  font-size: 14px;
  line-height: 1.4;
}
.error-boundary.compact[data-v-7dece17e] .ant-result-subtitle {
  font-size: 12px;
  color: #999;
  line-height: 1.4;
}
.form-renderer[data-v-35ab869b] {
  background: white;
  padding: 24px;
  border-radius: 8px;
}
.form-actions[data-v-35ab869b] {
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid #f0f0f0;
  text-align: center;
}
.approval-actions[data-v-35ab869b] {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--color-border-light, #f0f0f0);
  display: flex;
  justify-content: flex-end;
}

.kanban-view[data-v-52676e4c] {
  height: 100%;
  overflow-x: auto;
  padding: 16px;
}
.kanban-board[data-v-52676e4c] {
  display: flex;
  gap: 16px;
  height: 100%;
  min-height: 0;
}
.kanban-column[data-v-52676e4c] {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  background: #f5f5f5;
  border-radius: 8px;
  max-height: 100%;
}
.kanban-column.add-column[data-v-52676e4c] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #999;
  border: 2px dashed #d9d9d9;
  transition: all 0.3s;
}
.kanban-column.add-column[data-v-52676e4c]:hover {
  color: #1890ff;
  border-color: #1890ff;
}
.column-header[data-v-52676e4c] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  font-weight: 500;
  border-bottom: 1px solid #e8e8e8;
  background: #fff;
  border-radius: 8px 8px 0 0;
}
.column-title[data-v-52676e4c] {
  font-size: 14px;
  color: rgba(0, 0, 0, 0.85);
}
.column-count[data-v-52676e4c] {
  font-size: 12px;
  color: #999;
  background: #f0f0f0;
  padding: 2px 8px;
  border-radius: 10px;
}
.column-content[data-v-52676e4c] {
  flex: 1;
  overflow-y: auto;
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.column-empty[data-v-52676e4c] {
  text-align: center;
  color: #999;
  padding: 24px;
  font-size: 13px;
}
.column-footer[data-v-52676e4c] {
  padding: 8px;
  border-top: 1px solid #e8e8e8;
}
.kanban-card[data-v-52676e4c] {
  position: relative;
  background: #fff;
  border-radius: 6px;
  padding: 12px;
  cursor: pointer;
  transition: all 0.2s;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.kanban-card[data-v-52676e4c]:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transform: translateY(-2px);
}
.kanban-card[data-v-52676e4c]:active {
  cursor: moving;
}
.card-color-bar[data-v-52676e4c] {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  border-radius: 6px 0 0 6px;
}
.card-content[data-v-52676e4c] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.card-field[data-v-52676e4c] {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.field-label[data-v-52676e4c] {
  font-size: 11px;
  color: #999;
}
.field-value[data-v-52676e4c] {
  font-size: 13px;
  color: rgba(0, 0, 0, 0.85);
  word-break: break-word;
}
.card-avatar[data-v-52676e4c] {
  position: absolute;
  right: 12px;
  bottom: 12px;
}
.list-renderer[data-v-ee79bfdd] {
  background: white;
  padding: 24px;
  border-radius: 8px;
}
.view-switcher[data-v-ee79bfdd] {
  margin-bottom: 16px;
}
.search-bar[data-v-ee79bfdd] {
  margin-bottom: 16px;
}
.filter-bar[data-v-ee79bfdd] {
  margin-bottom: 16px;
  padding: 16px;
  background: #fafafa;
  border-radius: 8px;
}
.empty-state[data-v-ee79bfdd] {
  padding: 32px 0;
}
.dashboard-renderer[data-v-0b354583] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.stats-row[data-v-0b354583] {
  margin-bottom: 0;
}
.stat-card[data-v-0b354583] {
  border-radius: 8px;
}
.chart-card[data-v-0b354583] {
  border-radius: 8px;
}
.chart-container[data-v-0b354583] {
  width: 100%;
}
.chart-placeholder[data-v-0b354583] {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: #999;
}
.quick-actions-card[data-v-0b354583] {
  border-radius: 8px;
}
.quick-action[data-v-0b354583] {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 16px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s;
}
.quick-action[data-v-0b354583]:hover {
  background: #f5f5f5;
}
.action-icon[data-v-0b354583] {
  font-size: 24px;
  color: #1677ff;
  margin-bottom: 8px;
}
.action-label[data-v-0b354583] {
  font-size: 14px;
  color: #1f1f1f;
}
.detail-renderer[data-v-db03efe0] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.detail-header[data-v-db03efe0] {
  background: white;
  border-radius: 8px;
}
.detail-content[data-v-db03efe0] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.section-card[data-v-db03efe0] {
  border-radius: 8px;
}
.related-card[data-v-db03efe0] {
  border-radius: 8px;
}
.approval-history-section[data-v-db03efe0] {
  margin-top: 24px;
  padding: 16px;
  background: var(--color-bg-container, #fff);
  border-radius: 8px;
  border: 1px solid var(--color-border-light, #f0f0f0);
}
.history-header[data-v-db03efe0] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}
.history-node[data-v-db03efe0] {
  font-weight: 500;
}
.history-info[data-v-db03efe0] {
  display: flex;
  gap: 16px;
  color: var(--color-text-secondary, #999);
  font-size: 13px;
}
.history-time[data-v-db03efe0] {
  margin-left: auto;
}
.history-comment[data-v-db03efe0] {
  margin-top: 4px;
  padding: 8px 12px;
  background: var(--color-bg-spotlight, #fafafa);
  border-radius: 4px;
  font-size: 13px;
  color: var(--color-text-secondary, #666);
}
.element-renderer[data-v-f569cac0] {
  width: 100%;
}
.element-title[data-v-f569cac0] {
  margin: 0;
  color: #1f1f1f;
}
.element-title--1[data-v-f569cac0] {
  font-size: 24px;
}
.element-title--2[data-v-f569cac0] {
  font-size: 20px;
}
.element-title--3[data-v-f569cac0] {
  font-size: 18px;
}
.element-text[data-v-f569cac0] {
  margin: 0;
  color: #595959;
  line-height: 1.6;
}
.element-card[data-v-f569cac0] {
  border-radius: 8px;
}
.element-unknown[data-v-f569cac0] {
  padding: 16px;
  background: #fff2f0;
  border: 1px dashed #ff4d4f;
  border-radius: 4px;
  color: #ff4d4f;
}
.element-error-boundary[data-v-f569cac0] {
  padding: 16px;
  margin: 8px 0;
}
.element-depth-warning[data-v-f569cac0] {
  padding: 16px;
  margin: 8px 0;
}
.page-renderer[data-v-b748aef4] {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.page-error-boundary[data-v-b748aef4] {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 48px;
}
.page-header[data-v-b748aef4] {
  padding: 16px 24px;
  background: white;
  border-bottom: 1px solid #f0f0f0;
  margin-bottom: 16px;
}
.page-title[data-v-b748aef4] {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: #1f1f1f;
}
.page-description[data-v-b748aef4] {
  margin: 8px 0 0;
  font-size: 14px;
  color: #8c8c8c;
}
.page-content[data-v-b748aef4] {
  flex: 1;
  overflow: auto;
  padding: 0 24px 24px;
}
.free-layout[data-v-b748aef4] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.app-runtime[data-v-1a0f5193] {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--color-bg-layout);
}
/* 顶部栏 */
.runtime-header[data-v-1a0f5193] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 16px;
  height: 48px;
  background: var(--color-bg-container);
  border-bottom: 1px solid var(--color-border-secondary);
  flex-shrink: 0;
}
.header-left[data-v-1a0f5193] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.back-btn[data-v-1a0f5193] {
  padding: 0 4px;
  color: var(--color-text-secondary);
}
.back-btn[data-v-1a0f5193]:hover {
  color: var(--color-primary);
}
.back-text[data-v-1a0f5193] {
  font-size: 13px;
}
.app-icon[data-v-1a0f5193] {
  width: 24px;
  height: 24px;
  border-radius: 6px;
}
.app-icon-placeholder[data-v-1a0f5193] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  font-size: 16px;
  color: #999;
  background: #f5f5f5;
  border-radius: 6px;
}
.app-name[data-v-1a0f5193] {
  font-size: 15px;
  font-weight: 600;
  color: var(--color-text);
}
.version-tag[data-v-1a0f5193] {
  font-size: 11px;
  margin-left: 4px;
}
.header-right[data-v-1a0f5193] {
  display: flex;
  align-items: center;
  gap: 2px;
}
.toggle-btn[data-v-1a0f5193] {
  margin-right: 4px;
}
/* 主体区域 */
.runtime-body[data-v-1a0f5193] {
  display: flex;
  flex: 1;
  overflow: hidden;
}
/* 左侧子菜单 */
.runtime-sidebar[data-v-1a0f5193] {
  width: 200px;
  background: var(--color-bg-container);
  border-right: 1px solid var(--color-border-secondary);
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  overflow: hidden;
}
.sidebar-title[data-v-1a0f5193] {
  padding: 12px 16px 8px;
  font-size: 11px;
  font-weight: 600;
  color: var(--color-text-quaternary);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.sidebar-menu[data-v-1a0f5193] {
  flex: 1;
  border-inline-end: none !important;
  background: transparent;
}
.sidebar-menu[data-v-1a0f5193] .ant-menu-item {
  border-radius: 6px;
  margin: 2px 8px;
  height: 36px;
  line-height: 36px;
}
.sidebar-menu[data-v-1a0f5193] .ant-menu-item-selected {
  background: var(--color-primary-bg) !important;
  color: var(--color-primary) !important;
}
.sidebar-footer[data-v-1a0f5193] {
  padding: 12px 16px;
  border-top: 1px solid var(--color-border-secondary);
}
.todo-center-section[data-v-1a0f5193] {
  padding: 0 16px 12px;
}
.todo-badge-item[data-v-1a0f5193] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.2s;
}
.todo-badge-item[data-v-1a0f5193]:hover {
  background: var(--color-bg-spotlight);
}
.todo-label[data-v-1a0f5193] {
  font-size: 13px;
  color: var(--color-text-secondary);
}
.app-meta[data-v-1a0f5193] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 4px 0;
}
.meta-label[data-v-1a0f5193] {
  font-size: 12px;
  color: var(--color-text-quaternary);
}
.meta-value[data-v-1a0f5193] {
  font-size: 12px;
  color: var(--color-text, #333);
}
/* 右侧内容区 */
.runtime-content[data-v-1a0f5193] {
  flex: 1;
  overflow: auto;
  background: var(--color-bg-layout);
  display: flex;
  flex-direction: column;
  min-height: 0;
}
/* 侧边栏动画 */
.sidebar-enter-active[data-v-1a0f5193],
.sidebar-leave-active[data-v-1a0f5193] {
  transition: width 0.2s ease, opacity 0.2s ease;
}
.sidebar-enter-from[data-v-1a0f5193],
.sidebar-leave-to[data-v-1a0f5193] {
  width: 0;
  opacity: 0;
}
/* 空状态 */
.runtime-empty[data-v-1a0f5193] {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
/* 占位页面 */
.runtime-placeholder[data-v-1a0f5193] {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
}
.placeholder-content[data-v-1a0f5193] {
  text-align: center;
  max-width: 575px;
}
.placeholder-icon[data-v-1a0f5193] {
  width: 80px;
  height: 80px;
  border-radius: 20px;
  background: var(--color-bg-container);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}
.placeholder-icon[data-v-1a0f5193] .anticon {
  font-size: 32px;
  color: var(--color-primary);
}
.placeholder-content h3[data-v-1a0f5193] {
  margin: 0 0 8px;
  font-size: 18px;
  font-weight: 600;
  color: var(--color-text);
}
.placeholder-content p[data-v-1a0f5193] {
  margin: 0 0 20px;
  font-size: 14px;
  color: var(--color-text-secondary);
}
/* 响应式 */
@media (max-width: 768px) {
.runtime-sidebar[data-v-1a0f5193] {
    width: 160px;
}
.back-text[data-v-1a0f5193] {
    display: none;
}
.app-name[data-v-1a0f5193] {
    font-size: 14px;
}
.version-tag[data-v-1a0f5193] {
    display: none;
}
}
@media (max-width: 575px) {
.runtime-sidebar[data-v-1a0f5193] {
    position: absolute;
    left: 0;
    top: 48px;
    bottom: 0;
    z-index: 100;
    box-shadow: 2px 0 8px rgba(0, 0, 0, 0.15);
}
}
/* ===========================
   Application Detail Page — Salesforce-inspired Design
   =========================== */
/* Page container */
.app-detail[data-v-bd30dbff] {
  padding: var(--spacing-4);
  background: var(--color-bg-layout);
  min-height: 100%;
  padding-bottom: 80px;
}
/* Breadcrumb Navigation */
.breadcrumb-nav[data-v-bd30dbff] {
  margin-bottom: var(--spacing-3);
}
.breadcrumb-nav[data-v-bd30dbff] .ant-breadcrumb-link a {
  color: var(--color-text-secondary);
  transition: color 0.2s;
}
.breadcrumb-nav[data-v-bd30dbff] .ant-breadcrumb-link a:hover {
  color: #1677ff;
}
/* Empty state */
.empty-state[data-v-bd30dbff] {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 400px;
  background: var(--color-neutral-0);
  border-radius: var(--radius-xl);
  border: 1px solid var(--color-border-light);
}
/* Highlights Panel — top banner */
.highlights-panel[data-v-bd30dbff] {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  border-radius: var(--radius-xl);
  padding: 24px 32px;
  color: white;
  margin-bottom: var(--spacing-4);
  position: relative;
  overflow: hidden;
}
/* 几何图形装饰 */
.highlights-bg-decoration[data-v-bd30dbff] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-bd30dbff] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-bd30dbff] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-bd30dbff] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-bd30dbff] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-bd30dbff] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-bd30dbff] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-bd30dbff] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-bd30dbff] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-bd30dbff] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-bd30dbff] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
@media (max-width: 768px) {
.highlights-panel[data-v-bd30dbff] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-bd30dbff] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-bd30dbff] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-bd30dbff] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-bd30dbff] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-bd30dbff] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-bd30dbff] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-bd30dbff] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-bd30dbff] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-bd30dbff] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-bd30dbff] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-bd30dbff] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-bd30dbff] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
.highlights-content[data-v-bd30dbff] {
  display: flex;
  justify-content: space-between;
}
.highlights-left h2[data-v-bd30dbff] {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: white;
}
.highlights-meta[data-v-bd30dbff] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  font-size: 13px;
  opacity: 0.85;
}
.highlights-tag[data-v-bd30dbff] {
  background: rgba(255, 255, 255, 0.2);
  border: none;
  color: white;
}
.highlights-right[data-v-bd30dbff] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-back-btn[data-v-bd30dbff] {
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: white;
}
.highlights-back-btn[data-v-bd30dbff]:hover {
  background: rgba(255, 255, 255, 0.25);
  color: white;
  border-color: rgba(255, 255, 255, 0.5);
}
.highlights-action-btn[data-v-bd30dbff] {
  border-radius: 10px;
  font-weight: 500;
}
/* Content layout — sidebar + main */
.detail-layout[data-v-bd30dbff] {
  display: flex;
  gap: var(--spacing-4);
}
.detail-sidebar[data-v-bd30dbff] {
  width: 200px;
  flex-shrink: 0;
}
.detail-sidebar .sidebar-nav[data-v-bd30dbff] {
  background: var(--color-neutral-0);
  border-radius: var(--radius-xl);
  border: 1px solid var(--color-border-light);
  padding: var(--spacing-2) 0;
  position: sticky;
  top: var(--spacing-4);
  transition: box-shadow 0.3s;
}
.detail-sidebar .sidebar-nav[data-v-bd30dbff]:hover {
  box-shadow: var(--shadow-md);
}
.detail-sidebar .nav-item[data-v-bd30dbff] {
  padding: 10px 20px;
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--color-text-secondary);
  font-size: 14px;
  border-left: 3px solid transparent;
}
.detail-sidebar .nav-item[data-v-bd30dbff]:hover {
  background: var(--color-bg-container-hover);
  color: var(--color-text-primary);
}
.detail-sidebar .nav-item.active[data-v-bd30dbff] {
  background: rgba(22, 119, 255, 0.06);
  color: #1677ff;
  border-left-color: #1677ff;
  font-weight: 500;
}
.detail-main[data-v-bd30dbff] {
  flex: 1;
  min-width: 0;
}
/* Section cards */
.section-card[data-v-bd30dbff] {
  background: var(--color-neutral-0);
  border-radius: var(--radius-xl);
  border: 1px solid var(--color-border-light);
  padding: var(--spacing-4);
  margin-bottom: var(--spacing-3);
  transition: box-shadow 0.3s;
}
.section-card[data-v-bd30dbff]:hover {
  box-shadow: var(--shadow-md);
}
.section-title[data-v-bd30dbff] {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-text-primary);
  margin-bottom: var(--spacing-3);
  display: flex;
  align-items: center;
  gap: 8px;
}
.section-header[data-v-bd30dbff] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--spacing-3);
}
.section-header .section-title[data-v-bd30dbff] {
  margin-bottom: 0;
}
.section-description[data-v-bd30dbff] {
  color: var(--color-text-tertiary);
  font-size: 13px;
  margin-bottom: var(--spacing-3);
}
/* Overview Stats */
.overview-stats[data-v-bd30dbff] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--spacing-3);
  margin-bottom: var(--spacing-3);
}
.stat-card[data-v-bd30dbff] {
  background: var(--color-neutral-0);
  border-radius: var(--radius-xl);
  border: 1px solid var(--color-border-light);
  transition: all 0.3s;
  cursor: default;
  padding: 8px 16px;
}
.stat-card[data-v-bd30dbff]:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
}
.stat-card-inner[data-v-bd30dbff] {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
}
.stat-icon[data-v-bd30dbff] {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
  color: white;
}
.stat-icon-blue[data-v-bd30dbff] {
  background: linear-gradient(135deg, #1677ff 0%, #0958d9 100%);
  box-shadow: 0 4px 12px rgba(22, 119, 255, 0.3);
}
.stat-icon-green[data-v-bd30dbff] {
  background: linear-gradient(135deg, #52c41a 0%, #389e0d 100%);
  box-shadow: 0 4px 12px rgba(82, 196, 26, 0.3);
}
.stat-icon-purple[data-v-bd30dbff] {
  background: linear-gradient(135deg, #722ed1 0%, #531dab 100%);
  box-shadow: 0 4px 12px rgba(114, 46, 209, 0.3);
}
.stat-icon-orange[data-v-bd30dbff] {
  background: linear-gradient(135deg, #fa8c16 0%, #d46b08 100%);
  box-shadow: 0 4px 12px rgba(250, 140, 22, 0.3);
}
.stat-info[data-v-bd30dbff] {
  flex: 1;
  min-width: 0;
}
.stat-value[data-v-bd30dbff] {
  font-size: 24px;
  font-weight: 700;
  color: var(--color-text-primary);
  line-height: 1.2;
}
.stat-label[data-v-bd30dbff] {
  font-size: 13px;
  color: var(--color-text-tertiary);
  margin-top: 2px;
}
/* Config sections */
.config-section[data-v-bd30dbff] {
  background: var(--color-neutral-0);
  border-radius: var(--radius-xl);
  border: 1px solid var(--color-border-light);
  margin-bottom: var(--spacing-3);
  overflow: hidden;
  transition: box-shadow 0.3s;
}
.config-section[data-v-bd30dbff]:hover {
  box-shadow: var(--shadow-md);
}
.config-header[data-v-bd30dbff] {
  padding: 14px 20px;
  border-bottom: 1px solid var(--color-border-light);
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 500;
  color: var(--color-text-primary);
  font-size: 15px;
}
.config-body[data-v-bd30dbff] {
  padding: 16px 20px;
}
@media (max-width: 768px) {
.config-body[data-v-bd30dbff] {
    padding: 12px;
}
.config-body .highlights-panel .highlights-bg-decoration[data-v-bd30dbff] {
    display: none;
}
}
/* Menu tree */
.menu-config-tree[data-v-bd30dbff] {
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-xl);
  overflow: hidden;
}
.menu-tree-node[data-v-bd30dbff] {
  border-bottom: 1px solid var(--color-border-light);
}
.menu-tree-node[data-v-bd30dbff]:last-child {
  border-bottom: none;
}
.menu-node-content[data-v-bd30dbff] {
  display: flex;
  align-items: center;
  padding: 12px 16px;
  transition: background-color 0.2s;
  gap: 10px;
}
.menu-node-content[data-v-bd30dbff]:hover {
  background: var(--color-bg-container-hover);
}
.menu-node-root[data-v-bd30dbff] {
  font-weight: 500;
}
.menu-node-child[data-v-bd30dbff] {
  padding-left: 24px;
}
.menu-node-icon[data-v-bd30dbff] {
  font-size: 16px;
  color: #1677ff;
  flex-shrink: 0;
}
.menu-node-title[data-v-bd30dbff] {
  font-weight: 500;
  flex-shrink: 0;
}
.menu-node-path[data-v-bd30dbff] {
  color: var(--color-text-tertiary);
  font-size: 12px;
  font-family: monospace;
}
.menu-node-permission[data-v-bd30dbff] {
  flex-shrink: 0;
}
.menu-node-visible[data-v-bd30dbff] {
  flex-shrink: 0;
}
.menu-node-actions[data-v-bd30dbff] {
  margin-left: auto;
  flex-shrink: 0;
}
/* Watermark preview */
.watermark-preview[data-v-bd30dbff] {
  position: relative;
  height: 200px;
  border: 1px dashed var(--color-border-light);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.watermark-demo[data-v-bd30dbff] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
  background: var(--color-bg-layout);
}
.watermark-demo-text[data-v-bd30dbff] {
  position: absolute;
  transform-origin: center;
  font-weight: bold;
  white-space: nowrap;
  user-select: none;
  z-index: 10;
}
.watermark-preview-placeholder[data-v-bd30dbff] {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  color: var(--color-text-tertiary);
  font-size: 14px;
}
/* Timeline */
.timeline-item[data-v-bd30dbff] {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.timeline-title[data-v-bd30dbff] {
  font-weight: 500;
  color: var(--color-text-primary);
  font-size: 14px;
}
.timeline-time[data-v-bd30dbff] {
  color: var(--color-text-tertiary);
  font-size: 12px;
}
/* Description text */
.description-text[data-v-bd30dbff] {
  color: var(--color-text-secondary);
  line-height: 1.6;
  margin: 0;
}
/* Detail link */
.detail-link[data-v-bd30dbff] {
  color: #1677ff;
  transition: color 0.2s;
}
.detail-link[data-v-bd30dbff]:hover {
  color: #0958d9;
}
/* Action button */
.action-button[data-v-bd30dbff] {
  margin-top: var(--spacing-3);
}
/* Action link */
.action-link[data-v-bd30dbff] {
  color: #1677ff;
}
/* User info cell */
.user-info-cell[data-v-bd30dbff] {
  display: flex;
  flex-direction: column;
}
.user-name[data-v-bd30dbff] {
  font-weight: 500;
  color: var(--color-text-primary);
}
.user-handle[data-v-bd30dbff] {
  font-size: 12px;
  color: var(--color-text-tertiary);
}
.user-position[data-v-bd30dbff] {
  color: var(--color-text-tertiary);
  font-size: 12px;
}
/* Modal helpers */
.modal-search[data-v-bd30dbff] {
  margin-bottom: var(--spacing-3);
}
.modal-checkbox-header[data-v-bd30dbff] {
  margin-bottom: var(--spacing-2);
}
.assignable-user-list[data-v-bd30dbff] {
  max-height: 400px;
  overflow-y: auto;
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-lg);
}
.modal-role-section[data-v-bd30dbff] {
  margin-top: var(--spacing-3);
  display: flex;
  align-items: center;
}
.modal-role-label[data-v-bd30dbff] {
  font-weight: 500;
  color: var(--color-text-primary);
}
.modal-role-group[data-v-bd30dbff] {
  margin-left: 8px;
}
.full-width-input[data-v-bd30dbff] {
  width: 100%;
}
/* Tab content */
.tab-content[data-v-bd30dbff] {
  animation: fadeIn-bd30dbff 0.2s ease;
}
@keyframes fadeIn-bd30dbff {
from {
    opacity: 0;
    transform: translateY(4px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
/* Form item spacing */
.tab-content[data-v-bd30dbff] .ant-form-item {
  margin-bottom: 12px;
}
/* Table improvements */
.tab-content[data-v-bd30dbff] .ant-table {
  border-radius: var(--radius-lg);
}
/* Responsive */
@media (max-width: 991px) {
.detail-layout[data-v-bd30dbff] {
    flex-direction: column;
}
.detail-sidebar[data-v-bd30dbff] {
    width: 100%;
}
.detail-sidebar .sidebar-nav[data-v-bd30dbff] {
    display: flex;
    overflow-x: auto;
    padding: 0;
    position: static;
}
.detail-sidebar .nav-item[data-v-bd30dbff] {
    border-left: none;
    border-bottom: 3px solid transparent;
    white-space: nowrap;
    padding: 10px 16px;
}
.detail-sidebar .nav-item.active[data-v-bd30dbff] {
    border-left-color: transparent;
    border-bottom-color: #1677ff;
}
.overview-stats[data-v-bd30dbff] {
    grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 575px) {
.highlights-panel[data-v-bd30dbff] {
    padding: 12px;
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-bd30dbff] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-bd30dbff] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-bd30dbff] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-bd30dbff] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-bd30dbff] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-bd30dbff] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-bd30dbff] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-bd30dbff] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-bd30dbff] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-bd30dbff] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-bd30dbff] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-content[data-v-bd30dbff] {
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 8px;
}
.highlights-left[data-v-bd30dbff] {
    flex: 1;
    min-width: 0;
}
.highlights-left h2[data-v-bd30dbff] {
    font-size: 18px;
}
.highlights-right[data-v-bd30dbff] {
    width: 100%;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}
.highlights-right .ant-btn[data-v-bd30dbff] {
    flex: 1;
    min-width: 80px;
    max-width: 120px;
}
.highlights-back-btn[data-v-bd30dbff] {
    padding: 4px 8px;
    font-size: 13px;
}
.overview-stats[data-v-bd30dbff] {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-2);
}
.stat-card-inner[data-v-bd30dbff] {
    gap: var(--spacing-2);
}
.stat-icon[data-v-bd30dbff] {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    font-size: 16px;
}
.stat-value[data-v-bd30dbff] {
    font-size: 18px;
}
.stat-label[data-v-bd30dbff] {
    font-size: 11px;
}
.section-card[data-v-bd30dbff] {
    padding: var(--spacing-3);
    padding-bottom: 60px;
}
.config-body[data-v-bd30dbff] .ant-col {
    flex: 0 0 100% !important;
    max-width: 100% !important;
}
}
/* Fixed Bottom Actions */
.fixed-actions[data-v-bd30dbff] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 12px;
  background: #fff;
  border-top: 1px solid var(--color-border-secondary);
  display: flex;
  justify-content: flex-end;
  z-index: 100;
}
/* 统计卡片改为2列 */
.dm-stats-row[data-v-bd30dbff] {
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
.dm-stat-card[data-v-bd30dbff] {
  padding: 16px;
  gap: 12px;
}
@media (max-width: 768px) {
.dm-stat-card[data-v-bd30dbff] {
    padding: 12px;
}
.dm-stat-card .highlights-panel .highlights-bg-decoration[data-v-bd30dbff] {
    display: none;
}
}
.dm-stat-icon[data-v-bd30dbff] {
  width: 40px;
  height: 40px;
  font-size: 18px;
}
.dm-stat-value[data-v-bd30dbff] {
  font-size: 22px;
}
.dm-stat-label[data-v-bd30dbff] {
  font-size: 12px;
}
/* 表格横向滚动 */
.dm-table-wrapper[data-v-bd30dbff] {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
/* 详情页布局 */
.detail-content[data-v-bd30dbff] {
  padding: 16px;
}
@media (max-width: 768px) {
.detail-content[data-v-bd30dbff] {
    padding: 12px;
}
.detail-content .highlights-panel .highlights-bg-decoration[data-v-bd30dbff] {
    display: none;
}
}
/* Data Model Tab Styles */
.dm-stats-row[data-v-bd30dbff] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 24px;
}
.dm-stat-card[data-v-bd30dbff] {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px;
  background: #fff;
  border-radius: 8px;
  border: 1px solid #f0f0f0;
  transition: box-shadow 0.2s;
}
@media (max-width: 768px) {
.dm-stat-card[data-v-bd30dbff] {
    padding: 12px;
}
.dm-stat-card .highlights-panel .highlights-bg-decoration[data-v-bd30dbff] {
    display: none;
}
}
.dm-stat-card[data-v-bd30dbff]:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.09);
}
.dm-stat-icon[data-v-bd30dbff] {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 22px;
  flex-shrink: 0;
}
.dm-stat-info[data-v-bd30dbff] {
  flex: 1;
  min-width: 0;
}
.dm-stat-value[data-v-bd30dbff] {
  font-size: 28px;
  font-weight: 600;
  color: #1a1a1a;
  line-height: 1.2;
}
.dm-stat-label[data-v-bd30dbff] {
  font-size: 13px;
  color: #8c8c8c;
  margin-top: 4px;
}
.dm-table-header[data-v-bd30dbff] {
  margin-bottom: 16px;
}
.dm-table .dm-object-name[data-v-bd30dbff] {
  display: flex;
  align-items: center;
  gap: 10px;
}
.dm-object-icon[data-v-bd30dbff] {
  font-size: 18px;
  color: #1890ff;
  background: #e6f7ff;
  padding: 6px;
  border-radius: 6px;
}
.dm-name-text[data-v-bd30dbff] {
  font-weight: 500;
  color: #1a1a1a;
  font-size: 14px;
}
.dm-name-api[data-v-bd30dbff] {
  font-size: 12px;
  color: #8c8c8c;
  margin-top: 2px;
}
/* ==================== 移动端卡片样式 ==================== */
.mobile-card-list[data-v-bd30dbff] {
  padding: 8px;
}
.mobile-card[data-v-bd30dbff] {
  background: #fff;
  border-radius: 8px;
  padding: 12px;
  margin-bottom: 12px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
  border: 1px solid #f0f0f0;
}
.mobile-card-header[data-v-bd30dbff] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #f0f0f0;
  flex-wrap: wrap;
  gap: 8px;
}
.mobile-card-header .card-title[data-v-bd30dbff] {
  font-weight: 500;
  font-size: 14px;
  color: #333;
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mobile-card-body[data-v-bd30dbff] {
  margin-bottom: 12px;
}
.mobile-card-field[data-v-bd30dbff] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 6px 0;
  font-size: 13px;
}
.field-label[data-v-bd30dbff] {
  color: #999;
  flex-shrink: 0;
  margin-right: 8px;
}
.field-value[data-v-bd30dbff] {
  color: #333;
  text-align: right;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.permissions-tags[data-v-bd30dbff] {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 4px;
}
.mobile-card-footer[data-v-bd30dbff] {
  border-top: 1px solid #f0f0f0;
  display: flex;
  justify-content: flex-end;
}
.mobile-card-footer[data-v-bd30dbff] .ant-space {
  flex-wrap: wrap;
}
.app-versions-page[data-v-1e4e8707] {
  padding: 16px;
}
@media (max-width: 768px) {
.app-versions-page[data-v-1e4e8707] {
    padding: 12px;
}
}
/* ==================== Hero区域 ==================== */
.hero-bg-decoration[data-v-1e4e8707] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-1e4e8707] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-1e4e8707] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-1e4e8707] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-1e4e8707] {
  position: absolute;
  background: rgba(255, 255, 255, 0.06);
}
.hero-line--1[data-v-1e4e8707] {
  width: 300px;
  height: 1px;
  top: 40%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-1e4e8707] {
  width: 200px;
  height: 1px;
  bottom: 30%;
  right: 20%;
  transform: rotate(25deg);
}
.hero-dot[data-v-1e4e8707] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.15);
}
.hero-dot--1[data-v-1e4e8707] {
  top: 20%;
  right: 30%;
}
.hero-dot--2[data-v-1e4e8707] {
  bottom: 25%;
  right: 15%;
}
.hero-content[data-v-1e4e8707] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.hero-left[data-v-1e4e8707] {
  flex: 1;
}
.hero-title[data-v-1e4e8707] {
  font-size: 24px;
  font-weight: 600;
  margin: 0 0 8px 0;
  color: white;
}
.hero-desc[data-v-1e4e8707] {
  font-size: 14px;
  opacity: 0.85;
  margin: 0 0 20px 0;
}
.hero-stats[data-v-1e4e8707] {
  display: flex;
  align-items: center;
  gap: 0;
}
.hero-stat[data-v-1e4e8707] {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 20px;
  cursor: pointer;
  min-width: 80px;
}
.hero-stat-value[data-v-1e4e8707] {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.2;
}
.hero-stat-label[data-v-1e4e8707] {
  font-size: 12px;
  opacity: 0.75;
  margin-top: 4px;
}
.hero-stat-divider[data-v-1e4e8707] {
  width: 1px;
  height: 36px;
  background: rgba(255, 255, 255, 0.2);
}
.hero-right[data-v-1e4e8707] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
/* ==================== 内容区域 ==================== */
.content-card[data-v-1e4e8707] {
  border-radius: var(--radius-lg);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
  margin-bottom: var(--spacing-4);
}
.card-header-actions[data-v-1e4e8707] {
  display: flex;
  gap: 8px;
  align-items: center;
}
.card-pagination[data-v-1e4e8707] {
  display: flex;
  justify-content: flex-end;
  padding: 16px 0 0;
}
@media (max-width: 768px) {
.card-pagination[data-v-1e4e8707] {
    padding: 12px;
}
}
/* ==================== 响应式 ==================== */
@media (max-width: 768px) {
.hero-content[data-v-1e4e8707] {
    flex-direction: column;
    gap: 16px;
}
.hero-right[data-v-1e4e8707] {
    width: 100%;
}
.hero-stats[data-v-1e4e8707] {
    flex-wrap: wrap;
    gap: 8px;
}
.hero-stat[data-v-1e4e8707] {
    padding: 0 12px;
}
.hero-stat-value[data-v-1e4e8707] {
    font-size: 22px;
}
.card-header-actions[data-v-1e4e8707] {
    flex-wrap: wrap;
    gap: 8px;
}
.card-header-actions[data-v-1e4e8707] .ant-input {
    width: 100% !important;
}
.card-header-actions[data-v-1e4e8707] .ant-select {
    width: calc(50% - 4px) !important;
}
}
/* ==================== 移动端卡片样式 ==================== */
.mobile-card-list[data-v-1e4e8707] {
  padding: 8px;
  background: #f9f9f9;
}
.mobile-card-item[data-v-1e4e8707] {
  background: #fff;
  border-radius: 8px;
  padding: 12px;
  margin-bottom: 12px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}
.mobile-card-header[data-v-1e4e8707] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #f0f0f0;
}
.mobile-card-body[data-v-1e4e8707] {
  margin-bottom: 12px;
}
.mobile-card-field[data-v-1e4e8707] {
  display: flex;
  justify-content: space-between;
  padding: 6px 0;
  font-size: 13px;
}
.field-label[data-v-1e4e8707] {
  color: #999;
  flex-shrink: 0;
  margin-right: 8px;
}
.field-value[data-v-1e4e8707] {
  color: #333;
  text-align: right;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mobile-card-footer[data-v-1e4e8707] {
  text-align: right;
  border-top: 1px solid #f0f0f0;
}
.mobile-card-footer[data-v-1e4e8707] .ant-btn {
  margin-bottom: 4px;
  margin-left: 8px;
}
.mobile-pagination[data-v-1e4e8707] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px;
  background: #fff;
  border-radius: 8px;
  margin-top: 12px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}
@media (max-width: 768px) {
.mobile-pagination[data-v-1e4e8707] {
    padding: 12px;
}
}
.page-info[data-v-1e4e8707] {
  font-size: 14px;
  color: #666;
}
/* ===========================
   AppInfoStep - 应用信息步骤
   =========================== */
.app-info-step[data-v-13411588] {
  padding: 12px;
  max-width: 1200px;
  margin: 0 auto;
}
/* ===== Section Card ===== */
.section-card[data-v-13411588] {
  background: var(--color-neutral-0);
  border-radius: var(--radius-xl);
  padding: var(--spacing-6);
  margin-bottom: var(--spacing-3);
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--color-border-light);
}
/* ===== Section Header ===== */
.section-header[data-v-13411588] {
  margin-bottom: var(--spacing-5);
}
.section-header-left[data-v-13411588] {
  display: flex;
  align-items: flex-start;
  gap: var(--spacing-3);
}
.section-icon[data-v-13411588] {
  color: var(--color-primary-500);
  font-size: var(--icon-size-lg);
  margin-top: 2px;
  flex-shrink: 0;
}
.section-header-text[data-v-13411588] {
  flex: 1;
}
.section-title[data-v-13411588] {
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  margin: 0 0 var(--spacing-1);
  line-height: var(--line-height-normal);
}
.section-desc[data-v-13411588] {
  font-size: var(--font-size-sm);
  color: var(--color-text-tertiary);
  display: block;
  line-height: var(--line-height-normal);
}
/* ===== Form ===== */
.app-form[data-v-13411588] {
  margin-top: var(--spacing-4);
}
.app-form[data-v-13411588] .ant-form-item-label > label {
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
  font-size: var(--font-size-base);
}
.app-form[data-v-13411588] .ant-input,
.app-form[data-v-13411588] .ant-input-affix-wrapper,
.app-form[data-v-13411588] .ant-select-selector,
.app-form[data-v-13411588] .ant-input-textarea textarea {
  border-radius: var(--radius-lg);
  transition: border-color var(--duration-fast) var(--easing-default), box-shadow var(--duration-fast) var(--easing-default);
}
.app-form[data-v-13411588] .ant-input:hover,
.app-form[data-v-13411588] .ant-input-affix-wrapper:hover,
.app-form[data-v-13411588] .ant-select:not(.ant-select-disabled):hover .ant-select-selector,
.app-form[data-v-13411588] .ant-input-textarea textarea:hover {
  border-color: var(--color-primary-400);
}
.app-form[data-v-13411588] .ant-input:focus,
.app-form[data-v-13411588] .ant-input-affix-wrapper-focused,
.app-form[data-v-13411588] .ant-select-focused .ant-select-selector,
.app-form[data-v-13411588] .ant-input-textarea textarea:focus {
  border-color: var(--color-primary-500);
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.15);
}
/* ===== Template Grid ===== */
.template-grid[data-v-13411588] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--spacing-5);
  margin-top: var(--spacing-4);
}
/* ===== Template Card ===== */
.template-card[data-v-13411588] {
  background: var(--color-neutral-0);
  border-radius: var(--radius-xl);
  overflow: hidden;
  cursor: pointer;
  transition: transform var(--duration-base) var(--easing-ease-out), box-shadow var(--duration-base) var(--easing-ease-out), border-color var(--duration-fast) var(--easing-default);
  border: 2px solid var(--color-border-light);
  box-shadow: var(--shadow-xs);
}
.template-card[data-v-13411588]:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
}
.template-selected[data-v-13411588] {
  border-color: var(--color-primary-500);
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
}
/* ===== Template Cover ===== */
.template-cover[data-v-13411588] {
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.template-icon[data-v-13411588] {
  font-size: var(--icon-size-2xl);
  color: var(--color-neutral-0);
  opacity: 0.9;
}
.template-check[data-v-13411588] {
  position: absolute;
  top: var(--spacing-2);
  right: var(--spacing-2);
  width: 22px;
  height: 22px;
  border-radius: var(--radius-full);
  background: var(--color-primary-500);
  color: var(--color-neutral-0);
  display: flex;
  align-items: center;
  justify-content: center;
}
.check-icon[data-v-13411588] {
  font-size: var(--font-size-xs);
}
/* ===== Template Body ===== */
.template-body[data-v-13411588] {
  padding: var(--spacing-4);
  background: var(--color-bg-secondary);
}
.template-name[data-v-13411588] {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  margin-bottom: var(--spacing-1);
}
.template-desc[data-v-13411588] {
  font-size: var(--font-size-xs);
  color: var(--color-text-tertiary);
  line-height: var(--line-height-normal);
}
/* ===== Responsive ===== */
@media (max-width: 1199px) {
.template-grid[data-v-13411588] {
    grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 767px) {
.section-card[data-v-13411588] {
    padding: var(--spacing-4);
    margin-bottom: var(--spacing-4);
}
.template-grid[data-v-13411588] {
    grid-template-columns: 1fr;
    gap: var(--spacing-3);
}
}
@media (max-width: 575px) {
.section-card[data-v-13411588] {
    padding: var(--spacing-3);
}
}
/* ===========================
   ObjectConfigStep - 对象配置步骤
   =========================== */
.object-config-step[data-v-202018fa] {
  padding: 12px;
  max-width: 1200px;
  margin: 0 auto;
}
/* ===== Section Card ===== */
.section-card[data-v-202018fa] {
  background: var(--color-neutral-0);
  border-radius: var(--radius-xl);
  padding: var(--spacing-6);
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--color-border-light);
}
/* ===== Section Header ===== */
.section-header[data-v-202018fa] {
  margin-bottom: var(--spacing-5);
}
.section-header-left[data-v-202018fa] {
  display: flex;
  align-items: flex-start;
  gap: var(--spacing-3);
}
.section-icon[data-v-202018fa] {
  color: var(--color-primary-500);
  font-size: var(--icon-size-lg);
  margin-top: 2px;
  flex-shrink: 0;
}
.section-header-text[data-v-202018fa] {
  flex: 1;
}
.section-title[data-v-202018fa] {
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  margin: 0 0 var(--spacing-1);
  line-height: var(--line-height-normal);
}
.section-desc[data-v-202018fa] {
  font-size: var(--font-size-sm);
  color: var(--color-text-tertiary);
  display: block;
  line-height: var(--line-height-normal);
}
/* ===== Object Table ===== */
.object-table[data-v-202018fa] .ant-table {
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.object-table[data-v-202018fa] .ant-table-thead > tr > th {
  background: var(--color-bg-secondary);
  font-weight: var(--font-weight-medium);
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  border-bottom: 1px solid var(--color-border-light);
}
.object-table[data-v-202018fa] .ant-table-tbody > tr > td {
  font-size: var(--font-size-sm);
  color: var(--color-text-primary);
}
.object-table[data-v-202018fa] .ant-table-tbody > tr:hover > td {
  background: var(--color-primary-50);
}
.object-table[data-v-202018fa] .ant-table-cell-row-hover {
  background: var(--color-primary-50);
}
/* ===== Empty State ===== */
.empty-state[data-v-202018fa] {
  padding: var(--spacing-10) 0;
  text-align: center;
}
.empty-icon[data-v-202018fa] {
  font-size: var(--icon-size-xl);
  color: var(--color-text-disabled);
  margin-bottom: var(--spacing-3);
}
.empty-state p[data-v-202018fa] {
  color: var(--color-text-tertiary);
  font-size: var(--font-size-sm);
  margin: 0;
}
/* ===== Add Object Container ===== */
.add-object-container[data-v-202018fa] {
  margin-top: var(--spacing-5);
  padding: var(--spacing-4);
  border: 2px dashed var(--color-border-default);
  border-radius: var(--radius-xl);
  transition: border-color var(--duration-fast) var(--easing-default), background var(--duration-fast) var(--easing-default);
  background: var(--color-bg-secondary);
}
.add-object-container[data-v-202018fa]:hover {
  border-color: var(--color-primary-400);
  background: var(--color-primary-50);
}
.add-object-container[data-v-202018fa] .ant-btn-dashed {
  border: none;
  color: var(--color-primary-500);
  font-weight: var(--font-weight-medium);
  height: var(--component-height-lg);
  font-size: var(--font-size-base);
}
.add-object-container[data-v-202018fa] .ant-btn-dashed:hover {
  color: var(--color-primary-600);
  border: none;
}
/* ===== Object Form (Modal) ===== */
.object-form[data-v-202018fa] {
  padding-top: var(--spacing-3);
}
.object-form[data-v-202018fa] .ant-form-item-label > label {
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
}
.object-form[data-v-202018fa] .ant-input,
.object-form[data-v-202018fa] .ant-input-affix-wrapper,
.object-form[data-v-202018fa] .ant-select-selector,
.object-form[data-v-202018fa] .ant-input-textarea textarea {
  border-radius: var(--radius-lg);
}
/* ===== Field Section ===== */
.field-section[data-v-202018fa] {
  margin-top: var(--spacing-5);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-lg);
  padding: var(--spacing-4);
  background: var(--color-bg-secondary);
}
.field-section-header[data-v-202018fa] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--spacing-3);
}
.field-section-title[data-v-202018fa] {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
}
/* ===== Field Table ===== */
.field-table[data-v-202018fa] .ant-table {
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--color-neutral-0);
}
.field-table[data-v-202018fa] .ant-table-thead > tr > th {
  background: var(--color-bg-tertiary);
  font-weight: var(--font-weight-medium);
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
  padding: var(--spacing-2) var(--spacing-3);
}
.field-table[data-v-202018fa] .ant-table-tbody > tr > td {
  padding: var(--spacing-2) var(--spacing-3);
  font-size: var(--font-size-sm);
}
.field-table[data-v-202018fa] .ant-input-sm,
.field-table[data-v-202018fa] .ant-select-sm {
  font-size: var(--font-size-sm);
}
/* ===== Responsive ===== */
@media (max-width: 767px) {
.section-card[data-v-202018fa] {
    padding: var(--spacing-4);
    padding-bottom: 60px;
}
}
/* ===== Mobile Card List ===== */
.mobile-card-list[data-v-202018fa] {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-3);
  margin-bottom: var(--spacing-4);
}
.mobile-card[data-v-202018fa] {
  background: var(--color-neutral-0);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-lg);
  padding: var(--spacing-3);
  transition: all var(--duration-fast) var(--easing-default);
}
.mobile-card[data-v-202018fa]:hover {
  border-color: var(--color-primary-200);
  box-shadow: var(--shadow-sm);
}
.mobile-card-header[data-v-202018fa] {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  margin-bottom: var(--spacing-2);
}
.mobile-card-name[data-v-202018fa] {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mobile-card-code[data-v-202018fa] {
  font-size: var(--font-size-xs);
  color: var(--color-text-tertiary);
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  background: var(--color-bg-secondary);
  padding: 2px var(--spacing-2);
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border-light);
}
.mobile-card-body[data-v-202018fa] {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
  margin-bottom: var(--spacing-2);
}
.mobile-card-item[data-v-202018fa] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.mobile-card-label[data-v-202018fa] {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
}
.mobile-card-value[data-v-202018fa] {
  font-size: var(--font-size-sm);
  color: var(--color-text-primary);
  text-align: right;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-left: var(--spacing-2);
}
.mobile-card-actions[data-v-202018fa] {
  display: flex;
  justify-content: flex-end;
  gap: var(--spacing-1);
  padding-top: var(--spacing-2);
  border-top: 1px solid var(--color-border-light);
}
/* 字段列表移动端样式 */
.mobile-field-list .mobile-card[data-v-202018fa] {
  padding: var(--spacing-2);
}
.mobile-field-list .mobile-card-body .mobile-card-item[data-v-202018fa] {
  flex-direction: column;
  align-items: stretch;
  gap: var(--spacing-1);
}
.mobile-field-list .mobile-card-label[data-v-202018fa] {
  font-size: var(--font-size-xs);
}
/* 选中状态 */
.mobile-select-card.selected[data-v-202018fa] {
  border-color: var(--color-primary-500);
  background: var(--color-primary-50);
}
@media (max-width: 575px) {
.section-card[data-v-202018fa] {
    padding: var(--spacing-3);
    padding-bottom: 60px;
}
}
.field-description[data-v-c3f3d7b3] {
  color: rgba(0, 0, 0, 0.45);
  font-size: 12px;
  margin-bottom: 8px;
  line-height: 1.5;
}
.char-count[data-v-c3f3d7b3] {
  text-align: right;
  color: rgba(0, 0, 0, 0.45);
  font-size: 12px;
  margin-top: 4px;
}
.field-description[data-v-bfd49b5c] {
  color: rgba(0, 0, 0, 0.45);
  font-size: 12px;
  margin-bottom: 8px;
  line-height: 1.5;
}
.field-description[data-v-1be4cc94] {
  color: rgba(0, 0, 0, 0.45);
  font-size: 12px;
  margin-bottom: 8px;
  line-height: 1.5;
}
.select-option[data-v-1be4cc94] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.option-value[data-v-1be4cc94] {
  color: rgba(0, 0, 0, 0.45);
  font-size: 12px;
}
.field-description[data-v-ed4a69af] {
  color: rgba(0, 0, 0, 0.45);
  font-size: 12px;
  margin-bottom: 8px;
  line-height: 1.5;
}
.radio-vertical[data-v-ed4a69af] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.radio-vertical-item[data-v-ed4a69af] {
  margin-right: 0;
}
.field-description[data-v-0003f7d9] {
  color: rgba(0, 0, 0, 0.45);
  font-size: 12px;
  margin-bottom: 8px;
  line-height: 1.5;
}
.checkbox-vertical[data-v-0003f7d9] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.checkbox-vertical-item[data-v-0003f7d9] {
  margin-left: 0;
}
.select-all-wrapper[data-v-0003f7d9] {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px dashed #d9d9d9;
}
.field-description[data-v-c871fb24] {
  color: rgba(0, 0, 0, 0.45);
  font-size: 12px;
  margin-bottom: 8px;
  line-height: 1.5;
}
.field-description[data-v-4b8cd653] {
  color: rgba(0, 0, 0, 0.45);
  font-size: 12px;
  margin-bottom: 8px;
  line-height: 1.5;
}
.field-description[data-v-749061b0] {
  color: rgba(0, 0, 0, 0.45);
  font-size: 12px;
  margin-bottom: 8px;
  line-height: 1.5;
}
.upload-tip[data-v-749061b0] {
  color: rgba(0, 0, 0, 0.45);
  font-size: 12px;
  margin-top: 8px;
}
[data-v-749061b0] .ant-upload-list-picture-card .ant-upload-list-item {
  border-radius: 4px;
}
.field-description[data-v-67506762] {
  color: rgba(0, 0, 0, 0.45);
  font-size: 12px;
  margin-bottom: 8px;
  line-height: 1.5;
}
.field-description[data-v-66baea0d] {
  color: rgba(0, 0, 0, 0.45);
  font-size: 12px;
  margin-bottom: 8px;
  line-height: 1.5;
}
.field-description[data-v-d06cc4cf] {
  color: rgba(0, 0, 0, 0.45);
  font-size: 12px;
  margin-bottom: 8px;
  line-height: 1.5;
}
.slider-wrapper[data-v-d06cc4cf] {
  width: 100%;
}
.slider-input[data-v-d06cc4cf] {
  display: flex;
  align-items: center;
  margin-top: 8px;
}
.field-description[data-v-b1dc918b] {
  color: rgba(0, 0, 0, 0.45);
  font-size: 12px;
  margin-bottom: 8px;
  line-height: 1.5;
}
.rate-text[data-v-b1dc918b] {
  margin-left: 8px;
  color: rgba(0, 0, 0, 0.45);
  font-size: 14px;
}
.field-description[data-v-401d873f] {
  color: rgba(0, 0, 0, 0.45);
  font-size: 12px;
  margin-bottom: 8px;
  line-height: 1.5;
}
.field-description[data-v-16f20d53] {
  color: rgba(0, 0, 0, 0.45);
  font-size: 12px;
  margin-bottom: 8px;
  line-height: 1.5;
}
.field-description[data-v-2337b43d] {
  color: rgba(0, 0, 0, 0.45);
  font-size: 12px;
  margin-bottom: 8px;
  line-height: 1.5;
}
.field-description[data-v-99bdd8c2] {
  color: rgba(0, 0, 0, 0.45);
  font-size: 12px;
  margin-bottom: 8px;
  line-height: 1.5;
}
.field-description[data-v-b08c295f] {
  color: rgba(0, 0, 0, 0.45);
  font-size: 12px;
  margin-bottom: 8px;
  line-height: 1.5;
}
.field-description[data-v-cd092220] {
  color: rgba(0, 0, 0, 0.45);
  font-size: 12px;
  margin-bottom: 8px;
  line-height: 1.5;
}
.color-picker-wrapper[data-v-cd092220] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.color-preview[data-v-cd092220] {
  width: 32px;
  height: 32px;
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.color-preview[data-v-cd092220]:hover {
  border-color: #40a9ff;
}
.color-preview-icon[data-v-cd092220] {
  color: rgba(0, 0, 0, 0.25);
  font-size: 14px;
}
.color-input[data-v-cd092220] {
  flex: 1;
}
.color-dot[data-v-cd092220] {
  width: 14px;
  height: 14px;
  border: 1px solid #d9d9d9;
  border-radius: 2px;
}
.color-native-input[data-v-cd092220] {
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0;
  pointer-events: none;
}
.preset-colors[data-v-cd092220] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}
.preset-color-item[data-v-cd092220] {
  width: 20px;
  height: 20px;
  border: 1px solid #d9d9d9;
  border-radius: 2px;
  cursor: pointer;
}
.preset-color-item[data-v-cd092220]:hover,
.preset-color-item.active[data-v-cd092220] {
  border-color: #1890ff;
  transform: scale(1.15);
}
.field-description[data-v-77cf8793] {
  color: rgba(0, 0, 0, 0.45);
  font-size: 12px;
  margin-bottom: 8px;
  line-height: 1.5;
}
.table-toolbar[data-v-77cf8793] {
  margin-bottom: 8px;
}
.editable-table[data-v-77cf8793] {
  width: 100%;
}
.editable-table[data-v-77cf8793] .ant-table-cell {
  padding: 4px 8px !important;
}
.detail-table-field[data-v-d98505dd] {
  width: 100%;
}
.detail-table[data-v-d98505dd] .ant-table-cell {
  padding: 4px 8px;
}
.detail-table[data-v-d98505dd] .ant-input,
.detail-table[data-v-d98505dd] .ant-input-number,
.detail-table[data-v-d98505dd] .ant-select,
.detail-table[data-v-d98505dd] .ant-picker {
  font-size: 12px;
}
.detail-table[data-v-d98505dd] .ant-btn-link {
  padding: 0 4px;
  height: 22px;
  line-height: 22px;
}
.table-footer[data-v-d98505dd] {
  margin-top: 8px;
}
.row-limit-tip[data-v-d98505dd] {
  margin-top: 8px;
  text-align: right;
}
.sub-form-field[data-v-515eebbb] {
  width: 100%;
}
.sub-form-container[data-v-515eebbb] {
  border: 1px dashed #d9d9d9;
  border-radius: 8px;
  padding: 16px;
  background: #fafafa;
}
.sub-form-header[data-v-515eebbb] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}
.sub-form-count[data-v-515eebbb] {
  font-size: 12px;
  color: #8c8c8c;
}
.sub-form-list[data-v-515eebbb] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.sub-form-item[data-v-515eebbb] {
  background: white;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  overflow: hidden;
}
.sub-form-item-header[data-v-515eebbb] {
  display: flex;
  align-items: center;
  padding: 12px 16px;
  background: linear-gradient(135deg, #f5f7fa 0%, #e4e8ef 100%);
  border-bottom: 1px solid #f0f0f0;
}
.item-index[data-v-515eebbb] {
  width: 24px;
  height: 24px;
  line-height: 24px;
  text-align: center;
  background: #1890ff;
  color: white;
  border-radius: 50%;
  font-size: 12px;
  margin-right: 12px;
}
.item-title[data-v-515eebbb] {
  flex: 1;
  font-weight: 500;
  color: #1a1a1a;
}
.item-actions[data-v-515eebbb] {
  display: flex;
  gap: 8px;
}
.item-actions[data-v-515eebbb] .ant-btn {
  padding: 4px 8px;
  font-size: 12px;
}
.sub-form-item-content[data-v-515eebbb] {
  padding: 12px 16px;
}
.sub-form-empty[data-v-515eebbb] {
  padding: 40px 0;
  text-align: center;
}
.field-description[data-v-013ce66b] {
  color: rgba(0, 0, 0, 0.45);
  font-size: 12px;
  margin-bottom: 8px;
  line-height: 1.5;
}
.detail-input[data-v-013ce66b] {
  margin-top: 8px;
}
.field-description[data-v-b73b77d2] {
  color: rgba(0, 0, 0, 0.45);
  font-size: 12px;
  margin-bottom: 8px;
  line-height: 1.5;
}
.signature-wrapper[data-v-b73b77d2] {
  width: 100%;
}
.signature-canvas-container[data-v-b73b77d2] {
  position: relative;
  border: 1px dashed #d9d9d9;
  border-radius: 4px;
  background: #fafafa;
  overflow: hidden;
}
.signature-canvas[data-v-b73b77d2] {
  display: block;
  width: 100%;
  height: 100%;
  cursor: crosshair;
}
.signature-placeholder[data-v-b73b77d2] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: rgba(0, 0, 0, 0.25);
  font-size: 14px;
  pointer-events: none;
  user-select: none;
}
.signature-actions[data-v-b73b77d2] {
  display: flex;
  gap: 8px;
  margin-top: 8px;
  justify-content: flex-end;
}
.divider-field-wrapper[data-v-d0432d73] {
  width: 100%;
  margin: 8px 0;
}
.alert-field-wrapper[data-v-cd3d0e25] {
  width: 100%;
  margin: 8px 0;
}
.paragraph-field-wrapper[data-v-fe1794b0] {
  width: 100%;
  margin: 8px 0;
}
.paragraph-content[data-v-fe1794b0] {
  color: rgba(0, 0, 0, 0.65);
  font-size: 14px;
  line-height: 1.8;
  word-break: break-word;
}
.paragraph-placeholder[data-v-fe1794b0] {
  color: rgba(0, 0, 0, 0.25);
  font-style: italic;
}
.grid-field-wrapper[data-v-2397e6af] {
  width: 100%;
  margin: 8px 0;
}
.grid-col-content[data-v-2397e6af] {
  min-height: 40px;
}
.grid-col-title[data-v-2397e6af] {
  font-size: 13px;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.65);
  margin-bottom: 8px;
  padding-bottom: 4px;
  border-bottom: 1px solid #f0f0f0;
}
.grid-col-placeholder[data-v-2397e6af] {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 60px;
  border: 1px dashed #d9d9d9;
  border-radius: 4px;
  color: rgba(0, 0, 0, 0.25);
  font-size: 13px;
}
.tabs-field-wrapper[data-v-13886e06] {
  width: 100%;
  margin: 8px 0;
}
.tab-content-placeholder[data-v-13886e06] {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 80px;
  border: 1px dashed #d9d9d9;
  border-radius: 4px;
  color: rgba(0, 0, 0, 0.25);
  font-size: 13px;
}
.field-group-wrapper[data-v-690284c1] {
  width: 100%;
  margin: 8px 0;
}
.group-description[data-v-690284c1] {
  color: rgba(0, 0, 0, 0.45);
  font-size: 12px;
}
.group-content-placeholder[data-v-690284c1] {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 60px;
  border: 1px dashed #d9d9d9;
  border-radius: 4px;
  color: rgba(0, 0, 0, 0.25);
  font-size: 13px;
}
.hidden-field[data-v-daab67d9] {
  display: none;
}
.submit-button-field-wrapper[data-v-6965d35a] {
  width: 100%;
}
.save-draft-button-field-wrapper[data-v-998c3292] {
  width: 100%;
}
/* ===========================
   字段预览容器
   =========================== */
.field-preview-wrapper[data-v-919a1558] {
  position: relative;
}
.field-preview-label[data-v-919a1558] {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 6px;
  font-size: 13px;
  color: #1d2129;
  font-weight: 500;
}
.field-preview-label .required-mark[data-v-919a1558] {
  color: #f53f3f;
  font-weight: 700;
}
/* ===========================
   预览字段项
   =========================== */
.preview-field-item[data-v-919a1558] {
  padding: 6px 0;
  transition: opacity 0.2s;
}
.preview-field-item[data-v-919a1558]:hover {
  opacity: 1 !important;
}
/* ===========================
   布局容器预览
   =========================== */
.preview-grid[data-v-919a1558] {
  display: grid;
  gap: 8px;
  padding: 8px;
  background: #f7f8fa;
  border: 1px dashed #e5e6eb;
  border-radius: 6px;
  min-height: 60px;
}
.preview-grid-column[data-v-919a1558] {
  padding: 8px;
  background: #fff;
  border: 1px dashed #e5e6eb;
  border-radius: 4px;
  min-height: 40px;
}
.preview-tabs[data-v-919a1558] {
  border: 1px solid #e5e6eb;
  border-radius: 6px;
  overflow: hidden;
}
.preview-field-group[data-v-919a1558] {
  padding: 10px;
  background: #f7f8fa;
  border: 1px solid #e5e6eb;
  border-radius: 6px;
}
.preview-field-group-title[data-v-919a1558] {
  font-size: 13px;
  font-weight: 600;
  color: #1d2129;
  margin-bottom: 8px;
  padding-bottom: 6px;
  border-bottom: 1px solid #e5e6eb;
}
/* ===========================
   拖放区域
   =========================== */
.preview-drop-zone[data-v-919a1558] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 60px;
  padding: 16px;
  border: 1.5px dashed #e5e6eb;
  border-radius: 6px;
  color: #c9cdd4;
  font-size: 12px;
  transition: all 0.2s ease;
  background: #fafbfc;
}
.preview-drop-zone[data-v-919a1558]:hover {
  border-color: var(--color-primary, #3b82f6);
  color: var(--color-primary, #3b82f6);
  background: var(--color-primary-bg-hover, #eff6ff);
}
.preview-drop-zone.drag-over[data-v-919a1558] {
  border-color: var(--color-primary, #3b82f6);
  background: var(--color-primary-bg-hover, #eff6ff);
  color: var(--color-primary, #3b82f6);
  box-shadow: 0 0 0 2px var(--color-primary-bg-hover, #eff6ff);
}
.preview-drop-icon[data-v-919a1558] {
  font-size: 20px;
  margin-bottom: 6px;
  color: #c9cdd4;
}
.preview-drop-zone:hover .preview-drop-icon[data-v-919a1558],
.preview-drop-zone.drag-over .preview-drop-icon[data-v-919a1558] {
  color: var(--color-primary, #3b82f6);
}
/* ===========================
   容器内子字段
   =========================== */
.preview-child-field[data-v-919a1558] {
  padding: 6px 8px;
  margin-bottom: 4px;
  background: #fff;
  border: 1px solid #e5e6eb;
  border-radius: 4px;
  font-size: 12px;
  color: #4e5969;
  cursor: pointer;
  transition: all 0.15s ease;
}
.preview-child-field[data-v-919a1558]:hover {
  border-color: var(--color-primary, #3b82f6);
  background: var(--color-primary-bg-hover, #eff6ff);
  color: var(--color-primary, #3b82f6);
}
.preview-child-field.selected[data-v-919a1558] {
  border-color: var(--color-primary, #3b82f6);
  box-shadow: 0 0 0 1px var(--color-primary, #3b82f6);
  background: var(--color-primary-bg-hover, #eff6ff);
}
/* ===========================
   禁用状态
   =========================== */
[data-v-919a1558] .ant-input-disabled,[data-v-919a1558] .ant-select-disabled,[data-v-919a1558] .ant-input-number-disabled {
  background: #f7f8fa !important;
  color: #c9cdd4 !important;
  cursor: not-allowed;
}
[data-v-919a1558] .ant-switch-disabled {
  opacity: 0.4;
}
/* ===========================
   辅助字段
   =========================== */
.preview-divider[data-v-919a1558] {
  margin: 8px 0;
}
.preview-alert[data-v-919a1558] {
  border-radius: 6px;
}
.preview-paragraph[data-v-919a1558] {
  font-size: 13px;
  color: #4e5969;
  line-height: 1.6;
}
.preview-hidden[data-v-919a1558] {
  display: none;
}
/* ===========================
   画布字段项 - 整体
   =========================== */
.canvas-field-item[data-v-ea79807b] {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 14px 16px;
  margin-bottom: 10px;
  background: var(--color-bg-container, #fff);
  border: 1px solid var(--color-border-light, #e5e6eb);
  border-radius: var(--radius-lg);
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: var(--shadow-xs);
  animation: field-enter-ea79807b 0.3s ease-out;
}
@keyframes field-enter-ea79807b {
from {
    opacity: 0;
    transform: translateY(-8px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
.canvas-field-item[data-v-ea79807b]:hover {
  border-color: var(--color-border, #c9cdd4);
  box-shadow: var(--shadow-sm);
}
.canvas-field-item.is-selected[data-v-ea79807b] {
  border: 1px solid var(--color-primary-500, #3b82f6);
  background: rgba(59, 130, 246, 0.04);
  box-shadow: var(--shadow-sm);
}
.canvas-field-item.is-disabled[data-v-ea79807b] {
  opacity: 0.55;
  background: var(--color-bg-layout, #f7f8fa);
}
/* 必填字段视觉强化：左侧红色强调边 */
.canvas-field-item.is-required[data-v-ea79807b] {
  border-left: 3px solid #f53f3f;
}
.canvas-field-item.is-required.is-selected[data-v-ea79807b] {
  border-left: 3px solid #f53f3f;
  box-shadow: var(--shadow-sm), 0 0 0 2px rgba(245, 63, 63, 0.08);
}
.canvas-field-item.is-copying[data-v-ea79807b] {
  border-color: #00b42a;
  box-shadow: 0 0 0 2px rgba(0, 180, 42, 0.12);
}
/* 布局类型 */
.canvas-field-item.is-layout[data-v-ea79807b] {
  cursor: default;
}
/* A1 窄字段（colSpan<24）样式微调：紧凑 padding，操作栏更小 */
.canvas-field-item.is-narrow[data-v-ea79807b] {
  padding: 10px 12px;
}
.canvas-field-item.is-narrow .field-drag-handle[data-v-ea79807b] {
  width: 20px;
  height: 20px;
}
.canvas-field-item.is-narrow .field-index[data-v-ea79807b] {
  width: 18px;
  height: 18px;
  font-size: 10px;
}
/* 窄字段在窄屏下自动回到整行，避免预览组件挤压 */
@media (max-width: 768px) {
.canvas-field-item.is-narrow[data-v-ea79807b] {
    grid-column: span 24 !important;
}
}
/* ===========================
   字段序号
   =========================== */
.field-index[data-v-ea79807b] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  margin-top: 2px;
  border-radius: 4px;
  background: var(--color-bg-layout, #f2f3f5);
  color: var(--color-text-secondary, #86909c);
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
}
.canvas-field-item:hover .field-index[data-v-ea79807b] {
  background: var(--color-primary-bg-hover, #eff6ff);
  color: var(--color-primary, #3b82f6);
}
.canvas-field-item.is-selected .field-index[data-v-ea79807b] {
  background: var(--color-primary, #3b82f6);
  color: var(--color-bg-container, #fff);
}
/* ===========================
   拖拽手柄
   =========================== */
.field-drag-handle[data-v-ea79807b] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  margin-top: 2px;
  color: var(--color-text-tertiary, #c9cdd4);
  cursor: move;
  border-radius: 6px;
  transition: all 0.2s ease;
  opacity: 0.5;
}
.canvas-field-item:hover .field-drag-handle[data-v-ea79807b] {
  opacity: 1;
}
.field-drag-handle[data-v-ea79807b]:hover {
  color: var(--color-primary, #3b82f6);
  background: var(--color-primary-10, #eff6ff);
}
/* ===========================
   字段内容
   =========================== */
.field-content[data-v-ea79807b] {
  flex: 1;
  min-width: 0;
}
.field-label[data-v-ea79807b] {
  display: none;
}
.label-text[data-v-ea79807b] {
  line-height: 1.4;
}
.required-mark[data-v-ea79807b] {
  color: #f53f3f;
  font-weight: 700;
}
/* 字段类型标签 */
.field-type-tag[data-v-ea79807b] {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 0 6px;
  height: 18px;
  font-size: 11px;
  font-weight: 400;
  color: var(--color-text-secondary, #86909c);
  background: var(--color-bg-layout, #f2f3f5);
  border-radius: 9px;
  line-height: 18px;
  white-space: nowrap;
}
.field-type-tag[data-v-ea79807b] .anticon {
  font-size: 10px;
}
.label-desc[data-v-ea79807b] {
  color: var(--color-text-tertiary, #c9cdd4);
  cursor: help;
  font-size: 12px;
  transition: color 0.2s;
}
.label-desc[data-v-ea79807b]:hover {
  color: var(--color-primary, #3b82f6);
}
/* ===========================
   字段预览
   =========================== */
.field-preview[data-v-ea79807b] {
  pointer-events: none;
  border-radius: 8px;
  padding: 4px 0;
}
.field-preview--interactive[data-v-ea79807b] {
  pointer-events: auto;
}
/* ===========================
   复制成功标记
   =========================== */
.copy-badge[data-v-ea79807b] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 6px 14px;
  background: rgba(0, 180, 42, 0.9);
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  border-radius: 6px;
  z-index: 20;
  pointer-events: none;
  box-shadow: 0 4px 12px rgba(0, 180, 42, 0.3);
}
.fade-enter-active[data-v-ea79807b],
.fade-leave-active[data-v-ea79807b] {
  transition: opacity 0.3s ease;
}
.fade-enter-from[data-v-ea79807b],
.fade-leave-to[data-v-ea79807b] {
  opacity: 0;
}
/* ===========================
   操作栏
   =========================== */
.field-actions[data-v-ea79807b] {
  position: absolute;
  top: 6px;
  right: 6px;
  display: flex;
  align-items: center;
  gap: 0;
  opacity: 0;
  transition: opacity 0.15s ease;
  background: var(--color-bg-container, #fff);
  padding: 2px;
  border-radius: 6px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  border: 1px solid var(--color-border-light, #e5e6eb);
  z-index: 10;
}
.canvas-field-item:hover .field-actions[data-v-ea79807b],
.canvas-field-item.is-selected .field-actions[data-v-ea79807b] {
  opacity: 1;
}
.field-actions[data-v-ea79807b] .ant-btn-text {
  color: var(--color-text-secondary, #86909c);
  padding: 0;
}
.field-actions[data-v-ea79807b] .ant-btn-text:hover {
  color: var(--color-primary, #3b82f6);
  background: var(--color-primary-10, #eff6ff);
}
.field-actions[data-v-ea79807b] .ant-btn-text.ant-btn-dangerous {
  color: var(--color-text-tertiary, #c9cdd4);
}
.field-actions[data-v-ea79807b] .ant-btn-text.ant-btn-dangerous:hover {
  color: #f53f3f;
  background: rgba(245, 63, 63, 0.08);
}
.field-actions[data-v-ea79807b] .ant-divider-vertical {
  height: 14px;
  margin: 0 2px;
  border-color: var(--color-border-light, #e5e6eb);
}
/* ===========================
   选中指示器
   =========================== */
.selected-indicator[data-v-ea79807b] {
  position: absolute;
  left: 0;
  top: 6px;
  bottom: 6px;
  width: 3px;
  background: var(--color-primary, #3b82f6);
  border-radius: 0 3px 3px 0;
}
/* ===========================
   拖拽插入指示线
   =========================== */
.drop-indicator[data-v-ea79807b] {
  position: absolute;
  left: 8px;
  right: 8px;
  height: 2px;
  background: var(--color-primary, #3b82f6);
  border-radius: 1px;
  z-index: 15;
  pointer-events: none;
}
.drop-indicator[data-v-ea79807b]::before {
  content: '';
  position: absolute;
  left: -4px;
  top: -4px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--color-primary, #3b82f6);
}
.drop-indicator[data-v-ea79807b]::after {
  content: '';
  position: absolute;
  right: -4px;
  top: -4px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--color-primary, #3b82f6);
}
.drop-indicator--before[data-v-ea79807b] {
  top: -1px;
}
.drop-indicator--after[data-v-ea79807b] {
  bottom: -1px;
}
/* ===========================
   拖拽状态
   =========================== */
.canvas-field-item[data-v-ea79807b]:active {
  cursor: grabbing;
}
.canvas-field-item.dragging[data-v-ea79807b] {
  opacity: 0.4;
  background: var(--color-primary-bg-hover, #eff6ff);
  border: 1px dashed var(--color-primary, #3b82f6);
}
.sortable-ghost .canvas-field-item[data-v-ea79807b] {
  opacity: 0.4;
  background: var(--color-primary-bg-hover, #eff6ff);
  border: 1px dashed var(--color-primary, #3b82f6);
}
.sortable-drag .canvas-field-item[data-v-ea79807b] {
  opacity: 0.85;
  box-shadow: var(--shadow-sm);
}
.input-config[data-v-a4613dcd] {
  padding: 0;
}
.textarea-config[data-v-efe5c3b9] {
  padding: 0;
}
.number-config[data-v-5f1d7d2f] {
  padding: 0;
}
.options-config[data-v-ed11a2c1] {
  padding: 0;
}
.options-list[data-v-ed11a2c1] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.option-item[data-v-ed11a2c1] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.option-label[data-v-ed11a2c1] {
  flex: 2;
}
.option-value[data-v-ed11a2c1] {
  flex: 1;
}
.option-delete[data-v-ed11a2c1] {
  padding: 0 4px;
}
.add-option-btn[data-v-ed11a2c1] {
  margin-top: 8px;
}
/* 单选按钮主题色适配 */
[data-v-ed11a2c1] .ant-radio-wrapper .ant-radio-inner {
  border-color: var(--color-border, #d9d9d9);
}
[data-v-ed11a2c1] .ant-radio-wrapper.ant-radio-wrapper-checked .ant-radio-inner {
  border-color: var(--color-primary, #3b82f6);
}
[data-v-ed11a2c1] .ant-radio-wrapper.ant-radio-wrapper-checked .ant-radio-inner::after {
  background-color: var(--color-primary, #3b82f6);
}
[data-v-ed11a2c1] .ant-radio-wrapper:hover .ant-radio-inner {
  border-color: var(--color-primary, #3b82f6);
}
[data-v-ed11a2c1] .ant-radio-button-wrapper {
  color: var(--color-text-secondary, #4e5969);
  border-color: var(--color-border-light, #e5e6eb);
}
[data-v-ed11a2c1] .ant-radio-button-wrapper:hover {
  color: var(--color-primary, #3b82f6);
  border-color: var(--color-primary, #3b82f6);
}
[data-v-ed11a2c1] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked {
  color: var(--color-primary, #3b82f6);
  border-color: var(--color-primary, #3b82f6);
  background: var(--color-bg-container, #fff);
}
[data-v-ed11a2c1] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked::before {
  background-color: var(--color-primary, #3b82f6) !important;
}
[data-v-ed11a2c1] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked:first-child,[data-v-ed11a2c1] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked:last-child {
  border-color: var(--color-primary, #3b82f6);
}
[data-v-ed11a2c1] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked:hover {
  color: var(--color-primary, #3b82f6);
  border-color: var(--color-primary, #3b82f6);
}
[data-v-ed11a2c1] .ant-radio-button-wrapper[class*='ant-radio-button-wrapper-checked'].ant-radio-button-wrapper-checked:not(
      .ant-radio-button-wrapper-disabled
    ) {
  background: var(--color-primary, #3b82f6);
  color: #fff;
  border-color: var(--color-primary, #3b82f6);
}
[data-v-ed11a2c1] .ant-radio-button-wrapper[class*='ant-radio-button-wrapper-checked'].ant-radio-button-wrapper-checked:not(
      .ant-radio-button-wrapper-disabled
    ):hover {
  background: color-mix(in srgb, var(--color-primary, #3b82f6) 85%, #000);
  border-color: color-mix(in srgb, var(--color-primary, #3b82f6) 85%, #000);
  color: #fff;
}
[data-v-ed11a2c1] .ant-radio-button-wrapper[class*='ant-radio-button-wrapper-checked'].ant-radio-button-wrapper-checked:not(
      .ant-radio-button-wrapper-disabled
    )::before {
  background-color: var(--color-primary, #3b82f6) !important;
}
.date-config[data-v-9d507e2e] {
  padding: 0;
}
/* 单选按钮主题色适配 */
[data-v-9d507e2e] .ant-radio-wrapper .ant-radio-inner {
  border-color: var(--color-border, #d9d9d9);
}
[data-v-9d507e2e] .ant-radio-wrapper.ant-radio-wrapper-checked .ant-radio-inner {
  border-color: var(--color-primary, #3b82f6);
}
[data-v-9d507e2e] .ant-radio-wrapper.ant-radio-wrapper-checked .ant-radio-inner::after {
  background-color: var(--color-primary, #3b82f6);
}
[data-v-9d507e2e] .ant-radio-wrapper:hover .ant-radio-inner {
  border-color: var(--color-primary, #3b82f6);
}
[data-v-9d507e2e] .ant-radio-button-wrapper {
  color: var(--color-text-secondary, #4e5969);
  border-color: var(--color-border-light, #e5e6eb);
}
[data-v-9d507e2e] .ant-radio-button-wrapper:hover {
  color: var(--color-primary, #3b82f6);
  border-color: var(--color-primary, #3b82f6);
}
[data-v-9d507e2e] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked {
  color: var(--color-primary, #3b82f6);
  border-color: var(--color-primary, #3b82f6);
  background: var(--color-bg-container, #fff);
}
[data-v-9d507e2e] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked::before {
  background-color: var(--color-primary, #3b82f6) !important;
}
[data-v-9d507e2e] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked:first-child,[data-v-9d507e2e] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked:last-child {
  border-color: var(--color-primary, #3b82f6);
}
[data-v-9d507e2e] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked:hover {
  color: var(--color-primary, #3b82f6);
  border-color: var(--color-primary, #3b82f6);
}
[data-v-9d507e2e] .ant-radio-button-wrapper[class*='ant-radio-button-wrapper-checked'].ant-radio-button-wrapper-checked:not(
      .ant-radio-button-wrapper-disabled
    ) {
  background: var(--color-primary, #3b82f6);
  color: #fff;
  border-color: var(--color-primary, #3b82f6);
}
[data-v-9d507e2e] .ant-radio-button-wrapper[class*='ant-radio-button-wrapper-checked'].ant-radio-button-wrapper-checked:not(
      .ant-radio-button-wrapper-disabled
    ):hover {
  background: color-mix(in srgb, var(--color-primary, #3b82f6) 85%, #000);
  border-color: color-mix(in srgb, var(--color-primary, #3b82f6) 85%, #000);
  color: #fff;
}
[data-v-9d507e2e] .ant-radio-button-wrapper[class*='ant-radio-button-wrapper-checked'].ant-radio-button-wrapper-checked:not(
      .ant-radio-button-wrapper-disabled
    )::before {
  background-color: var(--color-primary, #3b82f6) !important;
}
.file-config[data-v-e2574a27] {
  padding: 0;
}
.rich-text-config[data-v-07eea6f0] {
  padding: 0;
}
.button-config[data-v-557d6d9c] {
  padding: 0;
  /* 分隔线样式 */
  /* 动作配置区域 */
  /* 表单项样式覆盖 */
  /* 单选按钮主题色适配 */
}
.button-config[data-v-557d6d9c] .ant-divider {
  margin: 14px 0 10px;
  font-size: 12px;
  color: #86909c;
  border-color: #e5e6eb;
}
.button-config[data-v-557d6d9c] .ant-divider .ant-divider-inner-text {
  font-weight: 500;
}
.button-config .action-config-section[data-v-557d6d9c] {
  background: #f7f8fa;
  border: 1px solid #e5e6eb;
  border-radius: 8px;
  padding: 12px;
  margin-top: 4px;
}
.button-config[data-v-557d6d9c] .ant-form-item {
  margin-bottom: 14px;
}
.button-config[data-v-557d6d9c] .ant-form-item-label {
  padding-bottom: 4px;
}
.button-config[data-v-557d6d9c] .ant-form-item-label > label {
  font-size: 12px;
  font-weight: 500;
  color: #4e5969;
}
.button-config[data-v-557d6d9c] .ant-input,
.button-config[data-v-557d6d9c] .ant-select,
.button-config[data-v-557d6d9c] .ant-input-number {
  border-radius: 6px;
  border-color: #e5e6eb;
  font-size: 13px;
}
.button-config[data-v-557d6d9c] .ant-input:hover,
.button-config[data-v-557d6d9c] .ant-select:hover,
.button-config[data-v-557d6d9c] .ant-input-number:hover {
  border-color: #c9cdd4;
}
.button-config[data-v-557d6d9c] .ant-input:focus,
.button-config[data-v-557d6d9c] .ant-select:focus,
.button-config[data-v-557d6d9c] .ant-input-number:focus {
  border-color: var(--color-primary, #3b82f6);
  box-shadow: 0 0 0 2px var(--color-primary-bg-hover, #eff6ff);
}
.button-config[data-v-557d6d9c] .ant-radio-wrapper .ant-radio-inner {
  border-color: var(--color-border, #d9d9d9);
}
.button-config[data-v-557d6d9c] .ant-radio-wrapper.ant-radio-wrapper-checked .ant-radio-inner {
  border-color: var(--color-primary, #3b82f6);
}
.button-config[data-v-557d6d9c] .ant-radio-wrapper.ant-radio-wrapper-checked .ant-radio-inner::after {
  background-color: var(--color-primary, #3b82f6);
}
.button-config[data-v-557d6d9c] .ant-radio-wrapper:hover .ant-radio-inner {
  border-color: var(--color-primary, #3b82f6);
}
.button-config[data-v-557d6d9c] .ant-radio-button-wrapper {
  font-size: 12px;
  padding: 0 12px;
  height: 28px;
  line-height: 26px;
  color: var(--color-text-secondary, #4e5969);
  border-color: var(--color-border-light, #e5e6eb);
}
.button-config[data-v-557d6d9c] .ant-radio-button-wrapper:hover {
  color: var(--color-primary, #3b82f6);
  border-color: var(--color-primary, #3b82f6);
}
.button-config[data-v-557d6d9c] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked {
  color: var(--color-primary, #3b82f6);
  border-color: var(--color-primary, #3b82f6);
  background: var(--color-bg-container, #fff);
}
.button-config[data-v-557d6d9c] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked::before {
  background-color: var(--color-primary, #3b82f6) !important;
}
.button-config[data-v-557d6d9c] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked:first-child,
.button-config[data-v-557d6d9c] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked:last-child {
  border-color: var(--color-primary, #3b82f6);
}
.button-config[data-v-557d6d9c] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked:hover {
  color: var(--color-primary, #3b82f6);
  border-color: var(--color-primary, #3b82f6);
}
.button-config[data-v-557d6d9c] .ant-radio-button-wrapper[class*='ant-radio-button-wrapper-checked'].ant-radio-button-wrapper-checked:not(
        .ant-radio-button-wrapper-disabled
      ) {
  background: var(--color-primary, #3b82f6);
  color: #fff;
  border-color: var(--color-primary, #3b82f6);
}
.button-config[data-v-557d6d9c] .ant-radio-button-wrapper[class*='ant-radio-button-wrapper-checked'].ant-radio-button-wrapper-checked:not(
        .ant-radio-button-wrapper-disabled
      ):hover {
  background: color-mix(in srgb, var(--color-primary, #3b82f6) 85%, #000);
  border-color: color-mix(in srgb, var(--color-primary, #3b82f6) 85%, #000);
  color: #fff;
}
.button-config[data-v-557d6d9c] .ant-radio-button-wrapper[class*='ant-radio-button-wrapper-checked'].ant-radio-button-wrapper-checked:not(
        .ant-radio-button-wrapper-disabled
      )::before {
  background-color: var(--color-primary, #3b82f6) !important;
}
.cascader-config[data-v-5ca991c3] {
  padding: 0;
}
.options-list[data-v-5ca991c3] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.option-item[data-v-5ca991c3] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.option-label[data-v-5ca991c3] {
  flex: 2;
}
.option-value[data-v-5ca991c3] {
  flex: 1;
}
.option-delete[data-v-5ca991c3] {
  padding: 0 4px;
}
.switch-config[data-v-11854ca0] {
  padding: 0;
}
.slider-config[data-v-4fbfb969] {
  padding: 0;
}
.rate-config[data-v-d7f72e2a] {
  padding: 0;
}
.table-config[data-v-ab1bc336] {
  padding: 0;
}
.columns-list[data-v-ab1bc336] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.column-item[data-v-ab1bc336] {
  border: 1px solid #f0f0f0;
  border-radius: 4px;
  padding: 8px;
}
.column-header[data-v-ab1bc336] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}
.column-index[data-v-ab1bc336] {
  font-size: 12px;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.65);
}
.column-fields[data-v-ab1bc336] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.column-field[data-v-ab1bc336] {
  width: 100%;
}
.grid-config[data-v-d7111e49] {
  padding: 0;
}
.columns-list[data-v-d7111e49] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.column-item[data-v-d7111e49] {
  border: 1px solid #f0f0f0;
  border-radius: 4px;
  padding: 8px;
}
.column-header[data-v-d7111e49] {
  margin-bottom: 6px;
}
.column-label[data-v-d7111e49] {
  font-size: 12px;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.65);
}
.column-fields[data-v-d7111e49] {
  display: flex;
  gap: 8px;
}
.grid-preview[data-v-d7111e49] {
  display: flex;
  gap: 4px;
  border: 1px solid #f0f0f0;
  border-radius: 4px;
  padding: 4px;
}
.grid-preview-col[data-v-d7111e49] {
  background: #e6f7ff;
  border: 1px solid #91d5ff;
  border-radius: 2px;
  padding: 8px 4px;
  text-align: center;
  font-size: 11px;
  color: rgba(0, 0, 0, 0.45);
  min-height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.tabs-config[data-v-c29413ca] {
  padding: 0;
}
.tabs-list[data-v-c29413ca] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.tab-item[data-v-c29413ca] {
  border: 1px solid #f0f0f0;
  border-radius: 4px;
  padding: 8px;
}
.tab-header[data-v-c29413ca] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 6px;
}
.tab-index[data-v-c29413ca] {
  font-size: 12px;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.65);
}
.tab-fields[data-v-c29413ca] {
  display: flex;
  gap: 8px;
}
.tree-select-config[data-v-0f657c1a] {
  padding: 0;
}
.tree-data-list[data-v-0f657c1a] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.tree-node-item[data-v-0f657c1a] {
  border: 1px solid #f0f0f0;
  border-radius: 4px;
  padding: 8px;
}
.tree-node-header[data-v-0f657c1a] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 6px;
}
.tree-node-label[data-v-0f657c1a] {
  font-size: 12px;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.65);
}
.tree-node-fields[data-v-0f657c1a] {
  display: flex;
  gap: 6px;
  align-items: center;
}
.tree-node-field[data-v-0f657c1a] {
  flex: 1;
}
.tree-child-item[data-v-0f657c1a] {
  margin-left: 16px;
  margin-top: 4px;
  padding-left: 8px;
  border-left: 2px solid #f0f0f0;
}
.validation-config[data-v-923fe9be] {
  padding: 0;
}
.validation-section[data-v-923fe9be] {
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--color-border-light, #f0f0f0);
}
.validation-section[data-v-923fe9be]:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.section-title[data-v-923fe9be] {
  margin: 0 0 12px 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--color-text, rgba(0, 0, 0, 0.88));
}
.sub-config[data-v-923fe9be] {
  margin-top: 8px;
  padding: 8px 12px;
  background: var(--color-bg-layout, #fafafa);
  border-radius: 6px;
  border: 1px solid var(--color-border-light, #f0f0f0);
}
.sub-config[data-v-923fe9be] .ant-form-item {
  margin-bottom: 8px;
}
.sub-config[data-v-923fe9be] .ant-form-item:last-child {
  margin-bottom: 0;
}
.sub-config[data-v-923fe9be] .ant-form-item-label {
  padding-bottom: 2px;
}
.sub-config[data-v-923fe9be] .ant-form-item-label > label {
  font-size: 12px;
  color: var(--color-text-secondary, rgba(0, 0, 0, 0.45));
  height: auto;
}
.event-action-config[data-v-cb7051d3] {
  /* 添加按钮栏 */
  /* 事件列表 */
  /* 空状态 */
  /* 弹窗表单 */
}
.event-action-config .add-bar[data-v-cb7051d3] {
  margin-bottom: 12px;
}
.event-action-config .events-list .event-item[data-v-cb7051d3] {
  background: #fff;
  border: 1px solid #e5e6eb;
  border-radius: 8px;
  padding: 12px;
  margin-bottom: 10px;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.event-action-config .events-list .event-item[data-v-cb7051d3]:hover {
  border-color: #c9cdd4;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.event-action-config .events-list .event-item .event-header[data-v-cb7051d3] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}
.event-action-config .events-list .event-item .event-header .event-header-left[data-v-cb7051d3] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.event-action-config .events-list .event-item .event-header .event-index[data-v-cb7051d3] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--color-primary-bg-hover, #eff6ff);
  color: var(--color-primary, #3b82f6);
  font-size: 11px;
  font-weight: 600;
  flex-shrink: 0;
}
.event-action-config .events-list .event-item .event-header .delete-btn[data-v-cb7051d3] {
  opacity: 0;
  transition: opacity 0.2s;
}
.event-action-config .events-list .event-item .event-header:hover .delete-btn[data-v-cb7051d3] {
  opacity: 1;
}
.event-action-config .events-list .event-item .actions-list[data-v-cb7051d3] {
  padding: 8px;
  background: #f7f8fa;
  border-radius: 6px;
  border-left: 2px solid #e5e6eb;
}
.event-action-config .events-list .event-item .actions-list .action-item[data-v-cb7051d3] {
  background: #fff;
  border: 1px solid #e5e6eb;
  border-radius: 6px;
  padding: 6px 8px;
  margin-bottom: 6px;
  transition: border-color 0.15s;
}
.event-action-config .events-list .event-item .actions-list .action-item[data-v-cb7051d3]:hover {
  border-color: #c9cdd4;
}
.event-action-config .events-list .event-item .actions-list .action-item[data-v-cb7051d3]:last-of-type {
  margin-bottom: 4px;
}
.event-action-config .events-list .event-item .actions-list .action-item .action-row[data-v-cb7051d3] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.event-action-config .events-list .event-item .actions-list .action-item .action-summary[data-v-cb7051d3] {
  flex: 1;
  font-size: 12px;
  color: #86909c;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}
.event-action-config .events-list .event-item .actions-list .action-item .action-btn[data-v-cb7051d3] {
  color: #86909c;
}
.event-action-config .events-list .event-item .actions-list .action-item .action-btn[data-v-cb7051d3]:hover {
  color: var(--color-primary, #3b82f6);
}
.event-action-config .events-list .event-item .actions-list .action-item .delete-btn[data-v-cb7051d3] {
  opacity: 0;
  transition: opacity 0.15s;
}
.event-action-config .events-list .event-item .actions-list .action-item:hover .delete-btn[data-v-cb7051d3] {
  opacity: 1;
}
.event-action-config .events-list .event-item .actions-list .add-action-btn[data-v-cb7051d3] {
  font-size: 12px;
  color: var(--color-primary, #3b82f6);
  padding: 0;
  height: 24px;
}
.event-action-config .events-list .event-item .actions-list .no-actions[data-v-cb7051d3] {
  text-align: center;
  color: #c9cdd4;
  font-size: 12px;
  padding: 8px 0;
}
.event-action-config .no-events[data-v-cb7051d3] {
  text-align: center;
  padding: 32px 16px;
}
.event-action-config .no-events .no-events-icon[data-v-cb7051d3] {
  font-size: 32px;
  color: #e5e6eb;
  margin-bottom: 8px;
}
.event-action-config .no-events .no-events-text[data-v-cb7051d3] {
  font-size: 13px;
  color: #86909c;
  margin: 0 0 4px;
}
.event-action-config .no-events .no-events-hint[data-v-cb7051d3] {
  font-size: 12px;
  color: #c9cdd4;
  margin: 0;
}
.event-action-config .action-config-form[data-v-cb7051d3] .ant-form-item {
  margin-bottom: 16px;
}
.event-action-config .action-config-form[data-v-cb7051d3] .ant-form-item-label > label {
  font-size: 13px;
  color: #4e5969;
}
/* 单选按钮主题色适配 */
[data-v-cb7051d3] .ant-radio-wrapper .ant-radio-inner {
  border-color: var(--color-border, #d9d9d9);
}
[data-v-cb7051d3] .ant-radio-wrapper.ant-radio-wrapper-checked .ant-radio-inner {
  border-color: var(--color-primary, #3b82f6);
}
[data-v-cb7051d3] .ant-radio-wrapper.ant-radio-wrapper-checked .ant-radio-inner::after {
  background-color: var(--color-primary, #3b82f6);
}
[data-v-cb7051d3] .ant-radio-wrapper:hover .ant-radio-inner {
  border-color: var(--color-primary, #3b82f6);
}
[data-v-cb7051d3] .ant-radio-button-wrapper {
  color: var(--color-text-secondary, #4e5969);
  border-color: var(--color-border-light, #e5e6eb);
}
[data-v-cb7051d3] .ant-radio-button-wrapper:hover {
  color: var(--color-primary, #3b82f6);
  border-color: var(--color-primary, #3b82f6);
}
[data-v-cb7051d3] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked {
  color: var(--color-primary, #3b82f6);
  border-color: var(--color-primary, #3b82f6);
  background: var(--color-bg-container, #fff);
}
[data-v-cb7051d3] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked::before {
  background-color: var(--color-primary, #3b82f6) !important;
}
[data-v-cb7051d3] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked:first-child,[data-v-cb7051d3] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked:last-child {
  border-color: var(--color-primary, #3b82f6);
}
[data-v-cb7051d3] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked:hover {
  color: var(--color-primary, #3b82f6);
  border-color: var(--color-primary, #3b82f6);
}
[data-v-cb7051d3] .ant-radio-button-wrapper[class*='ant-radio-button-wrapper-checked'].ant-radio-button-wrapper-checked:not(
      .ant-radio-button-wrapper-disabled
    ) {
  background: var(--color-primary, #3b82f6);
  color: #fff;
  border-color: var(--color-primary, #3b82f6);
}
[data-v-cb7051d3] .ant-radio-button-wrapper[class*='ant-radio-button-wrapper-checked'].ant-radio-button-wrapper-checked:not(
      .ant-radio-button-wrapper-disabled
    ):hover {
  background: color-mix(in srgb, var(--color-primary, #3b82f6) 85%, #000);
  border-color: color-mix(in srgb, var(--color-primary, #3b82f6) 85%, #000);
  color: #fff;
}
[data-v-cb7051d3] .ant-radio-button-wrapper[class*='ant-radio-button-wrapper-checked'].ant-radio-button-wrapper-checked:not(
      .ant-radio-button-wrapper-disabled
    )::before {
  background-color: var(--color-primary, #3b82f6) !important;
}
.default-value-config[data-v-6c6ce035] {
  padding: 0;
}
/* 类型选择器 - 卡片式网格布局 */
.type-selector[data-v-6c6ce035] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
/* 类型卡片 */
.type-card[data-v-6c6ce035] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 10px 4px 8px;
  border: 1px solid #e5e6eb;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  background: #fff;
}
.type-card[data-v-6c6ce035]:hover {
  border-color: #c9cdd4;
  transform: translateY(-1px);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
}
.type-card.active[data-v-6c6ce035] {
  border-color: var(--color-primary, #3b82f6);
  background: linear-gradient(135deg, var(--color-primary-bg-hover, #eff6ff) 0%, #f0f5ff 100%);
  color: var(--color-primary, #3b82f6);
  box-shadow: 0 0 0 1px var(--color-primary, #3b82f6);
}
.type-card.active .type-icon[data-v-6c6ce035] {
  color: var(--color-primary, #3b82f6);
}
.type-card.active .type-label[data-v-6c6ce035] {
  color: var(--color-primary, #3b82f6);
  font-weight: 600;
}
/* 类型图标 */
.type-icon[data-v-6c6ce035] {
  font-size: 18px;
  color: #86909c;
  transition: color 0.2s;
}
/* 类型标签 */
.type-label[data-v-6c6ce035] {
  font-size: 11px;
  white-space: nowrap;
  color: #4e5969;
  transition: color 0.2s;
}
/* 配置提示文字 */
.config-hint[data-v-6c6ce035] {
  padding: 10px 12px;
  font-size: 12px;
  color: #86909c;
  background: #f7f8fa;
  border-radius: 8px;
  border: 1px solid #e5e6eb;
  line-height: 1.6;
}
/* 公式提示区域 */
.formula-hint[data-v-6c6ce035] {
  padding: 10px 12px;
  font-size: 12px;
  color: #86909c;
  background: #f7f8fa;
  border-radius: 8px;
  border: 1px solid #e5e6eb;
  line-height: 1.8;
}
.formula-hint-title[data-v-6c6ce035] {
  font-weight: 600;
  color: #4e5969;
  margin-bottom: 6px;
  font-size: 12px;
}
.formula-hint-text code[data-v-6c6ce035] {
  padding: 1px 6px;
  font-size: 11px;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  background: var(--color-primary-bg-hover, #eff6ff);
  border: 1px solid #c9dfff;
  border-radius: 4px;
  color: var(--color-primary, #3b82f6);
}
/* 单选按钮主题色适配 */
[data-v-6c6ce035] .ant-radio-wrapper .ant-radio-inner {
  border-color: var(--color-border, #d9d9d9);
}
[data-v-6c6ce035] .ant-radio-wrapper.ant-radio-wrapper-checked .ant-radio-inner {
  border-color: var(--color-primary, #3b82f6);
}
[data-v-6c6ce035] .ant-radio-wrapper.ant-radio-wrapper-checked .ant-radio-inner::after {
  background-color: var(--color-primary, #3b82f6);
}
[data-v-6c6ce035] .ant-radio-wrapper:hover .ant-radio-inner {
  border-color: var(--color-primary, #3b82f6);
}
[data-v-6c6ce035] .ant-radio-button-wrapper {
  color: var(--color-text-secondary, #4e5969);
  border-color: var(--color-border-light, #e5e6eb);
}
[data-v-6c6ce035] .ant-radio-button-wrapper:hover {
  color: var(--color-primary, #3b82f6);
  border-color: var(--color-primary, #3b82f6);
}
[data-v-6c6ce035] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked {
  color: var(--color-primary, #3b82f6);
  border-color: var(--color-primary, #3b82f6);
  background: var(--color-bg-container, #fff);
}
[data-v-6c6ce035] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked::before {
  background-color: var(--color-primary, #3b82f6) !important;
}
[data-v-6c6ce035] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked:first-child,[data-v-6c6ce035] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked:last-child {
  border-color: var(--color-primary, #3b82f6);
}
[data-v-6c6ce035] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked:hover {
  color: var(--color-primary, #3b82f6);
  border-color: var(--color-primary, #3b82f6);
}
[data-v-6c6ce035] .ant-radio-button-wrapper[class*='ant-radio-button-wrapper-checked'].ant-radio-button-wrapper-checked:not(
      .ant-radio-button-wrapper-disabled
    ) {
  background: var(--color-primary, #3b82f6);
  color: #fff;
  border-color: var(--color-primary, #3b82f6);
}
[data-v-6c6ce035] .ant-radio-button-wrapper[class*='ant-radio-button-wrapper-checked'].ant-radio-button-wrapper-checked:not(
      .ant-radio-button-wrapper-disabled
    ):hover {
  background: color-mix(in srgb, var(--color-primary, #3b82f6) 85%, #000);
  border-color: color-mix(in srgb, var(--color-primary, #3b82f6) 85%, #000);
  color: #fff;
}
[data-v-6c6ce035] .ant-radio-button-wrapper[class*='ant-radio-button-wrapper-checked'].ant-radio-button-wrapper-checked:not(
      .ant-radio-button-wrapper-disabled
    )::before {
  background-color: var(--color-primary, #3b82f6) !important;
}
.data-source-config[data-v-1b30350d] {
  padding: 0;
}
.data-source-config .config-section[data-v-1b30350d] {
  background: #fff;
  border: 1px solid #e5e6eb;
  border-radius: 8px;
  padding: 12px;
  margin-bottom: 12px;
}
.data-source-config .config-section .section-title[data-v-1b30350d] {
  font-size: 13px;
  font-weight: 600;
  color: #1d2129;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #f2f3f5;
}
.data-source-config .static-hint[data-v-1b30350d] {
  text-align: center;
  padding: 16px 12px;
}
.data-source-config .static-hint[data-v-1b30350d] .ant-empty-description {
  color: #86909c;
  font-size: 12px;
}
.data-source-config .field-row[data-v-1b30350d] {
  display: flex;
  gap: 12px;
}
.data-source-config .field-row .field-half[data-v-1b30350d] {
  flex: 1;
  min-width: 0;
}
.data-source-config .field-hint[data-v-1b30350d] {
  font-size: 11px;
  color: #c9cdd4;
  line-height: 1.5;
  margin-top: 4px;
}
.data-source-config .test-result[data-v-1b30350d] {
  margin-top: 8px;
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 12px;
  line-height: 1.5;
}
.data-source-config .test-result.success[data-v-1b30350d] {
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  color: #16a34a;
}
.data-source-config .test-result.error[data-v-1b30350d] {
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #dc2626;
}
.data-source-config[data-v-1b30350d] .ant-form-item {
  margin-bottom: 14px;
}
.data-source-config[data-v-1b30350d] .ant-form-item:last-child {
  margin-bottom: 0;
}
.data-source-config[data-v-1b30350d] .ant-form-item-label {
  padding-bottom: 4px;
}
.data-source-config[data-v-1b30350d] .ant-form-item-label > label {
  font-size: 12px;
  font-weight: 500;
  color: #4e5969;
}
.data-source-config[data-v-1b30350d] .ant-input,
.data-source-config[data-v-1b30350d] .ant-select,
.data-source-config[data-v-1b30350d] .ant-textarea {
  border-radius: 6px;
  border-color: #e5e6eb;
  font-size: 13px;
}
.data-source-config[data-v-1b30350d] .ant-input:hover,
.data-source-config[data-v-1b30350d] .ant-select:hover,
.data-source-config[data-v-1b30350d] .ant-textarea:hover {
  border-color: #c9cdd4;
}
.data-source-config[data-v-1b30350d] .ant-input:focus,
.data-source-config[data-v-1b30350d] .ant-select:focus,
.data-source-config[data-v-1b30350d] .ant-textarea:focus {
  border-color: var(--color-primary, #3b82f6);
  box-shadow: 0 0 0 2px var(--color-primary-bg-hover, #eff6ff);
}
/* 单选按钮主题色适配 */
[data-v-1b30350d] .ant-radio-wrapper .ant-radio-inner {
  border-color: var(--color-border, #d9d9d9);
}
[data-v-1b30350d] .ant-radio-wrapper.ant-radio-wrapper-checked .ant-radio-inner {
  border-color: var(--color-primary, #3b82f6);
}
[data-v-1b30350d] .ant-radio-wrapper.ant-radio-wrapper-checked .ant-radio-inner::after {
  background-color: var(--color-primary, #3b82f6);
}
[data-v-1b30350d] .ant-radio-wrapper:hover .ant-radio-inner {
  border-color: var(--color-primary, #3b82f6);
}
[data-v-1b30350d] .ant-radio-button-wrapper {
  color: var(--color-text-secondary, #4e5969);
  border-color: var(--color-border-light, #e5e6eb);
}
[data-v-1b30350d] .ant-radio-button-wrapper:hover {
  color: var(--color-primary, #3b82f6);
  border-color: var(--color-primary, #3b82f6);
}
[data-v-1b30350d] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked {
  color: var(--color-primary, #3b82f6);
  border-color: var(--color-primary, #3b82f6);
  background: var(--color-bg-container, #fff);
}
[data-v-1b30350d] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked::before {
  background-color: var(--color-primary, #3b82f6) !important;
}
[data-v-1b30350d] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked:first-child,[data-v-1b30350d] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked:last-child {
  border-color: var(--color-primary, #3b82f6);
}
[data-v-1b30350d] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked:hover {
  color: var(--color-primary, #3b82f6);
  border-color: var(--color-primary, #3b82f6);
}
[data-v-1b30350d] .ant-radio-button-wrapper[class*='ant-radio-button-wrapper-checked'].ant-radio-button-wrapper-checked:not(
      .ant-radio-button-wrapper-disabled
    ) {
  background: var(--color-primary, #3b82f6);
  color: #fff;
  border-color: var(--color-primary, #3b82f6);
}
[data-v-1b30350d] .ant-radio-button-wrapper[class*='ant-radio-button-wrapper-checked'].ant-radio-button-wrapper-checked:not(
      .ant-radio-button-wrapper-disabled
    ):hover {
  background: color-mix(in srgb, var(--color-primary, #3b82f6) 85%, #000);
  border-color: color-mix(in srgb, var(--color-primary, #3b82f6) 85%, #000);
  color: #fff;
}
[data-v-1b30350d] .ant-radio-button-wrapper[class*='ant-radio-button-wrapper-checked'].ant-radio-button-wrapper-checked:not(
      .ant-radio-button-wrapper-disabled
    )::before {
  background-color: var(--color-primary, #3b82f6) !important;
}
/* ===========================
   属性面板 - 整体布局
   =========================== */
.field-config[data-v-2cfaf391] {
  height: calc(100% - 48px);
  display: flex;
  flex-direction: column;
  background: #fff;
  border-left: none;
  gap: 0;
}
/* ===========================
   空状态
   =========================== */
.empty-state[data-v-2cfaf391] {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 48px 24px;
  text-align: center;
}
.empty-icon[data-v-2cfaf391] {
  width: 64px;
  height: 64px;
  line-height: 64px;
  text-align: center;
  border-radius: 50%;
  background: var(--color-neutral-50, #f5f7fa);
  font-size: 28px;
  margin-bottom: 16px;
  color: var(--color-primary, #3b82f6);
}
.empty-text[data-v-2cfaf391] {
  font-size: 14px;
  margin-bottom: 6px;
  color: var(--color-text-secondary, #86909c);
  font-weight: 500;
}
.empty-subtext[data-v-2cfaf391] {
  font-size: 12px;
  color: var(--color-text-tertiary, #c9cdd4);
}
/* ===========================
   配置面板头部
   =========================== */
.config-header[data-v-2cfaf391] {
  padding: 16px 18px 14px;
  background: var(--color-neutral-50, #f5f7fa);
  border-bottom: 1px solid var(--color-border-light);
  flex-shrink: 0;
}
.config-title[data-v-2cfaf391] {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--color-text, #1d2129);
}
.config-title[data-v-2cfaf391] .anticon {
  color: var(--color-primary, #3b82f6);
  font-size: 16px;
}
.config-type[data-v-2cfaf391] {
  display: inline-block;
  margin-left: 6px;
  padding: 1px 8px;
  font-size: 11px;
  font-weight: 400;
  color: var(--color-primary, #3b82f6);
  background: var(--color-primary-bg-hover, #eff6ff);
  border-radius: 10px;
  line-height: 18px;
}
/* ===========================
   Tab 导航
   =========================== */
.config-tabs[data-v-2cfaf391] {
  flex: 1;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.config-tabs[data-v-2cfaf391] .ant-tabs {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--color-bg-layout, #f7f8fa);
}
.config-tabs[data-v-2cfaf391] .ant-tabs-nav {
  flex-shrink: 0;
  margin-bottom: 0;
  padding: 0 12px;
  background: var(--color-bg-container, #fff);
  border-bottom: 1px solid var(--color-border-light, #e5e6eb);
}
.config-tabs[data-v-2cfaf391] .ant-tabs-nav::before {
  border: none !important;
}
.config-tabs[data-v-2cfaf391] .ant-tabs-tab {
  padding: 10px 12px;
  margin: 0 2px;
  font-size: 13px;
  color: var(--color-text-secondary, #86909c);
  transition: color 0.2s, transform 0.15s;
}
.config-tabs[data-v-2cfaf391] .ant-tabs-tab:hover {
  color: var(--color-primary, #3b82f6);
}
.config-tabs[data-v-2cfaf391] .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn {
  color: var(--color-primary, #3b82f6);
  font-weight: 600;
}
.config-tabs[data-v-2cfaf391] .ant-tabs-ink-bar {
  height: 2px;
  background: var(--color-primary, #3b82f6);
  border-radius: 1px;
}
.config-tabs[data-v-2cfaf391] .ant-tabs-content-holder {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  min-height: 0;
  padding: 0;
}
.config-tabs[data-v-2cfaf391] .ant-tabs-content-holder::-webkit-scrollbar {
  width: 5px;
}
.config-tabs[data-v-2cfaf391] .ant-tabs-content-holder::-webkit-scrollbar-thumb {
  background: var(--color-text-tertiary, #c9cdd4);
  border-radius: 3px;
}
.config-tabs[data-v-2cfaf391] .ant-tabs-content-holder::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-secondary, #86909c);
}
.config-tabs[data-v-2cfaf391] .ant-tabs-content-holder::-webkit-scrollbar-track {
  background: transparent;
}
.config-tabs[data-v-2cfaf391] .ant-tabs-content {
  height: auto;
}
.config-tabs[data-v-2cfaf391] .ant-tabs-tabpane {
  padding: 0;
}
/* ===========================
   配置区域
   =========================== */
.config-section[data-v-2cfaf391] {
  padding: 16px 14px;
}
.section-title[data-v-2cfaf391] {
  margin: 0 0 4px 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--color-text, #1d2129);
  letter-spacing: 0.3px;
  padding-left: 4px;
}
.section-desc[data-v-2cfaf391] {
  margin: 0 0 16px 0;
  font-size: 12px;
  color: var(--color-text-secondary, #86909c);
  line-height: 1.5;
}
/* ===========================
   配置分组
   =========================== */
.config-group[data-v-2cfaf391] {
  margin-bottom: 16px;
  background: var(--color-bg-container, #fff);
  border: 1px solid var(--color-border-light, #e5e6eb);
  border-radius: var(--radius-md);
  overflow: hidden;
}
.config-group[data-v-2cfaf391]:last-child {
  margin-bottom: 0;
}
.config-group[data-v-2cfaf391]:hover {
  box-shadow: var(--shadow-xs);
}
.config-group-header[data-v-2cfaf391] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  font-size: 13px;
  font-weight: 600;
  color: var(--color-text, #1d2129);
  background: var(--color-bg-layout, #fafbfc);
  border-bottom: 1px solid var(--color-border-light, #f2f3f5);
}
.group-icon[data-v-2cfaf391] {
  font-size: 13px;
  color: var(--color-primary, #3b82f6);
}
.config-group-body[data-v-2cfaf391] {
  padding: 4px 14px 8px;
}
.config-group-body[data-v-2cfaf391] .ant-form-item {
  margin-bottom: 12px;
}
.config-group-body[data-v-2cfaf391] .ant-form-item:last-child {
  margin-bottom: 8px;
}
/* ===========================
   表单项样式覆盖
   =========================== */
[data-v-2cfaf391] .ant-form-item {
  margin-bottom: 14px;
}
[data-v-2cfaf391] .ant-form-item-label {
  padding-bottom: 4px;
}
[data-v-2cfaf391] .ant-form-item-label > label {
  font-size: 12px;
  font-weight: 500;
  color: var(--color-text-secondary, #4e5969);
  height: auto;
}
[data-v-2cfaf391] .ant-form-item-control-input {
  min-height: 32px;
}
[data-v-2cfaf391] .ant-input,[data-v-2cfaf391] .ant-select,[data-v-2cfaf391] .ant-input-number,[data-v-2cfaf391] .ant-textarea,[data-v-2cfaf391] .ant-picker {
  border-radius: 6px;
  border-color: var(--color-border-light, #e5e6eb);
  font-size: 13px;
  transition: border-color 0.2s, box-shadow 0.2s;
}
[data-v-2cfaf391] .ant-input:hover,[data-v-2cfaf391] .ant-select:hover,[data-v-2cfaf391] .ant-input-number:hover,[data-v-2cfaf391] .ant-textarea:hover,[data-v-2cfaf391] .ant-picker:hover {
  border-color: var(--color-border, #c9cdd4);
}
[data-v-2cfaf391] .ant-input:focus,[data-v-2cfaf391] .ant-select:focus,[data-v-2cfaf391] .ant-input-number:focus,[data-v-2cfaf391] .ant-textarea:focus,[data-v-2cfaf391] .ant-picker:focus,[data-v-2cfaf391] .ant-input.ant-input-affix-wrapper-focused,[data-v-2cfaf391] .ant-select.ant-input-affix-wrapper-focused,[data-v-2cfaf391] .ant-input-number.ant-input-affix-wrapper-focused,[data-v-2cfaf391] .ant-textarea.ant-input-affix-wrapper-focused,[data-v-2cfaf391] .ant-picker.ant-input-affix-wrapper-focused,[data-v-2cfaf391] .ant-input.ant-select-focused,[data-v-2cfaf391] .ant-select.ant-select-focused,[data-v-2cfaf391] .ant-input-number.ant-select-focused,[data-v-2cfaf391] .ant-textarea.ant-select-focused,[data-v-2cfaf391] .ant-picker.ant-select-focused {
  border-color: var(--color-primary, #3b82f6);
  box-shadow: 0 0 0 2px var(--color-primary-bg-hover, #eff6ff);
}
[data-v-2cfaf391] .ant-checkbox-wrapper {
  font-size: 13px;
  color: var(--color-text-secondary, #4e5969);
}
[data-v-2cfaf391] .ant-checkbox-wrapper .ant-checkbox-checked .ant-checkbox-inner {
  background-color: var(--color-primary, #3b82f6);
  border-color: var(--color-primary, #3b82f6);
}
[data-v-2cfaf391] .ant-radio-wrapper {
  font-size: 13px;
  color: var(--color-text-secondary, #4e5969);
}
[data-v-2cfaf391] .ant-radio-wrapper .ant-radio-inner {
  border-color: var(--color-border, #d9d9d9);
}
[data-v-2cfaf391] .ant-radio-wrapper.ant-radio-wrapper-checked .ant-radio-inner {
  border-color: var(--color-primary, #3b82f6);
}
[data-v-2cfaf391] .ant-radio-wrapper.ant-radio-wrapper-checked .ant-radio-inner::after {
  background-color: var(--color-primary, #3b82f6);
}
[data-v-2cfaf391] .ant-radio-wrapper:hover .ant-radio-inner {
  border-color: var(--color-primary, #3b82f6);
}
/* 单选按钮组主题色 */
[data-v-2cfaf391] .ant-radio-button-wrapper {
  font-size: 13px;
  color: var(--color-text-secondary, #4e5969);
  border-color: var(--color-border-light, #e5e6eb);
  /* solid 模式（button-style="solid"） */
}
[data-v-2cfaf391] .ant-radio-button-wrapper:hover {
  color: var(--color-primary, #3b82f6);
  border-color: var(--color-primary, #3b82f6);
}
[data-v-2cfaf391] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked {
  color: var(--color-primary, #3b82f6);
  border-color: var(--color-primary, #3b82f6);
  background: var(--color-bg-container, #fff);
}
[data-v-2cfaf391] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked::before {
  background-color: var(--color-primary, #3b82f6) !important;
}
[data-v-2cfaf391] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked:first-child {
  border-color: var(--color-primary, #3b82f6);
}
[data-v-2cfaf391] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked:last-child {
  border-color: var(--color-primary, #3b82f6);
}
[data-v-2cfaf391] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked:hover {
  color: var(--color-primary, #3b82f6);
  border-color: var(--color-primary, #3b82f6);
}
[data-v-2cfaf391] .ant-radio-button-wrapper[class*='ant-radio-button-wrapper-checked'].ant-radio-button-wrapper-checked:not(
      .ant-radio-button-wrapper-disabled
    ) {
  background: var(--color-primary, #3b82f6);
  color: #fff;
  border-color: var(--color-primary, #3b82f6);
}
[data-v-2cfaf391] .ant-radio-button-wrapper[class*='ant-radio-button-wrapper-checked'].ant-radio-button-wrapper-checked:not(
      .ant-radio-button-wrapper-disabled
    ):hover {
  background: color-mix(in srgb, var(--color-primary, #3b82f6) 85%, #000);
  border-color: color-mix(in srgb, var(--color-primary, #3b82f6) 85%, #000);
  color: #fff;
}
[data-v-2cfaf391] .ant-radio-button-wrapper[class*='ant-radio-button-wrapper-checked'].ant-radio-button-wrapper-checked:not(
      .ant-radio-button-wrapper-disabled
    )::before {
  background-color: var(--color-primary, #3b82f6) !important;
}
[data-v-2cfaf391] .ant-radio-group {
  gap: 0;
}
[data-v-2cfaf391] .ant-slider {
  margin: 8px 0 4px;
}
[data-v-2cfaf391] .ant-slider-track {
  background-color: var(--color-primary, #3b82f6);
}
[data-v-2cfaf391] .ant-slider-handle {
  border-color: var(--color-primary, #3b82f6);
}
[data-v-2cfaf391] .ant-slider-handle:focus {
  box-shadow: 0 0 0 4px var(--color-primary-bg-selected, #eff6ff);
}
/* ===========================
   提示文字
   =========================== */
.form-item-hint[data-v-2cfaf391] {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  color: var(--color-text-tertiary, #c9cdd4);
  line-height: 1.5;
}
.span-hint[data-v-2cfaf391] {
  display: block;
  margin-top: 24px;
  font-size: 12px;
  color: var(--color-text-tertiary, #c9cdd4);
  line-height: 1.5;
}
/* ===========================
   无配置状态
   =========================== */
.no-config[data-v-2cfaf391] {
  text-align: center;
  padding: 40px 20px;
  color: var(--color-text-tertiary, #c9cdd4);
  font-size: 13px;
}
.no-config-hint[data-v-2cfaf391] {
  font-size: 12px;
  margin-top: 6px;
  color: var(--color-text-quaternary, #e5e6eb);
}
.form-preview-content[data-v-124bc053] {
  max-height: 600px;
  overflow-y: auto;
  padding: var(--spacing-5);
  background: var(--color-bg-container, #fff);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
}
.form-preview-content[data-v-124bc053]::-webkit-scrollbar {
  width: 5px;
}
.form-preview-content[data-v-124bc053]::-webkit-scrollbar-thumb {
  background: var(--color-text-tertiary, #c9cdd4);
  border-radius: 3px;
}
.form-preview-content[data-v-124bc053]::-webkit-scrollbar-track {
  background: transparent;
}
.form-preview-embedded .form-preview-content[data-v-124bc053] {
  max-height: none;
  overflow: visible;
  box-shadow: none;
  border-radius: 0;
}
.preview-form[data-v-124bc053] {
  padding: var(--spacing-3);
}
.form-preview-footer[data-v-124bc053] {
  display: flex;
  justify-content: flex-end;
  padding: var(--spacing-4) var(--spacing-6);
  border-top: 1px solid var(--color-border-light);
  background: var(--color-bg-container, #fff);
}
.unsupported-field[data-v-124bc053] {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  padding: var(--spacing-2) var(--spacing-3);
  background: var(--color-warning-50, #fffbe6);
  border-radius: var(--radius-md);
  border: 1px solid rgba(250, 173, 20, 0.15);
}
.unsupported-text[data-v-124bc053] {
  color: var(--color-warning-600);
  font-size: var(--font-size-sm);
}
.validation-errors[data-v-124bc053] {
  margin-bottom: var(--spacing-4);
  padding: 0 var(--spacing-4);
}
.error-list[data-v-124bc053] {
  margin: var(--spacing-2) 0 0 var(--spacing-4);
  padding: 0;
  color: var(--color-error-600);
}
/* === Arco Design Palette === */
[data-v-87ff13b1]:root {
  --color-success: #00b42a;
  --color-warning: #ff7d00;
  --color-error: #f53f3f;
  --color-text-1: #1d2129;
  --color-text-2: #4e5969;
  --color-text-3: #86909c;
  --color-border: #e5e6eb;
  --color-bg-1: #f7f8fa;
}
.rule-editor-card[data-v-87ff13b1] {
  height: 100%;
  border-radius: 12px;
}
/* === 规则列表 === */
.rule-list[data-v-87ff13b1] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
/* === 规则条目 === */
.rule-item[data-v-87ff13b1] {
  border: 1px solid var(--color-border);
  border-radius: 8px;
  overflow: hidden;
  transition: all 0.2s ease;
  background: #fff;
}
.rule-item[data-v-87ff13b1]:hover {
  border-color: var(--color-primary);
  box-shadow: 0 2px 8px var(--color-primary-10, #eff6ff);
}
.rule-item.active[data-v-87ff13b1] {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px var(--color-primary-bg-selected, #eff6ff);
}
.rule-item.disabled[data-v-87ff13b1] {
  opacity: 0.6;
}
/* === 规则头部 === */
.rule-item-header[data-v-87ff13b1] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  cursor: pointer;
  user-select: none;
}
.rule-item-left[data-v-87ff13b1] {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  min-width: 0;
}
.rule-status-dot[data-v-87ff13b1] {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.status-enabled[data-v-87ff13b1] {
  background-color: var(--color-success);
  box-shadow: 0 0 0 3px rgba(0, 180, 42, 0.15);
}
.status-disabled[data-v-87ff13b1] {
  background-color: var(--color-text-3);
}
.rule-name[data-v-87ff13b1] {
  font-size: 14px;
  font-weight: 600;
  color: var(--color-text-1);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rule-desc[data-v-87ff13b1] {
  font-size: 12px;
  color: var(--color-text-3);
  white-space: nowrap;
  flex-shrink: 0;
}
.rule-item-actions[data-v-87ff13b1] {
  display: flex;
  align-items: center;
  gap: 2px;
  flex-shrink: 0;
}
.expand-btn[data-v-87ff13b1] {
  color: var(--color-text-3);
  transition: color 0.2s;
}
.expand-btn[data-v-87ff13b1]:hover {
  color: var(--color-primary);
}
/* === 展开动画 === */
.rule-expand-enter-active[data-v-87ff13b1],
.rule-expand-leave-active[data-v-87ff13b1] {
  transition: all 0.25s ease;
  overflow: hidden;
}
.rule-expand-enter-from[data-v-87ff13b1],
.rule-expand-leave-to[data-v-87ff13b1] {
  opacity: 0;
  max-height: 0;
}
.rule-expand-enter-to[data-v-87ff13b1],
.rule-expand-leave-from[data-v-87ff13b1] {
  opacity: 1;
  max-height: 500px;
}
/* === 展开内容区 === */
.rule-item-body[data-v-87ff13b1] {
  padding: 0 16px 16px;
  border-top: 1px solid var(--color-border);
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 0;
  padding-top: 12px;
}
/* === 条件组 / 动作组 通用 === */
.inline-condition-group[data-v-87ff13b1],
.inline-action-group[data-v-87ff13b1] {
  border-radius: 6px;
  overflow: hidden;
}
.group-label[data-v-87ff13b1] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.group-label-bar[data-v-87ff13b1] {
  width: 3px;
  height: 16px;
  border-radius: 2px;
  flex-shrink: 0;
}
.condition-bar[data-v-87ff13b1] {
  background-color: var(--color-primary);
}
.action-bar[data-v-87ff13b1] {
  background-color: var(--color-success);
}
.group-label-text[data-v-87ff13b1] {
  font-size: 12px;
  font-weight: 600;
  color: var(--color-text-2);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.group-items[data-v-87ff13b1] {
  padding-left: 12px;
  border-left: 3px solid var(--color-border);
  margin-left: 1px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.inline-condition-group .group-items[data-v-87ff13b1] {
  border-left-color: color-mix(in srgb, var(--color-primary, #3b82f6) 25%, transparent);
  background: color-mix(in srgb, var(--color-primary, #3b82f6) 3%, transparent);
  padding: 8px 12px;
  border-radius: 0 6px 6px 0;
}
.inline-action-group .group-items[data-v-87ff13b1] {
  border-left-color: rgba(0, 180, 42, 0.25);
  background: rgba(0, 180, 42, 0.03);
  padding: 8px 12px;
  border-radius: 0 6px 6px 0;
}
/* === 条件项 === */
.inline-condition-item[data-v-87ff13b1] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  line-height: 22px;
}
.type-dot[data-v-87ff13b1] {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
}
.cond-field[data-v-87ff13b1] {
  font-weight: 500;
  color: var(--color-text-1);
}
.cond-operator[data-v-87ff13b1] {
  color: var(--color-text-2);
  padding: 0 4px;
  font-size: 12px;
}
.cond-value[data-v-87ff13b1] {
  color: var(--color-primary);
  background: var(--color-primary-10, #eff6ff);
  padding: 1px 6px;
  border-radius: 4px;
  font-size: 12px;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
}
/* === 动作项 === */
.inline-action-item[data-v-87ff13b1] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  line-height: 22px;
}
.action-type-badge[data-v-87ff13b1] {
  font-size: 11px;
  font-weight: 600;
  padding: 0 6px;
  border: 1px solid;
  border-radius: 4px;
  line-height: 20px;
  white-space: nowrap;
}
.action-targets[data-v-87ff13b1] {
  color: var(--color-text-1);
  font-weight: 500;
}
.action-value[data-v-87ff13b1] {
  color: var(--color-warning);
  background: rgba(255, 125, 0, 0.06);
  padding: 1px 6px;
  border-radius: 4px;
  font-size: 12px;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
}
/* === 空提示 === */
.empty-hint[data-v-87ff13b1] {
  font-size: 12px;
  color: var(--color-text-3);
  font-style: italic;
  padding: 4px 0;
}
/* === 弹窗内的条件组 / 动作组 === */
.condition-group[data-v-87ff13b1],
.action-group[data-v-87ff13b1] {
  background: var(--color-bg-1);
  padding: 16px;
  border-radius: 8px;
  margin-bottom: 16px;
  position: relative;
}
.condition-group[data-v-87ff13b1] {
  border-left: 4px solid var(--color-primary);
}
.action-group[data-v-87ff13b1] {
  border-left: 4px solid var(--color-success);
}
.condition-item[data-v-87ff13b1],
.action-item[data-v-87ff13b1] {
  background: #fff;
  padding: 12px;
  border-radius: 6px;
  margin-bottom: 8px;
  border: 1px solid var(--color-border);
}
/* ===== Arco Design 调色板变量 ===== */
.formula-editor-card[data-v-4b8acfb7] {
  --arco-primary: var(--color-primary, #3b82f6);
  --arco-primary-light: var(--color-primary-bg-hover, #eff6ff);
  --arco-primary-border: #94bfff;
  --arco-success: #00b42a;
  --arco-success-light: #e8ffea;
  --arco-success-border: #7be188;
  --arco-danger: #f53f3f;
  --arco-danger-light: #ffece8;
  --arco-danger-border: #f76560;
  --arco-text-1: #1d2129;
  --arco-text-2: #4e5969;
  --arco-text-3: #86909c;
  --arco-text-4: #c9cdd4;
  --arco-border: #e5e6eb;
  --arco-fill-1: #f7f8fa;
  --arco-fill-2: #f2f3f5;
  --arco-fill-3: #e5e6eb;
  height: 100%;
  border-radius: 8px;
}
.formula-editor-card[data-v-4b8acfb7] .ant-card-head {
  border-bottom: 1px solid var(--arco-border);
  padding: 0 16px;
  min-height: 48px;
}
.formula-editor-card[data-v-4b8acfb7] .ant-card-head-title {
  padding: 12px 0;
  font-size: 15px;
  font-weight: 600;
  color: var(--arco-text-1);
}
.formula-editor-card[data-v-4b8acfb7] .ant-card-body {
  padding: 16px;
  height: calc(100% - 48px);
  overflow-y: auto;
}
/* ===== 左侧字段列表 ===== */
.field-list[data-v-4b8acfb7] {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.field-list-header[data-v-4b8acfb7] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.field-list-header h4[data-v-4b8acfb7] {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: var(--arco-text-1);
}
.field-count[data-v-4b8acfb7] {
  font-size: 12px;
  color: var(--arco-text-3);
  background: var(--arco-fill-1);
  padding: 2px 8px;
  border-radius: 10px;
}
.field-list-body[data-v-4b8acfb7] {
  flex: 1;
  overflow-y: auto;
  border: 1px solid var(--arco-border);
  border-radius: 8px;
  padding: 4px;
}
.field-list-empty[data-v-4b8acfb7] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 32px 16px;
  color: var(--arco-text-4);
}
.field-list-empty p[data-v-4b8acfb7] {
  margin: 8px 0 0;
  font-size: 13px;
}
.field-list-empty .sub-text[data-v-4b8acfb7] {
  font-size: 12px;
  color: var(--arco-text-4);
  margin-top: 4px;
}
.field-item[data-v-4b8acfb7] {
  cursor: pointer;
  padding: 8px 10px;
  border-radius: 6px;
  margin-bottom: 2px;
  transition: all 0.2s ease;
  border: 1px solid transparent;
}
.field-item[data-v-4b8acfb7]:hover {
  background: var(--arco-primary-light);
  border-color: var(--arco-primary-border);
}
.field-item.is-active[data-v-4b8acfb7] {
  background: var(--arco-primary-light);
  border-color: var(--arco-primary);
}
.field-item-label[data-v-4b8acfb7] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--arco-text-1);
}
.field-item-icon[data-v-4b8acfb7] {
  color: var(--arco-text-3);
  font-size: 12px;
}
.field-item-name[data-v-4b8acfb7] {
  font-size: 11px;
  color: var(--arco-text-3);
  margin-top: 2px;
  padding-left: 18px;
  font-family: 'JetBrains Mono', 'Monaco', 'Consolas', monospace;
}
/* ===== 右侧表单 ===== */
.formula-form[data-v-4b8acfb7] {
  height: 100%;
}
.formula-form[data-v-4b8acfb7] .ant-form-item {
  margin-bottom: 16px;
}
.formula-form[data-v-4b8acfb7] .ant-form-item-label > label {
  font-weight: 500;
  font-size: 13px;
  color: var(--arco-text-2);
}
.select-field-name[data-v-4b8acfb7] {
  color: var(--arco-text-3);
  font-size: 12px;
  margin-left: 4px;
}
/* ===== 公式输入区（代码编辑器风格） ===== */
.formula-input-wrapper[data-v-4b8acfb7] {
  display: flex;
  align-items: stretch;
  background: #1e1e2e;
  border: 1px solid #313244;
  border-radius: 8px;
  overflow: hidden;
  min-height: 120px;
}
.formula-line-numbers[data-v-4b8acfb7] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding: 10px 0;
  min-width: 36px;
  background: #181825;
  border-right: 1px solid #313244;
  user-select: none;
}
.line-number[data-v-4b8acfb7] {
  display: block;
  font-family: 'JetBrains Mono', 'Monaco', 'Consolas', monospace;
  font-size: 12px;
  line-height: 22px;
  color: #585b70;
  text-align: center;
}
.formula-editor-area[data-v-4b8acfb7] {
  flex: 1;
  display: flex;
  align-items: flex-start;
  padding: 8px 12px;
  position: relative;
}
.formula-prefix[data-v-4b8acfb7] {
  font-family: 'JetBrains Mono', 'Monaco', 'Consolas', monospace;
  font-size: 16px;
  font-weight: 700;
  color: #f38ba8;
  margin-top: 2px;
  flex-shrink: 0;
  user-select: none;
  padding-right: 4px;
}
.formula-textarea[data-v-4b8acfb7] {
  flex: 1;
  font-family: 'JetBrains Mono', 'Monaco', 'Consolas', monospace;
  font-size: 13px;
  line-height: 22px;
  color: #cdd6f4;
  border: none;
  background: transparent;
  box-shadow: none !important;
  resize: none;
  padding: 0;
}
.formula-textarea[data-v-4b8acfb7]::placeholder {
  color: #585b70;
}
.formula-textarea[data-v-4b8acfb7]:focus {
  box-shadow: none !important;
}
.formula-preview[data-v-4b8acfb7] {
  margin-top: 8px;
  padding: 8px 12px;
  background: var(--arco-fill-1);
  border: 1px solid var(--arco-border);
  border-radius: 6px;
  font-size: 12px;
}
.preview-label[data-v-4b8acfb7] {
  color: var(--arco-text-3);
}
.preview-code[data-v-4b8acfb7] {
  color: var(--arco-primary);
  font-family: 'JetBrains Mono', 'Monaco', 'Consolas', monospace;
  word-break: break-all;
}
/* ===== 测试结果卡片 ===== */
.test-result-card[data-v-4b8acfb7] {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 16px;
  border-radius: 8px;
  border: 1px solid var(--arco-border);
  transition: all 0.2s ease;
}
.test-result-card.is-success[data-v-4b8acfb7] {
  background: var(--arco-success-light);
  border-color: var(--arco-success-border);
}
.test-result-card.is-error[data-v-4b8acfb7] {
  background: var(--arco-danger-light);
  border-color: var(--arco-danger-border);
}
.test-result-icon[data-v-4b8acfb7] {
  flex-shrink: 0;
  font-size: 18px;
  margin-top: 1px;
}
.test-result-card.is-success .test-result-icon[data-v-4b8acfb7] {
  color: var(--arco-success);
}
.test-result-card.is-error .test-result-icon[data-v-4b8acfb7] {
  color: var(--arco-danger);
}
.test-result-content[data-v-4b8acfb7] {
  flex: 1;
  min-width: 0;
}
.test-result-title[data-v-4b8acfb7] {
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 2px;
}
.test-result-card.is-success .test-result-title[data-v-4b8acfb7] {
  color: var(--arco-success);
}
.test-result-card.is-error .test-result-title[data-v-4b8acfb7] {
  color: var(--arco-danger);
}
.test-result-desc[data-v-4b8acfb7] {
  font-size: 12px;
  color: var(--arco-text-2);
  word-break: break-all;
  font-family: 'JetBrains Mono', 'Monaco', 'Consolas', monospace;
}
.test-result-close[data-v-4b8acfb7] {
  flex-shrink: 0;
  color: var(--arco-text-3) !important;
}
.test-result-close[data-v-4b8acfb7]:hover {
  color: var(--arco-text-1) !important;
}
/* ===== 快捷插入 ===== */
.quick-functions[data-v-4b8acfb7] {
  margin-top: 8px;
}
.quick-functions .ant-divider-inner-text[data-v-4b8acfb7] {
  font-size: 12px;
  color: var(--arco-text-3);
  font-weight: 500;
}
.quick-groups[data-v-4b8acfb7] {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.quick-group[data-v-4b8acfb7] {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.quick-group-label[data-v-4b8acfb7] {
  font-size: 12px;
  color: var(--arco-text-3);
  min-width: 52px;
  line-height: 28px;
  flex-shrink: 0;
}
.quick-btn[data-v-4b8acfb7] {
  border-radius: 4px !important;
  font-family: 'JetBrains Mono', 'Monaco', 'Consolas', monospace;
  font-size: 12px !important;
  transition: all 0.2s ease !important;
}
.operator-btn[data-v-4b8acfb7] {
  min-width: 32px;
  font-weight: 600 !important;
  color: var(--arco-text-1) !important;
  border-color: var(--arco-border) !important;
  background: var(--arco-fill-1) !important;
}
.operator-btn[data-v-4b8acfb7]:hover {
  border-color: var(--arco-primary) !important;
  color: var(--arco-primary) !important;
  background: var(--arco-primary-light) !important;
}
.function-btn[data-v-4b8acfb7] {
  color: var(--arco-primary) !important;
  border-color: var(--arco-primary-border) !important;
  background: var(--arco-primary-light) !important;
}
.function-btn[data-v-4b8acfb7]:hover {
  color: #fff !important;
  background: var(--arco-primary) !important;
  border-color: var(--arco-primary) !important;
}
.logic-btn[data-v-4b8acfb7] {
  color: #722ed1 !important;
  border-color: #b37feb !important;
  background: #f5e8ff !important;
}
.logic-btn[data-v-4b8acfb7]:hover {
  color: #fff !important;
  background: #722ed1 !important;
  border-color: #722ed1 !important;
}
.text-btn[data-v-4b8acfb7] {
  color: #0fc6c2 !important;
  border-color: #5cdbd3 !important;
  background: #e8fffe !important;
}
.text-btn[data-v-4b8acfb7]:hover {
  color: #fff !important;
  background: #0fc6c2 !important;
  border-color: #0fc6c2 !important;
}
.date-btn[data-v-4b8acfb7] {
  color: #ff7d00 !important;
  border-color: #ffc48a !important;
  background: #fff7e8 !important;
}
.date-btn[data-v-4b8acfb7]:hover {
  color: #fff !important;
  background: #ff7d00 !important;
  border-color: #ff7d00 !important;
}
.sub-form-config-modal[data-v-5ae8167a] {
  padding: 8px;
}
.config-header[data-v-5ae8167a] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}
.config-header h3[data-v-5ae8167a] {
  margin: 0;
  font-size: 16px;
}
.sub-form-list[data-v-5ae8167a] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.sub-form-card[data-v-5ae8167a] {
  background: #fafafa;
  border-radius: 8px;
  border: 2px solid transparent;
  transition: all 0.2s;
  cursor: pointer;
}
.sub-form-card[data-v-5ae8167a]:hover {
  background: #f0f0f0;
}
.sub-form-card.active[data-v-5ae8167a] {
  border-color: #1890ff;
  background: #fff;
}
.card-header[data-v-5ae8167a] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  border-bottom: 1px solid #e8e8e8;
}
.card-title[data-v-5ae8167a] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 500;
}
.card-body[data-v-5ae8167a] {
  padding: 16px;
}
.form-row[data-v-5ae8167a] {
  margin-bottom: 12px;
}
.form-row[data-v-5ae8167a]:last-child {
  margin-bottom: 0;
}
.form-row label[data-v-5ae8167a] {
  display: block;
  font-size: 12px;
  color: #666;
  margin-bottom: 6px;
}
.config-options[data-v-5ae8167a] {
  display: flex;
  flex-wrap: wrap;
}
.checkbox-label[data-v-5ae8167a] {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
}
.card-footer[data-v-5ae8167a] {
  padding: 8px 16px;
  border-top: 1px solid #e8e8e8;
  text-align: right;
}
.empty-state[data-v-5ae8167a] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  color: #8c8c8c;
}
.empty-icon[data-v-5ae8167a] {
  width: 48px;
  height: 48px;
  line-height: 48px;
  text-align: center;
  background: #f0f0f0;
  border-radius: 50%;
  font-size: 24px;
  margin-bottom: 12px;
}
.empty-state p[data-v-5ae8167a] {
  margin: 0 0 16px;
}
.info-card[data-v-5ae8167a] {
  margin-top: 16px;
}
.info-card ul[data-v-5ae8167a] {
  margin: 0;
  padding-left: 20px;
}
.info-card li[data-v-5ae8167a] {
  margin-bottom: 8px;
  font-size: 13px;
}
.info-card li[data-v-5ae8167a]:last-child {
  margin-bottom: 0;
}
.info-card p[data-v-5ae8167a] {
  margin: 0;
  font-size: 13px;
  color: #666;
}
.form-global-config .config-collapse[data-v-08ae6e18] {
  background: transparent;
}
.form-global-config .config-collapse[data-v-08ae6e18] .ant-collapse-header {
  font-weight: 600;
  font-size: 14px;
  color: var(--text-color, #1f1f1f);
  padding: 10px 0 !important;
}
.form-global-config .config-collapse[data-v-08ae6e18] .ant-collapse-content-box {
  padding: 12px 0 !important;
}
.form-global-config .config-collapse[data-v-08ae6e18] .ant-collapse-item {
  border-bottom: 1px solid var(--border-color-split, #f0f0f0);
}
.form-global-config .config-section[data-v-08ae6e18] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.form-global-config .config-item[data-v-08ae6e18] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.form-global-config .config-item .config-label[data-v-08ae6e18] {
  flex-shrink: 0;
  width: 110px;
  font-size: 13px;
  color: var(--text-color-secondary, #666);
  text-align: right;
}
.form-global-config .config-item .config-label .config-label-extra[data-v-08ae6e18] {
  margin-left: 6px;
  font-size: 12px;
  color: var(--primary-color, #1890ff);
  font-weight: 500;
}
.form-global-config .config-item .config-control[data-v-08ae6e18] {
  flex: 1;
  min-width: 0;
}
.form-global-config .config-item .config-control .ant-slider[data-v-08ae6e18] {
  margin: 4px 0;
}
.form-global-config .config-item .config-control .ant-input[data-v-08ae6e18] {
  width: 100%;
}
/* 单选按钮主题色适配 */
[data-v-08ae6e18] .ant-radio-wrapper .ant-radio-inner {
  border-color: var(--color-border, #d9d9d9);
}
[data-v-08ae6e18] .ant-radio-wrapper.ant-radio-wrapper-checked .ant-radio-inner {
  border-color: var(--color-primary, #3b82f6);
}
[data-v-08ae6e18] .ant-radio-wrapper.ant-radio-wrapper-checked .ant-radio-inner::after {
  background-color: var(--color-primary, #3b82f6);
}
[data-v-08ae6e18] .ant-radio-wrapper:hover .ant-radio-inner {
  border-color: var(--color-primary, #3b82f6);
}
[data-v-08ae6e18] .ant-radio-button-wrapper {
  color: var(--color-text-secondary, #4e5969);
  border-color: var(--color-border-light, #e5e6eb);
}
[data-v-08ae6e18] .ant-radio-button-wrapper:hover {
  color: var(--color-primary, #3b82f6);
  border-color: var(--color-primary, #3b82f6);
}
[data-v-08ae6e18] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked {
  color: var(--color-primary, #3b82f6);
  border-color: var(--color-primary, #3b82f6);
  background: var(--color-bg-container, #fff);
}
[data-v-08ae6e18] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked::before {
  background-color: var(--color-primary, #3b82f6) !important;
}
[data-v-08ae6e18] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked:first-child,[data-v-08ae6e18] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked:last-child {
  border-color: var(--color-primary, #3b82f6);
}
[data-v-08ae6e18] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked:hover {
  color: var(--color-primary, #3b82f6);
  border-color: var(--color-primary, #3b82f6);
}
[data-v-08ae6e18] .ant-radio-button-wrapper[class*='ant-radio-button-wrapper-checked'].ant-radio-button-wrapper-checked:not(
      .ant-radio-button-wrapper-disabled
    ) {
  background: var(--color-primary, #3b82f6);
  color: #fff;
  border-color: var(--color-primary, #3b82f6);
}
[data-v-08ae6e18] .ant-radio-button-wrapper[class*='ant-radio-button-wrapper-checked'].ant-radio-button-wrapper-checked:not(
      .ant-radio-button-wrapper-disabled
    ):hover {
  background: color-mix(in srgb, var(--color-primary, #3b82f6) 85%, #000);
  border-color: color-mix(in srgb, var(--color-primary, #3b82f6) 85%, #000);
  color: #fff;
}
[data-v-08ae6e18] .ant-radio-button-wrapper[class*='ant-radio-button-wrapper-checked'].ant-radio-button-wrapper-checked:not(
      .ant-radio-button-wrapper-disabled
    )::before {
  background-color: var(--color-primary, #3b82f6) !important;
}
.form-permission-config .config-header[data-v-365512c3] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}
.form-permission-config .config-header .config-title[data-v-365512c3] {
  font-size: 15px;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 8px;
}
.form-permission-config .permission-desc[data-v-365512c3] {
  margin-bottom: 16px;
}
.form-permission-config .role-selector[data-v-365512c3] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
.form-permission-config .role-selector .role-label[data-v-365512c3] {
  font-size: 13px;
  color: #666;
}
.form-permission-config .field-permission-table[data-v-365512c3] {
  margin-bottom: 12px;
}
.form-permission-config .field-permission-table .field-name[data-v-365512c3] {
  font-weight: 500;
}
.form-permission-config .field-permission-table .field-type[data-v-365512c3] {
  font-size: 12px;
  color: #999;
  margin-left: 4px;
}
.form-permission-config .batch-actions[data-v-365512c3] {
  padding: 12px 0;
  border-top: 1px solid #f0f0f0;
}
.form-permission-config .data-permission-list .data-permission-item[data-v-365512c3] {
  background: #fafafa;
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 12px;
}
.form-permission-config .data-permission-list .data-permission-item .perm-role-header[data-v-365512c3] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}
.form-permission-config .data-permission-list .data-permission-item .perm-role-header .perm-role-desc[data-v-365512c3] {
  font-size: 12px;
  color: #888;
}
.form-permission-config .data-permission-list .data-permission-item .perm-role-body[data-v-365512c3] {
  padding-left: 24px;
}
.form-permission-config .data-permission-list .data-permission-item .perm-role-body .perm-section[data-v-365512c3] {
  margin-bottom: 12px;
}
.form-permission-config .data-permission-list .data-permission-item .perm-role-body .perm-section .perm-section-title[data-v-365512c3] {
  font-size: 13px;
  font-weight: 500;
  color: #333;
  margin-bottom: 8px;
}
.form-permission-config .submit-config-form[data-v-365512c3] {
  max-width: 600px;
}
.form-permission-config .submit-config-form .form-tip[data-v-365512c3] {
  font-size: 12px;
  color: #999;
  margin-top: 4px;
}
/* 单选按钮主题色适配 */
[data-v-365512c3] .ant-radio-wrapper .ant-radio-inner {
  border-color: var(--color-border, #d9d9d9);
}
[data-v-365512c3] .ant-radio-wrapper.ant-radio-wrapper-checked .ant-radio-inner {
  border-color: var(--color-primary, #3b82f6);
}
[data-v-365512c3] .ant-radio-wrapper.ant-radio-wrapper-checked .ant-radio-inner::after {
  background-color: var(--color-primary, #3b82f6);
}
[data-v-365512c3] .ant-radio-wrapper:hover .ant-radio-inner {
  border-color: var(--color-primary, #3b82f6);
}
[data-v-365512c3] .ant-radio-button-wrapper {
  color: var(--color-text-secondary, #4e5969);
  border-color: var(--color-border-light, #e5e6eb);
}
[data-v-365512c3] .ant-radio-button-wrapper:hover {
  color: var(--color-primary, #3b82f6);
  border-color: var(--color-primary, #3b82f6);
}
[data-v-365512c3] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked {
  color: var(--color-primary, #3b82f6);
  border-color: var(--color-primary, #3b82f6);
  background: var(--color-bg-container, #fff);
}
[data-v-365512c3] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked::before {
  background-color: var(--color-primary, #3b82f6) !important;
}
[data-v-365512c3] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked:first-child,[data-v-365512c3] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked:last-child {
  border-color: var(--color-primary, #3b82f6);
}
[data-v-365512c3] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked:hover {
  color: var(--color-primary, #3b82f6);
  border-color: var(--color-primary, #3b82f6);
}
[data-v-365512c3] .ant-radio-button-wrapper[class*='ant-radio-button-wrapper-checked'].ant-radio-button-wrapper-checked:not(
      .ant-radio-button-wrapper-disabled
    ) {
  background: var(--color-primary, #3b82f6);
  color: #fff;
  border-color: var(--color-primary, #3b82f6);
}
[data-v-365512c3] .ant-radio-button-wrapper[class*='ant-radio-button-wrapper-checked'].ant-radio-button-wrapper-checked:not(
      .ant-radio-button-wrapper-disabled
    ):hover {
  background: color-mix(in srgb, var(--color-primary, #3b82f6) 85%, #000);
  border-color: color-mix(in srgb, var(--color-primary, #3b82f6) 85%, #000);
  color: #fff;
}
[data-v-365512c3] .ant-radio-button-wrapper[class*='ant-radio-button-wrapper-checked'].ant-radio-button-wrapper-checked:not(
      .ant-radio-button-wrapper-disabled
    )::before {
  background-color: var(--color-primary, #3b82f6) !important;
}
.step-form-config[data-v-78ae77c7] {
  padding: 0;
  font-size: 13px;
}
.step-form-config .enable-item[data-v-78ae77c7] {
  padding: 12px 0;
  margin-bottom: 4px;
  border-bottom: 1px solid var(--border-color-split, #f0f0f0);
}
.step-form-config .enable-item .config-label[data-v-78ae77c7] {
  font-weight: 600;
  font-size: 14px;
  color: var(--text-color, #1f1f1f);
}
.step-form-config .section-title[data-v-78ae77c7] {
  font-weight: 600;
  font-size: 13px;
  color: var(--text-color, #1f1f1f);
  padding: 12px 0 8px;
  margin-top: 4px;
  border-bottom: 1px solid var(--border-color-split, #f0f0f0);
}
.step-form-config .section-title[data-v-78ae77c7]:first-of-type {
  margin-top: 0;
}
.step-form-config .steps-list[data-v-78ae77c7] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 8px 0;
}
.step-form-config .step-item[data-v-78ae77c7] {
  border: 1px solid var(--border-color-split, #f0f0f0);
  border-radius: 6px;
  padding: 10px 12px;
  cursor: pointer;
  transition: all 0.2s ease;
  background: var(--component-background, #fff);
}
.step-form-config .step-item[data-v-78ae77c7]:hover {
  border-color: var(--primary-color-hover, #40a9ff);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}
.step-form-config .step-item--active[data-v-78ae77c7] {
  border-color: var(--primary-color, #1890ff);
  background: var(--primary-color-bg-hover, #e6f7ff);
  box-shadow: 0 0 0 2px var(--primary-color-active, #096dd9) / 10%;
}
.step-form-config .step-header[data-v-78ae77c7] {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.step-form-config .step-number[data-v-78ae77c7] {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  line-height: 24px;
  text-align: center;
  border-radius: 50%;
  background: var(--primary-color, #1890ff);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  margin-top: 2px;
}
.step-form-config .step-info[data-v-78ae77c7] {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.step-form-config .step-info .step-title-input[data-v-78ae77c7] {
  font-weight: 500;
}
.step-form-config .step-info .step-desc-input[data-v-78ae77c7] {
  color: var(--text-color-secondary, #999);
}
.step-form-config .step-actions[data-v-78ae77c7] {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 0;
}
.step-form-config .step-actions .field-count-badge[data-v-78ae77c7] {
  margin-right: 2px;
}
.step-form-config .field-assign-section[data-v-78ae77c7] {
  padding: 8px 0 12px;
}
.step-form-config .field-assign-section[data-v-78ae77c7] .ant-transfer .ant-transfer-list {
  border-radius: 4px;
}
.step-form-config .field-assign-section[data-v-78ae77c7] .ant-transfer .ant-transfer-list-header {
  font-size: 12px;
}
.step-form-config .field-assign-section[data-v-78ae77c7] .ant-transfer .ant-transfer-list-body {
  min-height: 180px;
}
.step-form-config .config-section[data-v-78ae77c7] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 8px 0 12px;
}
.step-form-config .config-item[data-v-78ae77c7] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.step-form-config .config-item .config-label[data-v-78ae77c7] {
  flex-shrink: 0;
  width: 120px;
  font-size: 13px;
  color: var(--text-color-secondary, #666);
  text-align: right;
}
.step-form-config .config-item .config-control[data-v-78ae77c7] {
  flex: 1;
  min-width: 0;
}
.step-form-config .config-item .config-control .ant-input[data-v-78ae77c7] {
  width: 100%;
}
/* 单选按钮主题色适配 */
[data-v-78ae77c7] .ant-radio-wrapper .ant-radio-inner {
  border-color: var(--color-border, #d9d9d9);
}
[data-v-78ae77c7] .ant-radio-wrapper.ant-radio-wrapper-checked .ant-radio-inner {
  border-color: var(--color-primary, #3b82f6);
}
[data-v-78ae77c7] .ant-radio-wrapper.ant-radio-wrapper-checked .ant-radio-inner::after {
  background-color: var(--color-primary, #3b82f6);
}
[data-v-78ae77c7] .ant-radio-wrapper:hover .ant-radio-inner {
  border-color: var(--color-primary, #3b82f6);
}
[data-v-78ae77c7] .ant-radio-button-wrapper {
  color: var(--color-text-secondary, #4e5969);
  border-color: var(--color-border-light, #e5e6eb);
}
[data-v-78ae77c7] .ant-radio-button-wrapper:hover {
  color: var(--color-primary, #3b82f6);
  border-color: var(--color-primary, #3b82f6);
}
[data-v-78ae77c7] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked {
  color: var(--color-primary, #3b82f6);
  border-color: var(--color-primary, #3b82f6);
  background: var(--color-bg-container, #fff);
}
[data-v-78ae77c7] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked::before {
  background-color: var(--color-primary, #3b82f6) !important;
}
[data-v-78ae77c7] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked:first-child,[data-v-78ae77c7] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked:last-child {
  border-color: var(--color-primary, #3b82f6);
}
[data-v-78ae77c7] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked:hover {
  color: var(--color-primary, #3b82f6);
  border-color: var(--color-primary, #3b82f6);
}
[data-v-78ae77c7] .ant-radio-button-wrapper[class*='ant-radio-button-wrapper-checked'].ant-radio-button-wrapper-checked:not(
      .ant-radio-button-wrapper-disabled
    ) {
  background: var(--color-primary, #3b82f6);
  color: #fff;
  border-color: var(--color-primary, #3b82f6);
}
[data-v-78ae77c7] .ant-radio-button-wrapper[class*='ant-radio-button-wrapper-checked'].ant-radio-button-wrapper-checked:not(
      .ant-radio-button-wrapper-disabled
    ):hover {
  background: color-mix(in srgb, var(--color-primary, #3b82f6) 85%, #000);
  border-color: color-mix(in srgb, var(--color-primary, #3b82f6) 85%, #000);
  color: #fff;
}
[data-v-78ae77c7] .ant-radio-button-wrapper[class*='ant-radio-button-wrapper-checked'].ant-radio-button-wrapper-checked:not(
      .ant-radio-button-wrapper-disabled
    )::before {
  background-color: var(--color-primary, #3b82f6) !important;
}
.enable-section[data-v-43993d5a] {
  padding: 16px;
  background: linear-gradient(135deg, #eef2ff 0%, #f0f4ff 100%);
  border-radius: 8px;
  border: 1px solid #c7d2fe;
  margin-bottom: 16px;
}
.enable-section .enable-row[data-v-43993d5a] {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.enable-section .enable-info .enable-title[data-v-43993d5a] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 600;
  color: #1e293b;
}
.enable-section .enable-info .enable-icon[data-v-43993d5a] {
  color: #4f46e5;
  font-size: 18px;
}
.enable-section .enable-info .enable-desc[data-v-43993d5a] {
  margin-top: 4px;
  font-size: 12px;
  color: #64748b;
}
.config-collapse[data-v-43993d5a] {
  background: transparent;
}
.config-collapse[data-v-43993d5a] .ant-collapse-header {
  font-weight: 600;
  font-size: 14px;
  color: var(--text-color, #1e293b);
  padding: 10px 0 !important;
}
.config-collapse[data-v-43993d5a] .ant-collapse-content-box {
  padding: 12px 0 !important;
}
.config-collapse[data-v-43993d5a] .ant-collapse-item {
  border-bottom: 1px solid var(--border-color-split, #e2e8f0);
}
.config-section[data-v-43993d5a] {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.config-item[data-v-43993d5a] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.config-item--vertical[data-v-43993d5a] {
  flex-direction: column;
  align-items: flex-start;
}
.config-item--sub[data-v-43993d5a] {
  margin-left: 122px;
}
.config-item .config-label[data-v-43993d5a] {
  flex-shrink: 0;
  width: 110px;
  font-size: 13px;
  color: var(--text-color-secondary, #64748b);
  text-align: right;
}
.config-item .config-control[data-v-43993d5a] {
  flex: 1;
  min-width: 0;
}
.config-item .config-control .ant-input[data-v-43993d5a],
.config-item .config-control .ant-select[data-v-43993d5a] {
  width: 100%;
}
.steps-flow[data-v-43993d5a] {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.steps-container[data-v-43993d5a] {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.step-wrapper[data-v-43993d5a] {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
.step-card[data-v-43993d5a] {
  width: 100%;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-left: 3px solid #4f46e5;
  border-radius: 8px;
  padding: 16px;
  transition: box-shadow 0.2s ease;
}
.step-card[data-v-43993d5a]:hover {
  box-shadow: 0 2px 8px rgba(79, 70, 229, 0.1);
}
.step-header[data-v-43993d5a] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}
.step-header .step-number[data-v-43993d5a] {
  display: flex;
  align-items: center;
}
.step-header .step-number-badge[data-v-43993d5a] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: linear-gradient(135deg, #4f46e5, #6366f1);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
}
.step-header .step-header-actions[data-v-43993d5a] {
  display: flex;
  gap: 2px;
}
.step-field[data-v-43993d5a] {
  margin-bottom: 12px;
}
.step-field[data-v-43993d5a]:last-child {
  margin-bottom: 0;
}
.step-field .step-field-label[data-v-43993d5a] {
  display: block;
  font-size: 12px;
  color: #64748b;
  margin-bottom: 6px;
}
.step-field .step-field-hint[data-v-43993d5a] {
  margin-top: 4px;
  font-size: 11px;
  color: #94a3b8;
}
.step-field--flex[data-v-43993d5a] {
  flex: 1;
  min-width: 0;
}
.step-field--switch[data-v-43993d5a] {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.step-field--switch .step-field-label[data-v-43993d5a] {
  margin-bottom: 0;
}
.step-field-row[data-v-43993d5a] {
  display: flex;
  gap: 12px;
  margin-bottom: 12px;
}
.step-field-row .step-field[data-v-43993d5a] {
  margin-bottom: 0;
}
.step-connector[data-v-43993d5a] {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 6px 0;
  position: relative;
}
.step-connector .connector-line[data-v-43993d5a] {
  width: 2px;
  height: 24px;
  background: linear-gradient(to bottom, #4f46e5, #c7d2fe);
  border-radius: 1px;
}
.step-connector .connector-arrow[data-v-43993d5a] {
  color: #4f46e5;
  font-size: 12px;
  line-height: 1;
  margin-top: -2px;
}
.add-step-wrapper[data-v-43993d5a] {
  width: 100%;
  margin-top: 8px;
}
.add-step-wrapper[data-v-43993d5a] .ant-btn-dashed {
  border-color: #c7d2fe;
  color: #4f46e5;
}
.add-step-wrapper[data-v-43993d5a] .ant-btn-dashed:hover {
  border-color: #4f46e5;
  color: #4f46e5;
}
/* 单选按钮主题色适配 */
[data-v-43993d5a] .ant-radio-wrapper .ant-radio-inner {
  border-color: var(--color-border, #d9d9d9);
}
[data-v-43993d5a] .ant-radio-wrapper.ant-radio-wrapper-checked .ant-radio-inner {
  border-color: var(--color-primary, #3b82f6);
}
[data-v-43993d5a] .ant-radio-wrapper.ant-radio-wrapper-checked .ant-radio-inner::after {
  background-color: var(--color-primary, #3b82f6);
}
[data-v-43993d5a] .ant-radio-wrapper:hover .ant-radio-inner {
  border-color: var(--color-primary, #3b82f6);
}
[data-v-43993d5a] .ant-radio-button-wrapper {
  color: var(--color-text-secondary, #4e5969);
  border-color: var(--color-border-light, #e5e6eb);
}
[data-v-43993d5a] .ant-radio-button-wrapper:hover {
  color: var(--color-primary, #3b82f6);
  border-color: var(--color-primary, #3b82f6);
}
[data-v-43993d5a] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked {
  color: var(--color-primary, #3b82f6);
  border-color: var(--color-primary, #3b82f6);
  background: var(--color-bg-container, #fff);
}
[data-v-43993d5a] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked::before {
  background-color: var(--color-primary, #3b82f6) !important;
}
[data-v-43993d5a] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked:first-child,[data-v-43993d5a] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked:last-child {
  border-color: var(--color-primary, #3b82f6);
}
[data-v-43993d5a] .ant-radio-button-wrapper.ant-radio-button-wrapper-checked:hover {
  color: var(--color-primary, #3b82f6);
  border-color: var(--color-primary, #3b82f6);
}
[data-v-43993d5a] .ant-radio-button-wrapper[class*='ant-radio-button-wrapper-checked'].ant-radio-button-wrapper-checked:not(
      .ant-radio-button-wrapper-disabled
    ) {
  background: var(--color-primary, #3b82f6);
  color: #fff;
  border-color: var(--color-primary, #3b82f6);
}
[data-v-43993d5a] .ant-radio-button-wrapper[class*='ant-radio-button-wrapper-checked'].ant-radio-button-wrapper-checked:not(
      .ant-radio-button-wrapper-disabled
    ):hover {
  background: color-mix(in srgb, var(--color-primary, #3b82f6) 85%, #000);
  border-color: color-mix(in srgb, var(--color-primary, #3b82f6) 85%, #000);
  color: #fff;
}
[data-v-43993d5a] .ant-radio-button-wrapper[class*='ant-radio-button-wrapper-checked'].ant-radio-button-wrapper-checked:not(
      .ant-radio-button-wrapper-disabled
    )::before {
  background-color: var(--color-primary, #3b82f6) !important;
}
.bo-form-designer[data-v-d7f3fea1] {
  height: 100%;
  display: flex;
  flex-direction: column;
  background: var(--color-bg-layout);
}
/* 左侧工具栏 */
.sidebar-toolbar[data-v-d7f3fea1] {
  padding: var(--spacing-2);
  background: var(--color-bg-container, #fff);
  border-bottom: 1px solid var(--color-border-light);
  margin-bottom: var(--spacing-2);
}
.toolbar-row[data-v-d7f3fea1] {
  display: flex;
  align-items: center;
  gap: var(--spacing-1);
  margin-bottom: var(--spacing-2);
}
.toolbar-row[data-v-d7f3fea1]:last-child {
  margin-bottom: 0;
}
.toolbar-row[data-v-d7f3fea1] .ant-btn {
  padding: 0 var(--spacing-1);
}
.toolbar-group[data-v-d7f3fea1] {
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 0 4px;
  border-right: 1px solid var(--color-border-light, #e5e6eb);
}
.toolbar-group[data-v-d7f3fea1]:last-of-type {
  border-right: none;
}
.toolbar-group[data-v-d7f3fea1] .ant-btn-text {
  color: var(--color-text-secondary, #86909c);
  width: 28px;
  height: 28px;
}
.toolbar-group[data-v-d7f3fea1] .ant-btn-text:hover:not(:disabled) {
  color: var(--color-primary, #3b82f6);
  background: var(--color-primary-10, #eff6ff);
  border-radius: 4px;
}
.toolbar-group[data-v-d7f3fea1] .ant-btn-text:disabled {
  color: var(--color-border-light, #e5e6eb);
}
.toolbar-group--danger[data-v-d7f3fea1] .ant-btn-text.ant-btn-dangerous {
  color: var(--color-text-tertiary, #c9cdd4);
}
.toolbar-group--danger[data-v-d7f3fea1] .ant-btn-text.ant-btn-dangerous:hover {
  color: #f53f3f;
  background: rgba(245, 63, 63, 0.08);
  border-radius: 4px;
}
/* 带标签的工具组 */
.toolbar-group--labeled[data-v-d7f3fea1] {
  flex-direction: column;
  align-items: stretch;
  gap: 2px;
  padding: 0 6px;
}
.toolbar-group-label[data-v-d7f3fea1] {
  font-size: 10px;
  color: var(--color-text-tertiary, #c9cdd4);
  letter-spacing: 0.5px;
  text-transform: uppercase;
  padding-left: 2px;
  line-height: 1;
}
.toolbar-group--labeled[data-v-d7f3fea1] .ant-btn {
  width: 28px;
  height: 28px;
}
/* 工具下拉触发按钮 */
.tools-trigger-btn[data-v-d7f3fea1] {
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
  padding: 0 8px !important;
  height: 28px;
}
.tools-trigger-label[data-v-d7f3fea1] {
  font-size: 12px;
}
/* 三栏布局 */
.bo-designer-container[data-v-d7f3fea1] {
  flex: 1;
  display: flex;
  overflow: hidden;
}
/* 左侧面板 */
.bo-designer-sidebar[data-v-d7f3fea1] {
  width: 260px;
  min-width: 260px;
  max-width: 320px;
  background: var(--color-bg-container, #fff);
  border-right: 1px solid var(--color-border-light);
  overflow-y: auto;
  flex-shrink: 0;
  padding: 0 0 0 var(--spacing-3);
  position: relative;
}
.sidebar-section[data-v-d7f3fea1] {
  margin-bottom: var(--spacing-4);
  border-radius: var(--radius-lg);
  background: var(--color-bg-container, #fff);
  overflow: hidden;
  border: 1px solid var(--color-border-light);
  box-shadow: var(--shadow-xs);
  transition: box-shadow 0.2s ease;
}
.sidebar-section[data-v-d7f3fea1]:hover {
  box-shadow: var(--shadow-sm);
}
.section-header[data-v-d7f3fea1] {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  padding: var(--spacing-3) var(--spacing-3-5);
  background: var(--color-bg-container, #fff);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text, #1d2129);
  border-bottom: 1px solid var(--color-border-light);
}
.section-header[data-v-d7f3fea1] .anticon {
  color: var(--color-primary, #3b82f6);
  font-size: var(--font-size-md);
}
.field-count[data-v-d7f3fea1] {
  margin-left: auto;
  background: var(--color-primary, #3b82f6);
}
.field-search[data-v-d7f3fea1] {
  margin-bottom: var(--spacing-2);
}
.field-items[data-v-d7f3fea1] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-2);
  padding: 0;
}
.field-item[data-v-d7f3fea1] {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  padding: var(--spacing-2) var(--spacing-2-5);
  background: var(--color-bg-container, #fff);
  border-radius: var(--radius-md);
  cursor: pointer;
  transition: all 0.2s ease;
  font-size: var(--font-size-sm);
  border: 1px solid transparent;
}
.field-item[data-v-d7f3fea1]:hover {
  background: var(--color-primary-50, #eff6ff);
  border-color: var(--color-primary-200, #bfdbfe);
  transform: translateY(-1px);
  box-shadow: 0 2px 6px rgba(59, 130, 246, 0.12);
}
.field-item[data-v-d7f3fea1]:active {
  box-shadow: var(--shadow-xs);
  transform: translateY(0);
}
.field-item.is-palette-dragging[data-v-d7f3fea1] {
  opacity: 0.4;
  background: var(--color-primary-100, #dbeafe);
}
.field-item[data-v-d7f3fea1] .anticon {
  font-size: var(--font-size-md);
  color: var(--color-primary, #3b82f6);
  transition: transform var(--duration-fast);
}
.field-item[data-v-d7f3fea1]:hover .anticon {
  transform: none;
}
/* 模型字段区域 */
.model-fields-section[data-v-d7f3fea1] {
  background: var(--color-bg-container, #fff);
}
.model-field-search[data-v-d7f3fea1] {
  margin-bottom: var(--spacing-2);
}
.model-field-list[data-v-d7f3fea1] {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-1);
}
.model-field-item[data-v-d7f3fea1] {
  display: flex;
  align-items: center;
  gap: var(--spacing-2-5);
  padding: var(--spacing-2-5);
  background: var(--color-bg-container, #fff);
  border-radius: var(--radius-md);
  cursor: pointer;
  transition: all 0.2s ease;
}
.model-field-item[data-v-d7f3fea1]:hover {
  background: var(--color-primary-bg-hover, #eff6ff);
}
.field-type-badge[data-v-d7f3fea1] {
  padding: var(--spacing-0-5) var(--spacing-1-5);
  border-radius: var(--radius-md);
  font-size: 10px;
  color: var(--color-bg-container, #fff);
}
.field-info[data-v-d7f3fea1] {
  flex: 1;
  min-width: 0;
}
.field-label[data-v-d7f3fea1] {
  display: block;
  font-size: 13px;
  font-weight: var(--font-weight-medium);
  color: var(--color-text, #1d2129);
}
.field-name[data-v-d7f3fea1] {
  display: block;
  font-size: 11px;
  color: var(--color-text-tertiary, #8c8c8c);
}
.empty-model-fields[data-v-d7f3fea1] {
  padding: var(--spacing-5);
}
/* 字段大纲 */
.outline-section[data-v-d7f3fea1] {
  background: var(--color-bg-container, #fff);
}
.outline-header[data-v-d7f3fea1] {
  cursor: pointer;
  user-select: none;
  transition: background 0.15s ease;
}
.outline-header[data-v-d7f3fea1]:hover {
  background: var(--color-fill-1, #f7f8fa);
}
.outline-toggle[data-v-d7f3fea1] {
  margin-left: auto;
  font-size: 12px;
  color: var(--color-text-tertiary, #c9cdd4);
}
.outline-list[data-v-d7f3fea1] {
  max-height: 240px;
  overflow-y: auto;
  padding: var(--spacing-1) var(--spacing-2);
}
.outline-item[data-v-d7f3fea1] {
  display: flex;
  align-items: center;
  gap: var(--spacing-1-5);
  padding: var(--spacing-1) var(--spacing-1-5);
  border-radius: var(--radius-sm, 4px);
  cursor: pointer;
  font-size: 12px;
  color: var(--color-text-secondary, #86909c);
  transition: all 0.15s ease;
}
.outline-item[data-v-d7f3fea1]:hover {
  background: var(--color-primary-50, #eff6ff);
  color: var(--color-text-primary, #1d2129);
}
.outline-item.outline-item--active[data-v-d7f3fea1] {
  background: var(--color-primary-100, #dbeafe);
  color: var(--color-primary-500, #3b82f6);
  font-weight: 500;
}
.outline-index[data-v-d7f3fea1] {
  flex-shrink: 0;
  width: 18px;
  text-align: center;
  font-size: 10px;
  color: var(--color-text-tertiary, #c9cdd4);
  font-variant-numeric: tabular-nums;
}
.outline-icon[data-v-d7f3fea1] {
  flex-shrink: 0;
  font-size: 12px;
  color: var(--color-primary-500, #3b82f6);
}
.outline-item--active .outline-icon[data-v-d7f3fea1] {
  color: var(--color-primary-500, #3b82f6);
}
.outline-label[data-v-d7f3fea1] {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.outline-label.is-required[data-v-d7f3fea1] {
  color: var(--color-text-primary, #1d2129);
}
.outline-required-mark[data-v-d7f3fea1] {
  color: #f53f3f;
  margin-left: 2px;
}
.outline-actions[data-v-d7f3fea1] {
  flex-shrink: 0;
  display: none;
  gap: 0;
}
.outline-item:hover .outline-actions[data-v-d7f3fea1] {
  display: inline-flex;
}
.outline-move-btn[data-v-d7f3fea1] {
  width: 20px !important;
  height: 20px !important;
  padding: 0 !important;
  font-size: 10px !important;
}
/* 中间画布 */
.bo-designer-canvas[data-v-d7f3fea1] {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.canvas-header[data-v-d7f3fea1] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--spacing-3) var(--spacing-4);
  background: var(--color-bg-container, #fff);
  border-bottom: 1px solid var(--color-border-light);
}
.canvas-title[data-v-d7f3fea1] {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  font-weight: var(--font-weight-medium);
}
.canvas-body[data-v-d7f3fea1] {
  flex: 1;
  overflow-y: auto;
  padding: var(--spacing-4);
  background: var(--color-bg-layout, #f7f8fa);
}
.form-preview-container[data-v-d7f3fea1] {
  flex: 1;
  overflow: auto;
  padding: var(--spacing-4);
  background: var(--color-bg-layout);
}
.form-edit-container[data-v-d7f3fea1] {
  height: 100%;
}
/* 移动端预览样式 */
.form-preview-container.mobile-preview[data-v-d7f3fea1] {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  padding: var(--spacing-6);
  background: var(--color-neutral-100);
}
.form-preview-container.mobile-preview[data-v-d7f3fea1] .ant-card {
  width: 375px;
  max-width: 375px;
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-lg);
  overflow: hidden;
}
.form-preview-container.mobile-preview[data-v-d7f3fea1] .ant-card-body {
  padding: var(--spacing-4);
}
.form-wrapper[data-v-d7f3fea1] {
  min-height: 100%;
  padding: var(--spacing-6);
  background: var(--color-bg-container, #fff);
  border-radius: var(--radius-lg);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  border: 1px solid var(--color-border-light);
}
.empty-canvas[data-v-d7f3fea1] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px var(--spacing-5);
  color: var(--color-text-tertiary, #8c8c8c);
}
.empty-icon[data-v-d7f3fea1] {
  width: 72px;
  height: 72px;
  line-height: 72px;
  text-align: center;
  background: var(--color-neutral-50, #f5f7fa);
  border-radius: 50%;
  font-size: 30px;
  margin-bottom: var(--spacing-4);
  color: var(--color-primary, #3b82f6);
}
.empty-canvas h3[data-v-d7f3fea1] {
  margin: 0 0 var(--spacing-2);
  font-size: 16px;
  color: var(--color-text, #1d2129);
}
.empty-canvas p[data-v-d7f3fea1] {
  margin: 0;
  font-size: 13px;
}
.form-fields[data-v-d7f3fea1] {
  /* A1 栅格布局：24 列 CSS Grid，colSpan<24 的字段会自动并排 */
  display: grid;
  grid-template-columns: repeat(24, 1fr);
  gap: var(--spacing-3);
}
.preview-card[data-v-d7f3fea1] {
  height: 100%;
}
/* 右侧配置面板 */
.bo-designer-config[data-v-d7f3fea1] {
  width: 320px;
  min-width: 280px;
  background: var(--color-bg-container, #fff);
  border-left: 1px solid var(--color-border-light);
  overflow: hidden;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  position: relative;
}
/* 配置面板切换Tab */
.config-panel-tabs[data-v-d7f3fea1] {
  padding: var(--spacing-2) var(--spacing-3);
  background: var(--color-bg-container, #fff);
  border-bottom: 1px solid var(--color-border-light);
  display: flex;
  justify-content: center;
}
.config-panel-tabs[data-v-d7f3fea1] .ant-radio-group {
  display: inline-flex;
}
.config-panel-tabs[data-v-d7f3fea1] .ant-radio-button-wrapper {
  width: 36px;
  height: 28px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
}
.config-panel-tabs[data-v-d7f3fea1] .ant-radio-button-wrapper :deep(.anticon) {
  font-size: 14px;
}
/* 联动规则面板 */
.rule-panel[data-v-d7f3fea1] {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.rule-panel-body[data-v-d7f3fea1] {
  flex: 1;
  overflow-y: auto;
  padding: var(--spacing-3);
}
.rule-empty[data-v-d7f3fea1] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  color: var(--color-text-tertiary);
  text-align: center;
}
.rule-empty-icon[data-v-d7f3fea1] {
  font-size: 32px;
  margin-bottom: var(--spacing-3);
  color: var(--color-border-light);
}
.rule-empty p[data-v-d7f3fea1] {
  margin: 4px 0;
  font-size: var(--font-size-sm);
}
.rule-empty-hint[data-v-d7f3fea1] {
  font-size: 12px;
  color: var(--color-text-quaternary);
}
.rule-summary-list[data-v-d7f3fea1] {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
}
.rule-summary-item[data-v-d7f3fea1] {
  background: var(--color-bg-container, #fff);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
  padding: var(--spacing-2) var(--spacing-3);
  transition: all 0.2s ease;
}
.rule-summary-item[data-v-d7f3fea1]:hover {
  border-color: var(--color-primary-20, #bae7ff);
}
.rule-summary-item.rule-disabled[data-v-d7f3fea1] {
  opacity: 0.5;
}
.rule-summary-header[data-v-d7f3fea1] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--spacing-1);
}
.rule-summary-desc[data-v-d7f3fea1] {
  font-size: 12px;
  color: var(--color-text-secondary);
  line-height: 1.6;
}
.rule-label[data-v-d7f3fea1] {
  font-weight: 500;
  color: var(--color-text-tertiary);
}
.config-panel[data-v-d7f3fea1] {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.config-header[data-v-d7f3fea1] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--spacing-3) var(--spacing-4);
  background: var(--color-neutral-50, #f5f7fa);
  border-bottom: 1px solid var(--color-border-light);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text, #1d2129);
  font-size: var(--font-size-sm);
  position: sticky;
  top: 0;
  z-index: 1;
}
.config-header[data-v-d7f3fea1] .ant-btn-link {
  padding: 0;
  font-size: var(--font-size-md);
}
.config-panel-empty[data-v-d7f3fea1] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 40px var(--spacing-5);
  color: var(--color-text-tertiary);
}
.empty-config-icon[data-v-d7f3fea1] {
  width: 48px;
  height: 48px;
  border-radius: var(--radius-xl);
  background: var(--color-neutral-50);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--spacing-3);
  color: var(--color-text-quaternary);
  font-size: var(--icon-size-lg);
}
.config-panel-empty p[data-v-d7f3fea1] {
  margin: 0;
  text-align: center;
  font-size: var(--font-size-sm);
}
/* 响应式 */
@media (max-width: 1200px) {
.bo-designer-sidebar[data-v-d7f3fea1] {
    width: 280px;
}
.bo-designer-config[data-v-d7f3fea1] {
    width: 280px;
}
}
@media (max-width: 768px) {
.bo-designer-sidebar[data-v-d7f3fea1],
  .bo-designer-config[data-v-d7f3fea1] {
    display: none;
}
}
/* 快捷键帮助弹窗样式 */
.shortcut-help-content[data-v-d7f3fea1] {
  padding: var(--spacing-2);
}
.shortcut-item[data-v-d7f3fea1] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--spacing-2) 0;
  border-bottom: 1px solid var(--color-border-light);
}
.shortcut-item[data-v-d7f3fea1]:last-child {
  border-bottom: none;
}
.shortcut-keys kbd[data-v-d7f3fea1] {
  display: inline-block;
  padding: 2px 6px;
  font-size: 12px;
  font-family: monospace;
  background: var(--color-neutral-50);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-sm);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
}
.shortcut-desc[data-v-d7f3fea1] {
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
}
/* ==================== 面板通用样式 ==================== */
.panel-extra-count[data-v-d7f3fea1] {
  font-size: 12px;
  color: var(--color-primary, #3b82f6);
  background: var(--color-primary-bg-hover, #eff6ff);
  padding: 2px 10px;
  border-radius: 10px;
  font-weight: 500;
}
.panel-extra-count--green[data-v-d7f3fea1] {
  color: #52c41a;
  background: #f6ffed;
}
.panel-empty[data-v-d7f3fea1] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 48px 24px;
  gap: 12px;
  color: var(--color-text-tertiary, rgba(0, 0, 0, 0.25));
  font-size: 13px;
}
.panel-empty-sub[data-v-d7f3fea1] {
  font-size: 12px;
  color: var(--color-text-quaternary, rgba(0, 0, 0, 0.15));
}
.panel-footer[data-v-d7f3fea1] {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.panel-footer-tip[data-v-d7f3fea1] {
  font-size: 12px;
  color: var(--color-text-tertiary, rgba(0, 0, 0, 0.25));
}
/* ==================== 历史记录面板 ==================== */
.history-panel[data-v-d7f3fea1] {
  padding: 12px 0;
  max-height: calc(100vh - 140px);
  overflow-y: auto;
}
.history-item[data-v-d7f3fea1] {
  display: flex;
  align-items: stretch;
  padding: 0 16px;
  cursor: pointer;
  transition: background 0.15s;
  min-height: 56px;
}
.history-item[data-v-d7f3fea1]:hover {
  background: var(--color-bg-layout, #fafafa);
}
.history-item.is-current[data-v-d7f3fea1] {
  background: var(--color-primary-bg-hover, #f0f5ff);
}
.history-item.is-current[data-v-d7f3fea1]:hover {
  background: var(--color-primary-10, #e6f0ff);
}
.history-item.is-future[data-v-d7f3fea1] {
  opacity: 0.35;
  cursor: not-allowed;
}
/* 时间线 */
.history-timeline[data-v-d7f3fea1] {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 24px;
  flex-shrink: 0;
}
.history-dot-wrap[data-v-d7f3fea1] {
  padding: 18px 0 0;
  display: flex;
  justify-content: center;
}
.history-dot[data-v-d7f3fea1] {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--color-border-light, #e8e8e8);
  border: 2px solid var(--color-bg-container, #fff);
  box-shadow: 0 0 0 1px var(--color-border, #d9d9d9);
  flex-shrink: 0;
  transition: all 0.2s;
}
.history-item.is-current .history-dot[data-v-d7f3fea1] {
  background: var(--color-primary, #3b82f6);
  box-shadow: 0 0 0 1px var(--color-primary, #3b82f6), 0 0 0 4px var(--color-primary-bg-selected, #eff6ff);
  width: 12px;
  height: 12px;
}
.history-line[data-v-d7f3fea1] {
  width: 2px;
  flex: 1;
  background: linear-gradient(to bottom, var(--color-border-light, #e8e8e8), var(--color-bg-layout, #f5f5f5));
  margin: 4px 0;
}
/* 内容 */
.history-item-body[data-v-d7f3fea1] {
  flex: 1;
  min-width: 0;
  padding: 14px 12px 14px 10px;
}
.history-desc-row[data-v-d7f3fea1] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.history-desc[data-v-d7f3fea1] {
  font-size: 13px;
  color: var(--color-text-secondary, rgba(0, 0, 0, 0.65));
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.4;
}
.history-item.is-current .history-desc[data-v-d7f3fea1] {
  color: var(--color-primary, #3b82f6);
  font-weight: 600;
}
.history-current-badge[data-v-d7f3fea1] {
  font-size: 10px;
  line-height: 1;
  color: var(--color-primary, #3b82f6);
  background: var(--color-primary-bg-hover, #eff6ff);
  border: 1px solid color-mix(in srgb, var(--color-primary, #3b82f6) 70%, #fff);
  padding: 2px 8px;
  border-radius: 10px;
  flex-shrink: 0;
  font-weight: 500;
}
.history-time[data-v-d7f3fea1] {
  font-size: 12px;
  color: var(--color-text-tertiary, rgba(0, 0, 0, 0.25));
  margin-top: 4px;
}
/* 恢复按钮 */
.history-item-action[data-v-d7f3fea1] {
  display: flex;
  align-items: center;
  padding-right: 4px;
}
/* ==================== 版本管理面板 ==================== */
.version-panel[data-v-d7f3fea1] {
  max-height: calc(100vh - 108px);
  overflow-y: auto;
}
.version-tip[data-v-d7f3fea1] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  margin: 12px 16px 0;
  background: #f6ffed;
  border-radius: 6px;
  font-size: 12px;
  color: var(--color-text-tertiary, rgba(0, 0, 0, 0.45));
}
.version-tip[data-v-d7f3fea1] .anticon {
  color: #52c41a;
  font-size: 13px;
}
.version-list[data-v-d7f3fea1] {
  padding: 12px 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.ver-card[data-v-d7f3fea1] {
  border: 1px solid var(--color-border, #f0f0f0);
  border-radius: 10px;
  padding: 14px 16px 10px;
  transition: all 0.2s;
  background: var(--color-bg-container, #fff);
}
.ver-card[data-v-d7f3fea1]:hover {
  border-color: var(--color-border, #d9d9d9);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.ver-card--latest[data-v-d7f3fea1] {
  border-color: var(--color-primary-20, #bae7ff);
  background: linear-gradient(135deg, var(--color-primary-bg-hover, #fafcff) 0%, var(--color-bg-container, #fff) 100%);
}
.ver-card--latest[data-v-d7f3fea1]:hover {
  border-color: var(--color-primary, #91d5ff);
  box-shadow: 0 2px 8px var(--color-primary-bg-hover, #eff6ff);
}
.ver-card-header[data-v-d7f3fea1] {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.ver-card-left[data-v-d7f3fea1] {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.ver-card-icon[data-v-d7f3fea1] {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  position: relative;
  overflow: visible;
}
/* 光晕脉冲动画 */
.ver-card-icon[data-v-d7f3fea1]::before {
  content: '';
  position: absolute;
  inset: -4px;
  border-radius: 12px;
  background: inherit;
  opacity: 0;
  z-index: -1;
  animation: iconPulse-d7f3fea1 2.5s ease-in-out infinite;
}
.ver-card--latest .ver-card-icon[data-v-d7f3fea1]::before {
  opacity: 0.2;
}
@keyframes iconPulse-d7f3fea1 {
0%,
  100% {
    transform: scale(1);
    opacity: 0.15;
}
50% {
    transform: scale(1.15);
    opacity: 0.25;
}
}
/* 卡片扫光动效 */
.ver-card--latest[data-v-d7f3fea1]::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 60%;
  height: 100%;
  background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.4) 50%, transparent 100%);
  animation: cardShine-d7f3fea1 3s ease-in-out infinite;
  pointer-events: none;
  border-radius: inherit;
}
@keyframes cardShine-d7f3fea1 {
0% {
    left: -100%;
}
50%,
  100% {
    left: 150%;
}
}
.ver-card[data-v-d7f3fea1] {
  position: relative;
  overflow: hidden;
}
.ver-card-icon[data-v-d7f3fea1] .anticon {
  color: var(--color-bg-container, #fff);
  font-size: 15px;
}
.ver-card-meta[data-v-d7f3fea1] {
  min-width: 0;
}
.ver-card-title[data-v-d7f3fea1] {
  font-size: 13px;
  font-weight: 600;
  color: var(--color-text, rgba(0, 0, 0, 0.85));
  line-height: 1.3;
  display: flex;
  align-items: center;
  gap: 6px;
}
.ver-card-latest[data-v-d7f3fea1] {
  font-size: 10px;
  font-weight: 500;
  color: var(--color-primary, #3b82f6);
  background: var(--color-primary-bg-hover, #eff6ff);
  padding: 1px 6px;
  border-radius: 3px;
  line-height: 1.6;
}
.ver-card-time[data-v-d7f3fea1] {
  font-size: 12px;
  color: var(--color-text-tertiary, rgba(0, 0, 0, 0.3));
  margin-top: 3px;
}
.ver-card-stat[data-v-d7f3fea1] {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
  padding: 4px 12px;
  background: var(--color-bg-layout, #fafafa);
  border-radius: 8px;
}
.ver-card-stat-num[data-v-d7f3fea1] {
  font-size: 16px;
  font-weight: 700;
  color: var(--color-text, rgba(0, 0, 0, 0.75));
  line-height: 1.2;
}
.ver-card-stat-label[data-v-d7f3fea1] {
  font-size: 10px;
  color: var(--color-text-tertiary, rgba(0, 0, 0, 0.3));
}
.ver-card-actions[data-v-d7f3fea1] {
  display: flex;
  justify-content: flex-end;
  gap: 4px;
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid var(--color-border-light, #f5f5f5);
}
/* ==================== 拖拽增强样式 ==================== */
/* 可拖拽的面板项：grab 光标提示 */
.field-item[data-v-d7f3fea1],
.model-field-item[data-v-d7f3fea1] {
  cursor: grab;
}
.field-item[data-v-d7f3fea1]:active,
.model-field-item[data-v-d7f3fea1]:active {
  cursor: grabbing;
}
/* 面板中被拖拽的源项：弱化显示，表明正在被拖出 */
.is-palette-dragging[data-v-d7f3fea1] {
  opacity: 0.4 !important;
  transform: scale(0.96);
  transition: all 0.15s ease;
}
/* 画布拖拽悬停状态 */
.form-wrapper.is-drag-over[data-v-d7f3fea1] {
  border: 2px dashed var(--color-primary, #3b82f6);
  background: var(--color-primary-bg-hover, #f0f7ff);
  box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.08);
  transition: all 0.2s ease;
}
/* 空画布在拖拽进入时的高亮提示 */
.empty-canvas--drag-active[data-v-d7f3fea1] {
  border-color: var(--color-primary, #3b82f6) !important;
  background: var(--color-primary-bg-hover, #f0f7ff) !important;
}
.empty-canvas--drag-active .empty-icon[data-v-d7f3fea1] {
  color: var(--color-primary, #3b82f6) !important;
  transform: scale(1.15);
  transition: transform 0.2s ease;
}
/* 拖拽放置预览指示器 */
.drag-preview-indicator[data-v-d7f3fea1] {
  position: relative;
  /* A1：在 24 列 grid 中占满整行 */
  grid-column: 1 / -1;
  height: 3px;
  margin: 2px 0;
  background: var(--color-primary, #3b82f6);
  border-radius: 2px;
  z-index: 10;
  pointer-events: none;
  animation: indicator-pulse-d7f3fea1 1.2s ease-in-out infinite;
  box-shadow: 0 0 8px rgba(59, 130, 246, 0.6);
}
.drag-preview-indicator[data-v-d7f3fea1]::before {
  content: '';
  position: absolute;
  left: -5px;
  top: 50%;
  transform: translateY(-50%);
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: var(--color-primary, #3b82f6);
  box-shadow: 0 0 0 2px var(--color-bg-container, #fff);
}
.drag-preview-indicator[data-v-d7f3fea1]::after {
  content: '';
  position: absolute;
  right: -5px;
  top: 50%;
  transform: translateY(-50%);
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: var(--color-primary, #3b82f6);
  box-shadow: 0 0 0 2px var(--color-bg-container, #fff);
}
@keyframes indicator-pulse-d7f3fea1 {
0%,
  100% {
    opacity: 1;
}
50% {
    opacity: 0.5;
}
}
/* 拖拽中的字段视觉反馈 */
.is-dragging-source[data-v-d7f3fea1] {
  opacity: 0.6 !important;
  transform: scale(1.02);
  box-shadow: 0 4px 16px rgba(59, 130, 246, 0.2);
  border-color: var(--color-primary, #3b82f6);
}
/* ==================== 字段模板下拉样式 ==================== */
.field-template-dropdown[data-v-d7f3fea1] {
  margin-left: auto;
}
.template-trigger-btn[data-v-d7f3fea1] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: var(--color-primary, #3b82f6);
  padding: 0 6px;
  height: 24px;
}
.template-trigger-btn[data-v-d7f3fea1]:hover {
  color: var(--color-primary, #3b82f6);
  background: var(--color-primary-10, #eff6ff);
  border-radius: 4px;
}
.template-menu-item[data-v-d7f3fea1] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 4px 0;
  min-width: 200px;
}
.template-menu-icon[data-v-d7f3fea1] {
  font-size: 16px;
  color: var(--color-primary, #3b82f6);
  flex-shrink: 0;
}
.template-menu-info[data-v-d7f3fea1] {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.template-menu-name[data-v-d7f3fea1] {
  font-size: 13px;
  font-weight: 500;
  color: var(--color-text, #1d2129);
}
.template-menu-desc[data-v-d7f3fea1] {
  font-size: 11px;
  color: var(--color-text-tertiary, #c9cdd4);
}
/* ==================== 实时预览面板样式 ==================== */
.live-preview-panel[data-v-d7f3fea1] {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.live-preview-body[data-v-d7f3fea1] {
  flex: 1;
  overflow-y: auto;
  padding: 0;
}
.live-preview-body[data-v-d7f3fea1] .form-preview-embedded {
  border-radius: 0;
}
.live-preview-body[data-v-d7f3fea1] .form-preview-content {
  max-height: none;
  overflow: visible;
  box-shadow: none;
  border-radius: 0;
  padding: var(--spacing-3);
}
.live-preview-body[data-v-d7f3fea1] .form-preview-footer {
  position: sticky;
  bottom: 0;
  background: var(--color-bg-container, #fff);
  border-top: 1px solid var(--color-border-light);
  z-index: 1;
}
.live-preview-empty[data-v-d7f3fea1] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 24px;
  color: var(--color-text-tertiary, #c9cdd4);
  text-align: center;
}
.live-preview-empty-icon[data-v-d7f3fea1] {
  font-size: 36px;
  margin-bottom: 12px;
  color: var(--color-border-light, #e5e6eb);
}
.live-preview-empty p[data-v-d7f3fea1] {
  margin: 2px 0;
  font-size: 13px;
}
.live-preview-empty-hint[data-v-d7f3fea1] {
  font-size: 12px;
  color: var(--color-text-quaternary, #e5e6eb);
}
.empty-designer[data-v-3479813e] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: calc(100vh - 200px);
  text-align: center;
}
.empty-designer .empty-icon[data-v-3479813e] {
  font-size: 64px;
  color: #999;
  margin-bottom: 16px;
}
.empty-designer .empty-title[data-v-3479813e] {
  font-size: 18px;
  font-weight: 500;
  color: #333;
  margin-bottom: 8px;
}
.empty-designer .empty-desc[data-v-3479813e] {
  font-size: 14px;
  color: #999;
  margin-bottom: 24px;
}
/* ===========================
   FormDesignStep - 表单设计步骤
   =========================== */
.form-design-step[data-v-98bce9bc] {
  padding: var(--spacing-3);
  max-width: 1400px;
  margin: 0 auto;
}
/* ===== Section Card ===== */
.section-card[data-v-98bce9bc] {
  background: var(--color-neutral-0);
  border-radius: var(--radius-xl);
  padding: var(--spacing-6);
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--color-border-light);
}
/* ===== Section Header ===== */
.section-header[data-v-98bce9bc] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: var(--spacing-5);
}
.section-header-left[data-v-98bce9bc] {
  display: flex;
  align-items: flex-start;
  gap: var(--spacing-3);
}
.section-icon[data-v-98bce9bc] {
  color: var(--color-primary-500);
  font-size: var(--icon-size-lg);
  margin-top: 2px;
  flex-shrink: 0;
}
.section-header-text[data-v-98bce9bc] {
  flex: 1;
}
.section-title[data-v-98bce9bc] {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  margin: 0 0 var(--spacing-1);
  line-height: var(--line-height-normal);
}
.section-desc[data-v-98bce9bc] {
  font-size: var(--font-size-sm);
  color: var(--color-text-tertiary);
  display: block;
  line-height: var(--line-height-normal);
}
.form-count-text[data-v-98bce9bc] {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
}
/* ===== Form Grid ===== */
.form-grid[data-v-98bce9bc] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--spacing-5);
  margin-bottom: var(--spacing-5);
}
/* ===== Selection Toolbar ===== */
.selection-toolbar[data-v-98bce9bc] {
  margin-bottom: var(--spacing-4);
  padding: var(--spacing-3) var(--spacing-4);
  background: var(--color-primary-50);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-primary-200);
}
.selection-info[data-v-98bce9bc] {
  color: var(--color-primary-500);
  font-size: var(--font-size-sm);
}
/* ===== Form Card ===== */
.form-card[data-v-98bce9bc] {
  background: var(--color-neutral-0);
  border-radius: var(--radius-xl);
  overflow: hidden;
  border: 1px solid var(--color-border-light);
  box-shadow: var(--shadow-xs);
  transition: all var(--duration-base) var(--easing-ease-out);
  position: relative;
}
.form-card[data-v-98bce9bc]:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
  border-color: var(--color-primary-300);
}
/* 多选卡片样式 */
.form-card-selected[data-v-98bce9bc] {
  border-color: var(--color-primary-500) !important;
  box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
}
.form-card-selected[data-v-98bce9bc]:hover {
  transform: translateY(-4px);
  box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.3);
}
/* 卡片复选框 */
.form-checkbox[data-v-98bce9bc] {
  position: absolute;
  top: var(--spacing-2);
  left: var(--spacing-2);
  z-index: 10;
  border-radius: var(--radius-sm);
  padding: 2px;
}
.form-card-modified[data-v-98bce9bc] {
  border-color: var(--color-warning);
}
.form-card-syncing[data-v-98bce9bc] {
  border-color: var(--color-primary-300);
  animation: pulse-98bce9bc 1.5s infinite;
}
@keyframes pulse-98bce9bc {
0%,
  100% {
    opacity: 1;
}
50% {
    opacity: 0.7;
}
}
/* ===== Form Status Bar ===== */
.form-status-bar[data-v-98bce9bc] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 var(--spacing-3);
  font-size: var(--font-size-xs);
  color: white;
}
.form-status-text[data-v-98bce9bc] {
  font-weight: var(--font-weight-medium);
}
.form-sync-time[data-v-98bce9bc] {
  opacity: 0.8;
}
/* ===== Form Cover ===== */
.form-cover[data-v-98bce9bc] {
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--color-primary-400) 0%, var(--color-primary-600) 100%);
  position: relative;
}
.form-cover-icon[data-v-98bce9bc] {
  font-size: 40px;
  color: var(--color-neutral-0);
  opacity: 0.9;
}
.form-type-tag[data-v-98bce9bc] {
  position: absolute;
  top: var(--spacing-2);
  right: var(--spacing-2);
  color: #0958d9;
}
/* ===== Form Card Body ===== */
.form-card-body[data-v-98bce9bc] {
  padding: var(--spacing-4);
}
.form-card-name[data-v-98bce9bc] {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  margin-bottom: var(--spacing-1);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.form-card-object[data-v-98bce9bc] {
  font-size: var(--font-size-xs);
  color: var(--color-text-tertiary);
  margin-bottom: var(--spacing-3);
}
.object-label[data-v-98bce9bc] {
  color: var(--color-text-secondary);
}
.object-name[data-v-98bce9bc] {
  color: var(--color-primary-500);
}
/* ===== Form Stats ===== */
.form-stats[data-v-98bce9bc] {
  margin-bottom: var(--spacing-3);
  padding: var(--spacing-2) 0;
  border-top: 1px solid var(--color-border-light);
  border-bottom: 1px solid var(--color-border-light);
}
.stat-item[data-v-98bce9bc] {
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
}
.stat-icon[data-v-98bce9bc] {
  margin-right: var(--spacing-1);
}
/* ===== Form Card Actions ===== */
.form-card-actions[data-v-98bce9bc] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--spacing-2);
}
/* ===== Form Card Footer ===== */
.form-card-footer[data-v-98bce9bc] {
  padding-top: var(--spacing-2);
  border-top: 1px dashed var(--color-border-light);
}
.last-updated[data-v-98bce9bc] {
  font-size: var(--font-size-xs);
  color: var(--color-text-disabled);
}
/* ===== Empty State ===== */
.empty-state[data-v-98bce9bc] {
  padding: var(--spacing-10) 0;
  text-align: center;
}
.empty-icon[data-v-98bce9bc] {
  font-size: 64px;
  color: var(--color-text-disabled);
  margin-bottom: var(--spacing-4);
}
.empty-title[data-v-98bce9bc] {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
  margin-bottom: var(--spacing-2);
}
.empty-desc[data-v-98bce9bc] {
  font-size: var(--font-size-sm);
  color: var(--color-text-tertiary);
  margin-bottom: 0;
}
/* ===== Add Form Container ===== */
.add-form-container[data-v-98bce9bc] {
  margin-top: var(--spacing-5);
  padding: var(--spacing-6);
  border: 2px dashed var(--color-border-default);
  border-radius: var(--radius-xl);
  text-align: center;
  background: var(--color-bg-secondary);
  transition: all var(--duration-fast) var(--easing-default);
}
.add-form-container[data-v-98bce9bc]:hover {
  border-color: var(--color-primary-400);
  background: var(--color-primary-50);
}
/* ===== Config Form ===== */
.form-config-form[data-v-98bce9bc] {
  padding-top: var(--spacing-3);
}
.form-config-form[data-v-98bce9bc] .ant-form-item-label > label {
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
}
.field-select-actions[data-v-98bce9bc] {
  margin-top: var(--spacing-2);
  padding-top: var(--spacing-2);
  border-top: 1px dashed var(--color-border-light);
}
.field-count[data-v-98bce9bc] {
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
}
/* ===== Responsive ===== */
@media (max-width: 1399px) {
.form-grid[data-v-98bce9bc] {
    grid-template-columns: repeat(3, 1fr);
}
}
@media (max-width: 1199px) {
.form-grid[data-v-98bce9bc] {
    grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 767px) {
.form-design-step[data-v-98bce9bc] {
    padding: 12px 12px 0;
}
.section-card[data-v-98bce9bc] {
    padding: var(--spacing-3);
    padding-bottom: 80px;
}
.form-grid[data-v-98bce9bc] {
    grid-template-columns: 1fr;
    gap: var(--spacing-4);
}
.section-header[data-v-98bce9bc] {
    flex-direction: column;
    gap: var(--spacing-3);
}
}

  /* ===== 抽屉标题 ===== */
.vh-drawer-header[data-v-a59c50e9] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}
.vh-drawer-title[data-v-a59c50e9] {
    display: flex;
    align-items: center;
    gap: 10px;
}
.vh-drawer-close-btn[data-v-a59c50e9] {
    color: #64748b;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    transition: all 0.2s ease;
    margin-left: 12px;
}
.vh-drawer-close-btn[data-v-a59c50e9]:hover {
    color: #1a253b;
    background: #f1f5f9;
}
.vh-drawer-title-icon[data-v-a59c50e9] {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: linear-gradient(135deg, #edf1f7, #dbeafe);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.vh-drawer-title-icon[data-v-a59c50e9] .anticon {
    font-size: 16px;
    color: #1377eb;
}
.vh-drawer-title-text[data-v-a59c50e9] {
    font-size: 15px;
    font-weight: 600;
    color: #1a253b;
    letter-spacing: 0.3px;
}

  /* ===== 主容器 ===== */
.version-history-drawer[data-v-a59c50e9] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

  /* ===== 搜索栏 ===== */
.vh-search[data-v-a59c50e9] {
    padding: 16px 20px 0;
}
.vh-search[data-v-a59c50e9] .ant-input-affix-wrapper {
    border-radius: 8px;
    border-color: #d1d5db;
    background: #edf2fa;
    transition: all 0.2s;
}
.vh-search[data-v-a59c50e9] .ant-input-affix-wrapper:hover {
    border-color: #d1d5db;
    background: #fff;
}
.vh-search[data-v-a59c50e9] .ant-input-affix-wrapper-focused,
  .vh-search[data-v-a59c50e9] .ant-input-affix-wrapper:focus-within {
    border-color: #1377eb;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(19, 119, 235, 0.08);
}

  /* ===== 操作栏 ===== */
.vh-actions[data-v-a59c50e9] {
    display: flex;
    align-items: center;
    padding: 12px 20px;
    gap: 4px;
}
.vh-action-btn[data-v-a59c50e9] {
    font-size: 12px;
    color: #64748b;
    border-radius: 6px;
    height: 28px;
    padding: 0 8px;
}
.vh-action-btn[data-v-a59c50e9]:hover {
    color: #1377eb;
    background: #edf1f7;
}
.vh-action-btn[data-v-a59c50e9]:disabled {
    color: #cbd5e1;
}
.vh-action-btn.ant-btn-dangerous[data-v-a59c50e9]:hover {
    color: #ef4444;
    background: #fef2f2;
}
.vh-action-divider[data-v-a59c50e9] {
    width: 1px;
    height: 14px;
    background: #d1d5db;
    margin: 0 4px;
}
.vh-action-spacer[data-v-a59c50e9] {
    flex: 1;
}

  /* ===== 版本列表 ===== */
.vh-list[data-v-a59c50e9] {
    flex: 1;
    overflow-y: auto;
    padding: 8px 12px;
}

  /* ===== 版本项 ===== */
.vh-item[data-v-a59c50e9] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 12px;
    border-radius: 10px;
    transition: all 0.2s ease;
    cursor: default;
    position: relative;
    margin-bottom: 2px;
}
.vh-item[data-v-a59c50e9]:hover,
  .vh-item--hover[data-v-a59c50e9] {
    background: #edf2fa;
}
.vh-item--active[data-v-a59c50e9] {
    background: linear-gradient(135deg, #edf1f7, #edf1f7);
    box-shadow: inset 3px 0 0 0 #1377eb;
}

  /* ===== 序号 ===== */
.vh-item-index[data-v-a59c50e9] {
    width: 26px;
    height: 26px;
    border-radius: 8px;
    background: #edf2fa;
    color: #8894a8;
    font-size: 11px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 1px;
    font-variant-numeric: tabular-nums;
}
.vh-item-index--first[data-v-a59c50e9] {
    background: linear-gradient(135deg, #1377eb, #3b99f7);
    color: #fff;
    box-shadow: 0 2px 6px rgba(19, 119, 235, 0.25);
}

  /* ===== 版本内容 ===== */
.vh-item-body[data-v-a59c50e9] {
    flex: 1;
    min-width: 0;
}
.vh-item-remark-row[data-v-a59c50e9] {
    display: flex;
    align-items: center;
    gap: 10px;
}
.vh-item-remark-wrapper[data-v-a59c50e9] {
    flex: 1;
    min-width: 0;
}
.vh-item-remark[data-v-a59c50e9] {
    font-size: 13.5px;
    font-weight: 500;
    color: #1a253b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
    line-height: 1.5;
    letter-spacing: 0.2px;
}
.vh-item-remark[data-v-a59c50e9]:hover {
    color: #0d5bbf;
}
.vh-item-remark-input[data-v-a59c50e9] {
    font-size: 13.5px;
    font-weight: 500;
    color: #1a253b;
    border: 1.5px solid #1377eb;
    border-radius: 6px;
    padding: 3px 8px;
    outline: none;
    width: 100%;
    box-shadow: 0 0 0 3px rgba(19, 119, 235, 0.1);
    background: #fff;
    transition: box-shadow 0.2s;
}
.vh-item-size[data-v-a59c50e9] {
    font-size: 11px;
    color: #8894a8;
    white-space: nowrap;
    flex-shrink: 0;
    font-variant-numeric: tabular-nums;
}
.vh-item-meta[data-v-a59c50e9] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 5px;
}
.vh-item-time[data-v-a59c50e9] {
    font-size: 11.5px;
    color: #8894a8;
    font-variant-numeric: tabular-nums;
}
.vh-meta-dot[data-v-a59c50e9] {
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: #d1d5db;
    flex-shrink: 0;
}
.vh-item-stat[data-v-a59c50e9] {
    font-size: 11px;
    color: #b0bec5;
}

  /* ===== 操作按钮 ===== */
.vh-item-ops[data-v-a59c50e9] {
    display: flex;
    align-items: center;
    gap: 2px;
    flex-shrink: 0;
    opacity: 0;
    transform: translateX(6px);
    transition:
      opacity 0.2s ease,
      transform 0.2s ease;
    margin-top: 1px;
}
.vh-item-ops--visible[data-v-a59c50e9] {
    opacity: 1;
    transform: translateX(0);
}
.vh-op-btn[data-v-a59c50e9] {
    width: 30px;
    height: 30px;
    border: none;
    background: transparent;
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    font-size: 13px;
    transition: all 0.15s ease;
    padding: 0;
}
.vh-op-btn[data-v-a59c50e9]:hover {
    background: #e2e8f0;
    color: #334155;
}
.vh-op-btn--danger[data-v-a59c50e9]:hover {
    background: #fef2f2;
    color: #ef4444;
}

  /* ===== 搜索无结果 ===== */
.vh-no-result[data-v-a59c50e9] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
}
.vh-no-result-icon[data-v-a59c50e9] {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #f8fafc;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
}
.vh-no-result-icon[data-v-a59c50e9] .anticon {
    font-size: 24px;
    color: #cbd5e1;
}
.vh-no-result-text[data-v-a59c50e9] {
    margin: 0;
    font-size: 13px;
    color: #94a3b8;
}

  /* ===== 空状态 ===== */
.vh-empty[data-v-a59c50e9] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 48px 20px;
}
.vh-empty-illustration[data-v-a59c50e9] {
    position: relative;
    width: 88px;
    height: 88px;
    margin-bottom: 24px;
}
.vh-empty-ring[data-v-a59c50e9] {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: linear-gradient(135deg, #edf1f7, #dbeafe);
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 8px;
    left: 8px;
    box-shadow: 0 4px 12px rgba(19, 119, 235, 0.08);
}
.vh-empty-ring-inner[data-v-a59c50e9] .anticon {
    font-size: 28px;
    color: #1377eb;
    opacity: 0.45;
}
.vh-empty-pulse[data-v-a59c50e9] {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 5px;
}
.vh-empty-pulse span[data-v-a59c50e9] {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #e2e8f0;
}
.vh-empty-pulse span[data-v-a59c50e9]:nth-child(2) {
    background: #cbd5e1;
    width: 6px;
    height: 6px;
}
.vh-empty-title[data-v-a59c50e9] {
    margin: 0;
    font-size: 14px;
    font-weight: 500;
    color: #64748b;
    letter-spacing: 0.3px;
}
.vh-empty-hint[data-v-a59c50e9] {
    margin: 8px 0 0;
    font-size: 12px;
    color: #94a3b8;
    line-height: 1.6;
    text-align: center;
    max-width: 240px;
}

  /* ===== 滚动条 ===== */
.vh-list[data-v-a59c50e9]::-webkit-scrollbar {
    width: 5px;
}
.vh-list[data-v-a59c50e9]::-webkit-scrollbar-track {
    background: transparent;
}
.vh-list[data-v-a59c50e9]::-webkit-scrollbar-thumb {
    background: #e2e8f0;
    border-radius: 3px;
}
.vh-list[data-v-a59c50e9]::-webkit-scrollbar-thumb:hover {
    background: #cbd5e1;
}
@media (max-width: 768px) {
[data-v-a59c50e9] .version-drawer .ant-drawer-content-wrapper {
      max-width: 100% !important;
      width: 100% !important;
}
}

.ai-cute-icon[data-v-f6ea3d7e] {
    display: inline-block;
    vertical-align: middle;
}

  /* ===== 极简中性风格工具栏 ===== */
.tool-bar-container[data-v-c486c22d] {
    overflow-x: auto;
}
.tool-bar[data-v-c486c22d] {
    display: flex;
    align-items: center;
    height: 48px;
    padding: 0 16px;
    background: #ffffff;
    border-bottom: 1px solid #e5e7eb;
    gap: 0;
}

  /* ===== Logo ===== */
.tb-logo[data-v-c486c22d] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
    padding-right: 12px;
}
.tb-logo-icon[data-v-c486c22d] {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
    box-shadow: 0 2px 8px rgba(99, 102, 241, 0.25);
}
.tb-logo-svg[data-v-c486c22d] {
    font-size: 18px;
    color: #ffffff;
}
.tb-logo-text[data-v-c486c22d] {
    font-size: 15px;
    font-weight: 600;
    color: #111827;
    white-space: nowrap;
}

  /* ===== 分隔线 ===== */
.tb-divider[data-v-c486c22d] {
    width: 1px;
    height: 20px;
    background: #e5e7eb;
    margin-right: 10px;
    flex-shrink: 0;
}

  /* ===== 按钮区域 ===== */
.tb-groups[data-v-c486c22d] {
    display: flex;
    align-items: center;
    flex: 1;
    justify-content: flex-end;
    gap: 6px;
    overflow-x: auto;
    scrollbar-width: none;
}
.tb-groups[data-v-c486c22d]::-webkit-scrollbar {
    display: none;
}
.tb-group[data-v-c486c22d] {
    display: flex;
    align-items: center;
    gap: 4px;
}
.tb-group-divider[data-v-c486c22d] {
    width: 1px;
    height: 18px;
    background: #e5e7eb;
    margin: 0 4px;
    flex-shrink: 0;
}

  /* ===== 统一按钮样式 ===== */
.tb-btn[data-v-c486c22d] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.15s ease;
    color: #4b5563;
    background: transparent;
    border: none;
    outline: none;
}
.tb-btn[data-v-c486c22d]:hover {
    background: #f3f4f6;
    color: #111827;
}
.tb-btn[data-v-c486c22d]:active {
    background: #e5e7eb;
}
.tb-btn-icon[data-v-c486c22d] {
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
}

  /* AI按钮 - 青蓝色与AI抽屉风格统一 */
.tb-btn--ai[data-v-c486c22d] {
    background: #0ea5e9;
    color: #ffffff;
}
.tb-btn--ai[data-v-c486c22d]:hover {
    background: #0284c7;
    color: #ffffff;
}
.tb-btn--ai[data-v-c486c22d]:active {
    background: #0369a1;
}

  /* 更多按钮 */
.tb-btn--more[data-v-c486c22d] {
    color: #9ca3af;
}
.tb-btn--more[data-v-c486c22d]:hover {
    color: #6b7280;
    background: #f3f4f6;
}

  /* 禁用状态 */
.tb-btn--disabled[data-v-c486c22d] {
    opacity: 0.4;
    cursor: not-allowed;
}
.tb-btn--disabled[data-v-c486c22d]:hover {
    background: transparent;
}

  /* ===== 缩放控制 - 简洁风格 ===== */
.tb-zoom-control[data-v-c486c22d] {
    display: flex;
    align-items: center;
    gap: 1px;
    background: #f9fafb;
    border-radius: 6px;
    padding: 2px;
    border: 1px solid #e5e7eb;
}
.tb-zoom-btn[data-v-c486c22d] {
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    cursor: pointer;
    color: #6b7280;
    background: transparent;
    border: none;
    font-size: 14px;
    transition: all 0.15s ease;
}
.tb-zoom-btn[data-v-c486c22d]:hover {
    background: #ffffff;
    color: #111827;
}
.tb-zoom-value[data-v-c486c22d] {
    min-width: 44px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 500;
    color: #374151;
    cursor: pointer;
    border-radius: 4px;
    transition: all 0.15s ease;
    user-select: none;
}
.tb-zoom-value[data-v-c486c22d]:hover {
    background: #ffffff;
    color: #111827;
}

  /* ===== 右侧区域 ===== */
.tb-right[data-v-c486c22d] {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
    margin-left: auto;
    padding-left: 10px;
    border-left: 1px solid #e5e7eb;
}

  /* ===== 语言切换 ===== */
.tb-lang[data-v-c486c22d] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 28px;
    padding: 0 10px;
    border-radius: 6px;
    cursor: pointer;
    background: #f3f4f6;
    border: none;
    font-size: 12px;
    font-weight: 600;
    color: #4b5563;
    transition: all 0.15s ease;
}
.tb-lang[data-v-c486c22d]:hover {
    background: #e5e7eb;
    color: #111827;
}

  /* ===== 深色主题 ===== */
.theme-dark .tool-bar[data-v-c486c22d] {
    background: #1f2937;
    border-bottom-color: #374151;
}
.theme-dark .tb-logo-icon[data-v-c486c22d] {
    background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
    box-shadow: 0 2px 8px rgba(99, 102, 241, 0.3);
}
.theme-dark .tb-logo-text[data-v-c486c22d] {
    color: #f9fafb;
}
.theme-dark .tb-divider[data-v-c486c22d],
  .theme-dark .tb-group-divider[data-v-c486c22d],
  .theme-dark .tb-right[data-v-c486c22d] {
    border-color: #374151;
}
.theme-dark .tb-btn[data-v-c486c22d] {
    color: #9ca3af;
}
.theme-dark .tb-btn[data-v-c486c22d]:hover {
    background: #374151;
    color: #f3f4f6;
}
.theme-dark .tb-btn[data-v-c486c22d]:active {
    background: #4b5563;
}
.theme-dark .tb-btn--ai[data-v-c486c22d] {
    background: #0ea5e9;
    color: #ffffff;
}
.theme-dark .tb-btn--ai[data-v-c486c22d]:hover {
    background: #0284c7;
}
.theme-dark .tb-btn--more[data-v-c486c22d] {
    color: #6b7280;
}
.theme-dark .tb-btn--more[data-v-c486c22d]:hover {
    color: #9ca3af;
    background: #374151;
}
.theme-dark .tb-zoom-control[data-v-c486c22d] {
    background: #111827;
    border-color: #374151;
}
.theme-dark .tb-zoom-btn[data-v-c486c22d],
  .theme-dark .tb-zoom-value[data-v-c486c22d] {
    color: #9ca3af;
}
.theme-dark .tb-zoom-btn[data-v-c486c22d]:hover,
  .theme-dark .tb-zoom-value[data-v-c486c22d]:hover {
    background: #374151;
    color: #f3f4f6;
}
.theme-dark .tb-lang[data-v-c486c22d] {
    background: #374151;
    color: #9ca3af;
}
.theme-dark .tb-lang[data-v-c486c22d]:hover {
    background: #4b5563;
    color: #f3f4f6;
}

  /* ===== 响应式 ===== */
@media (max-width: 768px) {
.tool-bar[data-v-c486c22d] {
      padding: 0 12px;
      height: 44px;
}
.tb-btn[data-v-c486c22d] {
      width: 30px;
      height: 30px;
}
.tb-btn-icon[data-v-c486c22d] {
      font-size: 15px;
}
.tb-logo-text[data-v-c486c22d] {
      font-size: 13px;
}
}
@media (max-width: 480px) {
.tool-bar[data-v-c486c22d] {
      padding: 0 8px;
}
.tb-logo-text[data-v-c486c22d] {
      display: none;
}
.tb-btn[data-v-c486c22d] {
      width: 28px;
      height: 28px;
}
.tb-btn-icon[data-v-c486c22d] {
      font-size: 14px;
}
}
.approval-node[data-v-b3c49acd] {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0 12px;
  background: #fff;
  border-radius: 6px;
  border-left: 4px solid #1377eb;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
  gap: 8px;
  overflow: hidden;
}
.approval-icon[data-v-b3c49acd] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #eff6ff;
  color: #1377eb;
  flex-shrink: 0;
}
.approval-info[data-v-b3c49acd] {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-width: 0;
}
.approval-name[data-v-b3c49acd] {
  font-size: 13px;
  font-weight: 500;
  color: #1e293b;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.approval-desc[data-v-b3c49acd] {
  font-size: 11px;
  color: #94a3b8;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.notice-node[data-v-ab47d43a] {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0 12px;
  background: #fffbeb;
  border-radius: 6px;
  border-top: 3px solid #f59e0b;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
  gap: 8px;
  overflow: hidden;
}
.notice-icon[data-v-ab47d43a] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #fef3c7;
  color: #f59e0b;
  flex-shrink: 0;
}
.notice-content[data-v-ab47d43a] {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-width: 0;
}
.notice-name[data-v-ab47d43a] {
  font-size: 13px;
  font-weight: 500;
  color: #1e293b;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.notice-type[data-v-ab47d43a] {
  font-size: 11px;
  color: #d97706;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.script-node[data-v-a1f82f81] {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 8px 12px;
  background: #faf5ff;
  border-radius: 6px;
  border-right: 4px solid #8b5cf6;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
  overflow: hidden;
  justify-content: center;
}
.script-header[data-v-a1f82f81] {
  display: flex;
  align-items: center;
  gap: 6px;
}
.script-icon[data-v-a1f82f81] {
  font-size: 16px;
  line-height: 1;
}
.script-name[data-v-a1f82f81] {
  font-size: 13px;
  font-weight: 600;
  color: #1e293b;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.script-body[data-v-a1f82f81] {
  margin-top: 4px;
}
.script-body code[data-v-a1f82f81] {
  font-size: 11px;
  color: #7c3aed;
  background: #ede9fe;
  padding: 1px 6px;
  border-radius: 3px;
}
/* ===== 消息出现动画 ===== */
@keyframes message-in-a6e34774 {
from {
    opacity: 0;
    transform: translateY(12px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
/* ===== 头部 - 青蓝清新企业风格 ===== */
.ai-header[data-v-a6e34774] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 20px;
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(229, 231, 235, 0.6);
  position: relative;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}
.ai-header[data-v-a6e34774]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #0ea5e9 0%, #06b6d4 50%, #0ea5e9 100%);
  pointer-events: none;
}
.ai-header-left[data-v-a6e34774] {
  display: flex;
  align-items: center;
  gap: 12px;
  position: relative;
  z-index: 1;
}
.ai-header-avatar[data-v-a6e34774] {
  position: relative;
  width: 40px;
  height: 40px;
  background: linear-gradient(135deg, #0ea5e9 0%, #06b6d4 100%);
  border: 2px solid #e0f2fe;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(14, 165, 233, 0.25);
}
.ai-avatar-glow[data-v-a6e34774] {
  position: absolute;
  inset: -2px;
  background: linear-gradient(135deg, rgba(14, 165, 233, 0.3), rgba(6, 182, 212, 0.2));
  border-radius: 12px;
  animation: glow-pulse-a6e34774 2s ease-in-out infinite;
  filter: blur(6px);
}
@keyframes glow-pulse-a6e34774 {
0%,
  100% {
    opacity: 0.6;
    transform: scale(1);
}
50% {
    opacity: 1;
    transform: scale(1.05);
}
}
.ai-avatar-icon[data-v-a6e34774] {
  font-size: 20px;
  color: #fff;
  position: relative;
  z-index: 1;
}
.ai-header-info[data-v-a6e34774] {
  display: flex;
  flex-direction: column;
  gap: 2px;
  position: relative;
  z-index: 1;
}
.ai-header-name[data-v-a6e34774] {
  font-size: 15px;
  font-weight: 600;
  color: #1f2937;
  line-height: 1.3;
}
.ai-header-status[data-v-a6e34774] {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  color: #10b981;
  font-weight: 500;
}
.ai-status-indicator[data-v-a6e34774] {
  width: 6px;
  height: 6px;
  background: #10b981;
  border-radius: 50%;
  box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.2);
  animation: status-blink-a6e34774 2s ease-in-out infinite;
}
@keyframes status-blink-a6e34774 {
0%,
  100% {
    opacity: 1;
}
50% {
    opacity: 0.5;
}
}
.ai-header-actions[data-v-a6e34774] {
  display: flex;
  gap: 4px;
  position: relative;
  z-index: 1;
}
.ai-header-btn[data-v-a6e34774] {
  color: #6b7280 !important;
  border-radius: 6px;
  transition: all 0.2s ease;
}
.ai-header-btn[data-v-a6e34774]:hover {
  color: #374151 !important;
  background: #e5e7eb !important;
  border-color: #d1d5db !important;
}
/* ===== 消息列表 ===== */
.ai-message-list[data-v-a6e34774] {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
  min-width: 0;
}
/* ===== 欢迎区域 - 青蓝毛玻璃效果 ===== */
.ai-welcome-section[data-v-a6e34774] {
  display: flex;
  flex-direction: column;
  gap: 16px;
  flex-shrink: 0;
}
.ai-welcome-message[data-v-a6e34774] {
  display: flex;
  gap: 12px;
  padding: 14px 16px;
  background: linear-gradient(135deg, rgba(14, 165, 233, 0.08) 0%, rgba(6, 182, 212, 0.05) 100%);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(14, 165, 233, 0.15);
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(14, 165, 233, 0.08);
  flex-shrink: 0;
}
.ai-welcome-avatar[data-v-a6e34774] {
  width: 36px;
  height: 36px;
  background: linear-gradient(135deg, #0ea5e9 0%, #06b6d4 100%);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 18px;
  flex-shrink: 0;
}
.ai-welcome-text[data-v-a6e34774] {
  font-size: 14px;
  line-height: 1.7;
  color: #374151;
}
/* ===== 模板区域 ===== */
.ai-template-section[data-v-a6e34774] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1;
  min-height: 0;
}
.ai-template-scroll-area[data-v-a6e34774] {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  min-height: 0;
  padding-right: 4px;
  margin-right: -4px;
}
.ai-template-header[data-v-a6e34774] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
  color: #1f2937;
}
.ai-template-header-icon[data-v-a6e34774] {
  color: #fa8c16;
}
.ai-category-tabs[data-v-a6e34774] {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.ai-category-tab[data-v-a6e34774] {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 6px 12px;
  border-radius: 16px;
  font-size: 12px;
  color: #6b7280;
  background: #f3f4f6;
  cursor: pointer;
  transition: all 0.2s ease;
}
.ai-category-tab[data-v-a6e34774]:hover {
  background: #e5e7eb;
  color: #374151;
}
.ai-category-tab--active[data-v-a6e34774] {
  background: linear-gradient(135deg, #0ea5e9 0%, #06b6d4 100%);
  color: #fff;
  box-shadow: 0 2px 8px rgba(14, 165, 233, 0.3);
}
.ai-category-tab-icon[data-v-a6e34774] {
  font-size: 12px;
}
.ai-template-grid[data-v-a6e34774] {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  width: 100%;
  box-sizing: border-box;
}
.ai-template-card[data-v-a6e34774] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  min-width: 0;
  overflow: hidden;
}
.ai-template-card[data-v-a6e34774]:hover {
  border-color: #67e8f9;
  box-shadow: 0 6px 16px rgba(14, 165, 233, 0.15);
  transform: translateY(-2px);
}
.ai-template-card:hover .ai-template-arrow[data-v-a6e34774] {
  opacity: 1;
  transform: translateX(0);
}
.ai-template-icon[data-v-a6e34774] {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  flex-shrink: 0;
}
.ai-template-info[data-v-a6e34774] {
  flex: 1;
  min-width: 0;
}
.ai-template-title[data-v-a6e34774] {
  font-size: 13px;
  font-weight: 600;
  color: #1f2937;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ai-template-desc[data-v-a6e34774] {
  font-size: 11px;
  color: #9ca3af;
  line-height: 1.4;
  margin-top: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
}
.ai-template-arrow[data-v-a6e34774] {
  color: #0ea5e9;
  font-size: 12px;
  opacity: 0;
  transform: translateX(-4px);
  transition: all 0.25s ease;
}
/* ===== 消息 - 带淡入上滑动画 ===== */
.ai-message[data-v-a6e34774] {
  display: flex;
  gap: 10px;
  max-width: 100%;
  animation: message-in-a6e34774 0.3s ease-out;
}
.ai-message--user[data-v-a6e34774] {
  flex-direction: row-reverse;
}
.ai-message-avatar[data-v-a6e34774] {
  flex-shrink: 0;
}
.ai-avatar-small[data-v-a6e34774] {
  width: 32px;
  height: 32px;
  background: linear-gradient(135deg, #0ea5e9 0%, #06b6d4 100%);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 14px;
}
.ai-avatar-small--user[data-v-a6e34774] {
  background: linear-gradient(135deg, #0ea5e9 0%, #06b6d4 100%);
}
.ai-avatar-small--error[data-v-a6e34774] {
  background: #fff2f0;
  color: #f5222d;
}
.ai-message-content[data-v-a6e34774] {
  max-width: calc(100% - 48px);
  min-width: 0;
}
/* ===== AI消息气泡 - 白色背景 + 左侧青蓝竖线 ===== */
.ai-message-bubble[data-v-a6e34774] {
  padding: 14px 16px;
  border-radius: 16px;
  font-size: 14px;
  line-height: 1.6;
  word-break: break-word;
  /* ===== 用户消息气泡 - 青蓝渐变 ===== */
}
.ai-message--assistant .ai-message-bubble[data-v-a6e34774] {
  background: #ffffff;
  color: #1f2937;
  border-radius: 4px 16px 16px 16px;
  border-left: 3px solid #0ea5e9;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.ai-message--user .ai-message-bubble[data-v-a6e34774] {
  background: linear-gradient(135deg, #0ea5e9 0%, #06b6d4 100%);
  color: #fff;
  border-radius: 16px 4px 16px 16px;
  box-shadow: 0 2px 8px rgba(14, 165, 233, 0.25);
}
.ai-message-bubble--error[data-v-a6e34774] {
  background: #fff2f0 !important;
  color: #cf1322 !important;
  border: 1px solid #ffccc7;
  border-left: 3px solid #f5222d !important;
}
.ai-message-bubble--loading[data-v-a6e34774] {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #ffffff;
  color: #6b7280;
  border-left: 3px solid #0ea5e9;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  border-radius: 4px 16px 16px 16px;
}
/* ===== 消息时间戳 ===== */
.ai-message-time[data-v-a6e34774] {
  font-size: 11px;
  color: #9ca3af;
  margin-top: 4px;
  padding: 0 4px;
}
.ai-message--user .ai-message-time[data-v-a6e34774] {
  text-align: right;
}
/* ===== 加载动画 - 青蓝色跳动圆点 ===== */
.ai-loading-dots[data-v-a6e34774] {
  display: flex;
  gap: 4px;
}
.ai-loading-dots span[data-v-a6e34774] {
  width: 6px;
  height: 6px;
  background: #0ea5e9;
  border-radius: 50%;
  animation: dot-bounce-a6e34774 1.4s ease-in-out infinite both;
}
.ai-loading-dots span[data-v-a6e34774]:nth-child(1) {
  animation-delay: -0.32s;
}
.ai-loading-dots span[data-v-a6e34774]:nth-child(2) {
  animation-delay: -0.16s;
}
@keyframes dot-bounce-a6e34774 {
0%,
  80%,
  100% {
    transform: scale(0.6);
    opacity: 0.5;
}
40% {
    transform: scale(1);
    opacity: 1;
}
}
/* ===== 流程卡片 - 现代设计 ===== */
.ai-flow-card[data-v-a6e34774] {
  margin-top: 12px;
  border-radius: 12px;
  border: 1px solid #e5e7eb;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.ai-flow-card-header[data-v-a6e34774] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px;
  background: linear-gradient(135deg, #f0f9ff 0%, #ecfeff 100%);
  border-bottom: 1px solid #e0f2fe;
}
.ai-flow-card-title[data-v-a6e34774] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  color: #1f2937;
}
.ai-flow-card-icon[data-v-a6e34774] {
  color: #0ea5e9;
}
.ai-flow-card-stats[data-v-a6e34774] {
  display: flex;
  gap: 6px;
}
.ai-stat[data-v-a6e34774] {
  font-size: 11px;
  padding: 2px 8px;
  border-radius: 10px;
  font-weight: 500;
}
.ai-stat--blue[data-v-a6e34774] {
  background: #e0f2fe;
  color: #0284c7;
}
.ai-stat--green[data-v-a6e34774] {
  background: #f6ffed;
  color: #52c41a;
}
.ai-stat--orange[data-v-a6e34774] {
  background: #fff7e6;
  color: #fa8c16;
}
/* ===== 节点列表 - 时间线连接线效果 ===== */
.ai-flow-nodes-list[data-v-a6e34774] {
  padding: 10px 14px;
  max-height: 180px;
  overflow-y: auto;
}
.ai-flow-node[data-v-a6e34774] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 0;
  font-size: 12px;
}
.ai-flow-node-timeline[data-v-a6e34774] {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 8px;
  flex-shrink: 0;
}
.ai-flow-node-dot[data-v-a6e34774] {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
  position: relative;
  z-index: 1;
}
.ai-flow-node-line[data-v-a6e34774] {
  flex: 1;
  width: 2px;
  min-height: 8px;
  background: linear-gradient(180deg, #e5e7eb 0%, #e5e7eb 100%);
  border-radius: 1px;
  margin-top: 2px;
}
.ai-flow-node-name[data-v-a6e34774] {
  flex: 1;
  color: #374151;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ai-flow-node-type[data-v-a6e34774] {
  color: #9ca3af;
  font-size: 11px;
  flex-shrink: 0;
}
.ai-flow-actions[data-v-a6e34774] {
  display: flex;
  gap: 8px;
  padding: 10px 14px;
  border-top: 1px solid #f0f0f0;
  background: #fafafa;
}
.ai-action-btn[data-v-a6e34774] {
  border-radius: 8px;
  font-size: 12px;
  transition: all 0.2s ease;
}
.ai-action-btn--primary[data-v-a6e34774] {
  background: linear-gradient(135deg, #0ea5e9 0%, #06b6d4 100%);
  border: none;
}
.ai-action-btn--primary[data-v-a6e34774]:hover {
  background: linear-gradient(135deg, #0284c7 0%, #0891b2 100%) !important;
  box-shadow: 0 2px 8px rgba(14, 165, 233, 0.3);
}
/* ===== 错误操作 ===== */
.ai-error-actions[data-v-a6e34774] {
  margin-top: 10px;
}
/* ===== 预览面板 ===== */
.ai-preview-panel[data-v-a6e34774] {
  border-top: 1px solid #e5e7eb;
  background: #fff;
  display: flex;
  flex-direction: column;
  max-height: 300px;
}
.ai-preview-header[data-v-a6e34774] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  font-size: 14px;
  font-weight: 600;
  color: #1f2937;
  border-bottom: 1px solid #f0f0f0;
}
.ai-preview-body[data-v-a6e34774] {
  flex: 1;
  overflow-y: auto;
  padding: 12px 16px;
}
.ai-preview-timeline[data-v-a6e34774] {
  display: flex;
  flex-direction: column;
}
.ai-preview-node[data-v-a6e34774] {
  display: flex;
  gap: 12px;
  min-height: 44px;
}
.ai-preview-node-left[data-v-a6e34774] {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 28px;
  flex-shrink: 0;
}
.ai-preview-node-icon[data-v-a6e34774] {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  flex-shrink: 0;
}
.ai-preview-connector[data-v-a6e34774] {
  flex: 1;
  width: 2px;
  min-height: 16px;
  background: linear-gradient(180deg, #e5e7eb 0%, #e5e7eb 100%);
  border-radius: 1px;
  margin-top: 4px;
}
.ai-preview-node-info[data-v-a6e34774] {
  padding-bottom: 12px;
}
.ai-preview-node-name[data-v-a6e34774] {
  font-size: 14px;
  font-weight: 500;
  color: #1f2937;
  line-height: 28px;
}
.ai-preview-node-type[data-v-a6e34774] {
  font-size: 11px;
  color: #9ca3af;
}
.ai-preview-footer[data-v-a6e34774] {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 12px 16px;
  border-top: 1px solid #f0f0f0;
  background: #fafafa;
}
/* ===== 输入区域 - 毛玻璃效果 + 青蓝聚焦 ===== */
.ai-input-area[data-v-a6e34774] {
  padding: 10px 16px 12px;
  border-top: 1px solid rgba(229, 231, 235, 0.6);
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  flex-shrink: 0;
}
.ai-input-wrapper[data-v-a6e34774] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: rgba(248, 250, 252, 0.8);
  border: 1px solid rgba(229, 231, 235, 0.6);
  border-radius: 20px;
  transition: all 0.25s ease;
  backdrop-filter: blur(8px);
  min-height: 40px;
}
.ai-input-wrapper[data-v-a6e34774]:focus-within {
  border-color: rgba(14, 165, 233, 0.5);
  box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.1), 0 4px 12px rgba(14, 165, 233, 0.1);
  background: rgba(255, 255, 255, 0.95);
}
.ai-input[data-v-a6e34774] {
  flex: 1;
  border: none !important;
  background: transparent !important;
  padding: 2px 0 !important;
  font-size: 14px !important;
  resize: none !important;
  box-shadow: none !important;
  line-height: 1.5;
}
.ai-input[data-v-a6e34774]:focus {
  box-shadow: none !important;
}
/* ===== 发送按钮 - 青蓝渐变 ===== */
.ai-send-btn[data-v-a6e34774] {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  background: linear-gradient(135deg, rgba(14, 165, 233, 0.9) 0%, rgba(6, 182, 212, 0.9) 100%);
  backdrop-filter: blur(4px);
  border: 1px solid rgba(255, 255, 255, 0.3);
  box-shadow: 0 2px 8px rgba(14, 165, 233, 0.3);
  transition: all 0.25s ease;
}
.ai-send-btn[data-v-a6e34774]:hover:not(:disabled) {
  background: linear-gradient(135deg, rgba(6, 182, 212, 0.95) 0%, rgba(14, 165, 233, 0.95) 100%);
  transform: scale(1.05);
  box-shadow: 0 4px 12px rgba(14, 165, 233, 0.4);
}
.ai-send-btn[data-v-a6e34774]:disabled {
  background: rgba(217, 217, 217, 0.8);
  box-shadow: none;
}
.ai-input-hint[data-v-a6e34774] {
  margin-top: 6px;
  font-size: 11px;
  color: #9ca3af;
  text-align: center;
}
/* ===== 移动端适配 ===== */
@media (max-width: 768px) {
[data-v-a6e34774] .ai-drawer .ant-drawer-content-wrapper {
    max-width: 100% !important;
    width: 100% !important;
}
}
@media (max-width: 768px) {
.ai-template-grid[data-v-a6e34774] {
    grid-template-columns: 1fr;
}
.ai-category-tabs[data-v-a6e34774] {
    overflow-x: auto;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
}
.ai-category-tab[data-v-a6e34774] {
    flex-shrink: 0;
}
.ai-message-list[data-v-a6e34774] {
    padding: 12px 14px;
}
.ai-input-area[data-v-a6e34774] {
    padding: 10px 14px 14px;
}
}
@media (max-width: 480px) {
.ai-header[data-v-a6e34774] {
    padding: 10px 14px;
}
.ai-header-name[data-v-a6e34774] {
    font-size: 14px;
}
.ai-welcome-message[data-v-a6e34774] {
    padding: 12px;
    flex-direction: column;
    gap: 10px;
}
.ai-welcome-avatar[data-v-a6e34774] {
    width: 32px;
    height: 32px;
    font-size: 16px;
}
.ai-welcome-text[data-v-a6e34774] {
    font-size: 13px;
}
.ai-template-card[data-v-a6e34774] {
    padding: 10px;
}
.ai-template-desc[data-v-a6e34774] {
    display: none;
}
.ai-message-bubble[data-v-a6e34774] {
    padding: 10px 12px;
    font-size: 13px;
}
.ai-flow-card-header[data-v-a6e34774] {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}
.ai-input-hint[data-v-a6e34774] {
    display: none;
}
}
/* ===== 面板容器 ===== */
.smart-recommendation[data-v-d6bb8c63] {
  position: fixed;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 300px;
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.06);
  border: 1px solid #e5e7eb;
  z-index: 1000;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  max-height: 480px;
}
/* ===== 头部 ===== */
.sr-header[data-v-d6bb8c63] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
}
.sr-header-left[data-v-d6bb8c63] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.sr-header-icon[data-v-d6bb8c63] {
  font-size: 16px;
}
.sr-header-title[data-v-d6bb8c63] {
  font-size: 14px;
  font-weight: 600;
}
.sr-header-right[data-v-d6bb8c63] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.sr-header-right[data-v-d6bb8c63] .ant-switch {
  background: rgba(255, 255, 255, 0.3);
}
.sr-header-right[data-v-d6bb8c63] .ant-switch-checked {
  background: #ffffff;
}
.sr-close-btn[data-v-d6bb8c63] {
  color: rgba(255, 255, 255, 0.8) !important;
}
.sr-close-btn[data-v-d6bb8c63]:hover {
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.15) !important;
}
/* ===== 当前节点信息 ===== */
.sr-current-node[data-v-d6bb8c63] {
  padding: 10px 16px;
  background: #f9fafb;
  border-bottom: 1px solid #f0f0f0;
}
.sr-current-label[data-v-d6bb8c63] {
  font-size: 11px;
  color: #9ca3af;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.sr-current-info[data-v-d6bb8c63] {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 4px;
}
.sr-current-dot[data-v-d6bb8c63] {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.sr-current-name[data-v-d6bb8c63] {
  font-size: 13px;
  font-weight: 500;
  color: #1f2937;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
}
.sr-current-type-tag[data-v-d6bb8c63] {
  font-size: 11px !important;
  border-radius: 4px !important;
  margin: 0 !important;
  flex-shrink: 0;
}
/* ===== 推荐列表 ===== */
.sr-list[data-v-d6bb8c63] {
  flex: 1;
  overflow-y: auto;
  padding: 8px;
}
.sr-list-inner[data-v-d6bb8c63] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.sr-item[data-v-d6bb8c63] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  border: 1px solid transparent;
}
.sr-item[data-v-d6bb8c63]:hover {
  background: #e6f4ff;
  border-color: #91caff;
}
.sr-item:hover .sr-item-action[data-v-d6bb8c63] {
  opacity: 1;
  color: #1677ff;
}
.sr-item[data-v-d6bb8c63]:active {
  transform: scale(0.98);
  background: #bae0ff;
}
.sr-item-left[data-v-d6bb8c63] {
  flex-shrink: 0;
}
.sr-item-icon[data-v-d6bb8c63] {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 700;
}
.sr-item-content[data-v-d6bb8c63] {
  flex: 1;
  min-width: 0;
}
.sr-item-header[data-v-d6bb8c63] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.sr-item-name[data-v-d6bb8c63] {
  font-size: 13px;
  font-weight: 500;
  color: #1f2937;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sr-item-probability[data-v-d6bb8c63] {
  font-size: 11px;
  font-weight: 600;
  flex-shrink: 0;
}
.sr-item-reason[data-v-d6bb8c63] {
  font-size: 11px;
  color: #9ca3af;
  margin-top: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sr-item-action[data-v-d6bb8c63] {
  flex-shrink: 0;
  font-size: 14px;
  color: #d9d9d9;
  opacity: 0;
  transition: all 0.2s ease;
}
/* ===== 空状态 ===== */
.sr-empty[data-v-d6bb8c63] {
  padding: 24px 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}
/* ===== 底部 ===== */
.sr-footer[data-v-d6bb8c63] {
  padding: 8px 16px;
  border-top: 1px solid #f0f0f0;
  background: #fafafa;
}
.sr-footer-text[data-v-d6bb8c63] {
  font-size: 11px;
  color: #bfbfbf;
  text-align: center;
  display: block;
}
/* ===== 过渡动画 ===== */
.recommend-slide-enter-active[data-v-d6bb8c63] {
  transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.recommend-slide-leave-active[data-v-d6bb8c63] {
  transition: all 0.2s ease-in;
}
.recommend-slide-enter-from[data-v-d6bb8c63] {
  opacity: 0;
  transform: translateY(-50%) translateX(20px);
}
.recommend-slide-leave-to[data-v-d6bb8c63] {
  opacity: 0;
  transform: translateY(-50%) translateX(20px);
}
.recommend-item-enter-active[data-v-d6bb8c63] {
  transition: all 0.3s ease;
}
.recommend-item-leave-active[data-v-d6bb8c63] {
  transition: all 0.2s ease;
}
.recommend-item-enter-from[data-v-d6bb8c63] {
  opacity: 0;
  transform: translateX(10px);
}
.recommend-item-leave-to[data-v-d6bb8c63] {
  opacity: 0;
  transform: translateX(-10px);
}
@media (max-width: 768px) {
.smart-recommendation[data-v-d6bb8c63] {
    right: 8px;
    width: calc(100vw - 16px);
    max-width: 320px;
    max-height: 60vh;
    top: auto;
    bottom: 80px;
    transform: none;
}
.recommend-slide-enter-from[data-v-d6bb8c63],
  .recommend-slide-leave-to[data-v-d6bb8c63] {
    transform: translateY(20px);
}
}
.auto-layout-panel .panel-section[data-v-98806197] {
  margin-bottom: 24px;
}
.auto-layout-panel .section-title[data-v-98806197] {
  font-size: 14px;
  font-weight: 600;
  color: #1a253b;
  margin-bottom: 12px;
}
.auto-layout-panel .direction-group[data-v-98806197] {
  width: 100%;
}
.auto-layout-panel .direction-option[data-v-98806197] {
  padding: 10px 12px;
  margin-bottom: 8px;
  background: #f8f9fb;
  border: 1px solid #e8ecf1;
  border-radius: 8px;
  transition: all 0.2s;
}
.auto-layout-panel .direction-option[data-v-98806197]:hover {
  border-color: #1377eb;
  background: #edf2fa;
}
.auto-layout-panel .direction-option .direction-desc[data-v-98806197] {
  font-size: 12px;
  color: #5a6577;
  margin-top: 4px;
  padding-left: 24px;
}
.auto-layout-panel .spacing-control[data-v-98806197] {
  margin-bottom: 16px;
}
.auto-layout-panel .spacing-control .spacing-label[data-v-98806197] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.auto-layout-panel .spacing-control .spacing-label span[data-v-98806197]:first-child {
  font-size: 13px;
  color: #374151;
}
.auto-layout-panel .spacing-control .spacing-label .spacing-value[data-v-98806197] {
  font-size: 12px;
  color: #1377eb;
  font-weight: 600;
  font-family: 'SFMono-Regular', Consolas, monospace;
}
.auto-layout-panel .panel-actions[data-v-98806197] {
  margin-top: 32px;
  padding-top: 16px;
  border-top: 1px solid #e8ecf1;
}
/* ===== Drawer Title ===== */
.alp-drawer-title[data-v-98806197] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.alp-drawer-title-text[data-v-98806197] {
  font-size: 15px;
  font-weight: 600;
  color: #1a253b;
}
@media (max-width: 768px) {
[data-v-98806197] .autolayout-drawer .ant-drawer-content-wrapper {
    max-width: 100% !important;
    width: 100% !important;
}
}
.validation-panel[data-v-f6ec1053] {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.validation-panel .panel-toolbar[data-v-f6ec1053] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid #e8ecf1;
  background: #fafbfc;
}
.validation-panel .panel-toolbar .filter-badge[data-v-f6ec1053] {
  margin-left: 4px;
}
.validation-panel .panel-toolbar .filter-badge[data-v-f6ec1053] .ant-badge-count {
  font-size: 10px;
  height: 16px;
  line-height: 16px;
  padding: 0 4px;
  border-radius: 8px;
}
.validation-panel .validation-status[data-v-f6ec1053] {
  padding: 12px 16px;
}
.validation-panel .validation-status .status-summary[data-v-f6ec1053] {
  margin-bottom: 8px;
}
.validation-panel .result-list[data-v-f6ec1053] {
  flex: 1;
  overflow-y: auto;
  padding: 0 12px 12px;
}
.validation-panel .result-list .result-collapse[data-v-f6ec1053] {
  background: transparent;
}
.validation-panel .result-list .result-collapse[data-v-f6ec1053] .ant-collapse-header {
  font-weight: 600;
  font-size: 13px;
  padding: 8px 0 !important;
}
.validation-panel .result-list .result-collapse[data-v-f6ec1053] .ant-collapse-content-box {
  padding: 4px 0 8px !important;
}
.validation-panel .result-list .result-item[data-v-f6ec1053] {
  padding: 10px 12px;
  margin-bottom: 6px;
  border-radius: 6px;
  border: 1px solid #e8ecf1;
  cursor: pointer;
  transition: all 0.15s;
}
.validation-panel .result-list .result-item[data-v-f6ec1053]:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.validation-panel .result-list .result-item.result-item-error[data-v-f6ec1053] {
  border-left: 3px solid #f54645;
  background: #fef7f7;
}
.validation-panel .result-list .result-item.result-item-error[data-v-f6ec1053]:hover {
  background: #fef2f2;
}
.validation-panel .result-list .result-item.result-item-warning[data-v-f6ec1053] {
  border-left: 3px solid #faad14;
  background: #fffbe6;
}
.validation-panel .result-list .result-item.result-item-warning[data-v-f6ec1053]:hover {
  background: #fff7cc;
}
.validation-panel .result-list .result-item.result-item-info[data-v-f6ec1053] {
  border-left: 3px solid #1377eb;
  background: #f0f7ff;
}
.validation-panel .result-list .result-item.result-item-info[data-v-f6ec1053]:hover {
  background: #e6f2ff;
}
.validation-panel .result-list .result-item .item-header[data-v-f6ec1053] {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
}
.validation-panel .result-list .result-item .item-header .item-node-name[data-v-f6ec1053] {
  font-size: 13px;
  font-weight: 600;
  color: #1a253b;
}
.validation-panel .result-list .result-item .item-header .item-category[data-v-f6ec1053] {
  font-size: 10px;
  font-family: 'SFMono-Regular', Consolas, monospace;
}
.validation-panel .result-list .result-item .item-message[data-v-f6ec1053] {
  font-size: 12px;
  color: #5a6577;
  line-height: 1.5;
  margin-bottom: 4px;
}
.validation-panel .result-list .result-item .item-fix[data-v-f6ec1053] {
  font-size: 11px;
  color: #1377eb;
  background: #edf2fa;
  padding: 4px 8px;
  border-radius: 4px;
  margin-top: 4px;
}
.validation-panel .result-list .result-item .item-fix .fix-label[data-v-f6ec1053] {
  font-weight: 600;
  margin-right: 4px;
}
.validation-panel .result-list .result-item .item-fix .fix-text[data-v-f6ec1053] {
  color: #374151;
}
.validation-panel .empty-state[data-v-f6ec1053] {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
}
.validation-panel .loading-state[data-v-f6ec1053] {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
}
/* ===== Drawer Title ===== */
.vp-drawer-title[data-v-f6ec1053] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.vp-drawer-title-text[data-v-f6ec1053] {
  font-size: 15px;
  font-weight: 600;
  color: #1a253b;
}
@media (max-width: 768px) {
[data-v-f6ec1053] .validation-drawer .ant-drawer-content-wrapper {
    max-width: 100% !important;
    width: 100% !important;
}
}
.simulation-report[data-v-d6f846f3] {
  min-height: 400px;
}
.sr-empty[data-v-d6f846f3] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
  color: #8c8c8c;
}
.sr-empty-icon[data-v-d6f846f3] {
  font-size: 48px;
  margin-bottom: 16px;
}
.sr-summary-cards[data-v-d6f846f3] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 20px;
}
.sr-card[data-v-d6f846f3] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
  background: #fafafa;
  border-radius: 8px;
}
.sr-card-icon[data-v-d6f846f3] {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
}
.sr-card-content[data-v-d6f846f3] {
  display: flex;
  flex-direction: column;
}
.sr-card-value[data-v-d6f846f3] {
  font-size: 24px;
  font-weight: 600;
  color: #1a253b;
  line-height: 1.2;
}
.sr-card-label[data-v-d6f846f3] {
  font-size: 12px;
  color: #8c8c8c;
}
.sr-process-info[data-v-d6f846f3] {
  display: flex;
  gap: 24px;
  padding: 12px 16px;
  background: #f5f5f5;
  border-radius: 8px;
  margin-bottom: 16px;
}
.sr-info-item[data-v-d6f846f3] {
  display: flex;
  gap: 8px;
}
.sr-info-label[data-v-d6f846f3] {
  color: #8c8c8c;
  font-size: 13px;
}
.sr-info-value[data-v-d6f846f3] {
  color: #1a253b;
  font-size: 13px;
  font-weight: 500;
}
.sr-tabs[data-v-d6f846f3] .ant-tabs-content {
  min-height: 300px;
}
.sr-tab-header[data-v-d6f846f3] {
  margin-bottom: 16px;
}
.sr-timeline-container[data-v-d6f846f3] {
  max-height: 400px;
  overflow-y: auto;
  padding-right: 8px;
}
.sr-timeline-item[data-v-d6f846f3] {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.sr-timeline-time[data-v-d6f846f3] {
  font-size: 11px;
  color: #8c8c8c;
  font-family: monospace;
}
.sr-timeline-type[data-v-d6f846f3] {
  font-size: 11px;
  color: #1677ff;
  text-transform: uppercase;
}
.sr-timeline-msg[data-v-d6f846f3] {
  font-size: 13px;
  color: #1a253b;
}
.sr-timeline-node[data-v-d6f846f3] {
  font-size: 12px;
  color: #595959;
}
.sr-table-container[data-v-d6f846f3] {
  max-height: 400px;
  overflow-y: auto;
}
.sr-empty-tab[data-v-d6f846f3] {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px;
  color: #8c8c8c;
  font-size: 14px;
}
.sr-success-state[data-v-d6f846f3] {
  flex-direction: column;
  gap: 8px;
  color: #52c41a;
}
.sr-success-icon[data-v-d6f846f3] {
  font-size: 32px;
}
.sr-error-list[data-v-d6f846f3] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.sr-error-item[data-v-d6f846f3] {
  padding: 12px;
  background: #fff2f0;
  border-radius: 8px;
  border-left: 3px solid #f5222d;
}
.sr-error-header[data-v-d6f846f3] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}
.sr-error-icon[data-v-d6f846f3] {
  color: #f5222d;
}
.sr-error-time[data-v-d6f846f3] {
  font-size: 12px;
  color: #8c8c8c;
}
.sr-error-message[data-v-d6f846f3] {
  font-size: 13px;
  color: #1a253b;
  margin-bottom: 8px;
}
.sr-error-context[data-v-d6f846f3] {
  background: #fff;
  padding: 8px;
  border-radius: 4px;
  font-size: 12px;
}
.sr-error-context pre[data-v-d6f846f3] {
  margin: 0;
  white-space: pre-wrap;
  word-break: break-all;
}
.sr-stats-container[data-v-d6f846f3] {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.sr-stats-section h4[data-v-d6f846f3] {
  margin: 0 0 12px;
  font-size: 14px;
  font-weight: 500;
  color: #1a253b;
}
.sr-stats-grid[data-v-d6f846f3] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.sr-stat-item[data-v-d6f846f3] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.sr-stat-node[data-v-d6f846f3] {
  width: 120px;
  font-size: 12px;
  font-family: monospace;
  color: #595959;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sr-stat-bar[data-v-d6f846f3] {
  flex: 1;
  height: 8px;
  background: #f0f0f0;
  border-radius: 4px;
  overflow: hidden;
}
.sr-stat-bar-fill[data-v-d6f846f3] {
  height: 100%;
  background: linear-gradient(90deg, #1677ff, #52c41a);
  border-radius: 4px;
  transition: width 0.3s ease;
}
.sr-stat-count[data-v-d6f846f3] {
  width: 30px;
  text-align: right;
  font-size: 12px;
  color: #8c8c8c;
}
.sr-stats-summary[data-v-d6f846f3] {
  display: flex;
  gap: 32px;
}
.sr-stats-item[data-v-d6f846f3] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.sr-stats-label[data-v-d6f846f3] {
  font-size: 12px;
  color: #8c8c8c;
}
.sr-stats-value[data-v-d6f846f3] {
  font-size: 18px;
  font-weight: 600;
  color: #1a253b;
}
.sr-actions[data-v-d6f846f3] {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding-top: 16px;
  border-top: 1px solid #f0f0f0;
}
@media (max-width: 768px) {
.sr-summary-cards[data-v-d6f846f3] {
    grid-template-columns: repeat(2, 1fr);
}
.sr-process-info[data-v-d6f846f3] {
    flex-direction: column;
    gap: 8px;
}
}
/* ===== Drawer Title ===== */
.sp-drawer-title[data-v-c17aa61b] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.sp-drawer-title-left[data-v-c17aa61b] {
  display: flex;
  align-items: center;
  gap: 10px;
}
.sp-drawer-title-icon[data-v-c17aa61b] {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: linear-gradient(135deg, #edf1f7, #dbeafe);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.sp-drawer-title-icon[data-v-c17aa61b] .anticon {
  font-size: 16px;
  color: #1677ff;
}
.sp-drawer-title-text[data-v-c17aa61b] {
  font-size: 15px;
  font-weight: 600;
  color: #1a253b;
  letter-spacing: 0.3px;
}
.sp-status-badge[data-v-c17aa61b] {
  margin-left: auto;
}
/* ===== Main Container ===== */
.simulation-panel[data-v-c17aa61b] {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}
/* ===== Control Buttons ===== */
.sp-controls[data-v-c17aa61b] {
  padding: 16px 20px;
  border-bottom: 1px solid #f0f0f0;
}
.sp-controls-row[data-v-c17aa61b] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}
.sp-ctrl-btn[data-v-c17aa61b] {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}
.sp-speed-control[data-v-c17aa61b] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}
.sp-speed-label[data-v-c17aa61b] {
  font-size: 13px;
  color: #595959;
  display: flex;
  align-items: center;
  gap: 4px;
}
.sp-action-buttons[data-v-c17aa61b] {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
/* ===== Expression Tester ===== */
.sp-expression-tester[data-v-c17aa61b] {
  background: #f6f8fa;
  border-bottom: 1px solid #f0f0f0;
}
.sp-expression-header[data-v-c17aa61b] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: #eef2f7;
  font-size: 13px;
  font-weight: 500;
  color: #1a253b;
}
.sp-expression-header .anticon[data-v-c17aa61b] {
  color: #1677ff;
}
.sp-expression-header .ant-btn[data-v-c17aa61b] {
  margin-left: auto;
}
.sp-expression-content[data-v-c17aa61b] {
  padding: 12px 16px;
}
.sp-expression-result[data-v-c17aa61b] {
  margin-top: 8px;
  padding: 8px 12px;
  background: #f6ffed;
  border-radius: 6px;
  font-size: 12px;
}
.sp-expression-result code[data-v-c17aa61b] {
  color: #52c41a;
  font-family: monospace;
}
.sp-expression-label[data-v-c17aa61b] {
  color: #8c8c8c;
  margin-right: 8px;
}
.sp-expression-error[data-v-c17aa61b] {
  margin-top: 8px;
  padding: 8px 12px;
  background: #fff2f0;
  border-radius: 6px;
  font-size: 12px;
  color: #f5222d;
  display: flex;
  align-items: center;
  gap: 6px;
}
/* ===== Progress ===== */
.sp-progress[data-v-c17aa61b] {
  padding: 12px 20px;
  border-bottom: 1px solid #f0f0f0;
  display: flex;
  align-items: center;
  gap: 12px;
}
.sp-progress[data-v-c17aa61b] .ant-progress {
  flex: 1;
}
.sp-progress-text[data-v-c17aa61b] {
  font-size: 12px;
  color: #8c8c8c;
  white-space: nowrap;
}
/* ===== Current Node ===== */
.sp-current-node[data-v-c17aa61b] {
  padding: 12px 20px;
  background: #e6f4ff;
  border-bottom: 1px solid #bae0ff;
}
.sp-current-node-header[data-v-c17aa61b] {
  font-size: 12px;
  color: #1677ff;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
}
.sp-current-node-info[data-v-c17aa61b] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.sp-current-node-name[data-v-c17aa61b] {
  font-size: 14px;
  font-weight: 600;
  color: #1a253b;
}
.sp-current-node-id[data-v-c17aa61b] {
  font-size: 11px;
  color: #8c8c8c;
  font-family: monospace;
  margin-top: 4px;
}
/* ===== Tabs ===== */
.sp-tabs[data-v-c17aa61b] {
  flex: 1;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.sp-tabs[data-v-c17aa61b] .ant-tabs-content-holder {
  flex: 1;
  overflow-y: auto;
}
.sp-tabs[data-v-c17aa61b] .ant-tabs-nav {
  margin-bottom: 0;
  padding: 0 16px;
}
.sp-tabs[data-v-c17aa61b] .ant-tabs-tab {
  font-size: 13px;
  padding: 8px 0;
}
/* ===== Execution Path ===== */
.sp-path-list[data-v-c17aa61b] {
  padding: 8px 16px;
}
.sp-path-item[data-v-c17aa61b] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border-radius: 8px;
  transition: background 0.15s ease;
  position: relative;
}
.sp-path-item[data-v-c17aa61b]:hover {
  background: #f5f5f5;
}
.sp-path-item--current[data-v-c17aa61b] {
  background: #e6f4ff;
  box-shadow: inset 3px 0 0 0 #1677ff;
}
.sp-path-item--current[data-v-c17aa61b]:hover {
  background: #d6e8ff;
}
.sp-path-dot[data-v-c17aa61b] {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.sp-path-info[data-v-c17aa61b] {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.sp-path-name[data-v-c17aa61b] {
  font-size: 13px;
  font-weight: 500;
  color: #1a253b;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sp-path-type[data-v-c17aa61b] {
  font-size: 11px;
  color: #8c8c8c;
}
.sp-path-index[data-v-c17aa61b] {
  font-size: 11px;
  color: #bfbfbf;
  font-variant-numeric: tabular-nums;
  flex-shrink: 0;
}
/* ===== Variables ===== */
.sp-var-header[data-v-c17aa61b] {
  padding: 12px 16px 8px;
}
.sp-var-add-form[data-v-c17aa61b] {
  padding: 8px 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: #fafafa;
  border-radius: 8px;
  margin: 0 16px 8px;
  padding: 12px;
}
.sp-var-input[data-v-c17aa61b] {
  border-radius: 6px;
}
.sp-var-add-actions[data-v-c17aa61b] {
  display: flex;
  gap: 6px;
  justify-content: flex-end;
}
.sp-var-list[data-v-c17aa61b] {
  padding: 4px 16px;
}
.sp-var-item[data-v-c17aa61b] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 12px;
  border-radius: 8px;
  transition: background 0.15s ease;
  gap: 8px;
}
.sp-var-item[data-v-c17aa61b]:hover {
  background: #f5f5f5;
}
.sp-var-detail[data-v-c17aa61b] {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.sp-var-name[data-v-c17aa61b] {
  font-size: 13px;
  font-weight: 500;
  color: #1a253b;
  font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;
}
.sp-var-value[data-v-c17aa61b] {
  font-size: 12px;
  color: #595959;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;
}
.sp-var-edit-input[data-v-c17aa61b] {
  flex: 1;
  border-radius: 6px;
}
.sp-var-edit-actions[data-v-c17aa61b] {
  display: flex;
  gap: 2px;
}
.sp-var-actions[data-v-c17aa61b] {
  display: flex;
  gap: 2px;
  opacity: 0;
  transition: opacity 0.15s ease;
}
.sp-var-item:hover .sp-var-actions[data-v-c17aa61b] {
  opacity: 1;
}
/* ===== Breakpoints ===== */
.sp-bp-list[data-v-c17aa61b] {
  padding: 8px 16px;
}
.sp-bp-item[data-v-c17aa61b] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border-radius: 8px;
  transition: background 0.15s ease;
}
.sp-bp-item[data-v-c17aa61b]:hover {
  background: #f5f5f5;
}
.sp-bp-name[data-v-c17aa61b] {
  flex: 1;
  font-size: 13px;
  color: #1a253b;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* ===== Log ===== */
.sp-log-container[data-v-c17aa61b] {
  padding: 12px 16px;
  overflow-y: auto;
  max-height: 400px;
}
.sp-log-timeline[data-v-c17aa61b] .ant-timeline-item {
  padding-bottom: 12px;
}
.sp-log-timeline[data-v-c17aa61b] .ant-timeline-item-content {
  min-height: auto;
}
.sp-log-entry[data-v-c17aa61b] {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.sp-log-time[data-v-c17aa61b] {
  font-size: 10px;
  color: #bfbfbf;
  font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;
  font-variant-numeric: tabular-nums;
}
.sp-log-msg[data-v-c17aa61b] {
  font-size: 12px;
  color: #595959;
  line-height: 1.5;
}
/* ===== Saved States ===== */
.sp-saved-state-item[data-v-c17aa61b] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.sp-saved-state-delete[data-v-c17aa61b] {
  color: #f5222d;
  opacity: 0;
  transition: opacity 0.15s;
}
.sp-saved-state-item:hover .sp-saved-state-delete[data-v-c17aa61b] {
  opacity: 1;
}
/* ===== Empty State ===== */
.sp-empty-state[data-v-c17aa61b] {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  text-align: center;
}
.sp-empty-state p[data-v-c17aa61b] {
  margin: 0;
  font-size: 13px;
  color: #bfbfbf;
}
/* ===== Scrollbar ===== */
.sp-log-container[data-v-c17aa61b]::-webkit-scrollbar,[data-v-c17aa61b] .ant-tabs-content-holder::-webkit-scrollbar {
  width: 5px;
}
.sp-log-container[data-v-c17aa61b]::-webkit-scrollbar-track,[data-v-c17aa61b] .ant-tabs-content-holder::-webkit-scrollbar-track {
  background: transparent;
}
.sp-log-container[data-v-c17aa61b]::-webkit-scrollbar-thumb,[data-v-c17aa61b] .ant-tabs-content-holder::-webkit-scrollbar-thumb {
  background: #e2e8f0;
  border-radius: 3px;
}
@media (max-width: 768px) {
[data-v-c17aa61b] .simulation-drawer .ant-drawer-content-wrapper {
    max-width: 100% !important;
    width: 100% !important;
}
}
.search-panel[data-v-c2f7b3e7] {
  position: absolute;
  top: 52px;
  right: 16px;
  width: 430px;
  background: #ffffff;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  z-index: 1000;
  overflow: hidden;
}
.search-panel .search-bar[data-v-c2f7b3e7] {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 10px;
  border-bottom: 1px solid #e8ecf1;
  background: #fafbfc;
}
.search-panel .search-bar .search-input[data-v-c2f7b3e7] {
  flex: 1;
  min-width: 0;
}
.search-panel .search-bar .search-input .search-icon[data-v-c2f7b3e7] {
  font-size: 12px;
}
.search-panel .search-bar .search-nav[data-v-c2f7b3e7] {
  display: flex;
  align-items: center;
  gap: 2px;
}
.search-panel .search-bar .search-nav .result-count[data-v-c2f7b3e7] {
  font-size: 11px;
  color: #5a6577;
  margin-right: 4px;
  white-space: nowrap;
}
.search-panel .search-bar .toggle-replace-btn[data-v-c2f7b3e7] {
  font-size: 14px;
  padding: 0 4px;
}
.search-panel .replace-bar[data-v-c2f7b3e7] {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 10px;
  border-bottom: 1px solid #e8ecf1;
  background: #fafbfc;
}
.search-panel .replace-bar .replace-input[data-v-c2f7b3e7] {
  flex: 1;
  min-width: 0;
}
.search-panel .search-results[data-v-c2f7b3e7] {
  max-height: 300px;
  overflow-y: auto;
}
.search-panel .search-results .search-result-item[data-v-c2f7b3e7] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  cursor: pointer;
  transition: background 0.15s;
  border-bottom: 1px solid #f0f2f5;
}
.search-panel .search-results .search-result-item[data-v-c2f7b3e7]:hover {
  background: #f0f4f8;
}
.search-panel .search-results .search-result-item.active[data-v-c2f7b3e7] {
  background: #edf2fa;
  border-left: 3px solid #1377eb;
}
.search-panel .search-results .search-result-item .result-index[data-v-c2f7b3e7] {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #e8ecf1;
  color: #5a6577;
  font-size: 11px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.active .search-panel .search-results .search-result-item .result-index[data-v-c2f7b3e7] {
  background: #1377eb;
  color: #ffffff;
}
.search-panel .search-results .search-result-item .result-info[data-v-c2f7b3e7] {
  flex: 1;
  min-width: 0;
}
.search-panel .search-results .search-result-item .result-info .result-name[data-v-c2f7b3e7] {
  font-size: 13px;
  color: #1a253b;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.search-panel .search-results .search-result-item .result-info .result-name[data-v-c2f7b3e7] .search-highlight {
  background: #fef08a;
  color: #1a253b;
  padding: 0 1px;
  border-radius: 2px;
}
.search-panel .search-results .search-result-item .result-info .result-type[data-v-c2f7b3e7] {
  font-size: 11px;
  color: #5a6577;
  margin-top: 2px;
}
.search-panel .no-results[data-v-c2f7b3e7] {
  padding: 20px;
}
@media (max-width: 768px) {
.search-panel[data-v-c2f7b3e7] {
    right: 0;
    top: 0;
    width: 100%;
    max-height: 50vh;
    border-radius: 0 0 8px 8px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}
}
.shortcuts-panel[data-v-170c403a] {
  max-height: 500px;
  overflow-y: auto;
}
.shortcuts-panel .shortcuts-search[data-v-170c403a] {
  margin-bottom: 16px;
}
.shortcuts-panel .shortcuts-list .shortcut-group[data-v-170c403a] {
  margin-bottom: 20px;
}
.shortcuts-panel .shortcuts-list .shortcut-group[data-v-170c403a]:last-child {
  margin-bottom: 0;
}
.shortcuts-panel .shortcuts-list .shortcut-group .group-title[data-v-170c403a] {
  font-size: 13px;
  font-weight: 600;
  color: #1377eb;
  margin-bottom: 8px;
  padding-bottom: 4px;
  border-bottom: 1px solid #e8ecf1;
}
.shortcuts-panel .shortcuts-list .shortcut-group .shortcut-item[data-v-170c403a] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 8px;
  border-radius: 4px;
  transition: background 0.15s;
}
.shortcuts-panel .shortcuts-list .shortcut-group .shortcut-item[data-v-170c403a]:hover {
  background: #f0f4f8;
}
.shortcuts-panel .shortcuts-list .shortcut-group .shortcut-item .shortcut-desc[data-v-170c403a] {
  font-size: 13px;
  color: #374151;
}
.shortcuts-panel .shortcuts-list .shortcut-group .shortcut-item .shortcut-keys[data-v-170c403a] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.shortcuts-panel .shortcuts-list .shortcut-group .shortcut-item .shortcut-keys .key-badge[data-v-170c403a] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 22px;
  padding: 0 6px;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  font-size: 11px;
  font-weight: 500;
  color: #374151;
  background: #f3f4f6;
  border: 1px solid #d1d5db;
  border-bottom-width: 2px;
  border-radius: 4px;
  white-space: nowrap;
}
@media (max-width: 768px) {
[data-v-170c403a] .ant-modal {
    max-width: 100% !important;
    margin: 0 !important;
    top: 0 !important;
}
[data-v-170c403a] .ant-modal-content {
    border-radius: 0 !important;
    min-height: 100vh;
}
.shortcuts-panel[data-v-170c403a] {
    max-height: none;
}
}
/* ===== Drawer Title ===== */
.cs-drawer-title[data-v-0fad63cf] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.cs-drawer-title-left[data-v-0fad63cf] {
  display: flex;
  align-items: center;
  gap: 10px;
}
.cs-drawer-title-icon[data-v-0fad63cf] {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: linear-gradient(135deg, #edf1f7, #dbeafe);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cs-drawer-title-icon[data-v-0fad63cf] .anticon {
  font-size: 16px;
  color: #1677ff;
}
.cs-drawer-title-text[data-v-0fad63cf] {
  font-size: 15px;
  font-weight: 600;
  color: #1a253b;
  letter-spacing: 0.3px;
}
/* ===== Main Container ===== */
.canvas-settings[data-v-0fad63cf] {
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
/* ===== Section ===== */
.cs-section[data-v-0fad63cf] {
  padding: 12px 0;
  border-bottom: 1px solid #f5f5f5;
}
.cs-section[data-v-0fad63cf]:last-child {
  border-bottom: none;
}
.cs-section-title[data-v-0fad63cf] {
  font-size: 13px;
  font-weight: 500;
  color: #1a253b;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.cs-section-value[data-v-0fad63cf] {
  font-size: 12px;
  color: #8c8c8c;
  font-weight: 400;
  font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;
}
/* ===== Radio Group ===== */
.cs-radio-group[data-v-0fad63cf] {
  display: flex;
  width: 100%;
}
.cs-radio-group[data-v-0fad63cf] .ant-radio-button-wrapper {
  flex: 1;
  text-align: center;
  height: 32px;
  line-height: 30px;
  font-size: 12px;
  padding: 0 4px;
}
/* ===== Color Row ===== */
.cs-color-row[data-v-0fad63cf] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.cs-color-input[data-v-0fad63cf] {
  width: 32px;
  height: 32px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  padding: 2px;
  cursor: pointer;
  background: transparent;
}
.cs-color-input[data-v-0fad63cf]::-webkit-color-swatch-wrapper {
  padding: 0;
}
.cs-color-input[data-v-0fad63cf]::-webkit-color-swatch {
  border: none;
  border-radius: 4px;
}
.cs-color-hex[data-v-0fad63cf] {
  flex: 1;
  border-radius: 6px;
  font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;
  font-size: 12px;
}
/* ===== Color Presets ===== */
.cs-color-presets[data-v-0fad63cf] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.cs-color-swatch[data-v-0fad63cf] {
  width: 24px;
  height: 24px;
  border-radius: 4px;
  cursor: pointer;
  border: 2px solid transparent;
  transition: all 0.15s ease;
}
.cs-color-swatch[data-v-0fad63cf]:hover {
  transform: scale(1.15);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}
.cs-color-swatch--active[data-v-0fad63cf] {
  border-color: #1677ff;
  box-shadow: 0 0 0 2px rgba(22, 119, 255, 0.2);
}
/* ===== Toggle Row ===== */
.cs-toggle-row[data-v-0fad63cf] {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.cs-toggle-label[data-v-0fad63cf] {
  font-size: 13px;
  color: #4b5563;
}
/* ===== Preview ===== */
.cs-preview[data-v-0fad63cf] {
  width: 100%;
  height: 120px;
  border-radius: 8px;
  border: 1px solid #e5e7eb;
  overflow: hidden;
  transition: background 0.2s ease;
}
/* ===== Actions ===== */
.cs-actions[data-v-0fad63cf] {
  display: flex;
  gap: 8px;
  padding-top: 16px;
  flex-wrap: wrap;
}
.cs-actions .ant-btn[data-v-0fad63cf] {
  flex: 1;
  min-width: 0;
}
@media (max-width: 768px) {
[data-v-0fad63cf] .canvas-settings-drawer .ant-drawer-content-wrapper {
    max-width: 100% !important;
    width: 100% !important;
}
}
/* ===== Version Selectors ===== */
.vc-selectors[data-v-d81ea92d] {
  display: flex;
  align-items: flex-end;
  gap: 12px;
  margin-bottom: 20px;
}
.vc-selector[data-v-d81ea92d] {
  flex: 1;
}
.vc-selector-label[data-v-d81ea92d] {
  display: block;
  font-size: 13px;
  font-weight: 500;
  color: #1a253b;
  margin-bottom: 6px;
}
.vc-swap[data-v-d81ea92d] {
  display: flex;
  align-items: center;
  padding-bottom: 4px;
}
.vc-compare-btn[data-v-d81ea92d] {
  padding-bottom: 0;
}
/* ===== Summary ===== */
.vc-summary[data-v-d81ea92d] {
  margin-bottom: 20px;
  padding: 16px;
  background: #fafafa;
  border-radius: 8px;
  border: 1px solid #f0f0f0;
}
.vc-summary-bar[data-v-d81ea92d] {
  display: flex;
  gap: 20px;
  margin-bottom: 8px;
}
.vc-summary-item[data-v-d81ea92d] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 500;
}
.vc-summary-item--added[data-v-d81ea92d] {
  color: #52c41a;
}
.vc-summary-item--removed[data-v-d81ea92d] {
  color: #f5222d;
}
.vc-summary-item--modified[data-v-d81ea92d] {
  color: #faad14;
}
.vc-summary-text[data-v-d81ea92d] {
  font-size: 12px;
  color: #8c8c8c;
}
/* ===== Changes ===== */
.vc-section[data-v-d81ea92d] {
  margin-bottom: 16px;
}
.vc-section-header[data-v-d81ea92d] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 500;
  padding: 8px 0;
  border-bottom: 1px solid #f0f0f0;
  margin-bottom: 8px;
}
.vc-section-header--added[data-v-d81ea92d] {
  color: #52c41a;
}
.vc-section-header--removed[data-v-d81ea92d] {
  color: #f5222d;
}
.vc-section-header--modified[data-v-d81ea92d] {
  color: #faad14;
}
.vc-changes-text[data-v-d81ea92d] {
  font-size: 11px;
  color: #8c8c8c;
  font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  max-width: 300px;
}
/* ===== Row highlighting ===== */
[data-v-d81ea92d] .vc-row--added {
  background: #f6ffed;
}
[data-v-d81ea92d] .vc-row--removed {
  background: #fff2f0;
}
[data-v-d81ea92d] .vc-row--modified {
  background: #fffbe6;
}
/* ===== Table adjustments ===== */
[data-v-d81ea92d] .ant-table .ant-table-thead > tr > th {
  font-size: 12px;
  font-weight: 500;
  background: #fafafa;
  padding: 8px 12px;
}
[data-v-d81ea92d] .ant-table .ant-table-tbody > tr > td {
  font-size: 12px;
  padding: 6px 12px;
}
@media (max-width: 768px) {
[data-v-d81ea92d] .ant-modal {
    max-width: 100% !important;
    margin: 0 !important;
    top: 0 !important;
}
[data-v-d81ea92d] .ant-modal-content {
    border-radius: 0 !important;
    min-height: 100vh;
}
.vc-selectors[data-v-d81ea92d] {
    flex-wrap: wrap;
}
.vc-selector[data-v-d81ea92d] {
    flex: 1 1 100%;
}
.vc-swap[data-v-d81ea92d] {
    align-self: center;
}
.vc-compare-btn[data-v-d81ea92d] {
    flex: 1 1 100%;
}
.vc-summary-bar[data-v-d81ea92d] {
    flex-wrap: wrap;
    gap: 8px;
}
.vc-changes-text[data-v-d81ea92d] {
    max-width: 160px;
}
}
/* 头部 - 青蓝渐变 */
.template-header[data-v-11bb0129] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 0 8px 16px;
  background: linear-gradient(135deg, #0ea5e9 0%, #06b6d4 100%);
}
.template-header-left[data-v-11bb0129] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.template-header-icon[data-v-11bb0129] {
  font-size: 24px;
  color: #fff;
}
.template-header-title[data-v-11bb0129] {
  font-size: 18px;
  font-weight: 600;
  color: #fff;
}
/* 搜索栏 - 青蓝聚焦 */
.template-search[data-v-11bb0129] {
  padding: 16px 24px;
  background: #f8fafc;
  border-bottom: 1px solid rgba(14, 165, 233, 0.15);
}
.template-search[data-v-11bb0129] .ant-input-affix-wrapper {
  border-radius: 10px;
  border: 1px solid #e5e7eb;
  transition: all 0.3s ease;
}
.template-search[data-v-11bb0129] .ant-input-affix-wrapper:hover {
  border-color: rgba(14, 165, 233, 0.3);
}
.template-search[data-v-11bb0129] .ant-input-affix-wrapper:focus,
.template-search[data-v-11bb0129] .ant-input-affix-wrapper.ant-input-affix-wrapper-focused {
  border-color: #0ea5e9;
  box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.1);
}
.template-search[data-v-11bb0129] .ant-input-search-button {
  background: linear-gradient(135deg, #0ea5e9 0%, #06b6d4 100%);
  border: none;
  border-radius: 0 10px 10px 0;
}
.template-search[data-v-11bb0129] .ant-input-search-button:hover {
  opacity: 0.9;
}
.template-search[data-v-11bb0129] .ant-input-prefix {
  color: #0ea5e9;
}
/* 分类标签 - 青蓝风格 */
.template-categories[data-v-11bb0129] {
  display: flex;
  gap: 8px;
  padding: 12px 24px;
  border-bottom: 1px solid rgba(14, 165, 233, 0.1);
  overflow-x: auto;
  background: rgba(14, 165, 233, 0.03);
}
.template-categories[data-v-11bb0129]::-webkit-scrollbar {
  height: 4px;
}
.template-categories[data-v-11bb0129]::-webkit-scrollbar-thumb {
  background: rgba(14, 165, 233, 0.2);
  border-radius: 2px;
}
.category-tab[data-v-11bb0129] {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  border-radius: 20px;
  background: rgba(14, 165, 233, 0.06);
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
  border: 1px solid transparent;
}
.category-tab[data-v-11bb0129]:hover {
  background: rgba(14, 165, 233, 0.12);
  border-color: rgba(14, 165, 233, 0.15);
}
.category-tab--active[data-v-11bb0129] {
  background: linear-gradient(135deg, #0ea5e9 0%, #06b6d4 100%);
  box-shadow: 0 2px 8px rgba(14, 165, 233, 0.25);
  border-color: transparent;
}
.category-tab--active .category-tab-name[data-v-11bb0129] {
  color: #fff;
  font-weight: 500;
}
.category-tab--active .category-tab-count[data-v-11bb0129] {
  background: rgba(255, 255, 255, 0.25);
  color: #fff;
}
.category-tab--active .category-tab-icon[data-v-11bb0129] {
  color: #fff !important;
}
.category-tab-icon[data-v-11bb0129] {
  font-size: 14px;
}
.category-tab-name[data-v-11bb0129] {
  font-size: 13px;
  color: #374151;
}
.category-tab-count[data-v-11bb0129] {
  font-size: 11px;
  padding: 2px 6px;
  background: rgba(0, 0, 0, 0.06);
  border-radius: 10px;
  color: #6b7280;
}
.template-list[data-v-11bb0129] {
  padding: 20px 24px;
  height: calc(100vh - 200px);
  overflow-y: auto;
}
.template-grid[data-v-11bb0129] {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
/* 模板卡片 - 青蓝风格 */
.template-card[data-v-11bb0129] {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  overflow: hidden;
  transition: all 0.2s ease;
}
.template-card[data-v-11bb0129]:hover {
  border-color: rgba(14, 165, 233, 0.3);
  box-shadow: 0 4px 16px rgba(14, 165, 233, 0.12);
  transform: translateY(-2px);
}
.template-card-header[data-v-11bb0129] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px;
  border-top: 3px solid;
  background: #fafafa;
}
.template-card-icon[data-v-11bb0129] {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
}
.template-card-title-row[data-v-11bb0129] {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.template-card-name[data-v-11bb0129] {
  font-size: 14px;
  font-weight: 600;
  color: #1f2937;
}
/* 收藏按钮 - 青蓝激活 */
.favorite-btn[data-v-11bb0129] {
  color: #d9d9d9;
}
.favorite-btn[data-v-11bb0129]:hover {
  color: #0ea5e9;
}
.favorite-btn--active[data-v-11bb0129] {
  color: #0ea5e9;
}
.template-card-body[data-v-11bb0129] {
  padding: 14px;
}
.template-card-desc[data-v-11bb0129] {
  font-size: 13px;
  color: #6b7280;
  line-height: 1.5;
  margin-bottom: 12px;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.template-card-stats[data-v-11bb0129] {
  display: flex;
  gap: 12px;
}
.stat-item[data-v-11bb0129] {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: #9ca3af;
}
/* 卡片底部 - 青蓝按钮 */
.template-card-footer[data-v-11bb0129] {
  display: flex;
  gap: 8px;
  padding: 12px 14px;
  border-top: 1px solid rgba(14, 165, 233, 0.08);
  background: rgba(14, 165, 233, 0.02);
}
.template-card-footer[data-v-11bb0129] .ant-btn-primary {
  background: linear-gradient(135deg, #0ea5e9 0%, #06b6d4 100%);
  border: none;
}
.template-card-footer[data-v-11bb0129] .ant-btn-primary:hover {
  opacity: 0.9;
  background: linear-gradient(135deg, #0ea5e9 0%, #06b6d4 100%);
}
.template-card-footer[data-v-11bb0129] .ant-btn:not(.ant-btn-primary) {
  color: #0ea5e9;
  border-color: rgba(14, 165, 233, 0.3);
}
.template-card-footer[data-v-11bb0129] .ant-btn:not(.ant-btn-primary):hover {
  color: #0ea5e9;
  border-color: #0ea5e9;
  background: rgba(14, 165, 233, 0.06);
}
.preview-content[data-v-11bb0129] {
  padding: 16px 0;
}
.preview-desc[data-v-11bb0129] {
  font-size: 14px;
  color: #6b7280;
  line-height: 1.6;
  margin-bottom: 20px;
}
.preview-nodes-title[data-v-11bb0129] {
  font-size: 14px;
  font-weight: 600;
  color: #1f2937;
  margin-bottom: 12px;
}
.preview-nodes-list[data-v-11bb0129] {
  max-height: 300px;
  overflow-y: auto;
}
.preview-node-item[data-v-11bb0129] {
  display: flex;
  gap: 12px;
  padding: 8px 0;
}
.preview-node-left[data-v-11bb0129] {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 20px;
}
.preview-node-dot[data-v-11bb0129] {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  flex-shrink: 0;
}
.preview-node-line[data-v-11bb0129] {
  width: 2px;
  flex: 1;
  min-height: 16px;
  background: #e5e7eb;
  margin-top: 4px;
}
.preview-node-info[data-v-11bb0129] {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.preview-node-name[data-v-11bb0129] {
  font-size: 13px;
  color: #374151;
}
.preview-node-type[data-v-11bb0129] {
  font-size: 11px;
  color: #9ca3af;
  background: #f5f5f5;
  padding: 2px 8px;
  border-radius: 4px;
}
/* 预览弹窗 - 青蓝风格 */
.preview-actions[data-v-11bb0129] {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid rgba(14, 165, 233, 0.1);
}
.preview-actions[data-v-11bb0129] .ant-btn-primary {
  background: linear-gradient(135deg, #0ea5e9 0%, #06b6d4 100%);
  border: none;
}
.preview-actions[data-v-11bb0129] .ant-btn-primary:hover {
  opacity: 0.9;
  background: linear-gradient(135deg, #0ea5e9 0%, #06b6d4 100%);
}
.preview-actions[data-v-11bb0129] .ant-btn:not(.ant-btn-primary) {
  color: #64748b;
  border-color: rgba(14, 165, 233, 0.2);
}
.preview-actions[data-v-11bb0129] .ant-btn:not(.ant-btn-primary):hover {
  color: #0ea5e9;
  border-color: #0ea5e9;
}
@media (max-width: 768px) {
[data-v-11bb0129] .template-selector-drawer .ant-drawer-content-wrapper {
    max-width: 100% !important;
    width: 100% !important;
}
}
/* 抽屉全局样式覆盖 */
[data-v-11bb0129] .template-selector-drawer .ant-drawer-header {
  padding: 0;
  border-bottom: none;
}
[data-v-11bb0129] .template-selector-drawer .ant-drawer-close {
  color: #fff;
}
[data-v-11bb0129] .template-selector-drawer .ant-drawer-close:hover {
  color: rgba(255, 255, 255, 0.8);
}
[data-v-11bb0129] .template-selector-drawer .ant-drawer-body {
  padding: 0;
}
/* 预览弹窗样式覆盖 */
[data-v-11bb0129] .ant-modal-header {
  border-bottom: 1px solid rgba(14, 165, 233, 0.1);
}
[data-v-11bb0129] .ant-modal-title {
  color: #1f2937;
  font-weight: 600;
}
[data-v-11bb0129] .ant-modal-close {
  color: #64748b;
}
[data-v-11bb0129] .ant-modal-close:hover {
  color: #0ea5e9;
}
.process-vue3 {
  height: calc(100% - 3rem) !important;
  border-radius: 0 !important;
  background: #fff;
}
.import-text {
  height: 100% !important;
  max-height: 100% !important;
}
/* 搜索节点高亮样式 */
:deep(.search-highlighted) {
  outline: 3px solid #0ea5e9 !important;
  outline-offset: 3px;
  box-shadow: 0 0 12px rgba(14, 165, 233, 0.6) !important;
  animation: search-pulse 1.5s ease-in-out infinite;
}
@keyframes search-pulse {
0%,
  100% {
    box-shadow: 0 0 12px rgba(14, 165, 233, 0.6);
}
50% {
    box-shadow: 0 0 20px rgba(14, 165, 233, 0.9);
}
}
.bpmn-designer-wrapper {
  height: 100%;
}
/* ===========================
   ProcessConfigStep - 流程设计步骤
   =========================== */
.process-config-step[data-v-19adbe36] {
  padding: var(--spacing-3);
  max-width: 1400px;
  margin: 0 auto;
}
/* ===== Section Card ===== */
.section-card[data-v-19adbe36] {
  background: var(--color-neutral-0);
  border-radius: var(--radius-xl);
  padding: var(--spacing-6);
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--color-border-light);
}
/* ===== Section Header ===== */
.section-header[data-v-19adbe36] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: var(--spacing-5);
}
.section-header-left[data-v-19adbe36] {
  display: flex;
  align-items: flex-start;
  gap: var(--spacing-3);
}
.section-icon[data-v-19adbe36] {
  color: var(--color-primary-500);
  font-size: var(--icon-size-lg);
  margin-top: 2px;
  flex-shrink: 0;
}
.section-header-text[data-v-19adbe36] {
  flex: 1;
}
.section-title[data-v-19adbe36] {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  margin: 0 0 var(--spacing-1);
  line-height: var(--line-height-normal);
}
.section-desc[data-v-19adbe36] {
  font-size: var(--font-size-sm);
  color: var(--color-text-tertiary);
  display: block;
  line-height: var(--line-height-normal);
}
.process-count-text[data-v-19adbe36] {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
}
/* ===== Selection Toolbar ===== */
.selection-toolbar[data-v-19adbe36] {
  margin-bottom: var(--spacing-4);
  padding: var(--spacing-3) var(--spacing-4);
  background: var(--color-primary-50);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-primary-200);
}
.selection-info[data-v-19adbe36] {
  color: var(--color-primary-500);
  font-size: var(--font-size-sm);
}
/* ===== Process Grid ===== */
.process-grid[data-v-19adbe36] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--spacing-5);
  margin-bottom: var(--spacing-5);
}
/* ===== Process Card ===== */
.process-card[data-v-19adbe36] {
  background: var(--color-neutral-0);
  border-radius: var(--radius-xl);
  overflow: hidden;
  border: 1px solid var(--color-border-light);
  box-shadow: var(--shadow-xs);
  transition: all var(--duration-base) var(--easing-ease-out);
  position: relative;
}
.process-card[data-v-19adbe36]:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
  border-color: var(--color-primary-300);
}
/* 多选卡片样式 */
.process-card-selected[data-v-19adbe36] {
  border-color: var(--color-primary-500) !important;
  box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
}
/* 卡片复选框 */
.process-checkbox[data-v-19adbe36] {
  position: absolute;
  top: var(--spacing-2);
  left: var(--spacing-2);
  z-index: 10;
  border-radius: var(--radius-sm);
  padding: 2px;
}
/* ===== Process Cover ===== */
.process-cover[data-v-19adbe36] {
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.process-cover-approval[data-v-19adbe36] {
  background: linear-gradient(135deg, #1890ff 0%, #096dd9 100%);
}
.process-cover-sequential[data-v-19adbe36] {
  background: linear-gradient(135deg, #52c41a 0%, #389e0d 100%);
}
.process-cover-parallel[data-v-19adbe36] {
  background: linear-gradient(135deg, #faad14 0%, #d48806 100%);
}
.process-cover-icon[data-v-19adbe36] {
  font-size: 40px;
  color: var(--color-neutral-0);
  opacity: 0.9;
}
.process-type-tag[data-v-19adbe36] {
  position: absolute;
  top: var(--spacing-2);
  right: var(--spacing-2);
}
/* ===== Process Card Body ===== */
.process-card-body[data-v-19adbe36] {
  padding: var(--spacing-4);
}
.process-card-name[data-v-19adbe36] {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  margin-bottom: var(--spacing-1);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.process-card-form[data-v-19adbe36] {
  font-size: var(--font-size-xs);
  color: var(--color-text-tertiary);
  margin-bottom: var(--spacing-3);
}
.form-label[data-v-19adbe36] {
  color: var(--color-text-secondary);
}
.form-name[data-v-19adbe36] {
  color: var(--color-primary-500);
}
/* ===== Process Stats ===== */
.process-stats[data-v-19adbe36] {
  margin-bottom: var(--spacing-3);
  padding: var(--spacing-2) 0;
  border-top: 1px solid var(--color-border-light);
  border-bottom: 1px solid var(--color-border-light);
}
.stat-item[data-v-19adbe36] {
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
}
.stat-icon[data-v-19adbe36] {
  margin-right: var(--spacing-1);
}
/* ===== Process Card Actions ===== */
.process-card-actions[data-v-19adbe36] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--spacing-2);
}
/* ===== Process Card Footer ===== */
.process-card-footer[data-v-19adbe36] {
  padding-top: var(--spacing-2);
  border-top: 1px dashed var(--color-border-light);
}
.last-updated[data-v-19adbe36] {
  font-size: var(--font-size-xs);
  color: var(--color-text-disabled);
}
/* ===== Empty State ===== */
.empty-state[data-v-19adbe36] {
  padding: var(--spacing-10) 0;
  text-align: center;
}
.empty-icon[data-v-19adbe36] {
  font-size: 64px;
  color: var(--color-text-disabled);
  margin-bottom: var(--spacing-4);
}
.empty-title[data-v-19adbe36] {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
  margin-bottom: var(--spacing-2);
}
.empty-desc[data-v-19adbe36] {
  font-size: var(--font-size-sm);
  color: var(--color-text-tertiary);
  margin-bottom: 0;
}
/* ===== Add Process Container ===== */
.add-process-container[data-v-19adbe36] {
  margin-top: var(--spacing-5);
  padding: var(--spacing-6);
  border: 2px dashed var(--color-border-default);
  border-radius: var(--radius-xl);
  text-align: center;
  background: var(--color-bg-secondary);
  transition: all var(--duration-fast) var(--easing-default);
  display: flex;
  justify-content: center;
  gap: var(--spacing-4);
}
.add-process-container[data-v-19adbe36]:hover {
  border-color: var(--color-primary-400);
  background: var(--color-primary-50);
}
/* ===== Config Form ===== */
.process-config-form[data-v-19adbe36] {
  padding-top: var(--spacing-3);
}
.process-config-form[data-v-19adbe36] .ant-form-item-label > label {
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
}
/* ===== Responsive ===== */
@media (max-width: 1399px) {
.process-grid[data-v-19adbe36] {
    grid-template-columns: repeat(3, 1fr);
}
}
@media (max-width: 1199px) {
.process-grid[data-v-19adbe36] {
    grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 767px) {
.process-config-step[data-v-19adbe36] {
    padding: 12px 12px 0;
}
.section-card[data-v-19adbe36] {
    padding: var(--spacing-3);
    padding-bottom: 80px;
}
.process-grid[data-v-19adbe36] {
    grid-template-columns: 1fr;
    gap: var(--spacing-4);
}
.section-header[data-v-19adbe36] {
    flex-direction: column;
    gap: var(--spacing-3);
}
.add-process-container[data-v-19adbe36] {
    flex-direction: column;
}
}
/* ===========================
   PublishStep - 发布步骤
   =========================== */
.publish-step[data-v-f05dd262] {
  padding: var(--spacing-3);
  max-width: 1200px;
  margin: 0 auto;
}
/* ===== Section Card ===== */
.section-card[data-v-f05dd262] {
  background: var(--color-neutral-0);
  border-radius: var(--radius-xl);
  padding: var(--spacing-6);
  margin-bottom: var(--spacing-6);
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--color-border-light);
}
/* ===== Section Header ===== */
.section-header[data-v-f05dd262] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: var(--spacing-5);
}
.section-header-left[data-v-f05dd262] {
  display: flex;
  align-items: flex-start;
  gap: var(--spacing-3);
}
.section-icon[data-v-f05dd262] {
  color: var(--color-primary-500);
  font-size: var(--icon-size-lg);
  margin-top: 2px;
  flex-shrink: 0;
}
.section-header-text[data-v-f05dd262] {
  flex: 1;
}
.section-title[data-v-f05dd262] {
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  margin: 0 0 var(--spacing-1);
  line-height: var(--line-height-normal);
}
.section-desc[data-v-f05dd262] {
  font-size: var(--font-size-sm);
  color: var(--color-text-tertiary);
  display: block;
  line-height: var(--line-height-normal);
}
.section-header-right[data-v-f05dd262] {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
  flex-shrink: 0;
  margin-top: 2px;
}
/* ===== Count Badge ===== */
.count-badge[data-v-f05dd262] {
  display: inline-block;
  padding: var(--spacing-1) var(--spacing-3);
  background: var(--color-primary-50);
  color: var(--color-primary-600);
  border-radius: var(--radius-full);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  border: 1px solid var(--color-primary-100);
}
/* ===== Descriptions Override ===== */
.info-descriptions[data-v-f05dd262] .ant-descriptions-header {
  display: none;
}
.info-descriptions[data-v-f05dd262] .ant-descriptions-item-label {
  font-weight: var(--font-weight-medium);
  color: var(--color-text-secondary);
  background: var(--color-bg-secondary);
  min-width: 120px;
}
.info-descriptions[data-v-f05dd262] .ant-descriptions-item-content {
  color: var(--color-text-primary);
  font-weight: var(--font-weight-medium);
}
/* ===== Preview List ===== */
.preview-list[data-v-f05dd262] {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
}
.preview-item[data-v-f05dd262] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--spacing-3) var(--spacing-4);
  background: var(--color-bg-secondary);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border-light);
  transition: background var(--duration-fast) var(--easing-default), border-color var(--duration-fast) var(--easing-default);
}
.preview-item[data-v-f05dd262]:hover {
  background: var(--color-primary-50);
  border-color: var(--color-primary-100);
}
.preview-item-main[data-v-f05dd262] {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
  flex: 1;
  min-width: 0;
}
.preview-item-name[data-v-f05dd262] {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.preview-item-code[data-v-f05dd262] {
  font-size: var(--font-size-xs);
  color: var(--color-text-tertiary);
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  background: var(--color-neutral-0);
  padding: 1px var(--spacing-2);
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border-light);
}
.preview-item-sub[data-v-f05dd262] {
  font-size: var(--font-size-xs);
  color: var(--color-text-tertiary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.preview-item-extra[data-v-f05dd262] {
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
  flex-shrink: 0;
  margin-left: var(--spacing-3);
}
.preview-item-tags[data-v-f05dd262] {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  flex-shrink: 0;
  margin-left: var(--spacing-3);
}
/* ===== Type Tags ===== */
.type-tag[data-v-f05dd262] {
  display: inline-block;
  padding: 2px 10px;
  border-radius: var(--radius-full);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  white-space: nowrap;
}
.type-create[data-v-f05dd262] {
  background: rgba(59, 130, 246, 0.1);
  color: var(--color-primary-600);
}
.type-edit[data-v-f05dd262] {
  background: rgba(245, 158, 11, 0.1);
  color: #d97706;
}
.type-detail[data-v-f05dd262] {
  background: rgba(16, 185, 129, 0.1);
  color: #059669;
}
.type-standard[data-v-f05dd262] {
  background: rgba(59, 130, 246, 0.1);
  color: var(--color-primary-600);
}
.type-approval[data-v-f05dd262] {
  background: rgba(59, 130, 246, 0.1);
  color: var(--color-primary-600);
}
.type-sequential[data-v-f05dd262] {
  background: rgba(16, 185, 129, 0.1);
  color: #059669;
}
.type-parallel[data-v-f05dd262] {
  background: rgba(245, 158, 11, 0.1);
  color: #d97706;
}
/* ===== Status Tags ===== */
.status-tag[data-v-f05dd262] {
  display: inline-block;
  padding: 2px 10px;
  border-radius: var(--radius-full);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  white-space: nowrap;
}
.status-active[data-v-f05dd262] {
  background: rgba(16, 185, 129, 0.1);
  color: #059669;
}
.status-draft[data-v-f05dd262] {
  background: rgba(245, 158, 11, 0.1);
  color: #d97706;
}
/* ===== Empty Hint ===== */
.empty-hint[data-v-f05dd262] {
  padding: var(--spacing-6) 0;
  text-align: center;
  font-size: var(--font-size-sm);
  color: var(--color-text-disabled);
}
/* ===== Menu Config Section ===== */
.menu-config-section[data-v-f05dd262] {
  margin-top: var(--spacing-4);
}
.menu-form[data-v-f05dd262] .ant-form-item-label > label {
  font-weight: var(--font-weight-medium);
}
.menu-preview[data-v-f05dd262] {
  padding: var(--spacing-4);
  background: var(--color-bg-secondary);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border-light);
}
.menu-preview-item[data-v-f05dd262] {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
}
.menu-preview-icon[data-v-f05dd262] {
  color: var(--color-primary-500);
}
.menu-preview-sub[data-v-f05dd262] {
  margin-top: var(--spacing-1);
  font-size: var(--font-size-xs);
  color: var(--color-text-tertiary);
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
}
/* ===== Permission Config Section ===== */
.permission-config-section[data-v-f05dd262] {
  margin-top: var(--spacing-4);
}
.permission-group[data-v-f05dd262] {
  padding: var(--spacing-4);
  background: var(--color-bg-secondary);
  border-radius: var(--radius-lg);
}
.role-checkbox-item[data-v-f05dd262] {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.role-name[data-v-f05dd262] {
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
}
.role-desc[data-v-f05dd262] {
  font-size: var(--font-size-xs);
  color: var(--color-text-tertiary);
}
/* ===== API Config Section ===== */
.api-config-section[data-v-f05dd262] {
  margin-top: var(--spacing-4);
}
.api-config-section[data-v-f05dd262] .ant-form-item-label > label {
  font-weight: var(--font-weight-medium);
}
/* ===== Publish Form ===== */
.publish-form[data-v-f05dd262] {
  margin-top: var(--spacing-4);
}
.publish-form[data-v-f05dd262] .ant-form-item-label > label {
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
  font-size: var(--font-size-base);
}
.publish-form[data-v-f05dd262] .ant-input,
.publish-form[data-v-f05dd262] .ant-input-affix-wrapper {
  border-radius: var(--radius-lg);
  transition: border-color var(--duration-fast) var(--easing-default), box-shadow var(--duration-fast) var(--easing-default);
}
.publish-form[data-v-f05dd262] .ant-input:hover,
.publish-form[data-v-f05dd262] .ant-input-affix-wrapper:hover {
  border-color: var(--color-primary-400);
}
.publish-form[data-v-f05dd262] .ant-input:focus,
.publish-form[data-v-f05dd262] .ant-input-affix-wrapper-focused {
  border-color: var(--color-primary-500);
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.15);
}
.publish-form[data-v-f05dd262] .ant-radio-wrapper {
  color: var(--color-text-primary);
  font-size: var(--font-size-sm);
}
.publish-form[data-v-f05dd262] .ant-checkbox-wrapper {
  color: var(--color-text-primary);
  font-size: var(--font-size-sm);
}
/* ===== Publish Alert ===== */
.publish-alert[data-v-f05dd262] {
  margin-bottom: var(--spacing-6);
}
.publish-alert[data-v-f05dd262] .ant-alert {
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-primary-100);
  background: var(--color-primary-50);
}
.publish-alert[data-v-f05dd262] .ant-alert-icon {
  color: var(--color-primary-500);
}
.publish-alert[data-v-f05dd262] .ant-alert-message {
  color: var(--color-primary-700);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
}
/* ===== Deployment Config Section ===== */
.deployment-config-section[data-v-f05dd262] {
  margin-top: var(--spacing-4);
}
.deployment-config-section[data-v-f05dd262] .ant-form-item-label > label {
  font-weight: var(--font-weight-medium);
}
.env-option[data-v-f05dd262] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.env-dot[data-v-f05dd262] {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
}
.env-dot.dev[data-v-f05dd262] {
  background: #52c41a;
}
.env-dot.test[data-v-f05dd262] {
  background: #1890ff;
}
.env-dot.staging[data-v-f05dd262] {
  background: #722ed1;
}
.env-dot.prod[data-v-f05dd262] {
  background: #f5222d;
}
.canary-hint[data-v-f05dd262],
.approval-hint[data-v-f05dd262] {
  margin-left: 12px;
  font-size: var(--font-size-xs);
  color: var(--color-text-tertiary);
}
.deployment-preview[data-v-f05dd262] {
  margin-top: var(--spacing-4);
  padding: var(--spacing-4);
  background: var(--color-bg-secondary);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border-light);
}
.preview-title[data-v-f05dd262] {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-secondary);
  margin-bottom: var(--spacing-3);
}
.preview-content[data-v-f05dd262] {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-4);
}
.preview-content .preview-item[data-v-f05dd262] {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  background: transparent;
  padding: 0;
  border: none;
}
.preview-content .preview-label[data-v-f05dd262] {
  font-size: var(--font-size-xs);
  color: var(--color-text-tertiary);
}
.preview-content .preview-value[data-v-f05dd262] {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
}
/* ===== Responsive ===== */
@media (max-width: 767px) {
.publish-step[data-v-f05dd262] {
    padding: 12px 12px 0;
}
.section-card[data-v-f05dd262] {
    padding: var(--spacing-3);
    padding-bottom: 60px;
}
.section-header[data-v-f05dd262] {
    flex-direction: column;
    gap: var(--spacing-2);
}
.preview-item[data-v-f05dd262] {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--spacing-2);
}
.preview-item-extra[data-v-f05dd262],
  .preview-item-tags[data-v-f05dd262] {
    margin-left: 0;
}
}
@media (max-width: 575px) {
.publish-step[data-v-f05dd262] {
    padding: var(--spacing-3);
}
.section-card[data-v-f05dd262] {
    padding: var(--spacing-3);
    padding-bottom: 60px;
}
.info-descriptions[data-v-f05dd262] .ant-descriptions {
    --descriptions-label-width: 80px;
}
}
/* ===== Mobile Card List ===== */
.mobile-card-list[data-v-f05dd262] {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-3);
  margin-bottom: var(--spacing-4);
}
.mobile-card[data-v-f05dd262] {
  background: var(--color-neutral-0);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-lg);
  padding: var(--spacing-3);
  transition: all var(--duration-fast) var(--easing-default);
}
.mobile-card[data-v-f05dd262]:hover {
  border-color: var(--color-primary-200);
  box-shadow: var(--shadow-sm);
}
.mobile-card-header[data-v-f05dd262] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-2);
  margin-bottom: var(--spacing-2);
}
.mobile-card-name[data-v-f05dd262] {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mobile-card-body[data-v-f05dd262] {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
}
.mobile-card-item[data-v-f05dd262] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.mobile-card-label[data-v-f05dd262] {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
}
/* ===========================
   Application Creation Wizard
   =========================== */
.wizard-page[data-v-f78e7df1] {
  display: flex;
  flex-direction: column;
  padding: 16px 16px 0;
  background: var(--color-bg-secondary);
}
/* ===== Hero Section — blue gradient with decorative elements ===== */
.hero-bg-decoration[data-v-f78e7df1] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-f78e7df1] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-f78e7df1] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-f78e7df1] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-f78e7df1] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-f78e7df1] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-dot[data-v-f78e7df1] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-f78e7df1] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-f78e7df1] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-f78e7df1] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-f78e7df1] {
  flex: 1;
}
.hero-title[data-v-f78e7df1] {
  margin: 0 0 var(--spacing-2);
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-bold);
  color: white;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
  letter-spacing: 0.5px;
}
.hero-desc[data-v-f78e7df1] {
  margin: 0;
  font-size: var(--font-size-base);
  opacity: 0.85;
  max-width: 500px;
  color: white;
}
.hero-right[data-v-f78e7df1] {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
  flex-shrink: 0;
}
/* ===== Steps Progress - Desktop horizontal layout ===== */
.wizard-progress-desktop[data-v-f78e7df1] {
  background: var(--color-neutral-0);
  border-radius: var(--radius-xl);
  padding: var(--spacing-3) var(--spacing-5);
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--color-border-light);
}
.wizard-progress-desktop[data-v-f78e7df1] .ant-steps {
  max-width: 100%;
  margin: 0 auto;
}
.wizard-progress-desktop[data-v-f78e7df1] .ant-steps-item {
  flex: 1;
}
.wizard-progress-desktop[data-v-f78e7df1] .ant-steps-item-container {
  display: flex;
  flex-direction: row;
  align-items: center;
  text-align: left;
  padding: 0 var(--spacing-2);
}
.wizard-progress-desktop[data-v-f78e7df1] .ant-steps-item-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  margin: 0 var(--spacing-2) 0 0;
  border-radius: 50%;
  font-size: 14px;
  flex-shrink: 0;
}
.wizard-progress-desktop[data-v-f78e7df1] .ant-steps-item-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}
.wizard-progress-desktop[data-v-f78e7df1] .ant-steps-item-title {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  line-height: 1.3;
  margin-bottom: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.wizard-progress-desktop[data-v-f78e7df1] .ant-steps-item-description {
  font-size: 11px;
  color: var(--color-text-tertiary);
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.wizard-progress-desktop[data-v-f78e7df1] .ant-steps-item-process .ant-steps-item-icon {
  border-color: var(--color-primary-500);
}
.wizard-progress-desktop[data-v-f78e7df1] .ant-steps-item-finish .ant-steps-item-icon {
  border-color: var(--color-primary-500);
}
.wizard-progress-desktop[data-v-f78e7df1] .ant-steps-item-finish > .ant-steps-item-container > .ant-steps-item-tail::after {
  background: var(--color-primary-500);
}
.wizard-progress-desktop[data-v-f78e7df1] .ant-steps-item-tail {
  top: 14px;
  left: calc(50% + 20px);
  width: calc(100% - 40px);
  padding: 0;
}
.wizard-progress-desktop[data-v-f78e7df1] .ant-steps-item-tail::after {
  height: 2px;
}
/* Custom step number styles */
.step-number[data-v-f78e7df1] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 13px;
  font-weight: var(--font-weight-semibold);
}
.step-number-inactive[data-v-f78e7df1] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 13px;
  color: var(--color-text-tertiary);
}
.wizard-progress-desktop[data-v-f78e7df1] .ant-steps-item-finish .ant-steps-item-icon {
  border-color: var(--color-primary-500);
  color: white;
}
.wizard-progress-desktop[data-v-f78e7df1] .ant-steps-item-finish .ant-steps-item-icon .anticon {
  font-size: 16px;
}
/* ===== Steps Progress - Mobile vertical card layout ===== */
.wizard-progress-mobile[data-v-f78e7df1] {
  display: none;
}
/* ===== Mobile styles ===== */
@media (max-width: 768px) {
.wizard-progress-desktop[data-v-f78e7df1] {
    display: none;
}
.wizard-progress-mobile[data-v-f78e7df1] {
    display: block;
    background: var(--color-neutral-0);
    border-radius: var(--radius-xl);
    padding: var(--spacing-3);
    margin-bottom: var(--spacing-3);
    box-shadow: var(--shadow-sm);
    border: 1px solid var(--color-border-light);
}
.mobile-steps-container[data-v-f78e7df1] {
    display: flex;
    flex-direction: column;
    gap: 0;
}
.mobile-step-card[data-v-f78e7df1] {
    display: flex;
    align-items: center;
    padding: var(--spacing-3) var(--spacing-2);
    border-radius: var(--radius-lg);
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}
.mobile-step-card[data-v-f78e7df1]::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: transparent;
    transition: background 0.3s ease;
}
.mobile-step-card--active[data-v-f78e7df1] {
    background: linear-gradient(135deg, rgba(22, 119, 255, 0.08) 0%, rgba(9, 88, 217, 0.08) 100%);
}
.mobile-step-card--active[data-v-f78e7df1]::before {
    background: var(--color-primary-500);
}
.mobile-step-card--completed[data-v-f78e7df1] {
    background: rgba(0, 188, 212, 0.05);
}
.mobile-step-card--completed[data-v-f78e7df1]::before {
    background: var(--color-success-500);
}
.mobile-step-card--pending[data-v-f78e7df1] {
    opacity: 0.6;
}
.mobile-step-card[data-v-f78e7df1]:hover {
    background: var(--color-bg-secondary);
}
.mobile-step-indicator[data-v-f78e7df1] {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-right: var(--spacing-3);
    flex-shrink: 0;
}
.mobile-step-icon[data-v-f78e7df1] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    font-size: 14px;
    font-weight: var(--font-weight-semibold);
    background: var(--color-bg-secondary);
    color: var(--color-text-secondary);
    transition: all 0.3s ease;
    flex-shrink: 0;
}
.mobile-step-card--active .mobile-step-icon[data-v-f78e7df1] {
    background: var(--color-primary-500);
    color: white;
    transform: scale(1.1);
    box-shadow: 0 4px 12px rgba(22, 119, 255, 0.4);
}
.mobile-step-card--completed .mobile-step-icon[data-v-f78e7df1] {
    background: var(--color-success-500);
    color: white;
}
.mobile-step-card--completed .mobile-step-icon[data-v-f78e7df1] .anticon {
    font-size: 16px;
}
.mobile-step-line[data-v-f78e7df1] {
    width: 2px;
    flex: 1;
    min-height: 16px;
    max-height: 32px;
    background: var(--color-border-light);
    margin: 4px 0;
}
.mobile-step-card--active .mobile-step-line[data-v-f78e7df1] {
    background: var(--color-primary-300);
}
.mobile-step-card--completed .mobile-step-line[data-v-f78e7df1] {
    background: var(--color-success-300);
}
.mobile-step-content[data-v-f78e7df1] {
    flex: 1;
    min-width: 0;
}
.mobile-step-title[data-v-f78e7df1] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary);
    margin-bottom: 2px;
}
.mobile-step-card--active .mobile-step-title[data-v-f78e7df1] {
    color: var(--color-primary-600);
}
.mobile-step-desc[data-v-f78e7df1] {
    font-size: 11px;
    color: var(--color-text-tertiary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mobile-step-status[data-v-f78e7df1] {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: var(--spacing-2);
    flex-shrink: 0;
}
.mobile-step-status[data-v-f78e7df1] .anticon {
    font-size: 16px;
    color: var(--color-primary-500);
}
.mobile-step-card:not(.mobile-step-card--active) .mobile-step-status[data-v-f78e7df1] {
    display: none;
}
}
/* ===== Step Content ===== */
.wizard-body[data-v-f78e7df1] {
  flex: 1;
  min-height: 0;
  padding-top: 12px;
}
/* ===== Footer Actions ===== */
.wizard-footer[data-v-f78e7df1] {
  background: var(--color-neutral-0);
  border-radius: var(--radius-xl);
  padding: var(--spacing-4) var(--spacing-6);
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--color-border-light);
  position: sticky;
  bottom: 0;
  z-index: var(--z-index-docked);
}
.wizard-footer[data-v-f78e7df1] .ant-btn {
  border-radius: var(--radius-lg);
  font-weight: var(--font-weight-medium);
  min-width: 96px;
}
.footer-right[data-v-f78e7df1] {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
}
/* ===== Responsive ===== */
@media (max-width: 991px) {
.hero-content[data-v-f78e7df1] {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--spacing-4);
}
.hero-right[data-v-f78e7df1] {
    width: 100%;
}
}
@media (max-width: 768px) {
.wizard-page[data-v-f78e7df1] {
    padding: 12px 12px 0;
}
.hero-content[data-v-f78e7df1] {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--spacing-3);
}
.hero-right[data-v-f78e7df1] {
    width: 100%;
}
.hero-title[data-v-f78e7df1] {
    font-size: var(--font-size-lg);
}
.hero-desc[data-v-f78e7df1] {
    font-size: var(--font-size-sm);
    max-width: 100%;
}
.wizard-footer[data-v-f78e7df1] {
    padding: var(--spacing-3) var(--spacing-4);
    flex-wrap: wrap;
    gap: var(--spacing-2);
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    border-radius: 0;
    z-index: 100;
}
.footer-right[data-v-f78e7df1] {
    width: 100%;
    justify-content: flex-end;
}
.wizard-footer[data-v-f78e7df1] .ant-btn {
    min-width: auto;
    min-height: 44px;
    flex: 1;
}
}
@media (max-width: 575px) {
.hero-title[data-v-f78e7df1] {
    font-size: var(--font-size-md);
}
.hero-desc[data-v-f78e7df1] {
    font-size: var(--font-size-xs);
}
.wizard-footer[data-v-f78e7df1] {
    padding: var(--spacing-2) var(--spacing-3);
}
.wizard-footer[data-v-f78e7df1] .ant-btn {
    font-size: var(--font-size-sm);
    padding: 0 var(--spacing-3);
}
}
/* 发布进度模态框 */
.publish-progress .progress-loading[data-v-f78e7df1] {
  text-align: center;
  padding: 24px 0;
}
.publish-progress .progress-loading .progress-title[data-v-f78e7df1] {
  margin-top: 16px;
  font-size: 16px;
  color: #1f1f1f;
}
.publish-progress .progress-steps[data-v-f78e7df1] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.publish-progress .progress-step[data-v-f78e7df1] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 0;
  color: #999;
  transition: color 0.3s;
}
.publish-progress .progress-step.done[data-v-f78e7df1] {
  color: #52c41a;
}
.publish-progress .progress-step .step-icon[data-v-f78e7df1] {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  flex-shrink: 0;
}
.publish-progress .progress-step .step-icon.done[data-v-f78e7df1] {
  color: #52c41a;
}
.publish-progress .progress-step .step-icon.pending[data-v-f78e7df1] {
  background: #f0f0f0;
  color: #999;
}
.publish-progress .progress-step .step-name[data-v-f78e7df1] {
  font-size: 14px;
}
.app-templates-page[data-v-53ce50a0] {
  padding: var(--spacing-4);
  background: linear-gradient(135deg, #f5f7fa 0%, #e4e8ef 100%);
}
/* Hero Section */
.hero-bg-decoration[data-v-53ce50a0] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-53ce50a0] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-53ce50a0] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-53ce50a0] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-53ce50a0] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-53ce50a0] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-53ce50a0] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-53ce50a0] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-53ce50a0] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-53ce50a0] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-53ce50a0] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-53ce50a0] {
  flex: 1;
}
.hero-title[data-v-53ce50a0] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-53ce50a0] {
  margin: 0 0 16px;
  font-size: 14px;
  opacity: 0.85;
  max-width: 600px;
}
.hero-stats[data-v-53ce50a0] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.hero-stat[data-v-53ce50a0] {
  display: flex;
  flex-direction: column;
}
.hero-stat-value[data-v-53ce50a0] {
  font-size: 22px;
  font-weight: 700;
}
.hero-stat-label[data-v-53ce50a0] {
  font-size: 12px;
  opacity: 0.7;
}
.hero-right[data-v-53ce50a0] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
/* Category Filter */
.category-filter[data-v-53ce50a0] {
  margin-bottom: var(--spacing-4);
  background: #fff;
  padding: 12px 16px;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.category-filter[data-v-53ce50a0] .ant-radio-group {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.category-filter[data-v-53ce50a0] .ant-radio-button-wrapper {
  border-radius: 16px !important;
  border: 1px solid #d9d9d9 !important;
  padding: 4px 16px;
  height: auto;
  line-height: 22px;
  font-size: 13px;
}
.category-filter[data-v-53ce50a0] .ant-radio-button-wrapper:not(:first-child)::before {
  display: none;
}
.category-filter[data-v-53ce50a0] .ant-radio-button-wrapper-checked {
  background: #1677ff !important;
  border-color: #1677ff !important;
  color: #fff !important;
}
/* Search Bar */
.search-bar[data-v-53ce50a0] {
  margin-bottom: var(--spacing-4);
}
.search-input[data-v-53ce50a0] {
  max-width: 400px;
}
/* Section Title */
.section-title[data-v-53ce50a0] {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  font-size: 18px;
  font-weight: var(--font-weight-semibold);
  margin: 0 0 var(--spacing-4) 0;
}
/* Featured Section */
.featured-section[data-v-53ce50a0] {
  margin-bottom: var(--spacing-8);
}
/* Templates Section */
.templates-section[data-v-53ce50a0] {
  margin-top: var(--spacing-6);
}
.section-header[data-v-53ce50a0] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.section-actions[data-v-53ce50a0] {
  display: flex;
  gap: var(--spacing-2);
}
/* Template Card */
.template-card[data-v-53ce50a0] {
  background: white;
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: all var(--duration-base) var(--easing-ease-out);
  border: 1px solid transparent;
  cursor: pointer;
}
.template-card[data-v-53ce50a0]:hover {
  box-shadow: var(--shadow-lg);
  border-color: rgba(24, 144, 255, 0.1);
  transform: translateY(-3px);
}
.template-card.featured[data-v-53ce50a0] {
  border: 2px solid rgba(250, 140, 22, 0.3);
}
.template-header[data-v-53ce50a0] {
  position: relative;
  padding: var(--spacing-4) var(--spacing-5);
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
  overflow: hidden;
}
.template-icon[data-v-53ce50a0] {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  color: white;
}
.template-title[data-v-53ce50a0] {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: white;
  flex: 1;
}
.featured-tag[data-v-53ce50a0] {
  position: absolute;
  top: var(--spacing-3);
  right: var(--spacing-3);
  border-radius: var(--radius-xl);
  font-size: 12px;
  padding: 2px 10px;
  border: none;
  backdrop-filter: blur(4px);
  background: rgba(255, 255, 255, 0.25) !important;
  color: white !important;
}
.template-body[data-v-53ce50a0] {
  padding: var(--spacing-4);
}
.template-desc[data-v-53ce50a0] {
  margin: 0 0 var(--spacing-3) 0;
  font-size: 13px;
  color: var(--text-color-secondary);
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 40px;
}
.template-meta[data-v-53ce50a0] {
  display: flex;
  gap: var(--spacing-4);
  margin-bottom: var(--spacing-3);
  font-size: 12px;
  color: var(--text-color-secondary);
}
.template-tags[data-v-53ce50a0] {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-2);
}
.template-footer[data-v-53ce50a0] {
  padding: 0 var(--spacing-4) var(--spacing-4);
}
/* List View */
.list-template-info[data-v-53ce50a0] {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
  cursor: pointer;
}
.list-template-icon[data-v-53ce50a0] {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: white;
}
.list-template-name[data-v-53ce50a0] {
  font-size: var(--font-size-base);
  font-weight: 500;
}
.list-template-desc[data-v-53ce50a0] {
  font-size: 12px;
  color: var(--text-color-secondary);
}
/* Preview Modal */
.preview-modal-content[data-v-53ce50a0] {
  padding: 0;
}
.preview-header[data-v-53ce50a0] {
  padding: var(--spacing-6);
  display: flex;
  align-items: center;
  gap: var(--spacing-4);
  margin: -24px -24px 0 -24px;
  border-radius: 8px 8px 0 0;
}
.preview-icon[data-v-53ce50a0] {
  width: 64px;
  height: 64px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  color: white;
}
.preview-info h3[data-v-53ce50a0] {
  margin: 0 0 var(--spacing-2) 0;
  font-size: 20px;
  font-weight: 600;
  color: white;
}
.preview-info p[data-v-53ce50a0] {
  margin: 0;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.9);
}
.preview-body[data-v-53ce50a0] {
  padding: var(--spacing-5) 0;
}
.preview-section[data-v-53ce50a0] {
  margin-bottom: var(--spacing-4);
}
.preview-section h4[data-v-53ce50a0] {
  font-size: 14px;
  font-weight: 600;
  margin: 0 0 var(--spacing-2) 0;
  color: var(--color-text-primary);
}
.objects-list[data-v-53ce50a0] {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
}
.object-item[data-v-53ce50a0] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--spacing-2) var(--spacing-3);
  background: var(--color-bg-secondary);
  border-radius: var(--radius-lg);
}
.object-name[data-v-53ce50a0] {
  font-weight: 500;
}
.object-fields[data-v-53ce50a0] {
  font-size: 12px;
  color: var(--text-color-secondary);
}
.features-list[data-v-53ce50a0] {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-2);
}
.preview-footer[data-v-53ce50a0] {
  display: flex;
  justify-content: flex-end;
  gap: var(--spacing-3);
  padding-top: var(--spacing-4);
  border-top: 1px solid var(--color-border-light);
}
/* Responsive */
@media (max-width: 768px) {
.app-templates-page[data-v-53ce50a0] {
    padding: var(--spacing-3);
}
.hero-content[data-v-53ce50a0] {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}
.hero-title[data-v-53ce50a0] {
    font-size: 20px;
}
.hero-right[data-v-53ce50a0] {
    width: 100%;
}
.search-input[data-v-53ce50a0] {
    max-width: 100%;
}
}
/* ==================== 移动端卡片视图 ==================== */
.mobile-card-list[data-v-53ce50a0] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 0;
}
.mobile-card[data-v-53ce50a0] {
  background: #fff;
  border: 1px solid #f0f0f0;
  border-radius: 8px;
  padding: 12px;
  margin-bottom: 8px;
}
.mobile-card-header[data-v-53ce50a0] {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
  gap: 12px;
}
.mobile-card-header-info[data-v-53ce50a0] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.mobile-card-title[data-v-53ce50a0] {
  font-size: 15px;
  font-weight: 600;
  color: #262626;
}
.mobile-card-body[data-v-53ce50a0] {
  margin-bottom: 8px;
}
.mobile-card-row[data-v-53ce50a0] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4px 0;
  font-size: 13px;
}
.mobile-card-row-full[data-v-53ce50a0] {
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}
.mobile-card-label[data-v-53ce50a0] {
  color: #8c8c8c;
  font-size: 12px;
}
.mobile-card-value[data-v-53ce50a0] {
  color: #595959;
  font-size: 13px;
}
.mobile-card-actions[data-v-53ce50a0] {
  padding-top: 8px;
  border-top: 1px solid #f0f0f0;
  display: flex;
  justify-content: flex-end;
}
.mobile-card-actions-right[data-v-53ce50a0] {
  justify-content: flex-end;
}
.list-template-icon[data-v-53ce50a0] {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: white;
  flex-shrink: 0;
}
.theme-container[data-v-b5efafc3] {
  height: 100%;
  overflow: hidden;
}
/* :global([data-theme]) {
  color-scheme: var(--color-scheme, light);
} */
/* 动态主题变量 - 基于主题配置 */
html[data-theme] {
  --ant-color-bg-container: var(--color-bg-container, #ffffff);
  --ant-color-bg-elevated: var(--color-bg-elevated, #fafafa);
  --ant-color-bg-layout: var(--color-bg-layout, #f0f2f5);
  --ant-color-text: var(--color-text, rgba(0, 0, 0, 0.88));
  --ant-color-text-secondary: var(--color-text-secondary, rgba(0, 0, 0, 0.65));
  --ant-color-text-tertiary: var(--color-text-tertiary, rgba(0, 0, 0, 0.45));
  --ant-color-text-disabled: var(--color-text-disabled, rgba(0, 0, 0, 0.25));
  --ant-color-text-inverse: var(--color-text-inverse, #ffffff);
  --ant-color-border: var(--color-border, #d9d9d9);
  --ant-color-border-light: var(--color-border-light, #f0f0f0);
  --ant-color-fill-secondary: var(--color-fill-secondary, #fafafa);
}
/* 深色主题专用变量覆盖 */
.license-activation-container[data-v-c0bb89c3] {
  padding: 20px 0;
}
.license-logo[data-v-c0bb89c3] {
  text-align: center;
  margin-bottom: 24px;
}
.license-logo h2[data-v-c0bb89c3] {
  margin: 0 0 5px 0;
  font-size: 28px;
  font-weight: bold;
  color: #1890ff;
}
.license-logo p[data-v-c0bb89c3] {
  margin: 0;
  color: #666;
  font-size: 14px;
}
.license-form[data-v-c0bb89c3] {
  max-width: 500px;
  margin: 0 auto;
}
.demo-alert[data-v-c0bb89c3],
.error-alert[data-v-c0bb89c3],
.expiring-alert[data-v-c0bb89c3] {
  margin-bottom: 20px;
}
.form-hint[data-v-c0bb89c3] {
  color: #666;
  font-size: 12px;
  margin-top: 5px;
}
.current-license-info[data-v-c0bb89c3] {
  margin-top: 16px;
}
.license-actions[data-v-c0bb89c3] {
  margin-top: 16px;
}
.license-terms[data-v-c0bb89c3] {
  text-align: center;
  margin-top: 20px;
  font-size: 12px;
  color: #666;
}
.license-terms a[data-v-c0bb89c3] {
  color: #1890ff;
  cursor: pointer;
}
.license-terms-content[data-v-c0bb89c3] {
  max-height: 500px;
  overflow-y: auto;
  padding: 0 10px;
}
.license-terms-content h3[data-v-c0bb89c3] {
  margin-top: 0;
  color: #1890ff;
}
.license-terms-content h4[data-v-c0bb89c3] {
  margin-top: 20px;
  margin-bottom: 10px;
  color: #333;
}
.license-terms-content p[data-v-c0bb89c3] {
  margin: 10px 0;
  line-height: 1.6;
}
.license-terms-content ul[data-v-c0bb89c3] {
  margin: 10px 0;
  padding-left: 20px;
}
.license-terms-content li[data-v-c0bb89c3] {
  margin: 5px 0;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
.license-activation-container[data-v-c0bb89c3] {
    padding: 16px 0;
}
.license-logo[data-v-c0bb89c3] {
    margin-bottom: 16px;
}
.license-logo h2[data-v-c0bb89c3] {
    font-size: 22px;
}
.license-logo p[data-v-c0bb89c3] {
    font-size: 12px;
}
.license-form[data-v-c0bb89c3] {
    max-width: 100%;
    padding: 0 16px;
}
.demo-alert[data-v-c0bb89c3],
  .error-alert[data-v-c0bb89c3],
  .expiring-alert[data-v-c0bb89c3] {
    margin-bottom: 16px;
}
.license-terms[data-v-c0bb89c3] {
    margin-top: 16px;
    padding: 0 16px;
}
}
.update-prompt[data-v-66c77366] {
  position: fixed;
  bottom: 80px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 9999;
  background: white;
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 300px;
  max-width: calc(100vw - 32px);
  border: 1px solid #f0f0f0;
}
.update-content[data-v-66c77366] {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.update-icon[data-v-66c77366] {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #e6f7ff;
  border-radius: 50%;
  font-size: 20px;
  color: #1890ff;
  flex-shrink: 0;
}
.update-info[data-v-66c77366] {
  flex: 1;
}
.update-title[data-v-66c77366] {
  font-size: 16px;
  font-weight: 600;
  color: #262626;
  margin-bottom: 4px;
}
.update-desc[data-v-66c77366] {
  font-size: 13px;
  color: #595959;
  line-height: 1.5;
}
.update-actions[data-v-66c77366] {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}
.slide-up-enter-active[data-v-66c77366],
.slide-up-leave-active[data-v-66c77366] {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.slide-up-enter-from[data-v-66c77366],
.slide-up-leave-to[data-v-66c77366] {
  opacity: 0;
  transform: translateX(-50%) translateY(20px);
}
/* 移动端适配 */
@media screen and (max-width: 480px) {
.update-prompt[data-v-66c77366] {
    bottom: max(80px, calc(60px + env(safe-area-inset-bottom)));
    left: 16px;
    right: 16px;
    transform: none;
    min-width: auto;
}
.slide-up-enter-from[data-v-66c77366],
  .slide-up-leave-to[data-v-66c77366] {
    transform: translateY(20px);
}
}
.offline-indicator[data-v-916afc97] {
  position: fixed;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10000;
  background: #fff2e6;
  border: 1px solid #ffd591;
  border-radius: 8px;
  padding: 12px 20px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  min-width: 280px;
  transition: all 0.3s ease;
}
.offline-indicator--online[data-v-916afc97] {
  background: #f6ffed;
  border-color: #b7eb8f;
}
.offline-content[data-v-916afc97] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.offline-icon[data-v-916afc97] {
  font-size: 20px;
  color: #fa8c16;
}
.offline-indicator--online .offline-icon[data-v-916afc97] {
  color: #52c41a;
}
.offline-text[data-v-916afc97] {
  font-size: 14px;
  color: #595959;
}
.cached-info[data-v-916afc97] {
  font-size: 12px;
  color: #8c8c8c;
}
.fade-enter-active[data-v-916afc97],
.fade-leave-active[data-v-916afc97] {
  transition: all 0.3s ease;
}
.fade-enter-from[data-v-916afc97],
.fade-leave-to[data-v-916afc97] {
  opacity: 0;
  transform: translateX(-50%) translateY(-20px);
}
@media screen and (max-width: 480px) {
.offline-indicator[data-v-916afc97] {
    top: env(safe-area-inset-top);
    left: 16px;
    right: 16px;
    transform: none;
    min-width: auto;
}
.fade-enter-from[data-v-916afc97],
  .fade-leave-to[data-v-916afc97] {
    transform: translateY(-20px);
}
}
/* 安装弹窗 */
.install-modal-overlay[data-v-1708f477] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
  padding: 20px;
}
.install-modal[data-v-1708f477] {
  background: white;
  border-radius: 16px;
  max-width: 400px;
  width: 100%;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
  overflow: hidden;
  animation: modalIn-1708f477 0.3s ease;
}
@keyframes modalIn-1708f477 {
from {
    opacity: 0;
    transform: scale(0.9);
}
to {
    opacity: 1;
    transform: scale(1);
}
}
.install-header[data-v-1708f477] {
  position: relative;
  padding: 24px 24px 0;
  display: flex;
  justify-content: center;
}
.install-icon[data-v-1708f477] {
  width: 80px;
  height: 80px;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.install-icon img[data-v-1708f477] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.install-close[data-v-1708f477] {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 32px;
  height: 32px;
  border: none;
  background: #f5f5f5;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #8c8c8c;
  transition: all 0.3s;
}
.install-close[data-v-1708f477]:hover {
  background: #e8e8e8;
  color: #595959;
}
.install-close svg[data-v-1708f477] {
  width: 18px;
  height: 18px;
}
.install-body[data-v-1708f477] {
  padding: 20px 24px;
  text-align: center;
}
.install-title[data-v-1708f477] {
  font-size: 20px;
  font-weight: 600;
  color: #262626;
  margin: 0 0 8px 0;
}
.install-desc[data-v-1708f477] {
  font-size: 14px;
  color: #8c8c8c;
  margin: 0 0 20px 0;
}
.install-features[data-v-1708f477] {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: left;
}
.feature-item[data-v-1708f477] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  font-size: 14px;
  color: #595959;
}
.feature-icon[data-v-1708f477] {
  width: 20px;
  height: 20px;
  color: #52c41a;
  flex-shrink: 0;
}
.install-footer[data-v-1708f477] {
  padding: 0 24px 24px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.manual-install-guide[data-v-1708f477] {
  background: #f0f5ff;
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 8px;
}
.guide-title[data-v-1708f477] {
  font-size: 14px;
  font-weight: 500;
  color: #1a1a1a;
  margin-bottom: 12px;
}
.guide-steps[data-v-1708f477] {
  margin: 0;
  padding-left: 20px;
  font-size: 13px;
  color: #595959;
  line-height: 1.8;
}
.guide-steps li[data-v-1708f477] {
  margin-bottom: 4px;
}
.guide-tip[data-v-1708f477] {
  font-size: 12px;
  color: #8c8c8c;
  margin-top: 12px;
  margin-bottom: 0;
}
/* 底部提示条 */
.install-banner[data-v-1708f477] {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 9999;
  max-width: 480px;
  width: calc(100% - 48px);
}
.banner-content[data-v-1708f477] {
  background: white;
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
  padding: 12px 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px solid #f0f0f0;
}
.banner-icon[data-v-1708f477] {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  flex-shrink: 0;
}
.banner-text[data-v-1708f477] {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.banner-title[data-v-1708f477] {
  font-size: 15px;
  font-weight: 600;
  color: #262626;
}
.banner-desc[data-v-1708f477] {
  font-size: 12px;
  color: #8c8c8c;
}
.banner-actions[data-v-1708f477] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.banner-close[data-v-1708f477] {
  width: 28px;
  height: 28px;
  border: none;
  background: transparent;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #bfbfbf;
  transition: all 0.3s;
}
.banner-close[data-v-1708f477]:hover {
  background: #f5f5f5;
  color: #8c8c8c;
}
.banner-close svg[data-v-1708f477] {
  width: 16px;
  height: 16px;
}
/* 动画效果 */
.fade-enter-active[data-v-1708f477],
.fade-leave-active[data-v-1708f477] {
  transition: opacity 0.3s ease;
}
.fade-enter-from[data-v-1708f477],
.fade-leave-to[data-v-1708f477] {
  opacity: 0;
}
.slide-up-enter-active[data-v-1708f477],
.slide-up-leave-active[data-v-1708f477] {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.slide-up-enter-from[data-v-1708f477],
.slide-up-leave-to[data-v-1708f477] {
  opacity: 0;
  transform: translateX(-50%) translateY(20px);
}
/* 响应式适配 */
@media (max-width: 480px) {
.install-modal-overlay[data-v-1708f477] {
    padding: 16px;
}
.install-modal[data-v-1708f477] {
    border-radius: 12px;
}
.install-header[data-v-1708f477] {
    padding: 20px 20px 0;
}
.install-icon[data-v-1708f477] {
    width: 64px;
    height: 64px;
    border-radius: 16px;
}
.install-body[data-v-1708f477] {
    padding: 16px 20px;
}
.install-title[data-v-1708f477] {
    font-size: 18px;
}
.install-footer[data-v-1708f477] {
    padding: 0 20px 20px;
}
.install-banner[data-v-1708f477] {
    bottom: 16px;
    width: calc(100% - 32px);
}
.banner-content[data-v-1708f477] {
    padding: 10px 12px;
}
.banner-icon[data-v-1708f477] {
    width: 40px;
    height: 40px;
}
}
/* 全局样式 — 统一入口（详见 styles/index.css） */
/* ============================================================================
 * PathLess - Global Styles Entry
 * ----------------------------------------------------------------------------
 * 全局样式唯一入口，按 CSS 层叠顺序聚合
 *
 * 加载顺序（自上而下，逐层覆盖）：
 *   1. Design Tokens      设计令牌
 *   2. ECharts Theme      图表主题（依赖 tokens）
 *   3. Reset              浏览器重置
 *   4. Typography         排版
 *   5. Utilities          工具类
 *   6. Animations         动画
 *   7. Components         组件覆盖
 *   8. Responsive         响应式（最后加载，权重最高）
 *
 * 注：ECharts 主题仍保留为 .less（依赖 LESS 编译期变量），
 *    在使用方（less-loader / vue-loader）编译时合并。
 * ========================================================================== */
/* 1. Design Tokens */
/* ============================================================================
 * PathLess Design Tokens
 * ----------------------------------------------------------------------------
 * 全局唯一的设计令牌源（CSS 自定义属性）
 * 与 src/design-tokens.js 保持同步
 *
 * Layer: 1 - Tokens (最高优先级，被所有其它样式引用)
 * ========================================================================== */
:root {
  /* ===========================
   * 1. 色彩系统 — 9 级色阶
   * =========================== */

  /* --- 主色 (Primary) — 蓝色系 --- */
  --color-primary-50: #eff6ff;
  --color-primary-100: #dbeafe;
  --color-primary-200: #bfdbfe;
  --color-primary-300: #93c5fd;
  --color-primary-400: #60a5fa;
  --color-primary-500: #3b82f6;
  --color-primary-600: #2563eb;
  --color-primary-700: #1d4ed8;
  --color-primary-800: #1e40af;
  --color-primary-900: #1e3a8a;

  /* --- 成功色 (Success) — 绿色系 --- */
  --color-success-50: #ecfdf5;
  --color-success-100: #d1fae5;
  --color-success-200: #a7f3d0;
  --color-success-300: #6ee7b7;
  --color-success-400: #34d399;
  --color-success-500: #10b981;
  --color-success-600: #059669;
  --color-success-700: #047857;
  --color-success-800: #065f46;
  --color-success-900: #064e3b;

  /* --- 警告色 (Warning) — 琥珀色系 --- */
  --color-warning-50: #fffbeb;
  --color-warning-100: #fef3c7;
  --color-warning-200: #fde68a;
  --color-warning-300: #fcd34d;
  --color-warning-400: #fbbf24;
  --color-warning-500: #f59e0b;
  --color-warning-600: #d97706;
  --color-warning-700: #b45309;
  --color-warning-800: #92400e;
  --color-warning-900: #78350f;

  /* --- 错误色 (Error) — 红色系 --- */
  --color-error-50: #fef2f2;
  --color-error-100: #fee2e2;
  --color-error-200: #fecaca;
  --color-error-300: #fca5a5;
  --color-error-400: #f87171;
  --color-error-500: #ef4444;
  --color-error-600: #dc2626;
  --color-error-700: #b91c1c;
  --color-error-800: #991b1b;
  --color-error-900: #7f1d1d;

  /* --- 信息色 (Info) — 天蓝色系 --- */
  --color-info-50: #f0f9ff;
  --color-info-100: #e0f2fe;
  --color-info-200: #bae6fd;
  --color-info-300: #7dd3fc;
  --color-info-400: #38bdf8;
  --color-info-500: #0ea5e9;
  --color-info-600: #0284c7;
  --color-info-700: #0369a1;
  --color-info-800: #075985;
  --color-info-900: #0c4a6e;

  /* --- 中性色 (Neutral) — 灰色系 --- */
  --color-neutral-0: #ffffff;
  --color-neutral-50: #f9fafb;
  --color-neutral-100: #f3f4f6;
  --color-neutral-200: #e5e7eb;
  --color-neutral-300: #d1d5db;
  --color-neutral-400: #9ca3af;
  --color-neutral-500: #6b7280;
  --color-neutral-600: #4b5563;
  --color-neutral-700: #374151;
  --color-neutral-800: #1f2937;
  --color-neutral-900: #111827;
  --color-neutral-1000: #000000;

  /* ===========================
   * 2. 语义色彩别名
   * =========================== */
  --color-text-primary: var(--color-neutral-900);
  --color-text-secondary: var(--color-neutral-600);
  --color-text-tertiary: var(--color-neutral-400);
  --color-text-disabled: var(--color-neutral-300);
  --color-text-placeholder: #bfbfbf;

  --color-bg-primary: var(--color-neutral-0);
  --color-bg-secondary: var(--color-neutral-50);
  --color-bg-tertiary: var(--color-neutral-100);

  --color-border-default: var(--color-neutral-200);
  --color-border-light: var(--color-neutral-100);
  --color-border-strong: var(--color-neutral-300);

  /* Hero 区域渐变 */
  --color-hero-gradient-start: #1677ff;
  --color-hero-gradient-end: #0958d9;

  /* 状态色（Ant Design 兼容） */
  --color-success: #52c41a;
  --color-success-bg: #f6ffed;
  --color-error: #ff4d4f;
  --color-error-bg: #fff2f0;
  --color-warning: #faad14;
  --color-warning-bg: #fffbe6;
  --color-info: #1677ff;
  --color-info-bg: #e6f7ff;
  --color-processing: #1890ff;

  /* ===========================
   * 3. 字体系统
   * =========================== */
  --font-family-base:
    -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans',
    sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';
  --font-family-mono:
    'SF Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace;
  --font-family-display:
    'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

  /* 字号 10 级 */
  --font-size-xxs: 10px;
  --font-size-xs: 12px;
  --font-size-sm: 13px;
  --font-size-base: 14px;
  --font-size-md: 16px;
  --font-size-lg: 20px;
  --font-size-xl: 24px;
  --font-size-2xl: 30px;
  --font-size-3xl: 36px;
  --font-size-4xl: 48px;

  /* 字重 */
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;

  /* 行高 */
  --line-height-none: 1;
  --line-height-tight: 1.25;
  --line-height-snug: 1.375;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.625;
  --line-height-loose: 2;

  /* ===========================
   * 4. 间距系统 — 4px 基数
   * =========================== */
  --spacing-0: 0;
  --spacing-px: 1px;
  --spacing-0-5: 2px;
  --spacing-1: 4px;
  --spacing-1-5: 6px;
  --spacing-2: 8px;
  --spacing-2-5: 10px;
  --spacing-3: 12px;
  --spacing-3-5: 14px;
  --spacing-4: 16px;
  --spacing-5: 20px;
  --spacing-6: 24px;
  --spacing-7: 28px;
  --spacing-8: 32px;
  --spacing-9: 36px;
  --spacing-10: 40px;
  --spacing-12: 48px;
  --spacing-14: 56px;
  --spacing-16: 64px;
  --spacing-20: 80px;
  --spacing-24: 96px;

  /* ===========================
   * 5. 圆角系统 — 8 级
   * =========================== */
  --radius-none: 0;
  --radius-sm: 2px;
  --radius-base: 4px;
  --radius-md: 4px;
  --radius-lg: 8px;
  --radius-xl: 12px;
  --radius-2xl: 16px;
  --radius-3xl: 24px;
  --radius-full: 9999px;

  /* ===========================
   * 6. 阴影系统
   * =========================== */
  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);
  --shadow-base: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  --shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  --shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);

  /* 带色彩的阴影 */
  --shadow-colored-primary: 0 4px 14px rgba(59, 130, 246, 0.3);
  --shadow-colored-success: 0 4px 14px rgba(16, 185, 129, 0.3);
  --shadow-colored-warning: 0 4px 14px rgba(245, 158, 11, 0.3);
  --shadow-colored-error: 0 4px 14px rgba(239, 68, 68, 0.3);
  --shadow-colored-info: 0 4px 14px rgba(14, 165, 233, 0.3);

  /* ===========================
   * 7. 图标尺寸
   * =========================== */
  --icon-size-xs: 12px;
  --icon-size-sm: 14px;
  --icon-size-base: 16px;
  --icon-size-md: 20px;
  --icon-size-lg: 24px;
  --icon-size-xl: 32px;
  --icon-size-2xl: 48px;

  /* ===========================
   * 8. 动效系统
   * =========================== */
  --duration-instant: 100ms;
  --duration-fast: 200ms;
  --duration-base: 300ms;
  --duration-slow: 500ms;
  --duration-slower: 700ms;

  --easing-default: ease;
  --easing-ease-in: ease-in;
  --easing-ease-out: ease-out;
  --easing-ease-in-out: ease-in-out;
  --easing-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);
  --easing-linear: linear;

  --transition-fast: all var(--duration-fast) var(--easing-default);
  --transition-base: all var(--duration-base) var(--easing-default);
  --transition-slow: all var(--duration-slow) var(--easing-default);
  --transition-bounce: all var(--duration-base) var(--easing-bounce);

  /* ===========================
   * 9. 布局系统
   * =========================== */
  --header-height: 64px;
  --footer-height: 48px;
  --sidebar-width: 200px;
  --sidebar-collapsed-width: 50px;
  --content-padding: 24px;
  --content-padding-mobile: 16px;

  /* ===========================
   * 10. 响应式断点（用于 @media / JS）
   * =========================== */
  --breakpoint-xs: 480px;
  --breakpoint-sm: 576px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 992px;
  --breakpoint-xl: 1200px;
  --breakpoint-xxl: 1400px;

  /* 移动端专用 */
  --spacing-mobile: 16px;
  --spacing-mobile-sm: 8px;
  --font-size-mobile: 14px;
  --font-size-mobile-sm: 13px;
  --component-height-mobile: 44px;
  --touch-target-min: 44px;

  /* 组件尺寸 */
  --component-height-xs: 24px;
  --component-height-sm: 28px;
  --component-height-base: 32px;
  --component-height-md: 36px;
  --component-height-lg: 40px;
  --component-height-xl: 48px;
  --component-min-width-xs: 60px;
  --component-min-width-sm: 80px;
  --component-min-width-base: 100px;
  --component-min-width-md: 120px;
  --component-min-width-lg: 160px;

  /* ===========================
   * 11. Z-index 层级
   * =========================== */
  --z-index-hide: -1;
  --z-index-base: 0;
  --z-index-docked: 10;
  --z-index-dropdown: 1000;
  --z-index-sticky: 1100;
  --z-index-banner: 1200;
  --z-index-overlay: 1300;
  --z-index-modal: 1400;
  --z-index-popover: 1500;
  --z-index-skip-link: 1600;
  --z-index-toast: 1700;
  --z-index-tooltip: 1800;

  /* ===========================
   * 12. 表单设计器专用
   * =========================== */
  --designer-bg: #ffffff;
  --designer-bg-elevated: #fafafa;
  --designer-bg-canvas: #ffffff;
  --designer-border: #f0f0f0;
  --designer-text-primary: rgba(0, 0, 0, 0.88);
  --designer-text-secondary: rgba(0, 0, 0, 0.65);
  --designer-text-tertiary: rgba(0, 0, 0, 0.45);
  --designer-text-quaternary: rgba(0, 0, 0, 0.25);
  --designer-scrollbar-thumb: #d1d5db;
  --designer-scrollbar-thumb-hover: #9ca3af;
  --designer-field-hover-bg: #fafafa;
  --designer-field-active-bg: #e6f4ff;
  --designer-field-dragover-bg: #f6ffed;
  --designer-divider: #f0f0f0;

  /* ===========================
   * 13. SVG 可视化编排设计器专用
   * 统一 BPMN/AI编排/ETL/API编排/关系图 等设计器的视觉规范
   * =========================== */

  /* --- 画布 --- */
  --designer-canvas-bg: #fafbfc;
  --designer-canvas-grid-color: #e5e7eb;
  --designer-canvas-grid-size: 20px;

  /* --- 节点 --- */
  --designer-node-bg: #ffffff;
  --designer-node-border: #e5e7eb;
  --designer-node-border-hover: #3b82f6;
  --designer-node-border-selected: #3b82f6;
  --designer-node-shadow: 0 1px 3px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.04);
  --designer-node-shadow-hover: 0 4px 12px rgba(59, 130, 246, 0.15);
  --designer-node-shadow-selected: 0 0 0 2px rgba(59, 130, 246, 0.2),
    0 4px 12px rgba(59, 130, 246, 0.15);
  --designer-node-radius: 8px;
  --designer-node-width: 200px;
  --designer-node-type-bar-width: 4px;

  /* --- 连线 --- */
  --designer-edge-color: #d1d5db;
  --designer-edge-color-hover: #3b82f6;
  --designer-edge-color-selected: #3b82f6;
  --designer-edge-color-running: #3b82f6;
  --designer-edge-color-success: #10b981;
  --designer-edge-color-error: #ef4444;
  --designer-edge-width: 2px;
  --designer-edge-width-hover: 2.5px;
  --designer-edge-width-selected: 2.5px;

  /* --- 端口 --- */
  --designer-port-size: 12px;
  --designer-port-color: #9ca3af;
  --designer-port-color-hover: #3b82f6;
  --designer-port-color-connected: #3b82f6;

  /* --- 工具栏 --- */
  --designer-toolbar-bg: #ffffff;
  --designer-toolbar-border: #e5e7eb;
  --designer-toolbar-height: 48px;

  /* --- 面板 --- */
  --designer-panel-bg: #ffffff;
  --designer-panel-border: #e5e7eb;
  --designer-panel-width-left: 260px;
  --designer-panel-width-right: 320px;

  /* --- 状态色 --- */
  --designer-status-pending: #9ca3af;
  --designer-status-running: #3b82f6;
  --designer-status-success: #10b981;
  --designer-status-error: #ef4444;
  --designer-status-warning: #f59e0b;
}
/* ============================================================================
 * 兼容别名 — 旧代码使用
 * 后续模块迁移完成后可逐步删除
 * ========================================================================== */
:root {
  --primary-color: var(--color-primary-500);
  --primary-light: var(--color-primary-400);
  --primary-dark: var(--color-primary-600);

  --bg-primary: var(--color-bg-primary);
  --bg-secondary: var(--color-bg-secondary);
  --bg-tertiary: var(--color-bg-tertiary);

  --text-primary: var(--color-text-primary);
  --text-secondary: var(--color-text-secondary);
  --text-tertiary: var(--color-text-tertiary);

  --shadow-light: var(--shadow-sm);
  --shadow-medium: var(--shadow-md);
  --shadow-heavy: var(--shadow-lg);

  --spacing-xs: var(--spacing-1);
  --spacing-sm: var(--spacing-2);
  --spacing-md-sm: var(--spacing-3);
  --spacing-md: var(--spacing-4);
  --spacing-lg: var(--spacing-6);
  --spacing-xl: var(--spacing-8);

  --border-color: var(--color-border-default);
  --border-light: var(--color-border-light);
  --border-radius-base: var(--radius-md);
  --border-radius-sm: var(--radius-sm);
  --border-radius-lg: var(--radius-lg);
  --border-radius-large: var(--radius-xl);
}
/* 2. ECharts Theme（LESS 文件，按 @import 顺序由 Vite 编译） */
:root {
  --echarts-primary: var(--color-primary-500);
  --echarts-primary-light: var(--color-primary-400);
  --echarts-primary-dark: var(--color-primary-600);
  --echarts-primary-darker: var(--color-primary-700);
  --echarts-success: var(--color-success-500);
  --echarts-warning: var(--color-warning-500);
  --echarts-error: var(--color-error-500);
  --echarts-info: #06b6d4;
  --echarts-purple: #8b5cf6;
  --echarts-orange: var(--color-warning-600);
  --echarts-pink: #ec4899;
  --echarts-cyan: #0891b2;
  --echarts-teal: #14b8a6;
  --echarts-color-0: var(--color-primary-500);
  --echarts-color-1: var(--color-success-500);
  --echarts-color-2: var(--color-warning-500);
  --echarts-color-3: var(--color-error-500);
  --echarts-color-4: #06b6d4;
  --echarts-color-5: #8b5cf6;
  --echarts-color-6: var(--color-warning-600);
  --echarts-color-7: #14b8a6;
  --echarts-text-primary: var(--color-neutral-800);
  --echarts-text-secondary: var(--color-neutral-500);
  --echarts-text-tertiary: var(--color-neutral-400);
  --echarts-text-quaternary: var(--color-neutral-300);
  --echarts-background: #ffffff;
  --echarts-background-light: var(--color-neutral-50);
  --echarts-background-lighter: var(--color-neutral-100);
  --echarts-border: var(--color-neutral-200);
  --echarts-border-light: var(--color-neutral-100);
  --echarts-border-lighter: var(--color-neutral-50);
  --echarts-shadow-light: var(--shadow-xs);
  --echarts-shadow-medium: var(--shadow-sm);
  --echarts-shadow-heavy: var(--shadow-lg);
  --echarts-radius-sm: var(--radius-md);
  --echarts-radius-md: var(--radius-lg);
  --echarts-radius-lg: var(--radius-xl);
  --echarts-transition-fast: var(--transition-fast);
  --echarts-transition-normal: var(--transition-normal);
  --echarts-transition-slow: var(--transition-slow);
}
.echarts-container {
  width: 100%;
  height: 100%;
  background: #ffffff;
  border-radius: 8px;
  border: 1px solid #f3f4f6;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  transition: all 300ms ease;
  overflow: hidden;
  position: relative;
}
.echarts-container:hover {
  border-color: #3b82f6;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);
  transform: translateY(-2px);
}
.echarts-container-elevated {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);
  border: 1px solid #f3f4f6;
}
.echarts-container-bordered {
  border: 2px solid #f3f4f6;
}
.echarts-container-rounded {
  border-radius: 12px;
}
.echarts-title {
  font-size: 16px;
  font-weight: 600;
  color: #1f2937;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';
}
.echarts-subtitle {
  font-size: 12px;
  font-weight: 400;
  color: #6b7280;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';
}
.echarts-legend-item {
  font-size: 12px;
  font-weight: 400;
  color: #6b7280;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';
}
.echarts-tooltip {
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid #f3f4f6;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  color: #1f2937;
  font-size: 12px;
  font-weight: 400;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';
}
.echarts-axis {
  color: #6b7280;
  font-size: 12px;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';
}
.echarts-axis-line {
  stroke: #e5e7eb;
  stroke-width: 1;
}
.echarts-grid-line {
  stroke: #f3f4f6;
  stroke-width: 1;
  stroke-dasharray: 4 4;
}
@media (min-width: 1200px) {
.echarts-responsive {
    padding: 24px;
}
}
@media (min-width: 768px) and (max-width: 1199px) {
.echarts-responsive {
    padding: 16px;
}
}
@media (max-width: 767px) {
.echarts-responsive {
    padding: 12px;
}
.echarts-title {
    font-size: 14px;
}
.echarts-subtitle {
    font-size: 10px;
}
.echarts-axis {
    font-size: 10px;
}
.echarts-legend-item {
    font-size: 10px;
}
}
.echarts-bar-item {
  border-radius: 4px 4px 0 0;
  transition: all 0.3s ease;
}
.echarts-bar-item:hover {
  filter: brightness(1.1);
  transform: translateY(-2px);
}
.echarts-line {
  stroke-width: 3;
  transition: all 0.3s ease;
}
.echarts-line-point {
  r: 6;
  transition: all 0.3s ease;
}
.echarts-line-point:hover {
  r: 8;
  filter: brightness(1.2);
}
.echarts-pie-item {
  border-radius: 8px;
  transition: all 0.3s ease;
}
.echarts-pie-item:hover {
  filter: brightness(1.1);
  transform: scale(1.05);
}
.echarts-gauge {
  color: #3b82f6;
}
.echarts-gauge-axis {
  stroke: #f3f4f6;
  stroke-width: 16;
}
.echarts-gauge-pointer {
  fill: #3b82f6;
}
.echarts-radar .echarts-radar-axis {
  stroke: #e5e7eb;
  stroke-width: 1;
}
.echarts-radar .echarts-radar-split-line {
  stroke: #f3f4f6;
  stroke-width: 1;
}
.echarts-radar .echarts-radar-split-area {
  fill: rgba(24, 144, 255, 0.05);
}
.echarts-radar .echarts-radar-area {
  opacity: 0.7;
  transition: all 0.3s ease;
}
.echarts-radar .echarts-radar-area:hover {
  opacity: 0.9;
}
.echarts-scatter-item {
  r: 6;
  transition: all 0.3s ease;
}
.echarts-scatter-item:hover {
  r: 10;
  filter: brightness(1.2);
}
.echarts-heatmap-item {
  border-radius: 4px;
  transition: all 0.3s ease;
}
.echarts-heatmap-item:hover {
  filter: brightness(1.1);
  transform: scale(1.05);
}
.echarts-treemap-item {
  border-radius: 8px;
  border: 2px solid #ffffff;
  transition: all 0.3s ease;
}
.echarts-treemap-item:hover {
  filter: brightness(1.1);
  transform: scale(1.02);
}
.echarts-sankey-node {
  border-radius: 4px;
  transition: all 0.3s ease;
}
.echarts-sankey-node:hover {
  filter: brightness(1.1);
}
.echarts-sankey-link {
  transition: all 0.3s ease;
}
.echarts-sankey-link:hover {
  opacity: 0.8;
}
.echarts-funnel-item {
  border-radius: 4px;
  border: 2px solid #ffffff;
  transition: all 0.3s ease;
}
.echarts-funnel-item:hover {
  filter: brightness(1.1);
  transform: scale(1.02);
}
.echarts-boxplot-item {
  border-width: 1;
  transition: all 0.3s ease;
}
.echarts-boxplot-item:hover {
  filter: brightness(1.1);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.echarts-map .echarts-map-area {
  transition: all 0.3s ease;
}
.echarts-map .echarts-map-area:hover {
  filter: brightness(1.1);
}
.echarts-map .echarts-map-label {
  color: #6b7280;
  font-size: 12px;
}
.echarts-loading-enter-active,
.echarts-loading-leave-active {
  transition: opacity 0.5s ease;
}
.echarts-loading-enter-from,
.echarts-loading-leave-to {
  opacity: 0;
}
.echarts-data-update {
  transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}
.echarts-toolbox .echarts-toolbox-icon {
  border-color: #6b7280;
  transition: all 0.3s ease;
}
.echarts-toolbox .echarts-toolbox-icon:hover {
  border-color: #3b82f6;
  filter: brightness(1.1);
}
.echarts-datazoom .echarts-datazoom-bg {
  background: #f3f4f6;
}
.echarts-datazoom .echarts-datazoom-filler {
  background: #3b82f6;
}
.echarts-datazoom .echarts-datazoom-handle {
  background: #3b82f6;
  border-color: #3b82f6;
  transition: all 0.3s ease;
}
.echarts-datazoom .echarts-datazoom-handle:hover {
  filter: brightness(1.1);
}
.echarts-timeline .echarts-timeline-axis {
  stroke: #e5e7eb;
}
.echarts-timeline .echarts-timeline-item {
  r: 6;
  transition: all 0.3s ease;
}
.echarts-timeline .echarts-timeline-item:hover {
  r: 8;
  filter: brightness(1.2);
}
.echarts-timeline .echarts-timeline-label {
  color: #6b7280;
  font-size: 12px;
}
@media (max-width: 767px) {
.echarts-container {
    touch-action: none;
    cursor: pointer;
}
.echarts-tooltip {
    font-size: 11px;
    padding: 8px;
}
.echarts-legend {
    item-width: 10;
    item-height: 10;
}
.echarts-legend-item {
    font-size: 11px;
}
.echarts-axis {
    font-size: 11px;
}
}
.echarts-no-animation {
  animation: none !important;
  transition: none !important;
}
.echarts-minimal .echarts-legend {
  display: none;
}
.echarts-minimal .echarts-toolbox {
  display: none;
}
.echarts-minimal .echarts-datazoom {
  display: none;
}
.echarts-minimal .echarts-timeline {
  display: none;
}
.echarts-high-density .echarts-line-point {
  r: 4;
}
.echarts-high-density .echarts-line-point:hover {
  r: 6;
}
.echarts-high-density .echarts-line {
  stroke-width: 2;
}
/* 3. Reset */
/* ============================================================================
 * PathLess - Modern CSS Reset
 * ----------------------------------------------------------------------------
 * 基于 Normalize.css / Sanitizer.css 最佳实践
 * 必须在 tokens.css 之后加载
 *
 * Layer: 2 - Base
 * ========================================================================== */
/* --- 1. Box sizing --- */
*,
*::before,
*::after {
  box-sizing: border-box;
}
/* --- 2. 重置 margin / padding --- */
* {
  margin: 0;
  padding: 0;
}
/* --- 3. 防止字号自动放大 --- */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}
/* --- 4. 平滑滚动 + 减少动效适配 --- */
html {
  scroll-behavior: smooth;
}
@media (prefers-reduced-motion: reduce) {
html {
    scroll-behavior: auto;
}
*,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
}
}
/* --- 5. body 基础 --- */
body {
  min-height: 100vh;
  line-height: var(--line-height-normal);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-family: var(--font-family-base);
  font-size: var(--font-size-base);
  color: var(--color-text-primary);
  background-color: var(--color-bg-secondary);
}
/* --- 6. 排版基础 --- */
h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  font-weight: inherit;
}
p, blockquote, pre {
  overflow-wrap: break-word;
}
a {
  color: inherit;
  text-decoration: none;
}
abbr[title] {
  text-decoration: underline dotted;
  cursor: help;
}
b, strong {
  font-weight: bolder;
}
small {
  font-size: 80%;
}
/* --- 7. 列表 --- */
ul, ol {
  list-style: none;
}
/* --- 8. 媒体元素 --- */
img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
  height: auto;
}
svg {
  overflow: hidden;
  vertical-align: middle;
}
/* --- 9. 表格 --- */
table {
  border-collapse: collapse;
  border-spacing: 0;
}
/* --- 10. 表单 --- */
button,
input,
optgroup,
select,
textarea {
  font: inherit;
  color: inherit;
}
button {
  background: none;
  border: none;
  cursor: pointer;
}
button:disabled {
  cursor: not-allowed;
}
input[type='text'],
input[type='email'],
input[type='password'],
input[type='number'],
textarea {
  outline: none;
}
textarea {
  resize: vertical;
}
select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 36px;
}
/* --- 11. 隐藏属性 --- */
[hidden] {
  display: none !important;
}
/* --- 12. 焦点样式 --- */
:focus:not(:focus-visible) {
  outline: none;
}
:focus-visible {
  outline: 2px solid var(--color-primary-500);
  outline-offset: 2px;
}
/* --- 13. 选区 --- */
::selection {
  background-color: var(--color-primary-500);
  color: #ffffff;
}
::-moz-selection {
  background-color: var(--color-primary-500);
  color: #ffffff;
}
/* --- 14. 根元素 --- */
html,
body,
#app {
  height: 100%;
}
/* --- 15. 滚动条 --- */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-track {
  background: var(--color-neutral-100);
  border-radius: var(--radius-full);
}
::-webkit-scrollbar-thumb {
  background: var(--color-neutral-300);
  border-radius: var(--radius-full);
  transition: background var(--duration-fast) var(--easing-default);
}
::-webkit-scrollbar-thumb:hover {
  background: var(--color-neutral-400);
}
::-webkit-scrollbar-corner {
  background: var(--color-neutral-100);
}
* {
  scrollbar-width: thin;
  scrollbar-color: var(--color-neutral-300) var(--color-neutral-100);
}
.dashboard-header,
.hero-section {
  position: relative;
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  border-radius: var(--radius-xl);
  padding: 24px 32px;
  margin-bottom: var(--spacing-4);
  color: white;
  overflow: hidden;
}
@media (max-width: 768px) {
.dashboard-header,
  .hero-section {
    padding: 14px 16px;
    border-radius: var(--radius-xl);
}
.hero-content {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}
.hero-title {
    font-size: 22px;
}
.hero-subtitle {
    font-size: 13px;
    margin-bottom: 20px;
}
.hero-stats {
    gap: 16px;
}
.hero-stat-value {
    font-size: 22px;
}
.hero-right {
    flex-direction: row;
    width: 100%;
}
.hero-btn-primary,
  .hero-btn-default,
  .hero-btn-danger {
    flex: 1;
    justify-content: center;
    height: 40px;
}
}
.hero-section .anticon-search{
  color: #fff;
}
.filter-section .ant-col .ant-select,
.pc-filter .ant-col .ant-select
{
  width: 100%;
}
/* 4. Typography */
/* ============================================================================
 * PathLess - Typography
 * ----------------------------------------------------------------------------
 * 排版规范：标题层级、段落、链接、列表、引用、代码、分割线
 * 工具类：text-* / font-* / leading-* 拆分至 utilities/text.css
 *
 * Layer: 2 - Base
 * ========================================================================== */
/* --- 1. 标题层级 --- */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-family-display);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-tight);
  color: var(--color-text-primary);
}
h1 {
  font-size: var(--font-size-3xl);
  font-weight: var(--font-weight-bold);
  letter-spacing: -0.025em;
}
h2 {
  font-size: var(--font-size-2xl);
  letter-spacing: -0.025em;
}
h3 {
  font-size: var(--font-size-xl);
}
h4 {
  font-size: var(--font-size-lg);
}
h5 {
  font-size: var(--font-size-md);
}
h6 {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-medium);
}
/* --- 2. 段落 --- */
p {
  line-height: var(--line-height-relaxed);
  margin-bottom: var(--spacing-4);
}
p:last-child {
  margin-bottom: 0;
}
/* --- 3. 链接 --- */
a {
  color: var(--color-primary-600);
  text-decoration: none;
  transition: color var(--duration-fast) var(--easing-default);
}
a:hover {
  color: var(--color-primary-700);
}
a:active {
  color: var(--color-primary-800);
}
a:focus-visible {
  outline: 2px solid var(--color-primary-500);
  outline-offset: 2px;
  border-radius: var(--radius-sm);
}
/* --- 4. 列表 --- */
ul, ol {
  padding-left: var(--spacing-6);
  margin-bottom: var(--spacing-4);
}
ul { list-style-type: disc;
}
ol { list-style-type: decimal;
}
li {
  line-height: var(--line-height-normal);
}
ul ul, ol ul { list-style-type: circle;
}
ul ul ul { list-style-type: square;
}
ol ol, ul ol { list-style-type: lower-alpha;
}
ol ol ol, ul ol ol { list-style-type: lower-roman;
}
/* --- 5. 定义列表 --- */
dl {
  margin-bottom: var(--spacing-4);
}
dt {
  font-weight: var(--font-weight-semibold);
  margin-bottom: var(--spacing-1);
}
dd {
  margin-left: var(--spacing-6);
  margin-bottom: var(--spacing-2);
}
/* --- 6. 引用 --- */
blockquote {
  padding: var(--spacing-4) var(--spacing-6);
  margin: 0 0 var(--spacing-4) 0;
  border-left: 4px solid var(--color-primary-500);
  background-color: var(--color-neutral-50);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
}
blockquote p:last-child {
  margin-bottom: 0;
}
blockquote cite {
  display: block;
  margin-top: var(--spacing-2);
  font-size: var(--font-size-sm);
  font-style: normal;
  color: var(--color-text-secondary);
}
/* --- 7. 代码 --- */
code {
  font-family: var(--font-family-mono);
  font-size: 0.875em;
  padding: 0.125em 0.375em;
  background-color: var(--color-neutral-100);
  border-radius: var(--radius-sm);
  color: var(--color-error-600);
}
pre {
  font-family: var(--font-family-mono);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-relaxed);
  padding: var(--spacing-4);
  margin: 0 0 var(--spacing-4) 0;
  background-color: var(--color-neutral-900);
  color: var(--color-neutral-100);
  border-radius: var(--radius-lg);
  overflow-x: auto;
}
pre code {
  padding: 0;
  background: none;
  color: inherit;
  font-size: inherit;
}
/* --- 8. 分割线 --- */
hr {
  border: none;
  border-top: 1px solid var(--color-border-default);
  margin: var(--spacing-6) 0;
}
hr.decorative {
  border: none;
  height: 1px;
  background: linear-gradient(
    to right,
    transparent,
    var(--color-neutral-300),
    transparent
  );
  margin: var(--spacing-8) 0;
}
/* 5. Utilities */
/* ============================================================================
 * PathLess - Layout Utilities
 * ----------------------------------------------------------------------------
 * 布局相关工具类：display、flex、grid、spacing、sizing
 *
 * Layer: 3 - Utilities
 * ========================================================================== */
/* --- 1. Display --- */
.flex { display: flex;
}
.inline-flex { display: inline-flex;
}
.block { display: block;
}
.inline-block { display: inline-block;
}
.grid { display: grid;
}
.hidden { display: none !important;
}
.invisible { visibility: hidden;
}
/* --- 2. Flex 容器 --- */
.flex-column { flex-direction: column;
}
.flex-row { flex-direction: row;
}
.flex-wrap { flex-wrap: wrap;
}
.flex-nowrap { flex-wrap: nowrap;
}
.flex-1 { flex: 1;
}
.justify-start { justify-content: flex-start;
}
.justify-center { justify-content: center;
}
.justify-end { justify-content: flex-end;
}
.justify-between { justify-content: space-between;
}
.justify-around { justify-content: space-around;
}
.justify-evenly { justify-content: space-evenly;
}
.items-start { align-items: flex-start;
}
.items-center { align-items: center;
}
.items-end { align-items: flex-end;
}
.items-baseline { align-items: baseline;
}
.items-stretch { align-items: stretch;
}
.align-start { align-content: flex-start;
}
.align-center { align-content: center;
}
.align-end { align-content: flex-end;
}
.align-between { align-content: space-between;
}
.self-start { align-self: flex-start;
}
.self-center { align-self: center;
}
.self-end { align-self: flex-end;
}
.self-stretch { align-self: stretch;
}
/* Gap */
.gap-0 { gap: 0;
}
.gap-1 { gap: var(--spacing-1);
}
.gap-2 { gap: var(--spacing-2);
}
.gap-3 { gap: var(--spacing-3);
}
.gap-4 { gap: var(--spacing-4);
}
.gap-6 { gap: var(--spacing-6);
}
.gap-8 { gap: var(--spacing-8);
}
/* --- 3. Margin（0/4/8/12/16/24/32） --- */
.m-0 { margin: 0;
}
.m-auto { margin: auto;
}
.mt-1 { margin-top: var(--spacing-1);
}
.mt-2 { margin-top: var(--spacing-2);
}
.mt-3 { margin-top: var(--spacing-3);
}
.mt-4 { margin-top: var(--spacing-4);
}
.mt-6 { margin-top: var(--spacing-6);
}
.mt-8 { margin-top: var(--spacing-8);
}
.mb-1 { margin-bottom: var(--spacing-1);
}
.mb-2 { margin-bottom: var(--spacing-2);
}
.mb-3 { margin-bottom: var(--spacing-3);
}
.mb-4 { margin-bottom: var(--spacing-4);
}
.mb-6 { margin-bottom: var(--spacing-6);
}
.mb-8 { margin-bottom: var(--spacing-8);
}
.ml-1 { margin-left: var(--spacing-1);
}
.ml-2 { margin-left: var(--spacing-2);
}
.ml-3 { margin-left: var(--spacing-3);
}
.ml-4 { margin-left: var(--spacing-4);
}
.mr-1 { margin-right: var(--spacing-1);
}
.mr-2 { margin-right: var(--spacing-2);
}
.mr-3 { margin-right: var(--spacing-3);
}
.mr-4 { margin-right: var(--spacing-4);
}
.mx-auto { margin-left: auto; margin-right: auto;
}
.my-1 { margin-top: var(--spacing-1); margin-bottom: var(--spacing-1);
}
.my-2 { margin-top: var(--spacing-2); margin-bottom: var(--spacing-2);
}
.my-3 { margin-top: var(--spacing-3); margin-bottom: var(--spacing-3);
}
.my-4 { margin-top: var(--spacing-4); margin-bottom: var(--spacing-4);
}
/* --- 4. Padding --- */
.p-0 { padding: 0;
}
.p-1 { padding: var(--spacing-1);
}
.p-2 { padding: var(--spacing-2);
}
.p-3 { padding: var(--spacing-3);
}
.p-4 { padding: var(--spacing-4);
}
.p-6 { padding: var(--spacing-6);
}
.p-8 { padding: var(--spacing-8);
}
.pt-1 { padding-top: var(--spacing-1);
}
.pt-2 { padding-top: var(--spacing-2);
}
.pt-3 { padding-top: var(--spacing-3);
}
.pt-4 { padding-top: var(--spacing-4);
}
.pb-1 { padding-bottom: var(--spacing-1);
}
.pb-2 { padding-bottom: var(--spacing-2);
}
.pb-3 { padding-bottom: var(--spacing-3);
}
.pb-4 { padding-bottom: var(--spacing-4);
}
.pl-2 { padding-left: var(--spacing-2);
}
.pl-3 { padding-left: var(--spacing-3);
}
.pl-4 { padding-left: var(--spacing-4);
}
.pr-2 { padding-right: var(--spacing-2);
}
.pr-3 { padding-right: var(--spacing-3);
}
.pr-4 { padding-right: var(--spacing-4);
}
.px-2 { padding-left: var(--spacing-2); padding-right: var(--spacing-2);
}
.px-3 { padding-left: var(--spacing-3); padding-right: var(--spacing-3);
}
.px-4 { padding-left: var(--spacing-4); padding-right: var(--spacing-4);
}
.py-2 { padding-top: var(--spacing-2); padding-bottom: var(--spacing-2);
}
.py-3 { padding-top: var(--spacing-3); padding-bottom: var(--spacing-3);
}
.py-4 { padding-top: var(--spacing-4); padding-bottom: var(--spacing-4);
}
/* --- 5. Sizing --- */
.w-full { width: 100%;
}
.w-auto { width: auto;
}
.w-fit { width: fit-content;
}
.w-screen { width: 100vw;
}
.h-full { height: 100%;
}
.h-auto { height: auto;
}
.h-fit { height: fit-content;
}
.h-screen { height: 100vh;
}
.min-w-0 { min-width: 0;
}
.min-h-0 { min-height: 0;
}
.max-w-full { max-width: 100%;
}
.max-w-screen { max-width: 100vw;
}
/* --- 6. Position --- */
.relative { position: relative;
}
.absolute { position: absolute;
}
.fixed { position: fixed;
}
.sticky { position: sticky;
}
.static { position: static;
}
.top-0 { top: 0;
}
.right-0 { right: 0;
}
.bottom-0 { bottom: 0;
}
.left-0 { left: 0;
}
.inset-0 { top: 0; right: 0; bottom: 0; left: 0;
}
/* --- 7. Overflow --- */
.overflow-hidden { overflow: hidden;
}
.overflow-auto { overflow: auto;
}
.overflow-x-auto { overflow-x: auto;
}
.overflow-y-auto { overflow-y: auto;
}
.overflow-x-hidden { overflow-x: hidden;
}
.overflow-y-hidden { overflow-y: hidden;
}
.overflow-scroll { overflow: scroll;
}
/* --- 8. Border / Radius --- */
.border { border: 1px solid var(--color-border-default);
}
.border-0 { border: 0;
}
.border-t { border-top: 1px solid var(--color-border-default);
}
.border-b { border-bottom: 1px solid var(--color-border-default);
}
.border-l { border-left: 1px solid var(--color-border-default);
}
.border-r { border-right: 1px solid var(--color-border-default);
}
.rounded-none { border-radius: var(--radius-none);
}
.rounded-sm { border-radius: var(--radius-sm);
}
.rounded { border-radius: var(--radius-md);
}
.rounded-md { border-radius: var(--radius-md);
}
.rounded-lg { border-radius: var(--radius-lg);
}
.rounded-xl { border-radius: var(--radius-xl);
}
.rounded-2xl { border-radius: var(--radius-2xl);
}
.rounded-full { border-radius: var(--radius-full);
}
/* --- 9. Shadow --- */
.shadow-none { box-shadow: none;
}
.shadow-xs { box-shadow: var(--shadow-xs);
}
.shadow-sm { box-shadow: var(--shadow-sm);
}
.shadow { box-shadow: var(--shadow-md);
}
.shadow-md { box-shadow: var(--shadow-md);
}
.shadow-lg { box-shadow: var(--shadow-lg);
}
.shadow-xl { box-shadow: var(--shadow-xl);
}
.shadow-2xl { box-shadow: var(--shadow-2xl);
}
/* --- 10. Cursor --- */
.cursor-pointer { cursor: pointer;
}
.cursor-not-allowed { cursor: not-allowed;
}
.cursor-default { cursor: default;
}
.cursor-move { cursor: move;
}
/* --- 10.5 表单字段通用容器 --- */
.form-field-wrapper {
  width: 100%;
}
.form-field-wrapper--inline {
  width: auto;
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-2);
}
/* --- 11. 业务：列表页工具（统一规范） --- */
.list-page {
.text-ellipsis {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: inline-block;
    max-width: 100%;
}
.table-actions {
    display: flex;
    gap: var(--spacing-2);
}
.batch-toolbar {
    padding: var(--spacing-2) var(--spacing-4);
    background-color: var(--color-bg-secondary);
    border-radius: var(--radius-md);
    margin-bottom: var(--spacing-4);
}
.search-card {
    margin-bottom: var(--spacing-3);
    box-shadow: var(--shadow-sm);
}
.resource-info {
    display: flex;
    align-items: center;
    gap: var(--spacing-3);
    font-size: var(--font-size-xs);
span {
      display: flex;
      align-items: center;
      gap: var(--spacing-1);
}
}
}
/* ============================================================================
 * PathLess - Text Utilities
 * ----------------------------------------------------------------------------
 * 文本相关工具类：字号、字重、行高、颜色、对齐、文本省略、文本转换
 *
 * Layer: 3 - Utilities
 * ========================================================================== */
/* --- 1. 字号 --- */
.text-xxs { font-size: var(--font-size-xxs);
}
.text-xs { font-size: var(--font-size-xs);
}
.text-sm { font-size: var(--font-size-sm);
}
.text-base { font-size: var(--font-size-base);
}
.text-md { font-size: var(--font-size-md);
}
.text-lg { font-size: var(--font-size-lg);
}
.text-xl { font-size: var(--font-size-xl);
}
.text-2xl { font-size: var(--font-size-2xl);
}
.text-3xl { font-size: var(--font-size-3xl);
}
.text-4xl { font-size: var(--font-size-4xl);
}
/* --- 2. 字重 --- */
.font-normal { font-weight: var(--font-weight-normal);
}
.font-medium { font-weight: var(--font-weight-medium);
}
.font-semibold { font-weight: var(--font-weight-semibold);
}
.font-bold { font-weight: var(--font-weight-bold);
}
/* --- 3. 行高 --- */
.leading-none { line-height: var(--line-height-none);
}
.leading-tight { line-height: var(--line-height-tight);
}
.leading-snug { line-height: var(--line-height-snug);
}
.leading-normal { line-height: var(--line-height-normal);
}
.leading-relaxed { line-height: var(--line-height-relaxed);
}
.leading-loose { line-height: var(--line-height-loose);
}
/* --- 4. 文本颜色（语义） --- */
.text-primary { color: var(--color-text-primary);
}
.text-secondary { color: var(--color-text-secondary);
}
.text-tertiary { color: var(--color-text-tertiary);
}
.text-disabled { color: var(--color-text-disabled);
}
.text-inverse { color: #ffffff;
}
.text-placeholder { color: var(--color-text-placeholder);
}
/* 强调色 */
.text-success { color: var(--color-success-600);
}
.text-warning { color: var(--color-warning-600);
}
.text-error { color: var(--color-error-600);
}
.text-info { color: var(--color-info-600);
}
.text-link { color: var(--color-primary-600);
}
/* --- 5. 文本截断 --- */
.text-ellipsis {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.text-clamp-2 {
  display: -webkit-box;
  line-clamp: 2;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.text-clamp-3 {
  display: -webkit-box;
  line-clamp: 3;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
/* --- 6. 文本转换 --- */
.text-uppercase {
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.text-lowercase { text-transform: lowercase;
}
.text-capitalize { text-transform: capitalize;
}
.text-underline { text-decoration: underline;
}
.text-line-through { text-decoration: line-through;
}
.text-no-underline { text-decoration: none;
}
/* --- 7. 文本对齐 --- */
.text-left { text-align: left;
}
.text-center { text-align: center;
}
.text-right { text-align: right;
}
.text-justify { text-align: justify;
}
/* --- 8. 换行 --- */
.break-normal {
  overflow-wrap: normal;
  word-break: normal;
}
.break-words { overflow-wrap: break-word;
}
.break-all { word-break: break-all;
}
.break-keep { word-break: keep-all;
}
.whitespace-normal { white-space: normal;
}
.whitespace-nowrap { white-space: nowrap;
}
.whitespace-pre { white-space: pre;
}
.whitespace-pre-line { white-space: pre-line;
}
.whitespace-pre-wrap { white-space: pre-wrap;
}
/* ============================================================================
 * PathLess - Business Utilities
 * ----------------------------------------------------------------------------
 * 业务通用工具：卡片、空状态、加载、渐变、玻璃效果、响应式可见性
 *
 * Layer: 3 - Utilities
 * ========================================================================== */
/* --- 1. 卡片 --- */
.card {
  background: var(--color-bg-primary);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--color-border-light);
.card-header {
    padding: var(--spacing-4);
    border-bottom: 1px solid var(--color-border-light);
    font-weight: var(--font-weight-medium);
}
.card-body {
    padding: var(--spacing-4);
}
}
/* --- 2. 空状态 --- */
.empty {
  text-align: center;
  padding: var(--spacing-8);
.empty-icon {
    font-size: 48px;
    color: var(--color-text-tertiary);
    margin-bottom: var(--spacing-4);
}
.empty-text {
    color: var(--color-text-tertiary);
    font-size: var(--font-size-base);
}
}
/* --- 3. 加载动画 --- */
.loading {
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 3px solid var(--color-border-light);
  border-radius: 50%;
  border-top-color: var(--color-primary-500);
  animation: pl-spin 1s ease-in-out infinite;
}
@keyframes pl-spin {
to { transform: rotate(360deg);
}
}
/* --- 4. 渐变背景 --- */
.gradient-bg {
  background: linear-gradient(
    135deg,
    var(--color-primary-500) 0%,
    var(--color-primary-600) 100%
  );
}
.gradient-hero {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
}
/* --- 5. 毛玻璃 --- */
.glass {
  backdrop-filter: blur(10px);
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
}
/* --- 6. 响应式可见性 --- */
@media (max-width: 768px) {
.hide-mobile { display: none !important;
}
}
@media (min-width: 769px) {
.show-mobile { display: none !important;
}
}
/* --- 7. 全局动画工具 --- */
.no-animation {
  animation: none !important;
  transition: none !important;
}
/* 6. Animations */
/* ============================================================================
 * PathLess - Keyframes
 * ----------------------------------------------------------------------------
 * 关键帧定义：淡入淡出、滑动、缩放、旋转、脉冲、抖动、翻转、浮动、骨架
 *
 * Layer: 3 - Animations
 * ========================================================================== */
/* --- 1. Fade --- */
@keyframes pl-fade-in {
from { opacity: 0;
}
to { opacity: 1;
}
}
@keyframes pl-fade-out {
from { opacity: 1;
}
to { opacity: 0;
}
}
/* --- 2. Slide --- */
@keyframes pl-slide-in-right {
from { transform: translateX(100%); opacity: 0;
}
to { transform: translateX(0); opacity: 1;
}
}
@keyframes pl-slide-out-right {
from { transform: translateX(0); opacity: 1;
}
to { transform: translateX(100%); opacity: 0;
}
}
@keyframes pl-slide-in-left {
from { transform: translateX(-100%); opacity: 0;
}
to { transform: translateX(0); opacity: 1;
}
}
@keyframes pl-slide-out-left {
from { transform: translateX(0); opacity: 1;
}
to { transform: translateX(-100%); opacity: 0;
}
}
@keyframes pl-slide-in-up {
from { transform: translateY(20px); opacity: 0;
}
to { transform: translateY(0); opacity: 1;
}
}
@keyframes pl-slide-out-up {
from { transform: translateY(0); opacity: 1;
}
to { transform: translateY(-20px); opacity: 0;
}
}
@keyframes pl-slide-in-down {
from { transform: translateY(-20px); opacity: 0;
}
to { transform: translateY(0); opacity: 1;
}
}
@keyframes pl-slide-out-down {
from { transform: translateY(0); opacity: 1;
}
to { transform: translateY(20px); opacity: 0;
}
}
/* --- 3. Scale --- */
@keyframes pl-scale-in {
from { transform: scale(0.9); opacity: 0;
}
to { transform: scale(1); opacity: 1;
}
}
@keyframes pl-scale-out {
from { transform: scale(1); opacity: 1;
}
to { transform: scale(0.9); opacity: 0;
}
}
/* --- 4. Spin --- */
@keyframes pl-spin {
from { transform: rotate(0deg);
}
to { transform: rotate(360deg);
}
}
@keyframes pl-spin-reverse {
from { transform: rotate(360deg);
}
to { transform: rotate(0deg);
}
}
/* --- 5. Pulse --- */
@keyframes pl-pulse {
0%, 100% { opacity: 1;
}
50% { opacity: 0.5;
}
}
@keyframes pl-pulse-border {
0%, 100% { border-color: var(--color-primary-500);
}
50% { border-color: var(--color-primary-300);
}
}
@keyframes pl-pulse-grow {
0%, 100% { transform: scale(1);
}
50% { transform: scale(1.05);
}
}
/* --- 6. Bounce --- */
@keyframes pl-bounce {
0%, 100% { transform: translateY(0);
}
10%, 30%, 50%, 70%, 90% { transform: translateY(-8px);
}
20%, 40%, 60%, 80% { transform: translateY(0);
}
}
@keyframes pl-bounce-in {
0% { transform: scale(0.3); opacity: 0;
}
50% { transform: scale(1.05);
}
70% { transform: scale(0.9);
}
100% { transform: scale(1); opacity: 1;
}
}
/* --- 7. Shake --- */
@keyframes pl-shake {
0%, 100% { transform: translateX(0);
}
10%, 30%, 50%, 70%, 90% { transform: translateX(-4px);
}
20%, 40%, 60%, 80% { transform: translateX(4px);
}
}
/* --- 8. Float --- */
@keyframes pl-float {
0%, 100% { transform: translateY(0);
}
50% { transform: translateY(-10px);
}
}
/* --- 9. Skeleton --- */
@keyframes pl-skeleton-shimmer {
0% { background-position: -200% 0;
}
100% { background-position: 200% 0;
}
}
@keyframes pl-progress-indeterminate {
0% { transform: translateX(-100%);
}
100% { transform: translateX(200%);
}
}
/* --- 10. Number roll --- */
@keyframes pl-number-roll {
0% { transform: translateY(100%); opacity: 0;
}
10% { opacity: 1;
}
90% { opacity: 1;
}
100% { transform: translateY(0); opacity: 1;
}
}
/* --- 11. Dot typing --- */
@keyframes pl-dot-typing-1 {
0%, 20% { opacity: 0.2;
}
40% { opacity: 1;
}
60%, 100% { opacity: 0.2;
}
}
@keyframes pl-dot-typing-2 {
0%, 20% { opacity: 0.2;
}
40% { opacity: 0.2;
}
60% { opacity: 1;
}
80%, 100% { opacity: 0.2;
}
}
@keyframes pl-dot-typing-3 {
0%, 20% { opacity: 0.2;
}
40% { opacity: 0.2;
}
60% { opacity: 0.2;
}
80% { opacity: 1;
}
100% { opacity: 0.2;
}
}
/* ============================================================================
 * PathLess - Transition Utilities
 * ----------------------------------------------------------------------------
 * 过渡时长 / 缓动 / 属性 / 组合过渡工具类
 *
 * Layer: 3 - Animations
 * ========================================================================== */
/* --- 1. 时长 --- */
.transition-none { transition: none !important;
}
.transition-instant { transition-duration: var(--duration-instant) !important;
}
.transition-fast { transition-duration: var(--duration-fast) !important;
}
.transition-base { transition-duration: var(--duration-base) !important;
}
.transition-slow { transition-duration: var(--duration-slow) !important;
}
.transition-slower { transition-duration: var(--duration-slower) !important;
}
/* --- 2. 缓动 --- */
.ease-default { transition-timing-function: var(--easing-default) !important;
}
.ease-in { transition-timing-function: var(--easing-ease-in) !important;
}
.ease-out { transition-timing-function: var(--easing-ease-out) !important;
}
.ease-in-out { transition-timing-function: var(--easing-ease-in-out) !important;
}
.ease-bounce { transition-timing-function: var(--easing-bounce) !important;
}
.ease-linear { transition-timing-function: var(--easing-linear) !important;
}
/* --- 3. 全属性 --- */
.transition-all { transition: all var(--duration-base) var(--easing-default);
}
.transition-all-fast { transition: all var(--duration-fast) var(--easing-default);
}
.transition-all-slow { transition: all var(--duration-slow) var(--easing-default);
}
.transition-all-bounce { transition: all var(--duration-base) var(--easing-bounce);
}
/* --- 4. 单属性 --- */
.transition-color { transition-property:
  color, background-color, border-color, outline-color,
  text-decoration-color, fill, stroke !important;
}
.transition-color-fast {
  transition:
    color var(--duration-fast) var(--easing-default),
    background-color var(--duration-fast) var(--easing-default),
    border-color var(--duration-fast) var(--easing-default);
}
.transition-bg { transition-property:
  background-color, background-image, background-position, background-size !important;
}
.transition-transform { transition-property: transform !important;
}
.transition-transform-base { transition: transform var(--duration-base) var(--easing-default);
}
.transition-shadow { transition-property: box-shadow !important;
}
.transition-shadow-base { transition: box-shadow var(--duration-base) var(--easing-default);
}
.transition-opacity { transition-property: opacity !important;
}
.transition-opacity-fast { transition: opacity var(--duration-fast) var(--easing-default);
}
.transition-border { transition-property: border-color, border-width !important;
}
.transition-radius { transition-property: border-radius !important;
}
/* --- 5. 组合过渡：交互效果 --- */
.hover-lift {
  transition:
    transform var(--duration-fast) var(--easing-default),
    box-shadow var(--duration-fast) var(--easing-default);
}
.hover-lift:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg);
}
.hover-lift:active {
  transform: translateY(0);
  box-shadow: var(--shadow-sm);
}
.hover-scale {
  transition: transform var(--duration-fast) var(--easing-default);
}
.hover-scale:hover { transform: scale(1.05);
}
.hover-scale:active { transform: scale(0.98);
}
.hover-glow {
  transition: box-shadow var(--duration-base) var(--easing-default);
}
.hover-glow:hover { box-shadow: var(--shadow-colored-primary);
}
.press-effect {
  transition: transform var(--duration-instant) var(--easing-default);
}
.press-effect:active { transform: scale(0.97);
}
.focus-ring {
  transition:
    box-shadow var(--duration-fast) var(--easing-default),
    outline var(--duration-fast) var(--easing-default);
}
.focus-ring:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.3);
}
/* --- 6. 表单元素过渡 --- */
button,
.btn {
  transition:
    background-color var(--duration-fast) var(--easing-default),
    color var(--duration-fast) var(--easing-default),
    border-color var(--duration-fast) var(--easing-default),
    box-shadow var(--duration-fast) var(--easing-default),
    transform var(--duration-instant) var(--easing-default);
}
button:active,
.btn:active { transform: scale(0.98);
}
button:disabled,
.btn:disabled {
  transition: none;
  cursor: not-allowed;
}
input,
textarea,
select {
  transition:
    border-color var(--duration-fast) var(--easing-default),
    box-shadow var(--duration-fast) var(--easing-default),
    background-color var(--duration-fast) var(--easing-default);
}
input:focus,
textarea:focus,
select:focus {
  transition:
    border-color var(--duration-fast) var(--easing-default),
    box-shadow var(--duration-fast) var(--easing-default);
}
/* --- 7. 卡片过渡 --- */
.card,
.ant-card {
  transition:
    box-shadow var(--duration-base) var(--easing-default),
    transform var(--duration-base) var(--easing-default);
}
.card-hoverable:hover,
.ant-card-hoverable:hover {
  box-shadow: var(--shadow-lg);
  transform: translateY(-2px);
}
/* ============================================================================
 * PathLess - Animations Index
 * ----------------------------------------------------------------------------
 * 动画工具类：Vue transition、animate-*、stagger、loading 组件样式
 *
 * Layer: 3 - Animations
 * ========================================================================== */
/* ===========================
 * 1. animate-* 工具类
 * =========================== */
.animate-fade-in { animation: pl-fade-in var(--duration-base) var(--easing-default) forwards;
}
.animate-fade-out { animation: pl-fade-out var(--duration-fast) var(--easing-default) forwards;
}
.animate-slide-in-right { animation: pl-slide-in-right var(--duration-base) var(--easing-default) forwards;
}
.animate-slide-out-right { animation: pl-slide-out-right var(--duration-fast) var(--easing-default) forwards;
}
.animate-slide-in-left { animation: pl-slide-in-left var(--duration-base) var(--easing-default) forwards;
}
.animate-slide-out-left { animation: pl-slide-out-left var(--duration-fast) var(--easing-default) forwards;
}
.animate-slide-in-up { animation: pl-slide-in-up var(--duration-base) var(--easing-default) forwards;
}
.animate-slide-out-up { animation: pl-slide-out-up var(--duration-fast) var(--easing-default) forwards;
}
.animate-slide-in-down { animation: pl-slide-in-down var(--duration-base) var(--easing-default) forwards;
}
.animate-slide-out-down { animation: pl-slide-out-down var(--duration-fast) var(--easing-default) forwards;
}
.animate-scale-in { animation: pl-scale-in var(--duration-base) var(--easing-default) forwards;
}
.animate-scale-out { animation: pl-scale-out var(--duration-fast) var(--easing-default) forwards;
}
.animate-scale-in-center { animation: pl-scale-in var(--duration-base) var(--easing-bounce) forwards;
}
.animate-spin { animation: pl-spin 1s linear infinite;
}
.animate-spin-fast { animation: pl-spin 0.6s linear infinite;
}
.animate-spin-slow { animation: pl-spin 2s linear infinite;
}
.animate-spin-reverse { animation: pl-spin-reverse 1s linear infinite;
}
.animate-pulse { animation: pl-pulse 2s ease-in-out infinite;
}
.animate-pulse-fast { animation: pl-pulse 1s ease-in-out infinite;
}
.animate-pulse-border { animation: pl-pulse-border 2s ease-in-out infinite;
}
.animate-pulse-grow { animation: pl-pulse-grow 2s ease-in-out infinite;
}
.animate-bounce { animation: pl-bounce 1s ease-in-out infinite;
}
.animate-bounce-in { animation: pl-bounce-in var(--duration-slow) var(--easing-bounce) forwards;
}
.animate-shake { animation: pl-shake 0.5s ease-in-out;
}
.animate-float { animation: pl-float 3s ease-in-out infinite;
}
/* ===========================
 * 2. 加载指示器
 * =========================== */
.pl-loading-spin { animation: pl-spin 1s linear infinite;
}
.pl-loading-dots {
  display: inline-flex;
  gap: 6px;
  align-items: center;
}
.pl-loading-dots span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--color-primary-500);
  animation: pl-pulse 1.4s ease-in-out infinite both;
}
.pl-loading-dots span:nth-child(1) { animation-delay: -0.32s;
}
.pl-loading-dots span:nth-child(2) { animation-delay: -0.16s;
}
.pl-loading-dots span:nth-child(3) { animation-delay: 0s;
}
.pl-loading-bar {
  position: relative;
  width: 100%;
  height: 3px;
  background: var(--color-neutral-100);
  border-radius: 2px;
  overflow: hidden;
}
.pl-loading-bar::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    var(--color-primary-500),
    transparent
  );
  border-radius: 2px;
  animation: pl-progress-indeterminate 1.5s ease-in-out infinite;
}
.pl-skeleton {
  background: linear-gradient(
    90deg,
    var(--color-neutral-100) 25%,
    var(--color-neutral-200) 50%,
    var(--color-neutral-100) 75%
  );
  background-size: 200% 100%;
  animation: pl-skeleton-shimmer 1.5s ease-in-out infinite;
  border-radius: var(--radius-md);
}
/* ===========================
 * 3. 动画方向 / 模式
 * =========================== */
.animate-none { animation: none;
}
.animate-reverse { animation-direction: reverse;
}
.animate-alternate { animation-direction: alternate;
}
.animate-alternate-reverse { animation-direction: alternate-reverse;
}
.animate-fill-forwards { animation-fill-mode: forwards;
}
.animate-fill-backwards { animation-fill-mode: backwards;
}
.animate-fill-both { animation-fill-mode: both;
}
.animate-play-paused { animation-play-state: paused;
}
.animate-play-running { animation-play-state: running;
}
/* ===========================
 * 4. 延迟 / 时长
 * =========================== */
.delay-100 { animation-delay: 100ms;
}
.delay-200 { animation-delay: 200ms;
}
.delay-300 { animation-delay: 300ms;
}
.delay-400 { animation-delay: 400ms;
}
.delay-500 { animation-delay: 500ms;
}
.delay-700 { animation-delay: 700ms;
}
.delay-1000 { animation-delay: 1000ms;
}
.duration-instant { animation-duration: var(--duration-instant);
}
.duration-fast { animation-duration: var(--duration-fast);
}
.duration-base { animation-duration: var(--duration-base);
}
.duration-slow { animation-duration: var(--duration-slow);
}
.duration-slower { animation-duration: var(--duration-slower);
}
/* ===========================
 * 5. Vue <Transition> 类名
 * =========================== */
/* Fade */
.fade-enter-active,
.fade-leave-active {
  transition: opacity var(--duration-base) var(--easing-default);
}
.fade-enter-from,
.fade-leave-to { opacity: 0;
}
/* Slide fade */
.slide-fade-enter-active { transition: all var(--duration-base) var(--easing-default);
}
.slide-fade-leave-active { transition: all var(--duration-fast) var(--easing-default);
}
.slide-fade-enter-from { transform: translateY(10px); opacity: 0;
}
.slide-fade-leave-to { transform: translateY(-10px); opacity: 0;
}
/* Scale fade */
.scale-fade-enter-active,
.scale-fade-leave-active { transition: all var(--duration-base) var(--easing-default);
}
.scale-fade-enter-from,
.scale-fade-leave-to { transform: scale(0.95); opacity: 0;
}
/* Slide up / down */
.slide-up-enter-active,
.slide-up-leave-active { transition: all var(--duration-base) var(--easing-ease-out);
}
.slide-up-enter-from { transform: translateY(20px); opacity: 0;
}
.slide-up-leave-to { transform: translateY(-20px); opacity: 0;
}
.slide-down-enter-active,
.slide-down-leave-active { transition: all var(--duration-base) var(--easing-ease-out);
}
.slide-down-enter-from { transform: translateY(-20px); opacity: 0;
}
.slide-down-leave-to { transform: translateY(20px); opacity: 0;
}
/* Page transitions */
.page-enter-active,
.page-leave-active { transition: opacity var(--duration-base) var(--easing-default);
}
.page-enter-from,
.page-leave-to { opacity: 0;
}
.slide-page-enter-active { transition: all var(--duration-base) var(--easing-ease-out);
}
.slide-page-leave-active { transition: all var(--duration-fast) var(--easing-default);
}
.slide-page-enter-from { transform: translateX(30px); opacity: 0;
}
.slide-page-leave-to { transform: translateX(-30px); opacity: 0;
}
/* Page slide left / right */
.page-slide-left-enter-active,
.page-slide-left-leave-active { transition: all var(--duration-base) var(--easing-default);
}
.page-slide-left-enter-from { opacity: 0; transform: translateX(30px);
}
.page-slide-left-leave-to { opacity: 0; transform: translateX(-30px);
}
.page-slide-right-enter-active,
.page-slide-right-leave-active { transition: all var(--duration-base) var(--easing-default);
}
.page-slide-right-enter-from { opacity: 0; transform: translateX(-30px);
}
.page-slide-right-leave-to { opacity: 0; transform: translateX(30px);
}
.page-slide-up-enter-active,
.page-slide-up-leave-active { transition: all var(--duration-base) var(--easing-default);
}
.page-slide-up-enter-from { opacity: 0; transform: translateY(20px);
}
.page-slide-up-leave-to { opacity: 0; transform: translateY(-20px);
}
.page-scale-enter-active,
.page-scale-leave-active { transition: all var(--duration-base) var(--easing-default);
}
.page-scale-enter-from { opacity: 0; transform: scale(0.95);
}
.page-scale-leave-to { opacity: 0; transform: scale(1.02);
}
.page-fade-slide-enter-active { transition: all var(--duration-base) var(--easing-ease-out);
}
.page-fade-slide-leave-active { transition: all var(--duration-fast) var(--easing-ease-in);
}
.page-fade-slide-enter-from { opacity: 0; transform: translateY(12px);
}
.page-fade-slide-leave-to { opacity: 0; transform: translateY(-8px);
}
/* 折叠 */
.collapse-enter-active,
.collapse-leave-active {
  transition: all var(--duration-base) var(--easing-default);
  overflow: hidden;
}
.collapse-enter-from,
.collapse-leave-to { max-height: 0; opacity: 0;
}
.collapse-enter-to,
.collapse-leave-from { max-height: 500px; opacity: 1;
}
/* 列表项交错 */
.list-enter-active,
.list-leave-active { transition: all var(--duration-base) var(--easing-default);
}
.list-enter-from { opacity: 0; transform: translateX(-20px);
}
.list-leave-to { opacity: 0; transform: translateX(20px);
}
.list-move { transition: transform var(--duration-base) var(--easing-default);
}
.list-leave-active { position: absolute;
}
/* 缩放弹出 */
.zoom-enter-active { transition: all var(--duration-base) var(--easing-bounce);
}
.zoom-leave-active { transition: all var(--duration-fast) var(--easing-ease-in);
}
.zoom-enter-from,
.zoom-leave-to { opacity: 0; transform: scale(0.8);
}
/* 下拉展开 */
.dropdown-enter-active,
.dropdown-leave-active {
  transition: all var(--duration-fast) var(--easing-default);
  transform-origin: top center;
}
.dropdown-enter-from,
.dropdown-leave-to { opacity: 0; transform: scaleY(0.9) translateY(-4px);
}
/* 通知 */
.notification-slide-enter-active { transition: all var(--duration-base) var(--easing-ease-out);
}
.notification-slide-leave-active { transition: all var(--duration-fast) var(--easing-ease-in);
}
.notification-slide-enter-from,
.notification-slide-leave-to { opacity: 0; transform: translateX(100%);
}
.notification-top-enter-active { transition: all var(--duration-base) var(--easing-ease-out);
}
.notification-top-leave-active { transition: all var(--duration-fast) var(--easing-ease-in);
}
.notification-top-enter-from,
.notification-top-leave-to { opacity: 0; transform: translateY(-20px);
}
/* 模态框 */
.modal-enter-active { transition: all var(--duration-base) var(--easing-ease-out);
}
.modal-leave-active { transition: all var(--duration-fast) var(--easing-ease-in);
}
.modal-enter-from,
.modal-leave-to { opacity: 0; transform: scale(0.95) translateY(10px);
}
/* 数字滚动 */
.pl-number-roll {
  display: inline-block;
  overflow: hidden;
  line-height: 1;
}
.pl-number-roll span {
  display: inline-block;
  animation: pl-number-roll 0.6s var(--easing-ease-out) both;
}
/* ===========================
 * 6. Stagger children（依次入场）
 * =========================== */
.stagger-children > * {
  transition:
    opacity var(--duration-base) var(--easing-default),
    transform var(--duration-base) var(--easing-default);
}
.stagger-children > *:nth-child(1) { transition-delay: 0ms;
}
.stagger-children > *:nth-child(2) { transition-delay: 50ms;
}
.stagger-children > *:nth-child(3) { transition-delay: 100ms;
}
.stagger-children > *:nth-child(4) { transition-delay: 150ms;
}
.stagger-children > *:nth-child(5) { transition-delay: 200ms;
}
.stagger-children > *:nth-child(6) { transition-delay: 250ms;
}
.stagger-children > *:nth-child(7) { transition-delay: 300ms;
}
.stagger-children > *:nth-child(8) { transition-delay: 350ms;
}
.stagger-children > *:nth-child(9) { transition-delay: 400ms;
}
.stagger-children > *:nth-child(10) { transition-delay: 450ms;
}
/* ===========================
 * 7. Ant Design 组件过渡
 * =========================== */
.ant-modal {
  transition:
    opacity var(--duration-base) var(--easing-default),
    transform var(--duration-base) var(--easing-default);
}
.ant-modal-hidden {
  transition:
    opacity var(--duration-fast) var(--easing-default),
    transform var(--duration-fast) var(--easing-default);
}
.ant-drawer { transition: transform var(--duration-base) var(--easing-ease-out);
}
.ant-dropdown,
.ant-select-dropdown {
  transition:
    opacity var(--duration-fast) var(--easing-default),
    transform var(--duration-fast) var(--easing-ease-out);
}
.ant-tooltip { transition: opacity var(--duration-fast) var(--easing-default);
}
.ant-tabs-tab {
  transition:
    color var(--duration-fast) var(--easing-default),
    padding var(--duration-fast) var(--easing-default);
}
.ant-menu-item,
.ant-menu-submenu-title {
  transition:
    background-color var(--duration-fast) var(--easing-default),
    color var(--duration-fast) var(--easing-default),
    padding var(--duration-fast) var(--easing-default);
}
/* ===========================
 * 8. 无障碍
 * =========================== */
@media (prefers-reduced-motion: reduce) {
*,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
}
}
/* 7. Components */
/* ============================================================================
 * PathLess - Modal & Drawer
 * ----------------------------------------------------------------------------
 * 全局弹窗与抽屉统一样式
 *
 * Layer: 4 - Components
 * ========================================================================== */
/* --- 1. Modal 容器：垂直水平居中 --- */
.ant-modal-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  position: fixed;
  inset: 0;
  z-index: var(--z-index-modal);
  pointer-events: auto;
}
.ant-modal-wrap:not(.ant-modal-wrap-hidden) { pointer-events: auto;
}
.ant-modal-wrap-hidden {
  display: none !important;
  pointer-events: none !important;
}
.ant-modal-mask {
  position: fixed;
  inset: 0;
  z-index: var(--z-index-modal);
  background-color: rgba(0, 0, 0, 0.45);
}
/* --- 2. Modal 内容 --- */
.ant-modal {
  top: 0 !important;
  padding-bottom: 0 !important;
  margin: auto !important;
}
.ant-modal .ant-modal-content {
  max-height: calc(100vh - 40px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 0;
}
.ant-modal-body {
  flex: 1;
  overflow-y: auto;
  max-height: calc(100vh - 40px - 110px);
  padding: var(--spacing-4);
}
.ant-modal-header {
  flex-shrink: 0;
  padding: var(--spacing-4) var(--spacing-6);
}
.ant-modal-footer {
  flex-shrink: 0;
  padding: var(--spacing-4) var(--spacing-6);
}
/* --- 3. Modal 内表单紧凑 --- */
.ant-modal .ant-form { margin: 0;
}
.ant-modal .ant-form-item {
  margin-bottom: var(--spacing-3) !important;
}
.ant-modal .ant-form-item-label {
  padding-bottom: var(--spacing-1);
}
.ant-modal .ant-input,
.ant-modal .ant-select-selector,
.ant-modal .ant-picker,
.ant-modal .ant-cascader-picker {
  border-radius: var(--radius-md);
}
/* --- 4. 移动端适配 --- */
@media (max-width: 768px) {
.ant-modal-wrap {
    padding: var(--spacing-3);
}
.ant-modal {
    width: 100% !important;
    max-width: 100% !important;
}
.ant-modal-content {
    max-height: calc(100vh - 24px);
}
.ant-modal-body {
    max-height: calc(100vh - 24px - 110px);
    padding: var(--spacing-3);
}
}
@media (max-width: 480px) {
.ant-modal-wrap { padding: var(--spacing-2);
}
.ant-modal-content { max-height: calc(100vh - 16px);
}
.ant-modal-body {
    max-height: calc(100vh - 16px - 110px);
    padding: var(--spacing-3);
}
}
/* --- 5. Drawer --- */
.ant-drawer-content-wrapper { max-width: 100%;
}
/* ============================================================================
 * PathLess - Ant Menu Overrides
 * ----------------------------------------------------------------------------
 * 头部导航菜单、侧边栏菜单、子菜单弹层的统一样式
 *
 * Layer: 4 - Components
 * ========================================================================== */
/* --- 1. 折叠后的侧边栏宽度 --- */
:where(.css-dev-only-do-not-override).ant-menu-inline-collapsed {
  width: var(--sidebar-collapsed-width) !important;
}
/* --- 2. 头部下拉菜单子弹层 --- */
.ant-menu-submenu-popup.header-nav-submenu-popup {
  background: var(--header-background-color) !important;
}
.ant-menu-submenu-popup.header-nav-submenu-popup > .ant-menu {
  background: var(--header-background-color) !important;
  border: 1px solid var(--color-border-default, var(--border-color, #d9d9d9)) !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12) !important;
}
.ant-menu-submenu-popup.header-nav-submenu-popup .ant-menu-item {
  color: var(--header-text-color, var(--color-text, #262626)) !important;
  min-width: 160px;
  height: 40px;
  line-height: 40px;
}
.ant-menu-submenu-popup.header-nav-submenu-popup .ant-menu-item:hover,
.ant-menu-submenu-popup.header-nav-submenu-popup .ant-menu-item:focus {
  color: var(--header-text-hover, var(--header-menu-hover-color, #1677ff)) !important;
  background: var(--header-bg-hover, var(--header-menu-hover-bg, rgba(24, 144, 255, 0.1))) !important;
}
.ant-menu-submenu-popup.header-nav-submenu-popup .ant-menu-item-selected,
.ant-menu-submenu-popup.header-nav-submenu-popup .ant-menu-item-selected:hover {
  color: var(--header-text-selected, var(--header-menu-selected-color, #1677ff)) !important;
  background: var(
    --header-bg-selected,
    var(--header-menu-selected-bg, rgba(24, 144, 255, 0.15))
  ) !important;
}
.ant-menu-submenu-popup.header-nav-submenu-popup .ant-menu-submenu-title {
  color: var(--header-text-color, var(--color-text, #262626)) !important;
  height: 40px;
  line-height: 40px;
}
.ant-menu-submenu-popup.header-nav-submenu-popup .ant-menu-submenu-title:hover {
  color: var(--header-text-hover, var(--header-menu-hover-color, #1677ff)) !important;
  background: var(--header-bg-hover, var(--header-menu-hover-bg, rgba(24, 144, 255, 0.1))) !important;
}
/* --- 3. 头部右侧用户下拉 --- */
.header-right .ant-dropdown-menu {
  background: var(--header-background-color, #ffffff) !important;
  border: 1px solid var(--color-border-default, var(--border-color, #d9d9d9)) !important;
}
.header-right .ant-dropdown-menu-item {
  color: var(--header-text-color, var(--color-text, #262626)) !important;
}
.header-right .ant-dropdown-menu-item:hover,
.header-right .ant-dropdown-menu-item:focus {
  background: var(--header-bg-hover, var(--header-menu-hover-bg, rgba(24, 144, 255, 0.1))) !important;
  color: var(--header-text-hover, var(--header-menu-hover-color, #1677ff)) !important;
}
.header-right .ant-dropdown-menu-item:hover .anticon,
.header-right .ant-dropdown-menu-item:focus .anticon {
  color: var(--header-text-hover, var(--header-menu-hover-color, #1677ff)) !important;
}
/* --- 4. 侧边栏子菜单（展开态） --- */
.sidebar-nav-menu .ant-menu-submenu-popup,
.sidebar-menu .ant-menu-submenu-popup {
  background: var(--sidebar-background-color, var(--color-bg-container)) !important;
}
.sidebar-nav-menu .ant-menu-submenu-popup > .ant-menu,
.sidebar-menu .ant-menu-submenu-popup > .ant-menu {
  background: var(--sidebar-background-color, var(--color-bg-container)) !important;
  border: 1px solid var(--color-border-default, var(--border-color, #d9d9d9)) !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12) !important;
}
.sidebar-nav-menu .ant-menu-submenu-popup .ant-menu-item,
.sidebar-menu .ant-menu-submenu-popup .ant-menu-item {
  color: var(--sidebar-text-color, var(--color-text, #262626)) !important;
  min-width: 160px;
  height: 40px;
  line-height: 40px;
}
.sidebar-nav-menu .ant-menu-submenu-popup .ant-menu-item:hover,
.sidebar-menu .ant-menu-submenu-popup .ant-menu-item:hover {
  color: var(--sidebar-text-hover, var(--menu-hover-color, #1890ff)) !important;
  background: var(--sidebar-bg-hover, var(--menu-hover-bg, rgba(24, 144, 255, 0.15))) !important;
}
.sidebar-nav-menu .ant-menu-submenu-popup .ant-menu-item-selected,
.sidebar-nav-menu .ant-menu-submenu-popup .ant-menu-item-selected:hover,
.sidebar-menu .ant-menu-submenu-popup .ant-menu-item-selected,
.sidebar-menu .ant-menu-submenu-popup .ant-menu-item-selected:hover {
  color: var(
    --sidebar-text-selected,
    var(--menu-selected-color, var(--primary-color-text, #ffffff))
  ) !important;
  background: var(
    --sidebar-bg-selected,
    var(--menu-selected-bg, var(--primary-color, #1890ff))
  ) !important;
}
/* --- 5. 侧边栏折叠后浮层子菜单（深色背景） --- */
.ant-menu-submenu-popup.sidebar-submenu-popup {
  background: var(--sidebar-background-color, var(--sidebar-bg-color, #001529)) !important;
}
.ant-menu-submenu-popup.sidebar-submenu-popup .menu-item-content {
  display: inline-flex;
}
.ant-menu-submenu-popup.sidebar-submenu-popup > .ant-menu {
  background: var(--sidebar-background-color, var(--sidebar-bg-color, #001529)) !important;
  border: 1px solid var(--sidebar-border, rgba(255, 255, 255, 0.1)) !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15) !important;
}
.ant-menu-submenu-popup.sidebar-submenu-popup .ant-menu-item {
  color: var(--sidebar-text-color, #ffffff) !important;
  min-width: 180px;
  height: 40px;
  line-height: 40px;
}
.ant-menu-submenu-popup.sidebar-submenu-popup .ant-menu-item:hover {
  color: var(--sidebar-text-hover, #ffffff) !important;
  background: var(--sidebar-bg-hover, rgba(255, 255, 255, 0.12)) !important;
}
.ant-menu-submenu-popup.sidebar-submenu-popup .ant-menu-item-selected,
.ant-menu-submenu-popup.sidebar-submenu-popup .ant-menu-item-selected:hover {
  color: var(
    --sidebar-text-selected,
    var(--menu-selected-color, var(--primary-color-text, #ffffff))
  ) !important;
  background: var(
    --sidebar-bg-selected,
    var(--menu-selected-bg, var(--primary-color, #1890ff))
  ) !important;
}
.ant-menu-submenu-popup.sidebar-submenu-popup .ant-menu-submenu-title {
  color: var(--sidebar-text-color, #ffffff) !important;
  height: 40px;
  line-height: 40px;
}
.ant-menu-submenu-popup.sidebar-submenu-popup .ant-menu-submenu-title:hover {
  color: var(--sidebar-text-hover, #ffffff) !important;
  background: var(--sidebar-bg-hover, rgba(255, 255, 255, 0.12)) !important;
}
.ant-menu-submenu-popup.sidebar-submenu-popup .ant-menu-submenu-arrow {
  color: var(--sidebar-text-color, rgba(255, 255, 255, 0.65)) !important;
}
.ant-menu-submenu-popup.sidebar-submenu-popup .ant-menu-submenu-arrow:hover {
  color: var(--sidebar-text-hover, #ffffff) !important;
}
.ant-menu-submenu-popup.sidebar-submenu-popup .ant-menu .ant-menu-submenu > .ant-menu {
  background: var(--sidebar-background-color, var(--sidebar-bg-color, #001529)) !important;
}
/* ============================================================================
 * PathLess - Table Overrides
 * ----------------------------------------------------------------------------
 * 表格操作列、按钮、图标统一规范
 *
 * Layer: 4 - Components
 * ========================================================================== */
/* --- 1. 操作列：link/text 按钮统一为正方形 28x28 --- */
.ant-table-cell {
.ant-btn.ant-btn-link,
  .ant-btn.ant-btn-text {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    /* width: 28px; */
    height: 28px;
    padding: 0;
    margin: 0 4px;
.anticon {
      font-size: 14px;
}
&[disabled] {
      /* width: 28px; */
      height: 28px;
      padding: 0;
}
}
}
/* --- 2. 按钮文本对齐：span 内联 --- */
.ant-btn > span {
  display: inline-flex;
}
/* ============================================================================
 * PathLess - Page Header & Detail
 * ----------------------------------------------------------------------------
 * 页面标题、详情页、Form 间距
 *
 * Layer: 4 - Components
 * ========================================================================== */
/* --- 1. 页面头部 --- */
.page-header {
  padding: var(--spacing-3) var(--spacing-4);
}
.page-header .header-content .page-title {
  font-size: 20px;
  font-weight: var(--font-weight-bold);
  margin: 0 0 var(--spacing-2) 0;
  color: #fff;
  position: relative;
  display: inline-block;
}
.page-header .ant-input-search-button {
  color: #fff !important;
}
/* --- 2. 详情页 --- */
.page-detail {
  padding: var(--spacing-4);
.page-title {
    font-size: 18px;
    font-weight: var(--font-weight-semibold);
    color: #fff;
}
}
/* --- 3. Form 项间距统一 --- */
.ant-drawer .ant-drawer-content .ant-form-item,
.page-content .ant-form-item,
.form-content .ant-form-item {
  margin-bottom: var(--spacing-3);
}
/* ============================================================================
 * PathLess - Spin Loading
 * ----------------------------------------------------------------------------
 * Ant Design Spin 加载状态统一规范
 *
 * Layer: 4 - Components
 * ========================================================================== */
/* 内容区 Spin 加载态：垂直居中 */
.ant-spin-container > .ant-spin-blur,
.ant-spin-container > .ant-spin-tip {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.ant-spin-nested-loading > .ant-spin-loading {
  display: flex;
  align-items: center;
  justify-content: center;
}
/* 小尺寸 inline 场景不居中 */
.ant-spin-nested-loading > .ant-spin-loading.ant-spin-sm,
.ant-spin-nested-loading > .ant-spin-loading.ant-spin-small {
  display: inline-flex;
}
/* 页面级 Spin 最小高度，避免布局抖动 */
.page-content > .ant-spin-nested-loading,
.detail-page > .ant-spin-nested-loading {
  min-height: 400px;
}
.page-content > .ant-spin-nested-loading > .ant-spin-loading,
.detail-page > .ant-spin-nested-loading > .ant-spin-loading {
  min-height: 400px;
}
/* ============================================================================
 * PathLess - AI Customer Service Drawer
 * ----------------------------------------------------------------------------
 * AI 客服抽屉专用样式
 *
 * Layer: 4 - Components
 * ========================================================================== */
.ai-cs-drawer {
.ant-drawer-header {
    padding: var(--spacing-2) var(--spacing-4) !important;
    box-shadow: var(--shadow-sm) !important;
}
}
/* ============================================================================
 * PathLess - Common Component Styles
 * ----------------------------------------------------------------------------
 * 组件级工具样式（多数业务组件共用的视觉模式）
 * 优先使用 tokens.css 中的 CSS 变量
 *
 * Layer: 4 - Components (公共)
 * ========================================================================== */
/* ===========================
 * 1. 统计卡片 .stat-card
 * =========================== */
.stat-card {
  display: flex;
  align-items: flex-start;
  gap: var(--spacing-3);
  /* padding: var(--spacing-3); */
  background: var(--color-bg-primary);
  border-radius: var(--radius-xl);
  border: 1px solid var(--color-border-light);
  transition: var(--transition-base);
  position: relative;
  overflow: hidden;
&--clickable {
    cursor: pointer;
&:hover {
      border-color: var(--color-primary-500);
      box-shadow: var(--shadow-colored-primary);
}
&:active {
      transform: scale(0.98);
}
}
&--active {
    border-color: var(--color-primary-500);
    box-shadow:
      0 0 0 3px rgba(59, 130, 246, 0.15),
      0 4px 16px rgba(59, 130, 246, 0.12);
    background: linear-gradient(135deg,
      rgba(59, 130, 246, 0.03),
      rgba(59, 130, 246, 0.08));
.stat-card__icon {
      transform: scale(1.05);
      box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
}
}
&--primary .stat-card__icon {
    background: linear-gradient(135deg, var(--color-primary-500), var(--color-primary-300));
    color: #fff;
    box-shadow: 0 2px 8px rgba(59, 130, 246, 0.3);
}
&--success .stat-card__icon {
    background: linear-gradient(135deg, var(--color-success-500), var(--color-success-300));
    color: #fff;
    box-shadow: 0 2px 8px rgba(16, 185, 129, 0.3);
}
&--warning .stat-card__icon {
    background: linear-gradient(135deg, var(--color-warning-500), var(--color-warning-300));
    color: #fff;
    box-shadow: 0 2px 8px rgba(245, 158, 11, 0.3);
}
&--danger .stat-card__icon {
    background: linear-gradient(135deg, var(--color-error-500), var(--color-error-300));
    color: #fff;
    box-shadow: 0 2px 8px rgba(239, 68, 68, 0.3);
}
&--info .stat-card__icon {
    background: linear-gradient(135deg, #722ed1, #b37feb);
    color: #fff;
    box-shadow: 0 2px 8px rgba(114, 46, 209, 0.3);
}

  /* 扩展色：青、粉（业务系统中常见） */
&--cyan .stat-card__icon {
    background: linear-gradient(135deg, #06b6d4, #22d3ee);
    color: #fff;
    box-shadow: 0 2px 8px rgba(6, 182, 212, 0.3);
}
&--pink .stat-card__icon {
    background: linear-gradient(135deg, #ec4899, #f472b6);
    color: #fff;
    box-shadow: 0 2px 8px rgba(236, 72, 153, 0.3);
}
&__icon-wrap { flex-shrink: 0;
}
&__icon {
    width: 44px;
    height: 44px;
    border-radius: var(--radius-2xl, 14px);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    transition: var(--transition-base);
    box-shadow: var(--shadow-xs);
:deep(.anticon),
    .anticon {
      font-size: 20px;
      display: flex;
      align-items: center;
      justify-content: center;
}
}
&__content {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-1);
}
&__label {
    font-size: var(--font-size-sm);
    color: var(--color-text-tertiary);
    line-height: var(--line-height-snug);
}
&__value {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary);
    line-height: var(--line-height-tight);
    font-family: var(--font-family-display);
}
&__extra {
    font-size: var(--font-size-xs);
    color: var(--color-text-tertiary);
    margin-top: 2px;
}
&__trend {
    position: absolute;
    top: var(--spacing-3);
    right: var(--spacing-3);
    display: flex;
    align-items: center;
    gap: 2px;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
}
}
/* ===========================
 * 1.1 统计卡片网格 .stat-grid
 * =========================== */
.stat-grid {
  display: grid;
  grid-template-columns: repeat(var(--stat-grid-cols, 4), 1fr);
  gap: var(--spacing-3);
  margin-bottom: var(--spacing-3);
}
@media (max-width: 1200px) {
.stat-grid { grid-template-columns: repeat(3, 1fr);
}
}
@media (max-width: 768px) {
.stat-grid { grid-template-columns: repeat(2, 1fr); gap: var(--spacing-2-5);
}
.stat-grid .stat-card { padding: var(--spacing-3);
}
.stat-grid .stat-card__icon { width: 36px; height: 36px; font-size: 16px;
}
.stat-grid .stat-card__value { font-size: var(--font-size-lg);
}
}
@media (max-width: 480px) {
.stat-grid { grid-template-columns: 1fr;
}
}
/* ===========================
 * 2. 优先级标记 .priority-flag
 * =========================== */
.priority-flag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  padding: var(--spacing-1);
  border-radius: var(--radius-sm);
  transition: var(--transition-fast);
&.priority-high { color: var(--color-error-500);
}
&.priority-normal { color: var(--color-primary-500);
}
&.priority-low { color: var(--color-success-500);
}
&:hover {
    background: var(--color-bg-tertiary);
}
}
/* ===========================
 * 3. 回到顶部 .back-to-top
 * =========================== */
.back-to-top {
  position: fixed;
  bottom: 40px;
  right: 24px;
  z-index: var(--z-index-toast);
  width: 44px;
  height: 44px;
  border-radius: var(--radius-full);
  background: var(--color-primary-500);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  cursor: pointer;
  box-shadow: var(--shadow-lg);
  transition: var(--transition-base);
  border: none;
&:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3);
    background: var(--color-primary-600);
}
&:active {
    transform: translateY(0);
}
}
@media (max-width: 768px) {
.back-to-top {
    bottom: 24px;
    right: 16px;
    width: 40px;
    height: 40px;
    font-size: 18px;
}
}
/* ===========================
 * 4. Hero 页面头部 .page-hero
 * =========================== */
.page-hero {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 32px;
  margin-bottom: var(--spacing-3);
  background: linear-gradient(135deg, #1677ff 0%, #0958d9 100%);
  border-radius: var(--radius-2xl);
  color: white;
  overflow: hidden;
  transition: var(--transition-base);
&__bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
&__circle {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
}
&__circle--1 {
    width: 200px;
    height: 200px;
    top: -60px;
    right: -40px;
}
&__circle--2 {
    width: 120px;
    height: 120px;
    bottom: -30px;
    right: 200px;
}
&__line {
    position: absolute;
    height: 1px;
    background: rgba(255, 255, 255, 0.12);
}
&__line--1 {
    width: 300px;
    top: 30%;
    right: 10%;
    transform: rotate(-15deg);
}
&__line--2 {
    width: 200px;
    bottom: 25%;
    right: 30%;
    transform: rotate(10deg);
}
&__dot {
    position: absolute;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
}
&__dot--1 {
    top: 20%;
    right: 25%;
}
&__dot--2 {
    bottom: 30%;
    right: 15%;
}
&__content {
    flex: 1;
    position: relative;
    z-index: 1;
}
&__title {
    margin: 0 0 var(--spacing-2) 0;
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
    color: white;
}
&__description {
    font-size: var(--font-size-base);
    color: rgba(255, 255, 255, 0.85);
    margin: 0;
    max-width: 500px;
}
&__actions {
    position: relative;
    z-index: 1;
    display: flex;
    gap: var(--spacing-3);
    align-items: center;
    flex-shrink: 0;
}
&__actions .ant-btn {
    border-radius: var(--radius-lg);
    font-weight: var(--font-weight-medium);
    transition: var(--transition-base);
}
&__actions .ant-btn-default {
    background: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.3);
    color: white;
&:hover {
      background: rgba(255, 255, 255, 0.25);
      border-color: rgba(255, 255, 255, 0.5);
      color: white;
}
}
&__actions .ant-btn-primary {
    background: white;
    border-color: white;
    color: #1677ff;
&:hover {
      background: rgba(255, 255, 255, 0.9);
      border-color: rgba(255, 255, 255, 0.9);
      color: #0958d9;
}
}
}
@media (max-width: 768px) {
.page-hero {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--spacing-4);
    padding: var(--spacing-5);
.page-hero__title { font-size: var(--font-size-lg);
}
.page-hero__actions { width: 100%;
}
.page-hero__actions .ant-btn {
      flex: 1;
      justify-content: center;
}
}
}
/* ===========================
 * 5. 批量操作工具栏 .batch-toolbar
 * =========================== */
.batch-toolbar {
  margin-bottom: var(--spacing-3);
  padding: var(--spacing-2) var(--spacing-4);
  background: var(--color-bg-primary);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-xl);
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-shadow: var(--shadow-sm);
> span {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-primary);
}
.ant-btn {
    height: 36px;
    border-radius: var(--radius-md);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    padding: var(--spacing-1) var(--spacing-4);
    transition: var(--transition-base);
&:hover {
      transform: translateY(-1px);
}
&[danger] {
&:hover {
        background: rgba(239, 68, 68, 0.05);
        border-color: var(--color-error-500);
        color: var(--color-error-500);
}
}
}
}
.batch-toolbar-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
@media (max-width: 768px) {
.batch-toolbar {
    flex-direction: column;
    gap: var(--spacing-3);
    align-items: flex-start;
> span { font-size: var(--font-size-sm);
}
}
}
/* ===========================
 * 6. 列表项 .list-item
 * =========================== */
.list-item {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  padding: 0;
  background: var(--color-bg-primary);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--color-border-light);
  margin-bottom: var(--spacing-3);
  transition: var(--transition-base);
  cursor: pointer;
&:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
    border-color: var(--color-primary-500);
}
&--dragging { opacity: 0.5;
}
&--drag-over {
    border-top: 2px solid var(--color-primary-500);
}
&__inner {
    flex: 1;
    min-width: 0;
    padding: var(--spacing-4);
    transition: transform var(--duration-base) var(--easing-default);
}
&__title {
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary);
    margin-bottom: var(--spacing-1);
    line-height: var(--line-height-snug);
}
&__description {
    font-size: var(--font-size-sm);
    color: var(--color-text-secondary);
    line-height: var(--line-height-snug);
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
}
/* ===========================
 * 7. 列表搜索 .list-search
 * =========================== */
.list-search {
  margin-bottom: var(--spacing-3);
  padding: var(--spacing-3) var(--spacing-4);
  background: var(--color-bg-primary);
  border-radius: var(--radius-xl);
  display: flex;
  gap: var(--spacing-2);
  align-items: center;
.ant-input-search { flex: 1;
}
.sort-btn { flex-shrink: 0;
}
}
@media (max-width: 768px) {
.list-search { flex-direction: column;
}
.list-search .sort-btn { width: 100%;
}
}
/* ===========================
 * 8. 卡片网格 .card-grid
 * =========================== */
.card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: var(--spacing-5);
  margin-bottom: var(--spacing-3);
}
@media (max-width: 768px) {
.card-grid {
    grid-template-columns: 1fr;
}
}
/* ===========================
 * 9. 加载更多指示器
 * =========================== */
.load-more-indicator {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-2);
  padding: var(--spacing-4);
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
}
.no-more-indicator {
  text-align: center;
  padding: var(--spacing-3);
  color: var(--color-text-tertiary);
  font-size: var(--font-size-sm);
}
/* ===========================
 * 10. 滑动操作（移动端列表）
 * =========================== */
.swipe-actions {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  display: flex;
  z-index: 1;
  transition: transform var(--duration-base) var(--easing-default);
}
.swipe-action-btn {
  height: 100%;
  padding: 0 var(--spacing-4);
  border: none;
  color: #fff;
  font-size: var(--font-size-sm);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-1);
  white-space: nowrap;
  transition: opacity var(--duration-fast) var(--easing-default);
&:active { opacity: 0.8;
}
}
/* ===========================
 * 11. 列表容器 .list-container
 * =========================== */
.list-container {
  padding: var(--spacing-4);
  background: var(--color-bg-secondary);
}
@media (min-width: 768px) {
.list-container {
    height: 100%;
    display: flex;
    flex-direction: column;
}
}
@media (max-width: 767px) {
.list-container {
    height: auto;
    display: block;
    overflow: visible;
    padding: var(--spacing-2);
}
}
/* ===========================
 * 12. 视图切换按钮组
 * =========================== */
.view-switch {
.ant-radio-button-wrapper {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 var(--spacing-2-5);
    height: 32px;
}
}
/* ===========================
 * 13. 移动端滑动列表项 hover 效果取消
 * =========================== */
@media (prefers-reduced-motion: reduce) {
.list-item:hover,
  .batch-toolbar .ant-btn:hover {
    transform: none;
}
}
/* ============================================================================
 * PathLess - Workflow & Process Nodes
 * ----------------------------------------------------------------------------
 * 工作流编辑器节点统一样式
 * 4 个节点（Start / End / Approval / Condition）共享同一基础结构：
 *   .workflow-node > .node-content + .connection-point
 *
 * Layer: 4 - Components
 * ========================================================================== */
/* ===========================
 * 1. 基础节点
 * =========================== */
.workflow-node {
  position: absolute;
  background: var(--color-bg-primary);
  border-radius: var(--radius-lg);
  cursor: move;
  box-shadow: var(--shadow-sm);
  border: 2px solid var(--color-border-default);
  transition: var(--transition-base);
  user-select: none;
}
.workflow-node:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}
.workflow-node.selected {
  border-color: var(--color-primary-500);
  box-shadow:
    0 0 0 3px rgba(59, 130, 246, 0.2),
    var(--shadow-md);
}
.workflow-node.active {
  border-color: var(--color-warning-500);
  animation: pl-workflow-pulse 1.5s ease-in-out infinite;
}
@keyframes pl-workflow-pulse {
0%, 100% {
    box-shadow: 0 0 0 0 rgba(245, 158, 11, 0.4);
}
50% {
    box-shadow: 0 0 0 8px rgba(245, 158, 11, 0);
}
}
/* ===========================
 * 2. 节点内容
 * =========================== */
.workflow-node .node-content {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0 var(--spacing-4);
  color: var(--color-text-primary);
}
.workflow-node .node-icon {
  width: 20px;
  height: 20px;
  margin-right: var(--spacing-2);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.workflow-node .node-icon svg {
  width: 100%;
  height: 100%;
}
.workflow-node .node-label {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-medium);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
  min-width: 0;
}
/* ===========================
 * 3. 连接点
 * =========================== */
.workflow-node .connection-point {
  position: absolute;
  width: 12px;
  height: 12px;
  background: var(--color-bg-primary);
  border: 2px solid var(--color-primary-500);
  border-radius: var(--radius-full);
  cursor: crosshair;
  transition: var(--transition-fast);
  z-index: 10;
}
.workflow-node .connection-point:hover {
  transform: scale(1.3);
  background: var(--color-primary-500);
}
.workflow-node .connection-point.input {
  left: -6px;
  top: 50%;
  transform: translateY(-50%);
}
.workflow-node .connection-point.input:hover {
  transform: translateY(-50%) scale(1.3);
}
.workflow-node .connection-point.output {
  right: -6px;
  top: 50%;
  transform: translateY(-50%);
}
.workflow-node .connection-point.output:hover {
  transform: translateY(-50%) scale(1.3);
}
/* ===========================
 * 4. 节点变体
 * =========================== */
/* Start Node（绿色渐变） */
.workflow-node--start {
  width: 120px;
  height: 60px;
  border: none;
  border-radius: 30px;
  color: #ffffff;
  background: linear-gradient(135deg, var(--color-success-500), var(--color-success-700));
  box-shadow: 0 2px 8px rgba(16, 185, 129, 0.3);
}
.workflow-node--start:hover {
  box-shadow: 0 4px 16px rgba(16, 185, 129, 0.4);
}
.workflow-node--start .node-content {
  color: #ffffff;
}
.workflow-node--start .connection-point {
  border-color: var(--color-success-500);
}
.workflow-node--start .connection-point:hover {
  background: var(--color-success-500);
}
/* End Node（红色渐变） */
.workflow-node--end {
  width: 120px;
  height: 60px;
  border: none;
  border-radius: 30px;
  color: #ffffff;
  background: linear-gradient(135deg, var(--color-error-500), var(--color-error-700));
  box-shadow: 0 2px 8px rgba(239, 68, 68, 0.3);
}
.workflow-node--end:hover {
  box-shadow: 0 4px 16px rgba(239, 68, 68, 0.4);
}
.workflow-node--end .node-content {
  color: #ffffff;
}
.workflow-node--end .connection-point {
  border-color: var(--color-error-500);
}
.workflow-node--end .connection-point:hover {
  background: var(--color-error-500);
}
.workflow-node--end.completed {
  background: linear-gradient(135deg, var(--color-success-500), var(--color-success-700));
  box-shadow: 0 2px 8px rgba(16, 185, 129, 0.3);
}
.workflow-node--end.completed .connection-point {
  border-color: var(--color-success-500);
}
.workflow-node--end.completed .connection-point:hover {
  background: var(--color-success-500);
}
/* Approval Node（白底圆角方形） */
.workflow-node--approval {
  width: 180px;
  border-radius: var(--radius-md);
  background: var(--color-bg-primary);
  border: 2px solid var(--color-border-default);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.workflow-node--approval .node-content {
  flex-direction: column;
  align-items: stretch;
  height: auto;
  padding: var(--spacing-3);
}
.workflow-node--approval .node-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--spacing-2);
}
.workflow-node--approval .node-icon {
  width: 24px;
  height: 24px;
  margin-right: 0;
  color: var(--color-primary-500);
}
.workflow-node--approval .node-body {
  text-align: center;
}
.workflow-node--approval .node-desc {
  font-size: var(--font-size-xs);
  color: var(--color-text-tertiary);
  margin-bottom: var(--spacing-2);
}
.workflow-node--approval .node-assignees {
  margin-top: var(--spacing-2);
}
.workflow-node--approval .assignee-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-1);
  flex-wrap: wrap;
}
.workflow-node--approval .assignee-tag {
  font-size: 11px;
  padding: 2px 6px;
  background: var(--color-neutral-100);
  border-radius: var(--radius-sm);
  color: var(--color-text-secondary);
}
.workflow-node--approval .more-tag {
  font-size: 11px;
  padding: 2px 6px;
  background: var(--color-neutral-200);
  border-radius: var(--radius-sm);
  color: var(--color-text-tertiary);
}
.workflow-node--approval .node-status .status-badge {
  font-size: 11px;
  padding: 2px 6px;
  border-radius: var(--radius-sm);
  font-weight: var(--font-weight-medium);
}
.workflow-node--approval .status-badge.pending {
  background: var(--color-warning-50);
  color: var(--color-warning-600);
}
.workflow-node--approval .status-badge.processing {
  background: var(--color-primary-50);
  color: var(--color-primary-600);
}
.workflow-node--approval .status-badge.completed {
  background: var(--color-success-50);
  color: var(--color-success-600);
}
.workflow-node--approval .status-badge.rejected {
  background: var(--color-error-50);
  color: var(--color-error-600);
}
.workflow-node--approval.selected {
  border-color: var(--color-primary-500);
}
.workflow-node--approval.completed {
  border-color: var(--color-success-500);
}
.workflow-node--approval.rejected {
  border-color: var(--color-error-500);
}
.workflow-node--approval .approval-mode {
  position: absolute;
  top: -10px;
  right: 8px;
}
.workflow-node--approval .mode-badge {
  font-size: 10px;
  padding: 2px 6px;
  background: var(--color-primary-500);
  color: #ffffff;
  border-radius: 10px;
  font-weight: var(--font-weight-medium);
}
/* Condition Node（蓝/紫渐变，菱形） */
.workflow-node--condition {
  width: 120px;
  height: 80px;
  border: 2px solid var(--color-primary-500);
  background: var(--color-primary-50);
  color: var(--color-primary-700);
  border-radius: var(--radius-md);
}
.workflow-node--condition .node-content {
  flex-direction: column;
  gap: 4px;
}
.workflow-node--condition .node-icon {
  margin-right: 0;
  color: var(--color-primary-500);
}
/* ===========================
 * 5. 完成徽章
 * =========================== */
.workflow-completion-badge {
  position: absolute;
  top: -8px;
  right: -8px;
  width: 24px;
  height: 24px;
  background: var(--color-success-500);
  border-radius: var(--radius-full);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  box-shadow: var(--shadow-md);
  animation: pl-badge-pop 0.3s ease;
}
.workflow-completion-badge svg {
  width: 14px;
  height: 14px;
}
@keyframes pl-badge-pop {
0% { transform: scale(0);
}
50% { transform: scale(1.2);
}
100% { transform: scale(1);
}
}
/* ============================================================================
 * PathLess - SVG 可视化编排设计器通用样式
 * ----------------------------------------------------------------------------
 * 统一 BPMN/AI编排/ETL/API编排/关系图 等设计器的视觉规范
 * 基于 --designer-* 设计令牌，确保所有设计器风格一致
 *
 * 参考标杆：n8n / Dify / LangFlow / Flowise / Make
 *
 * Layer: 4 - Components
 * ========================================================================== */
/* ===========================
 * 1. 设计器容器
 * =========================== */
.designer-container {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--designer-canvas-bg);
  overflow: hidden;
}
/* ===========================
 * 2. 工具栏
 * =========================== */
.designer-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-3);
  height: var(--designer-toolbar-height);
  padding: 0 var(--spacing-4);
  background: var(--designer-toolbar-bg);
  border-bottom: 1px solid var(--designer-toolbar-border);
  flex-shrink: 0;
  z-index: 10;
}
.designer-toolbar-group {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
}
.designer-toolbar-divider {
  width: 1px;
  height: 20px;
  background: var(--designer-toolbar-border);
  margin: 0 var(--spacing-1);
}
.designer-toolbar-zoom {
  display: flex;
  align-items: center;
  gap: var(--spacing-1);
  padding: 2px var(--spacing-2);
  background: var(--color-neutral-100, #f5f5f5);
  border-radius: var(--radius-md, 4px);
}
.designer-toolbar-zoom-value {
  min-width: 42px;
  text-align: center;
  font-size: var(--font-size-xs, 12px);
  color: var(--color-text-secondary, #6b7280);
  user-select: none;
}
/* ===========================
 * 3. 主体区域
 * =========================== */
.designer-body {
  display: flex;
  flex: 1;
  overflow: hidden;
}
/* ===========================
 * 4. 面板通用（节点面板 / 属性面板）
 * =========================== */
.designer-panel {
  background: var(--designer-panel-bg);
  border-right: 1px solid var(--designer-panel-border);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  flex-shrink: 0;
}
.designer-panel--right {
  border-right: none;
  border-left: 1px solid var(--designer-panel-border);
}
.designer-panel--left {
  width: var(--designer-panel-width-left);
}
.designer-panel--right {
  width: var(--designer-panel-width-right);
}
.designer-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--spacing-3) var(--spacing-4);
  border-bottom: 1px solid var(--designer-panel-border);
  flex-shrink: 0;
}
.designer-panel-title {
  font-size: var(--font-size-sm, 13px);
  font-weight: var(--font-weight-semibold, 600);
  color: var(--color-text-primary, #1f2937);
}
.designer-panel-body {
  flex: 1;
  overflow-y: auto;
  padding: var(--spacing-3) var(--spacing-4);
}
/* --- 面板搜索框 --- */
.designer-panel-search {
  padding: var(--spacing-2) var(--spacing-3);
  border-bottom: 1px solid var(--designer-panel-border);
  flex-shrink: 0;
}
/* --- 面板分组 --- */
.designer-panel-group {
  margin-bottom: var(--spacing-2);
}
.designer-panel-group-header {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  padding: var(--spacing-2) var(--spacing-3);
  cursor: pointer;
  user-select: none;
  font-size: var(--font-size-xs, 12px);
  font-weight: var(--font-weight-semibold, 600);
  color: var(--color-text-secondary, #6b7280);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: color 0.2s ease;
}
.designer-panel-group-header:hover {
  color: var(--color-text-primary, #1f2937);
}
.designer-panel-group-header .collapse-icon {
  transition: transform 0.2s ease;
  font-size: 10px;
}
.designer-panel-group-header.collapsed .collapse-icon {
  transform: rotate(0deg);
}
.designer-panel-group-header:not(.collapsed) .collapse-icon {
  transform: rotate(90deg);
}
.designer-panel-group-items {
  overflow: hidden;
  transition: max-height 0.2s ease;
}
.designer-panel-group-items.collapsed {
  max-height: 0;
}
/* --- 面板节点项 --- */
.designer-panel-item {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  padding: var(--spacing-2) var(--spacing-3);
  margin-bottom: 2px;
  border-radius: var(--radius-md, 4px);
  cursor: grab;
  transition: all 0.2s ease;
  user-select: none;
}
.designer-panel-item:hover {
  background: var(--color-primary-50, #eff6ff);
  color: var(--color-primary-500, #3b82f6);
  transform: translateX(2px);
}
.designer-panel-item:active {
  cursor: grabbing;
}
.designer-panel-item-icon {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-md, 4px);
  flex-shrink: 0;
  font-size: 14px;
}
.designer-panel-item-label {
  font-size: var(--font-size-xs, 12px);
  color: var(--color-text-primary, #374151);
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.designer-panel-item-desc {
  font-size: 10px;
  color: var(--color-text-tertiary, #9ca3af);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* --- 属性面板 section 折叠 --- */
.designer-section {
  margin-bottom: var(--spacing-3);
  border: 1px solid var(--designer-panel-border);
  border-radius: var(--radius-lg, 8px);
  overflow: hidden;
}
.designer-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--spacing-2) var(--spacing-3);
  background: var(--color-neutral-50, #fafbfc);
  cursor: pointer;
  user-select: none;
  font-size: var(--font-size-xs, 12px);
  font-weight: var(--font-weight-semibold, 600);
  color: var(--color-text-primary, #1f2937);
  transition: background 0.2s ease;
}
.designer-section-header:hover {
  background: var(--color-neutral-100, #f5f5f5);
}
.designer-section-body {
  padding: var(--spacing-3);
  transition: max-height 0.2s ease;
}
.designer-section.collapsed .designer-section-body {
  max-height: 0;
  padding: 0 var(--spacing-3);
  overflow: hidden;
}
/* ===========================
 * 5. 画布
 * =========================== */
.designer-canvas {
  flex: 1;
  position: relative;
  overflow: auto;
  background: var(--designer-canvas-bg);
  background-image: radial-gradient(
    circle,
    var(--designer-canvas-grid-color) 1px,
    transparent 1px
  );
  background-size: var(--designer-canvas-grid-size) var(--designer-canvas-grid-size);
  cursor: grab;
}
.designer-canvas:active {
  cursor: grabbing;
}
.designer-canvas-viewport {
  position: relative;
  width: 100%;
  height: 100%;
  transform-origin: 0 0;
}
/* ===========================
 * 6. 节点通用样式（HTML div 方案）
 * =========================== */
.designer-node {
  position: absolute;
  width: var(--designer-node-width);
  background: var(--designer-node-bg);
  border: 1px solid var(--designer-node-border);
  border-radius: var(--designer-node-radius);
  box-shadow: var(--designer-node-shadow);
  cursor: move;
  user-select: none;
  transition: box-shadow 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
  overflow: hidden;
}
.designer-node:hover {
  border-color: var(--designer-node-border-hover);
  box-shadow: var(--designer-node-shadow-hover);
  transform: translateY(-1px);
}
.designer-node.selected {
  border-color: var(--designer-node-border-selected);
  box-shadow: var(--designer-node-shadow-selected);
}
/* --- 节点类型色条（左侧） --- */
.designer-node::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: var(--designer-node-type-bar-width);
  background: var(--node-type-color, var(--color-primary-500, #3b82f6));
}
/* --- 节点头部 --- */
.designer-node-header {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  padding: var(--spacing-2) var(--spacing-3);
  padding-left: calc(var(--spacing-3) + var(--designer-node-type-bar-width));
}
.designer-node-icon {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-md, 4px);
  background: color-mix(in srgb, var(--node-type-color, #3b82f6) 12%, transparent);
  color: var(--node-type-color, var(--color-primary-500, #3b82f6));
  font-size: 14px;
  flex-shrink: 0;
}
.designer-node-title {
  font-size: var(--font-size-sm, 13px);
  font-weight: var(--font-weight-semibold, 600);
  color: var(--color-text-primary, #1f2937);
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.designer-node-status {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.designer-node-status--pending {
  background: var(--designer-status-pending);
}
.designer-node-status--running {
  background: var(--designer-status-running);
  box-shadow: 0 0 6px var(--designer-status-running);
  animation: designer-pulse 1.5s ease-in-out infinite;
}
.designer-node-status--success {
  background: var(--designer-status-success);
  box-shadow: 0 0 6px var(--designer-status-success);
}
.designer-node-status--error {
  background: var(--designer-status-error);
  box-shadow: 0 0 6px var(--designer-status-error);
}
/* --- 节点内容 --- */
.designer-node-body {
  padding: 0 var(--spacing-3) var(--spacing-2);
  padding-left: calc(var(--spacing-3) + var(--designer-node-type-bar-width));
  font-size: var(--font-size-xs, 12px);
  color: var(--color-text-secondary, #6b7280);
}
/* --- 节点运行状态动画 --- */
.designer-node--running {
  border-color: var(--designer-status-running);
  animation: designer-node-running 1.5s ease-in-out infinite;
}
.designer-node--success {
  border-color: var(--designer-status-success);
}
.designer-node--error {
  border-color: var(--designer-status-error);
  animation: designer-node-error 1s ease-in-out infinite;
}
@keyframes designer-pulse {
0%, 100% {
    opacity: 1;
}
50% {
    opacity: 0.5;
}
}
@keyframes designer-node-running {
0%, 100% {
    box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.3), var(--designer-node-shadow);
}
50% {
    box-shadow: 0 0 0 6px rgba(59, 130, 246, 0), var(--designer-node-shadow);
}
}
@keyframes designer-node-error {
0%, 100% {
    box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.3), var(--designer-node-shadow);
}
50% {
    box-shadow: 0 0 0 6px rgba(239, 68, 68, 0), var(--designer-node-shadow);
}
}
/* ===========================
 * 7. 端口
 * =========================== */
.designer-port {
  position: absolute;
  width: var(--designer-port-size);
  height: var(--designer-port-size);
  border-radius: 50%;
  background: var(--designer-port-color);
  border: 2px solid var(--designer-node-bg);
  cursor: crosshair;
  transition: all 0.2s ease;
  z-index: 5;
}
.designer-port:hover {
  background: var(--designer-port-color-hover);
  transform: scale(1.3);
  box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.15);
}
.designer-port.connected {
  background: var(--designer-port-color-connected);
}
.designer-port--top {
  top: calc(var(--designer-port-size) / -2);
  left: 50%;
  transform: translateX(-50%);
}
.designer-port--bottom {
  bottom: calc(var(--designer-port-size) / -2);
  left: 50%;
  transform: translateX(-50%);
}
.designer-port--left {
  left: calc(var(--designer-port-size) / -2);
  top: 50%;
  transform: translateY(-50%);
}
.designer-port--right {
  right: calc(var(--designer-port-size) / -2);
  top: 50%;
  transform: translateY(-50%);
}
.designer-port--top:hover,
.designer-port--bottom:hover {
  transform: translateX(-50%) scale(1.3);
}
.designer-port--left:hover,
.designer-port--right:hover {
  transform: translateY(-50%) scale(1.3);
}
/* ===========================
 * 8. 连线（SVG）
 * =========================== */
.designer-edge {
  fill: none;
  stroke: var(--designer-edge-color);
  stroke-width: var(--designer-edge-width);
  transition: stroke 0.2s ease, stroke-width 0.2s ease;
  cursor: pointer;
}
.designer-edge:hover {
  stroke: var(--designer-edge-color-hover);
  stroke-width: var(--designer-edge-width-hover);
}
.designer-edge.selected {
  stroke: var(--designer-edge-color-selected);
  stroke-width: var(--designer-edge-width-selected);
}
.designer-edge.running {
  stroke: var(--designer-edge-color-running);
  stroke-dasharray: 8, 4;
  animation: designer-edge-flow 0.8s linear infinite;
}
.designer-edge.success {
  stroke: var(--designer-edge-color-success);
}
.designer-edge.error {
  stroke: var(--designer-edge-color-error);
  animation: designer-edge-error-pulse 1s ease-in-out infinite;
}
@keyframes designer-edge-flow {
to {
    stroke-dashoffset: -12;
}
}
@keyframes designer-edge-error-pulse {
0%, 100% {
    opacity: 1;
}
50% {
    opacity: 0.5;
}
}
/* --- 连线 hit-area（透明加宽，便于点击） --- */
.designer-edge-hitarea {
  fill: none;
  stroke: transparent;
  stroke-width: 16px;
  cursor: pointer;
}
/* ===========================
 * 9. 右键菜单
 * =========================== */
.designer-context-menu {
  position: fixed;
  min-width: 160px;
  background: var(--designer-panel-bg);
  border: 1px solid var(--designer-panel-border);
  border-radius: var(--radius-lg, 8px);
  box-shadow: var(--shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, 0.1));
  padding: var(--spacing-1) 0;
  z-index: 1000;
}
.designer-context-menu-item {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  padding: var(--spacing-2) var(--spacing-3);
  font-size: var(--font-size-xs, 12px);
  color: var(--color-text-primary, #1f2937);
  cursor: pointer;
  transition: background 0.2s ease;
}
.designer-context-menu-item:hover {
  background: var(--color-primary-50, #eff6ff);
  color: var(--color-primary-500, #3b82f6);
}
.designer-context-menu-item.danger {
  color: var(--color-error-500, #ef4444);
}
.designer-context-menu-item.danger:hover {
  background: var(--color-error-50, #fef2f2);
}
.designer-context-menu-divider {
  height: 1px;
  background: var(--designer-panel-border);
  margin: var(--spacing-1) 0;
}
/* ===========================
 * 10. 缩略图
 * =========================== */
.designer-minimap {
  position: absolute;
  bottom: var(--spacing-4);
  right: var(--spacing-4);
  width: 160px;
  height: 100px;
  background: var(--designer-panel-bg);
  border: 1px solid var(--designer-panel-border);
  border-radius: var(--radius-lg, 8px);
  box-shadow: var(--shadow-md, 0 4px 6px -1px rgba(0, 0, 0, 0.1));
  overflow: hidden;
  z-index: 5;
  transition: opacity 0.2s ease;
}
.designer-minimap:hover {
  opacity: 0.8;
}
/* ===========================
 * 11. 图例
 * =========================== */
.designer-legend {
  position: absolute;
  bottom: var(--spacing-4);
  left: var(--spacing-4);
  display: flex;
  align-items: center;
  gap: var(--spacing-4);
  padding: var(--spacing-2) var(--spacing-3);
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid var(--designer-panel-border);
  border-radius: var(--radius-lg, 8px);
  box-shadow: var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.1));
  z-index: 5;
}
.designer-legend-item {
  display: flex;
  align-items: center;
  gap: var(--spacing-1);
  font-size: var(--font-size-xs, 12px);
  color: var(--color-text-secondary, #6b7280);
}
.designer-legend-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}
.designer-legend-line {
  width: 24px;
  height: 2px;
}
/* ===========================
 * 12. 空状态
 * =========================== */
.designer-empty {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: var(--color-text-tertiary, #9ca3af);
}
.designer-empty-icon {
  font-size: 48px;
  margin-bottom: var(--spacing-3);
  opacity: 0.4;
}
.designer-empty-text {
  font-size: var(--font-size-sm, 13px);
}
/* ===========================
 * 13. 滚动条统一
 * =========================== */
.designer-panel-body::-webkit-scrollbar,
.designer-canvas::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.designer-panel-body::-webkit-scrollbar-track,
.designer-canvas::-webkit-scrollbar-track {
  background: transparent;
}
.designer-panel-body::-webkit-scrollbar-thumb,
.designer-canvas::-webkit-scrollbar-thumb {
  background: var(--designer-scrollbar-thumb, #d1d5db);
  border-radius: 3px;
}
.designer-panel-body::-webkit-scrollbar-thumb:hover,
.designer-canvas::-webkit-scrollbar-thumb:hover {
  background: var(--designer-scrollbar-thumb-hover, #9ca3af);
}
/* ============================================================================
 * PathLess - Banner & Announcement
 * ----------------------------------------------------------------------------
 * 公告 / Banner 统一样式
 *
 * Layer: 4 - Components
 * ========================================================================== */
.pl-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 var(--spacing-4);
  height: 40px;
  min-height: 40px;
  font-size: var(--font-size-sm);
  line-height: 40px;
  color: #ffffff;
  cursor: default;
  position: relative;
  z-index: 50;
  flex-shrink: 0;
  overflow: hidden;

  /* 变体：渐变色 */
&--system { background: linear-gradient(135deg, var(--color-primary-500), var(--color-primary-700));
}
&--maintenance {
    background: linear-gradient(135deg, var(--color-warning-500), var(--color-warning-700));
    color: #5c3d00;
}
&--urgent { background: linear-gradient(135deg, var(--color-error-500), var(--color-error-700));
}
&--important { background: linear-gradient(135deg, #fa8c16, #d46b08);
}
&--update { background: linear-gradient(135deg, #722ed1, #531dab);
}
&--activity { background: linear-gradient(135deg, var(--color-success-500), var(--color-success-700));
}
&__content {
    display: flex;
    align-items: center;
    flex: 1;
    min-width: 0;
    cursor: pointer;
    transition: opacity var(--duration-fast) var(--easing-default);
    gap: 6px;
&:hover { opacity: 0.9;
}
}
&__icon {
    font-size: 15px;
    flex-shrink: 0;
}
&__priority {
    flex-shrink: 0;
    font-size: 11px;
    font-weight: var(--font-weight-semibold);
    padding: 0 5px;
    height: 18px;
    line-height: 18px;
    border-radius: var(--radius-sm);
    letter-spacing: 0.5px;
}
&__priority.urgent {
    background: rgba(255, 255, 255, 0.3);
    animation: pl-pulse 2s ease-in-out infinite;
}
&__priority.high {
    background: rgba(255, 255, 255, 0.2);
}
&__priority.medium {
    background: rgba(255, 255, 255, 0.15);
}
&__label {
    flex-shrink: 0;
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-xs);
    padding: 1px 6px;
    border-radius: var(--radius-sm);
}
&__title {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: var(--font-weight-normal);
    flex: 1;
    min-width: 0;
}
&__media-indicators {
    display: flex;
    align-items: center;
    gap: 3px;
    flex-shrink: 0;
}
&__media-icon {
    font-size: 13px;
    opacity: 0.85;
}
&__attach-icon {
    font-size: 13px;
    opacity: 0.75;
    flex-shrink: 0;
}
&__confirm-icon {
    font-size: 14px;
    opacity: 0.9;
    flex-shrink: 0;
    animation: pl-pulse 1.5s ease-in-out infinite;
}
&__actions {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
    margin-left: var(--spacing-3);
}
&__index {
    font-size: var(--font-size-xs);
    opacity: 0.7;
    margin-right: 4px;
}
&__nav-btn,
  &__close-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border: none;
    background: rgba(255, 255, 255, 0.15);
    color: inherit;
    border-radius: var(--radius-sm);
    cursor: pointer;
    font-size: var(--font-size-xs);
    transition: background var(--duration-fast) var(--easing-default);
&:hover { background: rgba(255, 255, 255, 0.3);
}
}
&--maintenance &__nav-btn,
  &--maintenance &__close-btn {
    background: rgba(92, 61, 0, 0.1);
&:hover { background: rgba(92, 61, 0, 0.2);
}
}
&__close-all-btn {
    margin-right: 4px;
    font-size: var(--font-size-base);
}
}
@media (max-width: 768px) {
.pl-banner {
    height: 36px;
    min-height: 36px;
    line-height: 36px;
    padding: 0 var(--spacing-3);
    font-size: var(--font-size-xs);
&__icon { font-size: 13px;
}
&__priority {
      font-size: 10px;
      padding: 0 4px;
      height: 16px;
      line-height: 16px;
}
&__media-indicators,
    &__attach-icon { display: none;
}
&__index { display: none;
}
&__nav-btn,
    &__close-btn {
      width: 22px;
      height: 22px;
      font-size: 11px;
}
}
}
/* ===========================
 * 2. Banner Slide 过渡
 * =========================== */
.banner-slide-enter-active,
.banner-slide-leave-active {
  transition: all var(--duration-base) var(--easing-default);
}
.banner-slide-enter-from,
.banner-slide-leave-to {
  opacity: 0;
  transform: translateY(-100%);
  max-height: 0;
}
/* ============================================================================
 * PathLess - Page Layout (Views)
 * ----------------------------------------------------------------------------
 * 页面级业务通用样式（错误页、详情页、列表页、Modal 等）
 * 减少 views 目录下 200+ 文件的重复样式
 *
 * Layer: 4 - Components (Views)
 * ========================================================================== */
/* ===========================
 * 1. 错误页 .error-page
 * =========================== */
.error-page {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  padding: var(--spacing-4);
  background: linear-gradient(135deg, var(--color-bg-primary) 0%, var(--color-bg-secondary) 100%);
  background-size: 400% 400%;
  animation: pl-error-gradient-shift 25s ease infinite;
  scrollbar-width: none;
  -ms-overflow-style: none;
  box-sizing: border-box;
}
.error-page::-webkit-scrollbar { display: none;
}
/* 网格背景 */
.error-page::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(59, 130, 246, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(59, 130, 246, 0.06) 1px, transparent 1px);
  background-size: 60px 60px;
  animation: pl-error-grid-move 40s linear infinite;
  z-index: 1;
}
/* 光晕效果 */
.error-page::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background:
    radial-gradient(circle at 30% 40%, rgba(59, 130, 246, 0.06) 0%, transparent 50%),
    radial-gradient(circle at 70% 60%, rgba(99, 102, 241, 0.05) 0%, transparent 50%);
  animation: pl-error-light-pulse 15s ease-in-out infinite;
  pointer-events: none;
  z-index: 1;
}
/* 变体：危险（403/500） */
.error-page--danger::before {
  background-image:
    linear-gradient(rgba(239, 68, 68, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(239, 68, 68, 0.04) 1px, transparent 1px);
}
.error-page--danger::after {
  background:
    radial-gradient(circle at 30% 40%, rgba(239, 68, 68, 0.05) 0%, transparent 50%),
    radial-gradient(circle at 70% 60%, rgba(251, 146, 60, 0.04) 0%, transparent 50%);
}
.error-page__content {
  position: relative;
  z-index: 10;
  text-align: center;
  width: 100%;
  max-width: 520px;
  background: var(--color-bg-primary);
  border: 1px solid rgba(59, 130, 246, 0.1);
  border-radius: var(--radius-2xl, 20px);
  padding: 40px var(--spacing-6);
  box-shadow:
    var(--shadow-xl),
    0 0 0 1px rgba(59, 130, 246, 0.06);
  backdrop-filter: blur(20px);
  box-sizing: border-box;
}
.error-page--danger .error-page__content {
  border-color: rgba(239, 68, 68, 0.1);
  box-shadow:
    var(--shadow-xl),
    0 0 0 1px rgba(239, 68, 68, 0.06);
}
.error-page__icon {
  font-size: 80px;
  color: rgba(59, 130, 246, 0.25);
  margin-bottom: var(--spacing-2);
  filter: drop-shadow(0 0 20px rgba(59, 130, 246, 0.1));
}
.error-page--danger .error-page__icon {
  color: rgba(239, 68, 68, 0.25);
  filter: drop-shadow(0 0 20px rgba(239, 68, 68, 0.1));
}
.error-page__code {
  font-size: 80px;
  font-weight: 800;
  background: linear-gradient(135deg, #3b82f6 0%, #2563eb 40%, #6366f1 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin: 0 0 var(--spacing-3) 0;
  line-height: 1;
  letter-spacing: 4px;
}
.error-page--danger .error-page__code {
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 40%, #f97316 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.error-page__title {
  font-size: 20px;
  font-weight: 600;
  color: var(--color-text-primary);
  margin: 0 0 var(--spacing-3) 0;
}
.error-page__description {
  font-size: 15px;
  color: var(--color-text-secondary);
  margin: 0 0 32px 0;
  line-height: 1.6;
}
.error-page__actions {
  margin-bottom: 32px;
}
.error-page__actions :deep(.ant-btn-primary) {
  background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
  border: none;
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
&:hover {
    background: linear-gradient(135deg, #60a5fa 0%, #3b82f6 100%);
    box-shadow: 0 6px 16px rgba(59, 130, 246, 0.4);
}
}
.error-page--danger .error-page__actions :deep(.ant-btn-primary) {
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
  box-shadow: 0 4px 12px rgba(239, 68, 68, 0.3);
&:hover {
    background: linear-gradient(135deg, #f87171 0%, #ef4444 100%);
    box-shadow: 0 6px 16px rgba(239, 68, 68, 0.4);
}
}
.error-page__actions :deep(.ant-btn-default) {
  background: var(--color-bg-primary);
  border-color: var(--color-border-default);
  color: var(--color-text-secondary);
}
.error-page__actions :deep(.ant-btn-default):hover {
  color: var(--color-primary-600);
  border-color: rgba(59, 130, 246, 0.4);
}
.error-page--danger .error-page__actions :deep(.ant-btn-default):hover {
  color: var(--color-error-500);
  border-color: rgba(239, 68, 68, 0.4);
}
/* 提示链接块 */
.error-page__links {
  text-align: left;
  background: var(--color-neutral-50);
  padding: 20px var(--spacing-6);
  border-radius: var(--radius-xl, 12px);
  border: 1px solid var(--color-neutral-100);
h3 {
    margin: 0 0 var(--spacing-3) 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--color-text-secondary);
    text-transform: uppercase;
    letter-spacing: 1px;
}
ul {
    margin: 0;
    padding-left: 0;
    list-style: none;
}
li {
    margin-bottom: var(--spacing-2);
    line-height: 1.5;
&::before {
      content: '→';
      color: rgba(59, 130, 246, 0.5);
      margin-right: var(--spacing-2);
}
}
a {
    color: var(--color-text-secondary);
    text-decoration: none;
    transition: var(--transition-base);
}
a:hover {
    color: var(--color-primary-600);
}
}
.error-page--danger .error-page__links {
li::before { color: rgba(239, 68, 68, 0.6);
}
a:hover { color: var(--color-error-500);
}
}
/* 装饰几何元素 */
.error-page__geo {
  position: absolute;
  z-index: 2;
  opacity: 0.5;
  animation: pl-error-geo-float 20s ease-in-out infinite;
}
.error-page__geo--hex {
  width: 80px;
  height: 92px;
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
}
.error-page__geo--diamond {
  width: 50px;
  height: 50px;
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
}
.error-page__geo--triangle {
  width: 0;
  height: 0;
  border-left: 30px solid transparent;
  border-right: 30px solid transparent;
  border-bottom: 52px solid rgba(59, 130, 246, 0.06);
}
.error-page--danger .error-page__geo--triangle {
  border-bottom-color: rgba(239, 68, 68, 0.06);
}
.error-page__line {
  position: absolute;
  height: 1px;
  z-index: 2;
  opacity: 0.3;
}
.error-page__dots {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 120px;
  height: 120px;
  background-image: radial-gradient(circle, rgba(59, 130, 246, 0.12) 1px, transparent 1px);
  background-size: 15px 15px;
  z-index: 2;
  opacity: 0.4;
  animation: pl-error-dots-float 25s ease-in-out infinite;
}
.error-page--danger .error-page__dots {
  background-image: radial-gradient(circle, rgba(239, 68, 68, 0.12) 1px, transparent 1px);
}
/* 响应式 */
@media (max-width: 768px) {
.error-page { padding: var(--spacing-3);
}
.error-page__content {
    padding: 28px var(--spacing-4);
    border-radius: var(--radius-xl, 16px);
}
.error-page__icon { font-size: 60px;
}
.error-page__code { font-size: 52px;
}
.error-page__title { font-size: 18px;
}
.error-page__description { font-size: 14px; margin-bottom: var(--spacing-6);
}
.error-page__actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: var(--spacing-6);
}
.error-page__actions .ant-btn {
    width: 100%;
}
.error-page__links { padding: var(--spacing-4);
}
.error-page__geo,
  .error-page__line { display: none;
}
}
@media (max-width: 575px) {
.error-page { padding: var(--spacing-2);
}
.error-page__content {
    padding: var(--spacing-6) var(--spacing-3);
    border-radius: var(--radius-xl, 12px);
}
.error-page__icon { font-size: 48px;
}
.error-page__code { font-size: 40px; letter-spacing: 2px;
}
.error-page__title { font-size: 16px;
}
.error-page__description { font-size: 13px;
}
.error-page__dots { display: none;
}
}
/* 动画 */
@keyframes pl-error-gradient-shift {
0% { background-position: 0% 50%;
}
25% { background-position: 50% 25%;
}
50% { background-position: 100% 50%;
}
75% { background-position: 50% 75%;
}
100% { background-position: 0% 50%;
}
}
@keyframes pl-error-grid-move {
0% { transform: translate(0, 0);
}
100% { transform: translate(60px, 60px);
}
}
@keyframes pl-error-light-pulse {
0%, 100% { transform: scale(1) rotate(0deg); opacity: 0.08;
}
50% { transform: scale(1.1) rotate(180deg); opacity: 0.12;
}
}
@keyframes pl-error-geo-float {
0%, 100% { transform: translateY(0) rotate(0deg);
}
25% { transform: translateY(-20px) rotate(5deg);
}
50% { transform: translateY(-10px) rotate(-3deg);
}
75% { transform: translateY(-25px) rotate(2deg);
}
}
@keyframes pl-error-dots-float {
0%, 100% { transform: translate(-50%, -50%) translateY(0);
}
50% { transform: translate(-50%, -50%) translateY(-15px);
}
}
/* ===========================
 * 2. 列表页容器 .list-view
 * =========================== */
.list-view {
  padding: var(--spacing-4);
  background: var(--color-bg-secondary);
}
.list-view__header {
  margin-bottom: var(--spacing-3);
  padding: var(--spacing-3) var(--spacing-4);
  background: var(--color-bg-primary);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-xl);
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-shadow: var(--shadow-sm);
}
.list-view__filters {
  margin-bottom: var(--spacing-3);
  padding: var(--spacing-3) var(--spacing-4);
  background: var(--color-bg-primary);
  border-radius: var(--radius-xl);
  border: 1px solid var(--color-border-light);
}
.list-view__main {
  background: var(--color-bg-primary);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--color-border-light);
  overflow: hidden;
}
/* ===========================
 * 3. 搜索栏 .search-bar
 * =========================== */
.search-bar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-2-5);
  align-items: center;
  padding: var(--spacing-3) var(--spacing-4);
  background: var(--color-bg-primary);
  border-radius: var(--radius-xl);
  border: 1px solid var(--color-border-light);
}
.search-bar__field {
  flex: 1;
  min-width: 200px;
  max-width: 360px;
}
.search-bar__select {
  width: 160px;
  flex-shrink: 0;
}
.search-bar__actions {
  display: flex;
  gap: var(--spacing-2);
  flex-shrink: 0;
}
@media (max-width: 768px) {
.search-bar { flex-direction: column; align-items: stretch;
}
.search-bar__field { max-width: 100%; min-width: 0;
}
.search-bar__select { width: 100%;
}
.search-bar__actions { width: 100%;
}
.search-bar__actions > * { flex: 1;
}
}
/* ===========================
 * 4. 页面内容 .page-content
 * =========================== */
.page-content {
  padding: var(--spacing-4);
  min-height: 100%;
}
.page-content--bg-secondary { background: var(--color-bg-secondary);
}
.page-content--nopad { padding: 0;
}
@media (max-width: 768px) {
.page-content { padding: var(--spacing-3);
}
}
/* ===========================
 * 5. 详情页 .detail-view
 * =========================== */
.detail-view {
  padding: var(--spacing-4);
}
.detail-view__header {
  margin-bottom: var(--spacing-3);
  padding: var(--spacing-3) var(--spacing-4);
  background: var(--color-bg-primary);
  border-radius: var(--radius-xl);
  border: 1px solid var(--color-border-light);
  box-shadow: var(--shadow-sm);
}
.detail-view__title {
  margin: 0 0 var(--spacing-2) 0;
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
}
.detail-view__subtitle {
  font-size: var(--font-size-sm);
  color: var(--color-text-tertiary);
  margin: 0;
}
.detail-view__body {
  background: var(--color-bg-primary);
  border-radius: var(--radius-xl);
  padding: var(--spacing-4);
  border: 1px solid var(--color-border-light);
}
.detail-view__field {
  display: flex;
  align-items: center;
  padding: var(--spacing-2-5) 0;
  border-bottom: 1px dashed var(--color-border-light);
}
.detail-view__field:last-child { border-bottom: none;
}
.detail-view__field-label {
  font-size: var(--font-size-sm);
  color: var(--color-text-tertiary);
  flex-shrink: 0;
  width: 120px;
  min-width: 120px;
}
.detail-view__field-value {
  flex: 1;
  min-width: 0;
  color: var(--color-text-primary);
  font-size: var(--font-size-base);
  word-break: break-all;
}
/* ===========================
 * 6. Modal 内容 .modal-form
 * =========================== */
.modal-form {
:deep(.ant-form) { margin: 0;
}
:deep(.ant-form-item) { margin-bottom: var(--spacing-3) !important;
}
:deep(.ant-form-item-label) { padding-bottom: var(--spacing-1);
}
:deep(.ant-input),
  :deep(.ant-select-selector),
  :deep(.ant-picker),
  :deep(.ant-cascader-picker) {
    border-radius: var(--radius-md);
}
}
@media (max-width: 768px) {
.modal-form :deep(.ant-form) > :deep(.ant-row) {
    flex-direction: column;
}
.modal-form :deep(.ant-col-12) {
    max-width: 100% !important;
    flex: 0 0 100% !important;
}
}
/* ===========================
 * 7. 工具：行内多列
 * =========================== */
.row-stack-on-mobile :deep(.ant-row) {
  flex-direction: row;
}
@media (max-width: 768px) {
.row-stack-on-mobile :deep(.ant-row) {
    flex-direction: column;
}
.row-stack-on-mobile :deep(.ant-col-12) {
    max-width: 100% !important;
    flex: 0 0 100% !important;
}
}
/* ===========================
 * 8. 卡片内头部
 * =========================== */
.section-header {
  display: flex;
  /* justify-content: space-between; */
  align-items: center;
  margin-bottom: var(--spacing-3);
  padding-bottom: var(--spacing-3);
  border-bottom: 1px solid var(--color-border-light);
}
.section-header__title {
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  margin: 0;
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
}
.section-header__subtitle {
  font-size: var(--font-size-xs);
  color: var(--color-text-tertiary);
  margin: 4px 0 0 0;
  font-weight: var(--font-weight-normal);
}
.section-header__actions {
  display: flex;
  gap: var(--spacing-2);
  flex-shrink: 0;
}
/* ===========================
 * 9. 空态 / 占位
 * =========================== */
.view-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 80px var(--spacing-4);
  text-align: center;
  background: var(--color-bg-primary);
  border-radius: var(--radius-xl);
  border: 1px dashed var(--color-border-default);
}
.view-empty__icon {
  font-size: 64px;
  color: var(--color-text-tertiary);
  margin-bottom: var(--spacing-3);
  opacity: 0.5;
}
.view-empty__title {
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
  margin: 0 0 var(--spacing-1) 0;
}
.view-empty__description {
  font-size: var(--font-size-sm);
  color: var(--color-text-tertiary);
  margin: 0 0 var(--spacing-3) 0;
  max-width: 400px;
}
/* ===========================
 * 10. 浮动工具条
 * =========================== */
.floating-toolbar {
  position: sticky;
  bottom: var(--spacing-3);
  display: flex;
  justify-content: flex-end;
  gap: var(--spacing-2);
  padding: var(--spacing-2-5) var(--spacing-4);
  background: var(--color-bg-primary);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-lg);
  border: 1px solid var(--color-border-light);
  z-index: var(--z-index-docked);
}
@media (max-width: 768px) {
.floating-toolbar { flex-direction: column-reverse;
}
.floating-toolbar > * { width: 100%;
}
}
/* ===========================
 * 11. 用户/对象卡片
 * =========================== */
.user-card {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
  padding: var(--spacing-3) var(--spacing-4);
  background: var(--color-bg-primary);
  border-radius: var(--radius-xl);
  border: 1px solid var(--color-border-light);
  transition: var(--transition-base);
}
.user-card:hover {
  border-color: var(--color-primary-500);
  box-shadow: var(--shadow-sm);
}
.user-card__avatar {
  flex-shrink: 0;
  background: var(--color-primary-50);
  color: var(--color-primary-600);
  font-weight: var(--font-weight-semibold);
}
.user-card__info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.user-card__name {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  line-height: var(--line-height-snug);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.user-card__email {
  font-size: var(--font-size-xs);
  color: var(--color-text-tertiary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.user-card__meta {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
  align-items: flex-end;
}
/* ===========================
 * 12. 头部高亮面板 .highlights-panel
 * 通用 Edit / Detail / Create 页头部高亮条
 * =========================== */
.highlights-panel {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  border-radius: var(--radius-xl, 16px);
  padding: 24px 32px;
  color: #fff;
  margin-bottom: var(--spacing-3);
  position: relative;
  overflow: hidden;
}
/* 几何图形装饰容器 */
.highlights-bg-decoration {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1 {
  width: 120px;
  height: 120px;
  top: -30px;
  right: 10%;
}
.highlights-circle--2 {
  width: 80px;
  height: 80px;
  bottom: -20px;
  left: 15%;
}
.highlights-line {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1 {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2 {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1 {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2 {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3 {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
.highlights-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  z-index: 1;
}
.highlights-left {
  flex: 1;
  min-width: 0;
}
.highlights-left h2 {
  margin: 0;
  font-size: 22px;
  font-weight: var(--font-weight-semibold, 600);
  color: #fff;
}
.highlights-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  font-size: 13px;
  opacity: 0.85;
  color:  #fff;
}
.highlights-right {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
  z-index: 1;
}
.highlights-back-btn {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
}
.highlights-back-btn:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
}
.highlights-action-btn {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
  border-radius: 10px;
  font-weight: 500;
}
.highlights-action-btn:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
  color: #fff !important;
}
.highlights-tag {
  background: rgba(255, 255, 255, 0.2) !important;
  border: none !important;
  color:  #fff !important;
  font-size: 12px;
  padding: 2px 10px;
}
/* 移动端适配 */
@media (max-width: 768px) {
.highlights-panel { padding: 16px 20px;
}
.highlights-content { flex-direction: column; align-items: flex-start; gap: 12px;
}
.highlights-left h2 { font-size: 18px;
}
.highlights-meta { flex-wrap: wrap; gap: 8px; font-size: 12px;
}
.highlights-right { width: 100%; flex-wrap: wrap;
}
.highlights-circle--1 { width: 80px; height: 80px;
}
.highlights-circle--2 { width: 50px; height: 50px;
}
.highlights-line--1 { width: 180px;
}
.highlights-line--2 { width: 120px;
}
}
/* ============================================================================
 * PathLess - Hero 区域按钮统一样式
 * ----------------------------------------------------------------------------
 * 用于列表页面顶部 Hero 区域的按钮风格统一管理
 * 基于 Ant Design Vue 按钮风格，覆盖 Hero 渐变背景下的按钮表现
 *
 * 用法示例：
 *   <div class="hero-section">
 *     <div class="hero-btn-group">
 *       <a-button class="hero-btn-default">默认操作</a-button>
 *       <a-button class="hero-btn-primary" type="primary">主题操作</a-button>
 *       <a-button class="hero-btn-danger" danger>删除操作</a-button>
 *     </div>
 *   </div>
 *
 * Layer: 4 - Components (公共)
 * ========================================================================== */
/* ===========================
 * 1. Hero 区域容器
 * =========================== */
.hero-section {
  position: relative;
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%);
  border-radius: var(--radius-xl);
  padding: 24px 32px;
  margin-bottom: var(--spacing-4);
  color: #fff;
  overflow: hidden;
}
/* ===========================
 * 2. 按钮组容器
 * =========================== */
.hero-btn-group {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
  flex-wrap: wrap;
  align-items: center;
}
/* ===========================
 * 3. 默认按钮 - 次要操作（刷新、导出、展开等）
 * =========================== */
.header-actions .ant-btn-default,
.hero-section .ant-btn-default,
.hero-content .ant-btn-default,
.hero-btn-default {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.4);
  color: #fff;
  transition: all 0.3s ease;
}
.header-actions .ant-btn-default:hover,
.hero-section .ant-btn-default:hover,
.hero-content .ant-btn-default:hover,
.hero-btn-default:hover,
.header-actions .ant-btn-default:focus,
.hero-section .ant-btn-default:focus,
.hero-content .ant-btn-default:focus,
.hero-btn-default:focus {
  background: rgba(255, 255, 255, 0.15) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.6) !important;
}
/* ===========================
 * 4. 主题按钮 - 主要操作（创建、运行等）
 * =========================== */
.header-actions .ant-btn-primary,
.hero-section .ant-btn-primary,
.hero-content .ant-btn-primary,
.hero-btn-primary {
  background: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.4);
  color: #fff;
  transition: all 0.3s ease;
}
.header-actions .ant-btn-primary:hover,
.hero-section .ant-btn-primary:hover,
.hero-content .ant-btn-primary:hover,
.hero-btn-primary:hover,
.header-actions .ant-btn-primary:focus,
.hero-section .ant-btn-primary:focus,
.hero-content .ant-btn-primary:focus,
.hero-btn-primary:focus {
  background: rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.6) !important;
}
/* ===========================
 * 5. 危险按钮 - 删除/危险操作
 * =========================== */
.header-actions .ant-btn-danger,
.hero-section .ant-btn-danger,
.hero-content .ant-btn-danger,
.hero-btn-danger {
  font-weight: 500;
  background: rgba(245, 34, 45, 0.2);
  border: 1px solid rgba(245, 34, 45, 0.5);
  color: #fff;
  transition: all 0.3s ease;
}
.header-actions .ant-btn-danger:hover,
.hero-section .ant-btn-danger:hover,
.hero-content .ant-btn-danger:hover,
.hero-btn-danger:hover,
.header-actions .ant-btn-danger:focus,
.hero-section .ant-btn-danger:focus,
.hero-content .ant-btn-danger:focus,
.hero-btn-danger:focus {
  background: rgba(245, 34, 45, 0.45) !important;
  color: #fff !important;
  border-color: rgba(245, 34, 45, 0.8) !important;
}
/* ===========================
 * 6. 响应式适配 - 平板
 * =========================== */
@media (max-width: 991px) {
.hero-section {
    padding: 20px 24px;
}
}
/* ===========================
 * 7. 响应式适配 - 移动端
 * =========================== */
@media (max-width: 768px) {
.hero-section {
    padding: 14px 16px;
    border-radius: var(--radius-xl);
}
.hero-btn-group {
    width: 100%;
    flex-direction: row;
}
.hero-btn-group .hero-btn-default,
  .hero-btn-group .hero-btn-primary,
  .hero-btn-group .hero-btn-danger {
    flex: 1;
    justify-content: center;
    height: 40px;
    padding: 0 16px;
    font-size: 14px;
}
}
/* ===========================
 * 8. 响应式适配 - 小屏手机
 * =========================== */
@media (max-width: 575px) {
.hero-btn-group {
    flex-direction: column;
}
.hero-btn-group .hero-btn-default,
  .hero-btn-group .hero-btn-primary,
  .hero-btn-group .hero-btn-danger {
    width: 100%;
    flex: none;
}
}
/* 8. Responsive（最后，覆盖优先） */
/* ============================================================================
 * PathLess - Responsive Utilities
 * ----------------------------------------------------------------------------
 * 响应式断点工具类
 * 断点：xs<576, sm<768, md<992, lg<1200, xl<1400, xxl≥1400
 *
 * Layer: 3 - Utilities
 * ========================================================================== */
/* --- 0. 移动端防溢出 --- */
@media (max-width: 768px) {
html,
  body {
    overflow-x: hidden;
    max-width: 100vw;
}
}
/* ===========================
 * 1. 显隐类
 * =========================== */
/* 超小屏隐藏 */
@media (max-width: 576px) {
.hide-on-xs { display: none !important;
}
}
/* 移动端隐藏 */
@media (max-width: 768px) {
.hide-on-mobile { display: none !important;
}
}
/* 平板隐藏 */
@media (min-width: 576px) and (max-width: 992px) {
.hide-on-tablet { display: none !important;
}
}
/* 桌面端隐藏 */
@media (min-width: 992px) {
.hide-on-desktop { display: none !important;
}
}
/* 仅移动端显示 */
@media (max-width: 768px) {
.show-on-mobile { display: block !important;
}
}
@media (min-width: 769px) {
.show-on-mobile { display: none !important;
}
}
/* 仅超小屏显示 */
@media (max-width: 576px) {
.show-on-xs { display: block !important;
}
}
@media (min-width: 577px) {
.show-on-xs { display: none !important;
}
}
/* 仅桌面端显示 */
@media (min-width: 992px) {
.show-on-desktop { display: block !important;
}
}
@media (max-width: 991px) {
.show-on-desktop { display: none !important;
}
}
/* ===========================
 * 2. 移动端布局
 * =========================== */
@media (max-width: 768px) {
.stack-on-mobile {
    flex-direction: column !important;
}
.stack-on-mobile > * {
    width: 100% !important;
    margin-bottom: var(--spacing-mobile-sm);
}
.stack-on-mobile > *:last-child { margin-bottom: 0;
}
.center-on-mobile {
    text-align: center !important;
    justify-content: center !important;
}
.block-on-mobile { display: block !important;
}
.flex-column-mobile { flex-direction: column !important;
}
.flex-wrap-mobile { flex-wrap: wrap !important;
}
.flex-1-mobile { flex: 1 !important;
}
.justify-center-mobile { justify-content: center !important;
}
.items-center-mobile { align-items: center !important;
}
.justify-between-mobile { justify-content: space-between !important;
}
.w-full-mobile { width: 100% !important;
}
.w-auto-mobile { width: auto !important;
}
.z-10-mobile { z-index: 10;
}
.z-50-mobile { z-index: 50;
}
}
/* ===========================
 * 3. 移动端间距
 * =========================== */
@media (max-width: 768px) {
.gap-mobile-sm { gap: var(--spacing-mobile-sm) !important;
}
.gap-mobile { gap: var(--spacing-mobile) !important;
}
.p-mobile-0 { padding: 0 !important;
}
.p-mobile-sm { padding: var(--spacing-mobile-sm) !important;
}
.p-mobile { padding: var(--spacing-mobile) !important;
}
.px-mobile-0 { padding-left: 0 !important; padding-right: 0 !important;
}
.px-mobile-sm { padding-left: var(--spacing-mobile-sm) !important; padding-right: var(--spacing-mobile-sm) !important;
}
.px-mobile { padding-left: var(--spacing-mobile) !important; padding-right: var(--spacing-mobile) !important;
}
.py-mobile-0 { padding-top: 0 !important; padding-bottom: 0 !important;
}
.py-mobile-sm { padding-top: var(--spacing-mobile-sm) !important; padding-bottom: var(--spacing-mobile-sm) !important;
}
.py-mobile { padding-top: var(--spacing-mobile) !important; padding-bottom: var(--spacing-mobile) !important;
}
.m-mobile-0 { margin: 0 !important;
}
.m-mobile-sm { margin: var(--spacing-mobile-sm) !important;
}
.mx-mobile-auto { margin-left: auto !important; margin-right: auto !important;
}

  /* 边距抹平 */
.remove-side-margins {
    margin-left: calc(-1 * var(--spacing-mobile)) !important;
    margin-right: calc(-1 * var(--spacing-mobile)) !important;
    padding-left: var(--spacing-mobile) !important;
    padding-right: var(--spacing-mobile) !important;
}
}
/* ===========================
 * 4. 移动端字号
 * =========================== */
@media (max-width: 768px) {
.text-mobile-xs { font-size: var(--font-size-xs) !important;
}
.text-mobile-sm { font-size: var(--font-size-mobile-sm) !important;
}
.text-mobile-base { font-size: var(--font-size-mobile) !important;
}
.text-mobile-lg { font-size: var(--font-size-md) !important;
}
.text-mobile-xl { font-size: var(--font-size-lg) !important;
}
}
/* ===========================
 * 5. 触摸目标
 * =========================== */
@media (max-width: 768px) {
.touch-target {
    min-width: var(--touch-target-min, 44px);
    min-height: var(--touch-target-min, 44px);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
}
/* ===========================
 * 6. 横向滚动
 * =========================== */
@media (max-width: 768px) {
.scroll-x-on-mobile {
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
}
}
/* ===========================
 * 7. 响应式表格（横向滚动）
 * =========================== */
.responsive-table {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.responsive-table table {
  width: 100%;
  min-width: 640px;
}
/* ===========================
 * 8. 移动端列表卡片
 * =========================== */
@media (max-width: 768px) {
.mobile-card-list {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-3);
    padding: 0;
}
.mobile-list-card {
    background: var(--color-bg-primary, #fff);
    border-radius: var(--radius-xl);
    box-shadow:
      0 1px 4px rgba(0, 0, 0, 0.06),
      0 1px 2px rgba(0, 0, 0, 0.04);
    border: 1px solid var(--color-border-light, #f0f0f0);
    overflow: hidden;
    transition: box-shadow var(--duration-base) var(--easing-default);
}
.mobile-list-card:active {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
.mobile-list-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--spacing-3) var(--spacing-4) var(--spacing-2);
    gap: var(--spacing-2);
    flex-wrap: wrap;
}
.mobile-list-card-title {
    flex: 1;
    font-size: 15px;
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary, #262626);
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}
.mobile-list-card-body {
    padding: var(--spacing-2) var(--spacing-4) var(--spacing-3);
}
.mobile-list-card-field {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-bottom: var(--spacing-2);
}
.mobile-list-card-field:last-child { margin-bottom: 0;
}
.mobile-list-card-field-label {
    font-size: var(--font-size-xs);
    color: var(--color-text-tertiary, #999);
}
.mobile-list-card-field-value {
    font-size: var(--font-size-sm);
    color: var(--color-text-secondary, #595959);
    line-height: 1.5;
    word-break: break-all;
}
.mobile-list-card-field-value.truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mobile-list-card-field-inline {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: var(--spacing-2);
    margin-bottom: 6px;
}
.mobile-list-card-field-inline .mobile-list-card-field-label {
    flex-shrink: 0;
    min-width: 60px;
    margin-bottom: 0;
}
.mobile-list-card-field-inline .mobile-list-card-field-value {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mobile-list-card-footer {
    padding: var(--spacing-2) var(--spacing-4);
    border-top: 1px solid var(--color-border-light, #f0f0f0);
    background-color: var(--color-bg-secondary, #fafafa);
    display: flex;
    gap: var(--spacing-2);
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
}
.mobile-list-card-footer .ant-btn {
    font-size: var(--font-size-sm);
    padding: var(--spacing-1) var(--spacing-3);
    height: 36px;
    border-radius: var(--radius-md);
    font-weight: var(--font-weight-medium);
    white-space: nowrap;
    flex: none;
}
.mobile-list-card-footer .ant-btn-icon-only {
    width: 36px;
    min-width: 36px;
    padding: 0;
}
.mobile-list-card-tags {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-1);
}
.mobile-list-card-tag {
    font-size: var(--font-size-xs);
    padding: 2px var(--spacing-2);
    border-radius: var(--radius-sm);
    line-height: 1.4;
}

  /* 移动端按钮/表单元素保持PC尺寸，不自动放大 */
.mobile-list-card-footer .ant-btn,
  .mobile-list-card-footer .ant-btn span,
  .mobile-list-card-footer .ant-btn .anticon,
  .mobile-list-card .ant-form-item,
  .mobile-list-card .ant-input,
  .mobile-list-card .ant-select-selector,
  .mobile-list-card .ant-picker,
  .mobile-list-card .ant-tag,
  .mobile-list-card .ant-badge {
    font-size: inherit !important;
    height: auto !important;
    min-height: auto !important;
    padding: inherit !important;
    border-radius: inherit !important;
    font-weight: inherit !important;
    white-space: inherit !important;
    flex: inherit !important;
}
.mobile-list-card-footer .ant-btn-icon-only {
    width: auto !important;
    min-width: auto !important;
    padding: 0 !important;
}
.mobile-list-card .ant-tag {
    padding: 0 4px !important;
    line-height: inherit !important;
}
.mobile-list-card .ant-badge-count {
    font-size: 10px !important;
    min-width: 16px !important;
    height: 16px !important;
    line-height: 16px !important;
}
}
/* 超小屏（iPhone SE 等）微调 */
@media (max-width: 375px) {
.mobile-list-card-header { padding: 10px var(--spacing-3) 6px;
}
.mobile-list-card-body { padding: 6px var(--spacing-3) 10px;
}
.mobile-list-card-footer { padding: 6px var(--spacing-3);
}
.mobile-list-card-title { font-size: 14px;
}
}
/* ===========================
 * 9. 表格转移动端卡片（.table-as-cards）
 * =========================== */
@media (max-width: 768px) {
.table-as-cards {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--spacing-3) !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
    width: 100% !important;
    overflow: visible !important;
}
.table-as-cards .ant-table-container,
  .table-as-cards .ant-table-content,
  .table-as-cards .ant-table-pagination,
  .table-as-cards .ant-table-thead,
  .table-as-cards .ant-table-column-sorter,
  .table-as-cards > .ant-card,
  .table-as-cards .ant-card,
  .table-as-cards .ant-empty { display: none !important;
}
.table-as-cards .ant-spin-nested-loading,
  .table-as-cards .ant-spin-container {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--spacing-3) !important;
}
.table-as-cards .ant-table-row {
    display: flex !important;
    flex-direction: column !important;
    background: var(--color-bg-primary, #fff) !important;
    border-radius: var(--radius-xl) !important;
    border: 1px solid var(--color-border-light, #f0f0f0) !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06) !important;
    width: 100% !important;
}
.table-as-cards .ant-table-cell {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: var(--spacing-3) var(--spacing-4) !important;
    border-bottom: 1px solid var(--color-border-light, #f0f0f0) !important;
    width: 100% !important;
    height: auto !important;
    min-height: auto !important;
}
.table-as-cards .ant-table-cell::before { display: none !important;
}
.table-as-cards .ant-table-cell:first-child {
    font-weight: var(--font-weight-semibold) !important;
    font-size: 15px !important;
    color: var(--color-text-primary, #262626) !important;
    background: var(--color-bg-primary, #fff) !important;
    border-radius: var(--radius-xl) var(--radius-xl) 0 0 !important;
    border-bottom: 2px solid var(--color-primary-500, #1890ff) !important;
}
.table-as-cards .ant-table-cell:last-child {
    border-bottom: none !important;
    padding: var(--spacing-3) var(--spacing-4) !important;
    justify-content: flex-start !important;
    gap: var(--spacing-3) !important;
    background: var(--color-bg-secondary, #fafafa) !important;
    border-radius: 0 0 var(--radius-xl) var(--radius-xl) !important;
}
.table-as-cards .ant-table-row:hover,
  .table-as-cards .ant-table-row:hover > .ant-table-cell {
    background: transparent !important;
}
.table-as-cards .ant-btn {
    font-size: inherit !important;
    height: auto !important;
    min-height: auto !important;
    padding: 0 var(--spacing-3) !important;
    line-height: 1.5 !important;
    flex: none !important;
}
.table-as-cards .ant-btn-icon-only {
    width: auto !important;
    min-width: auto !important;
    padding: 0 !important;
}
.table-as-cards .ant-tag {
    font-size: inherit !important;
    padding: 0 6px !important;
    line-height: inherit !important;
}
.table-as-cards .ant-switch,
  .table-as-cards .ant-avatar,
  .table-as-cards .ant-progress-text {
    font-size: inherit !important;
}
.table-as-cards .ant-avatar {
    width: auto !important;
    height: auto !important;
}
}
/* ============================================================================
 * PathLess - Global Styles Entry
 * ----------------------------------------------------------------------------
 * 全局样式唯一入口，按 CSS 层叠顺序聚合
 *
 * 加载顺序（自上而下，逐层覆盖）：
 *   1. Design Tokens      设计令牌
 *   2. ECharts Theme      图表主题（依赖 tokens）
 *   3. Reset              浏览器重置
 *   4. Typography         排版
 *   5. Utilities          工具类
 *   6. Animations         动画
 *   7. Components         组件覆盖
 *   8. Responsive         响应式（最后加载，权重最高）
 *
 * 注：ECharts 主题仍保留为 .less（依赖 LESS 编译期变量），
 *    在使用方（less-loader / vue-loader）编译时合并。
 * ========================================================================== */

/* 1. Design Tokens */

/* ============================================================================
 * PathLess Design Tokens
 * ----------------------------------------------------------------------------
 * 全局唯一的设计令牌源（CSS 自定义属性）
 * 与 src/design-tokens.js 保持同步
 *
 * Layer: 1 - Tokens (最高优先级，被所有其它样式引用)
 * ========================================================================== */

:root {
  /* ===========================
   * 1. 色彩系统 — 9 级色阶
   * =========================== */

  /* --- 主色 (Primary) — 蓝色系 --- */
  --color-primary-50: #eff6ff;
  --color-primary-100: #dbeafe;
  --color-primary-200: #bfdbfe;
  --color-primary-300: #93c5fd;
  --color-primary-400: #60a5fa;
  --color-primary-500: #3b82f6;
  --color-primary-600: #2563eb;
  --color-primary-700: #1d4ed8;
  --color-primary-800: #1e40af;
  --color-primary-900: #1e3a8a;

  /* --- 成功色 (Success) — 绿色系 --- */
  --color-success-50: #ecfdf5;
  --color-success-100: #d1fae5;
  --color-success-200: #a7f3d0;
  --color-success-300: #6ee7b7;
  --color-success-400: #34d399;
  --color-success-500: #10b981;
  --color-success-600: #059669;
  --color-success-700: #047857;
  --color-success-800: #065f46;
  --color-success-900: #064e3b;

  /* --- 警告色 (Warning) — 琥珀色系 --- */
  --color-warning-50: #fffbeb;
  --color-warning-100: #fef3c7;
  --color-warning-200: #fde68a;
  --color-warning-300: #fcd34d;
  --color-warning-400: #fbbf24;
  --color-warning-500: #f59e0b;
  --color-warning-600: #d97706;
  --color-warning-700: #b45309;
  --color-warning-800: #92400e;
  --color-warning-900: #78350f;

  /* --- 错误色 (Error) — 红色系 --- */
  --color-error-50: #fef2f2;
  --color-error-100: #fee2e2;
  --color-error-200: #fecaca;
  --color-error-300: #fca5a5;
  --color-error-400: #f87171;
  --color-error-500: #ef4444;
  --color-error-600: #dc2626;
  --color-error-700: #b91c1c;
  --color-error-800: #991b1b;
  --color-error-900: #7f1d1d;

  /* --- 信息色 (Info) — 天蓝色系 --- */
  --color-info-50: #f0f9ff;
  --color-info-100: #e0f2fe;
  --color-info-200: #bae6fd;
  --color-info-300: #7dd3fc;
  --color-info-400: #38bdf8;
  --color-info-500: #0ea5e9;
  --color-info-600: #0284c7;
  --color-info-700: #0369a1;
  --color-info-800: #075985;
  --color-info-900: #0c4a6e;

  /* --- 中性色 (Neutral) — 灰色系 --- */
  --color-neutral-0: #ffffff;
  --color-neutral-50: #f9fafb;
  --color-neutral-100: #f3f4f6;
  --color-neutral-200: #e5e7eb;
  --color-neutral-300: #d1d5db;
  --color-neutral-400: #9ca3af;
  --color-neutral-500: #6b7280;
  --color-neutral-600: #4b5563;
  --color-neutral-700: #374151;
  --color-neutral-800: #1f2937;
  --color-neutral-900: #111827;
  --color-neutral-1000: #000000;

  /* ===========================
   * 2. 语义色彩别名
   * =========================== */
  --color-text-primary: var(--color-neutral-900);
  --color-text-secondary: var(--color-neutral-600);
  --color-text-tertiary: var(--color-neutral-400);
  --color-text-disabled: var(--color-neutral-300);
  --color-text-placeholder: #bfbfbf;

  --color-bg-primary: var(--color-neutral-0);
  --color-bg-secondary: var(--color-neutral-50);
  --color-bg-tertiary: var(--color-neutral-100);

  --color-border-default: var(--color-neutral-200);
  --color-border-light: var(--color-neutral-100);
  --color-border-strong: var(--color-neutral-300);

  /* Hero 区域渐变 */
  --color-hero-gradient-start: #1677ff;
  --color-hero-gradient-end: #0958d9;

  /* 状态色（Ant Design 兼容） */
  --color-success: #52c41a;
  --color-success-bg: #f6ffed;
  --color-error: #ff4d4f;
  --color-error-bg: #fff2f0;
  --color-warning: #faad14;
  --color-warning-bg: #fffbe6;
  --color-info: #1677ff;
  --color-info-bg: #e6f7ff;
  --color-processing: #1890ff;

  /* ===========================
   * 3. 字体系统
   * =========================== */
  --font-family-base:
    -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans',
    sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';
  --font-family-mono:
    'SF Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace;
  --font-family-display:
    'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

  /* 字号 10 级 */
  --font-size-xxs: 10px;
  --font-size-xs: 12px;
  --font-size-sm: 13px;
  --font-size-base: 14px;
  --font-size-md: 16px;
  --font-size-lg: 20px;
  --font-size-xl: 24px;
  --font-size-2xl: 30px;
  --font-size-3xl: 36px;
  --font-size-4xl: 48px;

  /* 字重 */
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;

  /* 行高 */
  --line-height-none: 1;
  --line-height-tight: 1.25;
  --line-height-snug: 1.375;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.625;
  --line-height-loose: 2;

  /* ===========================
   * 4. 间距系统 — 4px 基数
   * =========================== */
  --spacing-0: 0;
  --spacing-px: 1px;
  --spacing-0-5: 2px;
  --spacing-1: 4px;
  --spacing-1-5: 6px;
  --spacing-2: 8px;
  --spacing-2-5: 10px;
  --spacing-3: 12px;
  --spacing-3-5: 14px;
  --spacing-4: 16px;
  --spacing-5: 20px;
  --spacing-6: 24px;
  --spacing-7: 28px;
  --spacing-8: 32px;
  --spacing-9: 36px;
  --spacing-10: 40px;
  --spacing-12: 48px;
  --spacing-14: 56px;
  --spacing-16: 64px;
  --spacing-20: 80px;
  --spacing-24: 96px;

  /* ===========================
   * 5. 圆角系统 — 8 级
   * =========================== */
  --radius-none: 0;
  --radius-sm: 2px;
  --radius-base: 4px;
  --radius-md: 4px;
  --radius-lg: 8px;
  --radius-xl: 12px;
  --radius-2xl: 16px;
  --radius-3xl: 24px;
  --radius-full: 9999px;

  /* ===========================
   * 6. 阴影系统
   * =========================== */
  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);
  --shadow-base: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  --shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  --shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);

  /* 带色彩的阴影 */
  --shadow-colored-primary: 0 4px 14px rgba(59, 130, 246, 0.3);
  --shadow-colored-success: 0 4px 14px rgba(16, 185, 129, 0.3);
  --shadow-colored-warning: 0 4px 14px rgba(245, 158, 11, 0.3);
  --shadow-colored-error: 0 4px 14px rgba(239, 68, 68, 0.3);
  --shadow-colored-info: 0 4px 14px rgba(14, 165, 233, 0.3);

  /* ===========================
   * 7. 图标尺寸
   * =========================== */
  --icon-size-xs: 12px;
  --icon-size-sm: 14px;
  --icon-size-base: 16px;
  --icon-size-md: 20px;
  --icon-size-lg: 24px;
  --icon-size-xl: 32px;
  --icon-size-2xl: 48px;

  /* ===========================
   * 8. 动效系统
   * =========================== */
  --duration-instant: 100ms;
  --duration-fast: 200ms;
  --duration-base: 300ms;
  --duration-slow: 500ms;
  --duration-slower: 700ms;

  --easing-default: ease;
  --easing-ease-in: ease-in;
  --easing-ease-out: ease-out;
  --easing-ease-in-out: ease-in-out;
  --easing-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);
  --easing-linear: linear;

  --transition-fast: all var(--duration-fast) var(--easing-default);
  --transition-base: all var(--duration-base) var(--easing-default);
  --transition-slow: all var(--duration-slow) var(--easing-default);
  --transition-bounce: all var(--duration-base) var(--easing-bounce);

  /* ===========================
   * 9. 布局系统
   * =========================== */
  --header-height: 64px;
  --footer-height: 48px;
  --sidebar-width: 200px;
  --sidebar-collapsed-width: 50px;
  --content-padding: 24px;
  --content-padding-mobile: 16px;

  /* ===========================
   * 10. 响应式断点（用于 @media / JS）
   * =========================== */
  --breakpoint-xs: 480px;
  --breakpoint-sm: 576px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 992px;
  --breakpoint-xl: 1200px;
  --breakpoint-xxl: 1400px;

  /* 移动端专用 */
  --spacing-mobile: 16px;
  --spacing-mobile-sm: 8px;
  --font-size-mobile: 14px;
  --font-size-mobile-sm: 13px;
  --component-height-mobile: 44px;
  --touch-target-min: 44px;

  /* 组件尺寸 */
  --component-height-xs: 24px;
  --component-height-sm: 28px;
  --component-height-base: 32px;
  --component-height-md: 36px;
  --component-height-lg: 40px;
  --component-height-xl: 48px;
  --component-min-width-xs: 60px;
  --component-min-width-sm: 80px;
  --component-min-width-base: 100px;
  --component-min-width-md: 120px;
  --component-min-width-lg: 160px;

  /* ===========================
   * 11. Z-index 层级
   * =========================== */
  --z-index-hide: -1;
  --z-index-base: 0;
  --z-index-docked: 10;
  --z-index-dropdown: 1000;
  --z-index-sticky: 1100;
  --z-index-banner: 1200;
  --z-index-overlay: 1300;
  --z-index-modal: 1400;
  --z-index-popover: 1500;
  --z-index-skip-link: 1600;
  --z-index-toast: 1700;
  --z-index-tooltip: 1800;

  /* ===========================
   * 12. 表单设计器专用
   * =========================== */
  --designer-bg: #ffffff;
  --designer-bg-elevated: #fafafa;
  --designer-bg-canvas: #ffffff;
  --designer-border: #f0f0f0;
  --designer-text-primary: rgba(0, 0, 0, 0.88);
  --designer-text-secondary: rgba(0, 0, 0, 0.65);
  --designer-text-tertiary: rgba(0, 0, 0, 0.45);
  --designer-text-quaternary: rgba(0, 0, 0, 0.25);
  --designer-scrollbar-thumb: #d1d5db;
  --designer-scrollbar-thumb-hover: #9ca3af;
  --designer-field-hover-bg: #fafafa;
  --designer-field-active-bg: #e6f4ff;
  --designer-field-dragover-bg: #f6ffed;
  --designer-divider: #f0f0f0;

  /* ===========================
   * 13. SVG 可视化编排设计器专用
   * 统一 BPMN/AI编排/ETL/API编排/关系图 等设计器的视觉规范
   * =========================== */

  /* --- 画布 --- */
  --designer-canvas-bg: #fafbfc;
  --designer-canvas-grid-color: #e5e7eb;
  --designer-canvas-grid-size: 20px;

  /* --- 节点 --- */
  --designer-node-bg: #ffffff;
  --designer-node-border: #e5e7eb;
  --designer-node-border-hover: #3b82f6;
  --designer-node-border-selected: #3b82f6;
  --designer-node-shadow: 0 1px 3px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.04);
  --designer-node-shadow-hover: 0 4px 12px rgba(59, 130, 246, 0.15);
  --designer-node-shadow-selected: 0 0 0 2px rgba(59, 130, 246, 0.2),
    0 4px 12px rgba(59, 130, 246, 0.15);
  --designer-node-radius: 8px;
  --designer-node-width: 200px;
  --designer-node-type-bar-width: 4px;

  /* --- 连线 --- */
  --designer-edge-color: #d1d5db;
  --designer-edge-color-hover: #3b82f6;
  --designer-edge-color-selected: #3b82f6;
  --designer-edge-color-running: #3b82f6;
  --designer-edge-color-success: #10b981;
  --designer-edge-color-error: #ef4444;
  --designer-edge-width: 2px;
  --designer-edge-width-hover: 2.5px;
  --designer-edge-width-selected: 2.5px;

  /* --- 端口 --- */
  --designer-port-size: 12px;
  --designer-port-color: #9ca3af;
  --designer-port-color-hover: #3b82f6;
  --designer-port-color-connected: #3b82f6;

  /* --- 工具栏 --- */
  --designer-toolbar-bg: #ffffff;
  --designer-toolbar-border: #e5e7eb;
  --designer-toolbar-height: 48px;

  /* --- 面板 --- */
  --designer-panel-bg: #ffffff;
  --designer-panel-border: #e5e7eb;
  --designer-panel-width-left: 260px;
  --designer-panel-width-right: 320px;

  /* --- 状态色 --- */
  --designer-status-pending: #9ca3af;
  --designer-status-running: #3b82f6;
  --designer-status-success: #10b981;
  --designer-status-error: #ef4444;
  --designer-status-warning: #f59e0b;
}

/* ============================================================================
 * 兼容别名 — 旧代码使用
 * 后续模块迁移完成后可逐步删除
 * ========================================================================== */

:root {
  --primary-color: var(--color-primary-500);
  --primary-light: var(--color-primary-400);
  --primary-dark: var(--color-primary-600);

  --bg-primary: var(--color-bg-primary);
  --bg-secondary: var(--color-bg-secondary);
  --bg-tertiary: var(--color-bg-tertiary);

  --text-primary: var(--color-text-primary);
  --text-secondary: var(--color-text-secondary);
  --text-tertiary: var(--color-text-tertiary);

  --shadow-light: var(--shadow-sm);
  --shadow-medium: var(--shadow-md);
  --shadow-heavy: var(--shadow-lg);

  --spacing-xs: var(--spacing-1);
  --spacing-sm: var(--spacing-2);
  --spacing-md-sm: var(--spacing-3);
  --spacing-md: var(--spacing-4);
  --spacing-lg: var(--spacing-6);
  --spacing-xl: var(--spacing-8);

  --border-color: var(--color-border-default);
  --border-light: var(--color-border-light);
  --border-radius-base: var(--radius-md);
  --border-radius-sm: var(--radius-sm);
  --border-radius-lg: var(--radius-lg);
  --border-radius-large: var(--radius-xl);
}

/* 2. ECharts Theme（LESS 文件，按 @import 顺序由 Vite 编译） */

:root {
  --echarts-primary: var(--color-primary-500);
  --echarts-primary-light: var(--color-primary-400);
  --echarts-primary-dark: var(--color-primary-600);
  --echarts-primary-darker: var(--color-primary-700);
  --echarts-success: var(--color-success-500);
  --echarts-warning: var(--color-warning-500);
  --echarts-error: var(--color-error-500);
  --echarts-info: #06b6d4;
  --echarts-purple: #8b5cf6;
  --echarts-orange: var(--color-warning-600);
  --echarts-pink: #ec4899;
  --echarts-cyan: #0891b2;
  --echarts-teal: #14b8a6;
  --echarts-color-0: var(--color-primary-500);
  --echarts-color-1: var(--color-success-500);
  --echarts-color-2: var(--color-warning-500);
  --echarts-color-3: var(--color-error-500);
  --echarts-color-4: #06b6d4;
  --echarts-color-5: #8b5cf6;
  --echarts-color-6: var(--color-warning-600);
  --echarts-color-7: #14b8a6;
  --echarts-text-primary: var(--color-neutral-800);
  --echarts-text-secondary: var(--color-neutral-500);
  --echarts-text-tertiary: var(--color-neutral-400);
  --echarts-text-quaternary: var(--color-neutral-300);
  --echarts-background: #ffffff;
  --echarts-background-light: var(--color-neutral-50);
  --echarts-background-lighter: var(--color-neutral-100);
  --echarts-border: var(--color-neutral-200);
  --echarts-border-light: var(--color-neutral-100);
  --echarts-border-lighter: var(--color-neutral-50);
  --echarts-shadow-light: var(--shadow-xs);
  --echarts-shadow-medium: var(--shadow-sm);
  --echarts-shadow-heavy: var(--shadow-lg);
  --echarts-radius-sm: var(--radius-md);
  --echarts-radius-md: var(--radius-lg);
  --echarts-radius-lg: var(--radius-xl);
  --echarts-transition-fast: var(--transition-fast);
  --echarts-transition-normal: var(--transition-normal);
  --echarts-transition-slow: var(--transition-slow);
}

.echarts-container {
  width: 100%;
  height: 100%;
  background: #ffffff;
  border-radius: 8px;
  border: 1px solid #f3f4f6;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  transition: all 300ms ease;
  overflow: hidden;
  position: relative;
}

.echarts-container:hover {
  border-color: #3b82f6;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);
  transform: translateY(-2px);
}

.echarts-container-elevated {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);
  border: 1px solid #f3f4f6;
}

.echarts-container-bordered {
  border: 2px solid #f3f4f6;
}

.echarts-container-rounded {
  border-radius: 12px;
}

.echarts-title {
  font-size: 16px;
  font-weight: 600;
  color: #1f2937;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';
}

.echarts-subtitle {
  font-size: 12px;
  font-weight: 400;
  color: #6b7280;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';
}

.echarts-legend-item {
  font-size: 12px;
  font-weight: 400;
  color: #6b7280;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';
}

.echarts-tooltip {
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid #f3f4f6;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  color: #1f2937;
  font-size: 12px;
  font-weight: 400;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';
}

.echarts-axis {
  color: #6b7280;
  font-size: 12px;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';
}

.echarts-axis-line {
  stroke: #e5e7eb;
  stroke-width: 1;
}

.echarts-grid-line {
  stroke: #f3f4f6;
  stroke-width: 1;
  stroke-dasharray: 4 4;
}

@media (min-width: 1200px) {
  .echarts-responsive {
    padding: 24px;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .echarts-responsive {
    padding: 16px;
  }
}

@media (max-width: 767px) {
  .echarts-responsive {
    padding: 12px;
  }
  .echarts-title {
    font-size: 14px;
  }
  .echarts-subtitle {
    font-size: 10px;
  }
  .echarts-axis {
    font-size: 10px;
  }
  .echarts-legend-item {
    font-size: 10px;
  }
}

.echarts-bar-item {
  border-radius: 4px 4px 0 0;
  transition: all 0.3s ease;
}

.echarts-bar-item:hover {
  filter: brightness(1.1);
  transform: translateY(-2px);
}

.echarts-line {
  stroke-width: 3;
  transition: all 0.3s ease;
}

.echarts-line-point {
  r: 6;
  transition: all 0.3s ease;
}

.echarts-line-point:hover {
  r: 8;
  filter: brightness(1.2);
}

.echarts-pie-item {
  border-radius: 8px;
  transition: all 0.3s ease;
}

.echarts-pie-item:hover {
  filter: brightness(1.1);
  transform: scale(1.05);
}

.echarts-gauge {
  color: #3b82f6;
}

.echarts-gauge-axis {
  stroke: #f3f4f6;
  stroke-width: 16;
}

.echarts-gauge-pointer {
  fill: #3b82f6;
}

.echarts-radar .echarts-radar-axis {
  stroke: #e5e7eb;
  stroke-width: 1;
}

.echarts-radar .echarts-radar-split-line {
  stroke: #f3f4f6;
  stroke-width: 1;
}

.echarts-radar .echarts-radar-split-area {
  fill: rgba(24, 144, 255, 0.05);
}

.echarts-radar .echarts-radar-area {
  opacity: 0.7;
  transition: all 0.3s ease;
}

.echarts-radar .echarts-radar-area:hover {
  opacity: 0.9;
}

.echarts-scatter-item {
  r: 6;
  transition: all 0.3s ease;
}

.echarts-scatter-item:hover {
  r: 10;
  filter: brightness(1.2);
}

.echarts-heatmap-item {
  border-radius: 4px;
  transition: all 0.3s ease;
}

.echarts-heatmap-item:hover {
  filter: brightness(1.1);
  transform: scale(1.05);
}

.echarts-treemap-item {
  border-radius: 8px;
  border: 2px solid #ffffff;
  transition: all 0.3s ease;
}

.echarts-treemap-item:hover {
  filter: brightness(1.1);
  transform: scale(1.02);
}

.echarts-sankey-node {
  border-radius: 4px;
  transition: all 0.3s ease;
}

.echarts-sankey-node:hover {
  filter: brightness(1.1);
}

.echarts-sankey-link {
  transition: all 0.3s ease;
}

.echarts-sankey-link:hover {
  opacity: 0.8;
}

.echarts-funnel-item {
  border-radius: 4px;
  border: 2px solid #ffffff;
  transition: all 0.3s ease;
}

.echarts-funnel-item:hover {
  filter: brightness(1.1);
  transform: scale(1.02);
}

.echarts-boxplot-item {
  border-width: 1;
  transition: all 0.3s ease;
}

.echarts-boxplot-item:hover {
  filter: brightness(1.1);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.echarts-map .echarts-map-area {
  transition: all 0.3s ease;
}

.echarts-map .echarts-map-area:hover {
  filter: brightness(1.1);
}

.echarts-map .echarts-map-label {
  color: #6b7280;
  font-size: 12px;
}

.echarts-loading-enter-active,
.echarts-loading-leave-active {
  transition: opacity 0.5s ease;
}

.echarts-loading-enter-from,
.echarts-loading-leave-to {
  opacity: 0;
}

.echarts-data-update {
  transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}

.echarts-toolbox .echarts-toolbox-icon {
  border-color: #6b7280;
  transition: all 0.3s ease;
}

.echarts-toolbox .echarts-toolbox-icon:hover {
  border-color: #3b82f6;
  filter: brightness(1.1);
}

.echarts-datazoom .echarts-datazoom-bg {
  background: #f3f4f6;
}

.echarts-datazoom .echarts-datazoom-filler {
  background: #3b82f6;
}

.echarts-datazoom .echarts-datazoom-handle {
  background: #3b82f6;
  border-color: #3b82f6;
  transition: all 0.3s ease;
}

.echarts-datazoom .echarts-datazoom-handle:hover {
  filter: brightness(1.1);
}

.echarts-timeline .echarts-timeline-axis {
  stroke: #e5e7eb;
}

.echarts-timeline .echarts-timeline-item {
  r: 6;
  transition: all 0.3s ease;
}

.echarts-timeline .echarts-timeline-item:hover {
  r: 8;
  filter: brightness(1.2);
}

.echarts-timeline .echarts-timeline-label {
  color: #6b7280;
  font-size: 12px;
}

@media (max-width: 767px) {
  .echarts-container {
    touch-action: none;
    cursor: pointer;
  }
  .echarts-tooltip {
    font-size: 11px;
    padding: 8px;
  }
  .echarts-legend {
    item-width: 10;
    item-height: 10;
  }
  .echarts-legend-item {
    font-size: 11px;
  }
  .echarts-axis {
    font-size: 11px;
  }
}

.echarts-no-animation {
  animation: none !important;
  transition: none !important;
}

.echarts-minimal .echarts-legend {
  display: none;
}

.echarts-minimal .echarts-toolbox {
  display: none;
}

.echarts-minimal .echarts-datazoom {
  display: none;
}

.echarts-minimal .echarts-timeline {
  display: none;
}

.echarts-high-density .echarts-line-point {
  r: 4;
}

.echarts-high-density .echarts-line-point:hover {
  r: 6;
}

.echarts-high-density .echarts-line {
  stroke-width: 2;
}

/* 3. Reset */

/* ============================================================================
 * PathLess - Modern CSS Reset
 * ----------------------------------------------------------------------------
 * 基于 Normalize.css / Sanitizer.css 最佳实践
 * 必须在 tokens.css 之后加载
 *
 * Layer: 2 - Base
 * ========================================================================== */

/* --- 1. Box sizing --- */

*,
*::before,
*::after {
  box-sizing: border-box;
}

/* --- 2. 重置 margin / padding --- */

* {
  margin: 0;
  padding: 0;
}

/* --- 3. 防止字号自动放大 --- */

html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

/* --- 4. 平滑滚动 + 减少动效适配 --- */

html {
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* --- 5. body 基础 --- */

body {
  min-height: 100vh;
  line-height: var(--line-height-normal);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-family: var(--font-family-base);
  font-size: var(--font-size-base);
  color: var(--color-text-primary);
  background-color: var(--color-bg-secondary);
}

/* --- 6. 排版基础 --- */

h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  font-weight: inherit;
}

p, blockquote, pre {
  overflow-wrap: break-word;
}

a {
  color: inherit;
  text-decoration: none;
}

abbr[title] {
  text-decoration: underline dotted;
  cursor: help;
}

b, strong {
  font-weight: bolder;
}

small {
  font-size: 80%;
}

/* --- 7. 列表 --- */

ul, ol {
  list-style: none;
}

/* --- 8. 媒体元素 --- */

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
  height: auto;
}

svg {
  overflow: hidden;
  vertical-align: middle;
}

/* --- 9. 表格 --- */

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* --- 10. 表单 --- */

button,
input,
optgroup,
select,
textarea {
  font: inherit;
  color: inherit;
}

button {
  background: none;
  border: none;
  cursor: pointer;
}

button:disabled {
  cursor: not-allowed;
}

input[type='text'],
input[type='email'],
input[type='password'],
input[type='number'],
textarea {
  outline: none;
}

textarea {
  resize: vertical;
}

select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 36px;
}

/* --- 11. 隐藏属性 --- */

[hidden] {
  display: none !important;
}

/* --- 12. 焦点样式 --- */

:focus:not(:focus-visible) {
  outline: none;
}

:focus-visible {
  outline: 2px solid var(--color-primary-500);
  outline-offset: 2px;
}

/* --- 13. 选区 --- */

::selection {
  background-color: var(--color-primary-500);
  color: #ffffff;
}

::-moz-selection {
  background-color: var(--color-primary-500);
  color: #ffffff;
}

/* --- 14. 根元素 --- */

html,
body,
#app {
  height: 100%;
}

/* --- 15. 滚动条 --- */

::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: var(--color-neutral-100);
  border-radius: var(--radius-full);
}

::-webkit-scrollbar-thumb {
  background: var(--color-neutral-300);
  border-radius: var(--radius-full);
  transition: background var(--duration-fast) var(--easing-default);
}

::-webkit-scrollbar-thumb:hover {
  background: var(--color-neutral-400);
}

::-webkit-scrollbar-corner {
  background: var(--color-neutral-100);
}

* {
  scrollbar-width: thin;
  scrollbar-color: var(--color-neutral-300) var(--color-neutral-100);
}

.dashboard-header,
.hero-section {
  position: relative;
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  border-radius: var(--radius-xl);
  padding: 24px 32px;
  margin-bottom: var(--spacing-4);
  color: white;
  overflow: hidden;
}

@media (max-width: 768px) {
  .dashboard-header,
  .hero-section {
    padding: 14px 16px;
    border-radius: var(--radius-xl);
  }

  .hero-content {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }

  .hero-title {
    font-size: 22px;
  }

  .hero-subtitle {
    font-size: 13px;
    margin-bottom: 20px;
  }

  .hero-stats {
    gap: 16px;
  }

  .hero-stat-value {
    font-size: 22px;
  }

  .hero-right {
    flex-direction: row;
    width: 100%;
  }

  .hero-btn-primary,
  .hero-btn-default,
  .hero-btn-danger {
    flex: 1;
    justify-content: center;
    height: 40px;
  }
}

.hero-section .anticon-search{
  color: #fff;
}

.filter-section .ant-col .ant-select,
.pc-filter .ant-col .ant-select
{
  width: 100%;
}

/* 4. Typography */

/* ============================================================================
 * PathLess - Typography
 * ----------------------------------------------------------------------------
 * 排版规范：标题层级、段落、链接、列表、引用、代码、分割线
 * 工具类：text-* / font-* / leading-* 拆分至 utilities/text.css
 *
 * Layer: 2 - Base
 * ========================================================================== */

/* --- 1. 标题层级 --- */

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-family-display);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-tight);
  color: var(--color-text-primary);
}

h1 {
  font-size: var(--font-size-3xl);
  font-weight: var(--font-weight-bold);
  letter-spacing: -0.025em;
}

h2 {
  font-size: var(--font-size-2xl);
  letter-spacing: -0.025em;
}

h3 {
  font-size: var(--font-size-xl);
}

h4 {
  font-size: var(--font-size-lg);
}

h5 {
  font-size: var(--font-size-md);
}

h6 {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-medium);
}

/* --- 2. 段落 --- */

p {
  line-height: var(--line-height-relaxed);
  margin-bottom: var(--spacing-4);
}

p:last-child {
  margin-bottom: 0;
}

/* --- 3. 链接 --- */

a {
  color: var(--color-primary-600);
  text-decoration: none;
  transition: color var(--duration-fast) var(--easing-default);
}

a:hover {
  color: var(--color-primary-700);
}

a:active {
  color: var(--color-primary-800);
}

a:focus-visible {
  outline: 2px solid var(--color-primary-500);
  outline-offset: 2px;
  border-radius: var(--radius-sm);
}

/* --- 4. 列表 --- */

ul, ol {
  padding-left: var(--spacing-6);
  margin-bottom: var(--spacing-4);
}

ul { list-style-type: disc; }

ol { list-style-type: decimal; }

li {
  line-height: var(--line-height-normal);
}

ul ul, ol ul { list-style-type: circle; }

ul ul ul { list-style-type: square; }

ol ol, ul ol { list-style-type: lower-alpha; }

ol ol ol, ul ol ol { list-style-type: lower-roman; }

/* --- 5. 定义列表 --- */

dl {
  margin-bottom: var(--spacing-4);
}

dt {
  font-weight: var(--font-weight-semibold);
  margin-bottom: var(--spacing-1);
}

dd {
  margin-left: var(--spacing-6);
  margin-bottom: var(--spacing-2);
}

/* --- 6. 引用 --- */

blockquote {
  padding: var(--spacing-4) var(--spacing-6);
  margin: 0 0 var(--spacing-4) 0;
  border-left: 4px solid var(--color-primary-500);
  background-color: var(--color-neutral-50);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
}

blockquote p:last-child {
  margin-bottom: 0;
}

blockquote cite {
  display: block;
  margin-top: var(--spacing-2);
  font-size: var(--font-size-sm);
  font-style: normal;
  color: var(--color-text-secondary);
}

/* --- 7. 代码 --- */

code {
  font-family: var(--font-family-mono);
  font-size: 0.875em;
  padding: 0.125em 0.375em;
  background-color: var(--color-neutral-100);
  border-radius: var(--radius-sm);
  color: var(--color-error-600);
}

pre {
  font-family: var(--font-family-mono);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-relaxed);
  padding: var(--spacing-4);
  margin: 0 0 var(--spacing-4) 0;
  background-color: var(--color-neutral-900);
  color: var(--color-neutral-100);
  border-radius: var(--radius-lg);
  overflow-x: auto;
}

pre code {
  padding: 0;
  background: none;
  color: inherit;
  font-size: inherit;
}

/* --- 8. 分割线 --- */

hr {
  border: none;
  border-top: 1px solid var(--color-border-default);
  margin: var(--spacing-6) 0;
}

hr.decorative {
  border: none;
  height: 1px;
  background: linear-gradient(
    to right,
    transparent,
    var(--color-neutral-300),
    transparent
  );
  margin: var(--spacing-8) 0;
}

/* 5. Utilities */

/* ============================================================================
 * PathLess - Layout Utilities
 * ----------------------------------------------------------------------------
 * 布局相关工具类：display、flex、grid、spacing、sizing
 *
 * Layer: 3 - Utilities
 * ========================================================================== */

/* --- 1. Display --- */

.flex { display: flex; }

.inline-flex { display: inline-flex; }

.block { display: block; }

.inline-block { display: inline-block; }

.grid { display: grid; }

.hidden { display: none !important; }

.invisible { visibility: hidden; }

/* --- 2. Flex 容器 --- */

.flex-column { flex-direction: column; }

.flex-row { flex-direction: row; }

.flex-wrap { flex-wrap: wrap; }

.flex-nowrap { flex-wrap: nowrap; }

.flex-1 { flex: 1; }

.justify-start { justify-content: flex-start; }

.justify-center { justify-content: center; }

.justify-end { justify-content: flex-end; }

.justify-between { justify-content: space-between; }

.justify-around { justify-content: space-around; }

.justify-evenly { justify-content: space-evenly; }

.items-start { align-items: flex-start; }

.items-center { align-items: center; }

.items-end { align-items: flex-end; }

.items-baseline { align-items: baseline; }

.items-stretch { align-items: stretch; }

.align-start { align-content: flex-start; }

.align-center { align-content: center; }

.align-end { align-content: flex-end; }

.align-between { align-content: space-between; }

.self-start { align-self: flex-start; }

.self-center { align-self: center; }

.self-end { align-self: flex-end; }

.self-stretch { align-self: stretch; }

/* Gap */

.gap-0 { gap: 0; }

.gap-1 { gap: var(--spacing-1); }

.gap-2 { gap: var(--spacing-2); }

.gap-3 { gap: var(--spacing-3); }

.gap-4 { gap: var(--spacing-4); }

.gap-6 { gap: var(--spacing-6); }

.gap-8 { gap: var(--spacing-8); }

/* --- 3. Margin（0/4/8/12/16/24/32） --- */

.m-0 { margin: 0; }

.m-auto { margin: auto; }

.mt-1 { margin-top: var(--spacing-1); }

.mt-2 { margin-top: var(--spacing-2); }

.mt-3 { margin-top: var(--spacing-3); }

.mt-4 { margin-top: var(--spacing-4); }

.mt-6 { margin-top: var(--spacing-6); }

.mt-8 { margin-top: var(--spacing-8); }

.mb-1 { margin-bottom: var(--spacing-1); }

.mb-2 { margin-bottom: var(--spacing-2); }

.mb-3 { margin-bottom: var(--spacing-3); }

.mb-4 { margin-bottom: var(--spacing-4); }

.mb-6 { margin-bottom: var(--spacing-6); }

.mb-8 { margin-bottom: var(--spacing-8); }

.ml-1 { margin-left: var(--spacing-1); }

.ml-2 { margin-left: var(--spacing-2); }

.ml-3 { margin-left: var(--spacing-3); }

.ml-4 { margin-left: var(--spacing-4); }

.mr-1 { margin-right: var(--spacing-1); }

.mr-2 { margin-right: var(--spacing-2); }

.mr-3 { margin-right: var(--spacing-3); }

.mr-4 { margin-right: var(--spacing-4); }

.mx-auto { margin-left: auto; margin-right: auto; }

.my-1 { margin-top: var(--spacing-1); margin-bottom: var(--spacing-1); }

.my-2 { margin-top: var(--spacing-2); margin-bottom: var(--spacing-2); }

.my-3 { margin-top: var(--spacing-3); margin-bottom: var(--spacing-3); }

.my-4 { margin-top: var(--spacing-4); margin-bottom: var(--spacing-4); }

/* --- 4. Padding --- */

.p-0 { padding: 0; }

.p-1 { padding: var(--spacing-1); }

.p-2 { padding: var(--spacing-2); }

.p-3 { padding: var(--spacing-3); }

.p-4 { padding: var(--spacing-4); }

.p-6 { padding: var(--spacing-6); }

.p-8 { padding: var(--spacing-8); }

.pt-1 { padding-top: var(--spacing-1); }

.pt-2 { padding-top: var(--spacing-2); }

.pt-3 { padding-top: var(--spacing-3); }

.pt-4 { padding-top: var(--spacing-4); }

.pb-1 { padding-bottom: var(--spacing-1); }

.pb-2 { padding-bottom: var(--spacing-2); }

.pb-3 { padding-bottom: var(--spacing-3); }

.pb-4 { padding-bottom: var(--spacing-4); }

.pl-2 { padding-left: var(--spacing-2); }

.pl-3 { padding-left: var(--spacing-3); }

.pl-4 { padding-left: var(--spacing-4); }

.pr-2 { padding-right: var(--spacing-2); }

.pr-3 { padding-right: var(--spacing-3); }

.pr-4 { padding-right: var(--spacing-4); }

.px-2 { padding-left: var(--spacing-2); padding-right: var(--spacing-2); }

.px-3 { padding-left: var(--spacing-3); padding-right: var(--spacing-3); }

.px-4 { padding-left: var(--spacing-4); padding-right: var(--spacing-4); }

.py-2 { padding-top: var(--spacing-2); padding-bottom: var(--spacing-2); }

.py-3 { padding-top: var(--spacing-3); padding-bottom: var(--spacing-3); }

.py-4 { padding-top: var(--spacing-4); padding-bottom: var(--spacing-4); }

/* --- 5. Sizing --- */

.w-full { width: 100%; }

.w-auto { width: auto; }

.w-fit { width: fit-content; }

.w-screen { width: 100vw; }

.h-full { height: 100%; }

.h-auto { height: auto; }

.h-fit { height: fit-content; }

.h-screen { height: 100vh; }

.min-w-0 { min-width: 0; }

.min-h-0 { min-height: 0; }

.max-w-full { max-width: 100%; }

.max-w-screen { max-width: 100vw; }

/* --- 6. Position --- */

.relative { position: relative; }

.absolute { position: absolute; }

.fixed { position: fixed; }

.sticky { position: sticky; }

.static { position: static; }

.top-0 { top: 0; }

.right-0 { right: 0; }

.bottom-0 { bottom: 0; }

.left-0 { left: 0; }

.inset-0 { top: 0; right: 0; bottom: 0; left: 0; }

/* --- 7. Overflow --- */

.overflow-hidden { overflow: hidden; }

.overflow-auto { overflow: auto; }

.overflow-x-auto { overflow-x: auto; }

.overflow-y-auto { overflow-y: auto; }

.overflow-x-hidden { overflow-x: hidden; }

.overflow-y-hidden { overflow-y: hidden; }

.overflow-scroll { overflow: scroll; }

/* --- 8. Border / Radius --- */

.border { border: 1px solid var(--color-border-default); }

.border-0 { border: 0; }

.border-t { border-top: 1px solid var(--color-border-default); }

.border-b { border-bottom: 1px solid var(--color-border-default); }

.border-l { border-left: 1px solid var(--color-border-default); }

.border-r { border-right: 1px solid var(--color-border-default); }

.rounded-none { border-radius: var(--radius-none); }

.rounded-sm { border-radius: var(--radius-sm); }

.rounded { border-radius: var(--radius-md); }

.rounded-md { border-radius: var(--radius-md); }

.rounded-lg { border-radius: var(--radius-lg); }

.rounded-xl { border-radius: var(--radius-xl); }

.rounded-2xl { border-radius: var(--radius-2xl); }

.rounded-full { border-radius: var(--radius-full); }

/* --- 9. Shadow --- */

.shadow-none { box-shadow: none; }

.shadow-xs { box-shadow: var(--shadow-xs); }

.shadow-sm { box-shadow: var(--shadow-sm); }

.shadow { box-shadow: var(--shadow-md); }

.shadow-md { box-shadow: var(--shadow-md); }

.shadow-lg { box-shadow: var(--shadow-lg); }

.shadow-xl { box-shadow: var(--shadow-xl); }

.shadow-2xl { box-shadow: var(--shadow-2xl); }

/* --- 10. Cursor --- */

.cursor-pointer { cursor: pointer; }

.cursor-not-allowed { cursor: not-allowed; }

.cursor-default { cursor: default; }

.cursor-move { cursor: move; }

/* --- 10.5 表单字段通用容器 --- */

.form-field-wrapper {
  width: 100%;
}

.form-field-wrapper--inline {
  width: auto;
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-2);
}

/* --- 11. 业务：列表页工具（统一规范） --- */

.list-page {
  .text-ellipsis {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: inline-block;
    max-width: 100%;
  }

  .table-actions {
    display: flex;
    gap: var(--spacing-2);
  }

  .batch-toolbar {
    padding: var(--spacing-2) var(--spacing-4);
    background-color: var(--color-bg-secondary);
    border-radius: var(--radius-md);
    margin-bottom: var(--spacing-4);
  }

  .search-card {
    margin-bottom: var(--spacing-3);
    box-shadow: var(--shadow-sm);
  }

  .resource-info {
    display: flex;
    align-items: center;
    gap: var(--spacing-3);
    font-size: var(--font-size-xs);

    span {
      display: flex;
      align-items: center;
      gap: var(--spacing-1);
    }
  }
}

/* ============================================================================
 * PathLess - Text Utilities
 * ----------------------------------------------------------------------------
 * 文本相关工具类：字号、字重、行高、颜色、对齐、文本省略、文本转换
 *
 * Layer: 3 - Utilities
 * ========================================================================== */

/* --- 1. 字号 --- */

.text-xxs { font-size: var(--font-size-xxs); }

.text-xs { font-size: var(--font-size-xs); }

.text-sm { font-size: var(--font-size-sm); }

.text-base { font-size: var(--font-size-base); }

.text-md { font-size: var(--font-size-md); }

.text-lg { font-size: var(--font-size-lg); }

.text-xl { font-size: var(--font-size-xl); }

.text-2xl { font-size: var(--font-size-2xl); }

.text-3xl { font-size: var(--font-size-3xl); }

.text-4xl { font-size: var(--font-size-4xl); }

/* --- 2. 字重 --- */

.font-normal { font-weight: var(--font-weight-normal); }

.font-medium { font-weight: var(--font-weight-medium); }

.font-semibold { font-weight: var(--font-weight-semibold); }

.font-bold { font-weight: var(--font-weight-bold); }

/* --- 3. 行高 --- */

.leading-none { line-height: var(--line-height-none); }

.leading-tight { line-height: var(--line-height-tight); }

.leading-snug { line-height: var(--line-height-snug); }

.leading-normal { line-height: var(--line-height-normal); }

.leading-relaxed { line-height: var(--line-height-relaxed); }

.leading-loose { line-height: var(--line-height-loose); }

/* --- 4. 文本颜色（语义） --- */

.text-primary { color: var(--color-text-primary); }

.text-secondary { color: var(--color-text-secondary); }

.text-tertiary { color: var(--color-text-tertiary); }

.text-disabled { color: var(--color-text-disabled); }

.text-inverse { color: #ffffff; }

.text-placeholder { color: var(--color-text-placeholder); }

/* 强调色 */

.text-success { color: var(--color-success-600); }

.text-warning { color: var(--color-warning-600); }

.text-error { color: var(--color-error-600); }

.text-info { color: var(--color-info-600); }

.text-link { color: var(--color-primary-600); }

/* --- 5. 文本截断 --- */

.text-ellipsis {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.text-clamp-2 {
  display: -webkit-box;
  line-clamp: 2;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.text-clamp-3 {
  display: -webkit-box;
  line-clamp: 3;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* --- 6. 文本转换 --- */

.text-uppercase {
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.text-lowercase { text-transform: lowercase; }

.text-capitalize { text-transform: capitalize; }

.text-underline { text-decoration: underline; }

.text-line-through { text-decoration: line-through; }

.text-no-underline { text-decoration: none; }

/* --- 7. 文本对齐 --- */

.text-left { text-align: left; }

.text-center { text-align: center; }

.text-right { text-align: right; }

.text-justify { text-align: justify; }

/* --- 8. 换行 --- */

.break-normal {
  overflow-wrap: normal;
  word-break: normal;
}

.break-words { overflow-wrap: break-word; }

.break-all { word-break: break-all; }

.break-keep { word-break: keep-all; }

.whitespace-normal { white-space: normal; }

.whitespace-nowrap { white-space: nowrap; }

.whitespace-pre { white-space: pre; }

.whitespace-pre-line { white-space: pre-line; }

.whitespace-pre-wrap { white-space: pre-wrap; }

/* ============================================================================
 * PathLess - Business Utilities
 * ----------------------------------------------------------------------------
 * 业务通用工具：卡片、空状态、加载、渐变、玻璃效果、响应式可见性
 *
 * Layer: 3 - Utilities
 * ========================================================================== */

/* --- 1. 卡片 --- */

.card {
  background: var(--color-bg-primary);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--color-border-light);

  .card-header {
    padding: var(--spacing-4);
    border-bottom: 1px solid var(--color-border-light);
    font-weight: var(--font-weight-medium);
  }

  .card-body {
    padding: var(--spacing-4);
  }
}

/* --- 2. 空状态 --- */

.empty {
  text-align: center;
  padding: var(--spacing-8);

  .empty-icon {
    font-size: 48px;
    color: var(--color-text-tertiary);
    margin-bottom: var(--spacing-4);
  }

  .empty-text {
    color: var(--color-text-tertiary);
    font-size: var(--font-size-base);
  }
}

/* --- 3. 加载动画 --- */

.loading {
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 3px solid var(--color-border-light);
  border-radius: 50%;
  border-top-color: var(--color-primary-500);
  animation: pl-spin 1s ease-in-out infinite;
}

@keyframes pl-spin {
  to { transform: rotate(360deg); }
}

/* --- 4. 渐变背景 --- */

.gradient-bg {
  background: linear-gradient(
    135deg,
    var(--color-primary-500) 0%,
    var(--color-primary-600) 100%
  );
}

.gradient-hero {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
}

/* --- 5. 毛玻璃 --- */

.glass {
  backdrop-filter: blur(10px);
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

/* --- 6. 响应式可见性 --- */

@media (max-width: 768px) {
  .hide-mobile { display: none !important; }
}

@media (min-width: 769px) {
  .show-mobile { display: none !important; }
}

/* --- 7. 全局动画工具 --- */

.no-animation {
  animation: none !important;
  transition: none !important;
}

/* 6. Animations */

/* ============================================================================
 * PathLess - Keyframes
 * ----------------------------------------------------------------------------
 * 关键帧定义：淡入淡出、滑动、缩放、旋转、脉冲、抖动、翻转、浮动、骨架
 *
 * Layer: 3 - Animations
 * ========================================================================== */

/* --- 1. Fade --- */

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

@keyframes pl-fade-out {
  from { opacity: 1; }
  to { opacity: 0; }
}

/* --- 2. Slide --- */

@keyframes pl-slide-in-right {
  from { transform: translateX(100%); opacity: 0; }
  to { transform: translateX(0); opacity: 1; }
}

@keyframes pl-slide-out-right {
  from { transform: translateX(0); opacity: 1; }
  to { transform: translateX(100%); opacity: 0; }
}

@keyframes pl-slide-in-left {
  from { transform: translateX(-100%); opacity: 0; }
  to { transform: translateX(0); opacity: 1; }
}

@keyframes pl-slide-out-left {
  from { transform: translateX(0); opacity: 1; }
  to { transform: translateX(-100%); opacity: 0; }
}

@keyframes pl-slide-in-up {
  from { transform: translateY(20px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}

@keyframes pl-slide-out-up {
  from { transform: translateY(0); opacity: 1; }
  to { transform: translateY(-20px); opacity: 0; }
}

@keyframes pl-slide-in-down {
  from { transform: translateY(-20px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}

@keyframes pl-slide-out-down {
  from { transform: translateY(0); opacity: 1; }
  to { transform: translateY(20px); opacity: 0; }
}

/* --- 3. Scale --- */

@keyframes pl-scale-in {
  from { transform: scale(0.9); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}

@keyframes pl-scale-out {
  from { transform: scale(1); opacity: 1; }
  to { transform: scale(0.9); opacity: 0; }
}

/* --- 4. Spin --- */

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

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

/* --- 5. Pulse --- */

@keyframes pl-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

@keyframes pl-pulse-border {
  0%, 100% { border-color: var(--color-primary-500); }
  50% { border-color: var(--color-primary-300); }
}

@keyframes pl-pulse-grow {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.05); }
}

/* --- 6. Bounce --- */

@keyframes pl-bounce {
  0%, 100% { transform: translateY(0); }
  10%, 30%, 50%, 70%, 90% { transform: translateY(-8px); }
  20%, 40%, 60%, 80% { transform: translateY(0); }
}

@keyframes pl-bounce-in {
  0% { transform: scale(0.3); opacity: 0; }
  50% { transform: scale(1.05); }
  70% { transform: scale(0.9); }
  100% { transform: scale(1); opacity: 1; }
}

/* --- 7. Shake --- */

@keyframes pl-shake {
  0%, 100% { transform: translateX(0); }
  10%, 30%, 50%, 70%, 90% { transform: translateX(-4px); }
  20%, 40%, 60%, 80% { transform: translateX(4px); }
}

/* --- 8. Float --- */

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

/* --- 9. Skeleton --- */

@keyframes pl-skeleton-shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

@keyframes pl-progress-indeterminate {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(200%); }
}

/* --- 10. Number roll --- */

@keyframes pl-number-roll {
  0% { transform: translateY(100%); opacity: 0; }
  10% { opacity: 1; }
  90% { opacity: 1; }
  100% { transform: translateY(0); opacity: 1; }
}

/* --- 11. Dot typing --- */

@keyframes pl-dot-typing-1 {
  0%, 20% { opacity: 0.2; }
  40% { opacity: 1; }
  60%, 100% { opacity: 0.2; }
}

@keyframes pl-dot-typing-2 {
  0%, 20% { opacity: 0.2; }
  40% { opacity: 0.2; }
  60% { opacity: 1; }
  80%, 100% { opacity: 0.2; }
}

@keyframes pl-dot-typing-3 {
  0%, 20% { opacity: 0.2; }
  40% { opacity: 0.2; }
  60% { opacity: 0.2; }
  80% { opacity: 1; }
  100% { opacity: 0.2; }
}

/* ============================================================================
 * PathLess - Transition Utilities
 * ----------------------------------------------------------------------------
 * 过渡时长 / 缓动 / 属性 / 组合过渡工具类
 *
 * Layer: 3 - Animations
 * ========================================================================== */

/* --- 1. 时长 --- */

.transition-none { transition: none !important; }

.transition-instant { transition-duration: var(--duration-instant) !important; }

.transition-fast { transition-duration: var(--duration-fast) !important; }

.transition-base { transition-duration: var(--duration-base) !important; }

.transition-slow { transition-duration: var(--duration-slow) !important; }

.transition-slower { transition-duration: var(--duration-slower) !important; }

/* --- 2. 缓动 --- */

.ease-default { transition-timing-function: var(--easing-default) !important; }

.ease-in { transition-timing-function: var(--easing-ease-in) !important; }

.ease-out { transition-timing-function: var(--easing-ease-out) !important; }

.ease-in-out { transition-timing-function: var(--easing-ease-in-out) !important; }

.ease-bounce { transition-timing-function: var(--easing-bounce) !important; }

.ease-linear { transition-timing-function: var(--easing-linear) !important; }

/* --- 3. 全属性 --- */

.transition-all { transition: all var(--duration-base) var(--easing-default); }

.transition-all-fast { transition: all var(--duration-fast) var(--easing-default); }

.transition-all-slow { transition: all var(--duration-slow) var(--easing-default); }

.transition-all-bounce { transition: all var(--duration-base) var(--easing-bounce); }

/* --- 4. 单属性 --- */

.transition-color { transition-property:
  color, background-color, border-color, outline-color,
  text-decoration-color, fill, stroke !important; }

.transition-color-fast {
  transition:
    color var(--duration-fast) var(--easing-default),
    background-color var(--duration-fast) var(--easing-default),
    border-color var(--duration-fast) var(--easing-default);
}

.transition-bg { transition-property:
  background-color, background-image, background-position, background-size !important; }

.transition-transform { transition-property: transform !important; }

.transition-transform-base { transition: transform var(--duration-base) var(--easing-default); }

.transition-shadow { transition-property: box-shadow !important; }

.transition-shadow-base { transition: box-shadow var(--duration-base) var(--easing-default); }

.transition-opacity { transition-property: opacity !important; }

.transition-opacity-fast { transition: opacity var(--duration-fast) var(--easing-default); }

.transition-border { transition-property: border-color, border-width !important; }

.transition-radius { transition-property: border-radius !important; }

/* --- 5. 组合过渡：交互效果 --- */

.hover-lift {
  transition:
    transform var(--duration-fast) var(--easing-default),
    box-shadow var(--duration-fast) var(--easing-default);
}

.hover-lift:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg);
}

.hover-lift:active {
  transform: translateY(0);
  box-shadow: var(--shadow-sm);
}

.hover-scale {
  transition: transform var(--duration-fast) var(--easing-default);
}

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

.hover-scale:active { transform: scale(0.98); }

.hover-glow {
  transition: box-shadow var(--duration-base) var(--easing-default);
}

.hover-glow:hover { box-shadow: var(--shadow-colored-primary); }

.press-effect {
  transition: transform var(--duration-instant) var(--easing-default);
}

.press-effect:active { transform: scale(0.97); }

.focus-ring {
  transition:
    box-shadow var(--duration-fast) var(--easing-default),
    outline var(--duration-fast) var(--easing-default);
}

.focus-ring:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.3);
}

/* --- 6. 表单元素过渡 --- */

button,
.btn {
  transition:
    background-color var(--duration-fast) var(--easing-default),
    color var(--duration-fast) var(--easing-default),
    border-color var(--duration-fast) var(--easing-default),
    box-shadow var(--duration-fast) var(--easing-default),
    transform var(--duration-instant) var(--easing-default);
}

button:active,
.btn:active { transform: scale(0.98); }

button:disabled,
.btn:disabled {
  transition: none;
  cursor: not-allowed;
}

input,
textarea,
select {
  transition:
    border-color var(--duration-fast) var(--easing-default),
    box-shadow var(--duration-fast) var(--easing-default),
    background-color var(--duration-fast) var(--easing-default);
}

input:focus,
textarea:focus,
select:focus {
  transition:
    border-color var(--duration-fast) var(--easing-default),
    box-shadow var(--duration-fast) var(--easing-default);
}

/* --- 7. 卡片过渡 --- */

.card,
.ant-card {
  transition:
    box-shadow var(--duration-base) var(--easing-default),
    transform var(--duration-base) var(--easing-default);
}

.card-hoverable:hover,
.ant-card-hoverable:hover {
  box-shadow: var(--shadow-lg);
  transform: translateY(-2px);
}

/* ============================================================================
 * PathLess - Animations Index
 * ----------------------------------------------------------------------------
 * 动画工具类：Vue transition、animate-*、stagger、loading 组件样式
 *
 * Layer: 3 - Animations
 * ========================================================================== */

/* ===========================
 * 1. animate-* 工具类
 * =========================== */

.animate-fade-in { animation: pl-fade-in var(--duration-base) var(--easing-default) forwards; }

.animate-fade-out { animation: pl-fade-out var(--duration-fast) var(--easing-default) forwards; }

.animate-slide-in-right { animation: pl-slide-in-right var(--duration-base) var(--easing-default) forwards; }

.animate-slide-out-right { animation: pl-slide-out-right var(--duration-fast) var(--easing-default) forwards; }

.animate-slide-in-left { animation: pl-slide-in-left var(--duration-base) var(--easing-default) forwards; }

.animate-slide-out-left { animation: pl-slide-out-left var(--duration-fast) var(--easing-default) forwards; }

.animate-slide-in-up { animation: pl-slide-in-up var(--duration-base) var(--easing-default) forwards; }

.animate-slide-out-up { animation: pl-slide-out-up var(--duration-fast) var(--easing-default) forwards; }

.animate-slide-in-down { animation: pl-slide-in-down var(--duration-base) var(--easing-default) forwards; }

.animate-slide-out-down { animation: pl-slide-out-down var(--duration-fast) var(--easing-default) forwards; }

.animate-scale-in { animation: pl-scale-in var(--duration-base) var(--easing-default) forwards; }

.animate-scale-out { animation: pl-scale-out var(--duration-fast) var(--easing-default) forwards; }

.animate-scale-in-center { animation: pl-scale-in var(--duration-base) var(--easing-bounce) forwards; }

.animate-spin { animation: pl-spin 1s linear infinite; }

.animate-spin-fast { animation: pl-spin 0.6s linear infinite; }

.animate-spin-slow { animation: pl-spin 2s linear infinite; }

.animate-spin-reverse { animation: pl-spin-reverse 1s linear infinite; }

.animate-pulse { animation: pl-pulse 2s ease-in-out infinite; }

.animate-pulse-fast { animation: pl-pulse 1s ease-in-out infinite; }

.animate-pulse-border { animation: pl-pulse-border 2s ease-in-out infinite; }

.animate-pulse-grow { animation: pl-pulse-grow 2s ease-in-out infinite; }

.animate-bounce { animation: pl-bounce 1s ease-in-out infinite; }

.animate-bounce-in { animation: pl-bounce-in var(--duration-slow) var(--easing-bounce) forwards; }

.animate-shake { animation: pl-shake 0.5s ease-in-out; }

.animate-float { animation: pl-float 3s ease-in-out infinite; }

/* ===========================
 * 2. 加载指示器
 * =========================== */

.pl-loading-spin { animation: pl-spin 1s linear infinite; }

.pl-loading-dots {
  display: inline-flex;
  gap: 6px;
  align-items: center;
}

.pl-loading-dots span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--color-primary-500);
  animation: pl-pulse 1.4s ease-in-out infinite both;
}

.pl-loading-dots span:nth-child(1) { animation-delay: -0.32s; }

.pl-loading-dots span:nth-child(2) { animation-delay: -0.16s; }

.pl-loading-dots span:nth-child(3) { animation-delay: 0s; }

.pl-loading-bar {
  position: relative;
  width: 100%;
  height: 3px;
  background: var(--color-neutral-100);
  border-radius: 2px;
  overflow: hidden;
}

.pl-loading-bar::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    var(--color-primary-500),
    transparent
  );
  border-radius: 2px;
  animation: pl-progress-indeterminate 1.5s ease-in-out infinite;
}

.pl-skeleton {
  background: linear-gradient(
    90deg,
    var(--color-neutral-100) 25%,
    var(--color-neutral-200) 50%,
    var(--color-neutral-100) 75%
  );
  background-size: 200% 100%;
  animation: pl-skeleton-shimmer 1.5s ease-in-out infinite;
  border-radius: var(--radius-md);
}

/* ===========================
 * 3. 动画方向 / 模式
 * =========================== */

.animate-none { animation: none; }

.animate-reverse { animation-direction: reverse; }

.animate-alternate { animation-direction: alternate; }

.animate-alternate-reverse { animation-direction: alternate-reverse; }

.animate-fill-forwards { animation-fill-mode: forwards; }

.animate-fill-backwards { animation-fill-mode: backwards; }

.animate-fill-both { animation-fill-mode: both; }

.animate-play-paused { animation-play-state: paused; }

.animate-play-running { animation-play-state: running; }

/* ===========================
 * 4. 延迟 / 时长
 * =========================== */

.delay-100 { animation-delay: 100ms; }

.delay-200 { animation-delay: 200ms; }

.delay-300 { animation-delay: 300ms; }

.delay-400 { animation-delay: 400ms; }

.delay-500 { animation-delay: 500ms; }

.delay-700 { animation-delay: 700ms; }

.delay-1000 { animation-delay: 1000ms; }

.duration-instant { animation-duration: var(--duration-instant); }

.duration-fast { animation-duration: var(--duration-fast); }

.duration-base { animation-duration: var(--duration-base); }

.duration-slow { animation-duration: var(--duration-slow); }

.duration-slower { animation-duration: var(--duration-slower); }

/* ===========================
 * 5. Vue <Transition> 类名
 * =========================== */

/* Fade */

.fade-enter-active,
.fade-leave-active {
  transition: opacity var(--duration-base) var(--easing-default);
}

.fade-enter-from,
.fade-leave-to { opacity: 0; }

/* Slide fade */

.slide-fade-enter-active { transition: all var(--duration-base) var(--easing-default); }

.slide-fade-leave-active { transition: all var(--duration-fast) var(--easing-default); }

.slide-fade-enter-from { transform: translateY(10px); opacity: 0; }

.slide-fade-leave-to { transform: translateY(-10px); opacity: 0; }

/* Scale fade */

.scale-fade-enter-active,
.scale-fade-leave-active { transition: all var(--duration-base) var(--easing-default); }

.scale-fade-enter-from,
.scale-fade-leave-to { transform: scale(0.95); opacity: 0; }

/* Slide up / down */

.slide-up-enter-active,
.slide-up-leave-active { transition: all var(--duration-base) var(--easing-ease-out); }

.slide-up-enter-from { transform: translateY(20px); opacity: 0; }

.slide-up-leave-to { transform: translateY(-20px); opacity: 0; }

.slide-down-enter-active,
.slide-down-leave-active { transition: all var(--duration-base) var(--easing-ease-out); }

.slide-down-enter-from { transform: translateY(-20px); opacity: 0; }

.slide-down-leave-to { transform: translateY(20px); opacity: 0; }

/* Page transitions */

.page-enter-active,
.page-leave-active { transition: opacity var(--duration-base) var(--easing-default); }

.page-enter-from,
.page-leave-to { opacity: 0; }

.slide-page-enter-active { transition: all var(--duration-base) var(--easing-ease-out); }

.slide-page-leave-active { transition: all var(--duration-fast) var(--easing-default); }

.slide-page-enter-from { transform: translateX(30px); opacity: 0; }

.slide-page-leave-to { transform: translateX(-30px); opacity: 0; }

/* Page slide left / right */

.page-slide-left-enter-active,
.page-slide-left-leave-active { transition: all var(--duration-base) var(--easing-default); }

.page-slide-left-enter-from { opacity: 0; transform: translateX(30px); }

.page-slide-left-leave-to { opacity: 0; transform: translateX(-30px); }

.page-slide-right-enter-active,
.page-slide-right-leave-active { transition: all var(--duration-base) var(--easing-default); }

.page-slide-right-enter-from { opacity: 0; transform: translateX(-30px); }

.page-slide-right-leave-to { opacity: 0; transform: translateX(30px); }

.page-slide-up-enter-active,
.page-slide-up-leave-active { transition: all var(--duration-base) var(--easing-default); }

.page-slide-up-enter-from { opacity: 0; transform: translateY(20px); }

.page-slide-up-leave-to { opacity: 0; transform: translateY(-20px); }

.page-scale-enter-active,
.page-scale-leave-active { transition: all var(--duration-base) var(--easing-default); }

.page-scale-enter-from { opacity: 0; transform: scale(0.95); }

.page-scale-leave-to { opacity: 0; transform: scale(1.02); }

.page-fade-slide-enter-active { transition: all var(--duration-base) var(--easing-ease-out); }

.page-fade-slide-leave-active { transition: all var(--duration-fast) var(--easing-ease-in); }

.page-fade-slide-enter-from { opacity: 0; transform: translateY(12px); }

.page-fade-slide-leave-to { opacity: 0; transform: translateY(-8px); }

/* 折叠 */

.collapse-enter-active,
.collapse-leave-active {
  transition: all var(--duration-base) var(--easing-default);
  overflow: hidden;
}

.collapse-enter-from,
.collapse-leave-to { max-height: 0; opacity: 0; }

.collapse-enter-to,
.collapse-leave-from { max-height: 500px; opacity: 1; }

/* 列表项交错 */

.list-enter-active,
.list-leave-active { transition: all var(--duration-base) var(--easing-default); }

.list-enter-from { opacity: 0; transform: translateX(-20px); }

.list-leave-to { opacity: 0; transform: translateX(20px); }

.list-move { transition: transform var(--duration-base) var(--easing-default); }

.list-leave-active { position: absolute; }

/* 缩放弹出 */

.zoom-enter-active { transition: all var(--duration-base) var(--easing-bounce); }

.zoom-leave-active { transition: all var(--duration-fast) var(--easing-ease-in); }

.zoom-enter-from,
.zoom-leave-to { opacity: 0; transform: scale(0.8); }

/* 下拉展开 */

.dropdown-enter-active,
.dropdown-leave-active {
  transition: all var(--duration-fast) var(--easing-default);
  transform-origin: top center;
}

.dropdown-enter-from,
.dropdown-leave-to { opacity: 0; transform: scaleY(0.9) translateY(-4px); }

/* 通知 */

.notification-slide-enter-active { transition: all var(--duration-base) var(--easing-ease-out); }

.notification-slide-leave-active { transition: all var(--duration-fast) var(--easing-ease-in); }

.notification-slide-enter-from,
.notification-slide-leave-to { opacity: 0; transform: translateX(100%); }

.notification-top-enter-active { transition: all var(--duration-base) var(--easing-ease-out); }

.notification-top-leave-active { transition: all var(--duration-fast) var(--easing-ease-in); }

.notification-top-enter-from,
.notification-top-leave-to { opacity: 0; transform: translateY(-20px); }

/* 模态框 */

.modal-enter-active { transition: all var(--duration-base) var(--easing-ease-out); }

.modal-leave-active { transition: all var(--duration-fast) var(--easing-ease-in); }

.modal-enter-from,
.modal-leave-to { opacity: 0; transform: scale(0.95) translateY(10px); }

/* 数字滚动 */

.pl-number-roll {
  display: inline-block;
  overflow: hidden;
  line-height: 1;
}

.pl-number-roll span {
  display: inline-block;
  animation: pl-number-roll 0.6s var(--easing-ease-out) both;
}

/* ===========================
 * 6. Stagger children（依次入场）
 * =========================== */

.stagger-children > * {
  transition:
    opacity var(--duration-base) var(--easing-default),
    transform var(--duration-base) var(--easing-default);
}

.stagger-children > *:nth-child(1) { transition-delay: 0ms; }

.stagger-children > *:nth-child(2) { transition-delay: 50ms; }

.stagger-children > *:nth-child(3) { transition-delay: 100ms; }

.stagger-children > *:nth-child(4) { transition-delay: 150ms; }

.stagger-children > *:nth-child(5) { transition-delay: 200ms; }

.stagger-children > *:nth-child(6) { transition-delay: 250ms; }

.stagger-children > *:nth-child(7) { transition-delay: 300ms; }

.stagger-children > *:nth-child(8) { transition-delay: 350ms; }

.stagger-children > *:nth-child(9) { transition-delay: 400ms; }

.stagger-children > *:nth-child(10) { transition-delay: 450ms; }

/* ===========================
 * 7. Ant Design 组件过渡
 * =========================== */

.ant-modal {
  transition:
    opacity var(--duration-base) var(--easing-default),
    transform var(--duration-base) var(--easing-default);
}

.ant-modal-hidden {
  transition:
    opacity var(--duration-fast) var(--easing-default),
    transform var(--duration-fast) var(--easing-default);
}

.ant-drawer { transition: transform var(--duration-base) var(--easing-ease-out); }

.ant-dropdown,
.ant-select-dropdown {
  transition:
    opacity var(--duration-fast) var(--easing-default),
    transform var(--duration-fast) var(--easing-ease-out);
}

.ant-tooltip { transition: opacity var(--duration-fast) var(--easing-default); }

.ant-tabs-tab {
  transition:
    color var(--duration-fast) var(--easing-default),
    padding var(--duration-fast) var(--easing-default);
}

.ant-menu-item,
.ant-menu-submenu-title {
  transition:
    background-color var(--duration-fast) var(--easing-default),
    color var(--duration-fast) var(--easing-default),
    padding var(--duration-fast) var(--easing-default);
}

/* ===========================
 * 8. 无障碍
 * =========================== */

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

/* 7. Components */

/* ============================================================================
 * PathLess - Modal & Drawer
 * ----------------------------------------------------------------------------
 * 全局弹窗与抽屉统一样式
 *
 * Layer: 4 - Components
 * ========================================================================== */

/* --- 1. Modal 容器：垂直水平居中 --- */

.ant-modal-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  position: fixed;
  inset: 0;
  z-index: var(--z-index-modal);
  pointer-events: auto;
}

.ant-modal-wrap:not(.ant-modal-wrap-hidden) { pointer-events: auto; }

.ant-modal-wrap-hidden {
  display: none !important;
  pointer-events: none !important;
}

.ant-modal-mask {
  position: fixed;
  inset: 0;
  z-index: var(--z-index-modal);
  background-color: rgba(0, 0, 0, 0.45);
}

/* --- 2. Modal 内容 --- */

.ant-modal {
  top: 0 !important;
  padding-bottom: 0 !important;
  margin: auto !important;
}

.ant-modal .ant-modal-content {
  max-height: calc(100vh - 40px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 0;
}

.ant-modal-body {
  flex: 1;
  overflow-y: auto;
  max-height: calc(100vh - 40px - 110px);
  padding: var(--spacing-4);
}

.ant-modal-header {
  flex-shrink: 0;
  padding: var(--spacing-4) var(--spacing-6);
}

.ant-modal-footer {
  flex-shrink: 0;
  padding: var(--spacing-4) var(--spacing-6);
}

/* --- 3. Modal 内表单紧凑 --- */

.ant-modal .ant-form { margin: 0; }

.ant-modal .ant-form-item {
  margin-bottom: var(--spacing-3) !important;
}

.ant-modal .ant-form-item-label {
  padding-bottom: var(--spacing-1);
}

.ant-modal .ant-input,
.ant-modal .ant-select-selector,
.ant-modal .ant-picker,
.ant-modal .ant-cascader-picker {
  border-radius: var(--radius-md);
}

/* --- 4. 移动端适配 --- */

@media (max-width: 768px) {
  .ant-modal-wrap {
    padding: var(--spacing-3);
  }

  .ant-modal {
    width: 100% !important;
    max-width: 100% !important;
  }

  .ant-modal-content {
    max-height: calc(100vh - 24px);
  }

  .ant-modal-body {
    max-height: calc(100vh - 24px - 110px);
    padding: var(--spacing-3);
  }
}

@media (max-width: 480px) {
  .ant-modal-wrap { padding: var(--spacing-2); }
  .ant-modal-content { max-height: calc(100vh - 16px); }
  .ant-modal-body {
    max-height: calc(100vh - 16px - 110px);
    padding: var(--spacing-3);
  }
}

/* --- 5. Drawer --- */

.ant-drawer-content-wrapper { max-width: 100%; }

/* ============================================================================
 * PathLess - Ant Menu Overrides
 * ----------------------------------------------------------------------------
 * 头部导航菜单、侧边栏菜单、子菜单弹层的统一样式
 *
 * Layer: 4 - Components
 * ========================================================================== */

/* --- 1. 折叠后的侧边栏宽度 --- */

:where(.css-dev-only-do-not-override).ant-menu-inline-collapsed {
  width: var(--sidebar-collapsed-width) !important;
}

/* --- 2. 头部下拉菜单子弹层 --- */

.ant-menu-submenu-popup.header-nav-submenu-popup {
  background: var(--header-background-color) !important;
}

.ant-menu-submenu-popup.header-nav-submenu-popup > .ant-menu {
  background: var(--header-background-color) !important;
  border: 1px solid var(--color-border-default, var(--border-color, #d9d9d9)) !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12) !important;
}

.ant-menu-submenu-popup.header-nav-submenu-popup .ant-menu-item {
  color: var(--header-text-color, var(--color-text, #262626)) !important;
  min-width: 160px;
  height: 40px;
  line-height: 40px;
}

.ant-menu-submenu-popup.header-nav-submenu-popup .ant-menu-item:hover,
.ant-menu-submenu-popup.header-nav-submenu-popup .ant-menu-item:focus {
  color: var(--header-text-hover, var(--header-menu-hover-color, #1677ff)) !important;
  background: var(--header-bg-hover, var(--header-menu-hover-bg, rgba(24, 144, 255, 0.1))) !important;
}

.ant-menu-submenu-popup.header-nav-submenu-popup .ant-menu-item-selected,
.ant-menu-submenu-popup.header-nav-submenu-popup .ant-menu-item-selected:hover {
  color: var(--header-text-selected, var(--header-menu-selected-color, #1677ff)) !important;
  background: var(
    --header-bg-selected,
    var(--header-menu-selected-bg, rgba(24, 144, 255, 0.15))
  ) !important;
}

.ant-menu-submenu-popup.header-nav-submenu-popup .ant-menu-submenu-title {
  color: var(--header-text-color, var(--color-text, #262626)) !important;
  height: 40px;
  line-height: 40px;
}

.ant-menu-submenu-popup.header-nav-submenu-popup .ant-menu-submenu-title:hover {
  color: var(--header-text-hover, var(--header-menu-hover-color, #1677ff)) !important;
  background: var(--header-bg-hover, var(--header-menu-hover-bg, rgba(24, 144, 255, 0.1))) !important;
}

/* --- 3. 头部右侧用户下拉 --- */

.header-right .ant-dropdown-menu {
  background: var(--header-background-color, #ffffff) !important;
  border: 1px solid var(--color-border-default, var(--border-color, #d9d9d9)) !important;
}

.header-right .ant-dropdown-menu-item {
  color: var(--header-text-color, var(--color-text, #262626)) !important;
}

.header-right .ant-dropdown-menu-item:hover,
.header-right .ant-dropdown-menu-item:focus {
  background: var(--header-bg-hover, var(--header-menu-hover-bg, rgba(24, 144, 255, 0.1))) !important;
  color: var(--header-text-hover, var(--header-menu-hover-color, #1677ff)) !important;
}

.header-right .ant-dropdown-menu-item:hover .anticon,
.header-right .ant-dropdown-menu-item:focus .anticon {
  color: var(--header-text-hover, var(--header-menu-hover-color, #1677ff)) !important;
}

/* --- 4. 侧边栏子菜单（展开态） --- */

.sidebar-nav-menu .ant-menu-submenu-popup,
.sidebar-menu .ant-menu-submenu-popup {
  background: var(--sidebar-background-color, var(--color-bg-container)) !important;
}

.sidebar-nav-menu .ant-menu-submenu-popup > .ant-menu,
.sidebar-menu .ant-menu-submenu-popup > .ant-menu {
  background: var(--sidebar-background-color, var(--color-bg-container)) !important;
  border: 1px solid var(--color-border-default, var(--border-color, #d9d9d9)) !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12) !important;
}

.sidebar-nav-menu .ant-menu-submenu-popup .ant-menu-item,
.sidebar-menu .ant-menu-submenu-popup .ant-menu-item {
  color: var(--sidebar-text-color, var(--color-text, #262626)) !important;
  min-width: 160px;
  height: 40px;
  line-height: 40px;
}

.sidebar-nav-menu .ant-menu-submenu-popup .ant-menu-item:hover,
.sidebar-menu .ant-menu-submenu-popup .ant-menu-item:hover {
  color: var(--sidebar-text-hover, var(--menu-hover-color, #1890ff)) !important;
  background: var(--sidebar-bg-hover, var(--menu-hover-bg, rgba(24, 144, 255, 0.15))) !important;
}

.sidebar-nav-menu .ant-menu-submenu-popup .ant-menu-item-selected,
.sidebar-nav-menu .ant-menu-submenu-popup .ant-menu-item-selected:hover,
.sidebar-menu .ant-menu-submenu-popup .ant-menu-item-selected,
.sidebar-menu .ant-menu-submenu-popup .ant-menu-item-selected:hover {
  color: var(
    --sidebar-text-selected,
    var(--menu-selected-color, var(--primary-color-text, #ffffff))
  ) !important;
  background: var(
    --sidebar-bg-selected,
    var(--menu-selected-bg, var(--primary-color, #1890ff))
  ) !important;
}

/* --- 5. 侧边栏折叠后浮层子菜单（深色背景） --- */

.ant-menu-submenu-popup.sidebar-submenu-popup {
  background: var(--sidebar-background-color, var(--sidebar-bg-color, #001529)) !important;
}

.ant-menu-submenu-popup.sidebar-submenu-popup .menu-item-content {
  display: inline-flex;
}

.ant-menu-submenu-popup.sidebar-submenu-popup > .ant-menu {
  background: var(--sidebar-background-color, var(--sidebar-bg-color, #001529)) !important;
  border: 1px solid var(--sidebar-border, rgba(255, 255, 255, 0.1)) !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15) !important;
}

.ant-menu-submenu-popup.sidebar-submenu-popup .ant-menu-item {
  color: var(--sidebar-text-color, #ffffff) !important;
  min-width: 180px;
  height: 40px;
  line-height: 40px;
}

.ant-menu-submenu-popup.sidebar-submenu-popup .ant-menu-item:hover {
  color: var(--sidebar-text-hover, #ffffff) !important;
  background: var(--sidebar-bg-hover, rgba(255, 255, 255, 0.12)) !important;
}

.ant-menu-submenu-popup.sidebar-submenu-popup .ant-menu-item-selected,
.ant-menu-submenu-popup.sidebar-submenu-popup .ant-menu-item-selected:hover {
  color: var(
    --sidebar-text-selected,
    var(--menu-selected-color, var(--primary-color-text, #ffffff))
  ) !important;
  background: var(
    --sidebar-bg-selected,
    var(--menu-selected-bg, var(--primary-color, #1890ff))
  ) !important;
}

.ant-menu-submenu-popup.sidebar-submenu-popup .ant-menu-submenu-title {
  color: var(--sidebar-text-color, #ffffff) !important;
  height: 40px;
  line-height: 40px;
}

.ant-menu-submenu-popup.sidebar-submenu-popup .ant-menu-submenu-title:hover {
  color: var(--sidebar-text-hover, #ffffff) !important;
  background: var(--sidebar-bg-hover, rgba(255, 255, 255, 0.12)) !important;
}

.ant-menu-submenu-popup.sidebar-submenu-popup .ant-menu-submenu-arrow {
  color: var(--sidebar-text-color, rgba(255, 255, 255, 0.65)) !important;
}

.ant-menu-submenu-popup.sidebar-submenu-popup .ant-menu-submenu-arrow:hover {
  color: var(--sidebar-text-hover, #ffffff) !important;
}

.ant-menu-submenu-popup.sidebar-submenu-popup .ant-menu .ant-menu-submenu > .ant-menu {
  background: var(--sidebar-background-color, var(--sidebar-bg-color, #001529)) !important;
}

/* ============================================================================
 * PathLess - Table Overrides
 * ----------------------------------------------------------------------------
 * 表格操作列、按钮、图标统一规范
 *
 * Layer: 4 - Components
 * ========================================================================== */

/* --- 1. 操作列：link/text 按钮统一为正方形 28x28 --- */

.ant-table-cell {
  .ant-btn.ant-btn-link,
  .ant-btn.ant-btn-text {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    /* width: 28px; */
    height: 28px;
    padding: 0;
    margin: 0 4px;

    .anticon {
      font-size: 14px;
    }

    &[disabled] {
      /* width: 28px; */
      height: 28px;
      padding: 0;
    }
  }
}

/* --- 2. 按钮文本对齐：span 内联 --- */

.ant-btn > span {
  display: inline-flex;
}

/* ============================================================================
 * PathLess - Page Header & Detail
 * ----------------------------------------------------------------------------
 * 页面标题、详情页、Form 间距
 *
 * Layer: 4 - Components
 * ========================================================================== */

/* --- 1. 页面头部 --- */

.page-header {
  padding: var(--spacing-3) var(--spacing-4);
}

.page-header .header-content .page-title {
  font-size: 20px;
  font-weight: var(--font-weight-bold);
  margin: 0 0 var(--spacing-2) 0;
  color: #fff;
  position: relative;
  display: inline-block;
}

.page-header .ant-input-search-button {
  color: #fff !important;
}

/* --- 2. 详情页 --- */

.page-detail {
  padding: var(--spacing-4);

  .page-title {
    font-size: 18px;
    font-weight: var(--font-weight-semibold);
    color: #fff;
  }
}

/* --- 3. Form 项间距统一 --- */

.ant-drawer .ant-drawer-content .ant-form-item,
.page-content .ant-form-item,
.form-content .ant-form-item {
  margin-bottom: var(--spacing-3);
}

/* ============================================================================
 * PathLess - Spin Loading
 * ----------------------------------------------------------------------------
 * Ant Design Spin 加载状态统一规范
 *
 * Layer: 4 - Components
 * ========================================================================== */

/* 内容区 Spin 加载态：垂直居中 */

.ant-spin-container > .ant-spin-blur,
.ant-spin-container > .ant-spin-tip {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.ant-spin-nested-loading > .ant-spin-loading {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 小尺寸 inline 场景不居中 */

.ant-spin-nested-loading > .ant-spin-loading.ant-spin-sm,
.ant-spin-nested-loading > .ant-spin-loading.ant-spin-small {
  display: inline-flex;
}

/* 页面级 Spin 最小高度，避免布局抖动 */

.page-content > .ant-spin-nested-loading,
.detail-page > .ant-spin-nested-loading {
  min-height: 400px;
}

.page-content > .ant-spin-nested-loading > .ant-spin-loading,
.detail-page > .ant-spin-nested-loading > .ant-spin-loading {
  min-height: 400px;
}

/* ============================================================================
 * PathLess - AI Customer Service Drawer
 * ----------------------------------------------------------------------------
 * AI 客服抽屉专用样式
 *
 * Layer: 4 - Components
 * ========================================================================== */

.ai-cs-drawer {
  .ant-drawer-header {
    padding: var(--spacing-2) var(--spacing-4) !important;
    box-shadow: var(--shadow-sm) !important;
  }
}

/* ============================================================================
 * PathLess - Common Component Styles
 * ----------------------------------------------------------------------------
 * 组件级工具样式（多数业务组件共用的视觉模式）
 * 优先使用 tokens.css 中的 CSS 变量
 *
 * Layer: 4 - Components (公共)
 * ========================================================================== */

/* ===========================
 * 1. 统计卡片 .stat-card
 * =========================== */

.stat-card {
  display: flex;
  align-items: flex-start;
  gap: var(--spacing-3);
  /* padding: var(--spacing-3); */
  background: var(--color-bg-primary);
  border-radius: var(--radius-xl);
  border: 1px solid var(--color-border-light);
  transition: var(--transition-base);
  position: relative;
  overflow: hidden;

  &--clickable {
    cursor: pointer;

    &:hover {
      border-color: var(--color-primary-500);
      box-shadow: var(--shadow-colored-primary);
    }

    &:active {
      transform: scale(0.98);
    }
  }

  &--active {
    border-color: var(--color-primary-500);
    box-shadow:
      0 0 0 3px rgba(59, 130, 246, 0.15),
      0 4px 16px rgba(59, 130, 246, 0.12);
    background: linear-gradient(135deg,
      rgba(59, 130, 246, 0.03),
      rgba(59, 130, 246, 0.08));

    .stat-card__icon {
      transform: scale(1.05);
      box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
    }
  }

  &--primary .stat-card__icon {
    background: linear-gradient(135deg, var(--color-primary-500), var(--color-primary-300));
    color: #fff;
    box-shadow: 0 2px 8px rgba(59, 130, 246, 0.3);
  }

  &--success .stat-card__icon {
    background: linear-gradient(135deg, var(--color-success-500), var(--color-success-300));
    color: #fff;
    box-shadow: 0 2px 8px rgba(16, 185, 129, 0.3);
  }

  &--warning .stat-card__icon {
    background: linear-gradient(135deg, var(--color-warning-500), var(--color-warning-300));
    color: #fff;
    box-shadow: 0 2px 8px rgba(245, 158, 11, 0.3);
  }

  &--danger .stat-card__icon {
    background: linear-gradient(135deg, var(--color-error-500), var(--color-error-300));
    color: #fff;
    box-shadow: 0 2px 8px rgba(239, 68, 68, 0.3);
  }

  &--info .stat-card__icon {
    background: linear-gradient(135deg, #722ed1, #b37feb);
    color: #fff;
    box-shadow: 0 2px 8px rgba(114, 46, 209, 0.3);
  }

  /* 扩展色：青、粉（业务系统中常见） */
  &--cyan .stat-card__icon {
    background: linear-gradient(135deg, #06b6d4, #22d3ee);
    color: #fff;
    box-shadow: 0 2px 8px rgba(6, 182, 212, 0.3);
  }

  &--pink .stat-card__icon {
    background: linear-gradient(135deg, #ec4899, #f472b6);
    color: #fff;
    box-shadow: 0 2px 8px rgba(236, 72, 153, 0.3);
  }

  &__icon-wrap { flex-shrink: 0; }

  &__icon {
    width: 44px;
    height: 44px;
    border-radius: var(--radius-2xl, 14px);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    transition: var(--transition-base);
    box-shadow: var(--shadow-xs);

    :deep(.anticon),
    .anticon {
      font-size: 20px;
      display: flex;
      align-items: center;
      justify-content: center;
    }
  }

  &__content {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-1);
  }

  &__label {
    font-size: var(--font-size-sm);
    color: var(--color-text-tertiary);
    line-height: var(--line-height-snug);
  }

  &__value {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary);
    line-height: var(--line-height-tight);
    font-family: var(--font-family-display);
  }

  &__extra {
    font-size: var(--font-size-xs);
    color: var(--color-text-tertiary);
    margin-top: 2px;
  }

  &__trend {
    position: absolute;
    top: var(--spacing-3);
    right: var(--spacing-3);
    display: flex;
    align-items: center;
    gap: 2px;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
  }
}

/* ===========================
 * 1.1 统计卡片网格 .stat-grid
 * =========================== */

.stat-grid {
  display: grid;
  grid-template-columns: repeat(var(--stat-grid-cols, 4), 1fr);
  gap: var(--spacing-3);
  margin-bottom: var(--spacing-3);
}

@media (max-width: 1200px) {
  .stat-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 768px) {
  .stat-grid { grid-template-columns: repeat(2, 1fr); gap: var(--spacing-2-5); }
  .stat-grid .stat-card { padding: var(--spacing-3); }
  .stat-grid .stat-card__icon { width: 36px; height: 36px; font-size: 16px; }
  .stat-grid .stat-card__value { font-size: var(--font-size-lg); }
}

@media (max-width: 480px) {
  .stat-grid { grid-template-columns: 1fr; }
}

/* ===========================
 * 2. 优先级标记 .priority-flag
 * =========================== */

.priority-flag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  padding: var(--spacing-1);
  border-radius: var(--radius-sm);
  transition: var(--transition-fast);

  &.priority-high { color: var(--color-error-500); }
  &.priority-normal { color: var(--color-primary-500); }
  &.priority-low { color: var(--color-success-500); }

  &:hover {
    background: var(--color-bg-tertiary);
  }
}

/* ===========================
 * 3. 回到顶部 .back-to-top
 * =========================== */

.back-to-top {
  position: fixed;
  bottom: 40px;
  right: 24px;
  z-index: var(--z-index-toast);
  width: 44px;
  height: 44px;
  border-radius: var(--radius-full);
  background: var(--color-primary-500);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  cursor: pointer;
  box-shadow: var(--shadow-lg);
  transition: var(--transition-base);
  border: none;

  &:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3);
    background: var(--color-primary-600);
  }

  &:active {
    transform: translateY(0);
  }
}

@media (max-width: 768px) {
  .back-to-top {
    bottom: 24px;
    right: 16px;
    width: 40px;
    height: 40px;
    font-size: 18px;
  }
}

/* ===========================
 * 4. Hero 页面头部 .page-hero
 * =========================== */

.page-hero {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 32px;
  margin-bottom: var(--spacing-3);
  background: linear-gradient(135deg, #1677ff 0%, #0958d9 100%);
  border-radius: var(--radius-2xl);
  color: white;
  overflow: hidden;
  transition: var(--transition-base);

  &__bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
  }

  &__circle {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
  }

  &__circle--1 {
    width: 200px;
    height: 200px;
    top: -60px;
    right: -40px;
  }

  &__circle--2 {
    width: 120px;
    height: 120px;
    bottom: -30px;
    right: 200px;
  }

  &__line {
    position: absolute;
    height: 1px;
    background: rgba(255, 255, 255, 0.12);
  }

  &__line--1 {
    width: 300px;
    top: 30%;
    right: 10%;
    transform: rotate(-15deg);
  }

  &__line--2 {
    width: 200px;
    bottom: 25%;
    right: 30%;
    transform: rotate(10deg);
  }

  &__dot {
    position: absolute;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
  }

  &__dot--1 {
    top: 20%;
    right: 25%;
  }

  &__dot--2 {
    bottom: 30%;
    right: 15%;
  }

  &__content {
    flex: 1;
    position: relative;
    z-index: 1;
  }

  &__title {
    margin: 0 0 var(--spacing-2) 0;
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
    color: white;
  }

  &__description {
    font-size: var(--font-size-base);
    color: rgba(255, 255, 255, 0.85);
    margin: 0;
    max-width: 500px;
  }

  &__actions {
    position: relative;
    z-index: 1;
    display: flex;
    gap: var(--spacing-3);
    align-items: center;
    flex-shrink: 0;
  }

  &__actions .ant-btn {
    border-radius: var(--radius-lg);
    font-weight: var(--font-weight-medium);
    transition: var(--transition-base);
  }

  &__actions .ant-btn-default {
    background: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.3);
    color: white;

    &:hover {
      background: rgba(255, 255, 255, 0.25);
      border-color: rgba(255, 255, 255, 0.5);
      color: white;
    }
  }

  &__actions .ant-btn-primary {
    background: white;
    border-color: white;
    color: #1677ff;

    &:hover {
      background: rgba(255, 255, 255, 0.9);
      border-color: rgba(255, 255, 255, 0.9);
      color: #0958d9;
    }
  }
}

@media (max-width: 768px) {
  .page-hero {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--spacing-4);
    padding: var(--spacing-5);

    .page-hero__title { font-size: var(--font-size-lg); }
    .page-hero__actions { width: 100%; }
    .page-hero__actions .ant-btn {
      flex: 1;
      justify-content: center;
    }
  }
}

/* ===========================
 * 5. 批量操作工具栏 .batch-toolbar
 * =========================== */

.batch-toolbar {
  margin-bottom: var(--spacing-3);
  padding: var(--spacing-2) var(--spacing-4);
  background: var(--color-bg-primary);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-xl);
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-shadow: var(--shadow-sm);

  > span {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-primary);
  }

  .ant-btn {
    height: 36px;
    border-radius: var(--radius-md);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    padding: var(--spacing-1) var(--spacing-4);
    transition: var(--transition-base);

    &:hover {
      transform: translateY(-1px);
    }

    &[danger] {
      &:hover {
        background: rgba(239, 68, 68, 0.05);
        border-color: var(--color-error-500);
        color: var(--color-error-500);
      }
    }
  }
}

.batch-toolbar-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

@media (max-width: 768px) {
  .batch-toolbar {
    flex-direction: column;
    gap: var(--spacing-3);
    align-items: flex-start;

    > span { font-size: var(--font-size-sm); }
  }
}

/* ===========================
 * 6. 列表项 .list-item
 * =========================== */

.list-item {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  padding: 0;
  background: var(--color-bg-primary);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--color-border-light);
  margin-bottom: var(--spacing-3);
  transition: var(--transition-base);
  cursor: pointer;

  &:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
    border-color: var(--color-primary-500);
  }

  &--dragging { opacity: 0.5; }

  &--drag-over {
    border-top: 2px solid var(--color-primary-500);
  }

  &__inner {
    flex: 1;
    min-width: 0;
    padding: var(--spacing-4);
    transition: transform var(--duration-base) var(--easing-default);
  }

  &__title {
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary);
    margin-bottom: var(--spacing-1);
    line-height: var(--line-height-snug);
  }

  &__description {
    font-size: var(--font-size-sm);
    color: var(--color-text-secondary);
    line-height: var(--line-height-snug);
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }
}

/* ===========================
 * 7. 列表搜索 .list-search
 * =========================== */

.list-search {
  margin-bottom: var(--spacing-3);
  padding: var(--spacing-3) var(--spacing-4);
  background: var(--color-bg-primary);
  border-radius: var(--radius-xl);
  display: flex;
  gap: var(--spacing-2);
  align-items: center;

  .ant-input-search { flex: 1; }

  .sort-btn { flex-shrink: 0; }
}

@media (max-width: 768px) {
  .list-search { flex-direction: column; }
  .list-search .sort-btn { width: 100%; }
}

/* ===========================
 * 8. 卡片网格 .card-grid
 * =========================== */

.card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: var(--spacing-5);
  margin-bottom: var(--spacing-3);
}

@media (max-width: 768px) {
  .card-grid {
    grid-template-columns: 1fr;
  }
}

/* ===========================
 * 9. 加载更多指示器
 * =========================== */

.load-more-indicator {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-2);
  padding: var(--spacing-4);
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
}

.no-more-indicator {
  text-align: center;
  padding: var(--spacing-3);
  color: var(--color-text-tertiary);
  font-size: var(--font-size-sm);
}

/* ===========================
 * 10. 滑动操作（移动端列表）
 * =========================== */

.swipe-actions {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  display: flex;
  z-index: 1;
  transition: transform var(--duration-base) var(--easing-default);
}

.swipe-action-btn {
  height: 100%;
  padding: 0 var(--spacing-4);
  border: none;
  color: #fff;
  font-size: var(--font-size-sm);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-1);
  white-space: nowrap;
  transition: opacity var(--duration-fast) var(--easing-default);

  &:active { opacity: 0.8; }
}

/* ===========================
 * 11. 列表容器 .list-container
 * =========================== */

.list-container {
  padding: var(--spacing-4);
  background: var(--color-bg-secondary);
}

@media (min-width: 768px) {
  .list-container {
    height: 100%;
    display: flex;
    flex-direction: column;
  }
}

@media (max-width: 767px) {
  .list-container {
    height: auto;
    display: block;
    overflow: visible;
    padding: var(--spacing-2);
  }
}

/* ===========================
 * 12. 视图切换按钮组
 * =========================== */

.view-switch {
  .ant-radio-button-wrapper {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 var(--spacing-2-5);
    height: 32px;
  }
}

/* ===========================
 * 13. 移动端滑动列表项 hover 效果取消
 * =========================== */

@media (prefers-reduced-motion: reduce) {
  .list-item:hover,
  .batch-toolbar .ant-btn:hover {
    transform: none;
  }
}

/* ============================================================================
 * PathLess - Workflow & Process Nodes
 * ----------------------------------------------------------------------------
 * 工作流编辑器节点统一样式
 * 4 个节点（Start / End / Approval / Condition）共享同一基础结构：
 *   .workflow-node > .node-content + .connection-point
 *
 * Layer: 4 - Components
 * ========================================================================== */

/* ===========================
 * 1. 基础节点
 * =========================== */

.workflow-node {
  position: absolute;
  background: var(--color-bg-primary);
  border-radius: var(--radius-lg);
  cursor: move;
  box-shadow: var(--shadow-sm);
  border: 2px solid var(--color-border-default);
  transition: var(--transition-base);
  user-select: none;
}

.workflow-node:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}

.workflow-node.selected {
  border-color: var(--color-primary-500);
  box-shadow:
    0 0 0 3px rgba(59, 130, 246, 0.2),
    var(--shadow-md);
}

.workflow-node.active {
  border-color: var(--color-warning-500);
  animation: pl-workflow-pulse 1.5s ease-in-out infinite;
}

@keyframes pl-workflow-pulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(245, 158, 11, 0.4);
  }
  50% {
    box-shadow: 0 0 0 8px rgba(245, 158, 11, 0);
  }
}

/* ===========================
 * 2. 节点内容
 * =========================== */

.workflow-node .node-content {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0 var(--spacing-4);
  color: var(--color-text-primary);
}

.workflow-node .node-icon {
  width: 20px;
  height: 20px;
  margin-right: var(--spacing-2);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.workflow-node .node-icon svg {
  width: 100%;
  height: 100%;
}

.workflow-node .node-label {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-medium);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
  min-width: 0;
}

/* ===========================
 * 3. 连接点
 * =========================== */

.workflow-node .connection-point {
  position: absolute;
  width: 12px;
  height: 12px;
  background: var(--color-bg-primary);
  border: 2px solid var(--color-primary-500);
  border-radius: var(--radius-full);
  cursor: crosshair;
  transition: var(--transition-fast);
  z-index: 10;
}

.workflow-node .connection-point:hover {
  transform: scale(1.3);
  background: var(--color-primary-500);
}

.workflow-node .connection-point.input {
  left: -6px;
  top: 50%;
  transform: translateY(-50%);
}

.workflow-node .connection-point.input:hover {
  transform: translateY(-50%) scale(1.3);
}

.workflow-node .connection-point.output {
  right: -6px;
  top: 50%;
  transform: translateY(-50%);
}

.workflow-node .connection-point.output:hover {
  transform: translateY(-50%) scale(1.3);
}

/* ===========================
 * 4. 节点变体
 * =========================== */

/* Start Node（绿色渐变） */

.workflow-node--start {
  width: 120px;
  height: 60px;
  border: none;
  border-radius: 30px;
  color: #ffffff;
  background: linear-gradient(135deg, var(--color-success-500), var(--color-success-700));
  box-shadow: 0 2px 8px rgba(16, 185, 129, 0.3);
}

.workflow-node--start:hover {
  box-shadow: 0 4px 16px rgba(16, 185, 129, 0.4);
}

.workflow-node--start .node-content {
  color: #ffffff;
}

.workflow-node--start .connection-point {
  border-color: var(--color-success-500);
}

.workflow-node--start .connection-point:hover {
  background: var(--color-success-500);
}

/* End Node（红色渐变） */

.workflow-node--end {
  width: 120px;
  height: 60px;
  border: none;
  border-radius: 30px;
  color: #ffffff;
  background: linear-gradient(135deg, var(--color-error-500), var(--color-error-700));
  box-shadow: 0 2px 8px rgba(239, 68, 68, 0.3);
}

.workflow-node--end:hover {
  box-shadow: 0 4px 16px rgba(239, 68, 68, 0.4);
}

.workflow-node--end .node-content {
  color: #ffffff;
}

.workflow-node--end .connection-point {
  border-color: var(--color-error-500);
}

.workflow-node--end .connection-point:hover {
  background: var(--color-error-500);
}

.workflow-node--end.completed {
  background: linear-gradient(135deg, var(--color-success-500), var(--color-success-700));
  box-shadow: 0 2px 8px rgba(16, 185, 129, 0.3);
}

.workflow-node--end.completed .connection-point {
  border-color: var(--color-success-500);
}

.workflow-node--end.completed .connection-point:hover {
  background: var(--color-success-500);
}

/* Approval Node（白底圆角方形） */

.workflow-node--approval {
  width: 180px;
  border-radius: var(--radius-md);
  background: var(--color-bg-primary);
  border: 2px solid var(--color-border-default);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.workflow-node--approval .node-content {
  flex-direction: column;
  align-items: stretch;
  height: auto;
  padding: var(--spacing-3);
}

.workflow-node--approval .node-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--spacing-2);
}

.workflow-node--approval .node-icon {
  width: 24px;
  height: 24px;
  margin-right: 0;
  color: var(--color-primary-500);
}

.workflow-node--approval .node-body {
  text-align: center;
}

.workflow-node--approval .node-desc {
  font-size: var(--font-size-xs);
  color: var(--color-text-tertiary);
  margin-bottom: var(--spacing-2);
}

.workflow-node--approval .node-assignees {
  margin-top: var(--spacing-2);
}

.workflow-node--approval .assignee-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-1);
  flex-wrap: wrap;
}

.workflow-node--approval .assignee-tag {
  font-size: 11px;
  padding: 2px 6px;
  background: var(--color-neutral-100);
  border-radius: var(--radius-sm);
  color: var(--color-text-secondary);
}

.workflow-node--approval .more-tag {
  font-size: 11px;
  padding: 2px 6px;
  background: var(--color-neutral-200);
  border-radius: var(--radius-sm);
  color: var(--color-text-tertiary);
}

.workflow-node--approval .node-status .status-badge {
  font-size: 11px;
  padding: 2px 6px;
  border-radius: var(--radius-sm);
  font-weight: var(--font-weight-medium);
}

.workflow-node--approval .status-badge.pending {
  background: var(--color-warning-50);
  color: var(--color-warning-600);
}

.workflow-node--approval .status-badge.processing {
  background: var(--color-primary-50);
  color: var(--color-primary-600);
}

.workflow-node--approval .status-badge.completed {
  background: var(--color-success-50);
  color: var(--color-success-600);
}

.workflow-node--approval .status-badge.rejected {
  background: var(--color-error-50);
  color: var(--color-error-600);
}

.workflow-node--approval.selected {
  border-color: var(--color-primary-500);
}

.workflow-node--approval.completed {
  border-color: var(--color-success-500);
}

.workflow-node--approval.rejected {
  border-color: var(--color-error-500);
}

.workflow-node--approval .approval-mode {
  position: absolute;
  top: -10px;
  right: 8px;
}

.workflow-node--approval .mode-badge {
  font-size: 10px;
  padding: 2px 6px;
  background: var(--color-primary-500);
  color: #ffffff;
  border-radius: 10px;
  font-weight: var(--font-weight-medium);
}

/* Condition Node（蓝/紫渐变，菱形） */

.workflow-node--condition {
  width: 120px;
  height: 80px;
  border: 2px solid var(--color-primary-500);
  background: var(--color-primary-50);
  color: var(--color-primary-700);
  border-radius: var(--radius-md);
}

.workflow-node--condition .node-content {
  flex-direction: column;
  gap: 4px;
}

.workflow-node--condition .node-icon {
  margin-right: 0;
  color: var(--color-primary-500);
}

/* ===========================
 * 5. 完成徽章
 * =========================== */

.workflow-completion-badge {
  position: absolute;
  top: -8px;
  right: -8px;
  width: 24px;
  height: 24px;
  background: var(--color-success-500);
  border-radius: var(--radius-full);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  box-shadow: var(--shadow-md);
  animation: pl-badge-pop 0.3s ease;
}

.workflow-completion-badge svg {
  width: 14px;
  height: 14px;
}

@keyframes pl-badge-pop {
  0% { transform: scale(0); }
  50% { transform: scale(1.2); }
  100% { transform: scale(1); }
}

/* ============================================================================
 * PathLess - SVG 可视化编排设计器通用样式
 * ----------------------------------------------------------------------------
 * 统一 BPMN/AI编排/ETL/API编排/关系图 等设计器的视觉规范
 * 基于 --designer-* 设计令牌，确保所有设计器风格一致
 *
 * 参考标杆：n8n / Dify / LangFlow / Flowise / Make
 *
 * Layer: 4 - Components
 * ========================================================================== */

/* ===========================
 * 1. 设计器容器
 * =========================== */

.designer-container {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--designer-canvas-bg);
  overflow: hidden;
}

/* ===========================
 * 2. 工具栏
 * =========================== */

.designer-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-3);
  height: var(--designer-toolbar-height);
  padding: 0 var(--spacing-4);
  background: var(--designer-toolbar-bg);
  border-bottom: 1px solid var(--designer-toolbar-border);
  flex-shrink: 0;
  z-index: 10;
}

.designer-toolbar-group {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
}

.designer-toolbar-divider {
  width: 1px;
  height: 20px;
  background: var(--designer-toolbar-border);
  margin: 0 var(--spacing-1);
}

.designer-toolbar-zoom {
  display: flex;
  align-items: center;
  gap: var(--spacing-1);
  padding: 2px var(--spacing-2);
  background: var(--color-neutral-100, #f5f5f5);
  border-radius: var(--radius-md, 4px);
}

.designer-toolbar-zoom-value {
  min-width: 42px;
  text-align: center;
  font-size: var(--font-size-xs, 12px);
  color: var(--color-text-secondary, #6b7280);
  user-select: none;
}

/* ===========================
 * 3. 主体区域
 * =========================== */

.designer-body {
  display: flex;
  flex: 1;
  overflow: hidden;
}

/* ===========================
 * 4. 面板通用（节点面板 / 属性面板）
 * =========================== */

.designer-panel {
  background: var(--designer-panel-bg);
  border-right: 1px solid var(--designer-panel-border);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  flex-shrink: 0;
}

.designer-panel--right {
  border-right: none;
  border-left: 1px solid var(--designer-panel-border);
}

.designer-panel--left {
  width: var(--designer-panel-width-left);
}

.designer-panel--right {
  width: var(--designer-panel-width-right);
}

.designer-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--spacing-3) var(--spacing-4);
  border-bottom: 1px solid var(--designer-panel-border);
  flex-shrink: 0;
}

.designer-panel-title {
  font-size: var(--font-size-sm, 13px);
  font-weight: var(--font-weight-semibold, 600);
  color: var(--color-text-primary, #1f2937);
}

.designer-panel-body {
  flex: 1;
  overflow-y: auto;
  padding: var(--spacing-3) var(--spacing-4);
}

/* --- 面板搜索框 --- */

.designer-panel-search {
  padding: var(--spacing-2) var(--spacing-3);
  border-bottom: 1px solid var(--designer-panel-border);
  flex-shrink: 0;
}

/* --- 面板分组 --- */

.designer-panel-group {
  margin-bottom: var(--spacing-2);
}

.designer-panel-group-header {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  padding: var(--spacing-2) var(--spacing-3);
  cursor: pointer;
  user-select: none;
  font-size: var(--font-size-xs, 12px);
  font-weight: var(--font-weight-semibold, 600);
  color: var(--color-text-secondary, #6b7280);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: color 0.2s ease;
}

.designer-panel-group-header:hover {
  color: var(--color-text-primary, #1f2937);
}

.designer-panel-group-header .collapse-icon {
  transition: transform 0.2s ease;
  font-size: 10px;
}

.designer-panel-group-header.collapsed .collapse-icon {
  transform: rotate(0deg);
}

.designer-panel-group-header:not(.collapsed) .collapse-icon {
  transform: rotate(90deg);
}

.designer-panel-group-items {
  overflow: hidden;
  transition: max-height 0.2s ease;
}

.designer-panel-group-items.collapsed {
  max-height: 0;
}

/* --- 面板节点项 --- */

.designer-panel-item {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  padding: var(--spacing-2) var(--spacing-3);
  margin-bottom: 2px;
  border-radius: var(--radius-md, 4px);
  cursor: grab;
  transition: all 0.2s ease;
  user-select: none;
}

.designer-panel-item:hover {
  background: var(--color-primary-50, #eff6ff);
  color: var(--color-primary-500, #3b82f6);
  transform: translateX(2px);
}

.designer-panel-item:active {
  cursor: grabbing;
}

.designer-panel-item-icon {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-md, 4px);
  flex-shrink: 0;
  font-size: 14px;
}

.designer-panel-item-label {
  font-size: var(--font-size-xs, 12px);
  color: var(--color-text-primary, #374151);
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.designer-panel-item-desc {
  font-size: 10px;
  color: var(--color-text-tertiary, #9ca3af);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* --- 属性面板 section 折叠 --- */

.designer-section {
  margin-bottom: var(--spacing-3);
  border: 1px solid var(--designer-panel-border);
  border-radius: var(--radius-lg, 8px);
  overflow: hidden;
}

.designer-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--spacing-2) var(--spacing-3);
  background: var(--color-neutral-50, #fafbfc);
  cursor: pointer;
  user-select: none;
  font-size: var(--font-size-xs, 12px);
  font-weight: var(--font-weight-semibold, 600);
  color: var(--color-text-primary, #1f2937);
  transition: background 0.2s ease;
}

.designer-section-header:hover {
  background: var(--color-neutral-100, #f5f5f5);
}

.designer-section-body {
  padding: var(--spacing-3);
  transition: max-height 0.2s ease;
}

.designer-section.collapsed .designer-section-body {
  max-height: 0;
  padding: 0 var(--spacing-3);
  overflow: hidden;
}

/* ===========================
 * 5. 画布
 * =========================== */

.designer-canvas {
  flex: 1;
  position: relative;
  overflow: auto;
  background: var(--designer-canvas-bg);
  background-image: radial-gradient(
    circle,
    var(--designer-canvas-grid-color) 1px,
    transparent 1px
  );
  background-size: var(--designer-canvas-grid-size) var(--designer-canvas-grid-size);
  cursor: grab;
}

.designer-canvas:active {
  cursor: grabbing;
}

.designer-canvas-viewport {
  position: relative;
  width: 100%;
  height: 100%;
  transform-origin: 0 0;
}

/* ===========================
 * 6. 节点通用样式（HTML div 方案）
 * =========================== */

.designer-node {
  position: absolute;
  width: var(--designer-node-width);
  background: var(--designer-node-bg);
  border: 1px solid var(--designer-node-border);
  border-radius: var(--designer-node-radius);
  box-shadow: var(--designer-node-shadow);
  cursor: move;
  user-select: none;
  transition: box-shadow 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
  overflow: hidden;
}

.designer-node:hover {
  border-color: var(--designer-node-border-hover);
  box-shadow: var(--designer-node-shadow-hover);
  transform: translateY(-1px);
}

.designer-node.selected {
  border-color: var(--designer-node-border-selected);
  box-shadow: var(--designer-node-shadow-selected);
}

/* --- 节点类型色条（左侧） --- */

.designer-node::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: var(--designer-node-type-bar-width);
  background: var(--node-type-color, var(--color-primary-500, #3b82f6));
}

/* --- 节点头部 --- */

.designer-node-header {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  padding: var(--spacing-2) var(--spacing-3);
  padding-left: calc(var(--spacing-3) + var(--designer-node-type-bar-width));
}

.designer-node-icon {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-md, 4px);
  background: color-mix(in srgb, var(--node-type-color, #3b82f6) 12%, transparent);
  color: var(--node-type-color, var(--color-primary-500, #3b82f6));
  font-size: 14px;
  flex-shrink: 0;
}

.designer-node-title {
  font-size: var(--font-size-sm, 13px);
  font-weight: var(--font-weight-semibold, 600);
  color: var(--color-text-primary, #1f2937);
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.designer-node-status {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}

.designer-node-status--pending {
  background: var(--designer-status-pending);
}

.designer-node-status--running {
  background: var(--designer-status-running);
  box-shadow: 0 0 6px var(--designer-status-running);
  animation: designer-pulse 1.5s ease-in-out infinite;
}

.designer-node-status--success {
  background: var(--designer-status-success);
  box-shadow: 0 0 6px var(--designer-status-success);
}

.designer-node-status--error {
  background: var(--designer-status-error);
  box-shadow: 0 0 6px var(--designer-status-error);
}

/* --- 节点内容 --- */

.designer-node-body {
  padding: 0 var(--spacing-3) var(--spacing-2);
  padding-left: calc(var(--spacing-3) + var(--designer-node-type-bar-width));
  font-size: var(--font-size-xs, 12px);
  color: var(--color-text-secondary, #6b7280);
}

/* --- 节点运行状态动画 --- */

.designer-node--running {
  border-color: var(--designer-status-running);
  animation: designer-node-running 1.5s ease-in-out infinite;
}

.designer-node--success {
  border-color: var(--designer-status-success);
}

.designer-node--error {
  border-color: var(--designer-status-error);
  animation: designer-node-error 1s ease-in-out infinite;
}

@keyframes designer-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}

@keyframes designer-node-running {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.3), var(--designer-node-shadow);
  }
  50% {
    box-shadow: 0 0 0 6px rgba(59, 130, 246, 0), var(--designer-node-shadow);
  }
}

@keyframes designer-node-error {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.3), var(--designer-node-shadow);
  }
  50% {
    box-shadow: 0 0 0 6px rgba(239, 68, 68, 0), var(--designer-node-shadow);
  }
}

/* ===========================
 * 7. 端口
 * =========================== */

.designer-port {
  position: absolute;
  width: var(--designer-port-size);
  height: var(--designer-port-size);
  border-radius: 50%;
  background: var(--designer-port-color);
  border: 2px solid var(--designer-node-bg);
  cursor: crosshair;
  transition: all 0.2s ease;
  z-index: 5;
}

.designer-port:hover {
  background: var(--designer-port-color-hover);
  transform: scale(1.3);
  box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.15);
}

.designer-port.connected {
  background: var(--designer-port-color-connected);
}

.designer-port--top {
  top: calc(var(--designer-port-size) / -2);
  left: 50%;
  transform: translateX(-50%);
}

.designer-port--bottom {
  bottom: calc(var(--designer-port-size) / -2);
  left: 50%;
  transform: translateX(-50%);
}

.designer-port--left {
  left: calc(var(--designer-port-size) / -2);
  top: 50%;
  transform: translateY(-50%);
}

.designer-port--right {
  right: calc(var(--designer-port-size) / -2);
  top: 50%;
  transform: translateY(-50%);
}

.designer-port--top:hover,
.designer-port--bottom:hover {
  transform: translateX(-50%) scale(1.3);
}

.designer-port--left:hover,
.designer-port--right:hover {
  transform: translateY(-50%) scale(1.3);
}

/* ===========================
 * 8. 连线（SVG）
 * =========================== */

.designer-edge {
  fill: none;
  stroke: var(--designer-edge-color);
  stroke-width: var(--designer-edge-width);
  transition: stroke 0.2s ease, stroke-width 0.2s ease;
  cursor: pointer;
}

.designer-edge:hover {
  stroke: var(--designer-edge-color-hover);
  stroke-width: var(--designer-edge-width-hover);
}

.designer-edge.selected {
  stroke: var(--designer-edge-color-selected);
  stroke-width: var(--designer-edge-width-selected);
}

.designer-edge.running {
  stroke: var(--designer-edge-color-running);
  stroke-dasharray: 8, 4;
  animation: designer-edge-flow 0.8s linear infinite;
}

.designer-edge.success {
  stroke: var(--designer-edge-color-success);
}

.designer-edge.error {
  stroke: var(--designer-edge-color-error);
  animation: designer-edge-error-pulse 1s ease-in-out infinite;
}

@keyframes designer-edge-flow {
  to {
    stroke-dashoffset: -12;
  }
}

@keyframes designer-edge-error-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}

/* --- 连线 hit-area（透明加宽，便于点击） --- */

.designer-edge-hitarea {
  fill: none;
  stroke: transparent;
  stroke-width: 16px;
  cursor: pointer;
}

/* ===========================
 * 9. 右键菜单
 * =========================== */

.designer-context-menu {
  position: fixed;
  min-width: 160px;
  background: var(--designer-panel-bg);
  border: 1px solid var(--designer-panel-border);
  border-radius: var(--radius-lg, 8px);
  box-shadow: var(--shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, 0.1));
  padding: var(--spacing-1) 0;
  z-index: 1000;
}

.designer-context-menu-item {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  padding: var(--spacing-2) var(--spacing-3);
  font-size: var(--font-size-xs, 12px);
  color: var(--color-text-primary, #1f2937);
  cursor: pointer;
  transition: background 0.2s ease;
}

.designer-context-menu-item:hover {
  background: var(--color-primary-50, #eff6ff);
  color: var(--color-primary-500, #3b82f6);
}

.designer-context-menu-item.danger {
  color: var(--color-error-500, #ef4444);
}

.designer-context-menu-item.danger:hover {
  background: var(--color-error-50, #fef2f2);
}

.designer-context-menu-divider {
  height: 1px;
  background: var(--designer-panel-border);
  margin: var(--spacing-1) 0;
}

/* ===========================
 * 10. 缩略图
 * =========================== */

.designer-minimap {
  position: absolute;
  bottom: var(--spacing-4);
  right: var(--spacing-4);
  width: 160px;
  height: 100px;
  background: var(--designer-panel-bg);
  border: 1px solid var(--designer-panel-border);
  border-radius: var(--radius-lg, 8px);
  box-shadow: var(--shadow-md, 0 4px 6px -1px rgba(0, 0, 0, 0.1));
  overflow: hidden;
  z-index: 5;
  transition: opacity 0.2s ease;
}

.designer-minimap:hover {
  opacity: 0.8;
}

/* ===========================
 * 11. 图例
 * =========================== */

.designer-legend {
  position: absolute;
  bottom: var(--spacing-4);
  left: var(--spacing-4);
  display: flex;
  align-items: center;
  gap: var(--spacing-4);
  padding: var(--spacing-2) var(--spacing-3);
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid var(--designer-panel-border);
  border-radius: var(--radius-lg, 8px);
  box-shadow: var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.1));
  z-index: 5;
}

.designer-legend-item {
  display: flex;
  align-items: center;
  gap: var(--spacing-1);
  font-size: var(--font-size-xs, 12px);
  color: var(--color-text-secondary, #6b7280);
}

.designer-legend-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

.designer-legend-line {
  width: 24px;
  height: 2px;
}

/* ===========================
 * 12. 空状态
 * =========================== */

.designer-empty {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: var(--color-text-tertiary, #9ca3af);
}

.designer-empty-icon {
  font-size: 48px;
  margin-bottom: var(--spacing-3);
  opacity: 0.4;
}

.designer-empty-text {
  font-size: var(--font-size-sm, 13px);
}

/* ===========================
 * 13. 滚动条统一
 * =========================== */

.designer-panel-body::-webkit-scrollbar,
.designer-canvas::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

.designer-panel-body::-webkit-scrollbar-track,
.designer-canvas::-webkit-scrollbar-track {
  background: transparent;
}

.designer-panel-body::-webkit-scrollbar-thumb,
.designer-canvas::-webkit-scrollbar-thumb {
  background: var(--designer-scrollbar-thumb, #d1d5db);
  border-radius: 3px;
}

.designer-panel-body::-webkit-scrollbar-thumb:hover,
.designer-canvas::-webkit-scrollbar-thumb:hover {
  background: var(--designer-scrollbar-thumb-hover, #9ca3af);
}

/* ============================================================================
 * PathLess - Banner & Announcement
 * ----------------------------------------------------------------------------
 * 公告 / Banner 统一样式
 *
 * Layer: 4 - Components
 * ========================================================================== */

.pl-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 var(--spacing-4);
  height: 40px;
  min-height: 40px;
  font-size: var(--font-size-sm);
  line-height: 40px;
  color: #ffffff;
  cursor: default;
  position: relative;
  z-index: 50;
  flex-shrink: 0;
  overflow: hidden;

  /* 变体：渐变色 */
  &--system { background: linear-gradient(135deg, var(--color-primary-500), var(--color-primary-700)); }
  &--maintenance {
    background: linear-gradient(135deg, var(--color-warning-500), var(--color-warning-700));
    color: #5c3d00;
  }
  &--urgent { background: linear-gradient(135deg, var(--color-error-500), var(--color-error-700)); }
  &--important { background: linear-gradient(135deg, #fa8c16, #d46b08); }
  &--update { background: linear-gradient(135deg, #722ed1, #531dab); }
  &--activity { background: linear-gradient(135deg, var(--color-success-500), var(--color-success-700)); }

  &__content {
    display: flex;
    align-items: center;
    flex: 1;
    min-width: 0;
    cursor: pointer;
    transition: opacity var(--duration-fast) var(--easing-default);
    gap: 6px;

    &:hover { opacity: 0.9; }
  }

  &__icon {
    font-size: 15px;
    flex-shrink: 0;
  }

  &__priority {
    flex-shrink: 0;
    font-size: 11px;
    font-weight: var(--font-weight-semibold);
    padding: 0 5px;
    height: 18px;
    line-height: 18px;
    border-radius: var(--radius-sm);
    letter-spacing: 0.5px;
  }

  &__priority.urgent {
    background: rgba(255, 255, 255, 0.3);
    animation: pl-pulse 2s ease-in-out infinite;
  }

  &__priority.high {
    background: rgba(255, 255, 255, 0.2);
  }

  &__priority.medium {
    background: rgba(255, 255, 255, 0.15);
  }

  &__label {
    flex-shrink: 0;
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-xs);
    padding: 1px 6px;
    border-radius: var(--radius-sm);
  }

  &__title {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: var(--font-weight-normal);
    flex: 1;
    min-width: 0;
  }

  &__media-indicators {
    display: flex;
    align-items: center;
    gap: 3px;
    flex-shrink: 0;
  }

  &__media-icon {
    font-size: 13px;
    opacity: 0.85;
  }

  &__attach-icon {
    font-size: 13px;
    opacity: 0.75;
    flex-shrink: 0;
  }

  &__confirm-icon {
    font-size: 14px;
    opacity: 0.9;
    flex-shrink: 0;
    animation: pl-pulse 1.5s ease-in-out infinite;
  }

  &__actions {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
    margin-left: var(--spacing-3);
  }

  &__index {
    font-size: var(--font-size-xs);
    opacity: 0.7;
    margin-right: 4px;
  }

  &__nav-btn,
  &__close-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border: none;
    background: rgba(255, 255, 255, 0.15);
    color: inherit;
    border-radius: var(--radius-sm);
    cursor: pointer;
    font-size: var(--font-size-xs);
    transition: background var(--duration-fast) var(--easing-default);

    &:hover { background: rgba(255, 255, 255, 0.3); }
  }

  &--maintenance &__nav-btn,
  &--maintenance &__close-btn {
    background: rgba(92, 61, 0, 0.1);

    &:hover { background: rgba(92, 61, 0, 0.2); }
  }

  &__close-all-btn {
    margin-right: 4px;
    font-size: var(--font-size-base);
  }
}

@media (max-width: 768px) {
  .pl-banner {
    height: 36px;
    min-height: 36px;
    line-height: 36px;
    padding: 0 var(--spacing-3);
    font-size: var(--font-size-xs);

    &__icon { font-size: 13px; }
    &__priority {
      font-size: 10px;
      padding: 0 4px;
      height: 16px;
      line-height: 16px;
    }
    &__media-indicators,
    &__attach-icon { display: none; }
    &__index { display: none; }
    &__nav-btn,
    &__close-btn {
      width: 22px;
      height: 22px;
      font-size: 11px;
    }
  }
}

/* ===========================
 * 2. Banner Slide 过渡
 * =========================== */

.banner-slide-enter-active,
.banner-slide-leave-active {
  transition: all var(--duration-base) var(--easing-default);
}

.banner-slide-enter-from,
.banner-slide-leave-to {
  opacity: 0;
  transform: translateY(-100%);
  max-height: 0;
}

/* ============================================================================
 * PathLess - Page Layout (Views)
 * ----------------------------------------------------------------------------
 * 页面级业务通用样式（错误页、详情页、列表页、Modal 等）
 * 减少 views 目录下 200+ 文件的重复样式
 *
 * Layer: 4 - Components (Views)
 * ========================================================================== */

/* ===========================
 * 1. 错误页 .error-page
 * =========================== */

.error-page {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  padding: var(--spacing-4);
  background: linear-gradient(135deg, var(--color-bg-primary) 0%, var(--color-bg-secondary) 100%);
  background-size: 400% 400%;
  animation: pl-error-gradient-shift 25s ease infinite;
  scrollbar-width: none;
  -ms-overflow-style: none;
  box-sizing: border-box;
}

.error-page::-webkit-scrollbar { display: none; }

/* 网格背景 */

.error-page::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(59, 130, 246, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(59, 130, 246, 0.06) 1px, transparent 1px);
  background-size: 60px 60px;
  animation: pl-error-grid-move 40s linear infinite;
  z-index: 1;
}

/* 光晕效果 */

.error-page::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background:
    radial-gradient(circle at 30% 40%, rgba(59, 130, 246, 0.06) 0%, transparent 50%),
    radial-gradient(circle at 70% 60%, rgba(99, 102, 241, 0.05) 0%, transparent 50%);
  animation: pl-error-light-pulse 15s ease-in-out infinite;
  pointer-events: none;
  z-index: 1;
}

/* 变体：危险（403/500） */

.error-page--danger::before {
  background-image:
    linear-gradient(rgba(239, 68, 68, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(239, 68, 68, 0.04) 1px, transparent 1px);
}

.error-page--danger::after {
  background:
    radial-gradient(circle at 30% 40%, rgba(239, 68, 68, 0.05) 0%, transparent 50%),
    radial-gradient(circle at 70% 60%, rgba(251, 146, 60, 0.04) 0%, transparent 50%);
}

.error-page__content {
  position: relative;
  z-index: 10;
  text-align: center;
  width: 100%;
  max-width: 520px;
  background: var(--color-bg-primary);
  border: 1px solid rgba(59, 130, 246, 0.1);
  border-radius: var(--radius-2xl, 20px);
  padding: 40px var(--spacing-6);
  box-shadow:
    var(--shadow-xl),
    0 0 0 1px rgba(59, 130, 246, 0.06);
  backdrop-filter: blur(20px);
  box-sizing: border-box;
}

.error-page--danger .error-page__content {
  border-color: rgba(239, 68, 68, 0.1);
  box-shadow:
    var(--shadow-xl),
    0 0 0 1px rgba(239, 68, 68, 0.06);
}

.error-page__icon {
  font-size: 80px;
  color: rgba(59, 130, 246, 0.25);
  margin-bottom: var(--spacing-2);
  filter: drop-shadow(0 0 20px rgba(59, 130, 246, 0.1));
}

.error-page--danger .error-page__icon {
  color: rgba(239, 68, 68, 0.25);
  filter: drop-shadow(0 0 20px rgba(239, 68, 68, 0.1));
}

.error-page__code {
  font-size: 80px;
  font-weight: 800;
  background: linear-gradient(135deg, #3b82f6 0%, #2563eb 40%, #6366f1 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin: 0 0 var(--spacing-3) 0;
  line-height: 1;
  letter-spacing: 4px;
}

.error-page--danger .error-page__code {
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 40%, #f97316 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.error-page__title {
  font-size: 20px;
  font-weight: 600;
  color: var(--color-text-primary);
  margin: 0 0 var(--spacing-3) 0;
}

.error-page__description {
  font-size: 15px;
  color: var(--color-text-secondary);
  margin: 0 0 32px 0;
  line-height: 1.6;
}

.error-page__actions {
  margin-bottom: 32px;
}

.error-page__actions :deep(.ant-btn-primary) {
  background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
  border: none;
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);

  &:hover {
    background: linear-gradient(135deg, #60a5fa 0%, #3b82f6 100%);
    box-shadow: 0 6px 16px rgba(59, 130, 246, 0.4);
  }
}

.error-page--danger .error-page__actions :deep(.ant-btn-primary) {
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
  box-shadow: 0 4px 12px rgba(239, 68, 68, 0.3);

  &:hover {
    background: linear-gradient(135deg, #f87171 0%, #ef4444 100%);
    box-shadow: 0 6px 16px rgba(239, 68, 68, 0.4);
  }
}

.error-page__actions :deep(.ant-btn-default) {
  background: var(--color-bg-primary);
  border-color: var(--color-border-default);
  color: var(--color-text-secondary);
}

.error-page__actions :deep(.ant-btn-default):hover {
  color: var(--color-primary-600);
  border-color: rgba(59, 130, 246, 0.4);
}

.error-page--danger .error-page__actions :deep(.ant-btn-default):hover {
  color: var(--color-error-500);
  border-color: rgba(239, 68, 68, 0.4);
}

/* 提示链接块 */

.error-page__links {
  text-align: left;
  background: var(--color-neutral-50);
  padding: 20px var(--spacing-6);
  border-radius: var(--radius-xl, 12px);
  border: 1px solid var(--color-neutral-100);

  h3 {
    margin: 0 0 var(--spacing-3) 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--color-text-secondary);
    text-transform: uppercase;
    letter-spacing: 1px;
  }

  ul {
    margin: 0;
    padding-left: 0;
    list-style: none;
  }

  li {
    margin-bottom: var(--spacing-2);
    line-height: 1.5;

    &::before {
      content: '→';
      color: rgba(59, 130, 246, 0.5);
      margin-right: var(--spacing-2);
    }
  }

  a {
    color: var(--color-text-secondary);
    text-decoration: none;
    transition: var(--transition-base);
  }

  a:hover {
    color: var(--color-primary-600);
  }
}

.error-page--danger .error-page__links {
  li::before { color: rgba(239, 68, 68, 0.6); }
  a:hover { color: var(--color-error-500); }
}

/* 装饰几何元素 */

.error-page__geo {
  position: absolute;
  z-index: 2;
  opacity: 0.5;
  animation: pl-error-geo-float 20s ease-in-out infinite;
}

.error-page__geo--hex {
  width: 80px;
  height: 92px;
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
}

.error-page__geo--diamond {
  width: 50px;
  height: 50px;
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
}

.error-page__geo--triangle {
  width: 0;
  height: 0;
  border-left: 30px solid transparent;
  border-right: 30px solid transparent;
  border-bottom: 52px solid rgba(59, 130, 246, 0.06);
}

.error-page--danger .error-page__geo--triangle {
  border-bottom-color: rgba(239, 68, 68, 0.06);
}

.error-page__line {
  position: absolute;
  height: 1px;
  z-index: 2;
  opacity: 0.3;
}

.error-page__dots {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 120px;
  height: 120px;
  background-image: radial-gradient(circle, rgba(59, 130, 246, 0.12) 1px, transparent 1px);
  background-size: 15px 15px;
  z-index: 2;
  opacity: 0.4;
  animation: pl-error-dots-float 25s ease-in-out infinite;
}

.error-page--danger .error-page__dots {
  background-image: radial-gradient(circle, rgba(239, 68, 68, 0.12) 1px, transparent 1px);
}

/* 响应式 */

@media (max-width: 768px) {
  .error-page { padding: var(--spacing-3); }

  .error-page__content {
    padding: 28px var(--spacing-4);
    border-radius: var(--radius-xl, 16px);
  }

  .error-page__icon { font-size: 60px; }
  .error-page__code { font-size: 52px; }
  .error-page__title { font-size: 18px; }
  .error-page__description { font-size: 14px; margin-bottom: var(--spacing-6); }

  .error-page__actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: var(--spacing-6);
  }

  .error-page__actions .ant-btn {
    width: 100%;
  }

  .error-page__links { padding: var(--spacing-4); }

  .error-page__geo,
  .error-page__line { display: none; }
}

@media (max-width: 575px) {
  .error-page { padding: var(--spacing-2); }

  .error-page__content {
    padding: var(--spacing-6) var(--spacing-3);
    border-radius: var(--radius-xl, 12px);
  }

  .error-page__icon { font-size: 48px; }
  .error-page__code { font-size: 40px; letter-spacing: 2px; }
  .error-page__title { font-size: 16px; }
  .error-page__description { font-size: 13px; }
  .error-page__dots { display: none; }
}

/* 动画 */

@keyframes pl-error-gradient-shift {
  0% { background-position: 0% 50%; }
  25% { background-position: 50% 25%; }
  50% { background-position: 100% 50%; }
  75% { background-position: 50% 75%; }
  100% { background-position: 0% 50%; }
}

@keyframes pl-error-grid-move {
  0% { transform: translate(0, 0); }
  100% { transform: translate(60px, 60px); }
}

@keyframes pl-error-light-pulse {
  0%, 100% { transform: scale(1) rotate(0deg); opacity: 0.08; }
  50% { transform: scale(1.1) rotate(180deg); opacity: 0.12; }
}

@keyframes pl-error-geo-float {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-20px) rotate(5deg); }
  50% { transform: translateY(-10px) rotate(-3deg); }
  75% { transform: translateY(-25px) rotate(2deg); }
}

@keyframes pl-error-dots-float {
  0%, 100% { transform: translate(-50%, -50%) translateY(0); }
  50% { transform: translate(-50%, -50%) translateY(-15px); }
}

/* ===========================
 * 2. 列表页容器 .list-view
 * =========================== */

.list-view {
  padding: var(--spacing-4);
  background: var(--color-bg-secondary);
}

.list-view__header {
  margin-bottom: var(--spacing-3);
  padding: var(--spacing-3) var(--spacing-4);
  background: var(--color-bg-primary);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-xl);
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-shadow: var(--shadow-sm);
}

.list-view__filters {
  margin-bottom: var(--spacing-3);
  padding: var(--spacing-3) var(--spacing-4);
  background: var(--color-bg-primary);
  border-radius: var(--radius-xl);
  border: 1px solid var(--color-border-light);
}

.list-view__main {
  background: var(--color-bg-primary);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--color-border-light);
  overflow: hidden;
}

/* ===========================
 * 3. 搜索栏 .search-bar
 * =========================== */

.search-bar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-2-5);
  align-items: center;
  padding: var(--spacing-3) var(--spacing-4);
  background: var(--color-bg-primary);
  border-radius: var(--radius-xl);
  border: 1px solid var(--color-border-light);
}

.search-bar__field {
  flex: 1;
  min-width: 200px;
  max-width: 360px;
}

.search-bar__select {
  width: 160px;
  flex-shrink: 0;
}

.search-bar__actions {
  display: flex;
  gap: var(--spacing-2);
  flex-shrink: 0;
}

@media (max-width: 768px) {
  .search-bar { flex-direction: column; align-items: stretch; }
  .search-bar__field { max-width: 100%; min-width: 0; }
  .search-bar__select { width: 100%; }
  .search-bar__actions { width: 100%; }
  .search-bar__actions > * { flex: 1; }
}

/* ===========================
 * 4. 页面内容 .page-content
 * =========================== */

.page-content {
  padding: var(--spacing-4);
  min-height: 100%;
}

.page-content--bg-secondary { background: var(--color-bg-secondary); }

.page-content--nopad { padding: 0; }

@media (max-width: 768px) {
  .page-content { padding: var(--spacing-3); }
}

/* ===========================
 * 5. 详情页 .detail-view
 * =========================== */

.detail-view {
  padding: var(--spacing-4);
}

.detail-view__header {
  margin-bottom: var(--spacing-3);
  padding: var(--spacing-3) var(--spacing-4);
  background: var(--color-bg-primary);
  border-radius: var(--radius-xl);
  border: 1px solid var(--color-border-light);
  box-shadow: var(--shadow-sm);
}

.detail-view__title {
  margin: 0 0 var(--spacing-2) 0;
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
}

.detail-view__subtitle {
  font-size: var(--font-size-sm);
  color: var(--color-text-tertiary);
  margin: 0;
}

.detail-view__body {
  background: var(--color-bg-primary);
  border-radius: var(--radius-xl);
  padding: var(--spacing-4);
  border: 1px solid var(--color-border-light);
}

.detail-view__field {
  display: flex;
  align-items: center;
  padding: var(--spacing-2-5) 0;
  border-bottom: 1px dashed var(--color-border-light);
}

.detail-view__field:last-child { border-bottom: none; }

.detail-view__field-label {
  font-size: var(--font-size-sm);
  color: var(--color-text-tertiary);
  flex-shrink: 0;
  width: 120px;
  min-width: 120px;
}

.detail-view__field-value {
  flex: 1;
  min-width: 0;
  color: var(--color-text-primary);
  font-size: var(--font-size-base);
  word-break: break-all;
}

/* ===========================
 * 6. Modal 内容 .modal-form
 * =========================== */

.modal-form {
  :deep(.ant-form) { margin: 0; }
  :deep(.ant-form-item) { margin-bottom: var(--spacing-3) !important; }
  :deep(.ant-form-item-label) { padding-bottom: var(--spacing-1); }
  :deep(.ant-input),
  :deep(.ant-select-selector),
  :deep(.ant-picker),
  :deep(.ant-cascader-picker) {
    border-radius: var(--radius-md);
  }
}

@media (max-width: 768px) {
  .modal-form :deep(.ant-form) > :deep(.ant-row) {
    flex-direction: column;
  }
  .modal-form :deep(.ant-col-12) {
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }
}

/* ===========================
 * 7. 工具：行内多列
 * =========================== */

.row-stack-on-mobile :deep(.ant-row) {
  flex-direction: row;
}

@media (max-width: 768px) {
  .row-stack-on-mobile :deep(.ant-row) {
    flex-direction: column;
  }
  .row-stack-on-mobile :deep(.ant-col-12) {
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }
}

/* ===========================
 * 8. 卡片内头部
 * =========================== */

.section-header {
  display: flex;
  /* justify-content: space-between; */
  align-items: center;
  margin-bottom: var(--spacing-3);
  padding-bottom: var(--spacing-3);
  border-bottom: 1px solid var(--color-border-light);
}

.section-header__title {
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  margin: 0;
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
}

.section-header__subtitle {
  font-size: var(--font-size-xs);
  color: var(--color-text-tertiary);
  margin: 4px 0 0 0;
  font-weight: var(--font-weight-normal);
}

.section-header__actions {
  display: flex;
  gap: var(--spacing-2);
  flex-shrink: 0;
}

/* ===========================
 * 9. 空态 / 占位
 * =========================== */

.view-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 80px var(--spacing-4);
  text-align: center;
  background: var(--color-bg-primary);
  border-radius: var(--radius-xl);
  border: 1px dashed var(--color-border-default);
}

.view-empty__icon {
  font-size: 64px;
  color: var(--color-text-tertiary);
  margin-bottom: var(--spacing-3);
  opacity: 0.5;
}

.view-empty__title {
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
  margin: 0 0 var(--spacing-1) 0;
}

.view-empty__description {
  font-size: var(--font-size-sm);
  color: var(--color-text-tertiary);
  margin: 0 0 var(--spacing-3) 0;
  max-width: 400px;
}

/* ===========================
 * 10. 浮动工具条
 * =========================== */

.floating-toolbar {
  position: sticky;
  bottom: var(--spacing-3);
  display: flex;
  justify-content: flex-end;
  gap: var(--spacing-2);
  padding: var(--spacing-2-5) var(--spacing-4);
  background: var(--color-bg-primary);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-lg);
  border: 1px solid var(--color-border-light);
  z-index: var(--z-index-docked);
}

@media (max-width: 768px) {
  .floating-toolbar { flex-direction: column-reverse; }
  .floating-toolbar > * { width: 100%; }
}

/* ===========================
 * 11. 用户/对象卡片
 * =========================== */

.user-card {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
  padding: var(--spacing-3) var(--spacing-4);
  background: var(--color-bg-primary);
  border-radius: var(--radius-xl);
  border: 1px solid var(--color-border-light);
  transition: var(--transition-base);
}

.user-card:hover {
  border-color: var(--color-primary-500);
  box-shadow: var(--shadow-sm);
}

.user-card__avatar {
  flex-shrink: 0;
  background: var(--color-primary-50);
  color: var(--color-primary-600);
  font-weight: var(--font-weight-semibold);
}

.user-card__info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.user-card__name {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  line-height: var(--line-height-snug);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.user-card__email {
  font-size: var(--font-size-xs);
  color: var(--color-text-tertiary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.user-card__meta {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
  align-items: flex-end;
}

/* ===========================
 * 12. 头部高亮面板 .highlights-panel
 * 通用 Edit / Detail / Create 页头部高亮条
 * =========================== */

.highlights-panel {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  border-radius: var(--radius-xl, 16px);
  padding: 24px 32px;
  color: #fff;
  margin-bottom: var(--spacing-3);
  position: relative;
  overflow: hidden;
}

/* 几何图形装饰容器 */

.highlights-bg-decoration {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.highlights-circle {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.highlights-circle--1 {
  width: 120px;
  height: 120px;
  top: -30px;
  right: 10%;
}

.highlights-circle--2 {
  width: 80px;
  height: 80px;
  bottom: -20px;
  left: 15%;
}

.highlights-line {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}

.highlights-line--1 {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}

.highlights-line--2 {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}

.highlights-dot {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}

.highlights-dot--1 {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}

.highlights-dot--2 {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}

.highlights-dot--3 {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}

.highlights-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  z-index: 1;
}

.highlights-left {
  flex: 1;
  min-width: 0;
}

.highlights-left h2 {
  margin: 0;
  font-size: 22px;
  font-weight: var(--font-weight-semibold, 600);
  color: #fff;
}

.highlights-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  font-size: 13px;
  opacity: 0.85;
  color:  #fff;
}

.highlights-right {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
  z-index: 1;
}

.highlights-back-btn {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
}

.highlights-back-btn:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
}

.highlights-action-btn {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
  border-radius: 10px;
  font-weight: 500;
}

.highlights-action-btn:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
  color: #fff !important;
}

.highlights-tag {
  background: rgba(255, 255, 255, 0.2) !important;
  border: none !important;
  color:  #fff !important;
  font-size: 12px;
  padding: 2px 10px;
}

/* 移动端适配 */

@media (max-width: 768px) {
  .highlights-panel { padding: 16px 20px; }
  .highlights-content { flex-direction: column; align-items: flex-start; gap: 12px; }
  .highlights-left h2 { font-size: 18px; }
  .highlights-meta { flex-wrap: wrap; gap: 8px; font-size: 12px; }
  .highlights-right { width: 100%; flex-wrap: wrap; }
  .highlights-circle--1 { width: 80px; height: 80px; }
  .highlights-circle--2 { width: 50px; height: 50px; }
  .highlights-line--1 { width: 180px; }
  .highlights-line--2 { width: 120px; }
}

/* ============================================================================
 * PathLess - Hero 区域按钮统一样式
 * ----------------------------------------------------------------------------
 * 用于列表页面顶部 Hero 区域的按钮风格统一管理
 * 基于 Ant Design Vue 按钮风格，覆盖 Hero 渐变背景下的按钮表现
 *
 * 用法示例：
 *   <div class="hero-section">
 *     <div class="hero-btn-group">
 *       <a-button class="hero-btn-default">默认操作</a-button>
 *       <a-button class="hero-btn-primary" type="primary">主题操作</a-button>
 *       <a-button class="hero-btn-danger" danger>删除操作</a-button>
 *     </div>
 *   </div>
 *
 * Layer: 4 - Components (公共)
 * ========================================================================== */

/* ===========================
 * 1. Hero 区域容器
 * =========================== */

.hero-section {
  position: relative;
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%);
  border-radius: var(--radius-xl);
  padding: 24px 32px;
  margin-bottom: var(--spacing-4);
  color: #fff;
  overflow: hidden;
}

/* ===========================
 * 2. 按钮组容器
 * =========================== */

.hero-btn-group {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
  flex-wrap: wrap;
  align-items: center;
}

/* ===========================
 * 3. 默认按钮 - 次要操作（刷新、导出、展开等）
 * =========================== */

.header-actions .ant-btn-default,
.hero-section .ant-btn-default,
.hero-content .ant-btn-default,
.hero-btn-default {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.4);
  color: #fff;
  transition: all 0.3s ease;
}

.header-actions .ant-btn-default:hover,
.hero-section .ant-btn-default:hover,
.hero-content .ant-btn-default:hover,
.hero-btn-default:hover,
.header-actions .ant-btn-default:focus,
.hero-section .ant-btn-default:focus,
.hero-content .ant-btn-default:focus,
.hero-btn-default:focus {
  background: rgba(255, 255, 255, 0.15) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.6) !important;
}

/* ===========================
 * 4. 主题按钮 - 主要操作（创建、运行等）
 * =========================== */

.header-actions .ant-btn-primary,
.hero-section .ant-btn-primary,
.hero-content .ant-btn-primary,
.hero-btn-primary {
  background: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.4);
  color: #fff;
  transition: all 0.3s ease;
}

.header-actions .ant-btn-primary:hover,
.hero-section .ant-btn-primary:hover,
.hero-content .ant-btn-primary:hover,
.hero-btn-primary:hover,
.header-actions .ant-btn-primary:focus,
.hero-section .ant-btn-primary:focus,
.hero-content .ant-btn-primary:focus,
.hero-btn-primary:focus {
  background: rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.6) !important;
}

/* ===========================
 * 5. 危险按钮 - 删除/危险操作
 * =========================== */

.header-actions .ant-btn-danger,
.hero-section .ant-btn-danger,
.hero-content .ant-btn-danger,
.hero-btn-danger {
  font-weight: 500;
  background: rgba(245, 34, 45, 0.2);
  border: 1px solid rgba(245, 34, 45, 0.5);
  color: #fff;
  transition: all 0.3s ease;
}

.header-actions .ant-btn-danger:hover,
.hero-section .ant-btn-danger:hover,
.hero-content .ant-btn-danger:hover,
.hero-btn-danger:hover,
.header-actions .ant-btn-danger:focus,
.hero-section .ant-btn-danger:focus,
.hero-content .ant-btn-danger:focus,
.hero-btn-danger:focus {
  background: rgba(245, 34, 45, 0.45) !important;
  color: #fff !important;
  border-color: rgba(245, 34, 45, 0.8) !important;
}

/* ===========================
 * 6. 响应式适配 - 平板
 * =========================== */

@media (max-width: 991px) {
  .hero-section {
    padding: 20px 24px;
  }
}

/* ===========================
 * 7. 响应式适配 - 移动端
 * =========================== */

@media (max-width: 768px) {
  .hero-section {
    padding: 14px 16px;
    border-radius: var(--radius-xl);
  }
  .hero-btn-group {
    width: 100%;
    flex-direction: row;
  }
  .hero-btn-group .hero-btn-default,
  .hero-btn-group .hero-btn-primary,
  .hero-btn-group .hero-btn-danger {
    flex: 1;
    justify-content: center;
    height: 40px;
    padding: 0 16px;
    font-size: 14px;
  }
}

/* ===========================
 * 8. 响应式适配 - 小屏手机
 * =========================== */

@media (max-width: 575px) {
  .hero-btn-group {
    flex-direction: column;
  }
  .hero-btn-group .hero-btn-default,
  .hero-btn-group .hero-btn-primary,
  .hero-btn-group .hero-btn-danger {
    width: 100%;
    flex: none;
  }
}

/* 8. Responsive（最后，覆盖优先） */

/* ============================================================================
 * PathLess - Responsive Utilities
 * ----------------------------------------------------------------------------
 * 响应式断点工具类
 * 断点：xs<576, sm<768, md<992, lg<1200, xl<1400, xxl≥1400
 *
 * Layer: 3 - Utilities
 * ========================================================================== */

/* --- 0. 移动端防溢出 --- */

@media (max-width: 768px) {
  html,
  body {
    overflow-x: hidden;
    max-width: 100vw;
  }
}

/* ===========================
 * 1. 显隐类
 * =========================== */

/* 超小屏隐藏 */

@media (max-width: 576px) {
  .hide-on-xs { display: none !important; }
}

/* 移动端隐藏 */

@media (max-width: 768px) {
  .hide-on-mobile { display: none !important; }
}

/* 平板隐藏 */

@media (min-width: 576px) and (max-width: 992px) {
  .hide-on-tablet { display: none !important; }
}

/* 桌面端隐藏 */

@media (min-width: 992px) {
  .hide-on-desktop { display: none !important; }
}

/* 仅移动端显示 */

@media (max-width: 768px) {
  .show-on-mobile { display: block !important; }
}

@media (min-width: 769px) {
  .show-on-mobile { display: none !important; }
}

/* 仅超小屏显示 */

@media (max-width: 576px) {
  .show-on-xs { display: block !important; }
}

@media (min-width: 577px) {
  .show-on-xs { display: none !important; }
}

/* 仅桌面端显示 */

@media (min-width: 992px) {
  .show-on-desktop { display: block !important; }
}

@media (max-width: 991px) {
  .show-on-desktop { display: none !important; }
}

/* ===========================
 * 2. 移动端布局
 * =========================== */

@media (max-width: 768px) {
  .stack-on-mobile {
    flex-direction: column !important;
  }

  .stack-on-mobile > * {
    width: 100% !important;
    margin-bottom: var(--spacing-mobile-sm);
  }

  .stack-on-mobile > *:last-child { margin-bottom: 0; }

  .center-on-mobile {
    text-align: center !important;
    justify-content: center !important;
  }

  .block-on-mobile { display: block !important; }

  .flex-column-mobile { flex-direction: column !important; }
  .flex-wrap-mobile { flex-wrap: wrap !important; }
  .flex-1-mobile { flex: 1 !important; }
  .justify-center-mobile { justify-content: center !important; }
  .items-center-mobile { align-items: center !important; }
  .justify-between-mobile { justify-content: space-between !important; }
  .w-full-mobile { width: 100% !important; }
  .w-auto-mobile { width: auto !important; }
  .z-10-mobile { z-index: 10; }
  .z-50-mobile { z-index: 50; }
}

/* ===========================
 * 3. 移动端间距
 * =========================== */

@media (max-width: 768px) {
  .gap-mobile-sm { gap: var(--spacing-mobile-sm) !important; }
  .gap-mobile { gap: var(--spacing-mobile) !important; }

  .p-mobile-0 { padding: 0 !important; }
  .p-mobile-sm { padding: var(--spacing-mobile-sm) !important; }
  .p-mobile { padding: var(--spacing-mobile) !important; }
  .px-mobile-0 { padding-left: 0 !important; padding-right: 0 !important; }
  .px-mobile-sm { padding-left: var(--spacing-mobile-sm) !important; padding-right: var(--spacing-mobile-sm) !important; }
  .px-mobile { padding-left: var(--spacing-mobile) !important; padding-right: var(--spacing-mobile) !important; }
  .py-mobile-0 { padding-top: 0 !important; padding-bottom: 0 !important; }
  .py-mobile-sm { padding-top: var(--spacing-mobile-sm) !important; padding-bottom: var(--spacing-mobile-sm) !important; }
  .py-mobile { padding-top: var(--spacing-mobile) !important; padding-bottom: var(--spacing-mobile) !important; }
  .m-mobile-0 { margin: 0 !important; }
  .m-mobile-sm { margin: var(--spacing-mobile-sm) !important; }
  .mx-mobile-auto { margin-left: auto !important; margin-right: auto !important; }

  /* 边距抹平 */
  .remove-side-margins {
    margin-left: calc(-1 * var(--spacing-mobile)) !important;
    margin-right: calc(-1 * var(--spacing-mobile)) !important;
    padding-left: var(--spacing-mobile) !important;
    padding-right: var(--spacing-mobile) !important;
  }
}

/* ===========================
 * 4. 移动端字号
 * =========================== */

@media (max-width: 768px) {
  .text-mobile-xs { font-size: var(--font-size-xs) !important; }
  .text-mobile-sm { font-size: var(--font-size-mobile-sm) !important; }
  .text-mobile-base { font-size: var(--font-size-mobile) !important; }
  .text-mobile-lg { font-size: var(--font-size-md) !important; }
  .text-mobile-xl { font-size: var(--font-size-lg) !important; }
}

/* ===========================
 * 5. 触摸目标
 * =========================== */

@media (max-width: 768px) {
  .touch-target {
    min-width: var(--touch-target-min, 44px);
    min-height: var(--touch-target-min, 44px);
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
}

/* ===========================
 * 6. 横向滚动
 * =========================== */

@media (max-width: 768px) {
  .scroll-x-on-mobile {
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }
}

/* ===========================
 * 7. 响应式表格（横向滚动）
 * =========================== */

.responsive-table {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.responsive-table table {
  width: 100%;
  min-width: 640px;
}

/* ===========================
 * 8. 移动端列表卡片
 * =========================== */

@media (max-width: 768px) {
  .mobile-card-list {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-3);
    padding: 0;
  }

  .mobile-list-card {
    background: var(--color-bg-primary, #fff);
    border-radius: var(--radius-xl);
    box-shadow:
      0 1px 4px rgba(0, 0, 0, 0.06),
      0 1px 2px rgba(0, 0, 0, 0.04);
    border: 1px solid var(--color-border-light, #f0f0f0);
    overflow: hidden;
    transition: box-shadow var(--duration-base) var(--easing-default);
  }

  .mobile-list-card:active {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  }

  .mobile-list-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--spacing-3) var(--spacing-4) var(--spacing-2);
    gap: var(--spacing-2);
    flex-wrap: wrap;
  }

  .mobile-list-card-title {
    flex: 1;
    font-size: 15px;
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary, #262626);
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
  }

  .mobile-list-card-body {
    padding: var(--spacing-2) var(--spacing-4) var(--spacing-3);
  }

  .mobile-list-card-field {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-bottom: var(--spacing-2);
  }

  .mobile-list-card-field:last-child { margin-bottom: 0; }

  .mobile-list-card-field-label {
    font-size: var(--font-size-xs);
    color: var(--color-text-tertiary, #999);
  }

  .mobile-list-card-field-value {
    font-size: var(--font-size-sm);
    color: var(--color-text-secondary, #595959);
    line-height: 1.5;
    word-break: break-all;
  }

  .mobile-list-card-field-value.truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mobile-list-card-field-inline {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: var(--spacing-2);
    margin-bottom: 6px;
  }

  .mobile-list-card-field-inline .mobile-list-card-field-label {
    flex-shrink: 0;
    min-width: 60px;
    margin-bottom: 0;
  }

  .mobile-list-card-field-inline .mobile-list-card-field-value {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mobile-list-card-footer {
    padding: var(--spacing-2) var(--spacing-4);
    border-top: 1px solid var(--color-border-light, #f0f0f0);
    background-color: var(--color-bg-secondary, #fafafa);
    display: flex;
    gap: var(--spacing-2);
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
  }

  .mobile-list-card-footer .ant-btn {
    font-size: var(--font-size-sm);
    padding: var(--spacing-1) var(--spacing-3);
    height: 36px;
    border-radius: var(--radius-md);
    font-weight: var(--font-weight-medium);
    white-space: nowrap;
    flex: none;
  }

  .mobile-list-card-footer .ant-btn-icon-only {
    width: 36px;
    min-width: 36px;
    padding: 0;
  }

  .mobile-list-card-tags {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-1);
  }

  .mobile-list-card-tag {
    font-size: var(--font-size-xs);
    padding: 2px var(--spacing-2);
    border-radius: var(--radius-sm);
    line-height: 1.4;
  }

  /* 移动端按钮/表单元素保持PC尺寸，不自动放大 */
  .mobile-list-card-footer .ant-btn,
  .mobile-list-card-footer .ant-btn span,
  .mobile-list-card-footer .ant-btn .anticon,
  .mobile-list-card .ant-form-item,
  .mobile-list-card .ant-input,
  .mobile-list-card .ant-select-selector,
  .mobile-list-card .ant-picker,
  .mobile-list-card .ant-tag,
  .mobile-list-card .ant-badge {
    font-size: inherit !important;
    height: auto !important;
    min-height: auto !important;
    padding: inherit !important;
    border-radius: inherit !important;
    font-weight: inherit !important;
    white-space: inherit !important;
    flex: inherit !important;
  }

  .mobile-list-card-footer .ant-btn-icon-only {
    width: auto !important;
    min-width: auto !important;
    padding: 0 !important;
  }

  .mobile-list-card .ant-tag {
    padding: 0 4px !important;
    line-height: inherit !important;
  }

  .mobile-list-card .ant-badge-count {
    font-size: 10px !important;
    min-width: 16px !important;
    height: 16px !important;
    line-height: 16px !important;
  }
}

/* 超小屏（iPhone SE 等）微调 */

@media (max-width: 375px) {
  .mobile-list-card-header { padding: 10px var(--spacing-3) 6px; }
  .mobile-list-card-body { padding: 6px var(--spacing-3) 10px; }
  .mobile-list-card-footer { padding: 6px var(--spacing-3); }
  .mobile-list-card-title { font-size: 14px; }
}

/* ===========================
 * 9. 表格转移动端卡片（.table-as-cards）
 * =========================== */

@media (max-width: 768px) {
  .table-as-cards {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--spacing-3) !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
    width: 100% !important;
    overflow: visible !important;
  }

  .table-as-cards .ant-table-container,
  .table-as-cards .ant-table-content,
  .table-as-cards .ant-table-pagination,
  .table-as-cards .ant-table-thead,
  .table-as-cards .ant-table-column-sorter,
  .table-as-cards > .ant-card,
  .table-as-cards .ant-card,
  .table-as-cards .ant-empty { display: none !important; }

  .table-as-cards .ant-spin-nested-loading,
  .table-as-cards .ant-spin-container {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--spacing-3) !important;
  }

  .table-as-cards .ant-table-row {
    display: flex !important;
    flex-direction: column !important;
    background: var(--color-bg-primary, #fff) !important;
    border-radius: var(--radius-xl) !important;
    border: 1px solid var(--color-border-light, #f0f0f0) !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06) !important;
    width: 100% !important;
  }

  .table-as-cards .ant-table-cell {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: var(--spacing-3) var(--spacing-4) !important;
    border-bottom: 1px solid var(--color-border-light, #f0f0f0) !important;
    width: 100% !important;
    height: auto !important;
    min-height: auto !important;
  }

  .table-as-cards .ant-table-cell::before { display: none !important; }

  .table-as-cards .ant-table-cell:first-child {
    font-weight: var(--font-weight-semibold) !important;
    font-size: 15px !important;
    color: var(--color-text-primary, #262626) !important;
    background: var(--color-bg-primary, #fff) !important;
    border-radius: var(--radius-xl) var(--radius-xl) 0 0 !important;
    border-bottom: 2px solid var(--color-primary-500, #1890ff) !important;
  }

  .table-as-cards .ant-table-cell:last-child {
    border-bottom: none !important;
    padding: var(--spacing-3) var(--spacing-4) !important;
    justify-content: flex-start !important;
    gap: var(--spacing-3) !important;
    background: var(--color-bg-secondary, #fafafa) !important;
    border-radius: 0 0 var(--radius-xl) var(--radius-xl) !important;
  }

  .table-as-cards .ant-table-row:hover,
  .table-as-cards .ant-table-row:hover > .ant-table-cell {
    background: transparent !important;
  }

  .table-as-cards .ant-btn {
    font-size: inherit !important;
    height: auto !important;
    min-height: auto !important;
    padding: 0 var(--spacing-3) !important;
    line-height: 1.5 !important;
    flex: none !important;
  }

  .table-as-cards .ant-btn-icon-only {
    width: auto !important;
    min-width: auto !important;
    padding: 0 !important;
  }

  .table-as-cards .ant-tag {
    font-size: inherit !important;
    padding: 0 6px !important;
    line-height: inherit !important;
  }

  .table-as-cards .ant-switch,
  .table-as-cards .ant-avatar,
  .table-as-cards .ant-progress-text {
    font-size: inherit !important;
  }

  .table-as-cards .ant-avatar {
    width: auto !important;
    height: auto !important;
  }
}
.field-description[data-v-4ea606a2] {
  color: rgba(0, 0, 0, 0.45);
  font-size: 12px;
  margin-bottom: 8px;
  line-height: 1.5;
}
.rich-text-editor[data-v-4ea606a2] {
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.rich-text-editor.is-disabled[data-v-4ea606a2] {
  background-color: #f5f5f5;
  cursor: not-allowed;
}
.editor-toolbar[data-v-4ea606a2] {
  border-bottom: 1px solid #e8e8e8;
}
.editor-content[data-v-4ea606a2] {
  flex: 1;
  overflow-y: auto;
}
.char-count[data-v-4ea606a2] {
  text-align: right;
  color: rgba(0, 0, 0, 0.45);
  font-size: 12px;
  margin-top: 4px;
}
/* 覆盖 WangEditor 默认样式 */
[data-v-4ea606a2] .w-e-text-container {
  background-color: transparent;
}
[data-v-4ea606a2] .w-e-toolbar {
  background-color: #fafafa;
}
.business-objects-layout[data-v-bef93e63] {
  height: 100%;
  width: 100%;
}
/* ==================== 页面容器 ==================== */
.business-objects-page[data-v-0a0b1ffe] {
  padding: var(--spacing-4);
  min-height: 100%;
  background: var(--color-bg-layout);
}
/* ==================== Hero Section ==================== */
.hero-bg-decoration[data-v-0a0b1ffe] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-0a0b1ffe] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-0a0b1ffe] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-0a0b1ffe] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-0a0b1ffe] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-0a0b1ffe] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-0a0b1ffe] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-0a0b1ffe] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-0a0b1ffe] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-0a0b1ffe] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-0a0b1ffe] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-0a0b1ffe] {
  flex: 1;
}
.hero-badge[data-v-0a0b1ffe] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 255, 255, 0.15);
  border-radius: 20px;
  padding: 4px 14px;
  font-size: 13px;
  margin-bottom: 12px;
  backdrop-filter: blur(4px);
}
.hero-title[data-v-0a0b1ffe] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-0a0b1ffe] {
  margin: 0 0 16px;
  font-size: 14px;
  opacity: 0.85;
  max-width: 600px;
}
.hero-stats[data-v-0a0b1ffe] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.hero-stat[data-v-0a0b1ffe] {
  display: flex;
  flex-direction: column;
}
.hero-stat-value[data-v-0a0b1ffe] {
  font-size: 22px;
  font-weight: 700;
}
.hero-stat-label[data-v-0a0b1ffe] {
  font-size: 12px;
  opacity: 0.7;
}
.hero-stat-divider[data-v-0a0b1ffe] {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.25);
}
.hero-right[data-v-0a0b1ffe] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
/* ==================== 筛选栏 ==================== */
.filter-bar[data-v-0a0b1ffe] {
  background: #fff;
  padding: 16px;
  border-radius: 0 0 12px 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  position: relative;
  z-index: 2;
}
@media (max-width: 768px) {
.filter-bar[data-v-0a0b1ffe] {
    padding: 12px;
}
}
.filter-bar-inner[data-v-0a0b1ffe] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  max-width: 1600px;
  margin: 0 auto;
}
.filter-left[data-v-0a0b1ffe] {
  display: flex;
  gap: 12px;
  flex: 1;
}
.filter-search[data-v-0a0b1ffe] {
  max-width: 320px;
}
.filter-select[data-v-0a0b1ffe] {
  width: 160px;
}
/* ==================== 批量操作工具栏 ==================== */
.batch-toolbar[data-v-0a0b1ffe] {
  background: linear-gradient(135deg, rgba(24, 144, 255, 0.06) 0%, rgba(24, 144, 255, 0.1) 100%);
  border: 1px solid rgba(24, 144, 255, 0.2);
  border-radius: 10px;
  margin: 16px 24px;
  padding: 10px 20px;
  position: relative;
  z-index: 1;
  backdrop-filter: blur(10px);
}
.batch-toolbar[data-v-0a0b1ffe]:hover {
  box-shadow: 0 2px 12px rgba(24, 144, 255, 0.1);
}
.batch-toolbar-content[data-v-0a0b1ffe] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.selection-info[data-v-0a0b1ffe] {
  display: flex;
  align-items: center;
}
.batch-actions[data-v-0a0b1ffe] {
  display: flex;
  gap: 8px;
}
.batch-actions .ant-btn[data-v-0a0b1ffe] {
  border-radius: 6px;
  display: flex;
  align-items: center;
  gap: 6px;
}
/* ==================== 卡片网格 ==================== */
.card-grid[data-v-0a0b1ffe] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  padding: 12px 0;
  margin: 0 auto;
}
/* ==================== 单张卡片 ==================== */
.bo-card[data-v-0a0b1ffe] {
  position: relative;
  background: #fff;
  border-radius: 14px;
  border: 1px solid #ebeef5;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  padding: 0;
  cursor: pointer;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.bo-card[data-v-0a0b1ffe]:hover {
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(24, 144, 255, 0.15);
  border-color: transparent;
  transform: translateY(-4px);
}
.bo-card[data-v-0a0b1ffe]:active {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}
.bo-card--selected[data-v-0a0b1ffe] {
  border-color: #1890ff;
  box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.15);
}
/* 顶部装饰条 */
.bo-card__accent[data-v-0a0b1ffe] {
  height: 4px;
  width: 100%;
  flex-shrink: 0;
}
/* 卡片内容区 */
.bo-card__header[data-v-0a0b1ffe],
.bo-card__desc[data-v-0a0b1ffe],
.bo-card__tags[data-v-0a0b1ffe],
.bo-card__footer[data-v-0a0b1ffe] {
  padding: 0 20px;
}
.bo-card__header[data-v-0a0b1ffe] {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-top: 18px;
  padding-bottom: 0;
}
.bo-card__icon-wrap[data-v-0a0b1ffe] {
  width: 46px;
  height: 46px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15);
}
.bo-card__icon-text[data-v-0a0b1ffe] {
  color: #fff;
  font-size: 19px;
  font-weight: 700;
}
.bo-card__title-group[data-v-0a0b1ffe] {
  min-width: 0;
  flex: 1;
}
.bo-card__name[data-v-0a0b1ffe] {
  font-size: 15px;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.88);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.4;
}
.bo-card__code[data-v-0a0b1ffe] {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.35);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
}
.bo-card__header-right[data-v-0a0b1ffe] {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.bo-card__status-tag[data-v-0a0b1ffe] {
  border-radius: 6px;
  font-size: 11px;
  padding: 0 8px;
  line-height: 22px;
  border: none;
  font-weight: 500;
}
.bo-card__more-btn[data-v-0a0b1ffe] {
  color: rgba(0, 0, 0, 0.3);
  width: 28px;
  height: 28px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
}
.bo-card__more-btn[data-v-0a0b1ffe]:hover {
  color: rgba(0, 0, 0, 0.75);
  background: rgba(0, 0, 0, 0.04);
}
/* 描述 */
.bo-card__desc[data-v-0a0b1ffe] {
  font-size: 13px;
  color: rgba(0, 0, 0, 0.45);
  line-height: 1.5;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  padding-top: 8px;
  padding-bottom: 0;
}
/* 统计标签 */
.bo-card__tags[data-v-0a0b1ffe] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding-top: 12px;
  padding-bottom: 0;
}
.bo-card__tag[data-v-0a0b1ffe] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  font-weight: 500;
  padding: 3px 10px;
  border-radius: 6px;
  line-height: 1.4;
  white-space: nowrap;
  transition: all 0.2s ease;
}
.bo-card__tag[data-v-0a0b1ffe] .anticon {
  font-size: 12px;
}
/* 互联网企业蓝风格 - 统一使用蓝色系 + 中性灰 */
.bo-card__tag--fields[data-v-0a0b1ffe] {
  color: #1677ff;
  background: #e6f4ff;
}
.bo-card__tag--forms[data-v-0a0b1ffe] {
  color: #595959;
  background: #f5f5f5;
}
.bo-card__tag--processes[data-v-0a0b1ffe] {
  color: #595959;
  background: #f5f5f5;
}
.bo-card__tag--views[data-v-0a0b1ffe] {
  color: #595959;
  background: #f5f5f5;
}
/* 快捷操作栏 */
.bo-card__actions[data-v-0a0b1ffe] {
  display: flex;
  gap: 0;
  padding: 12px 20px 0;
  margin: 12px -20px 0;
  border-top: 1px solid #f0f0f0;
  background: #fafafa;
}
.bo-card__action-btn[data-v-0a0b1ffe] {
  flex: 1;
  height: auto;
  padding: 10px 4px;
  font-size: 12px;
  font-weight: 500;
  color: #595959;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  border-radius: 0;
  transition: all 0.2s ease;
  position: relative;
}
.bo-card__action-btn[data-v-0a0b1ffe] .anticon {
  font-size: 15px;
  color: #8c8c8c;
  transition: all 0.2s ease;
}
.bo-card__action-btn[data-v-0a0b1ffe]:not(:last-child)::after {
  content: '';
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 20px;
  background: #e8e8e8;
}
.bo-card__action-btn[data-v-0a0b1ffe]:hover {
  color: #1677ff;
  background: #e6f4ff;
}
.bo-card__action-btn[data-v-0a0b1ffe]:hover .anticon {
  color: #1677ff;
  transform: scale(1.15);
}
/* 实例管理按钮 - 主色调突出 */
.bo-card__action-btn--primary[data-v-0a0b1ffe] {
  color: #1677ff;
  font-weight: 500;
}
.bo-card__action-btn--primary[data-v-0a0b1ffe]:hover {
  color: #0958d9;
  background: #e6f4ff;
}
/* 底部 */
.bo-card__footer[data-v-0a0b1ffe] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 11px;
  color: rgba(0, 0, 0, 0.3);
  padding-top: 10px;
  padding-bottom: 14px;
}
.bo-card__footer-item[data-v-0a0b1ffe] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.bo-card__footer-icon[data-v-0a0b1ffe] {
  font-size: 11px;
}
/* 选中复选框 */
.bo-card__checkbox[data-v-0a0b1ffe] {
  position: absolute;
  top: 14px;
  left: 14px;
  opacity: 0;
  transition: opacity 0.2s ease;
  z-index: 3;
}
.bo-card__checkbox[data-v-0a0b1ffe] .ant-checkbox-inner {
  border-radius: 4px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}
.bo-card:hover .bo-card__checkbox[data-v-0a0b1ffe],
.bo-card--selected .bo-card__checkbox[data-v-0a0b1ffe] {
  opacity: 1;
}
/* ==================== 空状态 ==================== */
.card-empty[data-v-0a0b1ffe] {
  padding: 80px 0;
}
/* ==================== 分页 ==================== */
/* ==================== 标签样式 ==================== */
[data-v-0a0b1ffe] .ant-tag {
  border-radius: 6px;
  font-weight: 500;
  padding: 2px 12px;
  border: none;
}
/* ==================== 模板选择弹窗 ==================== */
.template-grid[data-v-0a0b1ffe] {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
@media (max-width: 480px) {
.template-grid[data-v-0a0b1ffe] {
    grid-template-columns: 1fr;
}
}
.template-card[data-v-0a0b1ffe] {
  display: flex;
  gap: 12px;
  padding: 16px;
  border: 1px solid #e8e8e8;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.2s ease;
}
@media (max-width: 768px) {
.template-card[data-v-0a0b1ffe] {
    padding: 12px;
}
}
@media (max-width: 768px) {
.template-card[data-v-0a0b1ffe] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.template-card[data-v-0a0b1ffe] {
    padding: 12px;
}
}
.template-card[data-v-0a0b1ffe]:hover {
  border-color: #1677ff;
  box-shadow: 0 2px 8px rgba(22, 119, 255, 0.1);
}
.template-card__icon[data-v-0a0b1ffe] {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: linear-gradient(135deg, #1677ff 0%, #4096ff 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #fff;
  font-size: 18px;
}
.template-card__info[data-v-0a0b1ffe] {
  min-width: 0;
  flex: 1;
}
.template-card__name[data-v-0a0b1ffe] {
  font-size: 14px;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.85);
  margin-bottom: 4px;
}
.template-card__desc[data-v-0a0b1ffe] {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.45);
  line-height: 1.5;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: 6px;
}
.template-card__meta[data-v-0a0b1ffe] {
  display: flex;
  gap: 12px;
  font-size: 11px;
  color: rgba(0, 0, 0, 0.35);
}
/* ==================== 响应式 - 平板 ==================== */
@media (max-width: 1200px) {
.card-grid[data-v-0a0b1ffe] {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}
.hero-title[data-v-0a0b1ffe] {
    font-size: 24px;
}
.hero-stat[data-v-0a0b1ffe] {
    padding: 0 14px;
}
.hero-stat-value[data-v-0a0b1ffe] {
    font-size: 22px;
}
}
/* ==================== 响应式 - 手机 ==================== */
@media (max-width: 768px) {
.hero-content[data-v-0a0b1ffe] {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
}
.hero-title[data-v-0a0b1ffe] {
    font-size: 22px;
}
.hero-desc[data-v-0a0b1ffe] {
    font-size: 13px;
    margin-bottom: 20px;
}
.hero-stat[data-v-0a0b1ffe] {
    padding: 0 12px;
}
.hero-stat-value[data-v-0a0b1ffe] {
    font-size: 20px;
}
.hero-right[data-v-0a0b1ffe] {
    flex-direction: row;
    width: 100%;
}
.filter-bar[data-v-0a0b1ffe] {
    padding: 12px;
}
.filter-bar-inner[data-v-0a0b1ffe] {
    flex-direction: column;
    align-items: stretch;
}
.filter-left[data-v-0a0b1ffe] {
    flex-direction: column;
}
.filter-search[data-v-0a0b1ffe] {
    max-width: 100%;
}
.filter-select[data-v-0a0b1ffe] {
    width: 100%;
}
.card-grid[data-v-0a0b1ffe] {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 12px 0;
}
.bo-card__actions[data-v-0a0b1ffe] {
    flex-wrap: wrap;
    padding: 10px 32px 4px;
    margin: 10px -20px 0;
}
.bo-card__action-btn[data-v-0a0b1ffe] {
    min-width: calc(50% - 4px);
    flex-direction: row;
    gap: 6px;
    padding: 8px 10px;
    justify-content: flex-start;
    border-radius: 6px;
}
.bo-card__action-btn[data-v-0a0b1ffe]:not(:last-child)::after {
    display: none;
}
.bo-card__action-btn[data-v-0a0b1ffe]:hover {
    background: rgba(59, 130, 246, 0.06);
}
.batch-toolbar[data-v-0a0b1ffe] {
    margin: 12px;
}
.batch-toolbar-content[data-v-0a0b1ffe] {
    flex-direction: column;
    gap: 10px;
}
.batch-actions[data-v-0a0b1ffe] {
    flex-wrap: wrap;
    justify-content: center;
}
.card-pagination[data-v-0a0b1ffe] .ant-pagination-options {
    display: none;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.filter-bar[data-v-0a0b1ffe] {
    padding: 12px;
}
}
/* ==================== 响应式 - 小屏手机 ==================== */
@media (max-width: 991px) {
.hero-content[data-v-0a0b1ffe] {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}
.hero-stats[data-v-0a0b1ffe] {
    gap: 12px;
}
.hero-stat-value[data-v-0a0b1ffe] {
    font-size: 18px;
}
}
@media (max-width: 575px) {
.hero-title[data-v-0a0b1ffe] {
    font-size: 20px;
}
.hero-right[data-v-0a0b1ffe] {
    width: 100%;
}
.hero-stats[data-v-0a0b1ffe] {
    flex-wrap: wrap;
    gap: 8px;
}
.hero-stat[data-v-0a0b1ffe] {
    padding: 0 10px;
}
.hero-stat-divider[data-v-0a0b1ffe] {
    display: none;
}
.hero-stat-value[data-v-0a0b1ffe] {
    font-size: 18px;
}
.card-grid[data-v-0a0b1ffe] {
    gap: 10px;
    padding: 12px 0;
}
.bo-card__header[data-v-0a0b1ffe] {
    padding-left: 16px;
    padding-right: 16px;
    padding-top: 14px;
}
.bo-card__icon-wrap[data-v-0a0b1ffe] {
    width: 40px;
    height: 40px;
    border-radius: 10px;
}
.bo-card__icon-text[data-v-0a0b1ffe] {
    font-size: 17px;
}
.bo-card__desc[data-v-0a0b1ffe] {
    line-clamp: 1;
}
.bo-card__tag[data-v-0a0b1ffe] {
    font-size: 11px;
    padding: 2px 8px;
}
.bo-card__action-btn[data-v-0a0b1ffe] {
    min-width: calc(50% - 3px);
    font-size: 11px;
    padding: 6px 8px;
}
.filter-bar[data-v-0a0b1ffe] {
    padding: 12px;
}
.filter-bar-inner[data-v-0a0b1ffe] {
    gap: 10px;
}
.filter-search[data-v-0a0b1ffe] {
    font-size: 13px;
}
.filter-select[data-v-0a0b1ffe] {
    font-size: 13px;
}
.bo-card__name[data-v-0a0b1ffe] {
    font-size: 14px;
}
.bo-card__code[data-v-0a0b1ffe] {
    font-size: 11px;
}
.bo-card__status-tag[data-v-0a0b1ffe] {
    font-size: 10px;
    padding: 0 6px;
    line-height: 20px;
}
.bo-card__footer[data-v-0a0b1ffe] {
    font-size: 10px;
    padding-top: 8px;
    padding-bottom: 12px;
}
.batch-toolbar[data-v-0a0b1ffe] {
    padding: 8px 12px;
    margin: 10px 8px;
}
.batch-actions[data-v-0a0b1ffe] .ant-btn {
    font-size: 12px;
    padding: 4px 10px;
}
.card-pagination[data-v-0a0b1ffe] .ant-pagination-item {
    min-width: 28px;
    height: 28px;
    line-height: 28px;
    font-size: 12px;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.filter-bar[data-v-0a0b1ffe] {
    padding: 12px;
}
}
/* ==================== 移动端布局适配（保持元素尺寸） ==================== */
@media (max-width: 768px) {
  /* 搜索和筛选栏 - 全宽但不改变元素尺寸 */
.filter-bar[data-v-0a0b1ffe] {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
}
.filter-bar[data-v-0a0b1ffe] .ant-input-search {
    width: 100%;
}
.filter-bar[data-v-0a0b1ffe] .ant-select {
    width: 100%;
}
.filter-bar[data-v-0a0b1ffe] .ant-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
  /* 批量操作按钮 */
.batch-actions[data-v-0a0b1ffe] {
    flex-wrap: wrap;
    gap: 8px;
}
  /* 模板卡片 */
.template-card[data-v-0a0b1ffe] {
    padding: 16px;
    margin-bottom: 12px;
}
  /* 表格横向滚动 */
.table-wrapper[data-v-0a0b1ffe] {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
  /* 分页适配 */
.card-pagination[data-v-0a0b1ffe] {
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}
  /* 模态框全屏显示 */
[data-v-0a0b1ffe] .ant-modal {
    max-width: calc(100vw - 32px) !important;
    margin: 16px auto !important;
}
[data-v-0a0b1ffe] .ant-modal-content {
    border-radius: 8px;
}
[data-v-0a0b1ffe] .ant-modal-body {
    padding: 16px;
}
[data-v-0a0b1ffe] .ant-modal-footer {
    padding: 12px 16px;
}
[data-v-0a0b1ffe] .ant-modal-header {
    padding: 16px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.filter-bar[data-v-0a0b1ffe] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.template-card[data-v-0a0b1ffe] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.template-card[data-v-0a0b1ffe] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) and (max-width: 768px) {
.template-card[data-v-0a0b1ffe] {
    padding: 12px;
}
}
.templates-list-page[data-v-49546772] {
  padding: 16px;
}
@media (max-width: 768px) {
.templates-list-page[data-v-49546772] {
    padding: 12px;
}
}
/* ==================== Hero Section ==================== */
/* 背景装饰元素 */
.hero-bg-decoration[data-v-49546772] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-49546772] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-49546772] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-49546772] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-49546772] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-49546772] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-49546772] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-49546772] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-49546772] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-49546772] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-49546772] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-49546772] {
  flex: 1;
}
.hero-title[data-v-49546772] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-49546772] {
  margin: 0 0 16px;
  font-size: 14px;
  opacity: 0.85;
  max-width: 600px;
}
/* Stats */
.hero-stats[data-v-49546772] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.hero-stat[data-v-49546772] {
  display: flex;
  flex-direction: column;
}
.hero-stat-value[data-v-49546772] {
  font-size: 22px;
  font-weight: 700;
}
.hero-stat-label[data-v-49546772] {
  font-size: 12px;
  opacity: 0.7;
}
.hero-stat-divider[data-v-49546772] {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.25);
}
/* Action Buttons - PC场景右侧显示 */
.hero-right[data-v-49546772] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
/* Filter Bar */
.filter-bar[data-v-49546772] {
  background: #fff;
  border-radius: 12px;
  padding: 20px 24px;
  margin-bottom: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.filter-bar-inner[data-v-49546772] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.filter-left[data-v-49546772] {
  display: flex;
  gap: 12px;
  flex: 1;
}
.filter-search[data-v-49546772] {
  width: 280px;
}
.filter-right[data-v-49546772] {
  flex-shrink: 0;
}
.filter-right[data-v-49546772] .ant-space {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}
.filter-right[data-v-49546772] .ant-space-item {
  flex: 0 0 auto;
}
@media (max-width: 768px) {
.filter-right[data-v-49546772] {
    width: 100%;
    display: flex;
    justify-content: stretch;
}
.filter-right[data-v-49546772] .ant-space {
    width: 100%;
    justify-content: stretch;
}
.filter-right[data-v-49546772] .ant-space-item {
    flex: 1;
    min-width: calc(50% - 4px);
    max-width: 100%;
}
.filter-right[data-v-49546772] .ant-btn {
    width: 100%;
    min-width: 0;
}
}
/* Table Card */
.table-card[data-v-49546772] {
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.table-card[data-v-49546772] .ant-card-body {
  padding: 0;
}
/* Dropdown Menu Styles */
[data-v-49546772] .ant-dropdown-menu-item:hover {
  background: rgba(24, 144, 255, 0.1);
}
[data-v-49546772] .ant-dropdown-menu-item-danger:hover {
  background: rgba(245, 34, 45, 0.1);
}
[data-v-49546772] .ant-menu-divider {
  margin: 4px 0;
}
/* Mobile Cards View */
.mobile-cards-container[data-v-49546772] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.mobile-template-card[data-v-49546772] {
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  padding: 16px;
}
.mobile-template-card[data-v-49546772] .ant-card-body {
  padding: 0;
}
.mobile-card-header[data-v-49546772] {
  margin-bottom: 12px;
}
.mobile-card-title-wrap[data-v-49546772] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 4px;
}
.mobile-card-title[data-v-49546772] {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: #1f1f1f;
}
.mobile-card-code[data-v-49546772] {
  font-size: 13px;
  color: #8c8c8c;
  font-family: monospace;
}
.mobile-card-desc[data-v-49546772] {
  font-size: 13px;
  color: #666;
  line-height: 1.5;
  margin-bottom: 12px;
  padding: 10px 12px;
  background: #fafafa;
  border-radius: 8px;
}
.mobile-card-meta[data-v-49546772] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid #f0f0f0;
}
.mobile-meta-item[data-v-49546772] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 13px;
}
.mobile-meta-label[data-v-49546772] {
  display: flex;
  align-items: center;
  gap: 4px;
  color: #8c8c8c;
}
.mobile-meta-value[data-v-49546772] {
  color: #333;
  font-weight: 500;
}
.mobile-meta-icon[data-v-49546772] {
  font-size: 12px;
}
.mobile-card-actions[data-v-49546772] {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: flex-end;
}
.mobile-action-btn[data-v-49546772] {
  padding: 0;
  height: 28px;
  font-size: 12px;
  color: #1890ff;
}
.mobile-action-btn[data-v-49546772] .ant-btn-icon {
  font-size: 12px;
}
.mobile-pagination[data-v-49546772] {
  margin-top: 16px;
  text-align: center;
}
/* Responsive - 移动端布局适配（保持元素尺寸） */
@media (max-width: 768px) {
.templates-list-page[data-v-49546772] {
    padding: 12px;
}
.hero-content[data-v-49546772] {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}
.hero-right[data-v-49546772] {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
  /* 筛选栏 - 保持元素尺寸 */
.filter-bar-inner[data-v-49546772] {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
}
.filter-left[data-v-49546772] {
    flex-direction: column;
    width: 100%;
    gap: 12px;
}
.filter-search[data-v-49546772] {
    width: 100%;
}
.filter-right[data-v-49546772] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}
  /* 表格横向滚动 */
.table-wrapper[data-v-49546772] {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
  /* 模态框适配 */
[data-v-49546772] .ant-modal {
    max-width: calc(100vw - 32px) !important;
    margin: 16px auto !important;
}
[data-v-49546772] .ant-modal-content {
    border-radius: 8px;
}
[data-v-49546772] .ant-modal-body {
    padding: 16px;
}
[data-v-49546772] .ant-modal-header {
    padding: 16px;
}
[data-v-49546772] .ant-modal-footer {
    padding: 12px 16px;
}
}
.bo-templates-detail-page[data-v-c64ba211] {
  padding: var(--spacing-4);
  background: var(--color-bg-layout);
}
.highlights-panel[data-v-c64ba211] {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  border-radius: var(--radius-xl);
  padding: 24px;
  margin-bottom: 16px;
  color: #fff;
  position: relative;
  overflow: hidden;
}
/* 几何图形装饰 */
.highlights-bg-decoration[data-v-c64ba211] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-c64ba211] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-c64ba211] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-c64ba211] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-c64ba211] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-c64ba211] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-c64ba211] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-c64ba211] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-c64ba211] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-c64ba211] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-c64ba211] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
.highlights-content[data-v-c64ba211] {
  display: flex;
  justify-content: space-between;
}
.highlights-left h2[data-v-c64ba211] {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: white;
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-tag[data-v-c64ba211] {
  background: rgba(255, 255, 255, 0.2) !important;
  color: #fff !important;
  border: none !important;
}
.highlights-meta[data-v-c64ba211] {
  margin-top: 8px;
  font-size: 13px;
  opacity: 0.85;
}
.highlights-right[data-v-c64ba211] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-action-btn[data-v-c64ba211] {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
  transition: all 0.25s ease;
}
.highlights-action-btn[data-v-c64ba211]:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.highlights-action-btn.danger[data-v-c64ba211] {
  background: rgba(255, 77, 79, 0.15) !important;
  border: 1px solid #ff4d4f !important;
  color: #ff4d4f !important;
}
.highlights-action-btn.danger[data-v-c64ba211]:hover {
  background: rgba(255, 77, 79, 0.85) !important;
  border: 1px solid #ff4d4f !important;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(255, 77, 79, 0.35);
}
.detail-content[data-v-c64ba211] {
  padding: 16px;
}
@media (max-width: 768px) {
.detail-content[data-v-c64ba211] {
    padding: 12px;
    padding-bottom: 60px;
}
.detail-content .highlights-panel .highlights-bg-decoration[data-v-c64ba211] {
    display: none;
}
}
.detail-tabs[data-v-c64ba211] {
  margin-top: 0;
}
.detail-tabs[data-v-c64ba211] .ant-tabs-nav {
  margin-bottom: 16px;
}
.info-section[data-v-c64ba211] {
  background: #fff;
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius-xl);
  overflow: hidden;
}
.section-header[data-v-c64ba211] {
  padding: 16px 24px;
  background: var(--color-fill-quaternary);
  border-bottom: 1px solid var(--color-border-secondary);
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 8px;
}
@media (max-width: 768px) {
.section-header[data-v-c64ba211] {
    padding: 12px;
}
.section-header .highlights-panel .highlights-bg-decoration[data-v-c64ba211] {
    display: none;
}
}
.section-body[data-v-c64ba211] {
  padding: 24px;
}
.info-item[data-v-c64ba211] {
  display: flex;
  margin-bottom: 16px;
}
.info-item[data-v-c64ba211]:last-child {
  margin-bottom: 0;
}
.info-item .label[data-v-c64ba211] {
  width: 100px;
  color: var(--color-text-secondary);
}
.info-item .value[data-v-c64ba211] {
  flex: 1;
  color: var(--color-text);
}
.compact-table[data-v-c64ba211] {
  margin-top: 0;
}
.fixed-actions[data-v-c64ba211] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 12px;
  background: #fff;
  border-top: 1px solid var(--color-border-secondary);
  display: flex;
  justify-content: flex-end;
  z-index: 100;
}
@media (max-width: 768px) {
.bo-templates-detail-page[data-v-c64ba211] {
    padding: var(--spacing-3);
    padding-bottom: 60px;
}
.bo-templates-detail-page .highlights-panel .highlights-bg-decoration[data-v-c64ba211] {
    display: none;
}
.highlights-panel[data-v-c64ba211] {
    padding: var(--spacing-4);
    border-radius: var(--radius-lg);
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-c64ba211] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-c64ba211] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-c64ba211] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-c64ba211] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-c64ba211] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-c64ba211] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-c64ba211] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-c64ba211] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-c64ba211] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-c64ba211] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-c64ba211] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-content[data-v-c64ba211] {
    flex-direction: column;
    gap: var(--spacing-3);
}
.highlights-left[data-v-c64ba211] {
    width: 100%;
}
.highlights-left h2[data-v-c64ba211] {
    font-size: var(--font-size-lg);
    flex-wrap: wrap;
    gap: var(--spacing-2);
}
.highlights-right[data-v-c64ba211] {
    width: 100%;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: var(--spacing-2);
}
.highlights-action-btn[data-v-c64ba211] {
    height: 36px;
    padding: 0 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    font-size: 13px;
}
.fixed-actions[data-v-c64ba211] .ant-space {
    width: 100%;
    display: flex;
}
.fixed-actions[data-v-c64ba211] .ant-btn {
    flex: 1;
    min-height: 36px;
}
.info-item[data-v-c64ba211] {
    flex-direction: column;
    gap: 4px;
}
.info-item .label[data-v-c64ba211] {
    width: auto;
    font-size: var(--font-size-sm);
}
.info-item .value[data-v-c64ba211] {
    font-size: var(--font-size-sm);
}
.section-header[data-v-c64ba211] {
    padding: var(--spacing-3);
}
.section-body[data-v-c64ba211] {
    padding: var(--spacing-3);
}
.detail-tabs[data-v-c64ba211] .ant-tabs-nav {
    font-size: var(--font-size-sm);
}
.compact-table[data-v-c64ba211] .ant-table {
    font-size: var(--font-size-xs);
}
}
@media (max-width: 768px) and (max-width: 768px) {
.section-header[data-v-c64ba211] {
    padding: 12px;
}
.section-header .highlights-panel .highlights-bg-decoration[data-v-c64ba211] {
    display: none;
}
}
/* ==================== 移动端卡片样式 ==================== */
.mobile-card-list[data-v-c64ba211] {
  padding: 8px;
}
.mobile-card[data-v-c64ba211] {
  background: #fff;
  border-radius: 8px;
  padding: 12px;
  margin-bottom: 12px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
  border: 1px solid #f0f0f0;
}
.mobile-card-header[data-v-c64ba211] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #f0f0f0;
}
.mobile-card-header .card-title[data-v-c64ba211] {
  font-weight: 500;
  font-size: 14px;
  color: #333;
}
.mobile-card-body[data-v-c64ba211] {
  margin-bottom: 12px;
}
.mobile-card-field[data-v-c64ba211] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 6px 0;
  font-size: 13px;
}
.field-label[data-v-c64ba211] {
  color: #999;
  flex-shrink: 0;
  margin-right: 8px;
}
.field-value[data-v-c64ba211] {
  color: #333;
  text-align: right;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.options-tags[data-v-c64ba211] {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 4px;
}
.mobile-card-footer[data-v-c64ba211] {
  border-top: 1px solid #f0f0f0;
  display: flex;
  justify-content: flex-end;
}
/* highlights-panel 样式 */
.bo-template-edit-page[data-v-70935e35] {
  padding: 16px;
  background: var(--color-bg-layout);
}
@media (max-width: 768px) {
.bo-template-edit-page[data-v-70935e35] {
    padding: 12px;
}
.bo-template-edit-page .highlights-panel .highlights-bg-decoration[data-v-70935e35] {
    display: none;
}
}
.highlights-panel[data-v-70935e35] {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1677ff) 0%, var(--color-hero-gradient-end, #0958d9) 100%) !important;
  border-radius: var(--radius-xl);
  padding: 24px;
  margin-bottom: 16px;
  color: #fff;
  position: relative;
  overflow: hidden;
}
/* 几何图形装饰 */
.highlights-bg-decoration[data-v-70935e35] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-70935e35] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-70935e35] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-70935e35] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-70935e35] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-70935e35] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-70935e35] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-70935e35] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-70935e35] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-70935e35] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-70935e35] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
.highlights-content[data-v-70935e35] {
  display: flex !important;
  justify-content: space-between !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
}
.highlights-left h2[data-v-70935e35] {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: white;
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-meta[data-v-70935e35] {
  margin-top: 8px;
  font-size: 13px;
  opacity: 0.85;
}
.highlights-right[data-v-70935e35] {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.highlights-action-btn[data-v-70935e35] {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
  border-radius: 6px !important;
  font-weight: 500 !important;
}
.highlights-action-btn[data-v-70935e35]:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
}
/* 表单内容区域 */
.form-content[data-v-70935e35] {
  padding-bottom: 40px !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
}
/* 固定底部操作栏 */
.fixed-actions[data-v-70935e35] {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  background: #fff !important;
  padding: 12px !important;
  padding-bottom: calc(12px + env(safe-area-inset-bottom)) !important;
  border-top: 1px solid #f0f0f0 !important;
  z-index: 100 !important;
  display: flex !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06) !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
}
.fixed-actions .ant-btn[data-v-70935e35] {
  border-radius: 4px;
  padding: 4px 12px;
}
/* 章节卡片样式 */
.section-card[data-v-70935e35] {
  margin-bottom: 16px;
}
.section-card .ant-card-body[data-v-70935e35] {
  padding: 16px;
}
@media (max-width: 768px) {
.ant-card-body[data-v-70935e35] {
    padding: 12px;
}
.ant-card-body .highlights-panel .highlights-bg-decoration[data-v-70935e35] {
    display: none;
}
}
/* 字段定义区域 */
.field-definition-section[data-v-70935e35] {
  padding: 0 4px;
}
.field-toolbar[data-v-70935e35] {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 16px;
}
/* 字段列表样式 */
.fields-list[data-v-70935e35] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.field-card[data-v-70935e35] {
  margin-bottom: 0;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}
.field-header[data-v-70935e35] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid #f0f0f0;
}
.field-name[data-v-70935e35] {
  font-size: 14px;
  font-weight: 600;
  color: #1677ff;
  flex: 1;
  margin-left: 8px;
}
/* 空字段提示 */
.empty-fields[data-v-70935e35] {
  text-align: center;
  padding: 40px 20px;
  color: #999;
  border: 1px dashed #d9d9d9;
  border-radius: 8px;
  background-color: #fafafa;
}
/* 拖拽相关样式 */
.drag-handle[data-v-70935e35] {
  cursor: grab;
  color: #999;
  font-size: 16px;
  user-select: none;
  padding: 2px 4px;
}
.drag-handle[data-v-70935e35]:active {
  cursor: grabbing;
}
.ghost-field[data-v-70935e35] {
  opacity: 0.5;
  background: #e6f4ff;
  border: 2px dashed #1677ff;
}
/* 条件配置区域 */
.conditional-config[data-v-70935e35] {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px dashed #e8e8e8;
}
.config-section[data-v-70935e35] {
  margin-bottom: 12px;
}
.config-section-title[data-v-70935e35] {
  font-weight: 600;
  font-size: 13px;
  color: #595959;
  margin-bottom: 8px;
}
.options-list[data-v-70935e35] {
  margin-top: 8px;
}
.option-item[data-v-70935e35] {
  background-color: #fafafa;
  padding: 8px 12px;
  border-radius: 4px;
  margin-bottom: 8px;
  border: 1px solid #f0f0f0;
}
/* 表单元素样式 */
[data-v-70935e35] .ant-form-item-label > label {
  font-weight: 500;
}
/* Tabs 样式 */
[data-v-70935e35] .ant-tabs-card > .ant-tabs-nav .ant-tabs-tab {
  border-radius: 8px 8px 0 0;
  font-weight: 500;
}
[data-v-70935e35] .ant-tabs-card > .ant-tabs-nav .ant-tabs-tab-active {
  border-color: #1677ff;
  color: #1677ff;
}
/* 响应式设计 */
@media (max-width: 768px) {
.highlights-content[data-v-70935e35] {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
}
.highlights-content .highlights-panel .highlights-bg-decoration[data-v-70935e35] {
    display: none;
}
.highlights-left h2[data-v-70935e35] {
    font-size: 17px !important;
}
.section-card[data-v-70935e35] {
    border: none;
    box-shadow: none;
    background: transparent;
    margin-bottom: 8px;
    padding-bottom: 60px;
}
.section-card[data-v-70935e35] .ant-card-head {
    padding: 8px 0;
    min-height: auto;
}
.section-card[data-v-70935e35] .ant-card-head-title {
    font-size: 14px;
    padding: 0;
}
.section-card[data-v-70935e35] .ant-card-body {
    padding: 0;
}
.field-card[data-v-70935e35] {
    border-radius: 6px;
}
.field-toolbar[data-v-70935e35] {
    margin-bottom: 12px;
}
[data-v-70935e35] .ant-form-item {
    margin-bottom: 16px;
}
[data-v-70935e35] .ant-form-item-label {
    padding-bottom: 4px;
}
[data-v-70935e35] .ant-form-item-label > label {
    font-size: 13px;
    font-weight: 500;
    color: var(--color-text);
}
[data-v-70935e35] .ant-input,[data-v-70935e35] .ant-select,[data-v-70935e35] .ant-picker {
    font-size: 14px;
}
.fixed-actions .ant-btn[data-v-70935e35] {
    flex: 1;
    height: 36px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
}
}
@media (max-width: 575px) {
[data-v-70935e35] .ant-form-item {
    margin-bottom: 14px;
}
[data-v-70935e35] .ant-form-item-label > label {
    font-size: 13px;
}
.fixed-actions .ant-btn[data-v-70935e35] {
    height: 36px;
    font-size: 13px;
}
}
.instances-detail-page[data-v-7688c058] {
  padding: var(--spacing-4);
  background: var(--color-bg-layout);
}
.highlights-panel[data-v-7688c058] {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  border-radius: var(--radius-xl);
  padding: 24px;
  margin-bottom: 16px;
  color: #fff;
  position: relative;
  overflow: hidden;
}
/* 几何图形装饰 */
.highlights-bg-decoration[data-v-7688c058] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-7688c058] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-7688c058] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-7688c058] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-7688c058] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-7688c058] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-7688c058] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-7688c058] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-7688c058] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-7688c058] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-7688c058] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
.highlights-content[data-v-7688c058] {
  display: flex;
  justify-content: space-between;
}
.highlights-left h2[data-v-7688c058] {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: white;
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-tag[data-v-7688c058] {
  background: rgba(255, 255, 255, 0.2) !important;
  color: #fff !important;
  border: none !important;
}
.highlights-meta[data-v-7688c058] {
  margin-top: 8px;
  font-size: 13px;
  opacity: 0.85;
}
.highlights-right[data-v-7688c058] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-action-btn[data-v-7688c058] {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
  transition: all 0.25s ease;
}
.highlights-action-btn[data-v-7688c058]:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.highlights-action-btn.danger[data-v-7688c058] {
  background: rgba(255, 77, 79, 0.15) !important;
  border: 1px solid #ff4d4f !important;
  color: #ff4d4f !important;
}
.highlights-action-btn.danger[data-v-7688c058]:hover {
  background: rgba(255, 77, 79, 0.85) !important;
  border: 1px solid #ff4d4f !important;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(255, 77, 79, 0.35);
}
.detail-content[data-v-7688c058] {
  padding: 16px;
}
@media (max-width: 768px) {
.detail-content[data-v-7688c058] {
    padding: 12px;
    padding-bottom: 60px;
}
.detail-content .highlights-panel .highlights-bg-decoration[data-v-7688c058] {
    display: none;
}
}
.detail-tabs[data-v-7688c058] {
  margin-top: 0;
}
.detail-tabs[data-v-7688c058] .ant-tabs-nav {
  margin-bottom: 16px;
}
.info-section[data-v-7688c058] {
  background: #fff;
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius-xl);
  overflow: hidden;
}
.section-header[data-v-7688c058] {
  padding: 16px 24px;
  background: var(--color-fill-quaternary);
  border-bottom: 1px solid var(--color-border-secondary);
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 8px;
}
@media (max-width: 768px) {
.section-header[data-v-7688c058] {
    padding: 12px;
}
.highlights-panel .highlights-bg-decoration[data-v-7688c058] {
    display: none;
}
}
.section-body[data-v-7688c058] {
  padding: 24px;
}
@media (max-width: 768px) {
.section-body[data-v-7688c058] {
    padding: 12px;
}
}
.info-item[data-v-7688c058] {
  display: flex;
  margin-bottom: 16px;
}
.info-item[data-v-7688c058]:last-child {
  margin-bottom: 0;
}
.info-item .label[data-v-7688c058] {
  width: 100px;
  color: var(--color-text-secondary);
}
.info-item .value[data-v-7688c058] {
  flex: 1;
  color: var(--color-text);
}
.undefined-text[data-v-7688c058] {
  color: #999;
}
/* 字段项样式 */
.field-item[data-v-7688c058] {
  background: #fafafa;
  border-radius: 8px;
  padding: 12px 16px;
}
.field-label[data-v-7688c058] {
  display: block;
  font-size: 12px;
  color: var(--color-text-secondary);
  margin-bottom: 8px;
}
.field-value[data-v-7688c058] {
  word-break: break-all;
}
.field-link[data-v-7688c058] {
  color: #1677ff;
  text-decoration: none;
}
.field-link[data-v-7688c058]:hover {
  text-decoration: underline;
}
.field-number[data-v-7688c058] {
  font-variant-numeric: tabular-nums;
  font-weight: 500;
}
.field-textarea[data-v-7688c058] {
  white-space: pre-wrap;
  line-height: 1.6;
}
.field-richtext[data-v-7688c058] {
  line-height: 1.6;
  word-break: break-all;
}
.field-richtext[data-v-7688c058] img {
  max-width: 100%;
  height: auto;
}
.field-richtext[data-v-7688c058] table {
  border-collapse: collapse;
  width: 100%;
}
.field-richtext[data-v-7688c058] td,
.field-richtext[data-v-7688c058] th {
  border: 1px solid #d9d9d9;
  padding: 4px 8px;
}
.field-tag[data-v-7688c058] {
  margin-bottom: 4px;
}
.field-file[data-v-7688c058] {
  color: #1677ff;
}
.empty-card[data-v-7688c058] {
  text-align: center;
}
.fixed-actions[data-v-7688c058] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 12px;
  background: #fff;
  border-top: 1px solid var(--color-border-secondary);
  display: flex;
  justify-content: flex-end;
  z-index: 100;
}
@media (max-width: 768px) {
.highlights-content[data-v-7688c058] {
    flex-direction: column;
    gap: 16px;
}
.highlights-panel .highlights-bg-decoration[data-v-7688c058] {
    display: none;
}
.highlights-left h2[data-v-7688c058] {
    font-size: 18px;
}
.highlights-right[data-v-7688c058] {
    width: 100%;
    justify-content: flex-end;
}
.info-item[data-v-7688c058] {
    flex-direction: column;
    gap: 4px;
}
.info-item .label[data-v-7688c058] {
    width: auto;
}
.section-body[data-v-7688c058] {
    padding: 12px;
}
}
/* highlights-panel 样式 */
.bo-instance-edit-page[data-v-72cd5e96] {
  min-height: calc(100vh - 200px);
  background: var(--color-bg-layout);
}
.highlights-panel[data-v-72cd5e96] {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1677ff) 0%, var(--color-hero-gradient-end, #0958d9) 100%) !important;
  border-radius: var(--radius-xl);
  padding: 24px;
  margin-bottom: 16px;
  color: #fff;
  position: relative;
  overflow: hidden;
}
/* 几何图形装饰 */
.highlights-bg-decoration[data-v-72cd5e96] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-72cd5e96] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-72cd5e96] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-72cd5e96] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-72cd5e96] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-72cd5e96] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-72cd5e96] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-72cd5e96] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-72cd5e96] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-72cd5e96] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-72cd5e96] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
.highlights-content[data-v-72cd5e96] {
  display: flex !important;
  justify-content: space-between !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
}
.highlights-left h2[data-v-72cd5e96] {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: white;
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-meta[data-v-72cd5e96] {
  margin-top: 8px;
  font-size: 13px;
  opacity: 0.85;
}
.highlights-right[data-v-72cd5e96] {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.highlights-action-btn[data-v-72cd5e96] {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
  border-radius: 6px !important;
  font-weight: 500 !important;
}
.highlights-action-btn[data-v-72cd5e96]:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
}
/* 表单内容区域 */
.form-content[data-v-72cd5e96] {
  padding-bottom: 80px !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
}
@media (max-width: 768px) {
.form-content[data-v-72cd5e96] {
    padding: 0;
}
.form-content .highlights-panel .highlights-bg-decoration[data-v-72cd5e96] {
    display: none;
}
}
/* 固定底部操作栏 */
.fixed-actions[data-v-72cd5e96] {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  background: #fff !important;
  padding: 12px !important;
  padding-bottom: calc(12px + env(safe-area-inset-bottom)) !important;
  border-top: 1px solid #f0f0f0 !important;
  z-index: 100 !important;
  display: flex !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06) !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
}
.fixed-actions .ant-btn[data-v-72cd5e96] {
  border-radius: 4px;
  padding: 4px 12px;
}
.field-description[data-v-72cd5e96] {
  font-size: 12px;
  color: #999;
  margin-top: 4px;
}
/* 响应式设计 */
@media (max-width: 768px) {
.highlights-content[data-v-72cd5e96] {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
}
.highlights-panel .highlights-bg-decoration[data-v-72cd5e96] {
    display: none;
}
.highlights-left h2[data-v-72cd5e96] {
    font-size: 17px !important;
}
.form-content[data-v-72cd5e96] {
    padding: 0 !important;
    padding-bottom: 80px !important;
}
.fixed-actions .ant-btn[data-v-72cd5e96] {
    flex: 1;
    height: 36px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
}
}
@media (max-width: 575px) {
.fixed-actions .ant-btn[data-v-72cd5e96] {
    height: 36px;
    font-size: 13px;
}
}
.version-history-panel[data-v-9b491304] {
  padding: 0;
}
.version-header[data-v-9b491304] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}
.version-header-left[data-v-9b491304] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.version-meta[data-v-9b491304] {
  display: flex;
  gap: 16px;
  color: #999;
  font-size: 12px;
}
.version-meta span[data-v-9b491304] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.version-data-snapshot[data-v-9b491304] {
  max-height: 400px;
  overflow: auto;
  background: #f5f5f5;
  border-radius: 4px;
  padding: 12px;
}
.version-data-snapshot pre[data-v-9b491304] {
  margin: 0;
  font-size: 12px;
  white-space: pre-wrap;
  word-break: break-all;
}
.version-compare-panel[data-v-244923f8] {
  padding: 0;
}
.compare-selector[data-v-244923f8] {
  margin-bottom: 20px;
  padding: 12px;
  background: #fafafa;
  border-radius: 4px;
}
.compare-result[data-v-244923f8] {
  margin-top: 16px;
}
.diff-old[data-v-244923f8] {
  color: #ff4d4f;
  text-decoration: line-through;
  background: #fff2f0;
  padding: 2px 6px;
  border-radius: 2px;
}
.diff-new[data-v-244923f8] {
  color: #52c41a;
  background: #f6ffed;
  padding: 2px 6px;
  border-radius: 2px;
}
.relation-graph-container[data-v-6f8ec0a7] {
  position: relative;
  width: 100%;
  height: 600px;
  border: 1px solid var(--designer-panel-border, #e5e7eb);
  border-radius: 8px;
  overflow: hidden;
  background: var(--designer-canvas-bg, #fafbfc);
  user-select: none;
}
.relation-graph-toolbar[data-v-6f8ec0a7] {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 10;
  background: white;
  border-radius: 6px;
  padding: 4px 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.zoom-level[data-v-6f8ec0a7] {
  font-size: 12px;
  color: var(--color-text-tertiary, #9ca3af);
  margin-left: 4px;
}
.relation-graph-legend[data-v-6f8ec0a7] {
  position: absolute;
  bottom: 12px;
  left: 12px;
  z-index: 10;
  background: white;
  border-radius: 6px;
  padding: 8px 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  display: flex;
  gap: 16px;
}
.legend-item[data-v-6f8ec0a7] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--color-text-secondary, #4b5563);
}
.relation-graph-svg[data-v-6f8ec0a7] {
  display: block;
}
.object-card-bg[data-v-6f8ec0a7] {
  transition: stroke 0.2s ease;
}
.object-card-name[data-v-6f8ec0a7] {
  pointer-events: none;
}
.object-card-code[data-v-6f8ec0a7] {
  pointer-events: none;
}
.object-card-icon[data-v-6f8ec0a7] {
  pointer-events: none;
}
.object-card-fields[data-v-6f8ec0a7],
.object-card-relations[data-v-6f8ec0a7],
.object-card-field[data-v-6f8ec0a7],
.object-card-field-type[data-v-6f8ec0a7],
.object-card-more[data-v-6f8ec0a7] {
  pointer-events: none;
}
.edge-line[data-v-6f8ec0a7] {
  transition: stroke-width 0.2s ease;
}
.edge-line[data-v-6f8ec0a7]:hover {
  stroke-width: 3;
}
.edge-label-bg[data-v-6f8ec0a7] {
  pointer-events: none;
}
.edge-label-text[data-v-6f8ec0a7] {
  pointer-events: none;
}
.edge-cardinality[data-v-6f8ec0a7] {
  pointer-events: none;
}
.relation-graph-empty[data-v-6f8ec0a7] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
/* Responsive */
@media (max-width: 768px) {
.relation-graph-container[data-v-6f8ec0a7] {
    height: 400px;
}
.relation-graph-legend[data-v-6f8ec0a7] {
    flex-wrap: wrap;
    gap: 8px;
}
}
/* ===========================
   Business Object Detail Page — Salesforce-inspired Design
   =========================== */
/* Page container */
.page-detail[data-v-28353f59] {
  background: var(--color-bg-layout);
  min-height: 100%;
  padding-bottom: 80px;
}
/* Highlights Panel — top banner */
.highlights-panel[data-v-28353f59] {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  border-radius: var(--radius-xl);
  padding: 16px;
  color: white;
  margin-bottom: var(--spacing-4);
  position: relative;
  overflow: hidden;
}
/* 几何图形装饰 */
.highlights-bg-decoration[data-v-28353f59] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-28353f59] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-28353f59] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-28353f59] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-28353f59] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-28353f59] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-28353f59] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-28353f59] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-28353f59] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-28353f59] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-28353f59] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
@media (max-width: 768px) {
.highlights-panel[data-v-28353f59] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-28353f59] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-28353f59] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-28353f59] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-28353f59] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-28353f59] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-28353f59] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-28353f59] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-28353f59] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-28353f59] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-28353f59] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-28353f59] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-28353f59] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
.highlights-content[data-v-28353f59] {
  display: flex;
  justify-content: space-between;
}
.highlights-left h2[data-v-28353f59] {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: white;
}
.highlights-meta[data-v-28353f59] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  font-size: 13px;
  opacity: 0.85;
}
.highlights-tag[data-v-28353f59] {
  background: rgba(255, 255, 255, 0.2);
  border: none;
  color: white;
}
.highlights-right[data-v-28353f59] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-back-btn[data-v-28353f59] {
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: white;
}
.highlights-back-btn[data-v-28353f59]:hover {
  background: rgba(255, 255, 255, 0.25);
  color: white;
  border-color: rgba(255, 255, 255, 0.5);
}
.highlights-action-btn[data-v-28353f59] {
  border-radius: 10px;
  font-weight: 500;
}
/* Content layout — sidebar + main */
.detail-layout[data-v-28353f59] {
  display: flex;
  gap: var(--spacing-4);
}
.detail-sidebar[data-v-28353f59] {
  width: 200px;
  flex-shrink: 0;
}
.detail-sidebar .sidebar-nav[data-v-28353f59] {
  background: var(--color-neutral-0);
  border-radius: var(--radius-xl);
  border: 1px solid var(--color-border-light);
  padding: var(--spacing-2) 0;
  position: sticky;
  top: var(--spacing-4);
  transition: box-shadow 0.3s;
}
.detail-sidebar .sidebar-nav[data-v-28353f59]:hover {
  box-shadow: var(--shadow-md);
}
.detail-sidebar .nav-item[data-v-28353f59] {
  padding: 10px 20px;
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--color-text-secondary);
  font-size: 14px;
  border-left: 3px solid transparent;
}
.detail-sidebar .nav-item[data-v-28353f59]:hover {
  background: var(--color-bg-container-hover);
  color: var(--color-text-primary);
}
.detail-sidebar .nav-item.active[data-v-28353f59] {
  background: rgba(22, 119, 255, 0.06);
  color: #1677ff;
  border-left-color: #1677ff;
  font-weight: 500;
}
.detail-main[data-v-28353f59] {
  flex: 1;
  min-width: 0;
}
/* Section cards */
.section-card[data-v-28353f59] {
  background: var(--color-neutral-0);
  border-radius: var(--radius-xl);
  border: 1px solid var(--color-border-light);
  padding: var(--spacing-4);
  margin-bottom: var(--spacing-3);
  transition: box-shadow 0.3s;
}
.section-card[data-v-28353f59]:hover {
  box-shadow: var(--shadow-md);
}
.section-title[data-v-28353f59] {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-text-primary);
  margin-bottom: var(--spacing-3);
  display: flex;
  align-items: center;
  gap: 8px;
}
.section-header[data-v-28353f59] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--spacing-3);
}
.section-header .section-title[data-v-28353f59] {
  margin-bottom: 0;
}
.header-actions[data-v-28353f59] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
/* Tab content animation */
.tab-content[data-v-28353f59] {
  animation: fadeIn-28353f59 0.2s ease;
}
@keyframes fadeIn-28353f59 {
from {
    opacity: 0;
    transform: translateY(4px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
/* Info descriptions */
.info-descriptions[data-v-28353f59] {
  margin-top: var(--spacing-3);
}
.word-break-all[data-v-28353f59] {
  word-break: break-all;
}
.undefined-text[data-v-28353f59] {
  color: var(--color-text-quaternary);
}
/* Table improvements */
.compact-table[data-v-28353f59] {
  margin-top: var(--spacing-3);
}
.table-empty[data-v-28353f59] {
  padding: 20px;
  text-align: center;
}
.empty-content[data-v-28353f59] {
  text-align: center;
  padding: 20px;
  color: var(--color-text-quaternary);
}
/* Field actions */
.field-actions[data-v-28353f59] {
  display: flex;
  gap: 8px;
}
/* Relation actions */
.relation-actions[data-v-28353f59] {
  display: flex;
  align-items: center;
  gap: 16px;
}
/* Icon colors */
.icon-success[data-v-28353f59] {
  color: var(--color-success);
}
.icon-error[data-v-28353f59] {
  color: var(--color-error);
}
.action-link[data-v-28353f59] {
  color: #1677ff;
}
/* Version actions */
.version-actions[data-v-28353f59] {
  display: flex;
  gap: 4px;
}
/* Version sub section */
.version-sub-section[data-v-28353f59] {
  margin-top: var(--spacing-4);
}
/* Workflow nodes title */
.workflow-nodes-title[data-v-28353f59] {
  margin-top: var(--spacing-3);
  font-size: 15px;
  font-weight: 500;
}
.add-node-btn[data-v-28353f59] {
  margin-top: var(--spacing-3);
}
/* Integration panel */
.integration-panel[data-v-28353f59] {
  display: flex;
  flex-direction: column;
  gap: 0;
}
/* Generate description */
.generate-description[data-v-28353f59] {
  color: var(--color-text-secondary);
  margin-bottom: 12px;
}
/* Rule item */
.rule-item[data-v-28353f59] {
  margin-bottom: 8px;
}
.full-width-select[data-v-28353f59] {
  width: 100%;
}
.add-condition-btn[data-v-28353f59] {
  margin-bottom: 16px;
}
/* Warning text */
.warning-text[data-v-28353f59] {
  color: var(--color-warning, #faad14);
}
/* Compare section */
.compare-section h4[data-v-28353f59] {
  margin-bottom: var(--spacing-3);
}
.compare-list[data-v-28353f59] {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
}
.compare-item-header[data-v-28353f59] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.field-name[data-v-28353f59],
.relation-name[data-v-28353f59] {
  font-weight: 500;
}
.compare-details[data-v-28353f59] {
  margin-top: 8px;
}
.compare-old[data-v-28353f59],
.compare-new[data-v-28353f59] {
  margin-bottom: 8px;
}
.compare-old .label[data-v-28353f59],
.compare-new .label[data-v-28353f59] {
  font-weight: 500;
  color: var(--color-text-secondary);
}
.compare-old pre[data-v-28353f59],
.compare-new pre[data-v-28353f59] {
  background: var(--color-bg-layout);
  padding: 8px 12px;
  border-radius: var(--radius-lg);
  font-size: 12px;
  overflow-x: auto;
}
.empty-compare[data-v-28353f59] {
  padding: var(--spacing-4);
  text-align: center;
}
.rollback-confirm-content p[data-v-28353f59] {
  margin-bottom: var(--spacing-2);
}
/* Form item spacing */
.tab-content[data-v-28353f59] .ant-form-item {
  margin-bottom: 12px;
}
/* Table improvements */
.tab-content[data-v-28353f59] .ant-table {
  border-radius: var(--radius-lg);
}
/* Responsive */
@media (max-width: 991px) {
.detail-layout[data-v-28353f59] {
    flex-direction: column;
}
.detail-sidebar[data-v-28353f59] {
    width: 100%;
}
.detail-sidebar .sidebar-nav[data-v-28353f59] {
    display: flex;
    overflow-x: auto;
    padding: 0;
    position: static;
}
.detail-sidebar .nav-item[data-v-28353f59] {
    border-left: none;
    border-bottom: 3px solid transparent;
    white-space: nowrap;
    padding: 10px 16px;
}
.detail-sidebar .nav-item.active[data-v-28353f59] {
    border-left-color: transparent;
    border-bottom-color: #1677ff;
}
}
@media (max-width: 575px) {
.highlights-panel[data-v-28353f59] {
    padding: 16px;
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-28353f59] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-28353f59] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-28353f59] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-28353f59] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-28353f59] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-28353f59] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-28353f59] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-28353f59] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-28353f59] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-28353f59] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-28353f59] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-content[data-v-28353f59] {
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 8px;
}
.highlights-left[data-v-28353f59] {
    flex: 1;
    min-width: 0;
}
.highlights-left h2[data-v-28353f59] {
    font-size: 18px;
}
.highlights-right[data-v-28353f59] {
    flex-shrink: 0;
}
.highlights-back-btn[data-v-28353f59] {
    padding: 4px 8px;
    font-size: 13px;
}
.highlights-meta[data-v-28353f59] {
    flex-wrap: wrap;
    gap: var(--spacing-2);
}
.section-card[data-v-28353f59] {
    padding: var(--spacing-3);
    padding-bottom: 60px;
}
.section-header[data-v-28353f59] {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--spacing-2);
}
.header-actions[data-v-28353f59] {
    width: 100%;
}
  /* Descriptions mobile optimization */
.info-descriptions[data-v-28353f59] .ant-descriptions-bordered {
    border: none;
}
.info-descriptions[data-v-28353f59] .ant-descriptions-row {
    border-bottom: none;
}
.info-descriptions[data-v-28353f59] .ant-descriptions-item {
    padding: 0 !important;
    border-bottom: 1px solid var(--color-border-secondary);
    display: flex;
    flex-direction: row;
    width: 100% !important;
}
.info-descriptions[data-v-28353f59] .ant-descriptions-bordered .ant-descriptions-item-label {
    font-size: 13px;
    font-weight: 500;
    color: var(--color-text-tertiary);
    background: transparent;
    padding: 10px 8px 10px 0 !important;
    min-width: 80px;
    flex-shrink: 0;
    border-inline-end: none;
    white-space: nowrap;
}
.info-descriptions[data-v-28353f59] .ant-descriptions-bordered .ant-descriptions-item-content {
    padding: 10px 0 !important;
    font-size: 13px;
    color: var(--color-text);
    word-break: break-all;
    border-inline-end: none;
    flex: 1;
    min-width: 0;
}
.info-descriptions[data-v-28353f59] .ant-descriptions-item-content .ant-tag {
    font-size: 11px;
    line-height: 20px;
    padding: 0 6px;
}
  /* Table font size */
.tab-content[data-v-28353f59] .ant-table {
    font-size: 13px;
}
.tab-content[data-v-28353f59] .ant-table-thead > tr > th {
    padding: 8px 12px;
    font-size: 12px;
}
.tab-content[data-v-28353f59] .ant-table-tbody > tr > td {
    padding: 8px 12px;
}
  /* Modal mobile adaptation */
[data-v-28353f59] .ant-modal {
    max-width: 100vw;
    margin: 0 16px;
}
[data-v-28353f59] .ant-modal-content {
    padding: 16px;
}
[data-v-28353f59] .ant-modal-body {
    padding: 16px 0;
}
}
@media (max-width: 768px) {
  /* Fixed Bottom Actions */
.fixed-actions[data-v-28353f59] {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 12px;
    background: #fff;
    border-top: 1px solid var(--color-border-secondary);
    display: flex;
    justify-content: flex-end;
    z-index: 100;
}
.fixed-actions .highlights-panel .highlights-bg-decoration[data-v-28353f59] {
    display: none;
}
  /* 触摸目标优化 - 确保所有按钮至少44px */
.highlights-back-btn[data-v-28353f59],
  .highlights-action-btn[data-v-28353f59],
  .field-actions[data-v-28353f59] .ant-btn,
  .relation-actions[data-v-28353f59] .ant-btn,
  .version-actions[data-v-28353f59] .ant-btn,
  .add-node-btn[data-v-28353f59],
  .tab-content[data-v-28353f59] .ant-btn,
  .detail-sidebar .nav-item[data-v-28353f59] {
    display: flex;
    align-items: center;
    justify-content: center;
}
  /* 侧边栏导航项触摸目标优化 */
.detail-sidebar .nav-item[data-v-28353f59] {
    padding: 12px 16px;
    gap: 10px;
    font-size: 14px;
}
  /* 开关组件优化 */
[data-v-28353f59] .ant-switch {
    min-width: 44px;
    height: 24px;
}
  /* 模态框全屏显示 */
[data-v-28353f59] .ant-modal {
    max-width: 100vw !important;
    margin: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 100vh !important;
}
[data-v-28353f59] .ant-modal-content {
    border-radius: 0 !important;
    display: flex;
    flex-direction: column;
    padding: 0 !important;
}
[data-v-28353f59] .ant-modal-body {
    flex: 1;
    overflow-y: auto;
    padding: 16px !important;
}
[data-v-28353f59] .ant-modal-footer {
    padding: 12px 16px !important;
    border-top: 1px solid #f0f0f0;
}
[data-v-28353f59] .ant-modal-header {
    padding: 16px !important;
}
  /* 表单控件高度优化 */
[data-v-28353f59] .ant-input,[data-v-28353f59] .ant-select-selector {
    height: 44px !important;
    font-size: 14px !important;
}
[data-v-28353f59] .ant-select-selection-placeholder {
    line-height: 44px !important;
}
[data-v-28353f59] .ant-btn {
    height: 44px !important;
    font-size: 14px !important;
    padding: 0 16px !important;
}
  /* 列表项触摸目标优化 */
[data-v-28353f59] .ant-list-item {
    min-height: 60px;
}
[data-v-28353f59] .ant-list-item-action {
    margin-left: 0 !important;
    padding-left: 12px;
}
[data-v-28353f59] .ant-list-item-action > li {
    padding: 0 8px;
}
}
/* ==================== 移动端卡片样式 ==================== */
.mobile-card-list[data-v-28353f59] {
  padding: 8px;
}
.mobile-card[data-v-28353f59] {
  background: #fff;
  border-radius: 8px;
  padding: 12px;
  margin-bottom: 12px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
  border: 1px solid #f0f0f0;
}
.mobile-card-header[data-v-28353f59] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #f0f0f0;
  flex-wrap: wrap;
  gap: 8px;
}
.mobile-card-header .card-title[data-v-28353f59] {
  font-weight: 500;
  font-size: 14px;
  color: #333;
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mobile-card-body[data-v-28353f59] {
  margin-bottom: 12px;
}
.mobile-card-field[data-v-28353f59] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 6px 0;
  font-size: 13px;
}
.field-label[data-v-28353f59] {
  color: #999;
  flex-shrink: 0;
  margin-right: 8px;
}
.field-value[data-v-28353f59] {
  color: #333;
  text-align: right;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.permissions-tags[data-v-28353f59] {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 4px;
}
.mobile-card-footer[data-v-28353f59] {
  padding-top: 8px;
  border-top: 1px solid #f0f0f0;
  display: flex;
  justify-content: flex-end;
}
.mobile-card-footer[data-v-28353f59] .ant-space {
  flex-wrap: wrap;
}
.business-object-edit-page[data-v-2d1781f7] {
  padding: var(--spacing-4);
  min-height: 100%;
  background: var(--color-bg-layout);
}
.highlights-panel[data-v-2d1781f7] {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  border-radius: var(--radius-xl);
  padding: 24px 32px;
  color: #fff;
  margin-bottom: var(--spacing-4);
  position: relative;
  overflow: hidden;
}
/* 几何图形装饰 */
.highlights-bg-decoration[data-v-2d1781f7] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-2d1781f7] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-2d1781f7] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-2d1781f7] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-2d1781f7] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-2d1781f7] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-2d1781f7] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-2d1781f7] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-2d1781f7] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-2d1781f7] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-2d1781f7] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
@media (max-width: 768px) {
.highlights-panel[data-v-2d1781f7] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-2d1781f7] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-2d1781f7] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-2d1781f7] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-2d1781f7] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-2d1781f7] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-2d1781f7] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-2d1781f7] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-2d1781f7] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-2d1781f7] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-2d1781f7] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-2d1781f7] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-2d1781f7] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
.highlights-content[data-v-2d1781f7] {
  display: flex;
  justify-content: space-between;
}
.highlights-left h2[data-v-2d1781f7] {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: white;
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-meta[data-v-2d1781f7] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  font-size: 13px;
  opacity: 0.85;
}
.highlights-tag[data-v-2d1781f7] {
  background: rgba(255, 255, 255, 0.2) !important;
  border: none !important;
  color: #fff !important;
  font-size: 12px;
  padding: 2px 10px;
}
.highlights-right[data-v-2d1781f7] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-action-btn[data-v-2d1781f7] {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
}
.highlights-action-btn[data-v-2d1781f7]:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.5);
}
.form-content[data-v-2d1781f7] {
  max-width: 1200px;
  padding-bottom: 60px;
}
.info-section[data-v-2d1781f7] {
  margin-bottom: 24px;
  border: 1px solid var(--color-border-secondary);
  border-radius: 10px;
  overflow: hidden;
}
.section-header[data-v-2d1781f7] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 20px;
  background: var(--color-fill-quaternary);
  border-bottom: 1px solid var(--color-border-secondary);
  font-weight: 600;
  color: var(--color-text-primary);
}
.section-body[data-v-2d1781f7] {
  padding: 16px 20px;
}
@media (max-width: 768px) {
.section-body[data-v-2d1781f7] {
    padding: 12px;
}
.section-body .highlights-panel .highlights-bg-decoration[data-v-2d1781f7] {
    display: none;
}
}
.fields-list[data-v-2d1781f7] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.field-card[data-v-2d1781f7] {
  background: var(--color-fill-quaternary);
  border: 1px solid var(--color-border-secondary);
  border-radius: 8px;
  padding: 16px;
}
@media (max-width: 768px) {
.field-card[data-v-2d1781f7] {
    padding: 12px;
}
.field-card .highlights-panel .highlights-bg-decoration[data-v-2d1781f7] {
    display: none;
}
}
.field-header[data-v-2d1781f7] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.field-name[data-v-2d1781f7] {
  font-size: 14px;
  font-weight: 600;
  color: var(--color-text-primary);
}
.drag-handle[data-v-2d1781f7] {
  cursor: grab;
  color: #bbb;
  margin-right: 8px;
  font-size: 16px;
  user-select: none;
}
.drag-handle[data-v-2d1781f7]:active {
  cursor: grabbing;
}
.ghost-field[data-v-2d1781f7] {
  opacity: 0.5;
  background: #e6f7ff;
  border: 2px dashed #1890ff;
}
.advanced-section-title[data-v-2d1781f7] {
  font-weight: 600;
  margin-bottom: 12px;
  font-size: 13px;
  color: #595959;
}
.options-list[data-v-2d1781f7] {
  margin-top: 12px;
}
.option-item[data-v-2d1781f7] {
  background: #fff;
  padding: 12px 16px;
  border-radius: 6px;
  margin-bottom: 8px;
  border: 1px solid #f0f0f0;
}
.empty-fields[data-v-2d1781f7],
.empty-relations[data-v-2d1781f7] {
  text-align: center;
  padding: 32px 20px;
  border: 1px dashed #d9d9d9;
  border-radius: 8px;
  background: #fafafa;
}
.relations-list[data-v-2d1781f7] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.relation-card[data-v-2d1781f7] {
  background: var(--color-fill-quaternary);
  border: 1px solid var(--color-border-secondary);
  border-radius: 8px;
  padding: 16px;
}
@media (max-width: 768px) {
.relation-card[data-v-2d1781f7] {
    padding: 12px;
}
.relation-card .highlights-panel .highlights-bg-decoration[data-v-2d1781f7] {
    display: none;
}
}
.relation-header[data-v-2d1781f7] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.relation-name[data-v-2d1781f7] {
  font-size: 14px;
  font-weight: 600;
  color: var(--color-text-primary);
}
.form-actions[data-v-2d1781f7] {
  position: sticky;
  bottom: 0;
  background: #fff;
  padding: 16px 0;
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 24px;
}
@media (max-width: 768px) {
.form-actions[data-v-2d1781f7] {
    padding: 12px;
}
.form-actions .highlights-panel .highlights-bg-decoration[data-v-2d1781f7] {
    display: none;
}
}
.form-actions .ant-btn[data-v-2d1781f7] {
  height: 40px;
  font-size: 14px;
  font-weight: 500;
  border-radius: 6px;
  min-width: 100px;
}
[data-v-2d1781f7] .ant-form-item-label > label {
  font-weight: 500;
  color: #595959;
}
[data-v-2d1781f7] .ant-form-item {
  margin-bottom: 20px;
}
@media (max-width: 768px) {
.business-object-edit-page[data-v-2d1781f7] {
    padding: 12px;
}
.business-object-edit-page .highlights-panel .highlights-bg-decoration[data-v-2d1781f7] {
    display: none;
}
.highlights-panel[data-v-2d1781f7] {
    padding: 16px;
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-2d1781f7] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-2d1781f7] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-2d1781f7] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-2d1781f7] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-2d1781f7] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-2d1781f7] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-2d1781f7] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-2d1781f7] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-2d1781f7] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-2d1781f7] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-2d1781f7] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-content[data-v-2d1781f7] {
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
}
.highlights-left h2[data-v-2d1781f7] {
    font-size: 18px;
}
.highlights-right[data-v-2d1781f7] {
    width: auto;
    flex-shrink: 0;
}
.form-actions .ant-btn[data-v-2d1781f7] {
    flex: 1;
}
  /* 触摸目标优化 - 确保所有按钮至少44px */
.highlights-action-btn[data-v-2d1781f7],
  .section-header[data-v-2d1781f7] .ant-btn,
  .form-actions[data-v-2d1781f7] .ant-btn,
  .field-header[data-v-2d1781f7] .ant-btn,
  .relation-header[data-v-2d1781f7] .ant-btn,
  .option-item[data-v-2d1781f7] .ant-btn,
  .options-list[data-v-2d1781f7] .ant-btn,
  .empty-fields[data-v-2d1781f7] .ant-btn,[data-v-2d1781f7] .ant-collapse-header,[data-v-2d1781f7] .ant-checkbox-wrapper {
    min-height: 44px;
    min-width: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
}
  /* 输入框和选择框高度优化 */
[data-v-2d1781f7] .ant-input,[data-v-2d1781f7] .ant-select-selector {
    height: 44px !important;
    font-size: 14px !important;
}
[data-v-2d1781f7] .ant-select-selection-placeholder {
    line-height: 44px !important;
}
  /* 表单间距优化 */
[data-v-2d1781f7] .ant-form-item {
    margin-bottom: 16px !important;
}
[data-v-2d1781f7] .ant-form-item-label {
    padding-bottom: 6px !important;
}
[data-v-2d1781f7] .ant-form-item-label > label {
    font-size: 14px !important;
    font-weight: 500;
}
  /* 字段卡片优化 */
.field-card[data-v-2d1781f7] {
    padding: 12px;
}
.field-header[data-v-2d1781f7] {
    margin-bottom: 10px;
}
.field-name[data-v-2d1781f7] {
    font-size: 13px;
}
  /* 关系卡片优化 */
.relation-card[data-v-2d1781f7] {
    padding: 12px;
}
.relation-header[data-v-2d1781f7] {
    margin-bottom: 10px;
}
.relation-name[data-v-2d1781f7] {
    font-size: 13px;
}
  /* 选项项优化 */
.option-item[data-v-2d1781f7] {
    padding: 10px 12px;
}
  /* 折叠面板优化 */
[data-v-2d1781f7] .ant-collapse-header {
    padding: 12px !important;
    font-size: 13px;
}
  /* 表单操作栏固定定位 */
.form-actions[data-v-2d1781f7] {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 12px 16px;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
    z-index: 100;
    border-top: 1px solid #f0f0f0;
}
  /* 表单内容底部留出空间 */
.form-content[data-v-2d1781f7] {
    padding-bottom: 80px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-2d1781f7] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-2d1781f7] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-2d1781f7] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-2d1781f7] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-2d1781f7] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-2d1781f7] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-2d1781f7] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-2d1781f7] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-2d1781f7] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-2d1781f7] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-2d1781f7] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-2d1781f7] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-2d1781f7] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.field-card[data-v-2d1781f7] {
    padding: 12px;
}
.field-card .highlights-panel .highlights-bg-decoration[data-v-2d1781f7] {
    display: none;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.relation-card[data-v-2d1781f7] {
    padding: 12px;
}
.relation-card .highlights-panel .highlights-bg-decoration[data-v-2d1781f7] {
    display: none;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.form-actions[data-v-2d1781f7] {
    padding: 12px;
}
.form-actions .highlights-panel .highlights-bg-decoration[data-v-2d1781f7] {
    display: none;
}
}
.left-nav[data-v-0520846f] {
  display: flex;
  flex-direction: column;
  height: 100%;
  user-select: none;
  background: var(--color-neutral-0);
}
/* 头部区域 */
.nav-header[data-v-0520846f] {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  padding: var(--spacing-3) var(--spacing-4);
  border-bottom: 1px solid var(--color-border-light);
  flex-shrink: 0;
  background: linear-gradient(135deg, var(--color-bg-container-hover) 0%, var(--color-neutral-0) 100%);
}
.nav-header-icon[data-v-0520846f] {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #1677ff 0%, #0958d9 100%);
  border-radius: var(--radius-lg);
  color: white;
  font-size: 18px;
  flex-shrink: 0;
  box-shadow: 0 4px 12px rgba(22, 119, 255, 0.3);
  transition: box-shadow 0.3s;
}
.nav-header-icon[data-v-0520846f]:hover {
  box-shadow: 0 6px 16px rgba(22, 119, 255, 0.4);
}
.nav-header-text[data-v-0520846f] {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
}
.nav-header-name[data-v-0520846f] {
  font-size: 14px;
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.nav-header-version[data-v-0520846f] {
  font-size: 11px;
  color: var(--color-text-quaternary);
  margin-top: 2px;
  background: var(--color-bg-layout);
  padding: 0 6px;
  border-radius: var(--radius-xs);
  display: inline-block;
  width: fit-content;
}
.nav-close-btn[data-v-0520846f] {
  flex-shrink: 0;
  color: var(--color-text-quaternary);
  transition: color 0.2s;
}
.nav-close-btn[data-v-0520846f]:hover {
  color: var(--color-text-primary);
}
/* 搜索 */
.nav-search[data-v-0520846f] {
  padding: var(--spacing-2) var(--spacing-3);
  flex-shrink: 0;
  border-bottom: 1px solid var(--color-border-light);
}
.nav-search-input[data-v-0520846f] .ant-input-affix-wrapper {
  border-radius: var(--radius-lg);
  border-color: var(--color-border-light);
  background: var(--color-bg-layout);
  transition: all 0.2s;
}
.nav-search-input[data-v-0520846f] .ant-input-affix-wrapper:hover,
.nav-search-input[data-v-0520846f] .ant-input-affix-wrapper:focus {
  border-color: #1677ff;
  background: var(--color-neutral-0);
}
/* 导航分组 */
.nav-groups[data-v-0520846f] {
  flex: 1;
  overflow-y: auto;
  padding: var(--spacing-1) 0;
}
.nav-group[data-v-0520846f] {
  margin-bottom: 2px;
}
.nav-group-title[data-v-0520846f] {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: var(--spacing-2) var(--spacing-4) var(--spacing-1);
  font-size: 11px;
  font-weight: var(--font-weight-medium);
  color: var(--color-text-quaternary);
  text-transform: uppercase;
  letter-spacing: 0.8px;
  cursor: pointer;
  transition: color 0.2s;
  position: relative;
}
.nav-group-title[data-v-0520846f]:hover {
  color: var(--color-text-secondary);
}
.group-icon[data-v-0520846f] {
  font-size: 12px;
  opacity: 0.6;
}
.group-label[data-v-0520846f] {
  flex: 1;
}
.group-count[data-v-0520846f] {
  font-size: 10px;
  background: var(--color-bg-layout);
  color: var(--color-text-quaternary);
  padding: 0 5px;
  border-radius: var(--radius-lg);
  font-weight: var(--font-weight-medium);
  letter-spacing: 0;
  text-transform: none;
}
.group-arrow[data-v-0520846f] {
  font-size: 10px;
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  color: var(--color-text-quaternary);
}
.group-collapsed .group-arrow[data-v-0520846f] {
  transform: rotate(-90deg);
}
/* 导航项 */
.nav-group-items[data-v-0520846f] {
  padding: 0 var(--spacing-2) var(--spacing-1);
}
.nav-item[data-v-0520846f] {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  padding: 7px var(--spacing-3);
  margin: 1px 0;
  border-radius: var(--radius-lg);
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  font-size: 13px;
  color: var(--color-text-secondary);
  position: relative;
}
.nav-item[data-v-0520846f]:hover {
  background: rgba(22, 119, 255, 0.06);
  color: #1677ff;
}
.nav-item-active[data-v-0520846f] {
  background: rgba(22, 119, 255, 0.06);
  color: #1677ff;
  font-weight: var(--font-weight-medium);
}
.nav-item-active[data-v-0520846f]::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
  height: 18px;
  background: #1677ff;
  border-radius: 0 3px 3px 0;
  box-shadow: 0 0 6px rgba(22, 119, 255, 0.3);
}
.nav-item-icon[data-v-0520846f] {
  font-size: 14px;
  flex-shrink: 0;
  opacity: 0.75;
  transition: opacity 0.2s;
}
.nav-item-active .nav-item-icon[data-v-0520846f],
.nav-item:hover .nav-item-icon[data-v-0520846f] {
  opacity: 1;
}
.nav-item-label[data-v-0520846f] {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
}
.nav-item-badge[data-v-0520846f] {
  font-size: 10px;
  padding: 0 5px;
  border-radius: var(--radius-lg);
  font-weight: var(--font-weight-medium);
  line-height: 18px;
  flex-shrink: 0;
}
.nav-item-badge.default[data-v-0520846f] {
  background: var(--color-bg-layout);
  color: var(--color-text-quaternary);
}
.nav-item-badge.blue[data-v-0520846f] {
  background: #e6f7ff;
  color: #1677ff;
}
.nav-item-badge.green[data-v-0520846f] {
  background: #f6ffed;
  color: #52c41a;
}
.nav-item-badge.red[data-v-0520846f] {
  background: #fff2f0;
  color: #ff4d4f;
}
/* 折叠动画 */
.slide-down-enter-active[data-v-0520846f],
.slide-down-leave-active[data-v-0520846f] {
  transition: all 0.2s ease;
  overflow: hidden;
}
.slide-down-enter-from[data-v-0520846f],
.slide-down-leave-to[data-v-0520846f] {
  opacity: 0;
  max-height: 0;
}
.slide-down-enter-to[data-v-0520846f],
.slide-down-leave-from[data-v-0520846f] {
  opacity: 1;
  max-height: 500px;
}
/* 底部 */
.nav-footer[data-v-0520846f] {
  flex-shrink: 0;
  border-top: 1px solid var(--color-border-light);
  padding: var(--spacing-1) 0;
}
.nav-footer-item[data-v-0520846f] {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  padding: var(--spacing-2) var(--spacing-4);
  font-size: 13px;
  color: var(--color-text-quaternary);
  cursor: pointer;
  transition: all 0.2s;
}
.nav-footer-item[data-v-0520846f]:hover {
  color: #1677ff;
  background: rgba(22, 119, 255, 0.04);
}
.nav-footer-divider[data-v-0520846f] {
  height: 1px;
  background: var(--color-border-light);
  margin: 0 var(--spacing-4);
}
/* 滚动条 */
.nav-groups[data-v-0520846f]::-webkit-scrollbar {
  width: 4px;
}
.nav-groups[data-v-0520846f]::-webkit-scrollbar-thumb {
  background: transparent;
  border-radius: var(--radius-sm);
  transition: background 0.2s;
}
.nav-groups[data-v-0520846f]:hover::-webkit-scrollbar-thumb {
  background: var(--color-border);
}
.nav-groups[data-v-0520846f]::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-quaternary);
}
.workspace-layout[data-v-20f4be9d] {
  display: flex;
  flex: 1;
  overflow: hidden;
  position: relative;
  background: var(--color-bg-layout);
}
/* 左侧导航 */
.layout-left[data-v-20f4be9d] {
  width: 240px;
  flex-shrink: 0;
  background: var(--color-neutral-0);
  border-right: 1px solid var(--color-border-light);
  overflow-y: auto;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  border-radius: 0 var(--radius-xl) var(--radius-xl) 0;
}
/* 中间画布 */
.layout-center[data-v-20f4be9d] {
  flex: 1;
  overflow: hidden;
  background: var(--color-bg-layout);
  display: flex;
  flex-direction: column;
}
/* 右侧属性面板 */
.layout-right[data-v-20f4be9d] {
  width: 320px;
  flex-shrink: 0;
  background: var(--color-neutral-0);
  border-left: 1px solid var(--color-border-light);
  overflow-y: auto;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  border-radius: var(--radius-xl) 0 0 var(--radius-xl);
}
.layout-right.right-collapsed[data-v-20f4be9d] {
  width: 0;
  min-width: 0;
  border-left: none;
  overflow: hidden;
}
/* 遮罩层 */
.layout-overlay[data-v-20f4be9d] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: 100;
  animation: fadeIn-20f4be9d 0.2s ease;
}
@keyframes fadeIn-20f4be9d {
from {
    opacity: 0;
}
to {
    opacity: 1;
}
}
/* 小屏幕 - 左侧变为抽屉 */
.layout-left.left-drawer[data-v-20f4be9d] {
  position: fixed;
  top: 0;
  left: -240px;
  bottom: 0;
  z-index: 101;
  box-shadow: var(--shadow-lg);
  border-radius: 0;
}
.layout-left.left-drawer.left-visible[data-v-20f4be9d] {
  left: 0;
}
/* 小屏幕 - 右侧变为抽屉 */
.layout-right.right-drawer[data-v-20f4be9d] {
  position: fixed;
  top: 0;
  right: -320px;
  bottom: 0;
  z-index: 101;
  box-shadow: var(--shadow-lg);
  border-radius: 0;
}
.layout-right.right-drawer.right-visible[data-v-20f4be9d] {
  right: 0;
}
/* 浮动按钮 */
.layout-float-buttons[data-v-20f4be9d] {
  position: fixed;
  bottom: var(--spacing-6);
  right: var(--spacing-6);
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
  z-index: 102;
}
.float-btn[data-v-20f4be9d] {
  box-shadow: var(--shadow-md);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.float-btn[data-v-20f4be9d]:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg);
}
/* 统一滚动条样式 */
.layout-left[data-v-20f4be9d]::-webkit-scrollbar,
.layout-right[data-v-20f4be9d]::-webkit-scrollbar {
  width: 4px;
}
.layout-left[data-v-20f4be9d]::-webkit-scrollbar-thumb,
.layout-right[data-v-20f4be9d]::-webkit-scrollbar-thumb {
  background: var(--color-border);
  border-radius: var(--radius-sm);
  transition: background 0.2s ease;
}
.layout-left[data-v-20f4be9d]::-webkit-scrollbar-thumb:hover,
.layout-right[data-v-20f4be9d]::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-quaternary);
}
/* 响应式：小屏幕时隐藏浮动按钮外的面板 */
@media (max-width: 991px) {
.layout-left[data-v-20f4be9d]:not(.left-drawer),
  .layout-right[data-v-20f4be9d]:not(.right-drawer) {
    display: none;
}
}
.overview-panel[data-v-a64a6eb3] {
  padding: 0;
}
.card-title[data-v-a64a6eb3] {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-2);
  font-weight: 500;
  color: var(--color-text-primary);
}
.info-card[data-v-a64a6eb3] {
  border-radius: var(--radius-md);
  overflow: hidden;
}
.info-card[data-v-a64a6eb3] .ant-descriptions-item-label {
  width: 100px;
  font-weight: 500;
  color: var(--color-text-secondary);
  background: var(--color-bg-container-hover);
}
.info-card[data-v-a64a6eb3] .ant-descriptions-item-content {
  color: var(--color-text-primary);
}
.stats-row[data-v-a64a6eb3] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-top: 12px;
  padding: 0 12px;
}
@media (max-width: 768px) {
.stats-row[data-v-a64a6eb3] {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}
.stat-icon[data-v-a64a6eb3] {
    width: 44px;
    height: 44px;
    font-size: 20px;
}
.stat-value[data-v-a64a6eb3] {
    font-size: 20px;
}
}
.stat-card[data-v-a64a6eb3] {
  display: flex;
  align-items: center;
  gap: 16px;
  background: #fff;
  border-radius: 12px;
  border: 1px solid #f0f0f0;
  transition: all 0.3s ease;
  cursor: default;
}
.stat-card[data-v-a64a6eb3]:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
  border-color: #e0e0e0;
}
.stat-icon[data-v-a64a6eb3] {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  color: #fff;
  flex-shrink: 0;
  transition: transform 0.3s ease;
}
.stat-card:hover .stat-icon[data-v-a64a6eb3] {
  transform: scale(1.08);
}
.stat-info[data-v-a64a6eb3] {
  flex: 1;
  min-width: 0;
}
.stat-value[data-v-a64a6eb3] {
  font-size: 32px;
  font-weight: 700;
  color: #1e293b;
  line-height: 1.1;
  transition: color 0.3s;
}
.stat-value.stat-zero[data-v-a64a6eb3] {
  color: #c0c4cc;
}
.stat-label[data-v-a64a6eb3] {
  font-size: 13px;
  color: #94a3b8;
  margin-top: 4px;
  font-weight: 500;
}
.log-card[data-v-a64a6eb3] {
  border-radius: var(--radius-md);
  overflow: hidden;
}
.log-card[data-v-a64a6eb3] .ant-timeline {
  padding-top: var(--spacing-xs);
}
.log-item[data-v-a64a6eb3] {
  line-height: 1.6;
  padding: var(--spacing-xs) 0;
}
.log-header[data-v-a64a6eb3] {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
  flex-wrap: wrap;
}
.log-operator[data-v-a64a6eb3] {
  font-weight: 500;
  color: var(--color-text-primary);
}
.log-time[data-v-a64a6eb3] {
  margin-left: auto;
  font-size: 12px;
  color: var(--color-text-tertiary);
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
}
.log-content[data-v-a64a6eb3] {
  color: var(--color-text-secondary);
  font-size: 13px;
  margin-top: var(--spacing-xs);
  line-height: 1.6;
}
.statistics-panel[data-v-275a391c] {
  padding: 0;
}
/* Stats Grid - 参考系统日志风格 */
.stats-grid[data-v-275a391c] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: var(--spacing-4);
}
.stats-card[data-v-275a391c] {
  background: white;
  border-radius: var(--radius-xl);
  padding: 16px;
  box-shadow: var(--shadow-sm);
}
@media (max-width: 768px) {
.stats-card[data-v-275a391c] {
    padding: 12px;
}
}
.stat-item[data-v-275a391c] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.stat-icon[data-v-275a391c] {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: white;
  flex-shrink: 0;
}
.stat-icon-blue[data-v-275a391c] {
  background: linear-gradient(135deg, #3b82f6 0%, #60a5fa 100%);
}
.stat-icon-green[data-v-275a391c] {
  background: linear-gradient(135deg, #10b981 0%, #34d399 100%);
}
.stat-icon-orange[data-v-275a391c] {
  background: linear-gradient(135deg, #f59e0b 0%, #fbbf24 100%);
}
.stat-icon-purple[data-v-275a391c] {
  background: linear-gradient(135deg, #8b5cf6 0%, #a78bfa 100%);
}
.stat-content[data-v-275a391c] {
  flex: 1;
  min-width: 0;
}
.stat-value[data-v-275a391c] {
  font-size: 24px;
  font-weight: 700;
  color: var(--color-text);
  line-height: 1.2;
}
.stat-label[data-v-275a391c] {
  font-size: 13px;
  color: var(--color-text-secondary);
  margin-top: 4px;
}
/* 响应式适配 */
@media (max-width: 1200px) {
.stats-grid[data-v-275a391c] {
    grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 768px) {
.stats-grid[data-v-275a391c] {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}
.stat-item[data-v-275a391c] {
    flex-direction: column;
    text-align: center;
    gap: 8px;
}
.stat-icon[data-v-275a391c] {
    width: 40px;
    height: 40px;
    font-size: 16px;
}
.stat-value[data-v-275a391c] {
    font-size: 20px;
}
.stat-label[data-v-275a391c] {
    font-size: 12px;
}
}
.card-title[data-v-275a391c] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 500;
  font-size: 14px;
}
.trend-chart-container[data-v-275a391c] {
  width: 100%;
}
.chart-container[data-v-275a391c] {
  width: 100%;
}
.distribution-card[data-v-275a391c] {
  border-radius: var(--radius-xl, 20px);
}
.distribution-card[data-v-275a391c] .ant-card-body {
  padding: 16px;
}
@media (max-width: 768px) {
.distribution-card .distribution-card[data-v-275a391c] {
    padding: 12px;
}
}
.trend-card[data-v-275a391c] {
  border-radius: var(--radius-xl, 20px);
}
.trend-card[data-v-275a391c] .ant-card-body {
  padding: 16px;
}
@media (max-width: 768px) {
.trend-card .trend-card[data-v-275a391c] {
    padding: 12px;
}
}
.activity-time[data-v-275a391c] {
  font-size: 12px;
  color: var(--color-text-tertiary);
}
/* 移动端卡片视图 */
.mobile-card-list[data-v-275a391c] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.mobile-card[data-v-275a391c] {
  background: var(--color-bg-container);
  border-radius: var(--radius-md);
  padding: 12px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}
.mobile-card-header[data-v-275a391c] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.mobile-card-body[data-v-275a391c] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.mobile-card-content[data-v-275a391c] {
  font-size: 13px;
  color: var(--color-text-primary);
  margin-bottom: 4px;
}
.mobile-card-operator[data-v-275a391c] {
  font-size: 12px;
  color: var(--color-text-tertiary);
}
.mobile-card-label[data-v-275a391c] {
  color: var(--color-text-tertiary);
}
.operation-log-panel[data-v-1073533c] {
  padding: 0;
}
.filter-bar[data-v-1073533c] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  padding: 12px;
  flex-wrap: wrap;
  gap: 12px;
}
.timeline-wrapper[data-v-1073533c] {
  padding: 12px;
}
.log-item[data-v-1073533c] {
  line-height: 1.6;
}
.log-header[data-v-1073533c] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.log-operator-info[data-v-1073533c] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.log-operator[data-v-1073533c] {
  font-weight: 500;
  color: var(--color-text-primary);
}
.log-time[data-v-1073533c] {
  margin-left: auto;
  font-size: 12px;
  color: var(--color-text-tertiary);
}
.log-content[data-v-1073533c] {
  color: var(--color-text-secondary);
  font-size: 13px;
  margin-top: 4px;
  margin-left: 32px;
}
.log-detail[data-v-1073533c] {
  margin-top: 6px;
  margin-left: 32px;
  max-width: 500px;
}
.detail-changes[data-v-1073533c] {
  font-size: 12px;
  font-family: 'SFMono-Regular', Consolas, monospace;
}
.detail-change-item[data-v-1073533c] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 3px 0;
  color: var(--color-text-secondary);
}
.change-field[data-v-1073533c] {
  color: #1677ff;
  font-weight: 500;
  min-width: 100px;
}
.change-arrow[data-v-1073533c] {
  color: var(--color-border);
}
.change-from[data-v-1073533c] {
  color: var(--color-error);
  text-decoration: line-through;
}
.change-to[data-v-1073533c] {
  color: var(--color-success);
  font-weight: 500;
}
.log-meta[data-v-1073533c] {
  margin-top: 4px;
  margin-left: 32px;
  font-size: 11px;
  color: var(--color-text-quaternary);
  display: flex;
  gap: 16px;
}
.load-more[data-v-1073533c] {
  text-align: center;
  padding: 12px 0;
}
.field-manager[data-v-96a02ebf] {
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: var(--spacing-4);
  background: var(--color-bg-layout);
}
.toolbar[data-v-96a02ebf] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--spacing-4);
  flex-wrap: wrap;
  gap: var(--spacing-3);
}
.field-name[data-v-96a02ebf] {
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
}
.field-code[data-v-96a02ebf] {
  font-size: var(--font-size-xs);
  color: var(--color-text-tertiary);
  font-family: var(--font-family-mono, 'SFMono-Regular', Consolas, monospace);
}
.icon-check[data-v-96a02ebf] {
  color: var(--color-success);
  font-weight: bold;
  font-size: var(--font-size-base);
}
.icon-cross[data-v-96a02ebf] {
  color: var(--color-border);
  font-size: var(--font-size-base);
}
.action-link[data-v-96a02ebf] {
  color: #1677ff;
  font-size: var(--font-size-sm);
  cursor: pointer;
  transition: color var(--duration-fast) ease;
}
.action-link[data-v-96a02ebf]:hover {
  color: #1677ff;
}
.action-link--danger[data-v-96a02ebf] {
  color: var(--color-error);
}
.action-link--danger[data-v-96a02ebf]:hover {
  color: var(--color-error);
}
/* 斑马纹 */
[data-v-96a02ebf] .row-striped {
  background-color: var(--color-bg-container-hover);
}
/* 选中行 */
[data-v-96a02ebf] .row-selected {
  background-color: rgba(22, 119, 255, 0.04) !important;
}
[data-v-96a02ebf] .ant-table-tbody > tr.row-selected:hover > td {
  background-color: rgba(22, 119, 255, 0.08) !important;
}
[data-v-96a02ebf] .ant-table-tbody > tr.row-selected > td {
  border-top: 2px solid #1677ff;
  border-bottom: 2px solid #1677ff;
}
[data-v-96a02ebf] .ant-table-tbody > tr.row-selected > td:first-child {
  border-left: 2px solid #1677ff;
}
[data-v-96a02ebf] .ant-table-tbody > tr.row-selected > td:last-child {
  border-right: 2px solid #1677ff;
}
[data-v-96a02ebf]::deep(.ant-table) {
  border-radius: var(--radius-md, 6px);
  overflow: hidden;
}
[data-v-96a02ebf]::deep(.ant-table-thead > tr > th) {
  background: var(--color-bg-container-hover);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-secondary);
  border-bottom: 1px solid var(--color-border-light);
}
[data-v-96a02ebf]::deep(.ant-table-tbody > tr > td) {
  border-bottom: 1px solid var(--color-border-light);
}
[data-v-96a02ebf]::deep(.ant-table-tbody > tr:hover > td) {
  background: var(--color-bg-container-hover);
}
/* 移动端卡片视图 */
.mobile-card-list[data-v-96a02ebf] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.mobile-card[data-v-96a02ebf] {
  background: var(--color-bg-container);
  border-radius: var(--radius-md);
  padding: 12px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  cursor: pointer;
  transition: box-shadow var(--duration-fast) ease;
}
.mobile-card[data-v-96a02ebf]:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}
.mobile-card[data-v-96a02ebf]:active {
  transform: scale(0.98);
}
.mobile-card-header[data-v-96a02ebf] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--color-border-light);
}
.mobile-card-body[data-v-96a02ebf] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.mobile-card-row[data-v-96a02ebf] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
}
.mobile-card-label[data-v-96a02ebf] {
  color: var(--color-text-tertiary);
  min-width: 80px;
}
.mobile-card-actions[data-v-96a02ebf] {
  display: flex;
  justify-content: flex-end;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--color-border-light);
}
@media (max-width: 480px) {
.mobile-card-row[data-v-96a02ebf] {
    flex-wrap: wrap;
}
.mobile-card-label[data-v-96a02ebf] {
    min-width: auto;
}
}
.relation-manager[data-v-c2770f6c] {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.toolbar[data-v-c2770f6c] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  flex-wrap: wrap;
  gap: 12px;
}
.field-code[data-v-c2770f6c] {
  font-size: 13px;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  color: var(--color-text-secondary);
}
/* 移动端卡片视图 */
.mobile-card-list[data-v-c2770f6c] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.mobile-card[data-v-c2770f6c] {
  background: var(--color-bg-container);
  border-radius: var(--radius-md);
  padding: 12px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}
.mobile-card-header[data-v-c2770f6c] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--color-border-light);
}
.mobile-card-title[data-v-c2770f6c] {
  font-weight: 500;
  color: var(--color-text-primary);
}
.mobile-card-body[data-v-c2770f6c] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.mobile-card-row[data-v-c2770f6c] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
}
.mobile-card-label[data-v-c2770f6c] {
  color: var(--color-text-tertiary);
  min-width: 80px;
}
.mobile-card-actions[data-v-c2770f6c] {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--color-border-light);
}
.index-management-panel[data-v-4131e6c0] {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.toolbar[data-v-4131e6c0] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  flex-wrap: wrap;
  gap: 12px;
}
.index-name[data-v-4131e6c0] {
  font-weight: 500;
  color: var(--color-text-primary);
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
}
/* 移动端卡片视图 */
.mobile-card-list[data-v-4131e6c0] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.mobile-card[data-v-4131e6c0] {
  background: var(--color-bg-container);
  border-radius: var(--radius-md);
  padding: 12px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}
.mobile-card-header[data-v-4131e6c0] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--color-border-light);
}
.mobile-card-body[data-v-4131e6c0] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.mobile-card-row[data-v-4131e6c0] {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 13px;
}
.mobile-card-label[data-v-4131e6c0] {
  color: var(--color-text-tertiary);
  min-width: 60px;
  flex-shrink: 0;
}
.mobile-card-tags[data-v-4131e6c0] {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.mobile-card-actions[data-v-4131e6c0] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--color-border-light);
}
.data-preview-panel[data-v-6a8243c0] {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.toolbar[data-v-6a8243c0] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  flex-wrap: wrap;
  gap: 12px;
}
/* 移动端卡片视图 */
.mobile-card-list[data-v-6a8243c0] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.mobile-card[data-v-6a8243c0] {
  background: var(--color-bg-container);
  border-radius: var(--radius-md);
  padding: 12px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  cursor: pointer;
  transition: box-shadow var(--duration-fast) ease;
}
.mobile-card[data-v-6a8243c0]:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}
.mobile-card-header[data-v-6a8243c0] {
  margin-bottom: 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--color-border-light);
}
.mobile-card-id[data-v-6a8243c0] {
  font-weight: 500;
  color: var(--color-text-primary);
  font-size: 14px;
}
.mobile-card-body[data-v-6a8243c0] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.mobile-card-row[data-v-6a8243c0] {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 13px;
}
.mobile-card-label[data-v-6a8243c0] {
  color: var(--color-text-tertiary);
  min-width: 60px;
  flex-shrink: 0;
}
.mobile-card-value[data-v-6a8243c0] {
  color: var(--color-text-primary);
  word-break: break-all;
}
.mobile-card-actions[data-v-6a8243c0] {
  display: flex;
  justify-content: flex-end;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--color-border-light);
}
.mobile-empty[data-v-6a8243c0] {
  padding: 24px 0;
}
.form-designer-list-panel[data-v-3bb3360b] {
  padding: var(--spacing-4);
  height: 100%;
  overflow-y: auto;
  background: var(--color-bg-layout);
}
.section[data-v-3bb3360b] {
  background: var(--color-neutral-0);
  border-radius: var(--radius-lg);
  padding: var(--spacing-5);
  margin-bottom: var(--spacing-4);
  box-shadow: var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.1));
  transition: box-shadow var(--duration-fast) var(--easing-default);
}
.section[data-v-3bb3360b]:last-child {
  margin-bottom: 0;
}
.section-header[data-v-3bb3360b] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--spacing-4);
  padding-bottom: var(--spacing-3);
  border-bottom: 1px solid var(--color-border-light);
}
.section-title[data-v-3bb3360b] {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
}
.section-title-icon[data-v-3bb3360b] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: var(--radius-md, 6px);
  font-size: var(--font-size-md, 16px);
  flex-shrink: 0;
}
.section-title-icon--primary[data-v-3bb3360b] {
  background: rgba(22, 119, 255, 0.04);
  color: #1677ff;
}
.section-title-icon--success[data-v-3bb3360b] {
  background: var(--color-success-50, #ecfdf5);
  color: var(--color-success-600, #059669);
}
.section-title-text[data-v-3bb3360b] {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
}
.form-table[data-v-3bb3360b] .ant-table {
  border-radius: var(--radius-md, 6px);
  overflow: hidden;
}
.form-table[data-v-3bb3360b] .ant-table-thead > tr > th {
  background: var(--color-bg-container-hover);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-secondary);
  border-bottom: 1px solid var(--color-border-light);
}
.form-table[data-v-3bb3360b] .ant-table-tbody > tr > td {
  border-bottom: 1px solid var(--color-border-light);
}
.form-table[data-v-3bb3360b] .ant-table-tbody > tr:hover > td {
  background: var(--color-bg-container-hover);
}
.action-btns[data-v-3bb3360b] {
  display: flex;
  align-items: center;
  gap: var(--spacing-1, 4px);
}
.action-btn[data-v-3bb3360b] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: none;
  border-radius: var(--radius-sm);
  color: #1677ff;
  transition: all var(--duration-fast) var(--easing-default);
}
.action-btn[data-v-3bb3360b]:hover {
  background: rgba(22, 119, 255, 0.04);
}
.action-btn--danger[data-v-3bb3360b] {
  color: var(--color-error);
}
.action-btn--danger[data-v-3bb3360b]:hover {
  background: var(--color-error-50, #fef2f2);
}
.custom-empty[data-v-3bb3360b] .ant-empty-description {
  color: var(--color-text-tertiary);
}
.custom-empty[data-v-3bb3360b] .ant-empty-image {
  opacity: 0.6;
}
.relation-field-row[data-v-3bb3360b] {
  position: relative;
  margin-bottom: var(--spacing-3);
  padding-right: 32px;
}
.relation-field-row .arrow-col[data-v-3bb3360b] {
  text-align: center;
  line-height: 32px;
  color: var(--color-text-tertiary);
}
.relation-field-row .remove-btn[data-v-3bb3360b] {
  position: absolute;
  right: 0;
  top: 0;
}
/* 移动端卡片视图 */
.mobile-card-list[data-v-3bb3360b] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.mobile-card[data-v-3bb3360b] {
  background: var(--color-bg-container);
  border-radius: var(--radius-md);
  padding: 12px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}
.mobile-card-header[data-v-3bb3360b] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--color-border-light);
}
.mobile-card-title[data-v-3bb3360b] {
  font-weight: 500;
  color: var(--color-text-primary);
}
.mobile-card-body[data-v-3bb3360b] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.mobile-card-row[data-v-3bb3360b] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
}
.mobile-card-label[data-v-3bb3360b] {
  color: var(--color-text-tertiary);
  min-width: 60px;
}
.mobile-card-code[data-v-3bb3360b] {
  font-size: 12px;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  color: var(--color-text-secondary);
}
.mobile-card-actions[data-v-3bb3360b] {
  display: flex;
  justify-content: flex-end;
  gap: 4px;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--color-border-light);
}
.mobile-empty[data-v-3bb3360b] {
  padding: 24px 0;
}
[data-v-3bb3360b] .ant-modal-body {
  padding: var(--spacing-5) var(--spacing-6, 24px);
}
[data-v-3bb3360b] .ant-form-item {
  margin-bottom: var(--spacing-4);
}
.process-list-panel[data-v-04e98a70] {
  padding: var(--spacing-4);
  height: 100%;
  overflow-y: auto;
  background: var(--color-bg-layout);
}
.section[data-v-04e98a70] {
  margin-bottom: var(--spacing-4);
  background: var(--color-neutral-0);
  border-radius: var(--radius-lg);
  padding: var(--spacing-5);
  box-shadow: var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.1));
}
.section[data-v-04e98a70]:last-child {
  margin-bottom: 0;
}
.section-header[data-v-04e98a70] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--spacing-4);
  padding-bottom: var(--spacing-3);
  border-bottom: 1px solid var(--color-border-light);
}
.section-title[data-v-04e98a70] {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
}
.workflow-card[data-v-04e98a70] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: var(--spacing-4);
  background: var(--color-bg-container-hover);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border-light);
  transition: all var(--duration-fast) ease;
}
.workflow-card[data-v-04e98a70]:hover {
  box-shadow: var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.1));
}
.workflow-info[data-v-04e98a70] {
  flex: 1;
}
.workflow-name[data-v-04e98a70] {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  margin-bottom: var(--spacing-2);
}
.workflow-meta[data-v-04e98a70] {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
  margin-bottom: var(--spacing-2);
  flex-wrap: wrap;
}
.meta-item[data-v-04e98a70] {
  font-size: var(--font-size-sm);
  color: var(--color-text-tertiary);
}
.workflow-desc[data-v-04e98a70] {
  font-size: var(--font-size-sm);
  color: var(--color-text-tertiary);
}
.workflow-actions[data-v-04e98a70] {
  display: flex;
  gap: var(--spacing-1, 4px);
}
[data-v-04e98a70] .ant-table {
  border-radius: var(--radius-md, 6px);
  overflow: hidden;
}
[data-v-04e98a70] .ant-table-thead > tr > th {
  background: var(--color-bg-container-hover);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-secondary);
  border-bottom: 1px solid var(--color-border-light);
}
[data-v-04e98a70] .ant-table-tbody > tr > td {
  border-bottom: 1px solid var(--color-border-light);
}
[data-v-04e98a70] .ant-table-tbody > tr:hover > td {
  background: var(--color-bg-container-hover);
}
/* 移动端卡片视图 */
.mobile-card-list[data-v-04e98a70] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.mobile-card[data-v-04e98a70] {
  background: var(--color-bg-container);
  border-radius: var(--radius-md);
  padding: 12px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}
.mobile-card-header[data-v-04e98a70] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--color-border-light);
}
.mobile-card-title[data-v-04e98a70] {
  font-weight: 500;
  color: var(--color-text-primary);
}
.mobile-card-body[data-v-04e98a70] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.mobile-card-row[data-v-04e98a70] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
}
.mobile-card-label[data-v-04e98a70] {
  color: var(--color-text-tertiary);
}
.mobile-card-actions[data-v-04e98a70] {
  display: flex;
  gap: 8px;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--color-border-light);
}
.mobile-empty[data-v-04e98a70] {
  padding: 24px 0;
}
.unified-view-designer[data-v-e60a57c1] {
  width: 100%;
}
.unified-view-designer.mode-compact .designer-body[data-v-e60a57c1] {
  max-width: 800px;
  margin: 0 auto;
}
.view-type-selector[data-v-e60a57c1] {
  margin-bottom: 16px;
  background: #fff;
  padding: 12px;
  border-radius: 8px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}
.view-type-selector[data-v-e60a57c1] .ant-segmented {
  background: #f5f5f5;
  border-radius: 8px;
  padding: 4px;
}
.view-type-selector[data-v-e60a57c1] .ant-segmented-item {
  border-radius: 6px;
  transition: all 0.25s ease;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.45);
}
.view-type-selector[data-v-e60a57c1] .ant-segmented-item-selected {
  background: #fff;
  color: #1677ff;
  box-shadow: 0 2px 8px rgba(22, 119, 255, 0.12);
}
.view-type-selector[data-v-e60a57c1] .ant-segmented-item:hover:not(.ant-segmented-item-selected) {
  color: rgba(0, 0, 0, 0.65);
}
.designer-body[data-v-e60a57c1] {
  margin-top: 16px;
}
.panel-card[data-v-e60a57c1] {
  border-radius: 8px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
  height: 100%;
}
.panel-card[data-v-e60a57c1] .ant-card-head {
  min-height: 40px;
  padding: 0 12px;
  font-size: 13px;
  font-weight: 600;
}
.panel-card[data-v-e60a57c1] .ant-card-head-title {
  padding: 8px 0;
}
.panel-card[data-v-e60a57c1] .ant-card-body {
  padding: 12px;
}
/* 字段面板 */
.field-panel-card .field-list[data-v-e60a57c1] {
  max-height: 500px;
  overflow-y: auto;
}
.field-panel-card .field-item[data-v-e60a57c1] {
  display: flex;
  align-items: center;
  padding: 8px 10px;
  margin-bottom: 4px;
  border: 1px solid #e8e8e8;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s;
  gap: 8px;
}
.field-panel-card .field-item[data-v-e60a57c1]:hover {
  border-color: #1677ff;
  background: #f0f7ff;
}
.field-panel-card .field-item.added[data-v-e60a57c1] {
  border-color: #52c41a;
  background: #f6ffed;
  cursor: default;
}
.field-panel-card .field-label[data-v-e60a57c1] {
  flex: 1;
  font-size: 13px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.field-panel-card .field-type-tag[data-v-e60a57c1] {
  font-size: 11px;
  line-height: 16px;
  padding: 0 4px;
  margin: 0;
  border-radius: 4px;
}
.field-panel-card .field-add-icon[data-v-e60a57c1] {
  color: #1677ff;
  font-size: 14px;
}
.field-panel-card .field-added-icon[data-v-e60a57c1] {
  color: #52c41a;
  font-size: 14px;
}
/* 配置区 */
.config-section .config-item[data-v-e60a57c1] {
  margin-bottom: 16px;
  padding: 12px;
  background: #fafafa;
  border-radius: 8px;
  border: 1px solid #f0f0f0;
  transition: border-color 0.2s;
}
.config-section .config-item[data-v-e60a57c1]:last-child {
  margin-bottom: 0;
}
.config-section .config-item-title[data-v-e60a57c1] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.45);
  margin-bottom: 10px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
/* 列配置 */
.column-list[data-v-e60a57c1] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.column-row[data-v-e60a57c1] {
  padding: 8px;
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 6px;
  transition: border-color 0.2s;
}
.column-row[data-v-e60a57c1]:hover {
  border-color: #1677ff;
}
.column-row-main[data-v-e60a57c1] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.column-row-detail[data-v-e60a57c1] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  padding-top: 8px;
  border-top: 1px dashed #f0f0f0;
}
/* 行内配置（筛选、排序） */
.inline-row[data-v-e60a57c1] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  padding: 8px;
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 6px;
}
/* 字段排序列表 */
.field-order-list[data-v-e60a57c1] {
  border: 1px solid #e8e8e8;
  border-radius: 6px;
  overflow: hidden;
  background: #fff;
}
.field-order-item[data-v-e60a57c1] {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  border-bottom: 1px solid #f0f0f0;
  transition: background 0.2s;
}
.field-order-item[data-v-e60a57c1]:last-child {
  border-bottom: none;
}
.field-order-item[data-v-e60a57c1]:hover {
  background: #fafafa;
}
.field-order-index[data-v-e60a57c1] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 6px;
  background: linear-gradient(135deg, #1677ff, #4096ff);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  margin-right: 10px;
  flex-shrink: 0;
}
.field-order-name[data-v-e60a57c1] {
  flex: 1;
  font-size: 13px;
  color: rgba(0, 0, 0, 0.65);
  font-weight: 500;
}
/* 预览区 */
.preview-card .preview-content[data-v-e60a57c1] {
  min-height: 200px;
}
.preview-card .preview-header[data-v-e60a57c1] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 12px;
  margin-bottom: 12px;
  background: #fafafa;
  border-radius: 6px;
  font-weight: 500;
  font-size: 14px;
}
.empty-preview[data-v-e60a57c1] {
  padding: 24px;
  text-align: center;
  color: rgba(0, 0, 0, 0.25);
}
.kanban-preview[data-v-e60a57c1] {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  padding: 8px 0;
}
.kanban-column[data-v-e60a57c1] {
  min-width: 160px;
  flex: 1;
  background: #f5f5f5;
  border-radius: 6px;
  padding: 8px;
}
.kanban-column-header[data-v-e60a57c1] {
  font-weight: 500;
  font-size: 13px;
  margin-bottom: 8px;
  padding-bottom: 6px;
  border-bottom: 1px solid #e8e8e8;
}
.kanban-column-body[data-v-e60a57c1] {
  padding: 16px 8px;
  text-align: center;
  color: rgba(0, 0, 0, 0.25);
  font-size: 12px;
  border: 2px dashed #d9d9d9;
  border-radius: 4px;
}
.other-preview[data-v-e60a57c1] {
  padding: 40px;
  text-align: center;
  color: rgba(0, 0, 0, 0.25);
  background: #fff;
  border-radius: 6px;
}
.detail-preview[data-v-e60a57c1] {
  column-gap: 16px;
}
.detail-field[data-v-e60a57c1] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 12px;
  margin-bottom: 8px;
  background: #fafafa;
  border-radius: 4px;
  break-inside: avoid;
}
.detail-field-label[data-v-e60a57c1] {
  font-size: 13px;
  color: rgba(0, 0, 0, 0.45);
  font-weight: 500;
}
.detail-field-value[data-v-e60a57c1] {
  font-size: 13px;
  color: rgba(0, 0, 0, 0.65);
}
/* 响应式 */
@media (max-width: 768px) {
.view-type-selector[data-v-e60a57c1] {
    padding: 8px;
}
.panel-card[data-v-e60a57c1] .ant-card-body {
    padding: 8px;
}
.config-section .config-item[data-v-e60a57c1] {
    padding: 8px;
}
.column-row-detail[data-v-e60a57c1] {
    flex-direction: column;
    align-items: stretch;
}
.column-row-detail[data-v-e60a57c1] > * {
    width: 100% !important;
}
.inline-row[data-v-e60a57c1] {
    flex-wrap: wrap;
}
}
.view-config-panel[data-v-0e065b06] {
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 20px;
  overflow-y: auto;
  background: var(--color-bg-layout);
}
@media (max-width: 768px) {
.view-config-panel[data-v-0e065b06] {
    padding: 12px;
}
}
.config-footer[data-v-0e065b06] {
  padding-top: 20px;
  margin-top: 20px;
  border-top: 1px solid var(--color-border-light);
  display: flex;
  justify-content: flex-end;
}
.config-footer .ant-btn[data-v-0e065b06] {
  border-radius: 10px;
  height: 40px;
  padding: 0 24px;
  font-weight: 500;
  font-size: 14px;
  box-shadow: 0 4px 12px rgba(22, 119, 255, 0.15);
  transition: all 0.2s;
}
.config-footer .ant-btn[data-v-0e065b06]:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(22, 119, 255, 0.2);
}
.field-permission-panel[data-v-e6ce907e] {
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 16px;
  overflow-y: auto;
}
@media (max-width: 768px) {
.field-permission-panel[data-v-e6ce907e] {
    padding: 12px;
}
}
.panel-header h3[data-v-e6ce907e] {
  margin: 0 0 4px;
  font-size: 16px;
  font-weight: 600;
}
.panel-desc[data-v-e6ce907e] {
  margin: 0 0 20px;
  color: var(--color-text-tertiary);
  font-size: 13px;
}
.config-item[data-v-e6ce907e] {
  margin-bottom: 24px;
}
.config-item-title[data-v-e6ce907e] {
  font-size: 14px;
  font-weight: 600;
  color: var(--color-text-primary);
  margin-bottom: 12px;
}
.config-footer[data-v-e6ce907e] {
  padding-top: 16px;
  border-top: 1px solid var(--color-border-light);
  display: flex;
  justify-content: flex-end;
}
/* 移动端卡片视图 */
.mobile-card-list[data-v-e6ce907e] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.mobile-card[data-v-e6ce907e] {
  background: var(--color-bg-container);
  border-radius: var(--radius-md);
  padding: 12px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}
.mobile-card-header[data-v-e6ce907e] {
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--color-border-light);
}
.mobile-card-title[data-v-e6ce907e] {
  font-weight: 500;
  color: var(--color-text-primary);
  display: block;
}
.mobile-card-code[data-v-e6ce907e] {
  font-size: 12px;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  color: var(--color-text-tertiary);
}
.mobile-card-body[data-v-e6ce907e] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.mobile-permission-row[data-v-e6ce907e] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 4px 0;
}
.mobile-permission-label[data-v-e6ce907e] {
  font-size: 13px;
  color: var(--color-text-secondary);
}
.operation-permission-panel[data-v-28bc39ae] {
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 16px;
  overflow-y: auto;
}
@media (max-width: 768px) {
.operation-permission-panel[data-v-28bc39ae] {
    padding: 12px;
}
}
.panel-header h3[data-v-28bc39ae] {
  margin: 0 0 4px;
  font-size: 16px;
  font-weight: 600;
}
.panel-desc[data-v-28bc39ae] {
  margin: 0 0 20px;
  color: var(--color-text-tertiary);
  font-size: 13px;
}
.config-item[data-v-28bc39ae] {
  margin-bottom: 24px;
}
.config-item-title[data-v-28bc39ae] {
  font-size: 14px;
  font-weight: 600;
  color: var(--color-text-primary);
  margin-bottom: 12px;
}
.config-footer[data-v-28bc39ae] {
  padding-top: 16px;
  border-top: 1px solid var(--color-border-light);
  display: flex;
  justify-content: flex-end;
}
/* 移动端卡片视图 */
.mobile-card-list[data-v-28bc39ae] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.mobile-card[data-v-28bc39ae] {
  background: var(--color-bg-container);
  border-radius: var(--radius-md);
  padding: 12px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}
.mobile-card-header[data-v-28bc39ae] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.mobile-card-title[data-v-28bc39ae] {
  font-weight: 500;
  color: var(--color-text-primary);
}
.mobile-card-desc[data-v-28bc39ae] {
  font-size: 12px;
  color: var(--color-text-tertiary);
  margin-bottom: 8px;
}
.mobile-card-scope[data-v-28bc39ae] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--color-border-light);
}
.mobile-card-label[data-v-28bc39ae] {
  font-size: 13px;
  color: var(--color-text-secondary);
}
.canvas-container[data-v-9a57f647] {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  background: var(--color-bg-layout);
}
/* 工具栏 */
.canvas-toolbar[data-v-9a57f647] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 52px;
  padding: 0 var(--spacing-5);
  background: var(--color-neutral-0);
  border-bottom: 1px solid var(--color-border-light);
  flex-shrink: 0;
  box-shadow: var(--shadow-sm);
  transition: box-shadow 0.3s;
}
.canvas-toolbar[data-v-9a57f647]:hover {
  box-shadow: var(--shadow-md);
}
.toolbar-left[data-v-9a57f647] {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
}
.toolbar-title[data-v-9a57f647] {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
}
.toolbar-right[data-v-9a57f647] {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
}
.toolbar-right[data-v-9a57f647] .ant-btn {
  transition: all 0.2s;
}
.toolbar-right[data-v-9a57f647] .ant-btn:hover {
  transform: scale(1.02);
}
/* 内容区域 */
.canvas-content[data-v-9a57f647] {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
}
/* 表单设计器模式：取消padding和滚动，让内部组件自行管理 */
.canvas-content--no-padding[data-v-9a57f647] {
  padding: 0;
  overflow: hidden;
}
/* 动态面板过渡 */
.canvas-content > div[data-v-9a57f647] > * {
  animation: panelFadeIn-9a57f647 0.25s ease;
}
@keyframes panelFadeIn-9a57f647 {
from {
    opacity: 0;
    transform: translateY(6px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
/* 占位符 */
.canvas-placeholder[data-v-9a57f647] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  min-height: 300px;
  color: var(--color-text-quaternary);
  animation: fadeInUp-9a57f647 0.3s ease;
}
@keyframes fadeInUp-9a57f647 {
from {
    opacity: 0;
    transform: translateY(10px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
.placeholder-icon[data-v-9a57f647] {
  font-size: 48px;
  color: var(--color-neutral-300);
  margin-bottom: var(--spacing-4);
  transition: color 0.2s ease;
}
.canvas-placeholder:hover .placeholder-icon[data-v-9a57f647] {
  color: var(--color-text-quaternary);
}
.placeholder-title[data-v-9a57f647] {
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-secondary);
  margin: 0 0 var(--spacing-1);
}
.placeholder-desc[data-v-9a57f647] {
  font-size: var(--font-size-base);
  color: var(--color-text-quaternary);
  margin: 0;
  text-align: center;
  max-width: 575px;
  line-height: 1.6;
}
/* 底部状态栏 */
.canvas-statusbar[data-v-9a57f647] {
  display: flex;
  align-items: center;
  height: 32px;
  padding: 0 var(--spacing-5);
  background: var(--color-neutral-0);
  border-top: 1px solid var(--color-border-light);
  flex-shrink: 0;
}
.statusbar-text[data-v-9a57f647] {
  font-size: var(--font-size-xs);
  color: var(--color-text-quaternary);
  font-family: var(--font-family-mono, 'SFMono-Regular', Consolas, monospace);
}
/* 统一滚动条样式 */
.canvas-content[data-v-9a57f647]::-webkit-scrollbar {
  width: 5px;
}
.canvas-content[data-v-9a57f647]::-webkit-scrollbar-thumb {
  background: var(--color-neutral-300);
  border-radius: var(--radius-md);
  transition: background 0.2s ease;
}
.canvas-content[data-v-9a57f647]::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-quaternary);
}
.canvas-content[data-v-9a57f647]::-webkit-scrollbar-track {
  background: transparent;
}
.workspace-page[data-v-11842970] {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--color-bg-layout);
  overflow: hidden;
  padding: var(--spacing-4);
}
.panel-placeholder[data-v-11842970] {
  padding: var(--spacing-6);
}
.form-designer-page[data-v-bbd54627] {
  display: flex;
  flex-direction: column;
  background: var(--color-bg-layout, #f2f3f5);
  height: 100%;
}
.page-header[data-v-bbd54627] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: var(--color-bg-container);
  border-bottom: 1px solid var(--color-border-light, #e5e6eb);
  padding: 0 20px;
  height: 52px;
  flex-shrink: 0;
}
.header-left[data-v-bbd54627] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.header-left[data-v-bbd54627] .ant-btn-link {
  font-size: 13px;
  padding: 0 4px;
  height: 32px;
}
.header-left[data-v-bbd54627] .ant-divider-vertical {
  height: 20px;
  border-color: var(--color-border-light, #e5e6eb);
}
.page-title[data-v-bbd54627] {
  font-size: 15px;
  font-weight: 600;
  color: var(--color-text, #1d2129);
  white-space: nowrap;
}
.header-right[data-v-bbd54627] .ant-btn {
  border-radius: 6px;
  font-size: 13px;
  height: 32px;
}
.header-right[data-v-bbd54627] .ant-btn-primary {
  font-weight: 500;
}
.page-body[data-v-bbd54627] {
  flex: 1;
  overflow: hidden;
  min-height: 0;
}
.page-body[data-v-bbd54627] .ant-spin-nested-loading,
.page-body[data-v-bbd54627] .ant-spin-container {
  height: 100%;
}
.instance-list-container[data-v-9688bd6a] {
  padding: 16px;
  background: var(--color-bg-layout);
}
@media (max-width: 768px) {
.instance-list-container[data-v-9688bd6a] {
    padding: 12px;
}
}
.card-title[data-v-9688bd6a] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.filter-bar[data-v-9688bd6a] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  padding: 12px;
  background: #fafafa;
  border-radius: 4px;
}
/* ==================== 移动端适配 ==================== */
@media (max-width: 768px) {
.filter-bar[data-v-9688bd6a] {
    flex-direction: column;
    gap: 12px;
    align-items: stretch;
}
.filter-bar[data-v-9688bd6a] .ant-input-search {
    width: 100%;
}
.filter-bar[data-v-9688bd6a] .ant-select {
    width: 100%;
    min-width: unset;
}
.filter-bar .action-buttons[data-v-9688bd6a] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 8px;
}
  /* 表格横向滚动 */
.data-table-wrapper[data-v-9688bd6a] {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.data-table-wrapper[data-v-9688bd6a] table {
    min-width: 600px;
}
  /* 移动端分页 */
.pagination-wrapper[data-v-9688bd6a] {
    flex-direction: column;
    gap: 12px;
}
.pagination-info[data-v-9688bd6a] {
    text-align: center;
}
.pagination-wrapper[data-v-9688bd6a] .ant-pagination {
    justify-content: center;
}
}
@media (max-width: 575px) {
.filter-bar[data-v-9688bd6a] {
    padding: 12px;
}
.filter-bar .action-buttons[data-v-9688bd6a] {
    flex-wrap: wrap;
}
  /* 移动端卡片化列表 */
.data-table-wrapper[data-v-9688bd6a] {
    overflow-x: hidden;
}
.data-table-wrapper[data-v-9688bd6a] table {
    display: block;
}
.data-table-wrapper[data-v-9688bd6a] thead {
    display: none;
}
.data-table-wrapper[data-v-9688bd6a] tbody tr {
    display: block;
    background: #fff;
    border: 1px solid #f0f0f0;
    border-radius: 8px;
    margin-bottom: 12px;
    padding: 12px;
}
.data-table-wrapper[data-v-9688bd6a] td {
    display: flex;
    justify-content: space-between;
    padding: 8px 0;
    border: none !important;
}
.data-table-wrapper[data-v-9688bd6a] td::before {
    content: attr(data-label);
    font-weight: 500;
    color: #666;
}
}
/* 移动端卡片视图样式 */
.mobile-card-list[data-v-9688bd6a] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.mobile-card[data-v-9688bd6a] {
  background: #fff;
  border-radius: 8px;
  padding: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.mobile-card-body[data-v-9688bd6a] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.mobile-card-field[data-v-9688bd6a] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 4px 0;
}
.mobile-card-label[data-v-9688bd6a] {
  font-size: 13px;
  color: #666;
  flex-shrink: 0;
}
.mobile-card-value[data-v-9688bd6a] {
  font-size: 13px;
  color: #333;
  text-align: right;
  word-break: break-all;
  max-width: 60%;
}
.mobile-card-footer[data-v-9688bd6a] {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  border-top: 1px solid #f0f0f0;
  gap: 4px;
}
.metadata-list-page[data-v-6d55abf4] {
  padding: 16px;
}
@media (max-width: 768px) {
.metadata-list-page[data-v-6d55abf4] {
    padding: 12px;
}
}
/* ==================== Hero Section ==================== */
/* 背景装饰元素 */
.hero-bg-decoration[data-v-6d55abf4] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-6d55abf4] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-6d55abf4] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-6d55abf4] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-6d55abf4] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-6d55abf4] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-6d55abf4] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-6d55abf4] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-6d55abf4] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-6d55abf4] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-6d55abf4] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-6d55abf4] {
  flex: 1;
}
.hero-title[data-v-6d55abf4] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-6d55abf4] {
  margin: 0 0 16px;
  font-size: 14px;
  opacity: 0.85;
  max-width: 600px;
}
/* Stats */
.hero-stats[data-v-6d55abf4] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.hero-stat[data-v-6d55abf4] {
  display: flex;
  flex-direction: column;
}
.hero-stat-value[data-v-6d55abf4] {
  font-size: 22px;
  font-weight: 700;
}
.hero-stat-label[data-v-6d55abf4] {
  font-size: 12px;
  opacity: 0.7;
}
.hero-stat-divider[data-v-6d55abf4] {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.25);
}
/* Action Buttons - PC场景右侧显示 */
.hero-right[data-v-6d55abf4] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
/* Batch Toolbar */
.batch-toolbar[data-v-6d55abf4] {
  background: linear-gradient(135deg, rgba(24, 144, 255, 0.1) 0%, rgba(54, 207, 201, 0.15) 100%);
  border: 2px solid rgba(24, 144, 255, 0.3);
  border-radius: 12px;
  margin-bottom: 16px;
  padding: 12px 16px;
  transition: all 0.3s ease;
}
.batch-toolbar-content[data-v-6d55abf4] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}
.selection-info[data-v-6d55abf4] {
  flex: 1;
  min-width: 200px;
}
.batch-actions[data-v-6d55abf4] {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
/* Filter Bar */
.filter-bar[data-v-6d55abf4] {
  background: #fff;
  border-radius: 12px;
  padding: 20px 24px;
  margin-bottom: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.filter-bar-inner[data-v-6d55abf4] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.filter-left[data-v-6d55abf4] {
  display: flex;
  gap: 12px;
  flex: 1;
  flex-wrap: wrap;
}
.filter-search[data-v-6d55abf4] {
  width: 280px;
}
.filter-select[data-v-6d55abf4] {
  width: 160px;
}
.filter-right[data-v-6d55abf4] {
  flex-shrink: 0;
}
.filter-right[data-v-6d55abf4] .ant-space {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}
.filter-right[data-v-6d55abf4] .ant-space-item {
  flex: 0 0 auto;
}
@media (max-width: 768px) {
.filter-right[data-v-6d55abf4] {
    width: 100%;
    display: flex;
    justify-content: stretch;
}
.filter-right[data-v-6d55abf4] .ant-space {
    width: 100%;
    justify-content: stretch;
}
.filter-right[data-v-6d55abf4] .ant-space-item {
    flex: 1;
    min-width: calc(50% - 4px);
    max-width: 100%;
}
.filter-right[data-v-6d55abf4] .ant-btn {
    width: 100%;
    min-width: 0;
}
}
/* Table Card */
.table-card[data-v-6d55abf4] {
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.table-card[data-v-6d55abf4] .ant-card-body {
  padding: 0;
}
/* Dropdown Menu Styles */
[data-v-6d55abf4] .ant-dropdown-menu-item:hover {
  background: rgba(24, 144, 255, 0.1);
}
[data-v-6d55abf4] .ant-dropdown-menu-item-danger:hover {
  background: rgba(245, 34, 45, 0.1);
}
[data-v-6d55abf4] .ant-menu-divider {
  margin: 4px 0;
}
/* Responsive */
@media (max-width: 768px) {
.metadata-list-page[data-v-6d55abf4] {
    padding: 12px;
}
.hero-content[data-v-6d55abf4] {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}
.hero-title[data-v-6d55abf4] {
    font-size: 22px;
}
.hero-stats[data-v-6d55abf4] {
    gap: 16px;
}
.hero-stat-value[data-v-6d55abf4] {
    font-size: 20px;
}
.hero-stat-divider[data-v-6d55abf4] {
    height: 28px;
}
  /* 移动端按钮在左侧 */
.hero-right[data-v-6d55abf4] {
    width: 100%;
    flex-direction: column;
}
.batch-toolbar-content[data-v-6d55abf4] {
    flex-direction: column;
    align-items: flex-start;
}
.selection-info[data-v-6d55abf4] {
    width: 100%;
}
.batch-actions[data-v-6d55abf4] {
    width: 100%;
    justify-content: flex-start;
}
.filter-bar-inner[data-v-6d55abf4] {
    flex-direction: column;
    align-items: stretch;
}
.filter-left[data-v-6d55abf4] {
    flex-direction: column;
    width: 100%;
}
.filter-search[data-v-6d55abf4],
  .filter-select[data-v-6d55abf4] {
    width: 100%;
}
.filter-right[data-v-6d55abf4] {
    display: flex;
    justify-content: flex-end;
}
  /* 模态框移动端适配 */
[data-v-6d55abf4] .ant-modal {
    max-width: 100vw !important;
    margin: 0 !important;
    top: 0 !important;
    padding: 0 !important;
}
[data-v-6d55abf4] .ant-modal-content {
    border-radius: 0 !important;
    display: flex;
    flex-direction: column;
}
[data-v-6d55abf4] .ant-modal-body {
    flex: 1;
    overflow-y: auto;
    padding: 16px !important;
}
[data-v-6d55abf4] .ant-modal-header {
    padding: 16px !important;
}
[data-v-6d55abf4] .ant-modal-footer {
    padding: 12px 16px !important;
    border-top: 1px solid #f0f0f0;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.metadata-list-page[data-v-6d55abf4] {
    padding: 12px;
}
}
/* 移动端卡片视图样式 */
.mobile-metadata-list[data-v-6d55abf4] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.mobile-metadata-card[data-v-6d55abf4] {
  background: #fff;
  border-radius: 12px;
  padding: 12px;
  border: 1px solid #f0f0f0;
}
.mobile-card-header[data-v-6d55abf4] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 12px;
  gap: 8px;
}
.mobile-card-title-wrap[data-v-6d55abf4] {
  flex: 1;
  min-width: 0;
}
.mobile-card-title[data-v-6d55abf4] {
  margin: 0 0 4px 0;
  font-size: 15px;
  font-weight: 600;
  color: #1a1a1a;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mobile-card-code[data-v-6d55abf4] {
  font-size: 12px;
  color: #8c8c8c;
  font-family: monospace;
}
.mobile-status-tag[data-v-6d55abf4] {
  font-size: 11px;
  padding: 2px 8px;
  flex-shrink: 0;
}
.mobile-card-body[data-v-6d55abf4] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-bottom: 12px;
  border-bottom: 1px solid #f0f0f0;
}
.mobile-card-row[data-v-6d55abf4] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
}
.mobile-card-label[data-v-6d55abf4] {
  color: #8c8c8c;
  flex-shrink: 0;
}
.mobile-card-value[data-v-6d55abf4] {
  color: #1a1a1a;
  text-align: right;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 60%;
}
.mobile-quality-wrap[data-v-6d55abf4] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.mobile-card-footer[data-v-6d55abf4] {
  text-align: right;
  display: flex;
  justify-content: flex-end;
}
.mobile-card-footer[data-v-6d55abf4] .ant-btn {
  min-width: 32px;
  min-height: 32px;
  margin-left: 8px;
}
.mobile-card-footer[data-v-6d55abf4] .ant-btn > span {
  font-size: 14px;
}
.field-base[data-v-347f14ab] {
  width: 100%;
}
.field-base[data-v-347f14ab] .ant-form-item {
  margin-bottom: 16px;
}
.field-base[data-v-347f14ab] .ant-form-item-label > label {
  font-weight: 500;
}
/* String field specific styles can be added here */
/* Number field specific styles can be added here */
/* Decimal field specific styles can be added here */
/* Integer field specific styles can be added here */
/* Float field specific styles can be added here */
/* DateTime field specific styles can be added here */
/* Date field specific styles can be added here */
/* Time field specific styles can be added here */
/* Binary field specific styles can be added here */
/* Boolean field specific styles can be added here */
/* Enum field specific styles can be added here */
.enum-values-container[data-v-26cf0576] {
  border: 1px solid #f0f0f0;
  border-radius: 4px;
  padding: 8px;
  background-color: #fafafa;
}
/* Set field specific styles can be added here */
.set-values-container[data-v-9a610ab7] {
  border: 1px solid #f0f0f0;
  border-radius: 4px;
  padding: 8px;
  background-color: #fafafa;
}
/* JSON field specific styles can be added here */
.json-textarea[data-v-78ba8fda] {
  font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
  font-size: 13px;
  line-height: 1.5;
}
/* Array field specific styles can be added here */
/* Object field specific styles can be added here */
.json-textarea[data-v-103cdf78] {
  font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
  font-size: 13px;
  line-height: 1.5;
}
/* UUID field specific styles can be added here */
/* Custom field specific styles can be added here */
.metadata-template-form[data-v-f0cd8a7b] {
  max-width: 100%;
}
.field-config[data-v-f0cd8a7b] {
  padding: 16px 0;
}
@media (max-width: 768px) {
.field-config[data-v-f0cd8a7b] {
    padding: 12px;
}
}
.field-actions[data-v-f0cd8a7b] {
  margin-top: 24px;
  display: flex;
  gap: 12px;
  border-top: 1px solid #f0f0f0;
  padding-top: 16px;
}
.templates-detail-page[data-v-0e91f457] {
  padding: var(--spacing-4);
  background: var(--color-bg-layout);
}
.highlights-panel[data-v-0e91f457] {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  border-radius: var(--radius-xl);
  padding: 24px;
  margin-bottom: 16px;
  color: #fff;
  position: relative;
  overflow: hidden;
}
/* 几何图形装饰 */
.highlights-bg-decoration[data-v-0e91f457] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-0e91f457] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-0e91f457] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-0e91f457] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-0e91f457] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-0e91f457] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-0e91f457] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-0e91f457] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-0e91f457] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-0e91f457] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-0e91f457] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
.highlights-content[data-v-0e91f457] {
  display: flex;
  justify-content: space-between;
}
.highlights-left h2[data-v-0e91f457] {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: white;
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-tag[data-v-0e91f457] {
  background: rgba(255, 255, 255, 0.2) !important;
  color: #fff !important;
  border: none !important;
}
.highlights-meta[data-v-0e91f457] {
  margin-top: 8px;
  font-size: 13px;
  opacity: 0.85;
}
.highlights-right[data-v-0e91f457] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-action-btn[data-v-0e91f457] {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
}
.highlights-action-btn[data-v-0e91f457]:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
}
.detail-content[data-v-0e91f457] {
  padding: 16px;
}
@media (max-width: 768px) {
.detail-content[data-v-0e91f457] {
    padding: 12px;
    padding-bottom: 60px;
}
.detail-content .highlights-panel .highlights-bg-decoration[data-v-0e91f457] {
    display: none;
}
}
.info-section[data-v-0e91f457] {
  background: #fff;
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius-xl);
  overflow: hidden;
}
.section-header[data-v-0e91f457] {
  padding: 16px 24px;
  background: var(--color-fill-quaternary);
  border-bottom: 1px solid var(--color-border-secondary);
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 8px;
}
@media (max-width: 768px) {
.section-header[data-v-0e91f457] {
    padding: 12px;
}
.section-header .highlights-panel .highlights-bg-decoration[data-v-0e91f457] {
    display: none;
}
}
.section-body[data-v-0e91f457] {
  padding: 24px;
}
@media (max-width: 768px) {
.section-body[data-v-0e91f457] {
    padding: 12px;
}
.section-body .highlights-panel .highlights-bg-decoration[data-v-0e91f457] {
    display: none;
}
}
.info-item[data-v-0e91f457] {
  display: flex;
  margin-bottom: 16px;
}
.info-item[data-v-0e91f457]:last-child {
  margin-bottom: 0;
}
.info-item .label[data-v-0e91f457] {
  width: 100px;
  color: var(--color-text-secondary);
}
.info-item .value[data-v-0e91f457] {
  flex: 1;
  color: var(--color-text);
}
.undefined-text[data-v-0e91f457] {
  color: #999;
}
.table-empty[data-v-0e91f457] {
  padding: 20px;
  text-align: center;
}
.properties-preview[data-v-0e91f457] {
  font-size: 12px;
  background: #f5f5f5;
  padding: 8px;
  border-radius: 4px;
  max-height: 200px;
  overflow: auto;
}
.fixed-actions[data-v-0e91f457] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 12px;
  background: #fff;
  border-top: 1px solid var(--color-border-secondary);
  display: flex;
  justify-content: flex-end;
  z-index: 100;
}
@media (max-width: 768px) {
.highlights-content[data-v-0e91f457] {
    flex-direction: column;
    gap: 16px;
}
.highlights-content .highlights-panel .highlights-bg-decoration[data-v-0e91f457] {
    display: none;
}
.highlights-left h2[data-v-0e91f457] {
    font-size: 18px;
}
.highlights-right[data-v-0e91f457] {
    width: 100%;
    justify-content: flex-end;
}
.info-item[data-v-0e91f457] {
    flex-direction: column;
    gap: 4px;
}
.info-item .label[data-v-0e91f457] {
    width: auto;
}
.section-body[data-v-0e91f457] {
    padding: 16px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.section-body[data-v-0e91f457] {
    padding: 12px;
}
.section-body .highlights-panel .highlights-bg-decoration[data-v-0e91f457] {
    display: none;
}
}
/* 移动端卡片样式 */
.mobile-cards .mobile-card[data-v-0e91f457] {
  padding: 12px;
  background: #fff;
  border-radius: 8px;
  margin-bottom: 12px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}
.mobile-cards .mobile-card-header[data-v-0e91f457] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #f0f0f0;
}
.mobile-cards .mobile-card-title[data-v-0e91f457] {
  font-weight: 600;
  font-size: 15px;
  color: #262626;
}
.mobile-cards .mobile-card-content[data-v-0e91f457] {
  margin-bottom: 12px;
}
.mobile-cards .mobile-card-item[data-v-0e91f457] {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
  font-size: 13px;
}
.mobile-cards .mobile-card-item .label[data-v-0e91f457] {
  color: #8c8c8c;
  margin-right: 8px;
  min-width: 70px;
}
.mobile-cards .mobile-card-actions[data-v-0e91f457] {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding-top: 8px;
  border-top: 1px solid #f0f0f0;
}
/* highlights-panel 样式 */
.metadata-template-edit-page[data-v-ee24f7b2] {
  min-height: calc(100vh - 200px);
  background: var(--color-bg-layout);
}
.highlights-panel[data-v-ee24f7b2] {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1677ff) 0%, var(--color-hero-gradient-end, #0958d9) 100%) !important;
  border-radius: var(--radius-xl);
  padding: 24px;
  margin-bottom: 16px;
  color: #fff;
  position: relative;
  overflow: hidden;
}
/* 几何图形装饰 */
.highlights-bg-decoration[data-v-ee24f7b2] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-ee24f7b2] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-ee24f7b2] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-ee24f7b2] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-ee24f7b2] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-ee24f7b2] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-ee24f7b2] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-ee24f7b2] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-ee24f7b2] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-ee24f7b2] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-ee24f7b2] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
.highlights-content[data-v-ee24f7b2] {
  display: flex !important;
  justify-content: space-between !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
}
.highlights-left h2[data-v-ee24f7b2] {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: white;
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-meta[data-v-ee24f7b2] {
  margin-top: 8px;
  font-size: 13px;
  opacity: 0.85;
}
.highlights-right[data-v-ee24f7b2] {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.highlights-action-btn[data-v-ee24f7b2] {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
  border-radius: 6px !important;
  font-weight: 500 !important;
}
.highlights-action-btn[data-v-ee24f7b2]:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
}
/* 表单内容区域 */
.form-content[data-v-ee24f7b2] {
  padding-bottom: 80px !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
}
/* 固定底部操作栏 */
.fixed-actions[data-v-ee24f7b2] {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  background: #fff !important;
  padding: 12px !important;
  padding-bottom: calc(12px + env(safe-area-inset-bottom)) !important;
  border-top: 1px solid #f0f0f0 !important;
  z-index: 100 !important;
  display: flex !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06) !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
}
.fixed-actions .ant-btn[data-v-ee24f7b2] {
  border-radius: 4px;
  padding: 4px 12px;
}
.template-edit-form[data-v-ee24f7b2] {
  width: 100%;
}
.section-card[data-v-ee24f7b2] {
  margin-bottom: var(--spacing-3);
}
.section-card .ant-card-body[data-v-ee24f7b2] {
  padding: 16px;
}
@media (max-width: 768px) {
.ant-card-body[data-v-ee24f7b2] {
    padding: 12px;
}
.ant-card-body .highlights-panel .highlights-bg-decoration[data-v-ee24f7b2] {
    display: none;
}
}
.field-config[data-v-ee24f7b2] {
  padding: 16px 0;
}
@media (max-width: 768px) {
.field-config[data-v-ee24f7b2] {
    padding: 12px;
}
.field-config .highlights-panel .highlights-bg-decoration[data-v-ee24f7b2] {
    display: none;
}
}
.field-actions[data-v-ee24f7b2] {
  margin-top: 24px;
  display: flex;
  gap: 12px;
  border-top: 1px solid var(--color-border-secondary);
  padding-top: 16px;
}
[data-v-ee24f7b2] .ant-form-item-label > label {
  font-weight: 500;
}
/* 响应式设计 */
@media (max-width: 768px) {
.highlights-content[data-v-ee24f7b2] {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
}
.highlights-content .highlights-panel .highlights-bg-decoration[data-v-ee24f7b2] {
    display: none;
}
.highlights-left h2[data-v-ee24f7b2] {
    font-size: 17px !important;
}
.section-card[data-v-ee24f7b2] {
    border: none;
    box-shadow: none;
    background: transparent;
    margin-bottom: 8px;
    padding-bottom: 60px;
}
.section-card[data-v-ee24f7b2] .ant-card-head {
    padding: 8px 0;
    min-height: auto;
}
.section-card[data-v-ee24f7b2] .ant-card-head-title {
    font-size: 14px;
    padding: 0;
}
.section-card[data-v-ee24f7b2] .ant-card-body {
    padding: 0;
}
.template-edit-form[data-v-ee24f7b2] .ant-row {
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.template-edit-form[data-v-ee24f7b2] .ant-col {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.template-edit-form[data-v-ee24f7b2] .ant-form-item {
    margin-bottom: 16px;
}
.template-edit-form[data-v-ee24f7b2] .ant-form-item-label {
    padding-bottom: 4px;
}
.template-edit-form[data-v-ee24f7b2] .ant-form-item-label > label {
    font-size: 13px;
    font-weight: 500;
    color: var(--color-text);
}
.template-edit-form[data-v-ee24f7b2] .ant-input,
  .template-edit-form[data-v-ee24f7b2] .ant-select,
  .template-edit-form[data-v-ee24f7b2] .ant-picker {
    font-size: 14px;
}
.template-edit-form[data-v-ee24f7b2] .ant-input-disabled,
  .template-edit-form[data-v-ee24f7b2] .ant-select-disabled .ant-select-selector {
    color: var(--color-text);
    background: var(--color-bg-layout);
}
.fixed-actions .ant-btn[data-v-ee24f7b2] {
    flex: 1;
    height: 36px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
}
}
@media (max-width: 575px) {
.template-edit-form[data-v-ee24f7b2] .ant-form-item {
    margin-bottom: 14px;
}
.template-edit-form[data-v-ee24f7b2] .ant-form-item-label > label {
    font-size: 13px;
}
.fixed-actions .ant-btn[data-v-ee24f7b2] {
    height: 36px;
    font-size: 13px;
}
}
.data-model-form[data-v-8f7e9e92] {
  max-width: 100%;
}
.field-config[data-v-8f7e9e92] {
  padding: 16px 0;
}
@media (max-width: 768px) {
.field-config[data-v-8f7e9e92] {
    padding: 12px;
}
}
.field-actions[data-v-8f7e9e92] {
  margin-top: 24px;
  display: flex;
  gap: 12px;
  border-top: 1px solid #f0f0f0;
  padding-top: 16px;
}
.relationships-list[data-v-8f7e9e92] {
  margin-top: 16px;
}
.relationship-item[data-v-8f7e9e92] {
  border: 1px solid #f0f0f0;
}
.relationship-actions[data-v-8f7e9e92] {
  display: flex;
  justify-content: flex-end;
  margin-top: 8px;
}
/* 移动端适配 */
@media (max-width: 768px) {
.page-detail[data-v-8f7e9e92] {
    border-radius: 0;
    border: none;
}
.page-detail[data-v-8f7e9e92] .ant-card-head {
    padding: 12px 16px;
    min-height: auto;
}
.page-detail[data-v-8f7e9e92] .ant-card-head-title {
    font-size: 16px;
}
.section-card[data-v-8f7e9e92] {
    border: none;
    box-shadow: none;
    background: transparent;
}
.section-card[data-v-8f7e9e92] .ant-card-head {
    padding: 8px 16px;
    min-height: auto;
}
.section-card[data-v-8f7e9e92] .ant-card-head-title {
    font-size: 15px;
}
.section-card[data-v-8f7e9e92] .ant-card-body {
    padding: 16px;
}
.model-form[data-v-8f7e9e92] .ant-form-item-label {
    font-size: 13px;
}
.model-form[data-v-8f7e9e92] .ant-form-item {
    margin-bottom: 16px;
}
.form-actions[data-v-8f7e9e92] {
    padding: 12px 16px;
}
.form-actions .ant-btn[data-v-8f7e9e92] {
    flex: 1;
    justify-content: center;
}
.field-actions[data-v-8f7e9e92] {
    flex-wrap: wrap;
    gap: 6px;
}
.relationship-actions[data-v-8f7e9e92] {
    flex-wrap: wrap;
    gap: 6px;
}
  /* Modal 响应式 */
[data-v-8f7e9e92] .ant-modal {
    max-width: calc(100vw - 32px) !important;
    margin: 16px auto !important;
}
}
@media (max-width: 575px) {
.page-detail[data-v-8f7e9e92] .ant-card-head {
    padding: 10px 12px;
}
.page-detail[data-v-8f7e9e92] .ant-card-head-title {
    font-size: 15px;
}
.page-detail[data-v-8f7e9e92] .ant-card-body {
    padding: 12px;
}
.data-model-form[data-v-8f7e9e92] .ant-form-item-label {
    font-size: 13px;
}
}
.models-list-page[data-v-2fb60e2a] {
  padding: 16px;
}
@media (max-width: 768px) {
.models-list-page[data-v-2fb60e2a] {
    padding: 12px;
}
}
/* ==================== Hero Section ==================== */
/* 背景装饰元素 */
.hero-bg-decoration[data-v-2fb60e2a] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-2fb60e2a] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-2fb60e2a] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-2fb60e2a] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-2fb60e2a] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-2fb60e2a] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-2fb60e2a] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-2fb60e2a] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-2fb60e2a] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-2fb60e2a] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-2fb60e2a] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-2fb60e2a] {
  flex: 1;
}
.hero-title[data-v-2fb60e2a] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-2fb60e2a] {
  margin: 0 0 16px;
  font-size: 14px;
  opacity: 0.85;
  max-width: 600px;
}
/* Stats */
.hero-stats[data-v-2fb60e2a] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.hero-stat[data-v-2fb60e2a] {
  display: flex;
  flex-direction: column;
}
.hero-stat-value[data-v-2fb60e2a] {
  font-size: 22px;
  font-weight: 700;
}
.hero-stat-label[data-v-2fb60e2a] {
  font-size: 12px;
  opacity: 0.7;
}
.hero-stat-divider[data-v-2fb60e2a] {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.25);
}
/* Action Buttons - PC场景右侧显示 */
.hero-right[data-v-2fb60e2a] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
/* Filter Bar */
.filter-bar[data-v-2fb60e2a] {
  background: #fff;
  border-radius: 12px;
  padding: 20px 24px;
  margin-bottom: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.filter-bar-inner[data-v-2fb60e2a] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.filter-left[data-v-2fb60e2a] {
  display: flex;
  gap: 12px;
  flex: 1;
}
.filter-search[data-v-2fb60e2a] {
  width: 280px;
}
.filter-select[data-v-2fb60e2a] {
  width: 160px;
}
.filter-right[data-v-2fb60e2a] {
  flex-shrink: 0;
}
/* Table Card */
.table-card[data-v-2fb60e2a] {
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.table-card[data-v-2fb60e2a] .ant-card-body {
  padding: 0;
}
/* Responsive */
@media (max-width: 768px) {
.models-list-page[data-v-2fb60e2a] {
    padding: 12px;
}
.hero-content[data-v-2fb60e2a] {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}
.hero-title[data-v-2fb60e2a] {
    font-size: 22px;
}
.hero-stats[data-v-2fb60e2a] {
    gap: 16px;
}
.hero-stat-value[data-v-2fb60e2a] {
    font-size: 20px;
}
.hero-stat-divider[data-v-2fb60e2a] {
    height: 28px;
}
  /* 移动端按钮在左侧 */
.hero-right[data-v-2fb60e2a] {
    width: 100%;
    flex-direction: column;
}
.filter-bar-inner[data-v-2fb60e2a] {
    flex-direction: column;
    align-items: stretch;
}
.filter-left[data-v-2fb60e2a] {
    flex-direction: column;
    width: 100%;
}
.filter-search[data-v-2fb60e2a],
  .filter-select[data-v-2fb60e2a] {
    width: 100%;
}
.filter-right[data-v-2fb60e2a] {
    display: flex;
    justify-content: flex-end;
}
  /* 表格移动端横向滚动 */
[data-v-2fb60e2a] .ant-table-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
[data-v-2fb60e2a] .ant-table {
    min-width: 600px;
    font-size: 13px;
}
[data-v-2fb60e2a] .ant-table-thead > tr > th {
    padding: 10px 8px;
    font-size: 12px;
}
[data-v-2fb60e2a] .ant-table-tbody > tr > td {
    padding: 10px 8px;
}
  /* 模态框移动端全屏 */
[data-v-2fb60e2a] .ant-modal {
    max-width: 100vw !important;
    margin: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    height: 100vh !important;
}
[data-v-2fb60e2a] .ant-modal-content {
    border-radius: 0 !important;
}
  /* 移动端卡片列表 */
.mobile-card-list[data-v-2fb60e2a] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.mobile-list-card[data-v-2fb60e2a] {
    background: #fff;
    border: 1px solid #f0f0f0;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 0;
}
.mobile-list-card-header[data-v-2fb60e2a] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}
.mobile-list-card-title[data-v-2fb60e2a] {
    font-weight: 600;
    font-size: 16px;
    color: var(--color-text-primary);
}
.mobile-list-card-body[data-v-2fb60e2a] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 12px;
}
.mobile-list-card-field-inline[data-v-2fb60e2a] {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
}
.mobile-list-card-field[data-v-2fb60e2a] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.mobile-list-card-field-label[data-v-2fb60e2a] {
    font-size: 12px;
    color: var(--color-text-tertiary);
    flex-shrink: 0;
}
.mobile-list-card-field-value[data-v-2fb60e2a] {
    font-size: 13px;
    color: var(--color-text-primary);
    word-break: break-all;
}
.mobile-list-card-field-value.truncate[data-v-2fb60e2a] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.mobile-list-card-footer[data-v-2fb60e2a] {
    display: flex;
    gap: 8px;
    padding-top: 12px;
    border-top: 1px solid #f0f0f0;
    justify-content: flex-end;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.models-list-page[data-v-2fb60e2a] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.mobile-list-card[data-v-2fb60e2a] {
    padding: 12px;
}
}
.metadata-designer-page[data-v-e1ee2cbe] {
  background: var(--color-bg-layout);
  min-height: 100%;
  display: flex;
  flex-direction: column;
}
.page-header[data-v-e1ee2cbe] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 24px;
  background: var(--color-bg-container);
  border-bottom: 1px solid var(--color-border-light);
}
@media (max-width: 768px) {
.page-header[data-v-e1ee2cbe] {
    padding: 12px;
}
}
.header-left[data-v-e1ee2cbe] {
  display: flex;
  align-items: center;
  gap: 16px;
}
.header-title h2[data-v-e1ee2cbe] {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
}
.header-desc[data-v-e1ee2cbe] {
  margin: 4px 0 0;
  font-size: 13px;
  color: var(--color-text-secondary);
}
.designer-container[data-v-e1ee2cbe] {
  flex: 1;
  display: flex;
  overflow: hidden;
  padding: 16px;
  gap: 16px;
}
@media (max-width: 768px) {
.designer-container[data-v-e1ee2cbe] {
    padding: 12px;
}
}
.model-panel[data-v-e1ee2cbe] {
  width: 260px;
  background: var(--color-bg-container);
  border-radius: 12px;
  border: 1px solid var(--color-border-light);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.panel-header[data-v-e1ee2cbe] {
  padding: 16px;
  border-bottom: 1px solid var(--color-border-light);
}
@media (max-width: 768px) {
.panel-header[data-v-e1ee2cbe] {
    padding: 12px;
}
}
.panel-header h4[data-v-e1ee2cbe] {
  margin: 0 0 12px;
  font-size: 14px;
  font-weight: 600;
}
.model-list[data-v-e1ee2cbe] {
  flex: 1;
  overflow-y: auto;
  padding: 8px;
}
.model-item[data-v-e1ee2cbe] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s;
  margin-bottom: 4px;
}
.model-item[data-v-e1ee2cbe]:hover {
  background: var(--color-bg-spotlight);
}
.model-item.active[data-v-e1ee2cbe] {
  background: var(--color-primary-bg);
  border-left: 3px solid var(--color-primary);
}
.model-icon[data-v-e1ee2cbe] {
  font-size: 20px;
  color: var(--color-primary);
}
.model-info[data-v-e1ee2cbe] {
  min-width: 0;
}
.model-name[data-v-e1ee2cbe] {
  font-weight: 500;
  font-size: 14px;
  color: var(--color-text-primary);
}
.model-code[data-v-e1ee2cbe] {
  font-size: 12px;
  color: var(--color-text-secondary);
  margin-top: 2px;
}
.canvas-panel[data-v-e1ee2cbe] {
  flex: 1;
  background: var(--color-bg-container);
  border-radius: 12px;
  border: 1px solid var(--color-border-light);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.designer-canvas[data-v-e1ee2cbe] {
  flex: 1;
  padding: 24px;
  overflow-y: auto;
}
.canvas-empty[data-v-e1ee2cbe] {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.model-detail[data-v-e1ee2cbe] {
  max-width: 800px;
  margin: 0 auto;
}
.model-header[data-v-e1ee2cbe] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
}
.model-header h3[data-v-e1ee2cbe] {
  margin: 0;
  font-size: 20px;
}
.model-fields[data-v-e1ee2cbe],
.model-relations[data-v-e1ee2cbe] {
  margin-bottom: 24px;
}
.model-fields h4[data-v-e1ee2cbe],
.model-relations h4[data-v-e1ee2cbe] {
  margin: 0 0 12px;
  font-size: 15px;
  font-weight: 600;
}
.property-panel[data-v-e1ee2cbe] {
  width: 300px;
  background: var(--color-bg-container);
  border-radius: 12px;
  border: 1px solid var(--color-border-light);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.panel-content[data-v-e1ee2cbe] {
  flex: 1;
  padding: 16px;
  overflow-y: auto;
}
@media (max-width: 768px) {
.panel-content[data-v-e1ee2cbe] {
    padding: 12px;
}
}
@media (max-width: 1200px) {
.property-panel[data-v-e1ee2cbe] {
    display: none;
}
}
@media (max-width: 768px) {
.designer-container[data-v-e1ee2cbe] {
    flex-direction: column;
}
.model-panel[data-v-e1ee2cbe] {
    width: 100%;
    max-height: 200px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.designer-container[data-v-e1ee2cbe] {
    padding: 12px;
}
}
/* ===== Mobile Card List ===== */
.mobile-card-list[data-v-e1ee2cbe] {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-3);
  margin-bottom: var(--spacing-4);
}
.mobile-card[data-v-e1ee2cbe] {
  background: var(--color-neutral-0);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-lg);
  padding: var(--spacing-3);
  transition: all var(--duration-fast) var(--easing-default);
}
.mobile-card[data-v-e1ee2cbe]:hover {
  border-color: var(--color-primary-200);
  box-shadow: var(--shadow-sm);
}
.mobile-card-header[data-v-e1ee2cbe] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-2);
  margin-bottom: var(--spacing-2);
}
.mobile-card-name[data-v-e1ee2cbe] {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mobile-card-body[data-v-e1ee2cbe] {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-2);
}
.mobile-card-item[data-v-e1ee2cbe] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.mobile-card-label[data-v-e1ee2cbe] {
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
}
.mobile-card-value[data-v-e1ee2cbe] {
  font-size: var(--font-size-sm);
  color: var(--color-text-primary);
  text-align: right;
}
.models-detail-page[data-v-6beb7a43] {
  padding: var(--spacing-4);
  background: var(--color-bg-layout);
}
.highlights-panel[data-v-6beb7a43] {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  border-radius: var(--radius-xl);
  padding: 24px;
  margin-bottom: 16px;
  color: #fff;
  position: relative;
  overflow: hidden;
}
/* 几何图形装饰 */
.highlights-bg-decoration[data-v-6beb7a43] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-6beb7a43] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-6beb7a43] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-6beb7a43] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-6beb7a43] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-6beb7a43] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-6beb7a43] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-6beb7a43] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-6beb7a43] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-6beb7a43] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-6beb7a43] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
.highlights-content[data-v-6beb7a43] {
  display: flex;
  justify-content: space-between;
}
.highlights-left h2[data-v-6beb7a43] {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: white;
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-tag[data-v-6beb7a43] {
  background: rgba(255, 255, 255, 0.2) !important;
  color: #fff !important;
  border: none !important;
}
.highlights-meta[data-v-6beb7a43] {
  margin-top: 8px;
  font-size: 13px;
  opacity: 0.85;
}
.highlights-right[data-v-6beb7a43] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-action-btn[data-v-6beb7a43] {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
  transition: all 0.25s ease;
}
.highlights-action-btn[data-v-6beb7a43]:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.highlights-action-btn.danger[data-v-6beb7a43] {
  background: rgba(255, 77, 79, 0.15) !important;
  border: 1px solid #ff4d4f !important;
  color: #ff4d4f !important;
}
.highlights-action-btn.danger[data-v-6beb7a43]:hover {
  background: rgba(255, 77, 79, 0.85) !important;
  border: 1px solid #ff4d4f !important;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(255, 77, 79, 0.35);
}
.detail-content[data-v-6beb7a43] {
  padding: 16px;
}
@media (max-width: 768px) {
.detail-content[data-v-6beb7a43] {
    padding: 12px;
    padding-bottom: 60px;
}
.detail-content .highlights-panel .highlights-bg-decoration[data-v-6beb7a43] {
    display: none;
}
}
.info-section[data-v-6beb7a43] {
  background: #fff;
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius-xl);
  overflow: hidden;
}
.section-header[data-v-6beb7a43] {
  padding: 16px 24px;
  background: var(--color-fill-quaternary);
  border-bottom: 1px solid var(--color-border-secondary);
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 8px;
}
@media (max-width: 768px) {
.section-header[data-v-6beb7a43] {
    padding: 12px;
}
.section-header .highlights-panel .highlights-bg-decoration[data-v-6beb7a43] {
    display: none;
}
}
.section-body[data-v-6beb7a43] {
  padding: 24px;
}
@media (max-width: 768px) {
.section-body[data-v-6beb7a43] {
    padding: 12px;
}
.section-body .highlights-panel .highlights-bg-decoration[data-v-6beb7a43] {
    display: none;
}
}
.info-item[data-v-6beb7a43] {
  display: flex;
  margin-bottom: 16px;
}
.info-item[data-v-6beb7a43]:last-child {
  margin-bottom: 0;
}
.info-item .label[data-v-6beb7a43] {
  width: 100px;
  color: var(--color-text-secondary);
}
.info-item .value[data-v-6beb7a43] {
  flex: 1;
  color: var(--color-text);
}
.undefined-text[data-v-6beb7a43] {
  color: #999;
}
.tab-description[data-v-6beb7a43] {
  color: #666;
  margin-bottom: 16px;
  font-size: 13px;
}
.detail-tabs[data-v-6beb7a43] {
  margin-top: 16px;
}
.detail-tabs[data-v-6beb7a43] .ant-tabs-nav {
  margin-bottom: 16px;
}
.fixed-actions[data-v-6beb7a43] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 12px;
  background: #fff;
  border-top: 1px solid var(--color-border-secondary);
  display: flex;
  justify-content: flex-end;
  z-index: 100;
}
@media (max-width: 768px) {
.highlights-content[data-v-6beb7a43] {
    flex-direction: column;
    gap: 16px;
}
.highlights-content .highlights-panel .highlights-bg-decoration[data-v-6beb7a43] {
    display: none;
}
.highlights-left h2[data-v-6beb7a43] {
    font-size: 18px;
}
.highlights-right[data-v-6beb7a43] {
    width: 100%;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}
.highlights-right .ant-btn[data-v-6beb7a43] {
    height: 36px;
    padding: 0 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    font-size: 13px;
}
.info-item[data-v-6beb7a43] {
    flex-direction: column;
    gap: 4px;
}
.info-item .label[data-v-6beb7a43] {
    width: auto;
}
.section-body[data-v-6beb7a43] {
    padding: 16px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.section-body[data-v-6beb7a43] {
    padding: 12px;
}
.section-body .highlights-panel .highlights-bg-decoration[data-v-6beb7a43] {
    display: none;
}
}
/* ==================== 移动端卡片样式 ==================== */
.mobile-card-list[data-v-6beb7a43] {
  padding: 8px;
}
.mobile-card[data-v-6beb7a43] {
  background: #fff;
  border-radius: 8px;
  padding: 12px;
  margin-bottom: 12px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
  border: 1px solid #f0f0f0;
}
.mobile-card-header[data-v-6beb7a43] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #f0f0f0;
}
.mobile-card-header .card-title[data-v-6beb7a43] {
  font-weight: 500;
  font-size: 14px;
  color: #333;
}
.mobile-card-body[data-v-6beb7a43] {
  margin-bottom: 12px;
}
.mobile-card-field[data-v-6beb7a43] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 6px 0;
  font-size: 13px;
}
.field-label[data-v-6beb7a43] {
  color: #999;
  flex-shrink: 0;
  margin-right: 8px;
}
.field-value[data-v-6beb7a43] {
  color: #333;
  text-align: right;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* highlights-panel 样式 */
.metadata-edit-page[data-v-dbc37adc] {
  min-height: calc(100vh - 200px);
  background: var(--color-bg-layout);
}
.highlights-panel[data-v-dbc37adc] {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1677ff) 0%, var(--color-hero-gradient-end, #0958d9) 100%) !important;
  border-radius: var(--radius-xl);
  padding: 24px;
  margin-bottom: 16px;
  color: #fff;
  position: relative;
  overflow: hidden;
}
/* 几何图形装饰 */
.highlights-bg-decoration[data-v-dbc37adc] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-dbc37adc] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-dbc37adc] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-dbc37adc] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-dbc37adc] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-dbc37adc] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-dbc37adc] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-dbc37adc] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-dbc37adc] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-dbc37adc] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-dbc37adc] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
.highlights-content[data-v-dbc37adc] {
  display: flex !important;
  justify-content: space-between !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
}
.highlights-left h2[data-v-dbc37adc] {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: white;
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-meta[data-v-dbc37adc] {
  margin-top: 8px;
  font-size: 13px;
  opacity: 0.85;
}
.highlights-right[data-v-dbc37adc] {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.highlights-action-btn[data-v-dbc37adc] {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
  border-radius: 6px !important;
  font-weight: 500 !important;
}
.highlights-action-btn[data-v-dbc37adc]:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
}
/* 表单内容区域 */
.form-content[data-v-dbc37adc] {
  padding-bottom: 80px !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
}
/* 固定底部操作栏 */
.fixed-actions[data-v-dbc37adc] {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  background: #fff !important;
  padding: 12px !important;
  padding-bottom: calc(12px + env(safe-area-inset-bottom)) !important;
  border-top: 1px solid #f0f0f0 !important;
  z-index: 100 !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06) !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
}
.fixed-actions-spacer[data-v-dbc37adc] {
  flex: 1;
}
.fixed-actions .ant-btn[data-v-dbc37adc] {
  border-radius: 4px;
  padding: 4px 12px;
}
/* 编辑表单样式 */
.metadata-edit-form[data-v-dbc37adc] {
  width: 100%;
}
/* 章节卡片样式 */
.section-card[data-v-dbc37adc] {
  margin-bottom: var(--spacing-3);
}
.section-card .ant-card-body[data-v-dbc37adc] {
  padding: 16px;
}
@media (max-width: 768px) {
.ant-card-body[data-v-dbc37adc] {
    padding: 12px;
}
.ant-card-body .highlights-panel .highlights-bg-decoration[data-v-dbc37adc] {
    display: none;
}
}
/* 表单元素样式 */
[data-v-dbc37adc] .ant-form-item-label > label {
  font-weight: 500;
}
/* 响应式设计 */
@media (max-width: 768px) {
.highlights-content[data-v-dbc37adc] {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
}
.highlights-content .highlights-panel .highlights-bg-decoration[data-v-dbc37adc] {
    display: none;
}
.highlights-left h2[data-v-dbc37adc] {
    font-size: 17px !important;
}
.section-card[data-v-dbc37adc] {
    border: none;
    box-shadow: none;
    background: transparent;
    margin-bottom: 8px;
    padding-bottom: 60px;
}
.section-card[data-v-dbc37adc] .ant-card-head {
    padding: 8px 0;
    min-height: auto;
}
.section-card[data-v-dbc37adc] .ant-card-head-title {
    font-size: 14px;
    padding: 0;
}
.section-card[data-v-dbc37adc] .ant-card-body {
    padding: 0;
}
.metadata-edit-form[data-v-dbc37adc] .ant-row {
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.metadata-edit-form[data-v-dbc37adc] .ant-col {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.metadata-edit-form[data-v-dbc37adc] .ant-form-item {
    margin-bottom: 16px;
}
.metadata-edit-form[data-v-dbc37adc] .ant-form-item-label {
    padding-bottom: 4px;
}
.metadata-edit-form[data-v-dbc37adc] .ant-form-item-label > label {
    font-size: 13px;
    font-weight: 500;
    color: var(--color-text);
}
.metadata-edit-form[data-v-dbc37adc] .ant-input,
  .metadata-edit-form[data-v-dbc37adc] .ant-select,
  .metadata-edit-form[data-v-dbc37adc] .ant-picker {
    font-size: 14px;
}
.metadata-edit-form[data-v-dbc37adc] .ant-input-disabled,
  .metadata-edit-form[data-v-dbc37adc] .ant-select-disabled .ant-select-selector {
    color: var(--color-text);
    background: var(--color-bg-layout);
}
.fixed-actions .ant-btn[data-v-dbc37adc]:not(.ant-btn-dangerous) {
    flex: 1;
    height: 40px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
}
.fixed-actions .ant-btn-dangerous[data-v-dbc37adc] {
    height: 40px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
}
}
@media (max-width: 575px) {
.metadata-edit-form[data-v-dbc37adc] .ant-form-item {
    margin-bottom: 14px;
}
.metadata-edit-form[data-v-dbc37adc] .ant-form-item-label > label {
    font-size: 13px;
}
.fixed-actions .ant-btn[data-v-dbc37adc]:not(.ant-btn-dangerous),
  .fixed-actions .ant-btn-dangerous[data-v-dbc37adc] {
    height: 38px;
    font-size: 13px;
}
}
/* 页面标题样式 */
.lineage-header[data-v-fcb436b7] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  /* margin-bottom: 16px; */
  padding: 8px 0;
  border-bottom: 1px solid #f0f0f0;
}
.page-title[data-v-fcb436b7] {
  font-size: 20px;
  font-weight: 600;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}
.header-actions[data-v-fcb436b7] {
  display: flex;
  gap: 8px;
}
.header-btn[data-v-fcb436b7] {
  padding: 6px 16px;
}
/* 控制面板样式 */
.control-panel[data-v-fcb436b7] {
  margin-bottom: 0;
}
.control-panel .ant-card-body[data-v-fcb436b7] {
  padding: 16px;
}
@media (max-width: 768px) {
.ant-card-body[data-v-fcb436b7] {
    padding: 12px;
}
}
@media (max-width: 768px) {
.ant-card-body[data-v-fcb436b7] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.ant-card-body[data-v-fcb436b7] {
    padding: 12px;
}
}
/* 控制面板选择器样式 */
.control-select[data-v-fcb436b7] {
  width: 100%;
}
/* 展开全部按钮样式 */
.expand-all-col[data-v-fcb436b7] {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
/* 血缘关系图卡片样式 */
.lineage-graph-card[data-v-fcb436b7] {
  min-height: 600px;
}
.lineage-graph-card .ant-card-body[data-v-fcb436b7] {
  padding: 16px;
}
@media (max-width: 768px) {
.ant-card-body[data-v-fcb436b7] {
    padding: 12px;
}
}
@media (max-width: 768px) {
.ant-card-body[data-v-fcb436b7] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.ant-card-body[data-v-fcb436b7] {
    padding: 12px;
}
}
/* 血缘关系图容器样式 */
.lineage-graph-container[data-v-fcb436b7] {
  width: 100%;
  height: 100%;
  min-height: 600px;
  position: relative;
}
/* 加载和空内容样式 */
.loading-container[data-v-fcb436b7],
.empty-container[data-v-fcb436b7] {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 600px;
  padding: 24px;
}
/* 空数据区域样式 */
[data-v-fcb436b7] .empty-container .ant-empty {
  padding: 24px;
}
[data-v-fcb436b7] .empty-container .ant-empty-image {
  margin-bottom: 16px;
}
[data-v-fcb436b7] .empty-container .ant-empty-description {
  font-size: 14px;
  margin-bottom: 16px;
}
/* 响应式设计 */
@media (max-width: 768px) {
.lineage-header[data-v-fcb436b7] {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}
.header-actions[data-v-fcb436b7] {
    justify-content: flex-end;
    gap: 6px;
}
.expand-all-col[data-v-fcb436b7] {
    justify-content: flex-start;
    margin-top: 12px;
}
.expand-all-btn[data-v-fcb436b7] {
    width: 100%;
}
.graph-content[data-v-fcb436b7] {
    min-height: 400px;
    border-radius: 0;
    box-shadow: none;
}
.g6-graph-container[data-v-fcb436b7] {
    height: 400px;
    border-radius: 0;
}
.node-detail .ant-descriptions[data-v-fcb436b7] {
    font-size: 13px;
}
}
@media (max-width: 575px) {
.header-actions .ant-btn span[data-v-fcb436b7]:not(.anticon) {
    display: none;
}
.graph-content[data-v-fcb436b7] {
    min-height: 300px;
}
.g6-graph-container[data-v-fcb436b7] {
    height: 300px;
}
}
/* 图形内容样式 */
.graph-content[data-v-fcb436b7] {
  width: 100%;
  height: 100%;
  min-height: 600px;
  overflow: hidden;
  background-color: #fafafa;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
/* G6图容器样式 */
.g6-graph-container[data-v-fcb436b7] {
  width: 100%;
  height: 600px;
  background-color: #fafafa;
  border-radius: 8px;
}
/* 节点详情抽屉样式 */
.node-detail[data-v-fcb436b7] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.node-detail .ant-descriptions[data-v-fcb436b7] {
  margin-bottom: 0;
}
.node-detail .ant-btn[data-v-fcb436b7] {
  align-self: flex-start;
}
.page-detail[data-v-fee2ce01] {
  overflow-x: hidden;
  padding-bottom: 80px;
}
/* 操作列图标颜色统一 */
[data-v-fee2ce01] .field-actions .ant-btn:not(.ant-btn-dangerous) {
  color: var(--color-primary);
}
[data-v-fee2ce01] .field-actions .ant-btn:not(.ant-btn-dangerous):hover {
  color: var(--color-primary-hover, #4096ff);
}
[data-v-fee2ce01] .ant-table .ant-btn-text:not(.ant-btn-dangerous) {
  color: var(--color-primary);
}
[data-v-fee2ce01] .ant-table .ant-btn-text:not(.ant-btn-dangerous):hover {
  color: var(--color-primary-hover, #4096ff);
}
/* 高亮头部面板样式 */
.highlights-panel[data-v-fee2ce01] {
  background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark, #0958d9) 100%);
  border-radius: var(--radius-xl);
  padding: 24px 32px;
  color: white;
  margin-bottom: var(--spacing-4);
  position: relative;
  overflow: hidden;
}
/* 几何图形装饰 */
.highlights-bg-decoration[data-v-fee2ce01] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-fee2ce01] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-fee2ce01] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-fee2ce01] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-fee2ce01] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-fee2ce01] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-fee2ce01] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-fee2ce01] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-fee2ce01] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-fee2ce01] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-fee2ce01] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
@media (max-width: 768px) {
.highlights-panel[data-v-fee2ce01] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-fee2ce01] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-fee2ce01] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-fee2ce01] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-fee2ce01] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-fee2ce01] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-fee2ce01] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-fee2ce01] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-fee2ce01] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-fee2ce01] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-fee2ce01] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-fee2ce01] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-fee2ce01] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
.highlights-content[data-v-fee2ce01] {
  display: flex;
  justify-content: space-between;
}
.highlights-left h2[data-v-fee2ce01] {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: white;
}
.highlights-meta[data-v-fee2ce01] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  font-size: 13px;
  opacity: 0.85;
}
.highlights-tag[data-v-fee2ce01] {
  background: rgba(255, 255, 255, 0.2);
  border: none;
  color: white;
}
.highlights-right[data-v-fee2ce01] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-back-btn[data-v-fee2ce01] {
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: white;
}
.highlights-back-btn[data-v-fee2ce01]:hover {
  background: rgba(255, 255, 255, 0.25);
  color: white;
  border-color: rgba(255, 255, 255, 0.5);
}
/* 详情头部样式（保留兼容） */
.detail-header[data-v-fee2ce01] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.page-title[data-v-fee2ce01] {
  font-size: 20px;
  font-weight: 600;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}
.header-actions[data-v-fee2ce01] {
  display: flex;
  gap: 8px;
}
/* 信息卡片样式 */
.info-card[data-v-fee2ce01] {
  margin-bottom: 16px;
}
/* 基本信息描述列表样式 */
.info-descriptions[data-v-fee2ce01] {
  margin-bottom: 0;
}
[data-v-fee2ce01] .info-descriptions .ant-descriptions-item-label {
  font-weight: 600 !important;
}
[data-v-fee2ce01] .info-descriptions .ant-descriptions-item-content {
  font-weight: 400 !important;
}
/* 未定义文本样式 */
.undefined-text[data-v-fee2ce01] {
  color: var(--color-text-quaternary);
  font-style: italic;
}
/* 标签页样式 */
[data-v-fee2ce01] .ant-tabs {
  margin-top: 16px;
}
[data-v-fee2ce01] .ant-tabs-nav {
  margin-bottom: 0;
}
/* 标签页头部样式 */
.tab-header[data-v-fee2ce01] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  /* margin-bottom: 8px; */
}
.tab-title[data-v-fee2ce01] {
  font-size: 16px;
  font-weight: 600;
}
.tab-card[data-v-fee2ce01] .ant-card-body {
  padding: 8px;
}
/* 表格样式 */
.compact-table[data-v-fee2ce01] {
  margin-bottom: 0;
}
[data-v-fee2ce01] .compact-table .ant-table-thead > tr > th {
  padding: 8px 12px;
  font-size: 13px;
}
[data-v-fee2ce01] .compact-table .ant-table-tbody > tr > td {
  padding: 8px 12px;
  font-size: 13px;
}
/* 表格空数据样式 */
.table-empty[data-v-fee2ce01] {
  padding: 24px;
}
/* 空内容样式 */
.empty-content[data-v-fee2ce01] {
  text-align: center;
  padding: 24px;
}
/* 表单内容样式 */
.field-form-content[data-v-fee2ce01],
.quality-rule-form-content[data-v-fee2ce01] {
  padding: 16px 0;
}
@media (max-width: 768px) {
.quality-rule-form-content[data-v-fee2ce01] {
    padding: 12px;
}
.quality-rule-form-content .highlights-panel .highlights-bg-decoration[data-v-fee2ce01] {
    display: none;
}
}
/* 列表样式 */
[data-v-fee2ce01] .ant-list-item {
  padding: 12px 16px;
}
/* 响应式设计 */
@media (max-width: 768px) {
.page-detail[data-v-fee2ce01] {
    border-radius: 0;
    border: none;
}
.page-detail .highlights-panel .highlights-bg-decoration[data-v-fee2ce01] {
    display: none;
}
.page-detail[data-v-fee2ce01] .ant-card-head {
    padding: 12px 16px;
    min-height: auto;
}
.page-detail[data-v-fee2ce01] .ant-card-head-title {
    font-size: 16px;
}
.detail-header[data-v-fee2ce01] {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}
.page-title[data-v-fee2ce01] {
    width: 100%;
    font-size: 18px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.header-actions[data-v-fee2ce01] {
    justify-content: flex-end;
    gap: 6px;
    width: 100%;
}
  /* 基本信息区域 */
.info-card[data-v-fee2ce01] {
    border: none;
    box-shadow: none;
    background: transparent;
}
.info-descriptions[data-v-fee2ce01] {
    border: none;
}
.info-descriptions[data-v-fee2ce01] table {
    table-layout: auto;
    width: 100%;
}
.info-descriptions[data-v-fee2ce01] tbody {
    display: block;
}
.info-descriptions[data-v-fee2ce01] tr {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    border-bottom: 1px solid var(--color-border-secondary, var(--color-border));
    padding: 0;
}
.info-descriptions[data-v-fee2ce01] th,
  .info-descriptions[data-v-fee2ce01] td {
    display: block;
    width: auto !important;
    border: none !important;
    padding: 0;
    background: transparent;
}
.info-descriptions[data-v-fee2ce01] th {
    flex: 0 0 80px;
}
.info-descriptions[data-v-fee2ce01] td {
    flex: 1;
    min-width: 0;
}
.info-descriptions[data-v-fee2ce01] .ant-descriptions-item-label {
    padding: 10px 8px 10px 0;
    font-size: 13px;
    color: var(--color-text-tertiary);
}
.info-descriptions[data-v-fee2ce01] .ant-descriptions-item-content {
    padding: 10px 0;
    font-size: 13px;
    word-break: break-all;
}
  /* 标签页区域 */
.tab-card[data-v-fee2ce01] {
    border: none;
    box-shadow: none;
    background: transparent;
    margin-top: 12px !important;
}
.tab-card[data-v-fee2ce01] .ant-card-head {
    padding: 8px 16px;
    min-height: auto;
}
.tab-title[data-v-fee2ce01] {
    font-size: 15px;
}
.tab-header[data-v-fee2ce01] {
    flex-wrap: wrap;
    gap: 8px;
}
.add-btn[data-v-fee2ce01] {
    font-size: 12px;
}
  /* 表格滚动 */
.compact-table[data-v-fee2ce01] .ant-table {
    font-size: 13px;
}
.compact-table[data-v-fee2ce01] .ant-table-cell {
    padding: 8px !important;
}
}
@media (max-width: 575px) {
.highlights-panel[data-v-fee2ce01] {
    padding: 16px;
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-fee2ce01] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-fee2ce01] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-fee2ce01] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-fee2ce01] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-fee2ce01] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-fee2ce01] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-fee2ce01] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-fee2ce01] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-fee2ce01] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-fee2ce01] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-fee2ce01] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-content[data-v-fee2ce01] {
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 8px;
}
.highlights-left[data-v-fee2ce01] {
    flex: 1;
    min-width: 0;
}
.highlights-left h2[data-v-fee2ce01] {
    font-size: 18px;
}
.highlights-right[data-v-fee2ce01] {
    width: 100%;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}
.highlights-right .ant-btn[data-v-fee2ce01] {
    height: 36px;
    padding: 0 12px;
    font-size: 13px;
}
.highlights-back-btn[data-v-fee2ce01] {
    padding: 4px 8px;
    font-size: 13px;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.highlights-panel[data-v-fee2ce01] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-fee2ce01] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-fee2ce01] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-fee2ce01] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-fee2ce01] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-fee2ce01] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-fee2ce01] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-fee2ce01] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-fee2ce01] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-fee2ce01] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-fee2ce01] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-fee2ce01] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-fee2ce01] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
/* Fixed Bottom Actions */
.fixed-actions[data-v-fee2ce01] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 12px;
  background: #fff;
  border-top: 1px solid var(--color-border-secondary);
  display: flex;
  justify-content: flex-end;
  z-index: 100;
}
/* 移动端卡片样式 */
.mobile-cards .mobile-card[data-v-fee2ce01] {
  padding: 12px;
  background: #fff;
  border-radius: 8px;
  margin-bottom: 12px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}
.mobile-cards .mobile-card-header[data-v-fee2ce01] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #f0f0f0;
}
.mobile-cards .mobile-card-title[data-v-fee2ce01] {
  font-weight: 600;
  font-size: 15px;
  color: #262626;
}
.mobile-cards .mobile-card-content[data-v-fee2ce01] {
  margin-bottom: 12px;
}
.mobile-cards .mobile-card-item[data-v-fee2ce01] {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
  font-size: 13px;
}
.mobile-cards .mobile-card-item .label[data-v-fee2ce01] {
  color: #8c8c8c;
  margin-right: 8px;
  min-width: 70px;
}
.mobile-cards .mobile-card-actions[data-v-fee2ce01] {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding-top: 8px;
  border-top: 1px solid #f0f0f0;
}
.database-design-index[data-v-4c50f02a] {
  height: 100%;
  display: flex;
  flex-direction: column;
}
/* JSON编辑器样式 */
.code-editor[data-v-46092446] {
  font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
  border-radius: 8px;
  transition: all 0.3s ease;
}
.code-editor[data-v-46092446]:focus {
  box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
}
/* 同步到业务对象样式 */
.sync-section[data-v-46092446] {
  padding: 16px;
  background: #fafafa;
  border-radius: 8px;
  border: 1px dashed #d9d9d9;
}
.sync-result[data-v-46092446] {
  margin-top: 12px;
}
.sync-field-list[data-v-46092446] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
}
.sync-field-title[data-v-46092446] {
  font-size: 12px;
  color: #595959;
  margin-right: 4px;
}
.database-design-list[data-v-19c1bf8a] {
  background: var(--color-bg-layout);
  min-height: 100%;
  padding: var(--spacing-4);
}
.database-design-list[data-v-19c1bf8a] .responsive-table-container {
  padding: 0;
}
/* Hero Section */
.hero-bg-decoration[data-v-19c1bf8a] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-19c1bf8a] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-19c1bf8a] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-19c1bf8a] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-19c1bf8a] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-19c1bf8a] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-19c1bf8a] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-19c1bf8a] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-19c1bf8a] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-19c1bf8a] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-19c1bf8a] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-19c1bf8a] {
  flex: 1;
}
.hero-badge[data-v-19c1bf8a] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 255, 255, 0.15);
  border-radius: 20px;
  padding: 4px 14px;
  font-size: 13px;
  margin-bottom: 12px;
  backdrop-filter: blur(4px);
}
.hero-title[data-v-19c1bf8a] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-19c1bf8a] {
  margin: 0 0 16px;
  font-size: 14px;
  opacity: 0.85;
  max-width: 600px;
}
.hero-stats[data-v-19c1bf8a] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.hero-stat[data-v-19c1bf8a] {
  display: flex;
  flex-direction: column;
}
.hero-stat-value[data-v-19c1bf8a] {
  font-size: 22px;
  font-weight: 700;
}
.hero-stat-label[data-v-19c1bf8a] {
  font-size: 12px;
  opacity: 0.7;
}
.hero-stat-divider[data-v-19c1bf8a] {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.25);
}
.hero-right[data-v-19c1bf8a] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
/* Table cells */
.table-cell-content[data-v-19c1bf8a] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.table-cell-title[data-v-19c1bf8a] {
  font-weight: 600;
  font-size: 15px;
  color: var(--color-text-primary);
  cursor: pointer;
  display: inline-block;
  transition: color 0.2s;
}
.table-cell-title[data-v-19c1bf8a]:hover {
  color: #1677ff;
}
.table-cell-subtitle[data-v-19c1bf8a] {
  font-size: 13px;
  color: var(--color-text-tertiary);
  line-height: 1.5;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 400px;
}
.type-tag[data-v-19c1bf8a] {
  font-weight: 600;
  font-size: 12px;
  padding: 2px 8px;
  border-radius: var(--radius-sm);
  text-transform: uppercase;
}
.status-tag[data-v-19c1bf8a] {
  font-weight: 500;
  font-size: 12px;
  padding: 2px 8px;
  border-radius: var(--radius-sm);
}
/* Mobile */
.mobile-card-fields-row[data-v-19c1bf8a] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 12px;
}
@media (max-width: 991px) {
.hero-content[data-v-19c1bf8a] {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}
.hero-stats[data-v-19c1bf8a] {
    gap: 12px;
}
.hero-stat-value[data-v-19c1bf8a] {
    font-size: 18px;
}
}
@media (max-width: 575px) {
.hero-title[data-v-19c1bf8a] {
    font-size: 20px;
}
.hero-right[data-v-19c1bf8a] {
    width: 100%;
}
}
.filter-actions-col[data-v-19c1bf8a] {
  display: flex;
  justify-content: flex-end;
}
.table-card[data-v-98609f2d] {
  position: absolute;
  width: 280px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
  border: 2px solid transparent;
  cursor: move;
  user-select: none;
  transition: box-shadow 0.2s, border-color 0.2s, transform 0.1s;
}
.table-card[data-v-98609f2d]:hover {
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
  transform: translateY(-1px);
}
.table-card.selected[data-v-98609f2d] {
  border-color: #1890ff;
  box-shadow: 0 6px 24px rgba(24, 144, 255, 0.25);
}
.table-header[data-v-98609f2d] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  background: linear-gradient(135deg, #1890ff 0%, #40a9ff 100%);
  border-radius: 6px 6px 0 0;
  color: #fff;
}
.table-header .table-title[data-v-98609f2d] {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.table-header .table-title .table-icon[data-v-98609f2d] {
  font-size: 14px;
  flex-shrink: 0;
}
.table-header .table-title .table-name[data-v-98609f2d] {
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.table-header .table-actions[data-v-98609f2d] {
  opacity: 0;
  transition: opacity 0.2s;
}
.table-header .table-actions[data-v-98609f2d] .anticon {
  color: #fff;
  font-size: 14px;
}
.table-header:hover .table-actions[data-v-98609f2d] {
  opacity: 1;
}
.table-body[data-v-98609f2d] {
  max-height: 300px;
  overflow-y: auto;
}
.table-body .field-row[data-v-98609f2d] {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  border-bottom: 1px solid #f0f0f0;
  cursor: pointer;
  transition: background 0.2s;
}
.table-body .field-row[data-v-98609f2d]:last-child {
  border-bottom: none;
}
.table-body .field-row[data-v-98609f2d]:hover {
  background: #f5f5f5;
}
.table-body .field-row.primary[data-v-98609f2d] {
  background: #fffbe6;
}
.table-body .field-row.primary[data-v-98609f2d]:hover {
  background: #fff1b8;
}
.table-body .field-row.foreign[data-v-98609f2d] {
  background: #e6f7ff;
}
.table-body .field-row.foreign[data-v-98609f2d]:hover {
  background: #bae7ff;
}
.table-body .field-row .field-key[data-v-98609f2d] {
  width: 20px;
  flex-shrink: 0;
}
.table-body .field-row .field-key .key-icon[data-v-98609f2d] {
  font-size: 12px;
}
.table-body .field-row .field-key .key-icon.primary-key[data-v-98609f2d] {
  color: #faad14;
}
.table-body .field-row .field-key .key-icon.foreign-key[data-v-98609f2d] {
  color: #1890ff;
}
.table-body .field-row .field-name[data-v-98609f2d] {
  flex: 1;
  font-size: 13px;
  color: #262626;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.table-body .field-row .field-type[data-v-98609f2d] {
  font-size: 11px;
  color: #8c8c8c;
  margin-left: 8px;
  flex-shrink: 0;
}
.table-body .field-row .field-flags[data-v-98609f2d] {
  display: flex;
  gap: 4px;
  margin-left: 8px;
  flex-shrink: 0;
}
.table-body .field-row .field-flags .flag[data-v-98609f2d] {
  font-size: 9px;
  padding: 1px 3px;
  border-radius: 2px;
  font-weight: 600;
}
.table-body .field-row .field-flags .flag.not-null[data-v-98609f2d] {
  background: #fff1f0;
  color: #ff4d4f;
}
.table-body .field-row .field-flags .flag.auto[data-v-98609f2d] {
  background: #f0f5ff;
  color: #1890ff;
}
.table-body .field-row .field-flags .flag.unique[data-v-98609f2d] {
  background: #f6ffed;
  color: #52c41a;
}
.table-body .no-fields[data-v-98609f2d] {
  padding: 20px;
  text-align: center;
  color: #bfbfbf;
  font-size: 12px;
}
.table-footer[data-v-98609f2d] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 12px;
  background: #fafafa;
  border-radius: 0 0 6px 6px;
  border-top: 1px solid #f0f0f0;
}
.table-footer .comment[data-v-98609f2d] {
  font-size: 11px;
  color: #8c8c8c;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
  margin-right: 8px;
}
.table-footer .field-count[data-v-98609f2d] {
  font-size: 11px;
  color: #bfbfbf;
  flex-shrink: 0;
}
.relation-lines[data-v-2b338eac] {
  overflow: visible;
}
.relation-path[data-v-2b338eac] {
  pointer-events: none;
  cursor: pointer;
  transition: stroke-width 0.2s, stroke 0.2s;
}
.relation-path.hovered[data-v-2b338eac] {
  filter: drop-shadow(0 0 4px rgba(250, 84, 28, 0.4));
}
.relation-hit-area[data-v-2b338eac] {
  pointer-events: stroke;
  cursor: pointer;
}
.relation-label[data-v-2b338eac] {
  font-weight: 600;
  pointer-events: none;
  text-shadow: 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff;
  transition: fill 0.2s;
}
.database-visual-designer[data-v-31a967d1] {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #f5f5f5;
}
.designer-toolbar[data-v-31a967d1] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 16px;
  background: #fff;
  border-bottom: 1px solid #e8e8e8;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  z-index: 10;
  flex-wrap: wrap;
  gap: 8px;
}
.designer-toolbar .toolbar-left[data-v-31a967d1] {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.designer-toolbar .toolbar-center[data-v-31a967d1] {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}
.designer-toolbar .toolbar-right[data-v-31a967d1] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.designer-toolbar .toolbar-right .stats[data-v-31a967d1] {
  font-size: 13px;
  color: #8c8c8c;
  white-space: nowrap;
}
@media (max-width: 768px) {
.designer-toolbar[data-v-31a967d1] {
    padding: 8px 12px;
}
.designer-toolbar .toolbar-left[data-v-31a967d1] {
    width: 100%;
}
.designer-toolbar .toolbar-center[data-v-31a967d1] {
    width: 100%;
    justify-content: flex-start;
}
.designer-toolbar .toolbar-right[data-v-31a967d1] {
    width: 100%;
    justify-content: flex-end;
}
.designer-body[data-v-31a967d1] {
    flex-direction: column;
}
.table-list-panel[data-v-31a967d1] {
    width: 100%;
    max-height: 200px;
    border-right: none;
    border-bottom: 1px solid #e8e8e8;
}
.property-panel[data-v-31a967d1] {
    width: 100%;
    max-height: 300px;
    border-left: none;
    border-top: 1px solid #e8e8e8;
}
.canvas-area[data-v-31a967d1] {
    min-height: 400px;
}
}
.designer-body[data-v-31a967d1] {
  display: flex;
  flex: 1;
  overflow: hidden;
}
.table-list-panel[data-v-31a967d1] {
  width: 240px;
  background: #fff;
  border-right: 1px solid #e8e8e8;
  display: flex;
  flex-direction: column;
}
.table-list-panel .panel-header[data-v-31a967d1] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid #f0f0f0;
  font-weight: 600;
  font-size: 14px;
}
.table-list-panel .panel-body[data-v-31a967d1] {
  flex: 1;
  overflow-y: auto;
  padding: 8px;
}
.table-list-panel .table-item[data-v-31a967d1] {
  display: flex;
  align-items: center;
  padding: 10px 12px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s;
  margin-bottom: 4px;
}
.table-list-panel .table-item[data-v-31a967d1]:hover {
  background: #f5f5f5;
}
.table-list-panel .table-item.active[data-v-31a967d1] {
  background: #e6f7ff;
  border: 1px solid #91d5ff;
}
.table-list-panel .table-item .table-icon[data-v-31a967d1] {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: #f0f5ff;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #1890ff;
  margin-right: 10px;
}
.table-list-panel .table-item .table-info[data-v-31a967d1] {
  flex: 1;
  min-width: 0;
}
.table-list-panel .table-item .table-info .table-name[data-v-31a967d1] {
  font-size: 13px;
  font-weight: 500;
  color: #262626;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.table-list-panel .table-item .table-info .table-meta[data-v-31a967d1] {
  font-size: 12px;
  color: #8c8c8c;
}
.table-list-panel .table-item .table-actions[data-v-31a967d1] {
  opacity: 0;
  transition: opacity 0.2s;
}
.table-list-panel .table-item:hover .table-actions[data-v-31a967d1] {
  opacity: 1;
}
.table-list-panel .empty-hint[data-v-31a967d1] {
  text-align: center;
  color: #bfbfbf;
  padding: 40px 20px;
  font-size: 13px;
}
.canvas-area[data-v-31a967d1] {
  flex: 1;
  overflow: hidden;
  position: relative;
  background: #fafafa;
  background-image: linear-gradient(rgba(0, 0, 0, 0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 0, 0, 0.03) 1px, transparent 1px);
  background-size: 20px 20px;
}
.canvas-area .canvas-content[data-v-31a967d1] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.canvas-empty[data-v-31a967d1] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: #bfbfbf;
}
.canvas-empty .empty-icon[data-v-31a967d1] {
  font-size: 64px;
  color: #d9d9d9;
  margin-bottom: 16px;
}
.canvas-empty .empty-title[data-v-31a967d1] {
  font-size: 20px;
  font-weight: 600;
  color: #595959;
  margin-bottom: 8px;
}
.canvas-empty .empty-desc[data-v-31a967d1] {
  font-size: 14px;
  color: #8c8c8c;
}
.property-panel[data-v-31a967d1] {
  width: 320px;
  background: #fff;
  border-left: 1px solid #e8e8e8;
  display: flex;
  flex-direction: column;
}
.property-panel .panel-header[data-v-31a967d1] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid #f0f0f0;
  font-weight: 600;
  font-size: 14px;
}
.property-panel .panel-body[data-v-31a967d1] {
  flex: 1;
  overflow-y: auto;
  padding: 16px;
}
.property-panel .field-list-header[data-v-31a967d1] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  font-weight: 500;
}
.property-panel .field-list[data-v-31a967d1] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.property-panel .field-item[data-v-31a967d1] {
  display: flex;
  align-items: center;
  padding: 10px 12px;
  background: #fafafa;
  border-radius: 8px;
  border: 1px solid transparent;
  cursor: pointer;
  transition: all 0.2s;
}
.property-panel .field-item[data-v-31a967d1]:hover {
  background: #f5f5f5;
}
.property-panel .field-item.selected[data-v-31a967d1] {
  background: #e6f7ff;
  border-color: #91d5ff;
}
.property-panel .field-item.primary[data-v-31a967d1] {
  background: #fffbe6;
}
.property-panel .field-item .field-icon[data-v-31a967d1] {
  width: 28px;
  height: 28px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 10px;
  font-size: 12px;
  font-weight: 600;
}
.property-panel .field-item .field-icon .type-badge[data-v-31a967d1] {
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 10px;
}
.property-panel .field-item .field-icon .type-badge.type-int[data-v-31a967d1],
.property-panel .field-item .field-icon .type-badge.type-bigint[data-v-31a967d1],
.property-panel .field-item .field-icon .type-badge.type-smallint[data-v-31a967d1],
.property-panel .field-item .field-icon .type-badge.type-tinyint[data-v-31a967d1] {
  background: #e6f7ff;
  color: #1890ff;
}
.property-panel .field-item .field-icon .type-badge.type-varchar[data-v-31a967d1],
.property-panel .field-item .field-icon .type-badge.type-char[data-v-31a967d1],
.property-panel .field-item .field-icon .type-badge.type-text[data-v-31a967d1] {
  background: #f6ffed;
  color: #52c41a;
}
.property-panel .field-item .field-icon .type-badge.type-datetime[data-v-31a967d1],
.property-panel .field-item .field-icon .type-badge.type-date[data-v-31a967d1],
.property-panel .field-item .field-icon .type-badge.type-timestamp[data-v-31a967d1] {
  background: #fff7e6;
  color: #fa8c16;
}
.property-panel .field-item .field-icon .type-badge.type-boolean[data-v-31a967d1] {
  background: #f9f0ff;
  color: #722ed1;
}
.property-panel .field-item .field-info[data-v-31a967d1] {
  flex: 1;
  min-width: 0;
}
.property-panel .field-item .field-info .field-name[data-v-31a967d1] {
  font-size: 13px;
  font-weight: 500;
  color: #262626;
}
.property-panel .field-item .field-info .field-type[data-v-31a967d1] {
  font-size: 11px;
  color: #8c8c8c;
}
.property-panel .field-item .field-flags[data-v-31a967d1] {
  display: flex;
  gap: 4px;
  margin-right: 8px;
}
.property-panel .field-item .field-flags .flag[data-v-31a967d1] {
  font-size: 10px;
  padding: 1px 4px;
  border-radius: 3px;
}
.property-panel .field-item .field-flags .flag.required[data-v-31a967d1] {
  background: #fff1f0;
  color: #ff4d4f;
}
.property-panel .field-item .field-flags .flag.auto[data-v-31a967d1] {
  background: #f0f5ff;
  color: #1890ff;
}
.property-panel .field-item .field-actions[data-v-31a967d1] {
  opacity: 0;
  transition: opacity 0.2s;
}
.property-panel .field-item:hover .field-actions[data-v-31a967d1] {
  opacity: 1;
}
.sql-drawer .sql-actions[data-v-31a967d1] {
  margin-bottom: 12px;
  display: flex;
  gap: 8px;
}
.sql-drawer .sql-content[data-v-31a967d1] {
  background: #1e1e1e;
  color: #d4d4d4;
  padding: 16px;
  border-radius: 8px;
  font-family: 'Fira Code', 'Consolas', 'Monaco', monospace;
  font-size: 13px;
  line-height: 1.6;
  overflow-x: auto;
  max-height: calc(100vh - 200px);
  white-space: pre-wrap;
  word-break: break-all;
  margin: 0;
}
.sql-drawer .sql-content code[data-v-31a967d1] {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
.database-design-visual[data-v-c2387ef3] {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.page-header[data-v-c2387ef3] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 24px;
  background: #fff;
  border-bottom: 1px solid #f0f0f0;
  flex-shrink: 0;
}
.page-header .header-left[data-v-c2387ef3] {
  display: flex;
  align-items: center;
  gap: 16px;
}
.page-header .header-left .page-title[data-v-c2387ef3] {
  font-size: 18px;
  font-weight: 600;
  color: #262626;
}
@media (max-width: 768px) {
.page-header .header-left .page-header[data-v-c2387ef3] {
    padding: 12px;
}
}
.visual-content[data-v-c2387ef3] {
  flex: 1;
  overflow: hidden;
  padding: 0 16px 16px;
  background: #f5f5f5;
}
.database-design-stats[data-v-7b62ac1b] {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(249, 250, 251, 0.95) 100%);
  padding: 16px;
  position: relative;
}
@media (max-width: 768px) {
.database-design-stats[data-v-7b62ac1b] {
    padding: 12px;
}
}
/* 添加科技感背景装饰 */
.database-design-stats[data-v-7b62ac1b]::before {
  content: '';
  position: fixed;
  top: -50%;
  right: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(59, 130, 246, 0.05) 0%, transparent 70%);
  animation: backgroundFloat-7b62ac1b 20s ease-in-out infinite;
  z-index: -1;
}
@keyframes backgroundFloat-7b62ac1b {
0%,
  100% {
    transform: translate(0, 0) rotate(0deg);
}
50% {
    transform: translate(-20px, -20px) rotate(180deg);
}
}
/* 页面头部样式 */
.dashboard-header[data-v-7b62ac1b] {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(245, 247, 250, 0.95) 100%);
  border-radius: 20px;
  margin-bottom: 12px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08), 0 3px 6px rgba(0, 0, 0, 0.04);
  border: 1px solid rgba(59, 130, 246, 0.15);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(10px);
}
/* 头部悬停效果 */
.dashboard-header[data-v-7b62ac1b]:hover {
  box-shadow: 0 12px 32px rgba(59, 130, 246, 0.15), 0 6px 12px rgba(59, 130, 246, 0.1);
  transform: translateY(-2px);
  border-color: rgba(59, 130, 246, 0.3);
}
/* 头部背景光效 */
.dashboard-header[data-v-7b62ac1b]::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(59, 130, 246, 0.08), transparent);
  transition: left 0.6s ease;
}
.dashboard-header[data-v-7b62ac1b]:hover::before {
  left: 100%;
}
.dashboard-header .header-content[data-v-7b62ac1b] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  z-index: 1;
}
.dashboard-header .header-content .welcome-section .welcome-subtitle[data-v-7b62ac1b] {
  font-size: 14px;
  color: var(--color-text-secondary);
  margin: 0;
  font-weight: 500;
}
/* 主卡片样式 */
.main-card[data-v-7b62ac1b] {
  background: transparent;
  box-shadow: none;
  border: none;
}
/* 统计区域 */
.stats-section[data-v-7b62ac1b] {
  margin-bottom: 12px;
}
.stats-section[data-v-7b62ac1b] .ant-card {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
  border: 1px solid var(--color-border-light);
  transition: all 0.3s ease;
  background: var(--color-bg-container);
}
.stats-section[data-v-7b62ac1b] .ant-card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12), 0 4px 8px rgba(0, 0, 0, 0.06);
  transform: translateY(-2px);
}
/* 统计卡片样式 */
.stat-card[data-v-7b62ac1b] {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(245, 247, 250, 0.95) 100%);
  border: 1px solid rgba(59, 130, 246, 0.1);
  border-radius: 20px;
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(10px);
}
.stat-card[data-v-7b62ac1b]::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(59, 130, 246, 0.05), transparent);
  transition: left 0.6s ease;
  z-index: 0;
}
.stat-card[data-v-7b62ac1b]:hover::before {
  left: 100%;
}
.stat-card[data-v-7b62ac1b]:hover {
  box-shadow: 0 12px 32px rgba(59, 130, 246, 0.15);
  transform: translateY(-4px);
  border-color: rgba(59, 130, 246, 0.3);
}
.stats-section[data-v-7b62ac1b] .ant-card-body {
  padding: 12px 16px;
}
.stat-content[data-v-7b62ac1b] {
  display: flex;
  align-items: center;
  gap: 20px;
  position: relative;
  z-index: 1;
}
.stat-icon[data-v-7b62ac1b] {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  color: white;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}
.stat-icon[data-v-7b62ac1b]::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.3), transparent);
  transform: rotate(45deg);
  transition: all 0.6s ease;
  animation: shimmer-7b62ac1b 3s infinite;
}
@keyframes shimmer-7b62ac1b {
0% {
    transform: translateX(-100%) translateY(-100%) rotate(45deg);
}
100% {
    transform: translateX(100%) translateY(100%) rotate(45deg);
}
}
.stat-card:hover .stat-icon[data-v-7b62ac1b] {
  transform: scale(1.05);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
}
.stat-icon.icon-total[data-v-7b62ac1b] {
  background: linear-gradient(135deg, #3b82f6 0%, #60a5fa 100%);
  box-shadow: 0 0 24px rgba(59, 130, 246, 0.4), 0 8px 32px rgba(59, 130, 246, 0.2);
}
.stat-icon.icon-draft[data-v-7b62ac1b] {
  background: linear-gradient(135deg, #f59e0b 0%, #fbbf24 100%);
  box-shadow: 0 0 24px rgba(245, 158, 11, 0.4), 0 8px 32px rgba(245, 158, 11, 0.2);
}
.stat-icon.icon-published[data-v-7b62ac1b] {
  background: linear-gradient(135deg, #10b981 0%, #34d399 100%);
  box-shadow: 0 0 24px rgba(16, 185, 129, 0.4), 0 8px 32px rgba(16, 185, 129, 0.2);
}
.stat-icon.icon-archived[data-v-7b62ac1b] {
  background: linear-gradient(135deg, #6b7280 0%, #9ca3af 100%);
  box-shadow: 0 0 24px rgba(107, 114, 128, 0.4), 0 8px 32px rgba(107, 114, 128, 0.2);
}
.stat-info[data-v-7b62ac1b] {
  flex: 1;
}
.stat-value[data-v-7b62ac1b] {
  font-size: 20px;
  font-weight: 600;
  color: var(--color-text);
  line-height: 1;
}
.stat-label[data-v-7b62ac1b] {
  font-size: 14px;
  color: var(--color-text-secondary);
  margin-top: 4px;
}
.stat-change[data-v-7b62ac1b] {
  font-size: 14px;
  font-weight: 600;
  margin-top: 6px;
  display: flex;
  align-items: center;
  gap: 4px;
}
.stat-change.up[data-v-7b62ac1b] {
  color: #52c41a;
}
.stat-change.down[data-v-7b62ac1b] {
  color: #ff4d4f;
}
/* 数据可视化区域 */
.visualization-section[data-v-7b62ac1b] {
  margin-bottom: 12px;
}
.visualization-section[data-v-7b62ac1b] .ant-card {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
  border: 1px solid var(--color-border-light);
  transition: all 0.3s ease;
  background: var(--color-bg-container);
  border-radius: 12px;
}
.visualization-section[data-v-7b62ac1b] .ant-card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12), 0 4px 8px rgba(0, 0, 0, 0.06);
  transform: translateY(-2px);
}
.visualization-section[data-v-7b62ac1b] .ant-card-head {
  border-bottom: 1px solid var(--color-border-light);
  background: var(--color-bg-container-hover);
  border-radius: 12px 12px 0 0;
  padding: 0 20px;
  min-height: 52px;
}
.visualization-section[data-v-7b62ac1b] .ant-card-head-title {
  font-weight: 600;
  font-size: 16px;
  color: var(--color-text);
}
.visualization-section[data-v-7b62ac1b] .ant-card-body {
  padding: 12px 16px;
}
/* 图表容器 */
.chart-container[data-v-7b62ac1b] {
  height: 100%;
  min-height: 300px;
  display: flex;
  flex-direction: column;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  background: var(--color-bg-container);
  border: 1px solid var(--color-border-light);
  border-radius: 8px;
}
/* 额外统计信息区域 */
.extra-stats-section[data-v-7b62ac1b] {
  margin-bottom: 12px;
}
.extra-stats-section[data-v-7b62ac1b] .ant-card {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
  border: 1px solid var(--color-border-light);
  transition: all 0.3s ease;
  background: var(--color-bg-container);
  border-radius: 12px;
}
.extra-stats-section[data-v-7b62ac1b] .ant-card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12), 0 4px 8px rgba(0, 0, 0, 0.06);
  transform: translateY(-2px);
}
.extra-stats-section[data-v-7b62ac1b] .ant-card-head {
  border-bottom: 1px solid var(--color-border-light);
  background: var(--color-bg-container-hover);
  border-radius: 12px 12px 0 0;
  padding: 0 20px;
  min-height: 52px;
}
.extra-stats-section[data-v-7b62ac1b] .ant-card-head-title {
  font-weight: 600;
  font-size: 16px;
  color: var(--color-text);
}
.extra-stats-section[data-v-7b62ac1b] .ant-card-body {
  padding: 12px 16px;
}
/* 活动列表样式 */
.activity-list[data-v-7b62ac1b] {
  max-height: 400px;
  overflow: auto;
}
.activity-list-item[data-v-7b62ac1b] {
  padding: 0;
  border-radius: 8px;
  background-color: var(--color-bg-elevated);
  margin-bottom: 12px;
  transition: all 0.3s ease;
}
.activity-list-item[data-v-7b62ac1b]:hover {
  background-color: var(--color-bg-container);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
.activity-timeline-item[data-v-7b62ac1b] {
  padding: 12px 16px;
}
.activity-content[data-v-7b62ac1b] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.activity-title[data-v-7b62ac1b] {
  font-weight: bold;
  font-size: 16px;
  margin: 0;
  color: var(--color-text);
}
.activity-description[data-v-7b62ac1b] {
  font-size: 14px;
  margin: 0;
  color: var(--color-text-secondary);
  display: flex;
  gap: 8px;
  align-items: center;
}
.activity-action[data-v-7b62ac1b] {
  padding: 2px 8px;
  background-color: var(--color-bg-container);
  border-radius: 4px;
  font-size: 12px;
  border: 1px solid var(--color-border);
}
.activity-time[data-v-7b62ac1b] {
  font-size: 12px;
}
/* 最受欢迎类型样式 */
.popular-type[data-v-7b62ac1b] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 20px 0;
}
.popular-type-name[data-v-7b62ac1b] {
  font-size: 18px;
  font-weight: bold;
  color: var(--color-text);
  margin-top: 8px;
}
/* 响应式设计 */
@media (max-width: 1200px) {
.visualization-section[data-v-7b62ac1b] .ant-col {
    flex: 0 0 100% !important;
    max-width: 100% !important;
}
.extra-stats-section[data-v-7b62ac1b] .ant-col {
    flex: 0 0 50% !important;
    max-width: 50% !important;
}
}
@media (max-width: 768px) {
.database-design-stats[data-v-7b62ac1b] {
    padding: 8px;
}
.dashboard-header .header-content[data-v-7b62ac1b] {
    flex-direction: column;
    align-items: flex-start;
}
.dashboard-header .header-content .header-actions[data-v-7b62ac1b] {
    width: 100%;
}
.dashboard-header .header-content .welcome-section .page-title[data-v-7b62ac1b] {
    font-size: 20px;
}
.stats-section[data-v-7b62ac1b] .ant-col {
    flex: 0 0 50% !important;
    max-width: 50% !important;
}
.extra-stats-section[data-v-7b62ac1b] .ant-col {
    flex: 0 0 100% !important;
    max-width: 100% !important;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.database-design-stats[data-v-7b62ac1b] {
    padding: 12px;
}
}
@media (max-width: 575px) {
.stats-section[data-v-7b62ac1b] .ant-col {
    flex: 0 0 50% !important;
    max-width: 50% !important;
}
.stat-card .stat-content .stat-icon[data-v-7b62ac1b] {
    width: 36px;
    height: 36px;
    font-size: 16px;
    border-radius: 10px;
}
.stat-card .stat-content .stat-info .stat-value[data-v-7b62ac1b] {
    font-size: 18px;
}
.stat-card .stat-content .stat-info .stat-label[data-v-7b62ac1b] {
    font-size: 11px;
}
.stat-card .stat-content .stat-info .stat-change[data-v-7b62ac1b] {
    font-size: 13px;
}
.stat-card .stat-content[data-v-7b62ac1b] {
    gap: 10px;
}
.stats-section[data-v-7b62ac1b] .ant-card-body {
    padding: 12px 16px;
}
.stat-card[data-v-7b62ac1b] {
    border-radius: 12px;
}
}
/* 滚动条样式 */
[data-v-7b62ac1b]::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
[data-v-7b62ac1b]::-webkit-scrollbar-track {
  background: var(--color-bg-elevated);
  border-radius: 3px;
}
[data-v-7b62ac1b]::-webkit-scrollbar-thumb {
  background: var(--color-border);
  border-radius: 3px;
}
[data-v-7b62ac1b]::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-secondary);
}
/* 性能优化：禁用动画和过渡效果 */
.no-animation[data-v-7b62ac1b],
.no-animation[data-v-7b62ac1b] * {
  animation: none !important;
  transition: none !important;
  transform: none !important;
  box-shadow: none !important;
}
/* 优化背景动画性能 */
.no-animation .database-design-stats[data-v-7b62ac1b]::before {
  animation: none !important;
  display: none;
}
/* 优化shimmer效果 */
.no-animation .stat-icon[data-v-7b62ac1b]::after {
  animation: none !important;
  display: none;
}
/* 优化hover效果，减少重绘 */
.no-animation[data-v-7b62ac1b] .ant-card:hover {
  transform: none !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
}
.no-animation .stat-card[data-v-7b62ac1b]:hover {
  transform: none !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
}
.no-animation .dashboard-header[data-v-7b62ac1b]:hover {
  transform: none !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08) !important;
}
.no-animation .dashboard-header[data-v-7b62ac1b]::before {
  animation: none !important;
  display: none;
}
.no-animation .stat-card[data-v-7b62ac1b]::before {
  animation: none !important;
  display: none;
}
.no-animation .stat-card[data-v-7b62ac1b]:hover::before {
  left: -100%;
}
.no-animation .stat-card:hover .stat-icon[data-v-7b62ac1b] {
  transform: none !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15) !important;
}
.page-detail[data-v-584c2698] {
  background: var(--color-bg-layout);
  min-height: 100%;
  padding-bottom: 80px;
}
.highlights-panel[data-v-584c2698] {
  background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-active, #0958d9) 100%);
  border-radius: var(--radius-xl);
  padding: 24px 32px;
  color: white;
  margin-bottom: var(--spacing-3);
  position: relative;
  overflow: hidden;
}
/* 几何图形装饰 */
.highlights-bg-decoration[data-v-584c2698] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-584c2698] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-584c2698] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-584c2698] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-584c2698] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-584c2698] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-584c2698] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-584c2698] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-584c2698] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-584c2698] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-584c2698] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
@media (max-width: 768px) {
.highlights-panel[data-v-584c2698] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-584c2698] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-584c2698] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-584c2698] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-584c2698] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-584c2698] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-584c2698] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-584c2698] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-584c2698] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-584c2698] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-584c2698] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-584c2698] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-584c2698] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
.highlights-content[data-v-584c2698] {
  display: flex;
  justify-content: space-between;
}
.highlights-left h2[data-v-584c2698] {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: white;
}
.highlights-meta[data-v-584c2698] {
  display: flex;
  gap: 16px;
  margin-top: 8px;
  opacity: 0.85;
  font-size: 14px;
}
.highlights-right[data-v-584c2698] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-back-btn[data-v-584c2698] {
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: white;
}
.highlights-back-btn[data-v-584c2698]:hover {
  background: rgba(255, 255, 255, 0.25);
  color: white;
  border-color: rgba(255, 255, 255, 0.5);
}
.highlights-tag[data-v-584c2698] {
  background: rgba(255, 255, 255, 0.2) !important;
  color: white !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
}
.detail-layout[data-v-584c2698] {
  display: flex;
  gap: var(--spacing-4);
}
.detail-sidebar[data-v-584c2698] {
  width: 200px;
  flex-shrink: 0;
}
.sidebar-nav[data-v-584c2698] {
  background: var(--color-neutral-0);
  border-radius: var(--radius-xl);
  border: 1px solid var(--color-border-light);
  padding: var(--spacing-2) 0;
}
.nav-item[data-v-584c2698] {
  padding: 10px 20px;
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--color-text-secondary);
  font-size: 14px;
  border-left: 3px solid transparent;
}
.nav-item[data-v-584c2698]:hover {
  background: var(--color-bg-container-hover, var(--color-fill-quaternary, #f5f7fa));
  color: var(--color-text-primary);
}
.nav-item.active[data-v-584c2698] {
  background: rgba(22, 119, 255, 0.06);
  color: var(--color-primary);
  border-left-color: var(--color-primary);
  font-weight: 500;
}
.detail-main[data-v-584c2698] {
  flex: 1;
  min-width: 0;
  overflow: auto;
}
.section-card[data-v-584c2698] {
  background: var(--color-neutral-0);
  border-radius: var(--radius-xl);
  border: 1px solid var(--color-border-light);
  padding: var(--spacing-4);
  margin-bottom: var(--spacing-3);
  transition: box-shadow 0.3s;
}
@media (max-width: 768px) {
.section-card[data-v-584c2698] {
    padding: 12px;
    padding-bottom: 60px;
}
.section-card .highlights-panel .highlights-bg-decoration[data-v-584c2698] {
    display: none;
}
}
.section-card[data-v-584c2698]:hover {
  box-shadow: var(--shadow-md);
}
.section-title[data-v-584c2698] {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-text-primary);
  margin-bottom: var(--spacing-3);
  display: flex;
  align-items: center;
  gap: 8px;
}
.action-button[data-v-584c2698] {
  margin-top: var(--spacing-3);
  margin-bottom: var(--spacing-8);
}
.schema-editor[data-v-584c2698] {
  font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Roboto Mono', 'Menlo', monospace;
  font-size: 14px;
  line-height: 1.6;
  color: #81cfe0;
  background-color: var(--color-bg-elevated, #1e1e1e);
  border: 1px solid var(--color-border);
  border-radius: 8px;
  min-height: 400px;
  overflow: auto;
  box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease;
  max-width: 100%;
}
.schema-editor[data-v-584c2698]:hover {
  box-shadow: inset 0 4px 16px rgba(0, 0, 0, 0.2);
}
.schema-editor[data-v-584c2698] .ant-input {
  background-color: transparent;
  border: none;
  color: var(--color-text-on-dark);
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  resize: vertical;
}
.schema-editor[data-v-584c2698] .ant-input:focus {
  box-shadow: none;
}
.undefined-text[data-v-584c2698] {
  color: var(--color-text-tertiary);
}
.form-actions[data-v-584c2698] {
  display: flex;
  justify-content: flex-end;
  gap: var(--spacing-3);
  margin-top: var(--spacing-4);
  padding-top: var(--spacing-4);
  border-top: 1px solid var(--color-border-light);
}
.code-editor[data-v-584c2698] {
  font-family: 'SF Mono', 'Monaco', 'Inconsolata', monospace;
  font-size: 14px;
  background-color: var(--color-bg-elevated, #1e1e1e);
  color: var(--color-text-on-dark);
  border: 1px solid var(--color-border);
  border-radius: 8px;
  max-width: 100%;
}
.code-editor[data-v-584c2698] .ant-input {
  background-color: transparent;
  border: none;
  color: var(--color-text-on-dark);
}
@media (max-width: 991px) {
.detail-layout[data-v-584c2698] {
    flex-direction: column;
}
.detail-sidebar[data-v-584c2698] {
    width: 100%;
}
.sidebar-nav[data-v-584c2698] {
    display: flex;
    overflow-x: auto;
    padding: 0;
}
.nav-item[data-v-584c2698] {
    border-left: none;
    border-bottom: 3px solid transparent;
    white-space: nowrap;
}
.nav-item.active[data-v-584c2698] {
    border-left-color: transparent;
    border-bottom-color: var(--color-primary);
}
}
@media (max-width: 575px) {
.highlights-panel[data-v-584c2698] {
    padding: 16px;
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-584c2698] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-584c2698] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-584c2698] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-584c2698] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-584c2698] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-584c2698] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-584c2698] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-584c2698] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-584c2698] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-584c2698] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-584c2698] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-content[data-v-584c2698] {
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 8px;
}
.highlights-left[data-v-584c2698] {
    flex: 1;
    min-width: 0;
}
.highlights-left h2[data-v-584c2698] {
    font-size: 18px;
}
.highlights-meta[data-v-584c2698] {
    flex-wrap: wrap;
    gap: 8px;
}
.highlights-right[data-v-584c2698] {
    flex-shrink: 0;
}
.highlights-back-btn[data-v-584c2698] {
    padding: 4px 8px;
    font-size: 13px;
}
.info-descriptions[data-v-584c2698] .ant-descriptions-item-label,
  .info-descriptions[data-v-584c2698] .ant-descriptions-item-content {
    display: block;
    width: 100%;
}
.section-title[data-v-584c2698] {
    font-size: 15px;
}
.form-actions[data-v-584c2698] {
    flex-direction: column;
}
.form-actions .ant-btn[data-v-584c2698] {
    width: 100%;
}
.schema-editor[data-v-584c2698] {
    min-height: 250px;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.highlights-panel[data-v-584c2698] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-584c2698] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-584c2698] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-584c2698] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-584c2698] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-584c2698] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-584c2698] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-584c2698] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-584c2698] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-584c2698] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-584c2698] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-584c2698] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-584c2698] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
/* Fixed Bottom Actions */
.fixed-actions[data-v-584c2698] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 12px;
  background: #fff;
  border-top: 1px solid var(--color-border-secondary);
  display: flex;
  justify-content: flex-end;
  z-index: 100;
}
.database-design-create[data-v-0e1ecc06] {
  padding: 16px;
  background-color: var(--color-bg-layout);
}
@media (max-width: 768px) {
.database-design-create[data-v-0e1ecc06] {
    padding: 12px;
}
}
/* 主卡片样式 */
.main-card[data-v-0e1ecc06] {
  background-color: var(--color-bg-container);
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  border: 1px solid var(--color-border);
  padding: 20px;
  padding-bottom: 80px;
}
/* 表单操作按钮区域 */
.form-actions[data-v-0e1ecc06] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff;
  padding: 12px 24px;
  padding-bottom: calc(12px + env(safe-area-inset-bottom));
  border-top: 1px solid #f0f0f0;
  z-index: 100;
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06);
  max-width: 1400px;
  margin: 0 auto;
}
/* 代码编辑器样式 */
.code-editor[data-v-0e1ecc06] {
  font-family: monospace;
  font-size: 14px;
  line-height: 1.5;
  background-color: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: 8px;
  padding: 12px;
  min-height: 400px;
  overflow: auto;
}
/* 响应式设计 */
@media (max-width: 768px) {
.database-design-create[data-v-0e1ecc06] {
    padding: 8px;
}
.main-card[data-v-0e1ecc06] {
    padding: 12px;
}
.form-actions .ant-btn[data-v-0e1ecc06] {
    flex: 1;
}
.ant-col[data-v-0e1ecc06] {
    flex: 0 0 100% !important;
    max-width: 100% !important;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.database-design-create[data-v-0e1ecc06] {
    padding: 12px;
}
}
@media (max-width: 575px) {
.database-design-create[data-v-0e1ecc06] {
    padding: 4px;
}
.main-card[data-v-0e1ecc06] {
    padding: 8px;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.database-design-create[data-v-0e1ecc06] {
    padding: 12px;
}
}
.database-design-edit[data-v-fab4500d] {
  padding: var(--spacing-4);
  background: var(--color-bg-layout);
  min-height: 100%;
}
.highlights-panel[data-v-fab4500d] {
  background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-active, #0958d9) 100%);
  border-radius: var(--radius-xl);
  padding: 24px 32px;
  color: white;
  margin-bottom: var(--spacing-4);
  position: relative;
  overflow: hidden;
}
/* 几何图形装饰 */
.highlights-bg-decoration[data-v-fab4500d] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-fab4500d] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-fab4500d] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-fab4500d] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-fab4500d] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-fab4500d] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-fab4500d] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-fab4500d] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-fab4500d] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-fab4500d] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-fab4500d] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
@media (max-width: 768px) {
.highlights-panel[data-v-fab4500d] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-fab4500d] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-fab4500d] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-fab4500d] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-fab4500d] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-fab4500d] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-fab4500d] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-fab4500d] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-fab4500d] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-fab4500d] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-fab4500d] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-fab4500d] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-fab4500d] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
.highlights-content[data-v-fab4500d] {
  display: flex;
  justify-content: space-between;
}
.highlights-left h2[data-v-fab4500d] {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: white;
}
.highlights-meta[data-v-fab4500d] {
  display: flex;
  gap: 16px;
  margin-top: 8px;
  opacity: 0.85;
  font-size: 14px;
}
.highlights-right[data-v-fab4500d] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-back-btn[data-v-fab4500d] {
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: white;
}
.highlights-back-btn[data-v-fab4500d]:hover {
  background: rgba(255, 255, 255, 0.25);
  color: white;
  border-color: rgba(255, 255, 255, 0.5);
}
.section-card[data-v-fab4500d] {
  background: var(--color-neutral-0);
  border-radius: var(--radius-xl);
  border: 1px solid var(--color-border-light);
  padding: var(--spacing-4);
  padding-bottom: 80px;
  transition: box-shadow 0.3s;
}
.section-card[data-v-fab4500d]:hover {
  box-shadow: var(--shadow-md);
}
.form-actions[data-v-fab4500d] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff;
  padding: 12px 24px;
  padding-bottom: calc(12px + env(safe-area-inset-bottom));
  border-top: 1px solid var(--color-border-light);
  z-index: 100;
  display: flex;
  justify-content: flex-end;
  gap: var(--spacing-3);
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06);
  max-width: 1400px;
  margin: 0 auto;
}
.code-editor[data-v-fab4500d] {
  font-family: 'SF Mono', 'Monaco', 'Inconsolata', monospace;
  font-size: 14px;
  background-color: var(--color-bg-elevated, #1e1e1e);
  color: var(--color-text-on-dark);
  border: 1px solid var(--color-border);
  border-radius: 8px;
  max-width: 100%;
}
.code-editor[data-v-fab4500d] .ant-input {
  background-color: transparent;
  border: none;
  color: var(--color-text-on-dark);
}
@media (max-width: 575px) {
.highlights-panel[data-v-fab4500d] {
    padding: 16px;
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-fab4500d] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-fab4500d] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-fab4500d] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-fab4500d] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-fab4500d] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-fab4500d] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-fab4500d] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-fab4500d] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-fab4500d] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-fab4500d] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-fab4500d] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-content[data-v-fab4500d] {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}
.section-card[data-v-fab4500d] {
    padding: 16px;
    padding-bottom: 60px;
}
.form-actions[data-v-fab4500d] {
    flex-direction: column;
}
.form-actions .ant-btn[data-v-fab4500d] {
    width: 100%;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.highlights-panel[data-v-fab4500d] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-fab4500d] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-fab4500d] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-fab4500d] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-fab4500d] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-fab4500d] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-fab4500d] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-fab4500d] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-fab4500d] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-fab4500d] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-fab4500d] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-fab4500d] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-fab4500d] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
.bpmn-node-palette[data-v-53d4a2bd] {
  width: var(--designer-panel-width-left, 260px);
  height: 100%;
  background: var(--designer-panel-bg, #ffffff);
  border-right: 1px solid var(--designer-panel-border, #e5e7eb);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  user-select: none;
}
.palette-header[data-v-53d4a2bd] {
  padding: 12px 12px 8px;
  border-bottom: 1px solid var(--designer-panel-border, #e5e7eb);
}
.palette-title[data-v-53d4a2bd] {
  font-weight: 600;
  font-size: 14px;
  color: var(--color-text-primary, #111827);
}
.palette-search[data-v-53d4a2bd] {
  padding: 8px 12px;
  border-bottom: 1px solid var(--designer-panel-border, #e5e7eb);
}
.palette-groups[data-v-53d4a2bd] {
  flex: 1;
  overflow-y: auto;
  padding: 4px 0;
}
.palette-group[data-v-53d4a2bd] {
  margin-bottom: 2px;
}
.group-header[data-v-53d4a2bd] {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  cursor: pointer;
  font-size: 12px;
  font-weight: 600;
  color: var(--color-text-secondary, #4b5563);
  transition: background 0.2s;
}
.group-header[data-v-53d4a2bd]:hover {
  background: var(--color-bg-layout, #fafbfc);
}
.group-arrow[data-v-53d4a2bd] {
  font-size: 10px;
  transition: transform 0.2s;
  color: var(--color-text-tertiary, #9ca3af);
}
.group-arrow-expanded[data-v-53d4a2bd] {
  transform: rotate(90deg);
}
.group-label[data-v-53d4a2bd] {
  flex: 1;
}
.group-count[data-v-53d4a2bd] {
  font-size: 11px;
  color: var(--color-text-tertiary, #9ca3af);
  font-weight: 400;
}
.group-items[data-v-53d4a2bd] {
  padding: 2px 8px 8px;
}
.palette-item[data-v-53d4a2bd] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  margin-bottom: 2px;
  border-radius: 4px;
  cursor: grab;
  transition: all 0.2s;
  font-size: 12px;
  color: var(--color-text-secondary, #4b5563);
}
.palette-item[data-v-53d4a2bd]:hover {
  background: var(--color-primary-50, #eff6ff);
  color: var(--color-primary-500, #3b82f6);
  transform: translateX(2px);
}
.palette-item[data-v-53d4a2bd]:active {
  cursor: grabbing;
}
.palette-item-icon[data-v-53d4a2bd] {
  flex-shrink: 0;
}
.palette-item-label[data-v-53d4a2bd] {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.bpmn-property-panel[data-v-4065f2e6] {
  width: 300px;
  height: 100%;
  background: #fff;
  border-left: 1px solid #e8e8e8;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.panel-header[data-v-4065f2e6] {
  padding: 12px 16px;
  border-bottom: 1px solid #f0f0f0;
}
.panel-title[data-v-4065f2e6] {
  font-weight: 600;
  font-size: 14px;
  color: #333;
}
.panel-empty[data-v-4065f2e6] {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.panel-content[data-v-4065f2e6] {
  flex: 1;
  overflow-y: auto;
  padding: 8px 12px;
}
.conditions-list[data-v-4065f2e6] {
  margin-bottom: 8px;
}
.condition-item[data-v-4065f2e6] {
  padding: 8px;
  margin-bottom: 8px;
  background: #fafafa;
  border: 1px solid #f0f0f0;
  border-radius: 4px;
}
.condition-header[data-v-4065f2e6] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}
.condition-index[data-v-4065f2e6] {
  font-size: 12px;
  font-weight: 600;
  color: #666;
}
/* 高级配置折叠面板样式 */
.advanced-collapse[data-v-4065f2e6] {
  background: transparent;
}
.advanced-collapse[data-v-4065f2e6] .ant-collapse-item {
  border-bottom: 1px solid #f0f0f0;
  margin-bottom: 4px;
}
.advanced-collapse[data-v-4065f2e6] .ant-collapse-header {
  padding: 10px 0 !important;
  font-size: 13px;
  font-weight: 500;
  color: #333;
}
.advanced-collapse[data-v-4065f2e6] .ant-collapse-content {
  background: transparent;
}
.advanced-collapse[data-v-4065f2e6] .ant-collapse-content-box {
  padding: 8px 0 12px 0;
}
.advanced-collapse[data-v-4065f2e6] .ant-collapse-expand-icon {
  color: #999;
}
.advanced-collapse[data-v-4065f2e6] .ant-form-item {
  margin-bottom: 12px;
}
.advanced-collapse[data-v-4065f2e6] .ant-form-item:last-child {
  margin-bottom: 0;
}
.bpmn-variable-panel[data-v-8c717693] {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.panel-header[data-v-8c717693] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  border-bottom: 1px solid #f0f0f0;
}
.panel-title[data-v-8c717693] {
  font-weight: 600;
  font-size: 14px;
  color: #333;
}
.variable-list[data-v-8c717693] {
  flex: 1;
  overflow-y: auto;
  padding: 8px;
}
.variable-item[data-v-8c717693] {
  margin-bottom: 8px;
  background: #fafafa;
  border: 1px solid #f0f0f0;
  border-radius: 6px;
  overflow: hidden;
  transition: all 0.2s;
}
.variable-item[data-v-8c717693]:hover {
  border-color: #d9d9d9;
}
.variable-item.is-editing[data-v-8c717693] {
  border-color: #1890ff;
}
.variable-header[data-v-8c717693] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 12px;
  cursor: pointer;
}
.variable-header[data-v-8c717693]:hover {
  background: #f0f0f0;
}
.variable-info[data-v-8c717693] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  min-width: 0;
}
.variable-name[data-v-8c717693] {
  font-weight: 500;
  color: #333;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.variable-actions[data-v-8c717693] {
  display: flex;
  gap: 4px;
  opacity: 0;
  transition: opacity 0.2s;
}
.variable-header:hover .variable-actions[data-v-8c717693] {
  opacity: 1;
}
.variable-details[data-v-8c717693] {
  padding: 8px 12px 12px;
  border-top: 1px solid #f0f0f0;
  background: #fff;
}
.detail-row[data-v-8c717693] {
  display: flex;
  margin-bottom: 6px;
  font-size: 12px;
}
.detail-row[data-v-8c717693]:last-child {
  margin-bottom: 0;
}
.detail-label[data-v-8c717693] {
  color: #999;
  min-width: 80px;
}
.detail-value[data-v-8c717693] {
  color: #666;
  word-break: break-all;
}
.panel-empty[data-v-8c717693] {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
/* ====================================================================
   BPMN 流程设计器 — 现代化样式优化
   - 工具栏：紧凑分组、图标按钮、更柔和 hover
   - 画布：点状网格背景、空状态插画、节点选中态蓝光环
   - 右侧面板：Tab 头部精致化、内容区呼吸感
   ==================================================================== */
.bpmn-designer-page[data-v-d1731255] {
  height: 100%;
  display: flex;
  flex-direction: column;
  background: var(--color-bg-layout, #f5f7fa);
}
/* ==================== 顶部工具栏 ==================== */
.designer-toolbar[data-v-d1731255] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 52px;
  padding: 0 16px;
  background: var(--designer-toolbar-bg, #ffffff);
  border-bottom: 1px solid var(--designer-panel-border, #e5e7eb);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.06);
  z-index: 10;
  gap: 12px;
}
.toolbar-left[data-v-d1731255] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  min-width: 0;
}
.toolbar-left[data-v-d1731255] .ant-btn-link {
  padding: 0 8px;
  color: var(--color-text-secondary, #4b5563);
}
.toolbar-left[data-v-d1731255] .ant-input {
  border-radius: 6px;
}
.toolbar-center[data-v-d1731255] {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
  padding: 4px 10px;
  background: var(--color-bg-secondary, #f3f4f6);
  border-radius: 8px;
}
.toolbar-center[data-v-d1731255] .ant-btn {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}
.toolbar-center[data-v-d1731255] .ant-btn:hover {
  background: rgba(59, 130, 246, 0.08);
  color: var(--color-primary-500, #3b82f6);
}
.toolbar-right[data-v-d1731255] {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.zoom-label[data-v-d1731255] {
  font-size: 12px;
  font-variant-numeric: tabular-nums;
  color: var(--color-text-secondary, #4b5563);
  min-width: 42px;
  text-align: center;
  font-weight: 500;
}
/* ==================== 主体区域 ==================== */
.designer-body[data-v-d1731255] {
  flex: 1;
  display: flex;
  overflow: hidden;
}
/* ==================== 画布 ==================== */
.designer-canvas[data-v-d1731255] {
  flex: 1;
  position: relative;
  overflow: hidden;
  background: var(--designer-canvas-bg, #fafbfc);
  background-image: radial-gradient(circle, rgba(15, 23, 42, 0.06) 1px, transparent 1px);
  background-size: 22px 22px;
  cursor: grab;
}
.designer-canvas[data-v-d1731255]:active {
  cursor: grabbing;
}
.canvas-viewport[data-v-d1731255] {
  position: absolute;
  top: 0;
  left: 0;
  width: 3000px;
  height: 2000px;
}
.canvas-svg[data-v-d1731255] {
  width: 100%;
  height: 100%;
  pointer-events: all;
}
.canvas-svg[data-v-d1731255] * {
  pointer-events: auto;
}
/* 空状态 */
.canvas-hint[data-v-d1731255] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: var(--color-text-quaternary, #9ca3af);
  pointer-events: none;
  z-index: 1;
  padding: 28px 36px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.65);
  backdrop-filter: blur(4px);
  border: 1px dashed rgba(59, 130, 246, 0.25);
}
.hint-icon[data-v-d1731255] {
  font-size: 56px;
  margin-bottom: 12px;
  display: block;
  color: var(--color-primary-400, #60a5fa);
  filter: drop-shadow(0 4px 12px rgba(59, 130, 246, 0.25));
}
.canvas-hint p[data-v-d1731255] {
  font-size: 14px;
  margin: 0;
  color: var(--color-text-tertiary, #6b7280);
  font-weight: 500;
}
/* ==================== SVG 节点 ==================== */
.node-group[data-v-d1731255] {
  cursor: move;
  transition: transform 0.15s ease;
}
.node-shape[data-v-d1731255] {
  transition: filter 0.2s ease;
}
.node-group:hover .node-shape[data-v-d1731255] {
  filter: drop-shadow(0 4px 10px rgba(15, 23, 42, 0.12));
}
.node-selected .node-shape[data-v-d1731255] {
  stroke-width: 3;
  filter: drop-shadow(0 0 0 2px rgba(59, 130, 246, 0.35)) drop-shadow(0 6px 14px rgba(59, 130, 246, 0.25));
}
.node-name-text[data-v-d1731255] {
  pointer-events: none;
  user-select: none;
  font-weight: 500;
}
/* 锚点 */
.anchor-point[data-v-d1731255] {
  cursor: crosshair;
  transition: all 0.15s ease;
}
.anchor-point[data-v-d1731255]:hover {
  fill: var(--color-primary-500, #3b82f6);
  r: 8;
}
/* ==================== 连线 ==================== */
.edge-path[data-v-d1731255] {
  cursor: pointer;
  transition: stroke 0.2s ease, stroke-width 0.2s ease;
}
.canvas-svg .edge-path[data-v-d1731255]:hover {
  stroke: var(--color-primary-500, #3b82f6);
  stroke-width: 2.5px;
}
@keyframes designer-edge-flow-d1731255 {
to {
    stroke-dashoffset: -12;
}
}
.edge-path-selected[data-v-d1731255] {
  stroke-dasharray: 8, 4;
  animation: designer-edge-flow-d1731255 0.8s linear infinite;
}
.edge-label[data-v-d1731255] {
  pointer-events: none;
  user-select: none;
  font-weight: 500;
}
/* 框选 */
.selection-rect[data-v-d1731255] {
  pointer-events: none;
}
/* ==================== 右侧面板 ==================== */
.right-panel[data-v-d1731255] {
  width: 340px;
  height: 100%;
  background: var(--designer-panel-bg, #ffffff);
  border-left: 1px solid var(--designer-panel-border, #e5e7eb);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: -1px 0 0 rgba(15, 23, 42, 0.03);
}
.right-panel-tabs[data-v-d1731255] {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.right-panel-tabs[data-v-d1731255] .ant-tabs-nav {
  margin-bottom: 0;
  padding: 0 12px;
  background: var(--color-bg-secondary, #f9fafb);
  border-bottom: 1px solid var(--designer-panel-border, #e5e7eb);
}
.right-panel-tabs[data-v-d1731255] .ant-tabs-tab {
  padding: 10px 16px;
  font-size: 13px;
  font-weight: 500;
}
.right-panel-tabs[data-v-d1731255] .ant-tabs-content {
  flex: 1;
  overflow: hidden;
}
.right-panel-tabs[data-v-d1731255] .ant-tabs-tabpane {
  height: 100%;
  overflow: hidden;
}
.right-panel-tabs[data-v-d1731255] .ant-tabs-tabpane-active {
  overflow-y: auto;
  padding: 12px 14px;
}
/* ==================== 滚动条美化 ==================== */
.right-panel-tabs[data-v-d1731255] .ant-tabs-tabpane-active::-webkit-scrollbar,
.designer-canvas[data-v-d1731255]::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.right-panel-tabs[data-v-d1731255] .ant-tabs-tabpane-active::-webkit-scrollbar-thumb,
.designer-canvas[data-v-d1731255]::-webkit-scrollbar-thumb {
  background: rgba(59, 130, 246, 0.35);
  border-radius: 3px;
}
.right-panel-tabs[data-v-d1731255] .ant-tabs-tabpane-active::-webkit-scrollbar-thumb:hover,
.designer-canvas[data-v-d1731255]::-webkit-scrollbar-thumb:hover {
  background: rgba(59, 130, 246, 0.55);
}
/* ==================== 响应式 ==================== */
@media (max-width: 768px) {
.designer-toolbar[data-v-d1731255] {
    padding: 0 8px;
    gap: 6px;
    overflow-x: auto;
}
.toolbar-left[data-v-d1731255] .ant-input,
  .toolbar-left[data-v-d1731255] .ant-select {
    width: 120px !important;
}
.right-panel[data-v-d1731255] {
    width: 280px;
}
}
.task-detail-page[data-v-d6b5ae53] {
  padding: 16px;
  max-width: 100%;
  overflow-x: hidden;
}
@media (max-width: 768px) {
.task-detail-page[data-v-d6b5ae53] {
    padding: 12px;
}
}
.detail-header[data-v-d6b5ae53] {
  display: flex;
  align-items: center;
  margin-bottom: 16px;
  flex-wrap: wrap;
}
.detail-header h3[data-v-d6b5ae53] {
  margin: 0;
}
.history-item[data-v-d6b5ae53] {
  padding-bottom: 4px;
}
.history-header[data-v-d6b5ae53] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}
.history-node[data-v-d6b5ae53] {
  font-weight: 500;
}
.history-user[data-v-d6b5ae53] {
  font-size: 13px;
  color: rgba(0, 0, 0, 0.65);
}
.history-time[data-v-d6b5ae53] {
  margin-left: 8px;
  color: rgba(0, 0, 0, 0.45);
  font-size: 12px;
}
.history-comment[data-v-d6b5ae53] {
  margin-top: 4px;
  padding: 8px 12px;
  background: #f5f5f5;
  border-radius: 4px;
  font-size: 13px;
  color: rgba(0, 0, 0, 0.65);
}
/* 动态表单只读模式样式 */
.grid-col-title[data-v-d6b5ae53] {
  font-weight: 500;
  margin-bottom: 8px;
  color: rgba(0, 0, 0, 0.85);
}
.form-paragraph[data-v-d6b5ae53] {
  margin-bottom: 16px;
  padding: 0 0 0 0;
}
.readonly-file-list[data-v-d6b5ae53] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.readonly-file-item[data-v-d6b5ae53] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: rgba(0, 0, 0, 0.65);
}
.readonly-file-item .file-name[data-v-d6b5ae53] {
  color: #1890ff;
}
.readonly-file-item .file-size[data-v-d6b5ae53] {
  color: rgba(0, 0, 0, 0.45);
  font-size: 12px;
}
.readonly-empty-text[data-v-d6b5ae53] {
  color: rgba(0, 0, 0, 0.25);
  font-size: 13px;
}
.readonly-rich-text[data-v-d6b5ae53] {
  padding: 8px 12px;
  background: #fafafa;
  border: 1px solid #f0f0f0;
  border-radius: 4px;
  min-height: 60px;
  font-size: 13px;
  line-height: 1.6;
  word-break: break-all;
}
.readonly-rich-text[data-v-d6b5ae53] img {
  max-width: 100%;
}
.readonly-color-picker[data-v-d6b5ae53] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.readonly-color-picker .color-block[data-v-d6b5ae53] {
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 1px solid #d9d9d9;
  border-radius: 2px;
  vertical-align: middle;
}
.readonly-signature[data-v-d6b5ae53] {
  max-width: 300px;
  max-height: 150px;
  border: 1px solid #f0f0f0;
  border-radius: 4px;
  background: #fafafa;
}
@media (max-width: 768px) {
.task-detail-page[data-v-d6b5ae53] {
    padding: 8px;
}
.detail-header[data-v-d6b5ae53] {
    gap: 8px;
}
.detail-header h3[data-v-d6b5ae53] {
    font-size: 16px;
}
  /* 卡片间距适配 */
.task-detail-page[data-v-d6b5ae53] .ant-card {
    margin-bottom: 12px !important;
}
.task-detail-page[data-v-d6b5ae53] .ant-card-head-title {
    font-size: 15px;
}
.task-detail-page[data-v-d6b5ae53] .ant-card-body {
    padding: 12px;
}
  /* descriptions 移动端优化 */
.task-detail-page[data-v-d6b5ae53] .ant-descriptions-bordered .ant-descriptions-item-label {
    font-size: 13px;
    padding: 8px !important;
    min-width: 80px;
}
.task-detail-page[data-v-d6b5ae53] .ant-descriptions-bordered .ant-descriptions-item-content {
    font-size: 13px;
    padding: 8px !important;
    word-break: break-all;
}
.task-detail-page[data-v-d6b5ae53] .ant-descriptions-item {
    padding: 0 !important;
}
  /* 审批操作按钮在移动端全宽 */
.task-detail-page[data-v-d6b5ae53] .ant-space-vertical {
    width: 100%;
}
  /* 时间线适配 */
.task-detail-page[data-v-d6b5ae53] .ant-timeline-item-content {
    font-size: 13px;
}
  /* 步骤条适配 */
.task-detail-page[data-v-d6b5ae53] .ant-steps-item-title {
    font-size: 13px;
}
.task-detail-page[data-v-d6b5ae53] .ant-steps-item-description {
    font-size: 12px;
}
  /* modal 移动端适配 */
.task-detail-page[data-v-d6b5ae53] .ant-modal {
    max-width: 100vw;
    margin: 0 16px;
}
.task-detail-page[data-v-d6b5ae53] .ant-modal-content {
    padding: 16px;
}
.task-detail-page[data-v-d6b5ae53] .ant-modal-body {
    padding: 16px 0;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.task-detail-page[data-v-d6b5ae53] {
    padding: 12px;
}
}
@media (max-width: 575px) {
.task-detail-page[data-v-d6b5ae53] {
    padding: 4px;
}
.task-detail-page[data-v-d6b5ae53] .ant-card-body {
    padding: 10px;
}
.detail-header h3[data-v-d6b5ae53] {
    font-size: 15px;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.task-detail-page[data-v-d6b5ae53] {
    padding: 12px;
}
}
.flow-edit-page[data-v-9cb397a3] {
  padding: var(--spacing-4);
  min-height: 100%;
  background: var(--color-bg-layout);
}
.highlights-panel[data-v-9cb397a3] {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  border-radius: var(--radius-xl);
  padding: 24px 32px;
  color: #fff;
  margin-bottom: var(--spacing-4);
  position: relative;
  overflow: hidden;
}
/* 几何图形装饰 */
.highlights-bg-decoration[data-v-9cb397a3] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-9cb397a3] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-9cb397a3] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-9cb397a3] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-9cb397a3] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-9cb397a3] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-9cb397a3] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-9cb397a3] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-9cb397a3] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-9cb397a3] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-9cb397a3] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
@media (max-width: 768px) {
.highlights-panel[data-v-9cb397a3] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-9cb397a3] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-9cb397a3] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-9cb397a3] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-9cb397a3] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-9cb397a3] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-9cb397a3] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-9cb397a3] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-9cb397a3] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-9cb397a3] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-9cb397a3] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-9cb397a3] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-9cb397a3] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
.highlights-content[data-v-9cb397a3] {
  display: flex;
  justify-content: space-between;
}
.highlights-left h2[data-v-9cb397a3] {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: white;
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-meta[data-v-9cb397a3] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  font-size: 13px;
  opacity: 0.85;
}
.highlights-tag[data-v-9cb397a3] {
  background: rgba(255, 255, 255, 0.2) !important;
  border: none !important;
  color: #fff !important;
  font-size: 12px;
  padding: 2px 10px;
}
.highlights-right[data-v-9cb397a3] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-action-btn[data-v-9cb397a3] {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
}
.highlights-action-btn[data-v-9cb397a3]:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.5);
}
.form-content[data-v-9cb397a3] {
  max-width: 1200px;
  padding-bottom: 60px;
}
.fixed-actions[data-v-9cb397a3] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 12px;
  background: #fff;
  border-top: 1px solid var(--color-border-secondary);
  display: flex;
  justify-content: flex-end;
  z-index: 100;
}
.info-section[data-v-9cb397a3] {
  margin-bottom: 24px;
  border: 1px solid var(--color-border-secondary);
  border-radius: 10px;
  overflow: hidden;
}
.section-header[data-v-9cb397a3] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 20px;
  background: var(--color-fill-quaternary);
  border-bottom: 1px solid var(--color-border-secondary);
  font-weight: 600;
  color: var(--color-text-primary);
}
.section-body[data-v-9cb397a3] {
  padding: 16px 20px;
}
@media (max-width: 768px) {
.section-body[data-v-9cb397a3] {
    padding: 12px;
}
.section-body .highlights-panel .highlights-bg-decoration[data-v-9cb397a3] {
    display: none;
}
}
.designer-placeholder[data-v-9cb397a3] {
  text-align: center;
  padding: 40px 20px;
  background: var(--color-fill-quaternary);
  border-radius: 8px;
}
.designer-placeholder p[data-v-9cb397a3] {
  color: var(--color-text-tertiary);
  margin-bottom: 16px;
}
@media (max-width: 768px) {
.flow-edit-page[data-v-9cb397a3] {
    padding: 12px;
}
.flow-edit-page .highlights-panel .highlights-bg-decoration[data-v-9cb397a3] {
    display: none;
}
.highlights-panel[data-v-9cb397a3] {
    padding: 16px;
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-9cb397a3] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-9cb397a3] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-9cb397a3] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-9cb397a3] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-9cb397a3] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-9cb397a3] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-9cb397a3] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-9cb397a3] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-9cb397a3] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-9cb397a3] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-9cb397a3] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-content[data-v-9cb397a3] {
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
}
.highlights-left h2[data-v-9cb397a3] {
    font-size: 18px;
}
.highlights-right[data-v-9cb397a3] {
    width: auto;
    flex-shrink: 0;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.highlights-panel[data-v-9cb397a3] {
    padding: 12px;
    position: relative;
    overflow: hidden;
    /* 几何图形装饰 */
}
.highlights-panel .highlights-panel .highlights-bg-decoration[data-v-9cb397a3] {
    display: none;
}
.highlights-panel .highlights-bg-decoration[data-v-9cb397a3] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-panel .highlights-circle[data-v-9cb397a3] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-panel .highlights-circle--1[data-v-9cb397a3] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-panel .highlights-circle--2[data-v-9cb397a3] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-panel .highlights-line[data-v-9cb397a3] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-panel .highlights-line--1[data-v-9cb397a3] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-panel .highlights-line--2[data-v-9cb397a3] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-panel .highlights-dot[data-v-9cb397a3] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-panel .highlights-dot--1[data-v-9cb397a3] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-panel .highlights-dot--2[data-v-9cb397a3] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-panel .highlights-dot--3[data-v-9cb397a3] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
}
.workflow-monitor-page[data-v-2b8b15ff] {
  padding: 16px;
}
@media (max-width: 768px) {
.workflow-monitor-page[data-v-2b8b15ff] {
    padding: 12px;
}
}
/* ==================== Hero区域 ==================== */
.hero-bg-decoration[data-v-2b8b15ff] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-2b8b15ff] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-2b8b15ff] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-2b8b15ff] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-2b8b15ff] {
  position: absolute;
  background: rgba(255, 255, 255, 0.06);
}
.hero-line--1[data-v-2b8b15ff] {
  width: 300px;
  height: 1px;
  top: 40%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-2b8b15ff] {
  width: 200px;
  height: 1px;
  bottom: 30%;
  right: 20%;
  transform: rotate(25deg);
}
.hero-dot[data-v-2b8b15ff] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.15);
}
.hero-dot--1[data-v-2b8b15ff] {
  top: 20%;
  right: 30%;
}
.hero-dot--2[data-v-2b8b15ff] {
  bottom: 25%;
  right: 15%;
}
.hero-content[data-v-2b8b15ff] {
  position: relative;
  z-index: 1;
}
.hero-left[data-v-2b8b15ff] {
  flex: 1;
}
.hero-header-row[data-v-2b8b15ff] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 20px;
}
.hero-refresh-area[data-v-2b8b15ff] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.hero-last-updated[data-v-2b8b15ff] {
  font-size: 12px;
  opacity: 0.8;
}
.hero-title[data-v-2b8b15ff] {
  font-size: 24px;
  font-weight: 600;
  margin: 0 0 8px 0;
  color: white;
}
.hero-desc[data-v-2b8b15ff] {
  font-size: 14px;
  opacity: 0.85;
  margin: 0;
}
.hero-stats[data-v-2b8b15ff] {
  display: flex;
  align-items: center;
  gap: 0;
}
.hero-stat[data-v-2b8b15ff] {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 20px;
  cursor: pointer;
}
.hero-stat-value[data-v-2b8b15ff] {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.2;
}
.hero-stat-label[data-v-2b8b15ff] {
  font-size: 12px;
  opacity: 0.75;
  margin-top: 4px;
}
.hero-stat-divider[data-v-2b8b15ff] {
  width: 1px;
  height: 36px;
  background: rgba(255, 255, 255, 0.2);
}
/* ==================== 时间范围选择器 ==================== */
.time-range-bar[data-v-2b8b15ff] {
  display: flex;
  align-items: center;
  margin-bottom: 12px;
  padding: 12px 16px;
  background: #fff;
  border-radius: var(--radius-lg);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}
.time-range-label[data-v-2b8b15ff] {
  font-size: 14px;
  font-weight: 500;
  color: var(--color-text-primary);
  margin-right: 12px;
  white-space: nowrap;
}
/* ==================== 图表卡片 ==================== */
.chart-card[data-v-2b8b15ff] {
  border-radius: var(--radius-lg);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}
.chart-card-title[data-v-2b8b15ff] {
  font-size: 15px;
  font-weight: 600;
  margin: 0 0 12px 0;
  color: var(--color-text-primary);
}
.chart-container[data-v-2b8b15ff] {
  width: 100%;
  height: 280px;
}
/* ==================== 内容区域 ==================== */
.content-card[data-v-2b8b15ff] {
  border-radius: var(--radius-lg);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}
.section-title[data-v-2b8b15ff] {
  font-size: 15px;
  font-weight: 600;
  margin: 0 0 16px 0;
  color: var(--color-text-primary);
}
.table-toolbar[data-v-2b8b15ff] {
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.card-pagination[data-v-2b8b15ff] {
  display: flex;
  justify-content: flex-end;
  padding: 16px 0 0;
}
@media (max-width: 768px) {
.card-pagination[data-v-2b8b15ff] {
    padding: 12px;
}
}
/* ==================== 错误信息 ==================== */
.error-info-box[data-v-2b8b15ff] {
  margin-top: 16px;
  padding: 12px 16px;
  background: #fff2f0;
  border: 1px solid #ffccc7;
  border-radius: 6px;
}
.error-info-label[data-v-2b8b15ff] {
  font-size: 13px;
  font-weight: 600;
  color: #ff4d4f;
  margin-bottom: 4px;
}
.error-info-content[data-v-2b8b15ff] {
  font-size: 13px;
  color: #cf1322;
  word-break: break-all;
  white-space: pre-wrap;
}
/* ==================== 响应式 ==================== */
@media (max-width: 768px) {
.hero-header-row[data-v-2b8b15ff] {
    flex-direction: column;
    gap: 12px;
}
.hero-title[data-v-2b8b15ff] {
    font-size: 20px;
}
.hero-stats[data-v-2b8b15ff] {
    flex-wrap: wrap;
    gap: 8px;
}
.hero-stat[data-v-2b8b15ff] {
    padding: 0 8px;
}
.hero-stat-value[data-v-2b8b15ff] {
    font-size: 18px;
}
.hero-stat-label[data-v-2b8b15ff] {
    font-size: 11px;
}
.hero-stat-divider[data-v-2b8b15ff] {
    display: none;
}
  /* 时间范围选择器移动端 */
.time-range-bar[data-v-2b8b15ff] {
    flex-wrap: wrap;
    gap: 8px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 8px;
}
[data-v-2b8b15ff] .ant-picker {
    min-width: 120px;
    flex-shrink: 0;
}
[data-v-2b8b15ff] .ant-space-item {
    flex-shrink: 0;
}
  /* 图表容器移动端 */
.chart-container[data-v-2b8b15ff] {
    height: 200px;
    margin-bottom: 16px;
}
  /* 表格移动端横向滚动 */
[data-v-2b8b15ff] .ant-table-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
[data-v-2b8b15ff] .ant-table {
    min-width: 600px;
    font-size: 13px;
}
  /* 模态框移动端全屏 */
[data-v-2b8b15ff] .ant-modal {
    max-width: 100vw !important;
    margin: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    height: 100vh !important;
}
[data-v-2b8b15ff] .ant-modal-content {
    border-radius: 0 !important;
}
}
/* 移动端卡片视图样式 */
.mobile-card-list[data-v-2b8b15ff] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  background: #f9f9f9;
}
.mobile-list-card[data-v-2b8b15ff] {
  background: #fff;
  border-radius: var(--radius-lg);
  padding: 16px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
@media (max-width: 768px) {
.mobile-list-card[data-v-2b8b15ff] {
    padding: 12px;
}
}
.mobile-list-card--danger[data-v-2b8b15ff] {
  border-left: 3px solid #ff4d4f;
}
.mobile-list-card-header[data-v-2b8b15ff] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 12px;
  gap: 8px;
}
.mobile-list-card-title[data-v-2b8b15ff] {
  font-weight: 600;
  font-size: 15px;
  color: var(--color-text-primary);
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mobile-list-card-body[data-v-2b8b15ff] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 12px;
}
.mobile-list-card-field-inline[data-v-2b8b15ff] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
}
.mobile-list-card-field-label[data-v-2b8b15ff] {
  color: var(--color-text-tertiary);
  flex-shrink: 0;
}
.mobile-list-card-field-value[data-v-2b8b15ff] {
  color: var(--color-text-primary);
  text-align: right;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 60%;
}
.mobile-list-card-field-value.error-text[data-v-2b8b15ff] {
  color: #ff4d4f;
  font-size: 12px;
  max-width: 55%;
}
.mobile-list-card-footer[data-v-2b8b15ff] {
  display: flex;
  gap: 8px;
  padding-top: 12px;
  border-top: 1px solid var(--color-border);
  justify-content: flex-end;
}

.workflow-simulation-page[data-v-b9372612] {
  padding: 16px;
}
.content-card[data-v-b9372612] {
  margin-bottom: 16px;
}
.control-buttons[data-v-b9372612] {
  margin-top: 8px;
}
.flow-version[data-v-b9372612] {
  color: #999;
  font-size: 12px;
}
.stat-card[data-v-b9372612] {
  height: 100%;
}
.trace-item[data-v-b9372612] {
  padding-bottom: 4px;
}
.trace-header[data-v-b9372612] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}
.trace-step[data-v-b9372612] {
  font-weight: 600;
  color: #1677ff;
}
.trace-node-name[data-v-b9372612] {
  font-weight: 500;
}
.trace-meta[data-v-b9372612] {
  display: flex;
  gap: 16px;
  font-size: 12px;
  color: #999;
}
.trace-time[data-v-b9372612] {
  font-family: 'Monaco', 'Menlo', monospace;
}
.trace-node-id[data-v-b9372612] {
  font-family: 'Monaco', 'Menlo', monospace;
}
.log-container[data-v-b9372612] {
  max-height: 480px;
  overflow-y: auto;
  font-family: 'Monaco', 'Menlo', 'Consolas', monospace;
  font-size: 12px;
  background: #fafafa;
  border-radius: 6px;
  padding: 8px;
}
.log-item[data-v-b9372612] {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 2px 0;
  border-bottom: 1px solid #f0f0f0;
}
.log-level[data-v-b9372612] {
  display: inline-block;
  min-width: 48px;
  padding: 0 4px;
  border-radius: 3px;
  text-align: center;
  font-weight: 600;
  color: #fff;
}
.log-level--info[data-v-b9372612] {
  background: #1677ff;
}
.log-level--warn[data-v-b9372612] {
  background: #faad14;
}
.log-level--error[data-v-b9372612] {
  background: #ff4d4f;
}
.log-level--debug[data-v-b9372612] {
  background: #8c8c8c;
}
.log-time[data-v-b9372612] {
  color: #999;
  white-space: nowrap;
}
.log-message[data-v-b9372612] {
  flex: 1;
  word-break: break-all;
}
.workflow-rules-page[data-v-717735c8] {
  background: var(--color-bg-layout);
  min-height: 100%;
  padding: var(--spacing-4);
}
.hero-bg-decoration[data-v-717735c8] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-717735c8] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-717735c8] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-717735c8] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-717735c8] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-717735c8] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-dot[data-v-717735c8] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-717735c8] {
  top: 20%;
  right: 25%;
}
.hero-content[data-v-717735c8] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-717735c8] {
  flex: 1;
}
.hero-title[data-v-717735c8] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-717735c8] {
  margin: 0 0 16px;
  font-size: 14px;
  opacity: 0.85;
  max-width: 600px;
}
.hero-stats[data-v-717735c8] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.hero-stat[data-v-717735c8] {
  display: flex;
  flex-direction: column;
}
.hero-stat-value[data-v-717735c8] {
  font-size: 22px;
  font-weight: 700;
}
.hero-stat-label[data-v-717735c8] {
  font-size: 12px;
  opacity: 0.7;
}
.hero-stat-divider[data-v-717735c8] {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.25);
}
.hero-right[data-v-717735c8] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
.filter-section[data-v-717735c8] {
  background: #fff;
  border-radius: var(--radius-lg);
  padding: 12px 16px;
  margin-bottom: var(--spacing-4);
}
@media (max-width: 768px) {
.filter-section[data-v-717735c8] {
    padding: 10px 12px;
}
}
.table-cell-content[data-v-717735c8] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.table-cell-title[data-v-717735c8] {
  font-weight: 600;
  font-size: 14px;
}
.table-cell-subtitle[data-v-717735c8] {
  font-size: 12px;
  color: var(--color-text-tertiary);
}
.table-cell-ellipsis[data-v-717735c8] {
  display: inline-block;
  max-width: 160px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* 执行统计样式 */
.exec-stats[data-v-717735c8] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
}
.exec-stat-item[data-v-717735c8] {
  display: inline-flex;
  align-items: center;
  gap: 2px;
}
.exec-stat-success[data-v-717735c8] {
  color: var(--color-success, #52c41a);
}
.exec-stat-fail[data-v-717735c8] {
  color: var(--color-error, #ff4d4f);
}
.exec-stat-divider[data-v-717735c8] {
  color: var(--color-text-quaternary, #d9d9d9);
}
@media (max-width: 768px) {
.workflow-rules-page[data-v-717735c8] {
    padding: var(--spacing-3);
}
.hero-content[data-v-717735c8] {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}
.hero-title[data-v-717735c8] {
    font-size: 20px !important;
}
.hero-desc[data-v-717735c8] {
    font-size: 13px !important;
}
.hero-stats[data-v-717735c8] {
    gap: 12px !important;
    flex-wrap: wrap;
}
.hero-stat-divider[data-v-717735c8] {
    display: none;
}
.hero-stat-value[data-v-717735c8] {
    font-size: 18px !important;
}
.hero-stat-label[data-v-717735c8] {
    font-size: 11px !important;
}
.hero-right[data-v-717735c8] {
    width: 100%;
}
.filter-section[data-v-717735c8] {
    padding: 12px 16px;
    overflow-x: hidden;
}
[data-v-717735c8] .ant-input-affix-wrapper,[data-v-717735c8] .ant-select-selector {
    width: 100% !important;
    max-width: 100%;
}
[data-v-717735c8] .ant-table-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
[data-v-717735c8] .ant-table {
    min-width: 500px;
    font-size: 13px;
}
[data-v-717735c8] .ant-table-thead > tr > th {
    padding: 10px 8px;
    font-size: 12px;
    white-space: nowrap;
}
[data-v-717735c8] .ant-table-tbody > tr > td {
    padding: 10px 8px;
    white-space: nowrap;
}
[data-v-717735c8] .ant-btn {
    min-height: 32px;
    min-width: 32px;
    height: 32px;
    font-size: 12px;
    padding: 0 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}
[data-v-717735c8] .ant-input,[data-v-717735c8] .ant-select-selector {
    height: 36px !important;
    font-size: 13px !important;
    padding: 0 11px;
}
[data-v-717735c8] .ant-modal {
    max-width: 100vw !important;
    margin: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 100vh !important;
}
[data-v-717735c8] .ant-modal-content {
    border-radius: 0 !important;
    display: flex;
    flex-direction: column;
}
[data-v-717735c8] .ant-modal-body {
    flex: 1;
    overflow-y: auto;
}
}
.filter-actions-col[data-v-717735c8] {
  display: flex;
  justify-content: flex-end;
}
/* 移动端卡片视图样式 */
.mobile-card-list[data-v-717735c8] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  background: #f9f9f9;
}
.mobile-list-card[data-v-717735c8] {
  background: #fff;
  border-radius: var(--radius-lg);
  padding: 16px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
@media (max-width: 768px) {
.mobile-list-card[data-v-717735c8] {
    padding: 12px;
}
}
.mobile-list-card-header[data-v-717735c8] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 12px;
  gap: 8px;
}
.mobile-list-card-title[data-v-717735c8] {
  font-weight: 600;
  font-size: 15px;
  color: var(--color-text-primary);
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mobile-list-card-body[data-v-717735c8] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 12px;
}
.mobile-list-card-field-inline[data-v-717735c8] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
}
.mobile-list-card-field-label[data-v-717735c8] {
  color: var(--color-text-tertiary);
  flex-shrink: 0;
}
.mobile-list-card-field-value[data-v-717735c8] {
  color: var(--color-text-primary);
  text-align: right;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 60%;
}
.mobile-list-card-footer[data-v-717735c8] {
  display: flex;
  gap: 8px;
  padding-top: 10px;
  border-top: 1px solid var(--color-border);
  justify-content: flex-end;
}
.mobile-list-card-footer[data-v-717735c8] .ant-btn {
  height: 32px;
  font-size: 12px;
  padding: 0 12px;
}
.workflow-rules-edit-page[data-v-89f1e972] {
  padding: var(--spacing-4);
  min-height: 100%;
  background: var(--color-bg-layout);
}
.highlights-panel[data-v-89f1e972] {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  border-radius: var(--radius-xl);
  padding: 24px 32px;
  color: #fff;
  margin-bottom: var(--spacing-4);
  position: relative;
  overflow: hidden;
}
.highlights-bg-decoration[data-v-89f1e972] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-89f1e972] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-89f1e972] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-89f1e972] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-89f1e972] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-89f1e972] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-89f1e972] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-89f1e972] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-89f1e972] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-89f1e972] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-89f1e972] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
.highlights-content[data-v-89f1e972] {
  display: flex;
  justify-content: space-between;
}
.highlights-left h2[data-v-89f1e972] {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: white;
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-meta[data-v-89f1e972] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  font-size: 13px;
  opacity: 0.85;
}
.highlights-tag[data-v-89f1e972] {
  background: rgba(255, 255, 255, 0.2) !important;
  border: none !important;
  color: #fff !important;
  font-size: 12px;
  padding: 2px 10px;
}
.highlights-right[data-v-89f1e972] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-action-btn[data-v-89f1e972] {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
}
.highlights-action-btn[data-v-89f1e972]:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.5);
}
.form-content[data-v-89f1e972] {
  max-width: 1200px;
  padding-bottom: 60px;
}
.fixed-actions[data-v-89f1e972] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 12px;
  background: #fff;
  border-top: 1px solid var(--color-border-secondary);
  display: flex;
  justify-content: flex-end;
  z-index: 100;
}
.info-section[data-v-89f1e972] {
  margin-bottom: 24px;
  border: 1px solid var(--color-border-secondary);
  border-radius: 10px;
  overflow: hidden;
}
.section-header[data-v-89f1e972] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 20px;
  background: var(--color-fill-quaternary);
  border-bottom: 1px solid var(--color-border-secondary);
  font-weight: 600;
  color: var(--color-text-primary);
}
.section-body[data-v-89f1e972] {
  padding: 16px 20px;
}
.condition-hint[data-v-89f1e972] {
  margin-top: 8px;
}
/* ==================== 可视化规则构建器 ==================== */
.section-header-extra[data-v-89f1e972] {
  margin-left: auto;
}
.builder-logic[data-v-89f1e972] {
  margin-bottom: 12px;
}
.builder-list[data-v-89f1e972] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 12px;
}
.builder-row[data-v-89f1e972] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px;
  background: var(--color-fill-quaternary, #fafafa);
  border-radius: 6px;
  border: 1px solid var(--color-border-secondary, #f0f0f0);
  flex-wrap: wrap;
}
.builder-logic-label[data-v-89f1e972] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 28px;
  font-size: 12px;
  font-weight: 600;
  color: #1890ff;
  background: rgba(24, 144, 255, 0.1);
  border-radius: 4px;
}
.builder-field[data-v-89f1e972] {
  width: 160px;
  min-width: 120px;
}
.builder-operator[data-v-89f1e972] {
  width: 140px;
  min-width: 100px;
}
.builder-value[data-v-89f1e972] {
  flex: 1;
  min-width: 120px;
}
.action-row[data-v-89f1e972] {
  align-items: flex-start;
}
.action-order[data-v-89f1e972] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 24px;
  font-size: 12px;
  font-weight: 600;
  color: #fff;
  background: #1890ff;
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 2px;
}
.builder-action-type[data-v-89f1e972] {
  width: 140px;
  min-width: 120px;
}
.action-params[data-v-89f1e972] {
  display: flex;
  gap: 8px;
  flex: 1;
  flex-wrap: wrap;
  min-width: 200px;
}
.param-input[data-v-89f1e972] {
  flex: 1;
  min-width: 120px;
}
.param-hint[data-v-89f1e972] {
  color: var(--color-text-tertiary, #999);
  font-size: 13px;
  line-height: 32px;
}
.action-ops[data-v-89f1e972] {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
}
.builder-empty[data-v-89f1e972] {
  text-align: center;
  padding: 16px;
  color: var(--color-text-tertiary, #999);
  font-size: 13px;
  background: var(--color-fill-quaternary, #fafafa);
  border-radius: 6px;
  border: 1px dashed var(--color-border-secondary, #f0f0f0);
}
/* 执行统计卡片 */
.exec-stats-grid[data-v-89f1e972] {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
.exec-stat-card[data-v-89f1e972] {
  background: var(--color-fill-quaternary);
  border-radius: 8px;
  padding: 16px;
  text-align: center;
  border: 1px solid var(--color-border-secondary);
}
.exec-stat-card-value[data-v-89f1e972] {
  font-size: 28px;
  font-weight: 700;
  color: var(--color-text-primary);
  line-height: 1.2;
}
.exec-stat-card-label[data-v-89f1e972] {
  font-size: 12px;
  color: var(--color-text-tertiary);
  margin-top: 4px;
}
.exec-stat-card-success[data-v-89f1e972] {
  background: rgba(82, 196, 26, 0.06);
  border-color: rgba(82, 196, 26, 0.2);
}
.exec-stat-card-success .exec-stat-card-value[data-v-89f1e972] {
  color: #52c41a;
}
.exec-stat-card-fail[data-v-89f1e972] {
  background: rgba(255, 77, 79, 0.06);
  border-color: rgba(255, 77, 79, 0.2);
}
.exec-stat-card-fail .exec-stat-card-value[data-v-89f1e972] {
  color: #ff4d4f;
}
.exec-stat-card-rate[data-v-89f1e972] {
  background: rgba(22, 119, 255, 0.06);
  border-color: rgba(22, 119, 255, 0.2);
}
.exec-stat-card-rate .exec-stat-card-value[data-v-89f1e972] {
  color: #1677ff;
}
.exec-meta[data-v-89f1e972] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.exec-meta-item[data-v-89f1e972] {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
}
.exec-meta-label[data-v-89f1e972] {
  color: var(--color-text-tertiary);
}
.exec-meta-value[data-v-89f1e972] {
  color: var(--color-text-primary);
}
@media (max-width: 768px) {
.section-body[data-v-89f1e972] {
    padding: 12px;
}
}
.workflow-analysis[data-v-587dd734] {
  padding: 16px;
}
@media (max-width: 768px) {
.workflow-analysis[data-v-587dd734] {
    padding: 12px;
}
}
/* ── Stat Cards ───────────────────────────────────────────── */
.stat-row[data-v-587dd734] {
  margin-bottom: 12px;
}
.stat-card[data-v-587dd734] {
  border-radius: 8px;
  transition: box-shadow 0.3s ease;
}
.stat-card[data-v-587dd734]:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}
.stat-card-inner[data-v-587dd734] {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  gap: 16px;
}
.stat-icon-wrap[data-v-587dd734] {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 22px;
  flex-shrink: 0;
}
.stat-card-content[data-v-587dd734] {
  flex: 1;
  min-width: 0;
}
.stat-label[data-v-587dd734] {
  font-size: 13px;
  color: #8c8c8c;
  margin-bottom: 4px;
}
.stat-value[data-v-587dd734] {
  font-size: 24px;
  font-weight: 600;
  color: #262626;
  line-height: 1.3;
}
.stat-trend[data-v-587dd734] {
  font-size: 12px;
  margin-top: 4px;
  display: flex;
  align-items: center;
  gap: 2px;
}
.trend-up[data-v-587dd734] {
  color: #ff4d4f;
}
.trend-down[data-v-587dd734] {
  color: #52c41a;
}
.trend-desc[data-v-587dd734] {
  color: #8c8c8c;
  margin-left: 4px;
}
/* ── Section Card ──────────────────────────────────────────── */
.section-card[data-v-587dd734] {
  margin-bottom: 16px;
  border-radius: 8px;
}
/* ── Bar Chart ─────────────────────────────────────────────── */
.bar-chart-container[data-v-587dd734] {
  padding: 8px 0;
}
.bar-chart[data-v-587dd734] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.bar-item[data-v-587dd734] {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
}
.bar-label[data-v-587dd734] {
  width: 80px;
  text-align: right;
  font-size: 13px;
  color: #595959;
  flex-shrink: 0;
}
.bar-track[data-v-587dd734] {
  flex: 1;
  height: 28px;
  background: #f5f5f5;
  border-radius: 4px;
  overflow: hidden;
  position: relative;
}
.bar-fill[data-v-587dd734] {
  height: 100%;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-right: 8px;
  min-width: 40px;
  transition: width 0.6s ease;
}
.bar-value[data-v-587dd734] {
  font-size: 12px;
  color: #fff;
  font-weight: 500;
  white-space: nowrap;
}
.bar-threshold[data-v-587dd734] {
  position: absolute;
  top: -4px;
  width: 2px;
  height: 36px;
  background: #ff4d4f;
  z-index: 1;
}
.bar-threshold[data-v-587dd734]::after {
  content: '';
  position: absolute;
  top: 0;
  left: -3px;
  width: 8px;
  height: 8px;
  background: #ff4d4f;
  border-radius: 50%;
}
.chart-legend[data-v-587dd734] {
  display: flex;
  gap: 20px;
  margin-top: 16px;
  padding-left: 92px;
}
.legend-item[data-v-587dd734] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #8c8c8c;
}
.legend-dot[data-v-587dd734] {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 2px;
}
.legend-line[data-v-587dd734] {
  display: inline-block;
  width: 16px;
  height: 2px;
  background: #ff4d4f;
  border-radius: 1px;
}
/* ── Bottleneck List ───────────────────────────────────────── */
.bottleneck-list[data-v-587dd734] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.bottleneck-item[data-v-587dd734] {
  border: 1px solid #f0f0f0;
  border-radius: 8px;
  padding: 12px 16px;
  transition: background 0.2s;
}
.bottleneck-item[data-v-587dd734]:hover {
  background: #fafafa;
}
.bottleneck-item.severity-critical[data-v-587dd734] {
  border-left: 4px solid #ff4d4f;
}
.bottleneck-item.severity-warning[data-v-587dd734] {
  border-left: 4px solid #faad14;
}
.bottleneck-item.severity-info[data-v-587dd734] {
  border-left: 4px solid #1890ff;
}
.bottleneck-header[data-v-587dd734] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.bottleneck-node[data-v-587dd734] {
  font-weight: 500;
  color: #262626;
}
.bottleneck-workflow[data-v-587dd734] {
  font-size: 12px;
  color: #8c8c8c;
  margin-left: auto;
}
.bottleneck-metrics[data-v-587dd734] {
  display: flex;
  gap: 24px;
  font-size: 13px;
  color: #595959;
  margin-bottom: 6px;
}
.bottleneck-suggestion[data-v-587dd734] {
  font-size: 13px;
  color: #8c8c8c;
  line-height: 1.5;
}
/* ── Suggestion List ───────────────────────────────────────── */
.suggestion-list[data-v-587dd734] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.suggestion-item[data-v-587dd734] {
  background: #fafafa;
  border: 1px solid #f0f0f0;
  border-radius: 8px;
  padding: 12px 16px;
}
.suggestion-header[data-v-587dd734] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.suggestion-title[data-v-587dd734] {
  font-weight: 500;
  color: #262626;
}
.suggestion-desc[data-v-587dd734] {
  font-size: 13px;
  color: #595959;
  line-height: 1.6;
  margin-bottom: 12px;
}
.suggestion-footer[data-v-587dd734] {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.improvement[data-v-587dd734] {
  font-size: 13px;
  color: #52c41a;
}
/* ── Detail Modal ──────────────────────────────────────────── */
.detail-desc[data-v-587dd734] {
  margin-bottom: 8px;
}
.distribution-chart[data-v-587dd734] {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  height: 140px;
  padding: 0 8px;
}
.dist-bar-wrap[data-v-587dd734] {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
}
.dist-label[data-v-587dd734] {
  font-size: 11px;
  color: #8c8c8c;
  margin-bottom: 4px;
}
.dist-track[data-v-587dd734] {
  flex: 1;
  width: 100%;
  background: #f5f5f5;
  border-radius: 4px 4px 0 0;
  display: flex;
  align-items: flex-end;
}
.dist-fill[data-v-587dd734] {
  width: 100%;
  background: linear-gradient(180deg, #1890ff, #69c0ff);
  border-radius: 4px 4px 0 0;
  transition: height 0.4s ease;
}
.dist-count[data-v-587dd734] {
  font-size: 11px;
  color: #595959;
  margin-top: 4px;
}
.trend-chart[data-v-587dd734] {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  height: 120px;
  padding: 0 8px;
}
.trend-bar-wrap[data-v-587dd734] {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
}
.trend-label[data-v-587dd734] {
  font-size: 11px;
  color: #8c8c8c;
  margin-bottom: 4px;
}
.trend-track[data-v-587dd734] {
  flex: 1;
  width: 100%;
  background: #f5f5f5;
  border-radius: 4px 4px 0 0;
  display: flex;
  align-items: flex-end;
}
.trend-fill[data-v-587dd734] {
  width: 100%;
  background: linear-gradient(180deg, #722ed1, #b37feb);
  border-radius: 4px 4px 0 0;
  transition: height 0.4s ease;
}
.trend-value[data-v-587dd734] {
  font-size: 11px;
  color: #595959;
  margin-top: 4px;
}
/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 768px) {
.workflow-analysis-page[data-v-587dd734] {
    padding: 12px;
}
.stat-row[data-v-587dd734] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}
.stat-row[data-v-587dd734] .ant-col {
    max-width: none;
    flex: none;
}
.stat-card[data-v-587dd734] {
    margin-bottom: 0;
}
.stat-card[data-v-587dd734] .ant-card-body {
    padding: 8px 10px !important;
}
.stat-card-inner[data-v-587dd734] {
    flex-direction: row;
    text-align: left;
    padding: 0;
    gap: 10px;
}
.stat-icon-wrap[data-v-587dd734] {
    width: 28px;
    height: 28px;
    font-size: 13px;
    flex-shrink: 0;
}
.stat-card-content[data-v-587dd734] {
    flex: 1;
    min-width: 0;
}
.stat-value[data-v-587dd734] {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
}
.stat-label[data-v-587dd734] {
    font-size: 10px;
    margin-bottom: 1px;
    color: #999;
}
.stat-trend[data-v-587dd734] {
    margin-top: 1px;
    font-size: 10px;
}
.bar-label[data-v-587dd734] {
    width: 50px;
    font-size: 11px;
}
.chart-legend[data-v-587dd734] {
    padding-left: 0;
    flex-wrap: wrap;
    gap: 8px;
}
.distribution-chart[data-v-587dd734],
  .trend-chart[data-v-587dd734] {
    height: 100px;
}
  /* 图表区域移动端 */
.chart-section[data-v-587dd734] {
    padding: 16px;
    overflow-x: hidden;
}
  /* 节点列表移动端 */
[data-v-587dd734] .node-list-container {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
[data-v-587dd734] .node-item {
    min-width: 200px;
    margin-right: 12px;
}
  /* 模态框移动端全屏 */
[data-v-587dd734] .ant-modal {
    max-width: 100vw !important;
    margin: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    height: 100vh !important;
}
[data-v-587dd734] .ant-modal-content {
    border-radius: 0 !important;
}
[data-v-587dd734] .ant-modal-body {
    padding: 16px;
    overflow-y: auto;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.chart-section[data-v-587dd734] {
    padding: 12px;
}
}
/* ==================== 移动端卡片视图 ==================== */
.mobile-card-list[data-v-587dd734] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 0;
}
.mobile-card[data-v-587dd734] {
  background: #fff;
  border: 1px solid #f0f0f0;
  border-radius: 8px;
  padding: 12px;
  margin-bottom: 8px;
}
.mobile-card-header[data-v-587dd734] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
  gap: 8px;
}
.mobile-card-title[data-v-587dd734] {
  font-size: 15px;
  font-weight: 600;
  color: #262626;
  flex: 1;
}
.mobile-card-body[data-v-587dd734] {
  margin-bottom: 8px;
}
.mobile-card-row[data-v-587dd734] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4px 0;
  font-size: 13px;
}
.mobile-card-row-full[data-v-587dd734] {
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}
.mobile-card-label[data-v-587dd734] {
  color: #8c8c8c;
  font-size: 12px;
}
.mobile-card-value[data-v-587dd734] {
  color: #595959;
  font-size: 13px;
}
.mobile-card-actions[data-v-587dd734] {
  padding-top: 8px;
  border-top: 1px solid #f0f0f0;
  display: flex;
  justify-content: flex-end;
}
.mobile-card-actions-right[data-v-587dd734] {
  justify-content: flex-end;
}
.flow-page[data-v-dc605ced] {
  background: var(--color-bg-layout);
  min-height: 100%;
  padding: var(--spacing-4);
}
.flow-page[data-v-dc605ced] .responsive-table-container {
  padding: 0;
}
.hero-bg-decoration[data-v-dc605ced] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-dc605ced] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-dc605ced] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-dc605ced] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-dc605ced] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-dc605ced] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-dc605ced] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-dc605ced] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-dc605ced] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-dc605ced] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-dc605ced] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-dc605ced] {
  flex: 1;
}
.hero-title[data-v-dc605ced] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-dc605ced] {
  margin: 0 0 16px;
  font-size: 14px;
  opacity: 0.85;
  max-width: 600px;
}
.hero-stats[data-v-dc605ced] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.hero-stat[data-v-dc605ced] {
  display: flex;
  flex-direction: column;
}
.hero-stat-value[data-v-dc605ced] {
  font-size: 22px;
  font-weight: 700;
}
.hero-stat-label[data-v-dc605ced] {
  font-size: 12px;
  opacity: 0.7;
}
.hero-stat-divider[data-v-dc605ced] {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.25);
}
.hero-right[data-v-dc605ced] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
.table-cell-content[data-v-dc605ced] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.table-cell-title[data-v-dc605ced] {
  font-weight: 600;
  font-size: 15px;
  color: var(--color-text-primary);
  cursor: pointer;
  display: inline-block;
  transition: color 0.2s;
}
.table-cell-title[data-v-dc605ced]:hover {
  color: #1677ff;
}
.table-cell-subtitle[data-v-dc605ced] {
  font-size: 13px;
  color: var(--color-text-tertiary);
  line-height: 1.5;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 400px;
}
.status-tag[data-v-dc605ced] {
  font-weight: 500;
  font-size: 12px;
  padding: 2px 8px;
  border-radius: var(--radius-sm);
}
@media (max-width: 991px) {
.hero-content[data-v-dc605ced] {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}
.hero-stats[data-v-dc605ced] {
    gap: 12px;
}
.hero-stat-value[data-v-dc605ced] {
    font-size: 18px;
}
}
@media (max-width: 575px) {
.hero-title[data-v-dc605ced] {
    font-size: 20px;
}
.hero-right[data-v-dc605ced] {
    width: 100%;
}
.hero-stats[data-v-dc605ced] {
    flex-wrap: wrap;
}
.hero-stat-divider[data-v-dc605ced] {
    display: none;
}
  /* 移动端卡片字段 */
.mobile-card-fields[data-v-dc605ced] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 12px;
}
.mobile-card-field-inline[data-v-dc605ced] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
}
.mobile-card-field-label[data-v-dc605ced] {
    font-size: 12px;
    color: var(--color-text-tertiary);
    flex-shrink: 0;
    min-width: 70px;
}
.mobile-card-field-value[data-v-dc605ced] {
    font-size: 13px;
    color: var(--color-text-primary);
    word-break: break-all;
}
}
.filter-actions-col[data-v-dc605ced] {
  display: flex;
  justify-content: flex-end;
}
.integration-overview[data-v-68841a66] {
  padding: var(--spacing-4);
  background: var(--color-bg-layout);
  min-height: calc(100vh - 64px);
}
/* ==================== Hero 区域 ==================== */
.hero-bg-decoration[data-v-68841a66] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-68841a66] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.07);
}
.hero-circle--1[data-v-68841a66] {
  width: 220px;
  height: 220px;
  top: -70px;
  right: -50px;
}
.hero-circle--2[data-v-68841a66] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.hero-circle--3[data-v-68841a66] {
  width: 80px;
  height: 80px;
  top: 20px;
  right: 280px;
  background: rgba(255, 255, 255, 0.05);
}
.hero-line[data-v-68841a66] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.1);
}
.hero-line--1[data-v-68841a66] {
  width: 300px;
  top: 30%;
  right: 8%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-68841a66] {
  width: 200px;
  bottom: 25%;
  right: 28%;
  transform: rotate(10deg);
}
.hero-dot[data-v-68841a66] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.18);
}
.hero-dot--1[data-v-68841a66] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-68841a66] {
  bottom: 30%;
  right: 15%;
}
.hero-dot--3[data-v-68841a66] {
  top: 50%;
  right: 45%;
}
.hero-content[data-v-68841a66] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-68841a66] {
  flex: 1;
}
.hero-title[data-v-68841a66] {
  margin: 0 0 8px;
  font-size: 28px;
  font-weight: 700;
  color: white;
  letter-spacing: -0.5px;
}
.hero-desc[data-v-68841a66] {
  margin: 0 0 24px;
  font-size: 15px;
  opacity: 0.85;
  max-width: 600px;
  line-height: 1.6;
}
.hero-stats[data-v-68841a66] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.hero-stat[data-v-68841a66] {
  display: flex;
  flex-direction: column;
}
.hero-stat-divider[data-v-68841a66] {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.25);
}
.hero-stat-value[data-v-68841a66] {
  font-size: 22px;
  font-weight: 700;
}
.hero-stat-label[data-v-68841a66] {
  font-size: 12px;
  opacity: 0.7;
}
/* ==================== 内容区域 ==================== */
.section-header[data-v-68841a66] {
  margin-bottom: 12px;
}
.section-title[data-v-68841a66] {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: var(--color-text-primary, rgba(0, 0, 0, 0.88));
}
.content-section[data-v-68841a66] {
  margin-bottom: 12px;
}
/* ===== 内容卡片样式 ===== */
.content-card[data-v-68841a66] {
  border-radius: var(--radius-lg);
  border: none;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease;
}
.content-card[data-v-68841a66]:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}
.content-card[data-v-68841a66] .ant-card-head {
  border-bottom: 1px solid #f0f0f0;
  padding: 0 20px;
}
.content-card[data-v-68841a66] .ant-card-head-title {
  font-weight: 600;
  font-size: 16px;
  color: #1a1a1a;
}
.content-card[data-v-68841a66] .ant-card-body {
  padding: 20px;
}
/* ===== 表格容器 ===== */
.table-wrapper[data-v-68841a66] {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.table-wrapper[data-v-68841a66] .ant-table {
  font-size: 14px;
}
.table-wrapper[data-v-68841a66] .ant-table-thead > tr > th {
  white-space: nowrap;
}
/* ===== 快速操作按钮 ===== */
.quick-actions[data-v-68841a66] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.quick-actions .ant-btn[data-v-68841a66] {
  height: 40px;
  border-radius: 8px;
  font-weight: 500;
  transition: all 0.3s ease;
}
.quick-actions .ant-btn[data-v-68841a66]:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
/* ===== 响应式媒体查询 ===== */
/* 平板及以下 (< 992px) */
@media (max-width: 992px) {
.integration-overview[data-v-68841a66] {
    padding: var(--spacing-4);
}
.content-card[data-v-68841a66] .ant-card-body {
    padding: 16px;
}
}
/* 手机端 (< 768px) */
@media (max-width: 768px) {
.integration-overview[data-v-68841a66] {
    padding: var(--spacing-3);
}
.hero-title[data-v-68841a66] {
    font-size: 22px;
}
.hero-desc[data-v-68841a66] {
    font-size: 13px;
    margin-bottom: 16px;
}
.hero-stats[data-v-68841a66] {
    flex-wrap: wrap;
    gap: 12px;
}
.hero-stat-value[data-v-68841a66] {
    font-size: 20px;
}
.content-card[data-v-68841a66] .ant-card-head {
    padding: 0 16px;
}
.content-card[data-v-68841a66] .ant-card-head-title {
    font-size: 15px;
}
.content-card[data-v-68841a66] .ant-card-body {
    padding: 12px;
}
  /* Tabs 在移动端优化 */
.content-card[data-v-68841a66] .ant-tabs-nav {
    margin-bottom: 12px;
}
.content-card[data-v-68841a66] .ant-tabs-tab {
    font-size: 13px;
    padding: 8px 12px;
}
  /* 表格移动端优化 */
.table-wrapper[data-v-68841a66] .ant-table {
    font-size: 13px;
}
.table-wrapper[data-v-68841a66] .ant-table-cell {
    padding: 8px 12px !important;
}
.table-wrapper[data-v-68841a66] .ant-pagination {
    margin-top: 12px;
}
.table-wrapper[data-v-68841a66] .ant-pagination-options {
    display: none;
}
  /* 列表移动端优化 */
.content-card[data-v-68841a66] .ant-list-item {
    padding: 12px 0;
}
.content-card[data-v-68841a66] .ant-list-item-meta-title {
    font-size: 13px;
    margin-bottom: 2px;
}
.content-card[data-v-68841a66] .ant-list-item-meta-description {
    font-size: 12px;
    color: #8c8c8c;
    display: -webkit-box;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
  /* 快速操作移动端网格布局 */
.quick-actions[data-v-68841a66] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}
.quick-actions .ant-btn[data-v-68841a66] {
    height: 36px;
    font-size: 13px;
}
}
/* 小屏手机 (< 576px) */
@media (max-width: 576px) {
.integration-overview[data-v-68841a66] {
    padding: 8px;
}
.hero-stats[data-v-68841a66] {
    flex-wrap: wrap;
    gap: 8px;
}
.hero-stat[data-v-68841a66] {
    padding: 0 10px;
}
.hero-stat-label[data-v-68841a66] {
    display: block;
}
.hero-stat-divider[data-v-68841a66] {
    display: none;
}
.content-card[data-v-68841a66] .ant-card-head {
    padding: 0 12px;
}
.content-card[data-v-68841a66] .ant-card-head-title {
    font-size: 14px;
}
.content-card[data-v-68841a66] .ant-card-body {
    padding: 10px;
}
.content-card[data-v-68841a66] .ant-tabs-nav {
    margin-bottom: 8px;
}
.content-card[data-v-68841a66] .ant-tabs-tab {
    font-size: 11px;
    padding: 4px 6px;
}
.content-card[data-v-68841a66] .ant-tabs-tab-btn {
    font-size: 11px;
}
  /* 表格小屏优化 */
.table-wrapper[data-v-68841a66] .ant-table {
    font-size: 12px;
}
.table-wrapper[data-v-68841a66] .ant-table-cell {
    padding: 6px 8px !important;
}
.table-wrapper[data-v-68841a66] .ant-table-thead > tr > th {
    padding: 8px 8px !important;
    font-size: 11px;
    font-weight: 500;
}
.table-wrapper[data-v-68841a66] .ant-pagination-item {
    min-width: 26px;
    height: 26px;
    line-height: 26px;
    font-size: 11px;
}
  /* 列表小屏优化 */
.content-card[data-v-68841a66] .ant-list-item {
    padding: 10px 0;
}
.content-card[data-v-68841a66] .ant-list-item-meta-title {
    font-size: 12px;
}
.content-card[data-v-68841a66] .ant-list-item-meta-description {
    font-size: 11px;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.content-card[data-v-68841a66] .ant-avatar {
    width: 32px;
    height: 32px;
    font-size: 12px;
}
  /* 快速操作在小屏手机上单列 */
.quick-actions[data-v-68841a66] {
    grid-template-columns: 1fr;
    gap: 6px;
}
.quick-actions .ant-btn[data-v-68841a66] {
    height: 32px;
    font-size: 12px;
    border-radius: 6px;
}
}
/* 移动端卡片视图样式 */
.mobile-card-list[data-v-68841a66] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 16px;
}
.mobile-card[data-v-68841a66] {
  background: #fff;
  border-radius: 12px;
  border: 1px solid #f0f0f0;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.mobile-card-header[data-v-68841a66] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: #fafafa;
  border-bottom: 1px solid #f0f0f0;
}
.mobile-card-icon[data-v-68841a66] {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.mobile-card-info[data-v-68841a66] {
  flex: 1;
  min-width: 0;
}
.mobile-card-name[data-v-68841a66] {
  font-size: 15px;
  font-weight: 600;
  color: #262626;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mobile-card-code[data-v-68841a66] {
  font-size: 12px;
  color: #8c8c8c;
  font-family: monospace;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mobile-card-body[data-v-68841a66] {
  padding: 12px 16px;
}
.mobile-card-field[data-v-68841a66] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 8px 0;
  border-bottom: 1px solid #fafafa;
}
.mobile-card-field[data-v-68841a66]:last-child {
  border-bottom: none;
}
.mobile-card-label[data-v-68841a66] {
  font-size: 12px;
  color: #999;
  flex-shrink: 0;
}
.mobile-card-value[data-v-68841a66] {
  font-size: 13px;
  color: #595959;
  text-align: right;
  word-break: break-all;
  flex: 1;
  margin-left: 12px;
}
.mobile-card-actions[data-v-68841a66] {
  display: flex;
  justify-content: flex-end;
  gap: 4px;
  padding: 8px 12px;
  border-top: 1px solid #f0f0f0;
  background: #fafafa;
}
/* ==================== 页面容器 ==================== */
.connector-market[data-v-e2f0d4aa] {
  padding: var(--spacing-4);
  min-height: 100%;
  background: var(--color-bg-layout);
}
/* ==================== Hero Section ==================== */
.hero-bg-decoration[data-v-e2f0d4aa] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-e2f0d4aa] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-e2f0d4aa] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-e2f0d4aa] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-e2f0d4aa] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-e2f0d4aa] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-e2f0d4aa] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-e2f0d4aa] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-e2f0d4aa] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-e2f0d4aa] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-e2f0d4aa] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-e2f0d4aa] {
  flex: 1;
}
.hero-title[data-v-e2f0d4aa] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-e2f0d4aa] {
  margin: 0 0 16px;
  font-size: 14px;
  opacity: 0.85;
  max-width: 600px;
}
.hero-stats[data-v-e2f0d4aa] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.hero-stat[data-v-e2f0d4aa] {
  display: flex;
  flex-direction: column;
}
.hero-stat-value[data-v-e2f0d4aa] {
  font-size: 22px;
  font-weight: 700;
}
.hero-stat-label[data-v-e2f0d4aa] {
  font-size: 12px;
  opacity: 0.7;
}
.hero-stat-divider[data-v-e2f0d4aa] {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.25);
}
.hero-right[data-v-e2f0d4aa] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
/* ==================== 筛选栏 ==================== */
.filter-bar[data-v-e2f0d4aa] {
  background: #fff;
  padding: 16px 32px;
  border-radius: 0 0 12px 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  position: relative;
  z-index: 2;
}
@media (max-width: 768px) {
.filter-bar[data-v-e2f0d4aa] {
    padding: 12px;
}
}
.filter-bar-inner[data-v-e2f0d4aa] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  max-width: 1600px;
  margin: 0 auto;
}
.filter-left[data-v-e2f0d4aa] {
  display: flex;
  gap: 12px;
  flex: 1;
}
.filter-search[data-v-e2f0d4aa] {
  max-width: 320px;
}
.filter-select[data-v-e2f0d4aa] {
  width: 160px;
}
.view-toggle[data-v-e2f0d4aa] .ant-radio-button-wrapper {
  padding: 0 12px;
}
.filter-divider[data-v-e2f0d4aa] {
  margin: 0 4px;
}
/* ==================== 卡片网格 ==================== */
.card-grid[data-v-e2f0d4aa] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  padding: 12 0;
  margin: 0 auto;
}
/* ==================== 连接器卡片 ==================== */
.connector-card[data-v-e2f0d4aa] {
  position: relative;
  background: #fff;
  border-radius: 14px;
  border: 1px solid #ebeef5;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  padding: 0;
  cursor: pointer;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.connector-card[data-v-e2f0d4aa]:hover {
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(24, 144, 255, 0.15);
  border-color: transparent;
  transform: translateY(-4px);
}
.connector-card[data-v-e2f0d4aa]:active {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}
/* 顶部装饰条 */
.connector-card__accent[data-v-e2f0d4aa] {
  height: 4px;
  width: 100%;
  flex-shrink: 0;
}
/* 卡片头部 */
.connector-card__header[data-v-e2f0d4aa] {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 20px 0;
}
.connector-card__icon-wrap[data-v-e2f0d4aa] {
  width: 46px;
  height: 46px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15);
}
.connector-card__icon[data-v-e2f0d4aa] {
  color: white;
  font-size: 24px;
}
.connector-card__title-group[data-v-e2f0d4aa] {
  min-width: 0;
  flex: 1;
}
.connector-card__name[data-v-e2f0d4aa] {
  font-size: 15px;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.88);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.4;
}
.connector-card__code[data-v-e2f0d4aa] {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.35);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
}
.connector-card__header-right[data-v-e2f0d4aa] {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.connector-card__status-tag[data-v-e2f0d4aa] {
  border-radius: 6px;
  font-size: 11px;
  padding: 0 8px;
  line-height: 22px;
  border: none;
  font-weight: 500;
}
.connector-card__more-btn[data-v-e2f0d4aa] {
  color: rgba(0, 0, 0, 0.3);
  width: 28px;
  height: 28px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
}
.connector-card__more-btn[data-v-e2f0d4aa]:hover {
  color: rgba(0, 0, 0, 0.75);
  background: rgba(0, 0, 0, 0.04);
}
/* 描述 */
.connector-card__desc[data-v-e2f0d4aa] {
  font-size: 13px;
  color: rgba(0, 0, 0, 0.45);
  line-height: 1.5;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  padding: 8px 20px 0;
}
/* 统计标签 */
.connector-card__tags[data-v-e2f0d4aa] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 12px 20px 0;
}
.connector-card__tag[data-v-e2f0d4aa] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  font-weight: 500;
  padding: 2px 10px;
  border-radius: 6px;
  line-height: 1.4;
  white-space: nowrap;
  transition: all 0.2s ease;
  background: #f5f5f5;
  color: #595959;
  border: none;
}
/* 元数据 */
.connector-card__meta[data-v-e2f0d4aa] {
  display: flex;
  gap: 16px;
  padding: 12px 20px 0;
  font-size: 12px;
  color: rgba(0, 0, 0, 0.45);
}
.connector-card__meta-item[data-v-e2f0d4aa] {
  display: flex;
  align-items: center;
  gap: 4px;
}
/* 底部 */
.connector-card__footer[data-v-e2f0d4aa] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 11px;
  color: rgba(0, 0, 0, 0.3);
  padding: 10px 20px 14px;
  margin-top: auto;
}
.connector-card__footer-item[data-v-e2f0d4aa] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.connector-card__footer-icon[data-v-e2f0d4aa] {
  font-size: 11px;
}
/* ==================== 空状态 ==================== */
.card-empty[data-v-e2f0d4aa] {
  padding: 80px 0;
}
/* ==================== 分页 ==================== */
.pagination-left[data-v-e2f0d4aa] {
  display: flex;
  align-items: center;
}
/* ==================== 列表视图样式 ==================== */
.market-list-content[data-v-e2f0d4aa] {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  margin: 20px 24px;
  overflow: hidden;
}
.connectors-table[data-v-e2f0d4aa] {
  border-radius: 12px;
}
.table-cell-name[data-v-e2f0d4aa] {
  display: flex;
  gap: 12px;
  align-items: center;
}
.cell-icon[data-v-e2f0d4aa] {
  width: 48px;
  height: 48px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  flex-shrink: 0;
}
.cell-info[data-v-e2f0d4aa] {
  flex: 1;
  min-width: 0;
}
.cell-title[data-v-e2f0d4aa] {
  font-weight: 600;
  color: rgba(0, 0, 0, 0.88);
  margin-bottom: 4px;
}
.cell-desc[data-v-e2f0d4aa] {
  font-size: 13px;
  color: rgba(0, 0, 0, 0.45);
}
.table-capabilities[data-v-e2f0d4aa] {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
/* ==================== 响应式 - 平板 ==================== */
@media (max-width: 1200px) {
.card-grid[data-v-e2f0d4aa] {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}
.hero-title[data-v-e2f0d4aa] {
    font-size: 24px;
}
.hero-stat[data-v-e2f0d4aa] {
    padding: 0 14px;
}
.hero-stat-value[data-v-e2f0d4aa] {
    font-size: 22px;
}
}
/* ==================== 响应式 - 手机（保持元素尺寸） ==================== */
@media (max-width: 768px) {
.hero-content[data-v-e2f0d4aa] {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
}
.hero-right[data-v-e2f0d4aa] {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
.view-toggle[data-v-e2f0d4aa] .ant-radio-button-wrapper {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.view-toggle[data-v-e2f0d4aa] .ant-radio-button-wrapper svg,
  .view-toggle[data-v-e2f0d4aa] .ant-radio-button-wrapper i {
    display: inline-flex;
    visibility: visible !important;
}
.filter-bar[data-v-e2f0d4aa] {
    padding: 12px 16px;
}
.filter-bar-inner[data-v-e2f0d4aa] {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
}
.filter-left[data-v-e2f0d4aa] {
    flex-direction: column;
    gap: 12px;
}
.filter-search[data-v-e2f0d4aa] {
    max-width: 100%;
}
.filter-select[data-v-e2f0d4aa] {
    width: 100%;
}
.card-grid[data-v-e2f0d4aa] {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 12px 0;
}
.market-list-content[data-v-e2f0d4aa] {
    margin: 16px 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.filter-bar[data-v-e2f0d4aa] {
    padding: 12px;
}
}
/* ==================== 响应式 - 小屏手机 ==================== */
@media (max-width: 575px) {
.hero-right[data-v-e2f0d4aa] {
    width: 100%;
    gap: 8px;
}
.hero-stats[data-v-e2f0d4aa] {
    flex-wrap: wrap;
    gap: 8px;
}
.hero-stat-divider[data-v-e2f0d4aa] {
    display: none;
}
.filter-bar[data-v-e2f0d4aa] {
    padding: 10px 12px;
}
.filter-bar-inner[data-v-e2f0d4aa] {
    gap: 12px;
}
.card-grid[data-v-e2f0d4aa] {
    gap: 12px;
    padding: 12px 0;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.filter-bar[data-v-e2f0d4aa] {
    padding: 12px;
}
}
/* 移动端卡片视图样式 */
.mobile-card-list[data-v-e2f0d4aa] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 16px;
}
.mobile-card[data-v-e2f0d4aa] {
  background: #fff;
  border-radius: 12px;
  border: 1px solid #ebeef5;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}
.mobile-card-header[data-v-e2f0d4aa] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: #fafafa;
  border-bottom: 1px solid #ebeef5;
}
.mobile-card-icon[data-v-e2f0d4aa] {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.mobile-card-info[data-v-e2f0d4aa] {
  flex: 1;
  min-width: 0;
}
.mobile-card-name[data-v-e2f0d4aa] {
  font-size: 15px;
  font-weight: 600;
  color: #262626;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mobile-card-code[data-v-e2f0d4aa] {
  font-size: 12px;
  color: #8c8c8c;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
}
.mobile-card-body[data-v-e2f0d4aa] {
  padding: 12px 16px;
}
.mobile-card-field[data-v-e2f0d4aa] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 8px 0;
  border-bottom: 1px solid #fafafa;
}
.mobile-card-field[data-v-e2f0d4aa]:last-child {
  border-bottom: none;
}
.mobile-card-label[data-v-e2f0d4aa] {
  font-size: 12px;
  color: #999;
  flex-shrink: 0;
}
.mobile-card-value[data-v-e2f0d4aa] {
  font-size: 13px;
  color: #595959;
  text-align: right;
  word-break: break-all;
  flex: 1;
  margin-left: 12px;
}
.mobile-card-tags[data-v-e2f0d4aa] {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  justify-content: flex-end;
}
.mobile-card-actions[data-v-e2f0d4aa] {
  display: flex;
  justify-content: flex-end;
  gap: 4px;
  padding: 8px 12px;
  border-top: 1px solid #ebeef5;
  background: #fafafa;
}
.rest-connector-page[data-v-d57da849] {
  padding: 24px;
  min-height: 100%;
  background: var(--color-bg-layout);
}
@media (max-width: 768px) {
.rest-connector-page[data-v-d57da849] {
    padding: 12px;
}
}
.page-header[data-v-d57da849] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}
.page-header-left[data-v-d57da849] {
  flex: 1;
}
.page-title[data-v-d57da849] {
  margin: 0 0 4px;
  font-size: 22px;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.88);
}
.page-desc[data-v-d57da849] {
  margin: 0;
  font-size: 14px;
  color: rgba(0, 0, 0, 0.45);
}
.connector-list-card[data-v-d57da849] {
  border-radius: 12px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}
.connector-table[data-v-d57da849] {
  margin-top: 8px;
}
.cell-name[data-v-d57da849] {
  display: flex;
  align-items: center;
  gap: 10px;
}
.cell-icon[data-v-d57da849] {
  font-size: 20px;
  color: #1677ff;
  flex-shrink: 0;
}
.cell-info[data-v-d57da849] {
  min-width: 0;
}
.cell-title[data-v-d57da849] {
  font-weight: 600;
  color: rgba(0, 0, 0, 0.88);
  font-size: 14px;
}
.cell-url[data-v-d57da849] {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.45);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 220px;
}
.text-muted[data-v-d57da849] {
  color: rgba(0, 0, 0, 0.25);
}
/* 表单样式 */
.connector-form[data-v-d57da849] {
  max-height: 60vh;
  overflow-y: auto;
  padding-right: 8px;
}
.headers-config[data-v-d57da849] {
  width: 100%;
}
.header-row[data-v-d57da849] {
  display: flex;
  gap: 8px;
  margin-bottom: 8px;
  align-items: center;
}
.header-key-input[data-v-d57da849] {
  flex: 1;
}
.header-value-input[data-v-d57da849] {
  flex: 2;
}
/* 测试结果 */
.test-detail[data-v-d57da849] {
  text-align: left;
  max-width: 300px;
  margin: 0 auto;
}
/* 响应式 */
@media (max-width: 768px) {
.rest-connector-page[data-v-d57da849] {
    padding: 16px;
}
.page-header[data-v-d57da849] {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}
.page-header-right[data-v-d57da849] {
    width: 100%;
}
.page-header-right .ant-btn[data-v-d57da849] {
    width: 100%;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.rest-connector-page[data-v-d57da849] {
    padding: 12px;
}
}
/* 移动端卡片视图样式 */
.mobile-card-list[data-v-d57da849] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 16px;
}
.mobile-card[data-v-d57da849] {
  background: #fff;
  border-radius: 12px;
  border: 1px solid #f0f0f0;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.mobile-card-header[data-v-d57da849] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: #fafafa;
  border-bottom: 1px solid #f0f0f0;
}
.mobile-card-icon[data-v-d57da849] {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.mobile-card-info[data-v-d57da849] {
  flex: 1;
  min-width: 0;
}
.mobile-card-name[data-v-d57da849] {
  font-size: 15px;
  font-weight: 600;
  color: #262626;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mobile-card-code[data-v-d57da849] {
  font-size: 12px;
  color: #8c8c8c;
  font-family: monospace;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mobile-card-body[data-v-d57da849] {
  padding: 12px 16px;
}
.mobile-card-field[data-v-d57da849] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 8px 0;
  border-bottom: 1px solid #fafafa;
}
.mobile-card-field[data-v-d57da849]:last-child {
  border-bottom: none;
}
.mobile-card-label[data-v-d57da849] {
  font-size: 12px;
  color: #999;
  flex-shrink: 0;
}
.mobile-card-value[data-v-d57da849] {
  font-size: 13px;
  color: #595959;
  text-align: right;
  word-break: break-all;
  flex: 1;
  margin-left: 12px;
}
.mobile-card-actions[data-v-d57da849] {
  display: flex;
  justify-content: flex-end;
  gap: 4px;
  padding: 8px 12px;
  border-top: 1px solid #f0f0f0;
  background: #fafafa;
}
.api-orchestration-page[data-v-bf8dd5c3] {
  padding: 16px;
}
/* ==================== Hero Section ==================== */
.hero-bg-decoration[data-v-bf8dd5c3] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-bf8dd5c3] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-bf8dd5c3] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-bf8dd5c3] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-content[data-v-bf8dd5c3] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-bf8dd5c3] {
  flex: 1;
}
.hero-title[data-v-bf8dd5c3] {
  margin: 0 0 8px;
  font-size: 22px;
  font-weight: 600;
  color: white;
}
.hero-desc[data-v-bf8dd5c3] {
  margin: 0 0 16px;
  font-size: 14px;
  opacity: 0.85;
  max-width: 600px;
}
.hero-stats[data-v-bf8dd5c3] {
  display: flex;
  align-items: center;
  gap: 24px;
}
.hero-stat[data-v-bf8dd5c3] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.hero-stat-value[data-v-bf8dd5c3] {
  font-size: 20px;
  font-weight: 600;
}
.hero-stat-label[data-v-bf8dd5c3] {
  font-size: 13px;
  opacity: 0.8;
}
.hero-stat-divider[data-v-bf8dd5c3] {
  width: 1px;
  height: 20px;
  background: rgba(255, 255, 255, 0.3);
}
/* ==================== Filter Bar ==================== */
.filter-bar[data-v-bf8dd5c3] {
  background: #fff;
  border-radius: 8px;
  padding: 16px 20px;
  margin-bottom: 12px;
}
.filter-bar-inner[data-v-bf8dd5c3] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
.filter-left[data-v-bf8dd5c3] {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.filter-search[data-v-bf8dd5c3] {
  width: 240px;
}
.filter-select[data-v-bf8dd5c3] {
  width: 140px;
}
/* ==================== Batch Toolbar ==================== */
.batch-toolbar[data-v-bf8dd5c3] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: linear-gradient(135deg, rgba(24, 144, 255, 0.08) 0%, rgba(24, 144, 255, 0.04) 100%);
  border: 1px solid rgba(24, 144, 255, 0.25);
  border-radius: 8px;
  padding: 12px 16px;
  margin-bottom: 12px;
}
.batch-toolbar-left[data-v-bf8dd5c3] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.batch-info[data-v-bf8dd5c3] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #1677ff;
  font-weight: 500;
}
.batch-toolbar-right[data-v-bf8dd5c3] {
  display: flex;
  gap: 8px;
}
/* ==================== Table Card ==================== */
.table-card[data-v-bf8dd5c3] {
  border-radius: 8px;
}
.table-header[data-v-bf8dd5c3] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.table-title[data-v-bf8dd5c3] {
  font-size: 15px;
  font-weight: 500;
}
.table-count[data-v-bf8dd5c3] {
  font-size: 13px;
  color: #8c8c8c;
}
.name-cell[data-v-bf8dd5c3] {
  display: flex;
  align-items: center;
  gap: 10px;
}
.name-icon[data-v-bf8dd5c3] {
  font-size: 18px;
  color: #1677ff;
}
.name-info[data-v-bf8dd5c3] {
  display: flex;
  flex-direction: column;
}
.name-text[data-v-bf8dd5c3] {
  font-weight: 500;
  color: #1a1a1a;
}
.name-desc[data-v-bf8dd5c3] {
  font-size: 12px;
  color: #8c8c8c;
}
.time-cell[data-v-bf8dd5c3] {
  color: #8c8c8c;
  font-size: 13px;
}
@media (max-width: 768px) {
.api-orchestration-page[data-v-bf8dd5c3] {
    padding: 12px;
}
.hero-content[data-v-bf8dd5c3] {
    flex-direction: column;
    gap: 16px;
}
.hero-title[data-v-bf8dd5c3] {
    font-size: 18px;
}
.hero-desc[data-v-bf8dd5c3] {
    font-size: 12px;
    margin-bottom: 12px;
}
.hero-stats[data-v-bf8dd5c3] {
    gap: 12px;
    flex-wrap: wrap;
}
.hero-stat[data-v-bf8dd5c3] {
    flex-direction: column;
    align-items: center;
    gap: 4px;
    flex: 1;
    min-width: 80px;
}
.hero-stat-value[data-v-bf8dd5c3] {
    font-size: 18px;
}
.hero-stat-label[data-v-bf8dd5c3] {
    font-size: 11px;
    text-align: center;
}
.hero-stat-divider[data-v-bf8dd5c3] {
    display: none;
}
.hero-right[data-v-bf8dd5c3] {
    width: 100%;
}
  /* Filter Bar - Mobile */
.filter-bar[data-v-bf8dd5c3] {
    padding: 12px;
    border-radius: 8px;
}
.filter-bar-inner[data-v-bf8dd5c3] {
    flex-direction: column;
    align-items: stretch;
}
.filter-left[data-v-bf8dd5c3] {
    flex-direction: column;
    width: 100%;
}
.filter-search[data-v-bf8dd5c3] {
    width: 100%;
}
.filter-select[data-v-bf8dd5c3] {
    width: 100%;
}
.filter-right[data-v-bf8dd5c3] {
    width: 100%;
    margin-top: 8px;
}
.filter-right .ant-space[data-v-bf8dd5c3] {
    width: 100%;
    display: flex !important;
}
.filter-right .ant-space-item[data-v-bf8dd5c3] {
    flex: 1;
}
.filter-right .ant-btn[data-v-bf8dd5c3] {
    width: 100%;
}
  /* Batch Toolbar - Mobile */
.batch-toolbar[data-v-bf8dd5c3] {
    flex-direction: column;
    gap: 12px;
    padding: 12px;
}
.batch-toolbar-left[data-v-bf8dd5c3] {
    width: 100%;
}
.batch-toolbar-right[data-v-bf8dd5c3] {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.batch-toolbar-right .ant-btn[data-v-bf8dd5c3] {
    flex: 1;
    min-width: calc(50% - 4px);
}
  /* Table Card - Mobile */
.table-card[data-v-bf8dd5c3] {
    border-radius: 8px;
    margin: 0 -12px;
    border-left: none;
    border-right: none;
}
.table-card[data-v-bf8dd5c3] .ant-card-body {
    padding: 0;
}
.table-header[data-v-bf8dd5c3] {
    padding: 12px 12px 8px;
}
  /* Table cells - Mobile */
[data-v-bf8dd5c3] .ant-table-thead > tr > th {
    padding: 10px 8px;
    font-size: 12px;
}
[data-v-bf8dd5c3] .ant-table-tbody > tr > td {
    padding: 10px 8px;
}
.name-cell[data-v-bf8dd5c3] {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}
.name-icon[data-v-bf8dd5c3] {
    font-size: 16px;
}
.name-text[data-v-bf8dd5c3] {
    font-size: 13px;
}
.name-desc[data-v-bf8dd5c3] {
    font-size: 11px;
}
.time-cell[data-v-bf8dd5c3] {
    font-size: 11px;
}
  /* Pagination - Mobile */
[data-v-bf8dd5c3] .ant-pagination {
    padding: 12px;
}
[data-v-bf8dd5c3] .ant-pagination-item,[data-v-bf8dd5c3] .ant-pagination-prev,[data-v-bf8dd5c3] .ant-pagination-next {
    min-width: 32px;
    height: 32px;
    line-height: 32px;
}
  /* Empty State - Mobile */
[data-v-bf8dd5c3] .ant-empty {
    padding: 32px 16px;
}
}
.flow-designer[data-v-d53929bf] {
  height: 100%;
  background: var(--designer-canvas-bg, #fafbfc);
}
.flow-designer-layout[data-v-d53929bf] {
  height: 100%;
}
/* ========== 左侧面板 ========== */
.flow-designer-sider[data-v-d53929bf] {
  background: var(--designer-panel-bg, #ffffff);
  border-right: 1px solid var(--designer-panel-border, #e5e7eb);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.flow-designer-sider .sider-header[data-v-d53929bf] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 16px 0;
}
.flow-designer-sider .sider-header .sider-title[data-v-d53929bf] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 600;
  color: var(--color-text-primary, #1f2937);
}
@media (max-width: 768px) {
.flow-designer-sider .flow-designer-sider[data-v-d53929bf] {
    padding: 12px;
}
}
.flow-designer-sider .sider-search[data-v-d53929bf] {
  margin: 12px 0 0;
}
.connector-tabs[data-v-d53929bf] {
  flex: 1;
  overflow: hidden;
  margin-top: 8px;
}
.connector-tabs[data-v-d53929bf] .ant-tabs-content {
  height: calc(100% - 40px);
}
.connector-tabs[data-v-d53929bf] .ant-tabs-tabpane {
  height: 100%;
  overflow-y: auto;
  padding: 0 16px 16px;
}
.connector-tabs[data-v-d53929bf] .ant-tabs-nav {
  margin: 0 16px;
}
.connector-list[data-v-d53929bf] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-height: calc(100vh - 280px);
  overflow-y: auto;
  padding-right: 4px;
}
.connector-list[data-v-d53929bf]::-webkit-scrollbar {
  width: 4px;
}
.connector-list[data-v-d53929bf]::-webkit-scrollbar-track {
  background: transparent;
}
.connector-list[data-v-d53929bf]::-webkit-scrollbar-thumb {
  background: var(--designer-scrollbar-thumb, #d1d5db);
  border-radius: 2px;
}
.connector-list[data-v-d53929bf]::-webkit-scrollbar-thumb:hover {
  background: var(--designer-scrollbar-thumb-hover, #9ca3af);
}
.connector-item[data-v-d53929bf] {
  display: flex;
  align-items: center;
  padding: 12px 14px;
  background: var(--designer-panel-bg, #ffffff);
  border: 1px solid var(--designer-panel-border, #e5e7eb);
  border-radius: var(--designer-node-radius, 8px);
  cursor: grab;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}
.connector-item[data-v-d53929bf]:hover {
  background: var(--designer-panel-bg, #ffffff);
  border-color: var(--color-primary-200, #bfdbfe);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}
.connector-item:hover .connector-icon-wrap[data-v-d53929bf] {
  transform: scale(1.08);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}
.connector-item[data-v-d53929bf]:active {
  cursor: grabbing;
  transform: translateY(0);
}
.connector-icon-wrap[data-v-d53929bf] {
  width: 40px;
  height: 40px;
  border-radius: var(--designer-node-radius, 8px);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  margin-right: 12px;
  flex-shrink: 0;
  background: linear-gradient(135deg, var(--icon-color, var(--color-primary-500, #3b82f6)) 0%, var(--icon-color-secondary, var(--color-primary-400, #60a5fa)) 100%) !important;
  color: #fff !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease;
}
.connector-info[data-v-d53929bf] {
  flex: 1;
  min-width: 0;
}
.connector-info .connector-name[data-v-d53929bf] {
  font-size: 13px;
  font-weight: 500;
  color: var(--color-text-primary, #1f2937);
  margin-bottom: 2px;
}
.connector-info .connector-desc[data-v-d53929bf] {
  font-size: 11px;
  color: var(--color-text-secondary, #6b7280);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* ========== 画布区域 ========== */
.flow-designer-canvas[data-v-d53929bf] {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.canvas-toolbar[data-v-d53929bf] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: var(--designer-toolbar-height, 48px);
  padding: 0 16px;
  background: var(--designer-toolbar-bg, #ffffff);
  border-bottom: 1px solid var(--designer-panel-border, #e5e7eb);
  gap: 16px;
  flex-shrink: 0;
}
.canvas-toolbar .toolbar-left[data-v-d53929bf] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.canvas-toolbar .toolbar-left .flow-name-input[data-v-d53929bf] {
  font-size: 15px;
  font-weight: 600;
  color: var(--color-text-primary, #1f2937);
  width: 200px;
}
.canvas-toolbar .toolbar-left .flow-name-input[data-v-d53929bf] .ant-input {
  font-size: 15px;
  font-weight: 600;
}
.canvas-toolbar .toolbar-left .flow-name-input[data-v-d53929bf] .ant-input::placeholder {
  font-weight: 400;
  color: var(--color-text-placeholder, #bfbfbf);
}
.canvas-toolbar .toolbar-center[data-v-d53929bf] {
  display: flex;
  align-items: center;
  gap: 4px;
  background: transparent;
  border-radius: 6px;
  padding: 2px;
}
.canvas-toolbar .toolbar-center .ant-btn[data-v-d53929bf] {
  border: none;
  background: transparent;
  color: var(--color-text-secondary, #6b7280);
}
.canvas-toolbar .toolbar-center .ant-btn[data-v-d53929bf]:hover:not(:disabled) {
  background: var(--designer-panel-bg, #ffffff);
  color: var(--color-primary-500, #3b82f6);
}
.canvas-toolbar .toolbar-center .ant-btn[data-v-d53929bf]:disabled {
  color: var(--color-text-disabled, #d1d5db);
}
.canvas-toolbar .toolbar-center .zoom-label[data-v-d53929bf] {
  font-size: 13px;
  color: var(--color-text-primary, #1f2937);
  min-width: 48px;
  text-align: center;
  font-weight: 500;
  padding: 0 8px;
}
.canvas-wrapper[data-v-d53929bf] {
  flex: 1;
  overflow: hidden;
  position: relative;
  cursor: grab;
}
.canvas-wrapper[data-v-d53929bf]:active {
  cursor: grabbing;
}
.canvas-container[data-v-d53929bf] {
  width: 5000px;
  height: 5000px;
  position: relative;
  background: var(--designer-canvas-bg, #fafbfc);
  background-image: radial-gradient(circle, var(--designer-canvas-grid-color, #e5e7eb) 1px, transparent 1px);
  background-size: 20px 20px;
}
.canvas-empty[data-v-d53929bf] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  pointer-events: none;
}
.canvas-empty .empty-icon[data-v-d53929bf] {
  font-size: 64px;
  color: var(--color-text-disabled, #d1d5db);
  margin-bottom: 16px;
}
.canvas-empty .empty-title[data-v-d53929bf] {
  font-size: 16px;
  color: var(--color-text-secondary, #6b7280);
  margin-bottom: 8px;
}
.canvas-empty .empty-desc[data-v-d53929bf] {
  font-size: 13px;
  color: var(--color-text-tertiary, #9ca3af);
  margin-bottom: 16px;
}
/* ========== 节点样式 - 竞品风格优化 ========== */
.flow-node[data-v-d53929bf] {
  position: absolute;
  width: 200px;
  background: var(--designer-node-bg, #ffffff);
  border: 1.5px solid var(--designer-panel-border, #e5e7eb);
  border-radius: var(--designer-node-radius, 8px);
  cursor: move;
  user-select: none;
  box-shadow: var(--designer-node-shadow);
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 1;
  overflow: hidden;
}
.flow-node[data-v-d53929bf]:hover {
  box-shadow: var(--designer-node-shadow-hover);
  border-color: var(--designer-node-border-hover, #3b82f6);
  transform: translateY(-2px);
}
.flow-node.flow-node-selected[data-v-d53929bf] {
  border-color: var(--designer-node-border-selected, #3b82f6);
  box-shadow: var(--designer-node-shadow-selected);
}
.flow-node.flow-node-trigger[data-v-d53929bf]::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: var(--designer-node-type-bar-width, 4px);
  background: var(--color-success-500, #10b981);
  z-index: 1;
}
.flow-node.flow-node-action[data-v-d53929bf]::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: var(--designer-node-type-bar-width, 4px);
  background: var(--color-primary-500, #3b82f6);
  z-index: 1;
}
.flow-node.flow-node-logic[data-v-d53929bf]::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: var(--designer-node-type-bar-width, 4px);
  background: var(--color-warning-500, #f59e0b);
  z-index: 1;
}
.flow-node.flow-node-success[data-v-d53929bf] {
  border-color: var(--color-success-500, #10b981);
}
.flow-node.flow-node-success[data-v-d53929bf]::before {
  background: var(--color-success-500, #10b981) !important;
}
.flow-node.flow-node-error[data-v-d53929bf] {
  border-color: var(--color-error-500, #ef4444);
}
.flow-node.flow-node-error[data-v-d53929bf]::before {
  background: var(--color-error-500, #ef4444) !important;
}
.flow-node.flow-node-running[data-v-d53929bf] {
  border-color: var(--color-primary-500, #3b82f6);
  animation: node-pulse-d53929bf 1.5s ease-in-out infinite;
}
.flow-node.flow-node-running[data-v-d53929bf]::before {
  background: var(--color-primary-500, #3b82f6) !important;
}
@keyframes node-pulse-d53929bf {
0%,
  100% {
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2);
}
50% {
    box-shadow: 0 0 0 6px rgba(59, 130, 246, 0.12);
}
}
.node-header[data-v-d53929bf] {
  display: flex;
  align-items: center;
  padding: 12px 14px 12px 18px;
  gap: 10px;
  position: relative;
}
.node-icon-wrap[data-v-d53929bf] {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
  background: linear-gradient(135deg, var(--node-color, var(--color-primary-500, #3b82f6)) 0%, var(--node-color-secondary, var(--color-primary-400, #60a5fa)) 100%) !important;
  color: #fff !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15);
}
.node-title[data-v-d53929bf] {
  flex: 1;
  font-size: 13px;
  font-weight: 600;
  color: var(--color-text-primary, #1f2937);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.node-status-dot[data-v-d53929bf] {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
  box-shadow: 0 0 4px currentColor;
}
.node-status-dot.status-success[data-v-d53929bf] {
  background: var(--color-success-500, #10b981);
  box-shadow: 0 0 6px var(--color-success-500, #10b981);
}
.node-status-dot.status-error[data-v-d53929bf] {
  background: var(--color-error-500, #ef4444);
  box-shadow: 0 0 6px var(--color-error-500, #ef4444);
}
.node-status-dot.status-running[data-v-d53929bf] {
  background: var(--color-primary-500, #3b82f6);
  animation: dot-blink-d53929bf 1s ease-in-out infinite;
}
@keyframes dot-blink-d53929bf {
0%,
  100% {
    opacity: 1;
    box-shadow: 0 0 6px var(--color-primary-500, #3b82f6);
}
50% {
    opacity: 0.5;
    box-shadow: 0 0 12px var(--color-primary-500, #3b82f6);
}
}
.node-delete-btn[data-v-d53929bf] {
  opacity: 0;
  transition: opacity 0.2s;
  color: var(--color-error-500, #ef4444);
  font-size: 12px;
  padding: 0 2px;
  background: rgba(239, 68, 68, 0.1);
  border-radius: 4px;
  padding: 2px 4px;
}
.node-delete-btn[data-v-d53929bf]:hover {
  background: rgba(239, 68, 68, 0.2);
}
.flow-node:hover .node-delete-btn[data-v-d53929bf] {
  opacity: 1;
}
.node-body[data-v-d53929bf] {
  padding: 10px 14px 14px 18px;
  border-top: 1px solid var(--designer-panel-border, #e5e7eb);
  background: var(--designer-node-bg, #ffffff);
}
.node-type-badge[data-v-d53929bf] {
  display: inline-flex;
  align-items: center;
  font-size: 11px;
  font-weight: 500;
  padding: 3px 8px;
  border-radius: 6px;
  margin-bottom: 6px;
  letter-spacing: 0.3px;
}
.node-type-badge.badge-trigger[data-v-d53929bf] {
  background: var(--color-success-50, #ecfdf5);
  color: var(--color-success-600, #059669);
}
.node-type-badge.badge-action[data-v-d53929bf] {
  background: var(--color-primary-50, #eff6ff);
  color: var(--color-primary-600, #2563eb);
}
.node-type-badge.badge-logic[data-v-d53929bf] {
  background: var(--color-warning-50, #fffbeb);
  color: var(--color-warning-600, #d97706);
}
.node-action[data-v-d53929bf] {
  font-size: 12px;
  color: var(--color-text-secondary, #6b7280);
  margin-top: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.node-result[data-v-d53929bf] {
  font-size: 11px;
  margin-top: 8px;
  padding: 4px 10px;
  border-radius: 6px;
  font-weight: 500;
}
.node-result.success[data-v-d53929bf] {
  background: var(--color-success-50, #ecfdf5);
  color: var(--color-success-600, #059669);
}
.node-result.error[data-v-d53929bf] {
  background: var(--color-error-50, #fef2f2);
  color: var(--color-error-600, #dc2626);
}
.node-result.running[data-v-d53929bf] {
  background: var(--color-primary-50, #eff6ff);
  color: var(--color-primary-600, #2563eb);
}
/* ========== 端口 - 优化 ========== */
.node-port[data-v-d53929bf] {
  position: absolute;
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: crosshair;
  z-index: 2;
}
.node-port .port-dot[data-v-d53929bf] {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--designer-panel-bg, #ffffff);
  border: 2px solid var(--designer-edge-color, #d1d5db);
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.node-port:hover .port-dot[data-v-d53929bf] {
  border-color: var(--color-primary-500, #3b82f6);
  background: var(--color-primary-500, #3b82f6);
  transform: scale(1.3);
  box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.2);
}
.node-port-input[data-v-d53929bf] {
  left: 50%;
  top: 0;
  transform: translate(-50%, -50%);
}
.node-port-output[data-v-d53929bf] {
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 50%);
}
/* ========== 连线 - 竞品风格优化 ========== */
.edges-layer[data-v-d53929bf] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
  overflow: visible;
}
.edge-path[data-v-d53929bf] {
  pointer-events: stroke;
  cursor: pointer;
  stroke: var(--designer-edge-color, #d1d5db);
  stroke-width: 2px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));
}
.edge-path[data-v-d53929bf]:hover {
  stroke: var(--designer-edge-color-hover, #3b82f6);
  stroke-width: 3;
  filter: drop-shadow(0 2px 4px rgba(59, 130, 246, 0.3));
}
.edge-path.edge-selected[data-v-d53929bf] {
  stroke: var(--designer-edge-color-selected, #3b82f6);
  stroke-width: 2.5;
  stroke-dasharray: 8, 4;
  animation: edge-flow-d53929bf 0.6s linear infinite;
  filter: drop-shadow(0 2px 6px rgba(59, 130, 246, 0.4));
}
.edge-path.edge-success[data-v-d53929bf] {
  stroke: url(#edge-gradient-success);
  stroke-width: 2;
}
.edge-path.edge-error[data-v-d53929bf] {
  stroke: var(--color-error-500, #ef4444);
  stroke-dasharray: 6, 4;
  animation: edge-error-pulse-d53929bf 1s ease-in-out infinite;
}
.edge-path.edge-running[data-v-d53929bf] {
  stroke: url(#edge-gradient-running);
  stroke-width: 2.5;
  stroke-dasharray: 12, 6;
  animation: edge-flow-d53929bf 0.8s linear infinite;
}
@keyframes edge-flow-d53929bf {
from {
    stroke-dashoffset: 24;
}
to {
    stroke-dashoffset: 0;
}
}
@keyframes edge-error-pulse-d53929bf {
0%,
  100% {
    stroke-width: 2;
    filter: drop-shadow(0 0 4px rgba(239, 68, 68, 0.4));
}
50% {
    stroke-width: 3;
    filter: drop-shadow(0 0 8px rgba(239, 68, 68, 0.6));
}
}
/* ========== 执行日志面板 ========== */
.log-panel[data-v-d53929bf] {
  background: var(--designer-panel-bg, #ffffff);
  border-top: 1px solid var(--designer-panel-border, #e5e7eb);
  max-height: 200px;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
}
.log-panel .log-panel-header[data-v-d53929bf] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 16px;
  border-bottom: 1px solid var(--designer-panel-border, #e5e7eb);
}
.log-panel .log-panel-header .log-panel-title[data-v-d53929bf] {
  font-size: 13px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 6px;
}
.log-panel .log-panel-content[data-v-d53929bf] {
  flex: 1;
  overflow-y: auto;
  padding: 8px 16px;
}
.log-item[data-v-d53929bf] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 4px 0;
  font-size: 12px;
  border-bottom: 1px solid var(--designer-panel-border, #e5e7eb);
}
.log-item .log-time[data-v-d53929bf] {
  color: var(--color-text-tertiary, #9ca3af);
  min-width: 70px;
}
.log-item .log-node[data-v-d53929bf] {
  color: var(--color-text-secondary, #6b7280);
  font-weight: 500;
  min-width: 100px;
}
.log-item .log-message[data-v-d53929bf] {
  color: var(--color-text-secondary, #6b7280);
  flex: 1;
}
.log-item.log-success .log-message[data-v-d53929bf] {
  color: var(--color-success-500, #10b981);
}
.log-item.log-error .log-message[data-v-d53929bf] {
  color: var(--color-error-500, #ef4444);
}
.log-panel-toggle[data-v-d53929bf] {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  background: var(--designer-panel-bg, #ffffff);
  border: 1px solid var(--designer-panel-border, #e5e7eb);
  border-bottom: none;
  border-radius: 8px 8px 0 0;
  padding: 4px 16px;
  font-size: 12px;
  color: var(--color-text-secondary, #6b7280);
  cursor: pointer;
  z-index: 10;
}
.log-panel-toggle[data-v-d53929bf]:hover {
  color: var(--color-primary-500, #3b82f6);
}
/* ========== 右键菜单 ========== */
.context-menu[data-v-d53929bf] {
  position: fixed;
  background: var(--designer-panel-bg, #ffffff);
  border-radius: 8px;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
  padding: 4px 0;
  z-index: 1000;
  min-width: 160px;
}
.context-menu-item[data-v-d53929bf] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  font-size: 13px;
  color: var(--color-text-secondary, #6b7280);
  cursor: pointer;
  transition: all 0.2s;
}
.context-menu-item[data-v-d53929bf]:hover {
  background: var(--color-primary-50, #eff6ff);
  color: var(--color-text-primary, #1f2937);
}
.context-menu-item.danger[data-v-d53929bf] {
  color: var(--color-error-500, #ef4444);
}
.context-menu-item.danger[data-v-d53929bf]:hover {
  background: var(--color-error-50, #fef2f2);
}
.context-menu-divider[data-v-d53929bf] {
  height: 1px;
  background: var(--designer-panel-border, #e5e7eb);
  margin: 4px 0;
}
/* ========== 配置抽屉 - 竞品风格优化 ========== */
.config-drawer[data-v-d53929bf] .ant-drawer-header {
  background: var(--designer-panel-bg, #ffffff);
  border-bottom: 1px solid var(--designer-panel-border, #e5e7eb);
  padding: 16px 20px;
}
.config-drawer[data-v-d53929bf] .ant-drawer-header .ant-drawer-title {
  font-weight: 600;
  font-size: 15px;
  color: var(--color-text-primary, #1f2937);
}
.config-drawer[data-v-d53929bf] .ant-drawer-body {
  padding: 0;
  background: var(--designer-canvas-bg, #fafbfc);
}
.config-drawer[data-v-d53929bf] .ant-drawer-footer {
  background: var(--designer-panel-bg, #ffffff);
  border-top: 1px solid var(--designer-panel-border, #e5e7eb);
  padding: 16px 20px;
}
/* 表单卡片分组 - 现代化风格 */
.config-section[data-v-d53929bf] {
  background: var(--designer-panel-bg, #ffffff);
  border-radius: var(--designer-node-radius, 8px);
  margin: 16px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  border: 1px solid var(--designer-panel-border, #e5e7eb);
  overflow: hidden;
  transition: box-shadow 0.2s;
}
.config-section[data-v-d53929bf]:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.config-section .config-section-header[data-v-d53929bf] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 18px;
  background: var(--color-neutral-50, #fafbfc);
  border-bottom: 1px solid var(--designer-panel-border, #e5e7eb);
  cursor: pointer;
  user-select: none;
}
.config-section .config-section-header .section-title[data-v-d53929bf] {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  font-weight: 600;
  color: var(--color-text-primary, #1f2937);
}
.config-section .config-section-header .section-title .section-icon[data-v-d53929bf] {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-primary-50, #eff6ff);
  color: var(--color-primary-500, #3b82f6);
  font-size: 14px;
}
.config-section .config-section-header .section-action[data-v-d53929bf] {
  color: var(--color-text-secondary, #6b7280);
  transition: transform 0.2s;
}
.config-section .config-section-header .section-action.collapsed[data-v-d53929bf] {
  transform: rotate(-90deg);
}
.config-section .config-section-content[data-v-d53929bf] {
  padding: 18px;
  transition: all 0.3s ease;
}
.config-section .config-section-content.collapsed[data-v-d53929bf] {
  display: none;
}
/* 表单样式优化 */
.config-form[data-v-d53929bf] .ant-form-item {
  margin-bottom: 18px;
}
.config-form[data-v-d53929bf] .ant-form-item:last-child {
  margin-bottom: 0;
}
.config-form[data-v-d53929bf] .ant-form-item-label {
  padding-bottom: 6px;
}
.config-form[data-v-d53929bf] .ant-form-item-label label {
  font-size: 13px;
  font-weight: 500;
  color: var(--color-text-primary, #1f2937);
}
.config-form[data-v-d53929bf] .ant-input,
.config-form[data-v-d53929bf] .ant-input-affix-wrapper,
.config-form[data-v-d53929bf] .ant-select-selector,
.config-form[data-v-d53929bf] .ant-picker {
  border-radius: 8px;
  border-color: var(--designer-panel-border, #e5e7eb);
  transition: all 0.2s;
}
.config-form[data-v-d53929bf] .ant-input:hover,
.config-form[data-v-d53929bf] .ant-input-affix-wrapper:hover,
.config-form[data-v-d53929bf] .ant-select-selector:hover,
.config-form[data-v-d53929bf] .ant-picker:hover {
  border-color: var(--color-primary-200, #bfdbfe);
}
.config-form[data-v-d53929bf] .ant-input:focus,
.config-form[data-v-d53929bf] .ant-input-affix-wrapper:focus,
.config-form[data-v-d53929bf] .ant-select-selector:focus,
.config-form[data-v-d53929bf] .ant-picker:focus,
.config-form[data-v-d53929bf] .ant-input.ant-input-affix-wrapper-focused,
.config-form[data-v-d53929bf] .ant-input-affix-wrapper.ant-input-affix-wrapper-focused,
.config-form[data-v-d53929bf] .ant-select-selector.ant-input-affix-wrapper-focused,
.config-form[data-v-d53929bf] .ant-picker.ant-input-affix-wrapper-focused,
.config-form[data-v-d53929bf] .ant-input.ant-select-focused,
.config-form[data-v-d53929bf] .ant-input-affix-wrapper.ant-select-focused,
.config-form[data-v-d53929bf] .ant-select-selector.ant-select-focused,
.config-form[data-v-d53929bf] .ant-picker.ant-select-focused {
  border-color: var(--color-primary-500, #3b82f6);
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}
.config-form[data-v-d53929bf] .ant-form-item-explain-error {
  font-size: 12px;
  margin-top: 4px;
}
/* 标签浮动效果 */
.float-label-form[data-v-d53929bf] .ant-form-item {
  position: relative;
}
.float-label-form[data-v-d53929bf] .ant-form-item-label {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  background: var(--designer-panel-bg, #ffffff);
  padding: 0 4px;
  transition: all 0.2s;
}
.float-label-form[data-v-d53929bf] .ant-form-item-label label {
  font-size: 13px;
  color: var(--color-text-tertiary, #9ca3af);
}
.float-label-form[data-v-d53929bf] .ant-form-item.has-value .ant-form-item-label,
.float-label-form[data-v-d53929bf] .ant-form-item-focused .ant-form-item-label {
  top: 0;
  font-size: 11px;
}
.float-label-form[data-v-d53929bf] .ant-form-item.has-value .ant-form-item-label label,
.float-label-form[data-v-d53929bf] .ant-form-item-focused .ant-form-item-label label {
  color: var(--color-primary-500, #3b82f6);
}
/* JSON 编辑器样式 */
.json-editor[data-v-d53929bf] {
  border-radius: 8px;
  border: 1px solid var(--designer-panel-border, #e5e7eb);
  overflow: hidden;
}
.json-editor[data-v-d53929bf]:focus-within {
  border-color: var(--color-primary-500, #3b82f6);
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}
.json-editor[data-v-d53929bf] .CodeMirror {
  border-radius: 8px;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  font-size: 12px;
}
.code-textarea[data-v-d53929bf] .ant-input {
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  font-size: 12px;
}
.drawer-footer[data-v-d53929bf] {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}
/* Mobile Responsive Styles */
@media (max-width: 768px) {
.flow-designer-sider[data-v-d53929bf] {
    position: fixed;
    z-index: 100;
    box-shadow: 2px 0 8px rgba(0, 0, 0, 0.15);
    padding: 12px;
}
.canvas-toolbar[data-v-d53929bf] {
    height: auto;
    padding: 8px;
    flex-wrap: wrap;
    gap: 8px;
}
.canvas-toolbar .toolbar-left[data-v-d53929bf] {
    flex: 1;
    min-width: 0;
}
.canvas-toolbar .toolbar-left .flow-name-input[data-v-d53929bf] {
    width: 120px;
}
.canvas-toolbar .toolbar-center[data-v-d53929bf] {
    order: 3;
    width: 100%;
    justify-content: center;
}
.canvas-toolbar .toolbar-right[data-v-d53929bf] {
    flex-shrink: 0;
}
.canvas-toolbar .toolbar-right .ant-btn[data-v-d53929bf] {
    padding: 0 8px;
    font-size: 12px;
}
.canvas-toolbar .toolbar-right .ant-btn span[data-v-d53929bf]:last-child {
    display: none;
}
.flow-node[data-v-d53929bf] {
    width: 140px;
}
.flow-node .node-header[data-v-d53929bf] {
    padding: 6px 8px 6px 12px;
}
.flow-node .node-title[data-v-d53929bf] {
    font-size: 12px;
}
}
@media (max-width: 575px) {
.canvas-toolbar .toolbar-center[data-v-d53929bf] {
    display: none;
}
.canvas-toolbar .toolbar-right .ant-btn[data-v-d53929bf] {
    padding: 0 6px;
}
.flow-node[data-v-d53929bf] {
    width: 120px;
}
.log-panel[data-v-d53929bf] {
    max-height: 150px;
}
}
/* ==================== 移动端适配增强 ==================== */
@media (max-width: 768px) {
.flow-designer.mobile-mode[data-v-d53929bf] {
    height: 100vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.flow-designer.mobile-mode .flow-designer-layout[data-v-d53929bf] {
    flex: 1;
    overflow: hidden;
}
  /* 移动端抽屉 */
.mobile-drawer[data-v-d53929bf] .ant-drawer-body {
    padding: 0;
}
.mobile-drawer .sider-header[data-v-d53929bf] {
    padding: 12px 16px;
}
.mobile-drawer .sider-search[data-v-d53929bf] {
    padding: 0 12px 12px;
}
  /* 移动端工具栏 */
.canvas-toolbar[data-v-d53929bf] {
    height: auto;
    flex-wrap: wrap;
    padding: 8px 12px;
    gap: 8px;
}
.toolbar-left[data-v-d53929bf],
  .toolbar-center[data-v-d53929bf],
  .toolbar-right[data-v-d53929bf] {
    flex: none;
}
.toolbar-left[data-v-d53929bf] {
    flex: 1;
    min-width: 0;
}
.toolbar-left .flow-name-input[data-v-d53929bf] {
    flex: 1;
    min-width: 0;
}
.toolbar-center[data-v-d53929bf] {
    order: 3;
    width: 100%;
    justify-content: center;
}
.zoom-label[data-v-d53929bf] {
    font-size: 12px;
    padding: 0 8px;
}
  /* 隐藏桌面端侧边栏 */
.flow-designer-layout[data-v-d53929bf] .ant-layout-sider {
    display: none;
}
  /* 移动端画布 */
.flow-designer-canvas[data-v-d53929bf] {
    flex: 1;
    overflow: hidden;
}
.canvas-wrapper[data-v-d53929bf] {
    width: 100%;
    height: 100%;
}
  /* 移动端节点 */
.flow-node[data-v-d53929bf] {
    padding: 8px;
    font-size: 12px;
}
.flow-node-header[data-v-d53929bf] {
    padding: 4px 8px;
    font-size: 12px;
}
.flow-node-body[data-v-d53929bf] {
    padding: 6px 8px;
}
.flow-node-icon[data-v-d53929bf] {
    width: 24px;
    height: 24px;
    font-size: 14px;
}
  /* 移动端配置抽屉 */
.flow-designer.mobile-mode[data-v-d53929bf] .ant-drawer-content-wrapper {
    width: 100% !important;
}
}
/* ==================== Page Container ==================== */
.event-monitor[data-v-4e8faa3a] {
  padding: var(--spacing-4);
  min-height: 100%;
  background: var(--color-bg-layout);
}
/* ==================== Hero Section ==================== */
.hero-bg-decoration[data-v-4e8faa3a] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-4e8faa3a] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-4e8faa3a] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-4e8faa3a] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-4e8faa3a] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-4e8faa3a] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-4e8faa3a] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-4e8faa3a] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-4e8faa3a] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-4e8faa3a] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-4e8faa3a] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-4e8faa3a] {
  flex: 1;
}
.hero-title[data-v-4e8faa3a] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-4e8faa3a] {
  margin: 0 0 16px;
  font-size: 14px;
  opacity: 0.85;
  max-width: 600px;
}
.hero-stats[data-v-4e8faa3a] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.hero-stat[data-v-4e8faa3a] {
  display: flex;
  flex-direction: column;
}
.hero-stat-value[data-v-4e8faa3a] {
  font-size: 22px;
  font-weight: 700;
}
.hero-stat-label[data-v-4e8faa3a] {
  font-size: 12px;
  opacity: 0.7;
}
.hero-stat-divider[data-v-4e8faa3a] {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.25);
}
.hero-right[data-v-4e8faa3a] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
/* ==================== Tabs ==================== */
.monitor-tabs[data-v-4e8faa3a] {
  background: #fff;
  padding: 0 24px 24px;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
/* ==================== Filter Bar ==================== */
.filter-bar[data-v-4e8faa3a] {
  background: #f8f9fc;
  padding: 16px 24px;
  border-radius: 0;
  border-bottom: 1px solid #ebeef5;
}
@media (max-width: 768px) {
.filter-bar[data-v-4e8faa3a] {
    padding: 12px;
}
}
.filter-bar-inner[data-v-4e8faa3a] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.filter-left[data-v-4e8faa3a] {
  display: flex;
  gap: 12px;
  flex: 1;
  flex-wrap: wrap;
}
.filter-right[data-v-4e8faa3a] {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.filter-search[data-v-4e8faa3a] {
  max-width: 320px;
}
.filter-select[data-v-4e8faa3a] {
  width: 160px;
}
/* ==================== Card Grid ==================== */
.card-grid[data-v-4e8faa3a] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
/* ==================== Event Card ==================== */
.event-card[data-v-4e8faa3a] {
  position: relative;
  background: #fff;
  border-radius: 14px;
  border: 1px solid #ebeef5;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  padding: 0;
  cursor: default;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.event-card[data-v-4e8faa3a]:hover {
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(24, 144, 255, 0.15);
  border-color: transparent;
  transform: translateY(-4px);
}
.event-card[data-v-4e8faa3a]:active {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}
/* Accent bar */
.event-card__accent[data-v-4e8faa3a] {
  height: 4px;
  width: 100%;
  flex-shrink: 0;
}
/* Card header */
.event-card__header[data-v-4e8faa3a] {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 20px 0;
}
.event-card__icon-wrap[data-v-4e8faa3a] {
  width: 46px;
  height: 46px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15);
}
.event-card__icon[data-v-4e8faa3a] {
  color: white;
  font-size: 24px;
}
.event-card__title-group[data-v-4e8faa3a] {
  min-width: 0;
  flex: 1;
}
.event-card__name[data-v-4e8faa3a] {
  font-size: 15px;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.88);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.4;
}
.event-card__code[data-v-4e8faa3a] {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.35);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
}
.event-card__header-right[data-v-4e8faa3a] {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.event-card__status-tag[data-v-4e8faa3a] {
  border-radius: 6px;
  font-size: 11px;
  padding: 0 8px;
  line-height: 22px;
  border: none;
  font-weight: 500;
}
.event-card__more-btn[data-v-4e8faa3a] {
  color: rgba(0, 0, 0, 0.3);
  width: 28px;
  height: 28px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
}
.event-card__more-btn[data-v-4e8faa3a]:hover {
  color: rgba(0, 0, 0, 0.75);
  background: rgba(0, 0, 0, 0.04);
}
/* Description */
.event-card__desc[data-v-4e8faa3a] {
  font-size: 13px;
  color: rgba(0, 0, 0, 0.45);
  line-height: 1.5;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  padding: 8px 20px 0;
}
/* Tags */
.event-card__tags[data-v-4e8faa3a] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 12px 20px 0;
}
.event-card__tag[data-v-4e8faa3a] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  font-weight: 500;
  padding: 2px 10px;
  border-radius: 6px;
  line-height: 1.4;
  white-space: nowrap;
  transition: all 0.2s ease;
  background: #f5f5f5;
  color: #595959;
  border: none;
}
/* Meta */
.event-card__meta[data-v-4e8faa3a] {
  display: flex;
  gap: 16px;
  padding: 12px 20px 0;
  font-size: 12px;
  color: rgba(0, 0, 0, 0.45);
}
.event-card__meta-item[data-v-4e8faa3a] {
  display: flex;
  align-items: center;
  gap: 4px;
}
/* Footer */
.event-card__footer[data-v-4e8faa3a] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 11px;
  color: rgba(0, 0, 0, 0.3);
  padding: 10px 20px 14px;
  margin-top: auto;
  border-top: 1px solid #f0f0f0;
}
.event-card__footer-item[data-v-4e8faa3a] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.event-card__footer-icon[data-v-4e8faa3a] {
  font-size: 11px;
}
.event-card__footer-item[data-v-4e8faa3a] .ant-btn-link {
  font-size: 12px;
  padding: 0;
  height: auto;
}
/* ==================== Empty State ==================== */
.card-empty[data-v-4e8faa3a] {
  padding: 80px 0;
}
/* ==================== Pagination ==================== */
.card-pagination[data-v-4e8faa3a] {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding: 8px 0;
}
/* ==================== List Content (Table wrapper) ==================== */
.list-content[data-v-4e8faa3a] {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  overflow: hidden;
}
.events-table[data-v-4e8faa3a] {
  border-radius: 12px;
}
/* ==================== Pre formatting ==================== */
pre[data-v-4e8faa3a] {
  background: #f5f5f5;
  padding: 12px;
  border-radius: 4px;
  overflow-x: auto;
}
/* ==================== Responsive - Tablet ==================== */
@media (max-width: 1200px) {
.card-grid[data-v-4e8faa3a] {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}
.hero-title[data-v-4e8faa3a] {
    font-size: 24px;
}
.hero-stat[data-v-4e8faa3a] {
    padding: 0 14px;
}
.hero-stat-value[data-v-4e8faa3a] {
    font-size: 22px;
}
}
/* ==================== Responsive - Mobile ==================== */
@media (max-width: 768px) {
.event-monitor[data-v-4e8faa3a] {
    padding: 12px;
}
.hero-content[data-v-4e8faa3a] {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
}
.hero-title[data-v-4e8faa3a] {
    font-size: 22px;
}
.hero-desc[data-v-4e8faa3a] {
    font-size: 13px;
    margin-bottom: 20px;
}
.hero-stat[data-v-4e8faa3a] {
    padding: 0 12px;
}
.hero-stat-value[data-v-4e8faa3a] {
    font-size: 20px;
}
.hero-right[data-v-4e8faa3a] {
    flex-direction: row;
    width: 100%;
}
.monitor-tabs[data-v-4e8faa3a] {
    padding: 0 12px 20px;
}
.monitor-tabs[data-v-4e8faa3a] .ant-tabs-nav {
    padding: 0 4px;
}
.monitor-tabs[data-v-4e8faa3a] .ant-tabs-tab {
    font-size: 13px;
    padding: 8px 12px;
}
.filter-bar[data-v-4e8faa3a] {
    padding: 12px 16px;
}
.filter-bar-inner[data-v-4e8faa3a] {
    flex-direction: column;
    align-items: stretch;
}
.filter-left[data-v-4e8faa3a] {
    flex-direction: column;
}
.filter-search[data-v-4e8faa3a] {
    max-width: 100%;
}
.filter-select[data-v-4e8faa3a] {
    width: 100%;
}
.card-grid[data-v-4e8faa3a] {
    grid-template-columns: 1fr;
    gap: 12px;
}
.list-content[data-v-4e8faa3a] {
    overflow-x: auto;
}
.list-content[data-v-4e8faa3a] .ant-table-container {
    min-width: 700px;
}
.list-content[data-v-4e8faa3a] .ant-table-thead > tr > th {
    font-size: 11px;
    padding: 8px 6px;
    white-space: nowrap;
}
.list-content[data-v-4e8faa3a] .ant-table-tbody > tr > td {
    font-size: 12px;
    padding: 8px 6px;
    white-space: nowrap;
}
.card-pagination[data-v-4e8faa3a] {
    justify-content: center;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.filter-bar[data-v-4e8faa3a] {
    padding: 12px;
}
}
/* ==================== Responsive - Small Mobile ==================== */
@media (max-width: 575px) {
.event-monitor[data-v-4e8faa3a] {
    padding: 8px;
}
.hero-title[data-v-4e8faa3a] {
    font-size: 20px;
}
.hero-right[data-v-4e8faa3a] {
    width: 100%;
}
.hero-stats[data-v-4e8faa3a] {
    flex-wrap: wrap;
    gap: 8px;
}
.hero-stat[data-v-4e8faa3a] {
    padding: 0 10px;
}
.hero-stat-divider[data-v-4e8faa3a] {
    display: none;
}
.hero-stat-value[data-v-4e8faa3a] {
    font-size: 18px;
}
.monitor-tabs[data-v-4e8faa3a] {
    padding: 0 8px 16px;
}
.monitor-tabs[data-v-4e8faa3a] .ant-tabs-tab {
    font-size: 12px;
    padding: 6px 10px;
}
.card-grid[data-v-4e8faa3a] {
    gap: 10px;
}
.event-card__header[data-v-4e8faa3a] {
    padding-left: 16px;
    padding-right: 16px;
    padding-top: 14px;
}
.event-card__icon-wrap[data-v-4e8faa3a] {
    width: 40px;
    height: 40px;
    border-radius: 10px;
}
.event-card__desc[data-v-4e8faa3a] {
    line-clamp: 1;
}
.event-card__tag[data-v-4e8faa3a] {
    font-size: 11px;
    padding: 2px 8px;
}
.filter-bar[data-v-4e8faa3a] {
    padding: 10px 12px;
}
.filter-bar-inner[data-v-4e8faa3a] {
    gap: 10px;
}
.filter-search[data-v-4e8faa3a] {
    font-size: 13px;
}
.filter-select[data-v-4e8faa3a] {
    font-size: 13px;
}
.event-card__name[data-v-4e8faa3a] {
    font-size: 14px;
}
.event-card__code[data-v-4e8faa3a] {
    font-size: 11px;
}
.event-card__status-tag[data-v-4e8faa3a] {
    font-size: 10px;
    padding: 0 6px;
    line-height: 20px;
}
.event-card__footer[data-v-4e8faa3a] {
    font-size: 10px;
    padding-top: 8px;
    padding-bottom: 12px;
}
.list-content[data-v-4e8faa3a] .ant-table-thead > tr > th {
    font-size: 10px;
    padding: 6px 4px;
}
.list-content[data-v-4e8faa3a] .ant-table-tbody > tr > td {
    font-size: 11px;
    padding: 6px 4px;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.filter-bar[data-v-4e8faa3a] {
    padding: 12px;
}
}
/* 移动端卡片视图样式 */
.mobile-card-list[data-v-4e8faa3a] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 16px;
}
.mobile-card[data-v-4e8faa3a] {
  background: #fff;
  border-radius: 14px;
  border: 1px solid #ebeef5;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}
.mobile-card-header[data-v-4e8faa3a] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: #fafafa;
  border-bottom: 1px solid #ebeef5;
}
.mobile-card-icon[data-v-4e8faa3a] {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.mobile-card-info[data-v-4e8faa3a] {
  flex: 1;
  min-width: 0;
}
.mobile-card-name[data-v-4e8faa3a] {
  font-size: 15px;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.88);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mobile-card-code[data-v-4e8faa3a] {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.35);
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mobile-card-body[data-v-4e8faa3a] {
  padding: 12px 16px;
}
.mobile-card-field[data-v-4e8faa3a] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 8px 0;
  border-bottom: 1px solid #fafafa;
}
.mobile-card-field[data-v-4e8faa3a]:last-child {
  border-bottom: none;
}
.mobile-card-label[data-v-4e8faa3a] {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.45);
  flex-shrink: 0;
}
.mobile-card-value[data-v-4e8faa3a] {
  font-size: 13px;
  color: rgba(0, 0, 0, 0.65);
  text-align: right;
  word-break: break-all;
  flex: 1;
  margin-left: 12px;
}
.mobile-card-actions[data-v-4e8faa3a] {
  display: flex;
  justify-content: flex-end;
  gap: 4px;
  padding: 8px 12px;
  border-top: 1px solid #ebeef5;
  background: #fafafa;
}
.integration-monitor-page[data-v-1650509c] {
  padding: 16px;
}
@media (max-width: 768px) {
.integration-monitor-page[data-v-1650509c] {
    padding: 12px;
}
}
/* ==================== Hero区域 ==================== */
.hero-bg-decoration[data-v-1650509c] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-1650509c] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-1650509c] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-1650509c] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-1650509c] {
  position: absolute;
  background: rgba(255, 255, 255, 0.06);
}
.hero-line--1[data-v-1650509c] {
  width: 300px;
  height: 1px;
  top: 40%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-1650509c] {
  width: 200px;
  height: 1px;
  bottom: 30%;
  right: 20%;
  transform: rotate(25deg);
}
.hero-dot[data-v-1650509c] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.15);
}
.hero-dot--1[data-v-1650509c] {
  top: 20%;
  right: 30%;
}
.hero-dot--2[data-v-1650509c] {
  bottom: 25%;
  right: 15%;
}
.hero-content[data-v-1650509c] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.hero-left[data-v-1650509c] {
  flex: 1;
}
.hero-title[data-v-1650509c] {
  font-size: 24px;
  font-weight: 600;
  margin: 0 0 8px 0;
  color: white;
}
.hero-desc[data-v-1650509c] {
  font-size: 14px;
  opacity: 0.85;
  margin: 0 0 20px 0;
}
.hero-stats[data-v-1650509c] {
  display: flex;
  align-items: center;
  gap: 0;
}
.hero-stat[data-v-1650509c] {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 20px;
  cursor: pointer;
}
.hero-stat-value[data-v-1650509c] {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.2;
}
.hero-stat-label[data-v-1650509c] {
  font-size: 12px;
  opacity: 0.75;
  margin-top: 4px;
}
.hero-stat-divider[data-v-1650509c] {
  width: 1px;
  height: 36px;
  background: rgba(255, 255, 255, 0.2);
}
.hero-right[data-v-1650509c] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
/* ==================== 图表卡片 ==================== */
.chart-card[data-v-1650509c] {
  border-radius: var(--radius-lg);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}
.chart-card-title[data-v-1650509c] {
  font-size: 15px;
  font-weight: 600;
  margin: 0 0 12px 0;
  color: var(--color-text-primary);
}
.chart-container[data-v-1650509c] {
  width: 100%;
  height: 280px;
}
/* ==================== 内容区域 ==================== */
.content-card[data-v-1650509c] {
  border-radius: var(--radius-lg);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}
.section-title[data-v-1650509c] {
  font-size: 15px;
  font-weight: 600;
  margin: 0 0 16px 0;
  color: var(--color-text-primary);
}
.card-pagination[data-v-1650509c] {
  display: flex;
  justify-content: flex-end;
  padding: 16px 0 0;
}
@media (max-width: 768px) {
.card-pagination[data-v-1650509c] {
    padding: 12px;
}
}
/* ==================== 状态指示灯 ==================== */
.status-indicator[data-v-1650509c] {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
}
.status-healthy[data-v-1650509c] {
  background: #52c41a;
  box-shadow: 0 0 6px rgba(82, 196, 26, 0.4);
}
.status-warning[data-v-1650509c] {
  background: #faad14;
  box-shadow: 0 0 6px rgba(250, 173, 20, 0.4);
}
.status-error[data-v-1650509c] {
  background: #ff4d4f;
  box-shadow: 0 0 6px rgba(255, 77, 79, 0.4);
  animation: blink-1650509c 1.5s ease-in-out infinite;
}
@keyframes blink-1650509c {
0%,
  100% {
    opacity: 1;
}
50% {
    opacity: 0.3;
}
}
/* ==================== 响应式 ==================== */
@media (max-width: 768px) {
.hero-content[data-v-1650509c] {
    flex-direction: column;
    gap: 16px;
}
.hero-right[data-v-1650509c] {
    width: 100%;
}
.hero-stats[data-v-1650509c] {
    flex-wrap: wrap;
    gap: 8px;
}
.hero-stat[data-v-1650509c] {
    padding: 0 12px;
}
.hero-stat-value[data-v-1650509c] {
    font-size: 22px;
}
.chart-container[data-v-1650509c] {
    height: 220px;
}
}
/* ==================== 移动端卡片样式 ==================== */
.mobile-card-list[data-v-1650509c] {
  display: none;
}
@media (max-width: 768px) {
.mobile-card-list[data-v-1650509c] {
    display: block;
    padding: 0;
    margin: 0;
}
.mobile-card[data-v-1650509c] {
    background: #fff;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.mobile-card__header[data-v-1650509c] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 12px;
}
.mobile-card__title[data-v-1650509c] {
    font-size: 14px;
    font-weight: 600;
    color: #1a1a1a;
    flex: 1;
    margin-right: 8px;
    word-break: break-word;
}
.mobile-card__body[data-v-1650509c] {
    margin-bottom: 12px;
}
.mobile-card__field[data-v-1650509c] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 0;
    border-bottom: 1px solid #f5f5f5;
}
.mobile-card__field[data-v-1650509c]:last-child {
    border-bottom: none;
}
.mobile-card__field-label[data-v-1650509c] {
    font-size: 13px;
    color: #8c8c8c;
}
.mobile-card__field-value[data-v-1650509c] {
    font-size: 13px;
    color: #333;
    text-align: right;
    max-width: 60%;
    word-break: break-word;
}
.mobile-card__footer[data-v-1650509c] {
    padding-top: 8px;
    border-top: 1px solid #f0f0f0;
}
.mobile-card__footer[data-v-1650509c] .ant-btn {
    min-height: auto;
    min-width: auto;
}
}
/* 切换开关样式 */
.switch-container[data-v-789093f2] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.switch-label[data-v-789093f2] {
  font-size: 14px;
  color: var(--color-text);
}
/* JSON编辑器样式 */
.code-editor[data-v-789093f2] {
  font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
  border-radius: 8px;
  transition: all 0.3s ease;
}
.code-editor[data-v-789093f2]:focus {
  box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
}
/* ==================== 页面容器 ==================== */
.api-design-list[data-v-e4ae68e5] {
  padding: var(--spacing-4);
  min-height: 100%;
  background: var(--color-bg-layout);
}
/* ==================== Hero Section ==================== */
.hero-bg-decoration[data-v-e4ae68e5] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-e4ae68e5] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-e4ae68e5] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-e4ae68e5] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-e4ae68e5] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-e4ae68e5] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-e4ae68e5] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-e4ae68e5] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-e4ae68e5] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-e4ae68e5] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-e4ae68e5] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-e4ae68e5] {
  flex: 1;
}
.hero-title[data-v-e4ae68e5] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-e4ae68e5] {
  margin: 0 0 16px;
  font-size: 14px;
  opacity: 0.85;
  max-width: 600px;
}
.hero-stats[data-v-e4ae68e5] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.hero-stat[data-v-e4ae68e5] {
  display: flex;
  flex-direction: column;
}
.hero-stat-value[data-v-e4ae68e5] {
  font-size: 22px;
  font-weight: 700;
}
.hero-stat-label[data-v-e4ae68e5] {
  font-size: 12px;
  opacity: 0.7;
}
.hero-stat-divider[data-v-e4ae68e5] {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.25);
}
.hero-right[data-v-e4ae68e5] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
/* ==================== 筛选栏 ==================== */
.filter-bar[data-v-e4ae68e5] {
  background: #fff;
  padding: 16px 32px;
  border-radius: 0 0 12px 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  position: relative;
  z-index: 2;
}
@media (max-width: 768px) {
.filter-bar[data-v-e4ae68e5] {
    padding: 12px;
}
}
.filter-bar-inner[data-v-e4ae68e5] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  max-width: 1600px;
  margin: 0 auto;
}
.filter-left[data-v-e4ae68e5] {
  display: flex;
  gap: 12px;
  flex: 1;
}
.filter-search[data-v-e4ae68e5] {
  max-width: 320px;
}
.filter-select[data-v-e4ae68e5] {
  width: 160px;
}
/* ==================== 卡片网格 ==================== */
.card-grid[data-v-e4ae68e5] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  padding: 20px 24px;
  margin: 0 auto;
}
@media (max-width: 768px) {
.card-grid[data-v-e4ae68e5] {
    padding: 12px;
}
}
/* ==================== API设计卡片 ==================== */
.api-card[data-v-e4ae68e5] {
  position: relative;
  background: #fff;
  border-radius: 14px;
  border: 1px solid #ebeef5;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  padding: 0;
  cursor: pointer;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.api-card[data-v-e4ae68e5]:hover {
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(24, 144, 255, 0.15);
  border-color: transparent;
  transform: translateY(-4px);
}
.api-card[data-v-e4ae68e5]:active {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}
/* 顶部装饰条 */
.api-card__accent[data-v-e4ae68e5] {
  height: 4px;
  width: 100%;
  flex-shrink: 0;
}
/* 卡片头部 */
.api-card__header[data-v-e4ae68e5] {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 20px 0;
}
.api-card__method-wrap[data-v-e4ae68e5] {
  width: 46px;
  height: 46px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15);
}
.api-card__method-text[data-v-e4ae68e5] {
  color: white;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.5px;
}
.api-card__title-group[data-v-e4ae68e5] {
  min-width: 0;
  flex: 1;
}
.api-card__name[data-v-e4ae68e5] {
  font-size: 15px;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.88);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.4;
}
.api-card__path[data-v-e4ae68e5] {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.35);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
}
.api-card__header-right[data-v-e4ae68e5] {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.api-card__status-tag[data-v-e4ae68e5] {
  border-radius: 6px;
  font-size: 11px;
  padding: 0 8px;
  line-height: 22px;
  border: none;
  font-weight: 500;
}
.api-card__more-btn[data-v-e4ae68e5] {
  color: rgba(0, 0, 0, 0.3);
  width: 28px;
  height: 28px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
}
.api-card__more-btn[data-v-e4ae68e5]:hover {
  color: rgba(0, 0, 0, 0.75);
  background: rgba(0, 0, 0, 0.04);
}
/* 描述 */
.api-card__desc[data-v-e4ae68e5] {
  font-size: 13px;
  color: rgba(0, 0, 0, 0.45);
  line-height: 1.5;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  padding: 8px 20px 0;
}
/* 标签 */
.api-card__tags[data-v-e4ae68e5] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 12px 20px 0;
}
.api-card__tag[data-v-e4ae68e5] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  font-weight: 500;
  padding: 2px 10px;
  border-radius: 6px;
  line-height: 1.4;
  white-space: nowrap;
  transition: all 0.2s ease;
  background: #f5f5f5;
  color: #595959;
  border: none;
}
/* 底部 */
.api-card__footer[data-v-e4ae68e5] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 11px;
  color: rgba(0, 0, 0, 0.3);
  padding: 10px 20px 14px;
  margin-top: auto;
}
.api-card__footer-item[data-v-e4ae68e5] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.api-card__footer-icon[data-v-e4ae68e5] {
  font-size: 11px;
}
/* ==================== 列表视图容器 ==================== */
.list-view-content[data-v-e4ae68e5] {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  margin: 20px 24px;
  overflow: hidden;
}
/* ==================== 空状态 ==================== */
.card-empty[data-v-e4ae68e5] {
  padding: 80px 0;
}
/* ==================== 分页 ==================== */
/* ==================== 表格样式 (列表视图) ==================== */
[data-v-e4ae68e5] .ant-table {
  background-color: var(--color-bg-container);
  border-radius: 8px;
  overflow: hidden;
}
[data-v-e4ae68e5] .ant-table-thead > tr > th {
  background-color: var(--color-bg-container);
  border-bottom: 2px solid var(--color-border);
  font-weight: 600;
  padding: 16px 16px;
  font-size: 14px;
  color: var(--color-text);
  background: linear-gradient(180deg, var(--color-bg-container) 0%, rgba(240, 242, 245, 0.8) 100%);
}
[data-v-e4ae68e5] .ant-table-tbody > tr > td {
  padding: 20px 16px;
  border-bottom: 1px solid var(--color-border);
  font-size: 14px;
  vertical-align: middle;
}
[data-v-e4ae68e5] .ant-table-tbody > tr {
  transition: all 0.3s ease;
}
[data-v-e4ae68e5] .ant-table-tbody > tr:hover > td {
  background-color: var(--color-bg-hover);
}
[data-v-e4ae68e5] .ant-table-pagination.ant-pagination {
  margin: 24px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
/* 表格单元格内容 */
.table-cell-content[data-v-e4ae68e5] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.table-cell-title[data-v-e4ae68e5] {
  font-weight: 600;
  font-size: 16px;
  color: var(--color-text);
  transition: all 0.3s ease;
  cursor: pointer;
  display: inline-block;
}
.table-cell-title[data-v-e4ae68e5]:hover {
  color: #1890ff;
  transform: translateX(2px);
}
.table-cell-subtitle[data-v-e4ae68e5] {
  font-size: 14px;
  color: var(--color-text-secondary);
  line-height: 1.5;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 575px;
}
/* 路径文本样式 */
.path-text[data-v-e4ae68e5] {
  font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
  font-weight: 600;
  color: #1890ff;
  font-size: 14px;
  background-color: rgba(24, 144, 255, 0.06);
  padding: 6px 12px;
  border-radius: 6px;
  border: 1px solid rgba(24, 144, 255, 0.2);
  display: inline-block;
  transition: all 0.3s ease;
}
.path-text[data-v-e4ae68e5]:hover {
  background-color: rgba(24, 144, 255, 0.1);
  border-color: rgba(24, 144, 255, 0.3);
}
/* 状态标签样式 */
.status-tag[data-v-e4ae68e5] {
  font-weight: 600;
  font-size: 12px;
  padding: 4px 12px;
  border-radius: 12px;
  text-transform: capitalize;
}
/* 方法标签样式 */
.method-tag[data-v-e4ae68e5] {
  font-weight: 600;
  font-size: 12px;
  padding: 4px 12px;
  border-radius: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
/* 标签容器 */
.tags-container[data-v-e4ae68e5] {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}
/* 标签项样式 */
.tag-item[data-v-e4ae68e5] {
  font-size: 12px;
  padding: 3px 10px;
  border-radius: 12px;
  background-color: var(--color-bg-container);
  border: 1px solid var(--color-border);
  color: var(--color-text-secondary);
  transition: all 0.3s ease;
}
.tag-item[data-v-e4ae68e5]:hover {
  background-color: var(--color-bg-hover);
  border-color: #1890ff;
  color: #1890ff;
}
/* 移动端卡片 */
.mobile-card-header[data-v-e4ae68e5] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
  gap: 8px;
}
.mobile-card-tags[data-v-e4ae68e5] {
  display: flex;
  gap: 4px;
  flex-shrink: 0;
  flex-wrap: wrap;
  justify-content: flex-end;
}
/* ==================== 响应式 - 平板 ==================== */
@media (max-width: 1200px) {
.card-grid[data-v-e4ae68e5] {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}
.hero-title[data-v-e4ae68e5] {
    font-size: 24px;
}
.hero-stat[data-v-e4ae68e5] {
    padding: 0 14px;
}
.hero-stat-value[data-v-e4ae68e5] {
    font-size: 22px;
}
.table-cell-subtitle[data-v-e4ae68e5] {
    max-width: 300px;
}
}
@media (max-width: 1200px) and (max-width: 768px) {
.card-grid[data-v-e4ae68e5] {
    padding: 12px;
}
}
/* ==================== 响应式 - 手机 ==================== */
@media (max-width: 768px) {
.hero-content[data-v-e4ae68e5] {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
}
.hero-title[data-v-e4ae68e5] {
    font-size: 22px;
}
.hero-desc[data-v-e4ae68e5] {
    font-size: 13px;
    margin-bottom: 20px;
}
.hero-stat[data-v-e4ae68e5] {
    padding: 0 12px;
}
.hero-stat-value[data-v-e4ae68e5] {
    font-size: 20px;
}
.hero-right[data-v-e4ae68e5] {
    flex-direction: row;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
.filter-right[data-v-e4ae68e5] .ant-radio-button-wrapper {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.filter-right[data-v-e4ae68e5] .ant-radio-button-wrapper svg,
  .filter-right[data-v-e4ae68e5] .ant-radio-button-wrapper i {
    display: inline-flex;
    visibility: visible !important;
}
.filter-bar[data-v-e4ae68e5] {
    padding: 12px 16px;
}
.filter-bar-inner[data-v-e4ae68e5] {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
}
.filter-left[data-v-e4ae68e5] {
    flex-direction: column;
    gap: 12px;
}
.filter-search[data-v-e4ae68e5] {
    max-width: 100%;
}
.filter-select[data-v-e4ae68e5] {
    width: 100%;
}
.card-grid[data-v-e4ae68e5] {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 16px 12px;
}
.list-view-content[data-v-e4ae68e5] {
    margin: 16px 12px;
}
.api-design-list[data-v-e4ae68e5] {
    padding: 12px;
}
[data-v-e4ae68e5] .ant-card-body {
    padding: 16px;
}
.table-cell-subtitle[data-v-e4ae68e5] {
    max-width: 200px;
}
.table-actions[data-v-e4ae68e5] {
    flex-direction: column;
    gap: 6px;
    align-items: flex-start;
}
.action-button[data-v-e4ae68e5] {
    width: 100%;
    text-align: center;
}
.tags-container[data-v-e4ae68e5] {
    gap: 6px;
}
[data-v-e4ae68e5] .ant-row {
    gap: 12px;
}
[data-v-e4ae68e5] .ant-col {
    margin-bottom: 0;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.filter-bar[data-v-e4ae68e5] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.card-grid[data-v-e4ae68e5] {
    padding: 12px;
}
}
/* ==================== 响应式 - 小屏手机 ==================== */
@media (max-width: 575px) {
.hero-title[data-v-e4ae68e5] {
    font-size: 20px;
}
.hero-right[data-v-e4ae68e5] {
    width: 100%;
}
.hero-stats[data-v-e4ae68e5] {
    flex-wrap: wrap;
    gap: 8px;
}
.hero-stat[data-v-e4ae68e5] {
    padding: 0 10px;
}
.hero-stat-divider[data-v-e4ae68e5] {
    display: none;
}
.hero-stat-value[data-v-e4ae68e5] {
    font-size: 18px;
}
.card-grid[data-v-e4ae68e5] {
    gap: 10px;
    padding: 12px 10px;
}
.api-card__header[data-v-e4ae68e5] {
    padding-left: 16px;
    padding-right: 16px;
    padding-top: 14px;
}
.api-card__method-wrap[data-v-e4ae68e5] {
    width: 40px;
    height: 40px;
    border-radius: 10px;
}
.api-card__method-text[data-v-e4ae68e5] {
    font-size: 11px;
}
.api-card__desc[data-v-e4ae68e5] {
    line-clamp: 1;
}
.api-card__tag[data-v-e4ae68e5] {
    font-size: 11px;
    padding: 2px 8px;
}
.api-card__name[data-v-e4ae68e5] {
    font-size: 14px;
}
.api-card__path[data-v-e4ae68e5] {
    font-size: 11px;
}
.api-card__status-tag[data-v-e4ae68e5] {
    font-size: 10px;
    padding: 0 6px;
    line-height: 20px;
}
.api-card__footer[data-v-e4ae68e5] {
    font-size: 10px;
    padding-top: 8px;
    padding-bottom: 12px;
}
.filter-bar[data-v-e4ae68e5] {
    padding: 10px 12px;
}
.filter-bar-inner[data-v-e4ae68e5] {
    gap: 10px;
}
.filter-search[data-v-e4ae68e5] {
    font-size: 13px;
}
.filter-select[data-v-e4ae68e5] {
    font-size: 13px;
}
.api-design-list[data-v-e4ae68e5] {
    padding: 8px;
}
[data-v-e4ae68e5] .ant-card-body {
    padding: 12px;
}
.table-cell-title[data-v-e4ae68e5] {
    font-size: 14px;
}
.table-cell-subtitle[data-v-e4ae68e5] {
    font-size: 12px;
    max-width: 150px;
}
.mobile-card-header[data-v-e4ae68e5] {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
}
.mobile-card-tags[data-v-e4ae68e5] {
    justify-content: flex-start;
}
.path-text[data-v-e4ae68e5] {
    font-size: 12px;
    padding: 3px 6px;
}
.tags-container[data-v-e4ae68e5] {
    gap: 4px;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.card-grid[data-v-e4ae68e5] {
    padding: 12px;
}
}
@media (max-width: 575px) and (max-width: 768px) {
.filter-bar[data-v-e4ae68e5] {
    padding: 12px;
}
}
.api-design-detail[data-v-4bd49c3a] {
  display: flex;
  flex-direction: column;
  padding: 16px;
  background-color: var(--color-bg-layout);
}
/* 主卡片样式 */
.main-card[data-v-4bd49c3a] {
  background-color: var(--color-bg-container);
  border-radius: 16px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  border: 1px solid var(--color-border);
  overflow: hidden;
  flex: 1;
  display: flex;
  flex-direction: column;
  transition: all 0.3s ease;
}
.main-card[data-v-4bd49c3a]:hover {
  box-shadow: 0 6px 30px rgba(0, 0, 0, 0.12);
}
.main-card[data-v-4bd49c3a] .ant-card-head {
  background-color: var(--color-bg-container);
  border-bottom: 1px solid var(--color-border);
  padding: 20px 24px;
}
.main-card[data-v-4bd49c3a] .ant-card-body {
  overflow-y: auto;
  flex: 1;
}
/* 详情描述组件样式 */
.detail-descriptions[data-v-4bd49c3a] {
  margin-bottom: 24px;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--color-border);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
}
.detail-descriptions[data-v-4bd49c3a]:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}
.detail-descriptions[data-v-4bd49c3a] .ant-descriptions-item-label {
  font-weight: 600;
  color: var(--color-text-secondary);
  background: var(--color-bg-layout);
  border-right: 1px solid var(--color-border-secondary, var(--color-border));
  border-bottom: 1px solid var(--color-border-secondary, var(--color-border));
  padding: 14px 16px;
  font-size: 13px;
  white-space: nowrap;
  min-width: 90px;
}
.detail-descriptions[data-v-4bd49c3a] .ant-descriptions-item-content {
  color: var(--color-text);
  padding: 14px 16px;
  border-bottom: 1px solid var(--color-border-secondary, var(--color-border));
  font-weight: 500;
  font-size: 14px;
  word-break: break-word;
}
/* 详情标题样式 */
.detail-title[data-v-4bd49c3a] {
  font-size: 18px;
  font-weight: 700;
  color: var(--color-text);
  letter-spacing: -0.3px;
}
/* 路径文本样式 */
.path-text[data-v-4bd49c3a] {
  font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Roboto Mono', 'Menlo', monospace;
  font-weight: 600;
  color: var(--color-primary);
  font-size: 13px;
  background-color: rgba(24, 144, 255, 0.08);
  padding: 6px 12px;
  border-radius: 6px;
  border: 1px solid rgba(24, 144, 255, 0.15);
  display: inline-block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
/* 状态标签样式 */
.status-tag[data-v-4bd49c3a] {
  font-weight: 600;
  font-size: 12px;
  padding: 4px 12px;
  border-radius: 4px;
}
/* 方法标签样式 */
.method-tag[data-v-4bd49c3a] {
  font-weight: 700;
  font-size: 12px;
  padding: 4px 12px;
  border-radius: 4px;
  letter-spacing: 0.5px;
}
/* 标签容器 */
.tags-container[data-v-4bd49c3a] {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}
/* 标签项样式 */
.tag-item[data-v-4bd49c3a] {
  font-size: 12px;
  padding: 2px 10px;
  border-radius: 4px;
  background: var(--color-bg-layout);
  border: 1px solid var(--color-border);
  color: var(--color-text-secondary);
  font-weight: 500;
  transition: all 0.2s ease;
}
.tag-item[data-v-4bd49c3a]:hover {
  border-color: var(--color-primary-light);
  color: var(--color-primary);
}
/* 代码块区域 */
.code-section-list[data-v-4bd49c3a] {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 24px;
}
.code-section[data-v-4bd49c3a] {
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--color-border);
  background: var(--color-bg-container);
  transition: all 0.3s ease;
}
.code-section[data-v-4bd49c3a]:hover {
  border-color: var(--color-primary-light);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}
.code-section-header[data-v-4bd49c3a] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background: linear-gradient(180deg, var(--color-bg-container) 0%, var(--color-bg-elevated) 100%);
  border-bottom: 1px solid var(--color-border);
  cursor: pointer;
  user-select: none;
  transition: background 0.2s ease;
}
.code-section-header[data-v-4bd49c3a]:hover {
  background: var(--color-bg-hover);
}
.code-section-title[data-v-4bd49c3a] {
  font-weight: 600;
  font-size: 14px;
  color: var(--color-text);
  display: flex;
  align-items: center;
  gap: 8px;
}
.code-section-title[data-v-4bd49c3a]::before {
  content: '';
  width: 4px;
  height: 16px;
  background: linear-gradient(180deg, var(--color-primary) 0%, var(--color-primary-light) 100%);
  border-radius: 2px;
  flex-shrink: 0;
}
.code-section-actions[data-v-4bd49c3a] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.code-section-toggle[data-v-4bd49c3a] {
  font-size: 12px;
  color: var(--color-text-tertiary);
  padding: 4px;
  transition: transform 0.3s ease;
}
.code-section-body[data-v-4bd49c3a] {
  background: #1e1e1e;
}
.code-block[data-v-4bd49c3a] {
  margin: 0;
  padding: 16px;
  font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Roboto Mono', 'Menlo', monospace;
  font-size: 13px;
  line-height: 1.6;
  color: #d4d4d4;
  overflow-x: auto;
  white-space: pre;
  tab-size: 2;
  -webkit-overflow-scrolling: touch;
}
@media (max-width: 768px) {
.code-block[data-v-4bd49c3a] {
    padding: 12px;
}
}
/* 空数据占位 */
.empty-placeholder[data-v-4bd49c3a] {
  color: var(--color-text-quaternary);
  font-size: 13px;
}
/* 分隔线样式 */
[data-v-4bd49c3a] .ant-divider {
  border-color: var(--color-border);
  margin: 0 0 20px;
}
[data-v-4bd49c3a] .ant-divider-with-text-left .ant-divider-inner-text {
  font-weight: 600;
  color: var(--color-text);
  font-size: 15px;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}
[data-v-4bd49c3a] .ant-divider-with-text-left .ant-divider-inner-text::before {
  content: '';
  width: 3px;
  height: 16px;
  background: var(--color-primary);
  border-radius: 2px;
}
/* 操作按钮样式 */
.detail-actions[data-v-4bd49c3a] {
  display: flex;
  gap: 12px;
  justify-content: flex-start;
  margin-top: 32px;
  padding: 20px 0 0;
  border-top: 1px solid var(--color-border);
}
@media (max-width: 768px) {
.detail-actions[data-v-4bd49c3a] {
    padding: 12px;
}
}
.detail-actions[data-v-4bd49c3a] .ant-btn {
  font-weight: 500;
  font-size: 14px;
  padding: 8px 20px;
  border-radius: 6px;
  transition: all 0.2s ease;
  height: 36px;
}
.detail-actions[data-v-4bd49c3a] .ant-btn:hover {
  transform: none;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.detail-actions[data-v-4bd49c3a] .ant-btn-primary {
  background: var(--color-primary);
  border: none;
}
.detail-actions[data-v-4bd49c3a] .ant-btn-primary:hover {
  background: var(--color-primary-hover, var(--color-primary));
}
.detail-actions[data-v-4bd49c3a] .ant-btn-default {
  border: 1px solid var(--color-border);
}
.detail-actions[data-v-4bd49c3a] .ant-btn-default:hover {
  color: var(--color-primary);
  border-color: var(--color-primary);
}
/* 响应式设计 */
@media (max-width: 768px) {
.main-card[data-v-4bd49c3a] .ant-card-head-title {
    font-size: 16px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 70%;
}
.main-card[data-v-4bd49c3a] .ant-card-body {
    padding: 20px;
}
.detail-descriptions[data-v-4bd49c3a] {
    border: none;
    box-shadow: none;
    background: transparent;
}
  /* 移动端将 table 布局转为块级布局 */
.detail-descriptions[data-v-4bd49c3a] table {
    table-layout: auto;
    width: 100%;
}
.detail-descriptions[data-v-4bd49c3a] tbody {
    display: block;
}
.detail-descriptions[data-v-4bd49c3a] tr {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    border-bottom: 1px solid var(--color-border-secondary, var(--color-border));
    padding: 0;
}
.detail-descriptions[data-v-4bd49c3a] th,
  .detail-descriptions[data-v-4bd49c3a] td {
    display: block;
    width: 100% !important;
    border: none !important;
    padding: 0;
    background: transparent;
    flex-basis: 100%;
}
.detail-descriptions[data-v-4bd49c3a] .ant-descriptions-item-label {
    padding: 10px 0 2px;
    font-size: 12px;
    color: var(--color-text-tertiary);
}
.detail-descriptions[data-v-4bd49c3a] .ant-descriptions-item-content {
    padding: 0 0 12px;
    font-size: 14px;
    word-break: break-all;
}
  /* 每行之间添加分隔 */
.detail-descriptions[data-v-4bd49c3a] .ant-descriptions-item {
    border-bottom: none;
}
.detail-actions[data-v-4bd49c3a] {
    flex-direction: column;
    padding: 16px 0 0;
    margin: 0;
}
[data-v-4bd49c3a] .ant-btn {
    width: 100%;
    min-width: auto;
}
.detail-title[data-v-4bd49c3a] {
    font-size: 18px;
}
.path-text[data-v-4bd49c3a] {
    font-size: 13px;
    padding: 6px 12px;
}
.content-card[data-v-4bd49c3a] .ant-card-body {
    padding: 16px;
}
.code-block[data-v-4bd49c3a] {
    font-size: 12px;
    padding: 12px;
    max-height: 300px;
    overflow-y: auto;
}
.code-section-header[data-v-4bd49c3a] {
    padding: 10px 12px;
}
.code-section-title[data-v-4bd49c3a] {
    font-size: 13px;
}
  /* 操作按钮固定底部 */
.detail-actions[data-v-4bd49c3a] {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 100;
    background: var(--color-bg-container);
    border-top: 1px solid var(--color-border);
    padding: 12px 16px;
    display: flex;
    gap: 12px;
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.08);
}
.detail-actions[data-v-4bd49c3a] .ant-btn {
    flex: 1;
    height: 36px;
    font-size: 14px;
    border-radius: 8px;
}
.api-design-detail[data-v-4bd49c3a] {
    padding-bottom: 80px;
}
.detail-actions[data-v-4bd49c3a] .ant-btn {
    flex: 1;
    height: 40px;
    font-size: 14px;
    border-radius: 8px;
}
.tags-container[data-v-4bd49c3a] {
    gap: 8px;
}
.tag-item[data-v-4bd49c3a] {
    font-size: 12px;
    padding: 4px 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.detail-actions[data-v-4bd49c3a] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.code-block[data-v-4bd49c3a] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.detail-actions[data-v-4bd49c3a] {
    padding: 12px;
}
}
@media (max-width: 768px) and (max-width: 575px) {
.main-card[data-v-4bd49c3a] {
    border-radius: 12px;
}
.main-card[data-v-4bd49c3a] .ant-card-body {
    padding: 16px;
}
[data-v-4bd49c3a] .ant-divider-with-text-left .ant-divider-inner-text {
    font-size: 16px;
    padding: 0;
}
.detail-descriptions[data-v-4bd49c3a] {
    margin-bottom: 16px;
}
.detail-actions[data-v-4bd49c3a] {
    flex-direction: row;
    padding: 10px 12px;
    margin: 0;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.detail-actions[data-v-4bd49c3a] {
    padding: 12px;
}
}
.api-design-create-page[data-v-ba2b3509] {
  padding: var(--spacing-4);
  background: var(--color-bg-layout);
}
.highlights-panel[data-v-ba2b3509] {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  border-radius: var(--radius-xl);
  padding: 24px;
  margin-bottom: 16px;
  color: #fff;
  position: relative;
  overflow: hidden;
}
/* 几何图形装饰 */
.highlights-bg-decoration[data-v-ba2b3509] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-ba2b3509] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-ba2b3509] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-ba2b3509] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-ba2b3509] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-ba2b3509] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-ba2b3509] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-ba2b3509] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-ba2b3509] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-ba2b3509] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-ba2b3509] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
.highlights-content[data-v-ba2b3509] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.highlights-left h2[data-v-ba2b3509] {
  margin: 0 0 8px 0;
  font-size: 24px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-meta[data-v-ba2b3509] {
  opacity: 0.85;
  font-size: 14px;
}
.highlights-action-btn[data-v-ba2b3509] {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
}
.highlights-action-btn[data-v-ba2b3509]:hover {
  background: rgba(255, 255, 255, 0.25) !important;
}
.form-content[data-v-ba2b3509] {
  padding-bottom: 60px;
}
.info-section[data-v-ba2b3509] {
  background: #fff;
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius-xl);
  overflow: hidden;
}
.section-header[data-v-ba2b3509] {
  padding: 16px 24px;
  background: var(--color-fill-quaternary);
  border-bottom: 1px solid var(--color-border-secondary);
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 8px;
}
@media (max-width: 768px) {
.section-header[data-v-ba2b3509] {
    padding: 12px;
}
.section-header .highlights-panel .highlights-bg-decoration[data-v-ba2b3509] {
    display: none;
}
}
.section-body[data-v-ba2b3509] {
  padding: 24px;
}
@media (max-width: 768px) {
.section-body[data-v-ba2b3509] {
    padding: 12px;
}
.section-body .highlights-panel .highlights-bg-decoration[data-v-ba2b3509] {
    display: none;
}
}
.fixed-actions[data-v-ba2b3509] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 12px;
  background: #fff;
  border-top: 1px solid var(--color-border-secondary);
  display: flex;
  justify-content: flex-end;
  z-index: 100;
}
/* 路径输入框样式 */
.path-input[data-v-ba2b3509] .ant-input {
  font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
  font-weight: 600;
  color: #1890ff;
  background-color: rgba(24, 144, 255, 0.06);
  border: 1px solid rgba(24, 144, 255, 0.2);
}
.path-input[data-v-ba2b3509] .ant-input:hover {
  border-color: #40a9ff;
  background-color: rgba(24, 144, 255, 0.1);
}
.path-input[data-v-ba2b3509] .ant-input:focus {
  border-color: #1890ff;
  background-color: rgba(24, 144, 255, 0.12);
}
/* 代码编辑器样式 */
.code-editor[data-v-ba2b3509] {
  font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
  background-color: var(--color-bg-layout);
  border: 1px solid var(--color-border);
  border-radius: 8px;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}
.code-editor[data-v-ba2b3509]:focus-within {
  border-color: #1890ff;
  box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
}
.code-editor[data-v-ba2b3509] .ant-input {
  background-color: transparent;
  border: none;
  font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
  line-height: 1.6;
  font-size: 13px;
  color: var(--color-text);
}
.code-editor[data-v-ba2b3509] .ant-input:focus {
  box-shadow: none;
}
.code-editor[data-v-ba2b3509] .ant-input::placeholder {
  color: #8c8c8c;
  font-style: italic;
}
/* 开关容器样式 */
.switch-container[data-v-ba2b3509] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.switch-label[data-v-ba2b3509] {
  font-size: 14px;
  color: var(--color-text);
  font-weight: 500;
}
@media (max-width: 768px) {
.highlights-content[data-v-ba2b3509] {
    flex-direction: column;
    gap: 16px;
}
.highlights-content .highlights-panel .highlights-bg-decoration[data-v-ba2b3509] {
    display: none;
}
.highlights-left h2[data-v-ba2b3509] {
    font-size: 20px;
}
.section-body[data-v-ba2b3509] {
    padding: 16px;
}
.code-editor[data-v-ba2b3509] .ant-input {
    font-size: 12px;
}
}
@media (max-width: 768px) and (max-width: 768px) {
.section-body[data-v-ba2b3509] {
    padding: 12px;
}
.section-body .highlights-panel .highlights-bg-decoration[data-v-ba2b3509] {
    display: none;
}
}
.api-design-edit-page[data-v-11e9a5ca] {
  padding: var(--spacing-4);
  background: var(--color-bg-layout);
  padding-bottom: 80px;
}
.highlights-panel[data-v-11e9a5ca] {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1677ff) 0%, var(--color-hero-gradient-end, #0958d9) 100%) !important;
  border-radius: var(--radius-xl);
  padding: 24px;
  margin-bottom: 16px;
  color: #fff;
  position: relative;
  overflow: hidden;
}
/* 几何图形装饰 */
.highlights-bg-decoration[data-v-11e9a5ca] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-11e9a5ca] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-11e9a5ca] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-11e9a5ca] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-11e9a5ca] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-11e9a5ca] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-11e9a5ca] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-11e9a5ca] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-11e9a5ca] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-11e9a5ca] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-11e9a5ca] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
.highlights-panel .highlights-content[data-v-11e9a5ca] {
  display: flex;
  justify-content: space-between;
}
.highlights-panel .highlights-left h2[data-v-11e9a5ca] {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  color: white;
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-panel .highlights-meta[data-v-11e9a5ca] {
  margin-top: 8px;
  font-size: 13px;
  opacity: 0.85;
}
.highlights-panel .highlights-right[data-v-11e9a5ca] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.highlights-action-btn[data-v-11e9a5ca] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
}
.highlights-action-btn[data-v-11e9a5ca]:hover {
  background: rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
}
.fixed-actions[data-v-11e9a5ca] {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  background: #fff !important;
  padding: 12px !important;
  padding-bottom: calc(12px + env(safe-area-inset-bottom)) !important;
  border-top: 1px solid #f0f0f0 !important;
  z-index: 100 !important;
  display: flex !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06) !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
}
.fixed-actions .ant-btn[data-v-11e9a5ca] {
  height: 40px;
  font-size: 14px;
  font-weight: 500;
  border-radius: 6px;
}
.form-content[data-v-11e9a5ca] {
  max-width: 1600px;
}
/* 表单样式 */
[data-v-11e9a5ca] .ant-form {
  max-width: 100%;
}
[data-v-11e9a5ca] .ant-form-item {
  margin-bottom: 16px;
}
[data-v-11e9a5ca] .ant-form-item-label > label {
  font-weight: 600;
  color: var(--color-text);
  font-size: 14px;
}
[data-v-11e9a5ca] .ant-input,[data-v-11e9a5ca] .ant-select-selector,[data-v-11e9a5ca] .ant-input-textarea {
  border-radius: 8px;
  transition: all 0.3s ease;
  border: 1px solid var(--color-border);
}
[data-v-11e9a5ca] .ant-input:focus,[data-v-11e9a5ca] .ant-select-focused:not(.ant-select-disabled) .ant-select-selector,[data-v-11e9a5ca] .ant-input-focused .ant-input-textarea {
  border-color: #1890ff;
  box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
}
[data-v-11e9a5ca] .ant-input-lg,[data-v-11e9a5ca] .ant-select-lg .ant-select-selector {
  height: 40px;
  font-size: 14px;
}
[data-v-11e9a5ca] .ant-input-number-lg .ant-input-number-input {
  height: 40px;
  font-size: 14px;
}
[data-v-11e9a5ca] .ant-input-textarea-lg .ant-input {
  font-size: 14px;
}
/* 路径输入框样式 */
.path-input[data-v-11e9a5ca] .ant-input {
  font-family: 'Courier New', Courier, monospace;
  font-weight: 500;
}
/* 代码编辑器样式 */
.code-editor[data-v-11e9a5ca] {
  font-family: 'Courier New', Courier, monospace;
  background-color: var(--color-bg-layout);
  border: 1px solid var(--color-border);
  border-radius: 8px;
  transition: all 0.3s ease;
}
.code-editor[data-v-11e9a5ca]:focus {
  border-color: #1890ff;
  box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
}
.code-editor[data-v-11e9a5ca] .ant-input {
  background-color: transparent;
  border: none;
  font-family: 'Courier New', Courier, monospace;
  line-height: 1.5;
}
.code-editor[data-v-11e9a5ca] .ant-input:focus {
  box-shadow: none;
}
/* 开关容器样式 */
.switch-container[data-v-11e9a5ca] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.switch-label[data-v-11e9a5ca] {
  font-size: 14px;
  color: var(--color-text);
  font-weight: 500;
}
[data-v-11e9a5ca] .ant-switch {
  transition: all 0.3s ease;
}
[data-v-11e9a5ca] .ant-switch-checked {
  background-color: #1890ff;
}
/* 分隔线样式 */
[data-v-11e9a5ca] .ant-divider {
  margin: 24px 0;
  border-color: var(--color-border);
}
[data-v-11e9a5ca] .ant-divider-with-text-left .ant-divider-inner-text {
  font-weight: 600;
  color: var(--color-text);
  font-size: 16px;
  background-color: var(--color-bg-container);
  padding-right: 12px;
}
/* 响应式设计 */
@media (max-width: 992px) {
.highlights-panel .highlights-content[data-v-11e9a5ca] {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}
}
@media (max-width: 768px) {
.api-design-edit-page[data-v-11e9a5ca] {
    padding: 12px;
}
.api-design-edit-page .highlights-panel .highlights-bg-decoration[data-v-11e9a5ca] {
    display: none;
}
.highlights-panel[data-v-11e9a5ca] {
    padding: 12px 16px;
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-11e9a5ca] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-11e9a5ca] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-11e9a5ca] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-11e9a5ca] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-11e9a5ca] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-11e9a5ca] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-11e9a5ca] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-11e9a5ca] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-11e9a5ca] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-11e9a5ca] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-11e9a5ca] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
.highlights-panel .highlights-left h2[data-v-11e9a5ca] {
    font-size: 16px;
}
[data-v-11e9a5ca] .ant-row {
    display: block;
}
[data-v-11e9a5ca] .ant-col {
    width: 100%;
    margin-bottom: 16px;
}
.fixed-actions .ant-btn[data-v-11e9a5ca] {
    flex: 1;
    height: 36px;
    font-size: 15px;
}
}
@media (max-width: 575px) {
.api-design-edit-page[data-v-11e9a5ca] {
    padding: 8px;
}
.highlights-panel[data-v-11e9a5ca] {
    padding: 12px;
    position: relative;
    overflow: hidden;
}
  /* 几何图形装饰 */
.highlights-bg-decoration[data-v-11e9a5ca] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.highlights-circle[data-v-11e9a5ca] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-11e9a5ca] {
    width: 220px;
    height: 220px;
    top: -80px;
    right: -50px;
}
.highlights-circle--2[data-v-11e9a5ca] {
    width: 140px;
    height: 140px;
    bottom: -40px;
    right: 180px;
}
.highlights-line[data-v-11e9a5ca] {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-11e9a5ca] {
    width: 280px;
    top: 25%;
    right: 8%;
    transform: rotate(-12deg);
}
.highlights-line--2[data-v-11e9a5ca] {
    width: 200px;
    bottom: 30%;
    right: 25%;
    transform: rotate(8deg);
}
.highlights-dot[data-v-11e9a5ca] {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-11e9a5ca] {
    width: 8px;
    height: 8px;
    top: 18%;
    right: 22%;
}
.highlights-dot--2[data-v-11e9a5ca] {
    width: 6px;
    height: 6px;
    bottom: 28%;
    right: 12%;
}
.highlights-dot--3[data-v-11e9a5ca] {
    width: 4px;
    height: 4px;
    top: 35%;
    right: 5%;
}
[data-v-11e9a5ca] .ant-form-item-label > label {
    font-size: 13px;
}
[data-v-11e9a5ca] .ant-input-lg,[data-v-11e9a5ca] .ant-select-lg .ant-select-selector {
    height: 36px;
    font-size: 13px;
}
.code-editor[data-v-11e9a5ca] .ant-input {
    font-size: 13px;
}
.fixed-actions .ant-btn[data-v-11e9a5ca] {
    flex: 1;
    height: 36px;
    font-size: 15px;
}
}
.api-gateway-page[data-v-9d02632c] {
  padding: 16px;
}
@media (max-width: 768px) {
.api-gateway-page[data-v-9d02632c] {
    padding: 12px;
}
}
/* ==================== Hero区域 ==================== */
.hero-bg-decoration[data-v-9d02632c] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-9d02632c] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-9d02632c] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-9d02632c] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-9d02632c] {
  position: absolute;
  background: rgba(255, 255, 255, 0.06);
}
.hero-line--1[data-v-9d02632c] {
  width: 300px;
  height: 1px;
  top: 40%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-9d02632c] {
  width: 200px;
  height: 1px;
  bottom: 30%;
  right: 20%;
  transform: rotate(25deg);
}
.hero-dot[data-v-9d02632c] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.15);
}
.hero-dot--1[data-v-9d02632c] {
  top: 20%;
  right: 30%;
}
.hero-dot--2[data-v-9d02632c] {
  bottom: 25%;
  right: 15%;
}
.hero-content[data-v-9d02632c] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.hero-left[data-v-9d02632c] {
  flex: 1;
}
.hero-title[data-v-9d02632c] {
  font-size: 24px;
  font-weight: 600;
  margin: 0 0 8px 0;
  color: white;
}
.hero-desc[data-v-9d02632c] {
  font-size: 14px;
  opacity: 0.85;
  margin: 0 0 20px 0;
}
.hero-stats[data-v-9d02632c] {
  display: flex;
  align-items: center;
  gap: 0;
}
.hero-stat[data-v-9d02632c] {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 20px;
  cursor: pointer;
}
.hero-stat-value[data-v-9d02632c] {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.2;
}
.hero-stat-label[data-v-9d02632c] {
  font-size: 12px;
  opacity: 0.75;
  margin-top: 4px;
}
.hero-stat-divider[data-v-9d02632c] {
  width: 1px;
  height: 36px;
  background: rgba(255, 255, 255, 0.2);
}
.hero-right[data-v-9d02632c] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
/* ==================== 内容卡片 ==================== */
.content-card[data-v-9d02632c] {
  border-radius: var(--radius-lg);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}
.section-title[data-v-9d02632c] {
  font-size: 15px;
  font-weight: 600;
  margin: 0 0 16px 0;
  color: var(--color-text-primary);
}
/* ==================== 图表卡片 ==================== */
.chart-card[data-v-9d02632c] {
  border-radius: var(--radius-lg);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}
.chart-card-title[data-v-9d02632c] {
  font-size: 15px;
  font-weight: 600;
  margin: 0 0 12px 0;
  color: var(--color-text-primary);
}
.chart-container[data-v-9d02632c] {
  height: 280px;
  width: 100%;
}
/* ==================== 分页 ==================== */
.card-pagination[data-v-9d02632c] {
  display: flex;
  justify-content: flex-end;
  margin-top: 16px;
}
/* ==================== 移动端卡片样式 ==================== */
.mobile-card-list[data-v-9d02632c] {
  display: none;
}
@media (max-width: 768px) {
.mobile-card-list[data-v-9d02632c] {
    display: block;
    padding: 0;
    margin: 0;
}
.mobile-card[data-v-9d02632c] {
    background: #fff;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.mobile-card__header[data-v-9d02632c] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 12px;
}
.mobile-card__title[data-v-9d02632c] {
    font-size: 14px;
    font-weight: 600;
    color: #1a1a1a;
    flex: 1;
    margin-right: 8px;
    word-break: break-word;
}
.mobile-card__body[data-v-9d02632c] {
    margin-bottom: 12px;
}
.mobile-card__field[data-v-9d02632c] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 0;
    border-bottom: 1px solid #f5f5f5;
}
.mobile-card__field[data-v-9d02632c]:last-child {
    border-bottom: none;
}
.mobile-card__field-label[data-v-9d02632c] {
    font-size: 13px;
    color: #8c8c8c;
}
.mobile-card__field-value[data-v-9d02632c] {
    font-size: 13px;
    color: #333;
    text-align: right;
    max-width: 60%;
    word-break: break-word;
}
.mobile-card__footer[data-v-9d02632c] {
    padding-top: 8px;
    border-top: 1px solid #f0f0f0;
}
.mobile-card__footer[data-v-9d02632c] .ant-btn {
    min-height: auto;
    min-width: auto;
}
}
/* ==================== Hero区域移动端适配 ==================== */
@media (max-width: 768px) {
.hero-content[data-v-9d02632c] {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--spacing-3);
}
.hero-left[data-v-9d02632c] {
    width: 100%;
}
.hero-title[data-v-9d02632c] {
    font-size: 20px;
}
.hero-desc[data-v-9d02632c] {
    font-size: 13px;
}
.hero-stats[data-v-9d02632c] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    width: 100%;
}
.hero-stat[data-v-9d02632c] {
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 8px;
}
.hero-stat-value[data-v-9d02632c] {
    font-size: 20px;
}
.hero-stat-label[data-v-9d02632c] {
    font-size: 11px;
    margin-top: 0;
}
.hero-stat-divider[data-v-9d02632c] {
    display: none;
}
.hero-right[data-v-9d02632c] {
    width: 100%;
}
.chart-container[data-v-9d02632c] {
    height: 220px;
}
}
@media (max-width: 575px) {
.hero-stats[data-v-9d02632c] {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
}
.hero-stat[data-v-9d02632c] {
    padding: 6px 10px;
}
.hero-stat-value[data-v-9d02632c] {
    font-size: 18px;
}
.hero-stat-label[data-v-9d02632c] {
    font-size: 10px;
}
.chart-container[data-v-9d02632c] {
    height: 180px;
}
}
.api-docs-list[data-v-4dd1cc79] {
  background: var(--color-bg-layout);
  min-height: 100%;
  padding: var(--spacing-4);
}
.api-docs-list[data-v-4dd1cc79] .responsive-table-container {
  padding: 0;
}
.hero-bg-decoration[data-v-4dd1cc79] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-circle[data-v-4dd1cc79] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}
.hero-circle--1[data-v-4dd1cc79] {
  width: 200px;
  height: 200px;
  top: -60px;
  right: -40px;
}
.hero-circle--2[data-v-4dd1cc79] {
  width: 120px;
  height: 120px;
  bottom: -30px;
  right: 200px;
}
.hero-line[data-v-4dd1cc79] {
  position: absolute;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
}
.hero-line--1[data-v-4dd1cc79] {
  width: 300px;
  top: 30%;
  right: 10%;
  transform: rotate(-15deg);
}
.hero-line--2[data-v-4dd1cc79] {
  width: 200px;
  bottom: 25%;
  right: 30%;
  transform: rotate(10deg);
}
.hero-dot[data-v-4dd1cc79] {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.hero-dot--1[data-v-4dd1cc79] {
  top: 20%;
  right: 25%;
}
.hero-dot--2[data-v-4dd1cc79] {
  bottom: 30%;
  right: 15%;
}
.hero-content[data-v-4dd1cc79] {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-left[data-v-4dd1cc79] {
  flex: 1;
}
.hero-title[data-v-4dd1cc79] {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 700;
  color: white;
}
.hero-desc[data-v-4dd1cc79] {
  margin: 0 0 16px;
  font-size: 14px;
  opacity: 0.85;
  max-width: 600px;
}
.hero-stats[data-v-4dd1cc79] {
  display: flex;
  align-items: center;
  gap: 20px;
}
.hero-stat[data-v-4dd1cc79] {
  display: flex;
  flex-direction: column;
}
.hero-stat-value[data-v-4dd1cc79] {
  font-size: 22px;
  font-weight: 700;
}
.hero-stat-label[data-v-4dd1cc79] {
  font-size: 12px;
  opacity: 0.7;
}
.hero-right[data-v-4dd1cc79] {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
/* Table cells */
.table-cell-content[data-v-4dd1cc79] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.table-cell-title[data-v-4dd1cc79] {
  font-weight: 600;
  font-size: 15px;
  color: var(--color-text-primary);
  cursor: pointer;
  display: inline-block;
  transition: color 0.2s;
}
.table-cell-title[data-v-4dd1cc79]:hover {
  color: #1677ff;
}
.table-cell-subtitle[data-v-4dd1cc79] {
  font-size: 13px;
  color: var(--color-text-tertiary);
  line-height: 1.5;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 400px;
}
.status-tag[data-v-4dd1cc79] {
  font-weight: 500;
  font-size: 12px;
  padding: 2px 8px;
  border-radius: var(--radius-sm);
}
/* Mobile */
.mobile-card-fields-row[data-v-4dd1cc79] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 12px;
}
@media (max-width: 991px) {
.hero-content[data-v-4dd1cc79] {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}
.hero-stats[data-v-4dd1cc79] {
    gap: 12px;
}
.hero-stat-value[data-v-4dd1cc79] {
    font-size: 18px;
}
}
@media (max-width: 575px) {
.hero-title[data-v-4dd1cc79] {
    font-size: 20px;
}
.hero-right[data-v-4dd1cc79] {
    width: 100%;
}
}
.filter-actions-col[data-v-4dd1cc79] {
  display: flex;
  justify-content: flex-end;
}
.api-docs-edit-page[data-v-7350c7a7] {
  padding: var(--spacing-4);
  background: var(--color-bg-layout);
}
.highlights-panel[data-v-7350c7a7] {
  background: linear-gradient(135deg, var(--color-hero-gradient-start, #1890ff) 0%, var(--color-hero-gradient-end, #096dd9) 50%, #0050b3 100%) !important;
  border-radius: var(--radius-xl);
  padding: 24px;
  margin-bottom: 16px;
  color: #fff;
  position: relative;
  overflow: hidden;
}
/* 几何图形装饰 */
.highlights-bg-decoration[data-v-7350c7a7] {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.highlights-circle[data-v-7350c7a7] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.highlights-circle--1[data-v-7350c7a7] {
  width: 220px;
  height: 220px;
  top: -80px;
  right: -50px;
}
.highlights-circle--2[data-v-7350c7a7] {
  width: 140px;
  height: 140px;
  bottom: -40px;
  right: 180px;
}
.highlights-line[data-v-7350c7a7] {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
}
.highlights-line--1[data-v-7350c7a7] {
  width: 280px;
  top: 25%;
  right: 8%;
  transform: rotate(-12deg);
}
.highlights-line--2[data-v-7350c7a7] {
  width: 200px;
  bottom: 30%;
  right: 25%;
  transform: rotate(8deg);
}
.highlights-dot[data-v-7350c7a7] {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}
.highlights-dot--1[data-v-7350c7a7] {
  width: 8px;
  height: 8px;
  top: 18%;
  right: 22%;
}
.highlights-dot--2[data-v-7350c7a7] {
  width: 6px;
  height: 6px;
  bottom: 28%;
  right: 12%;
}
.highlights-dot--3[data-v-7350c7a7] {
  width: 4px;
  height: 4px;
  top: 35%;
  right: 5%;
}
.highlights-content[data-v-7350c7a7] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.highlights-left h2[data-v-7350c7a7] {
  margin: 0 0 8px 0;
  font-size: 24px;
  display: flex;
  align-items: center;
  gap: 12px;
  color: #fff;
}
.highlights-tag[data-v-7350c7a7] {
  background: rgba(255, 255, 255, 0.2) !important;
  color: #fff !important;
  border: none;
}
.highlights-meta[data-v-7350c7a7] {
  opacity: 0.85;
  font-size: 14px;
}
.highlights-action-btn[data-v-7350c7a7] {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
}
.highlights-action-btn[data-v-7350c7a7]:hover {
  background: rgba(255, 255, 255, 0.25) !important;
}
.form-content[data-v-7350c7a7] {
  padding-bottom: 60px;
}
.info-section[data-v-7350c7a7] {
  background: #fff;
  border: 1px solid var(--color-border-secondary);
  border-radius: var(--radius-xl);
  overflow: hidden;
}
.section-header[data-v-7350c7a7] {
  padding: 16px 24px;
  background: var(--color-fill-quaternary);
  border-bottom: 1px solid var(--color-border-secondary);
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 8px;
}
@media (max-width: 768px) {
.section-header[data-v-7350c7a7] {
    padding: 12px;
}
.section-header .highlights-panel .highlights-bg-decoration[data-v-7350c7a7] {
    display: none;
}
}
.section-body[data-v-7350c7a7] {
  padding: 24px;
}
.fixed-actions[data-v-7350c7a7] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 12px;
  background: #fff;
  border-top: 1px solid var(--color-border-secondary);
  display: flex;
  justify-content: flex-end;
  z-index: 100;
}
@media (max-width: 768px) {
.highlights-content[data-v-7350c7a7] {
    flex-direction: column;
    gap: 16px;
}
.highlights-content .highlights-panel .highlights-bg-decoration[data-v-7350c7a7] {
    display: none;
}
.highlights-left h2[data-v-7350c7a7] {
    font-size: 20px;
}
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-aria-container {
	position: absolute; /* try to hide from window but not from screen readers */
	left:-999em;
}/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/* -------------------- IE10 remove auto clear button -------------------- */

::-ms-clear {
	display: none;
}

/* All widgets */
/* I am not a big fan of this rule */
.monaco-editor .editor-widget input {
	color: inherit;
}

/* -------------------- Editor -------------------- */

.monaco-editor {
	position: relative;
	overflow: visible;
	-webkit-text-size-adjust: 100%;
}

/* -------------------- Misc -------------------- */

.monaco-editor .overflow-guard {
	position: relative;
	overflow: hidden;
}

.monaco-editor .view-overlays {
	position: absolute;
	top: 0;
}

/*
.monaco-editor .auto-closed-character {
	opacity: 0.3;
}
*/
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .inputarea {
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 0;
	position: absolute;
	outline: none !important;
	resize: none;
	border: none;
	overflow: hidden;
	color: transparent;
	background-color: transparent;
}
/*.monaco-editor .inputarea {
	position: fixed !important;
	width: 800px !important;
	height: 500px !important;
	top: initial !important;
	left: initial !important;
	bottom: 0 !important;
	right: 0 !important;
	color: black !important;
	background: white !important;
	line-height: 15px !important;
	font-size: 14px !important;
}*/
.monaco-editor .inputarea.ime-input {
	z-index: 10;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .margin-view-overlays .line-numbers {
	font-variant-numeric: tabular-nums;
	position: absolute;
	text-align: right;
	display: inline-block;
	vertical-align: middle;
	box-sizing: border-box;
	cursor: default;
	height: 100%;
}

.monaco-editor .relative-current-line-number {
	text-align: left;
	display: inline-block;
	width: 100%;
}

.monaco-editor .margin-view-overlays .line-numbers.lh-odd {
	margin-top: 1px;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-mouse-cursor-text {
	cursor: text;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .view-overlays .current-line {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	box-sizing: border-box;
}

.monaco-editor .margin-view-overlays .current-line {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	box-sizing: border-box;
}

.monaco-editor .margin-view-overlays .current-line.current-line-margin.current-line-margin-both {
	border-right: 0;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/*
	Keeping name short for faster parsing.
	cdr = core decorations rendering (div)
*/
.monaco-editor .lines-content .cdr {
	position: absolute;
}/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/* Arrows */
.monaco-scrollable-element > .scrollbar > .scra {
	cursor: pointer;
	font-size: 11px !important;
}

.monaco-scrollable-element > .visible {
	opacity: 1;

	/* Background rule added for IE9 - to allow clicks on dom node */
	background:rgba(0,0,0,0);

	transition: opacity 100ms linear;
}
.monaco-scrollable-element > .invisible {
	opacity: 0;
	pointer-events: none;
}
.monaco-scrollable-element > .invisible.fade {
	transition: opacity 800ms linear;
}

/* Scrollable Content Inset Shadow */
.monaco-scrollable-element > .shadow {
	position: absolute;
	display: none;
}
.monaco-scrollable-element > .shadow.top {
	display: block;
	top: 0;
	left: 3px;
	height: 3px;
	width: 100%;
}
.monaco-scrollable-element > .shadow.left {
	display: block;
	top: 3px;
	left: 0;
	height: 100%;
	width: 3px;
}
.monaco-scrollable-element > .shadow.top-left-corner {
	display: block;
	top: 0;
	left: 0;
	height: 3px;
	width: 3px;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .glyph-margin {
	position: absolute;
	top: 0;
}

/*
	Keeping name short for faster parsing.
	cgmr = core glyph margin rendering (div)
*/
.monaco-editor .margin-view-overlays .cgmr {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .lines-content .core-guide {
	position: absolute;
	box-sizing: border-box;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/* Uncomment to see lines flashing when they're painted */
/*.monaco-editor .view-lines > .view-line {
	background-color: none;
	animation-name: flash-background;
	animation-duration: 800ms;
}
@keyframes flash-background {
	0%   { background-color: lightgreen; }
	100% { background-color: none }
}*/

.mtkcontrol {
	color: rgb(255, 255, 255) !important;
	background: rgb(150, 0, 0) !important;
}

.monaco-editor.no-user-select .lines-content,
.monaco-editor.no-user-select .view-line,
.monaco-editor.no-user-select .view-lines {
	user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
}

.monaco-editor .view-lines {
	white-space: nowrap;
}

.monaco-editor .view-line {
	position: absolute;
	width: 100%;
}

.monaco-editor .mtkz {
	display: inline-block;
}

/* TODO@tokenization bootstrap fix */
/*.monaco-editor .view-line > span > span {
	float: none;
	min-height: inherit;
	margin-left: inherit;
}*/
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
.monaco-editor .lines-decorations {
	position: absolute;
	top: 0;
	background: white;
}

/*
	Keeping name short for faster parsing.
	cldr = core lines decorations rendering (div)
*/
.monaco-editor .margin-view-overlays .cldr {
	position: absolute;
	height: 100%;
}/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/*
	Keeping name short for faster parsing.
	cmdr = core margin decorations rendering (div)
*/
.monaco-editor .margin-view-overlays .cmdr {
	position: absolute;
	left: 0;
	width: 100%;
	height: 100%;
}/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/* START cover the case that slider is visible on mouseover */
.monaco-editor .minimap.slider-mouseover .minimap-slider {
	opacity: 0;
	transition: opacity 100ms linear;
}
.monaco-editor .minimap.slider-mouseover:hover .minimap-slider {
	opacity: 1;
}
.monaco-editor .minimap.slider-mouseover .minimap-slider.active {
	opacity: 1;
}
/* END cover the case that slider is visible on mouseover */

.monaco-editor .minimap-shadow-hidden {
	position: absolute;
	width: 0;
}
.monaco-editor .minimap-shadow-visible {
	position: absolute;
	left: -6px;
	width: 6px;
}
.monaco-editor.no-minimap-shadow .minimap-shadow-visible {
	position: absolute;
	left: -1px;
	width: 1px;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
.monaco-editor .overlayWidgets {
	position: absolute;
	top: 0;
	left:0;
}/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .view-ruler {
	position: absolute;
	top: 0;
}/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .scroll-decoration {
	position: absolute;
	top: 0;
	left: 0;
	height: 6px;
}/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/*
	Keeping name short for faster parsing.
	cslr = core selections layer rendering (div)
*/
.monaco-editor .lines-content .cslr {
	position: absolute;
}

.monaco-editor			.top-left-radius		{ border-top-left-radius: 3px; }
.monaco-editor			.bottom-left-radius		{ border-bottom-left-radius: 3px; }
.monaco-editor			.top-right-radius		{ border-top-right-radius: 3px; }
.monaco-editor			.bottom-right-radius	{ border-bottom-right-radius: 3px; }

.monaco-editor.hc-black .top-left-radius		{ border-top-left-radius: 0; }
.monaco-editor.hc-black .bottom-left-radius		{ border-bottom-left-radius: 0; }
.monaco-editor.hc-black .top-right-radius		{ border-top-right-radius: 0; }
.monaco-editor.hc-black .bottom-right-radius	{ border-bottom-right-radius: 0; }
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
.monaco-editor .cursors-layer {
	position: absolute;
	top: 0;
}

.monaco-editor .cursors-layer > .cursor {
	position: absolute;
	overflow: hidden;
}

/* -- smooth-caret-animation -- */
.monaco-editor .cursors-layer.cursor-smooth-caret-animation > .cursor {
	transition: all 80ms;
}

/* -- block-outline-style -- */
.monaco-editor .cursors-layer.cursor-block-outline-style > .cursor {
	box-sizing: border-box;
	background: transparent !important;
	border-style: solid;
	border-width: 1px;
}

/* -- underline-style -- */
.monaco-editor .cursors-layer.cursor-underline-style > .cursor {
	border-bottom-width: 2px;
	border-bottom-style: solid;
	background: transparent !important;
	box-sizing: border-box;
}

/* -- underline-thin-style -- */
.monaco-editor .cursors-layer.cursor-underline-thin-style > .cursor {
	border-bottom-width: 1px;
	border-bottom-style: solid;
	background: transparent !important;
	box-sizing: border-box;
}

@keyframes monaco-cursor-smooth {
	0%,
	20% {
		opacity: 1;
	}
	60%,
	100% {
		opacity: 0;
	}
}

@keyframes monaco-cursor-phase {
	0%,
	20% {
		opacity: 1;
	}
	90%,
	100% {
		opacity: 0;
	}
}

@keyframes monaco-cursor-expand {
	0%,
	20% {
		transform: scaleY(1);
	}
	80%,
	100% {
		transform: scaleY(0);
	}
}

.cursor-smooth {
	animation: monaco-cursor-smooth 0.5s ease-in-out 0s 20 alternate;
}

.cursor-phase {
	animation: monaco-cursor-phase 0.5s ease-in-out 0s 20 alternate;
}

.cursor-expand > .cursor {
	animation: monaco-cursor-expand 0.5s ease-in-out 0s 20 alternate;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
/* ---------- DiffEditor ---------- */

.monaco-diff-editor .diffOverview {
	z-index: 9;
}

.monaco-diff-editor .diffOverview .diffViewport {
	z-index: 10;
}

/* colors not externalized: using transparancy on background */
.monaco-diff-editor.vs			.diffOverview { background: rgba(0, 0, 0, 0.03); }
.monaco-diff-editor.vs-dark		.diffOverview { background: rgba(255, 255, 255, 0.01); }

.monaco-scrollable-element.modified-in-monaco-diff-editor.vs		.scrollbar { background: rgba(0,0,0,0); }
.monaco-scrollable-element.modified-in-monaco-diff-editor.vs-dark	.scrollbar { background: rgba(0,0,0,0); }
.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-black	.scrollbar { background: none; }

.monaco-scrollable-element.modified-in-monaco-diff-editor .slider {
	z-index: 10;
}
.modified-in-monaco-diff-editor				.slider.active { background: rgba(171, 171, 171, .4); }
.modified-in-monaco-diff-editor.hc-black	.slider.active { background: none; }

/* ---------- Diff ---------- */

.monaco-editor .insert-sign,
.monaco-diff-editor .insert-sign,
.monaco-editor .delete-sign,
.monaco-diff-editor .delete-sign {
	font-size: 11px !important;
	opacity: 0.7 !important;
	display: flex !important;
	align-items: center;
}
.monaco-editor.hc-black .insert-sign,
.monaco-diff-editor.hc-black .insert-sign,
.monaco-editor.hc-black .delete-sign,
.monaco-diff-editor.hc-black .delete-sign {
	opacity: 1;
}

.monaco-editor .inline-deleted-margin-view-zone {
	text-align: right;
}
.monaco-editor .inline-added-margin-view-zone {
	text-align: right;
}

/* ---------- Inline Diff ---------- */

.monaco-editor .view-zones .view-lines .view-line span {
	display: inline-block;
}

.monaco-editor .margin-view-zones .lightbulb-glyph:hover {
	cursor: pointer;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

:root {
	--sash-size: 4px;
}

.monaco-sash {
	position: absolute;
	z-index: 35;
	touch-action: none;
}

.monaco-sash.disabled {
	pointer-events: none;
}

.monaco-sash.mac.vertical {
	cursor: col-resize;
}

.monaco-sash.vertical.minimum {
	cursor: e-resize;
}

.monaco-sash.vertical.maximum {
	cursor: w-resize;
}

.monaco-sash.mac.horizontal {
	cursor: row-resize;
}

.monaco-sash.horizontal.minimum {
	cursor: s-resize;
}

.monaco-sash.horizontal.maximum {
	cursor: n-resize;
}

.monaco-sash.disabled {
	cursor: default !important;
	pointer-events: none !important;
}

.monaco-sash.vertical {
	cursor: ew-resize;
	top: 0;
	width: var(--sash-size);
	height: 100%;
}

.monaco-sash.horizontal {
	cursor: ns-resize;
	left: 0;
	width: 100%;
	height: var(--sash-size);
}

.monaco-sash:not(.disabled) > .orthogonal-drag-handle {
	content: " ";
	height: calc(var(--sash-size) * 2);
	width: calc(var(--sash-size) * 2);
	z-index: 100;
	display: block;
	cursor: all-scroll;
	position: absolute;
}

.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)
	> .orthogonal-drag-handle.start,
.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)
	> .orthogonal-drag-handle.end {
	cursor: nwse-resize;
}

.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)
	> .orthogonal-drag-handle.end,
.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)
	> .orthogonal-drag-handle.start {
	cursor: nesw-resize;
}

.monaco-sash.vertical > .orthogonal-drag-handle.start {
	left: calc(var(--sash-size) * -0.5);
	top: calc(var(--sash-size) * -1);
}
.monaco-sash.vertical > .orthogonal-drag-handle.end {
	left: calc(var(--sash-size) * -0.5);
	bottom: calc(var(--sash-size) * -1);
}
.monaco-sash.horizontal > .orthogonal-drag-handle.start {
	top: calc(var(--sash-size) * -0.5);
	left: calc(var(--sash-size) * -1);
}
.monaco-sash.horizontal > .orthogonal-drag-handle.end {
	top: calc(var(--sash-size) * -0.5);
	right: calc(var(--sash-size) * -1);
}

.monaco-sash:before {
	content: '';
	pointer-events: none;
	position: absolute;
	width: 100%;
	height: 100%;
	transition: background-color 0.1s ease-out;
	background: transparent;
}

.monaco-sash.vertical:before {
	width: var(--sash-hover-size);
	left: calc(50% - (var(--sash-hover-size) / 2));
}

.monaco-sash.horizontal:before {
	height: var(--sash-hover-size);
	top: calc(50% - (var(--sash-hover-size) / 2));
}

.pointer-events-disabled {
	pointer-events: none !important;
}

/** Debug **/

.monaco-sash.debug {
	background: cyan;
}

.monaco-sash.debug.disabled {
	background: rgba(0, 255, 255, 0.2);
}

.monaco-sash.debug:not(.disabled) > .orthogonal-drag-handle {
	background: red;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-diff-editor .diff-review-line-number {
	text-align: right;
	display: inline-block;
}

.monaco-diff-editor .diff-review {
	position: absolute;
	user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
}

.monaco-diff-editor .diff-review-summary {
	padding-left: 10px;
}

.monaco-diff-editor .diff-review-shadow {
	position: absolute;
}

.monaco-diff-editor .diff-review-row {
	white-space: pre;
}

.monaco-diff-editor .diff-review-table {
	display: table;
	min-width: 100%;
}

.monaco-diff-editor .diff-review-row {
	display: table-row;
	width: 100%;
}

.monaco-diff-editor .diff-review-spacer {
	display: inline-block;
	width: 10px;
	vertical-align: middle;
}

.monaco-diff-editor .diff-review-spacer > .codicon {
	font-size: 9px !important;
}

.monaco-diff-editor .diff-review-actions {
	display: inline-block;
	position: absolute;
	right: 10px;
	top: 2px;
}

.monaco-diff-editor .diff-review-actions .action-label {
	width: 16px;
	height: 16px;
	margin: 2px 0;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-action-bar {
	white-space: nowrap;
	height: 100%;
}

.monaco-action-bar .actions-container {
	display: flex;
	margin: 0 auto;
	padding: 0;
	height: 100%;
	width: 100%;
	align-items: center;
}

.monaco-action-bar.vertical .actions-container {
	display: inline-block;
}

.monaco-action-bar .action-item {
	display: block;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	position: relative;  /* DO NOT REMOVE - this is the key to preventing the ghosting icon bug in Chrome 42 */
}

.monaco-action-bar .action-item.disabled {
	cursor: default;
}

.monaco-action-bar .action-item .icon,
.monaco-action-bar .action-item .codicon {
	display: block;
}

.monaco-action-bar .action-item .codicon {
	display: flex;
	align-items: center;
	width: 16px;
	height: 16px;
}

.monaco-action-bar .action-label {
	font-size: 11px;
	padding: 3px;
	border-radius: 5px;
}

.monaco-action-bar .action-item.disabled .action-label,
.monaco-action-bar .action-item.disabled .action-label::before,
.monaco-action-bar .action-item.disabled .action-label:hover {
	opacity: 0.4;
}

/* Vertical actions */

.monaco-action-bar.vertical {
	text-align: left;
}

.monaco-action-bar.vertical .action-item {
	display: block;
}

.monaco-action-bar.vertical .action-label.separator {
	display: block;
	border-bottom: 1px solid #bbb;
	padding-top: 1px;
	margin-left: .8em;
	margin-right: .8em;
}

.monaco-action-bar .action-item .action-label.separator {
	width: 1px;
	height: 16px;
	margin: 5px 4px !important;
	cursor: default;
	min-width: 1px;
	padding: 0;
	background-color: #bbb;
}

.secondary-actions .monaco-action-bar .action-label {
	margin-left: 6px;
}

/* Action Items */
.monaco-action-bar .action-item.select-container {
	overflow: hidden; /* somehow the dropdown overflows its container, we prevent it here to not push */
	flex: 1;
	max-width: 170px;
	min-width: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 10px;
}

.monaco-action-bar .action-item.action-dropdown-item {
	display: flex;
}

.monaco-action-bar .action-item.action-dropdown-item > .action-label {
	margin-right: 1px;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .selection-anchor {
	background-color: #007ACC;
	width: 2px !important;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .bracket-match {
	box-sizing: border-box;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .monaco-editor-overlaymessage {
	padding-bottom: 8px;
	z-index: 10000;
}

.monaco-editor .monaco-editor-overlaymessage.below {
	padding-bottom: 0;
	padding-top: 8px;
	z-index: 10000;
}

@keyframes fadeIn {
	from { opacity: 0; }
	to { opacity: 1; }
}
.monaco-editor .monaco-editor-overlaymessage.fadeIn {
	animation: fadeIn 150ms ease-out;
}

@keyframes fadeOut {
	from { opacity: 1; }
	to { opacity: 0; }
}
.monaco-editor .monaco-editor-overlaymessage.fadeOut {
	animation: fadeOut 100ms ease-out;
}

.monaco-editor .monaco-editor-overlaymessage .message {
	padding: 1px 4px;
	color: var(--vscode-inputValidation-infoForeground);
	background-color: var(--vscode-inputValidation-infoBackground);
	border: 1px solid var(--vscode-inputValidation-infoBorder);
}

.monaco-editor.hc-black .monaco-editor-overlaymessage .message {
	border-width: 2px;
}

.monaco-editor .monaco-editor-overlaymessage .anchor {
	width: 0 !important;
	height: 0 !important;
	border-color: transparent;
	border-style: solid;
	z-index: 1000;
	border-width: 8px;
	position: absolute;
}

.monaco-editor .monaco-editor-overlaymessage .anchor.top {
	border-bottom-color: var(--vscode-inputValidation-infoBorder);
}

.monaco-editor .monaco-editor-overlaymessage .anchor.below {
	border-top-color: var(--vscode-inputValidation-infoBorder);
}

.monaco-editor .monaco-editor-overlaymessage:not(.below) .anchor.top,
.monaco-editor .monaco-editor-overlaymessage.below .anchor.below {
	display: none;
}

.monaco-editor .monaco-editor-overlaymessage.below .anchor.top {
	display: inherit;
	top: -8px;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .contentWidgets .codicon-light-bulb,
.monaco-editor .contentWidgets .codicon-lightbulb-autofix {
	display: flex;
	align-items: center;
	justify-content: center;
}

.monaco-editor .contentWidgets .codicon-light-bulb:hover,
.monaco-editor .contentWidgets .codicon-lightbulb-autofix:hover {
	cursor: pointer;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .codelens-decoration {
	overflow: hidden;
	display: inline-block;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: var(--vscode-editorCodeLens-foreground)
}

.monaco-editor .codelens-decoration > span,
.monaco-editor .codelens-decoration > a {
	user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	white-space: nowrap;
	vertical-align: sub;
}

.monaco-editor .codelens-decoration > a {
	text-decoration: none;
}

.monaco-editor .codelens-decoration > a:hover {
	cursor: pointer;
	color: var(--vscode-editorLink-activeForeground) !important;
}

.monaco-editor .codelens-decoration > a:hover .codicon {
	color: var(--vscode-editorLink-activeForeground) !important;
}

.monaco-editor .codelens-decoration .codicon {
	vertical-align: middle;
	color: currentColor !important;
	color: var(--vscode-editorCodeLens-foreground);
}

.monaco-editor .codelens-decoration > a:hover .codicon::before {
	cursor: pointer;
}

@keyframes fadein {
	0% { opacity: 0; visibility: visible;}
	100% { opacity: 1; }
}

.monaco-editor .codelens-decoration.fadein {
	animation: fadein 0.1s linear;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.colorpicker-widget {
	height: 190px;
	user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
}

/* Decoration */

.colorpicker-color-decoration {
	border: solid 0.1em #000;
	box-sizing: border-box;
	margin: 0.1em 0.2em 0 0.2em;
	width: 0.8em;
	height: 0.8em;
	line-height: 0.8em;
	display: inline-block;
	cursor: pointer;
}

.hc-black .colorpicker-color-decoration,
.vs-dark .colorpicker-color-decoration {
	border: solid 0.1em #eee;
}

/* Header */

.colorpicker-header {
	display: flex;
	height: 24px;
	position: relative;
	background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=");
	background-size: 9px 9px;
	image-rendering: pixelated;
}

.colorpicker-header .picked-color {
	width: 216px;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 24px;
	cursor: pointer;
	color: white;
	flex: 1;
}

.colorpicker-header .picked-color .codicon {
	color: inherit;
	font-size: 14px;
	position: absolute;
	left: 8px;
}

.colorpicker-header .picked-color.light {
	color: black;
}

.colorpicker-header .original-color {
	width: 74px;
	z-index: inherit;
	cursor: pointer;
}


/* Body */

.colorpicker-body {
	display: flex;
	padding: 8px;
	position: relative;
}

.colorpicker-body .saturation-wrap {
	overflow: hidden;
	height: 150px;
	position: relative;
	min-width: 220px;
	flex: 1;
}

.colorpicker-body .saturation-box {
	height: 150px;
	position: absolute;
}

.colorpicker-body .saturation-selection {
	width: 9px;
	height: 9px;
	margin: -5px 0 0 -5px;
	border: 1px solid rgb(255, 255, 255);
	border-radius: 100%;
	box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.8);
	position: absolute;
}

.colorpicker-body .strip {
	width: 25px;
	height: 150px;
}

.colorpicker-body .hue-strip {
	position: relative;
	margin-left: 8px;
	cursor: grab;
	background: linear-gradient(to bottom, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);
}

.colorpicker-body .opacity-strip {
	position: relative;
	margin-left: 8px;
	cursor: grab;
	background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=");
	background-size: 9px 9px;
	image-rendering: pixelated;
}

.colorpicker-body .strip.grabbing {
	cursor: grabbing;
}

.colorpicker-body .slider {
	position: absolute;
	top: 0;
	left: -2px;
	width: calc(100% + 4px);
	height: 4px;
	box-sizing: border-box;
	border: 1px solid rgba(255, 255, 255, 0.71);
	box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.85);
}

.colorpicker-body .strip .overlay {
	height: 150px;
	pointer-events: none;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .goto-definition-link {
	text-decoration: underline;
	cursor: pointer;
}/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .peekview-widget .head {
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	flex-wrap: nowrap;
}

.monaco-editor .peekview-widget .head .peekview-title {
	display: flex;
	align-items: center;
	font-size: 13px;
	margin-left: 20px;
	min-width: 0;
	text-overflow: ellipsis;
	overflow: hidden;
}

.monaco-editor .peekview-widget .head .peekview-title.clickable {
	cursor: pointer;
}

.monaco-editor .peekview-widget .head .peekview-title .dirname:not(:empty) {
	font-size: 0.9em;
	margin-left: 0.5em;
	text-overflow: ellipsis;
	overflow: hidden;
}

.monaco-editor .peekview-widget .head .peekview-title .meta {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.monaco-editor .peekview-widget .head .peekview-title .dirname {
	white-space: nowrap;
}

.monaco-editor .peekview-widget .head .peekview-title .filename {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.monaco-editor .peekview-widget .head .peekview-title .meta:not(:empty)::before {
	content: '-';
	padding: 0 0.3em;
}

.monaco-editor .peekview-widget .head .peekview-actions {
	flex: 1;
	text-align: right;
	padding-right: 2px;
}

.monaco-editor .peekview-widget .head .peekview-actions > .monaco-action-bar {
	display: inline-block;
}

.monaco-editor .peekview-widget .head .peekview-actions > .monaco-action-bar,
.monaco-editor .peekview-widget .head .peekview-actions > .monaco-action-bar > .actions-container {
	height: 100%;
}

.monaco-editor .peekview-widget > .body {
	border-top: 1px solid;
	position: relative;
}

.monaco-editor .peekview-widget .head .peekview-title .codicon {
	margin-right: 4px;
}

.monaco-editor .peekview-widget .monaco-list .monaco-list-row.focused .codicon {
	color: inherit !important;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
.monaco-editor .zone-widget {
	position: absolute;
	z-index: 10;
}


.monaco-editor .zone-widget .zone-widget-container {
	border-top-style: solid;
	border-bottom-style: solid;
	border-top-width: 0;
	border-bottom-width: 0;
	position: relative;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-dropdown {
	height: 100%;
	padding: 0;
}

.monaco-dropdown > .dropdown-label {
	cursor: pointer;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.monaco-dropdown > .dropdown-label > .action-label.disabled {
	cursor: default;
}

.monaco-dropdown-with-primary {
	display: flex !important;
	flex-direction: row;
	border-radius: 5px;
}

.monaco-dropdown-with-primary > .action-container > .action-label {
	margin-right: 0;
}

.monaco-dropdown-with-primary > .dropdown-action-container > .monaco-dropdown > .dropdown-label .codicon[class*='codicon-'] {
	font-size: 12px;
	padding-left: 0px;
	padding-right: 0px;
	line-height: 16px;
	margin-left: -3px;
}

.monaco-dropdown-with-primary > .dropdown-action-container > .monaco-dropdown > .dropdown-label > .action-label {
	display: block;
	background-size: 16px;
	background-position: center center;
	background-repeat: no-repeat;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-action-bar .action-item.menu-entry .action-label.icon {
	width: 16px;
	height: 16px;
	background-repeat: no-repeat;
	background-position: 50%;
	background-size: 16px;
}

.monaco-action-bar .action-item.menu-entry .action-label {
	background-image: var(--menu-entry-icon-light);
}

.vs-dark .monaco-action-bar .action-item.menu-entry .action-label,
.hc-black .monaco-action-bar .action-item.menu-entry .action-label {
	background-image: var(--menu-entry-icon-dark);
}


.monaco-dropdown-with-default {
	display: flex !important;
	flex-direction: row;
	border-radius: 5px;
}

.monaco-dropdown-with-default > .action-container > .action-label {
	margin-right: 0;
}

.monaco-dropdown-with-default > .action-container.menu-entry > .action-label.icon {
	width: 16px;
	height: 16px;
	background-repeat: no-repeat;
	background-position: 50%;
	background-size: 16px;
}

.monaco-dropdown-with-default > .action-container.menu-entry > .action-label {
	background-image: var(--menu-entry-icon-light);
}

.vs-dark .monaco-dropdown-with-default > .action-container.menu-entry > .action-label,
.hc-black .monaco-dropdown-with-default > .action-container.menu-entry > .action-label {
	background-image: var(--menu-entry-icon-dark);
}

.monaco-dropdown-with-default > .dropdown-action-container > .monaco-dropdown > .dropdown-label .codicon[class*='codicon-'] {
	font-size: 12px;
	padding-left: 0px;
	padding-right: 0px;
	line-height: 16px;
	margin-left: -3px;
}

.monaco-dropdown-with-default > .dropdown-action-container > .monaco-dropdown > .dropdown-label > .action-label {
	display: block;
	background-size: 16px;
	background-position: center center;
	background-repeat: no-repeat;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-list {
	position: relative;
	height: 100%;
	width: 100%;
	white-space: nowrap;
}

.monaco-list.mouse-support {
	user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
}

.monaco-list > .monaco-scrollable-element {
	height: 100%;
}

.monaco-list-rows {
	position: relative;
	width: 100%;
	height: 100%;
}

.monaco-list.horizontal-scrolling .monaco-list-rows {
	width: auto;
	min-width: 100%;
}

.monaco-list-row {
	position: absolute;
	box-sizing: border-box;
	overflow: hidden;
	width: 100%;
}

.monaco-list.mouse-support .monaco-list-row {
	cursor: pointer;
	touch-action: none;
}

/* for OS X ballistic scrolling */
.monaco-list-row.scrolling {
	display: none !important;
}

/* Focus */
.monaco-list.element-focused,
.monaco-list.selection-single,
.monaco-list.selection-multiple {
	outline: 0 !important;
}

/* Dnd */
.monaco-drag-image {
	display: inline-block;
	padding: 1px 7px;
	border-radius: 10px;
	font-size: 12px;
	position: absolute;
	z-index: 1000;
}

/* Type filter */

.monaco-list-type-filter {
	display: flex;
	align-items: center;
	position: absolute;
	border-radius: 2px;
	padding: 0px 3px;
	max-width: calc(100% - 10px);
	text-overflow: ellipsis;
	overflow: hidden;
	text-align: right;
	box-sizing: border-box;
	cursor: all-scroll;
	font-size: 13px;
	line-height: 18px;
	height: 20px;
	z-index: 1;
	top: 4px;
}

.monaco-list-type-filter.dragging {
	transition: top 0.2s, left 0.2s;
}

.monaco-list-type-filter.ne {
	right: 4px;
}

.monaco-list-type-filter.nw {
	left: 4px;
}

.monaco-list-type-filter > .controls {
	display: flex;
	align-items: center;
	box-sizing: border-box;
	transition: width 0.2s;
	width: 0;
}

.monaco-list-type-filter.dragging > .controls,
.monaco-list-type-filter:hover > .controls {
	width: 36px;
}

.monaco-list-type-filter > .controls > * {
	border: none;
	box-sizing: border-box;
	-webkit-appearance: none;
	-moz-appearance: none;
	background: none;
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

.monaco-list-type-filter > .controls > .filter {
	margin-left: 4px;
}

.monaco-list-type-filter-message {
	position: absolute;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	padding: 40px 1em 1em 1em;
	text-align: center;
	white-space: normal;
	opacity: 0.7;
	pointer-events: none;
}

.monaco-list-type-filter-message:empty {
	display: none;
}

/* Electron */

.monaco-list-type-filter {
	cursor: grab;
}

.monaco-list-type-filter.dragging {
	cursor: grabbing;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-split-view2 {
	position: relative;
	width: 100%;
	height: 100%;
}

.monaco-split-view2 > .sash-container {
	position: absolute;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.monaco-split-view2 > .sash-container > .monaco-sash {
	pointer-events: initial;
}

.monaco-split-view2 > .monaco-scrollable-element {
	width: 100%;
	height: 100%;
}

.monaco-split-view2 > .monaco-scrollable-element > .split-view-container {
	width: 100%;
	height: 100%;
	white-space: nowrap;
	position: relative;
}

.monaco-split-view2 > .monaco-scrollable-element > .split-view-container > .split-view-view {
	white-space: initial;
	position: absolute;
}

.monaco-split-view2 > .monaco-scrollable-element > .split-view-container > .split-view-view:not(.visible) {
	display: none;
}

.monaco-split-view2.vertical > .monaco-scrollable-element > .split-view-container > .split-view-view {
	width: 100%;
}

.monaco-split-view2.horizontal > .monaco-scrollable-element > .split-view-container > .split-view-view {
	height: 100%;
}

.monaco-split-view2.separator-border > .monaco-scrollable-element > .split-view-container > .split-view-view:not(:first-child)::before {
	content: ' ';
	position: absolute;
	top: 0;
	left: 0;
	z-index: 5;
	pointer-events: none;
	background-color: var(--separator-border);
}

.monaco-split-view2.separator-border.horizontal > .monaco-scrollable-element > .split-view-container > .split-view-view:not(:first-child)::before {
	height: 100%;
	width: 1px;
}

.monaco-split-view2.separator-border.vertical > .monaco-scrollable-element > .split-view-container > .split-view-view:not(:first-child)::before {
	height: 1px;
	width: 100%;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-table {
	display: flex;
	flex-direction: column;
	position: relative;
	height: 100%;
	width: 100%;
	white-space: nowrap;
}

.monaco-table > .monaco-split-view2 {
	border-bottom: 1px solid transparent;
}

.monaco-table > .monaco-list {
	flex: 1;
}

.monaco-table-tr {
	display: flex;
	height: 100%;
}

.monaco-table-th {
	width: 100%;
	height: 100%;
	font-weight: bold;
	overflow: hidden;
	text-overflow: ellipsis;
}

.monaco-table-th,
.monaco-table-td {
	box-sizing: border-box;
	flex-shrink: 0;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.monaco-table > .monaco-split-view2 .monaco-sash.vertical::before {
	content: "";
	position: absolute;
	left: calc(var(--sash-size) / 2);
	width: 0;
	border-left: 1px solid transparent;
}

.monaco-table > .monaco-split-view2,
.monaco-table > .monaco-split-view2 .monaco-sash.vertical::before {
	transition: border-color 0.2s ease-out;
}
/*
.monaco-table:hover > .monaco-split-view2,
.monaco-table:hover > .monaco-split-view2 .monaco-sash.vertical::before {
	border-color: rgba(204, 204, 204, 0.2);
} */
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-tl-row {
	display: flex;
	height: 100%;
	align-items: center;
	position: relative;
}

.monaco-tl-indent {
	height: 100%;
	position: absolute;
	top: 0;
	left: 16px;
	pointer-events: none;
}

.hide-arrows .monaco-tl-indent {
	left: 12px;
}

.monaco-tl-indent > .indent-guide {
	display: inline-block;
	box-sizing: border-box;
	height: 100%;
	border-left: 1px solid transparent;
}

.monaco-tl-indent > .indent-guide {
	transition: border-color 0.1s linear;
}

.monaco-tl-twistie,
.monaco-tl-contents {
	height: 100%;
}

.monaco-tl-twistie {
	font-size: 10px;
	text-align: right;
	padding-right: 6px;
	flex-shrink: 0;
	width: 16px;
	display: flex !important;
	align-items: center;
	justify-content: center;
	transform: translateX(3px);
}

.monaco-tl-contents {
	flex: 1;
	overflow: hidden;
}

.monaco-tl-twistie::before {
	border-radius: 20px;
}

.monaco-tl-twistie.collapsed::before {
	transform: rotate(-90deg);
}

.monaco-tl-twistie.codicon-tree-item-loading::before {
	/* Use steps to throttle FPS to reduce CPU usage */
	animation: codicon-spin 1.25s steps(30) infinite;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/* -- zone widget */
.monaco-editor .zone-widget .zone-widget-container.reference-zone-widget {
	border-top-width: 1px;
	border-bottom-width: 1px;
}

.monaco-editor .reference-zone-widget .inline {
	display: inline-block;
	vertical-align: top;
}

.monaco-editor .reference-zone-widget .messages {
	height: 100%;
	width: 100%;
	text-align: center;
	padding: 3em 0;
}

.monaco-editor .reference-zone-widget .ref-tree {
	line-height: 23px;
	background-color: var(--vscode-peekViewResult-background);
	color: var(--vscode-peekViewResult-lineForeground);
}

.monaco-editor .reference-zone-widget .ref-tree .reference {
	text-overflow: ellipsis;
	overflow: hidden;
}

.monaco-editor .reference-zone-widget .ref-tree .reference-file {
	display: inline-flex;
	width: 100%;
	height: 100%;
	color: var(--vscode-peekViewResult-fileForeground);
}

.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .selected .reference-file {
	color: inherit !important;
}

.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows > .monaco-list-row.selected:not(.highlighted) {
	background-color: var(--vscode-peekViewResult-selectionBackground);
	color: var(--vscode-peekViewResult-selectionForeground) !important;
}

.monaco-editor .reference-zone-widget .ref-tree .reference-file .count {
	margin-right: 12px;
	margin-left: auto;
}

.monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight {
	background-color: var(--vscode-peekViewResult-matchHighlightBackground);
}

.monaco-editor .reference-zone-widget .preview .reference-decoration {
	background-color: var(--vscode-peekViewEditor-matchHighlightBackground);
	border: 2px solid var(--vscode-peekViewEditor-matchHighlightBorder);
	box-sizing: border-box;
}

.monaco-editor .reference-zone-widget .preview .monaco-editor .monaco-editor-background,
.monaco-editor .reference-zone-widget .preview .monaco-editor .inputarea.ime-input {
	background-color: var(--vscode-peekViewEditor-background);
}

.monaco-editor .reference-zone-widget .preview .monaco-editor .margin {
	background-color: var(--vscode-peekViewEditorGutter-background);
}

/* High Contrast Theming */

.monaco-editor.hc-black .reference-zone-widget .ref-tree .reference-file {
	font-weight: bold;
}

.monaco-editor.hc-black .reference-zone-widget .ref-tree .referenceMatch .highlight {
	border: 1px dotted var(--vscode-contrastActiveBorder, transparent);
	box-sizing: border-box;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-count-badge {
	padding: 3px 6px;
	border-radius: 11px;
	font-size: 11px;
	min-width: 18px;
	min-height: 18px;
	line-height: 11px;
	font-weight: normal;
	text-align: center;
	display: inline-block;
	box-sizing: border-box;
}

.monaco-count-badge.long {
	padding: 2px 3px;
	border-radius: 2px;
	min-height: auto;
	line-height: normal;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/* ---------- Icon label ---------- */

.monaco-icon-label {
	display: flex; /* required for icons support :before rule */
	overflow: hidden;
	text-overflow: ellipsis;
}

.monaco-icon-label::before {

	/* svg icons rendered as background image */
	background-size: 16px;
	background-position: left center;
	background-repeat: no-repeat;
	padding-right: 6px;
	width: 16px;
	height: 22px;
	line-height: inherit !important;
	display: inline-block;

	/* fonts icons */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	vertical-align: top;

	flex-shrink: 0; /* fix for https://github.com/microsoft/vscode/issues/13787 */
}

.monaco-icon-label > .monaco-icon-label-container {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	flex: 1;
}

.monaco-icon-label > .monaco-icon-label-container > .monaco-icon-name-container > .label-name {
	color: inherit;
	white-space: pre; /* enable to show labels that include multiple whitespaces */
}

.monaco-icon-label > .monaco-icon-label-container > .monaco-icon-name-container > .label-name > .label-separator {
	margin: 0 2px;
	opacity: 0.5;
}

.monaco-icon-label > .monaco-icon-label-container > .monaco-icon-description-container > .label-description {
	opacity: .7;
	margin-left: 0.5em;
	font-size: 0.9em;
	white-space: pre; /* enable to show labels that include multiple whitespaces */
}

.monaco-icon-label.nowrap > .monaco-icon-label-container > .monaco-icon-description-container > .label-description{
	white-space: nowrap
}

.vs .monaco-icon-label > .monaco-icon-label-container > .monaco-icon-description-container > .label-description {
	opacity: .95;
}

.monaco-icon-label.italic > .monaco-icon-label-container > .monaco-icon-name-container > .label-name,
.monaco-icon-label.italic > .monaco-icon-label-container > .monaco-icon-description-container > .label-description {
	font-style: italic;
}

.monaco-icon-label.deprecated {
	text-decoration: line-through;
	opacity: 0.66;
}

/* make sure apply italic font style to decorations as well */
.monaco-icon-label.italic::after {
	font-style: italic;
}

.monaco-icon-label.strikethrough > .monaco-icon-label-container > .monaco-icon-name-container > .label-name,
.monaco-icon-label.strikethrough > .monaco-icon-label-container > .monaco-icon-description-container > .label-description {
	text-decoration: line-through;
}

.monaco-icon-label::after {
	opacity: 0.75;
	font-size: 90%;
	font-weight: 600;
	margin: auto 16px 0 5px; /* https://github.com/microsoft/vscode/issues/113223 */
	text-align: center;
}

/* make sure selection color wins when a label is being selected */
.monaco-list:focus .selected .monaco-icon-label, /* list */
.monaco-list:focus .selected .monaco-icon-label::after
{
	color: inherit !important;
}

.monaco-list-row.focused.selected .label-description,
.monaco-list-row.selected .label-description {
	opacity: .8;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-hover {
	cursor: default;
	position: absolute;
	overflow: hidden;
	z-index: 50;
	user-select: text;
	-webkit-user-select: text;
	-ms-user-select: text;
	box-sizing: initial;
	animation: fadein 100ms linear;
	line-height: 1.5em;
}

.monaco-hover.hidden {
	display: none;
}

.monaco-hover a:hover {
	cursor: pointer;
}

.monaco-hover .hover-contents:not(.html-hover-contents) {
	padding: 4px 8px;
}

.monaco-hover .markdown-hover > .hover-contents:not(.code-hover-contents) {
	max-width: 500px;
	word-wrap: break-word;
}

.monaco-hover .markdown-hover > .hover-contents:not(.code-hover-contents) hr {
	min-width: 100%;
}

.monaco-hover p,
.monaco-hover .code,
.monaco-hover ul {
	margin: 8px 0;
}

.monaco-hover code {
	font-family: var(--monaco-monospace-font);
}

.monaco-hover hr {
	box-sizing: border-box;
	border-left: 0px;
	border-right: 0px;
	margin-top: 4px;
	margin-bottom: -4px;
	margin-left: -8px;
	margin-right: -8px;
	height: 1px;
}

.monaco-hover p:first-child,
.monaco-hover .code:first-child,
.monaco-hover ul:first-child {
	margin-top: 0;
}

.monaco-hover p:last-child,
.monaco-hover .code:last-child,
.monaco-hover ul:last-child {
	margin-bottom: 0;
}

/* MarkupContent Layout */
.monaco-hover ul {
	padding-left: 20px;
}
.monaco-hover ol {
	padding-left: 20px;
}

.monaco-hover li > p {
	margin-bottom: 0;
}

.monaco-hover li > ul {
	margin-top: 0;
}

.monaco-hover code {
	border-radius: 3px;
	padding: 0 0.4em;
}

.monaco-hover .monaco-tokenized-source {
	white-space: pre-wrap;
}

.monaco-hover .hover-row.status-bar {
	font-size: 12px;
	line-height: 22px;
}

.monaco-hover .hover-row.status-bar .actions {
	display: flex;
	padding: 0px 8px;
}

.monaco-hover .hover-row.status-bar .actions .action-container {
	margin-right: 16px;
	cursor: pointer;
}

.monaco-hover .hover-row.status-bar .actions .action-container .action .icon {
	padding-right: 4px;
}

.monaco-hover .markdown-hover .hover-contents .codicon {
	color: inherit;
	font-size: inherit;
	vertical-align: middle;
}

.monaco-hover .hover-contents a.code-link:hover,
.monaco-hover .hover-contents a.code-link {
	color: inherit;
}

.monaco-hover .hover-contents a.code-link:before {
	content: '(';
}

.monaco-hover .hover-contents a.code-link:after {
	content: ')';
}

.monaco-hover .hover-contents a.code-link > span {
	text-decoration: underline;
	/** Hack to force underline to show **/
	border-bottom: 1px solid transparent;
	text-underline-position: under;
}

/** Spans in markdown hovers need a margin-bottom to avoid looking cramped: https://github.com/microsoft/vscode/issues/101496 **/
.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) span {
	margin-bottom: 4px;
	display: inline-block;
}

.monaco-hover-content .action-container a {
	-webkit-user-select: none;
	user-select: none;
}

.monaco-hover-content .action-container.disabled {
	pointer-events: none;
	opacity: 0.4;
	cursor: default;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-custom-checkbox {
	margin-left: 2px;
	float: left;
	cursor: pointer;
	overflow: hidden;
	width: 20px;
	height: 20px;
	border-radius: 3px;
	border: 1px solid transparent;
	padding: 1px;
	box-sizing:	border-box;
	user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
}

.monaco-custom-checkbox:hover {
	background-color: var(--vscode-inputOption-hoverBackground);
}

.hc-black .monaco-custom-checkbox:hover {
	border: 1px dashed var(--vscode-focusBorder);
}

.hc-black .monaco-custom-checkbox {
	background: none;
}

.hc-black .monaco-custom-checkbox:hover {
	background: none;
}

.monaco-custom-checkbox.monaco-simple-checkbox {
	height: 18px;
	width: 18px;
	border: 1px solid transparent;
	border-radius: 3px;
	margin-right: 9px;
	margin-left: 0px;
	padding: 0px;
	opacity: 1;
	background-size: 16px !important;
}

/* hide check when unchecked */
.monaco-custom-checkbox.monaco-simple-checkbox:not(.checked)::before {
	visibility: hidden;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-inputbox {
	position: relative;
	display: block;
	padding: 0;
	box-sizing:	border-box;

	/* Customizable */
	font-size: inherit;
}

.monaco-inputbox.idle {
	border: 1px solid transparent;
}

.monaco-inputbox > .ibwrapper > .input,
.monaco-inputbox > .ibwrapper > .mirror {

	/* Customizable */
	padding: 4px;
}

.monaco-inputbox > .ibwrapper {
	position: relative;
	width: 100%;
	height: 100%;
}

.monaco-inputbox > .ibwrapper > .input {
	display: inline-block;
	box-sizing:	border-box;
	width: 100%;
	height: 100%;
	line-height: inherit;
	border: none;
	font-family: inherit;
	font-size: inherit;
	resize: none;
	color: inherit;
}

.monaco-inputbox > .ibwrapper > input {
	text-overflow: ellipsis;
}

.monaco-inputbox > .ibwrapper > textarea.input {
	display: block;
	-ms-overflow-style: none; /* IE 10+: hide scrollbars */
	scrollbar-width: none; /* Firefox: hide scrollbars */
	outline: none;
}

.monaco-inputbox > .ibwrapper > textarea.input::-webkit-scrollbar {
	display: none; /* Chrome + Safari: hide scrollbar */
}

.monaco-inputbox > .ibwrapper > textarea.input.empty {
	white-space: nowrap;
}

.monaco-inputbox > .ibwrapper > .mirror {
	position: absolute;
	display: inline-block;
	width: 100%;
	top: 0;
	left: 0;
	box-sizing: border-box;
	white-space: pre-wrap;
	visibility: hidden;
	word-wrap: break-word;
}

/* Context view */

.monaco-inputbox-container {
	text-align: right;
}

.monaco-inputbox-container .monaco-inputbox-message {
	display: inline-block;
	overflow: hidden;
	text-align: left;
	width: 100%;
	box-sizing:	border-box;
	padding: 0.4em;
	font-size: 12px;
	line-height: 17px;
	margin-top: -1px;
	word-wrap: break-word;
}

/* Action bar support */
.monaco-inputbox .monaco-action-bar {
	position: absolute;
	right: 2px;
	top: 4px;
}

.monaco-inputbox .monaco-action-bar .action-item {
	margin-left: 2px;
}

.monaco-inputbox .monaco-action-bar .action-item .codicon {
	background-repeat: no-repeat;
	width: 16px;
	height: 16px;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
/* ---------- Find input ---------- */

.monaco-findInput {
	position: relative;
}

.monaco-findInput .monaco-inputbox {
	font-size: 13px;
	width: 100%;
}

.monaco-findInput > .controls {
	position: absolute;
	top: 3px;
	right: 2px;
}

.vs .monaco-findInput.disabled {
	background-color: #E1E1E1;
}

/* Theming */
.vs-dark .monaco-findInput.disabled {
	background-color: #333;
}

/* Highlighting */
.monaco-findInput.highlight-0 .controls {
	animation: monaco-findInput-highlight-0 100ms linear 0s;
}
.monaco-findInput.highlight-1 .controls {
	animation: monaco-findInput-highlight-1 100ms linear 0s;
}
.hc-black .monaco-findInput.highlight-0 .controls,
.vs-dark  .monaco-findInput.highlight-0 .controls {
	animation: monaco-findInput-highlight-dark-0 100ms linear 0s;
}
.hc-black .monaco-findInput.highlight-1 .controls,
.vs-dark  .monaco-findInput.highlight-1 .controls {
	animation: monaco-findInput-highlight-dark-1 100ms linear 0s;
}

@keyframes monaco-findInput-highlight-0 {
	0% { background: rgba(253, 255, 0, 0.8); }
	100% { background: transparent; }
}
@keyframes monaco-findInput-highlight-1 {
	0% { background: rgba(253, 255, 0, 0.8); }
	/* Made intentionally different such that the CSS minifier does not collapse the two animations into a single one*/
	99% { background: transparent; }
}

@keyframes monaco-findInput-highlight-dark-0 {
	0% { background: rgba(255, 255, 255, 0.44); }
	100% { background: transparent; }
}
@keyframes monaco-findInput-highlight-dark-1 {
	0% { background: rgba(255, 255, 255, 0.44); }
	/* Made intentionally different such that the CSS minifier does not collapse the two animations into a single one*/
	99% { background: transparent; }
}/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/* marker zone */

.monaco-editor .peekview-widget .head .peekview-title .severity-icon {
	display: inline-block;
	vertical-align: text-top;
	margin-right: 4px;
}

.monaco-editor .marker-widget {
	text-overflow: ellipsis;
	white-space: nowrap;
}

.monaco-editor .marker-widget > .stale {
	opacity: 0.6;
	font-style: italic;
}

.monaco-editor .marker-widget .title {
	display: inline-block;
	padding-right: 5px;
}

.monaco-editor .marker-widget .descriptioncontainer {
	position: absolute;
	white-space: pre;
	user-select: text;
	-webkit-user-select: text;
	-ms-user-select: text;
	padding: 8px 12px 0 20px;
}

.monaco-editor .marker-widget .descriptioncontainer .message {
	display: flex;
	flex-direction: column;
}

.monaco-editor .marker-widget .descriptioncontainer .message .details {
	padding-left: 6px;
}

.monaco-editor .marker-widget .descriptioncontainer .message .source,
.monaco-editor .marker-widget .descriptioncontainer .message span.code {
	opacity: 0.6;
}

.monaco-editor .marker-widget .descriptioncontainer .message a.code-link {
	opacity: 0.6;
	color: inherit;
}

.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:before {
	content: '(';
}

.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:after {
	content: ')';
}

.monaco-editor .marker-widget .descriptioncontainer .message a.code-link > span {
	text-decoration: underline;
	/** Hack to force underline to show **/
	border-bottom: 1px solid transparent;
	text-underline-position: under;
	color: var(--vscode-textLink-foreground);
}

.monaco-editor .marker-widget .descriptioncontainer .message a.code-link > span {
	color: var(--vscode-textLink-activeForeground);
}

.monaco-editor .marker-widget .descriptioncontainer .filename {
	cursor: pointer;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor.vs .dnd-target {
	border-right: 2px dotted black;
	color: white; /* opposite of black */
}
.monaco-editor.vs-dark .dnd-target {
	border-right: 2px dotted #AEAFAD;
	color: #51504f; /* opposite of #AEAFAD */
}
.monaco-editor.hc-black .dnd-target {
	border-right: 2px dotted #fff;
	color: #000; /* opposite of #fff */
}

.monaco-editor.mouse-default .view-lines,
.monaco-editor.vs-dark.mac.mouse-default .view-lines,
.monaco-editor.hc-black.mac.mouse-default .view-lines {
	cursor: default;
}
.monaco-editor.mouse-copy .view-lines,
.monaco-editor.vs-dark.mac.mouse-copy .view-lines,
.monaco-editor.hc-black.mac.mouse-copy .view-lines {
	cursor: copy;
}/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/* Find widget */
.monaco-editor .find-widget {
	position: absolute;
	z-index: 35;
	height: 33px;
	overflow: hidden;
	line-height: 19px;
	transition: transform 200ms linear;
	padding: 0 4px;
	box-sizing: border-box;
	transform: translateY(calc(-100% - 10px)); /* shadow (10px) */
}

.monaco-editor .find-widget textarea {
	margin: 0px;
}

.monaco-editor .find-widget.hiddenEditor {
	display: none;
}

/* Find widget when replace is toggled on */
.monaco-editor .find-widget.replaceToggled > .replace-part {
	display: flex;
}

.monaco-editor .find-widget.visible  {
	transform: translateY(0);
}

.monaco-editor .find-widget .monaco-inputbox.synthetic-focus {
	outline: 1px solid -webkit-focus-ring-color;
	outline-offset: -1px;
}

.monaco-editor .find-widget .monaco-inputbox .input {
	background-color: transparent;
	min-height: 0;
}

.monaco-editor .find-widget .monaco-findInput .input {
	font-size: 13px;
}

.monaco-editor .find-widget > .find-part,
.monaco-editor .find-widget > .replace-part {
	margin: 4px 0 0 17px;
	font-size: 12px;
	display: flex;
}

.monaco-editor .find-widget > .find-part .monaco-inputbox,
.monaco-editor .find-widget > .replace-part .monaco-inputbox {
	min-height: 25px;
}


.monaco-editor .find-widget > .replace-part .monaco-inputbox > .ibwrapper > .mirror {
	padding-right: 22px;
}

.monaco-editor .find-widget > .find-part .monaco-inputbox > .ibwrapper > .input,
.monaco-editor .find-widget > .find-part .monaco-inputbox > .ibwrapper > .mirror,
.monaco-editor .find-widget > .replace-part .monaco-inputbox > .ibwrapper > .input,
.monaco-editor .find-widget > .replace-part .monaco-inputbox > .ibwrapper > .mirror {
	padding-top: 2px;
	padding-bottom: 2px;
}

.monaco-editor .find-widget > .find-part .find-actions {
	height: 25px;
	display: flex;
	align-items: center;
}

.monaco-editor .find-widget > .replace-part .replace-actions {
	height: 25px;
	display: flex;
	align-items: center;
}

.monaco-editor .find-widget .monaco-findInput {
	vertical-align: middle;
	display: flex;
	flex:1;
}

.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element {
	/* Make sure textarea inherits the width correctly */
	width: 100%;
}

.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element .scrollbar.vertical {
	/* Hide vertical scrollbar */
	opacity: 0;
}

.monaco-editor .find-widget .matchesCount {
	display: flex;
	flex: initial;
	margin: 0 0 0 3px;
	padding: 2px 0 0 2px;
	height: 25px;
	vertical-align: middle;
	box-sizing: border-box;
	text-align: center;
	line-height: 23px;
}

.monaco-editor .find-widget .button {
	width: 16px;
	height: 16px;
	padding: 3px;
	border-radius: 5px;
	display: flex;
	flex: initial;
	margin-left: 3px;
	background-position: center center;
	background-repeat: no-repeat;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* find in selection button */
.monaco-editor .find-widget .codicon-find-selection {
	width: 22px;
	height: 22px;
	padding: 3px;
	border-radius: 5px;
}

.monaco-editor .find-widget .button.left {
	margin-left: 0;
	margin-right: 3px;
}

.monaco-editor .find-widget .button.wide {
	width: auto;
	padding: 1px 6px;
	top: -1px;
}

.monaco-editor .find-widget .button.toggle {
	position: absolute;
	top: 0;
	left: 3px;
	width: 18px;
	height: 100%;
	border-radius: 0;
	box-sizing: border-box;
}

.monaco-editor .find-widget .button.toggle.disabled {
	display: none;
}

.monaco-editor .find-widget .disabled {
	opacity: 0.3;
	cursor: default;
}

.monaco-editor .find-widget > .replace-part {
	display: none;
}

.monaco-editor .find-widget > .replace-part > .monaco-findInput {
	position: relative;
	display: flex;
	vertical-align: middle;
	flex: auto;
	flex-grow: 0;
	flex-shrink: 0;
}

.monaco-editor .find-widget > .replace-part > .monaco-findInput > .controls {
	position: absolute;
	top: 3px;
	right: 2px;
}

/* REDUCED */
.monaco-editor .find-widget.reduced-find-widget .matchesCount {
	display:none;
}

/* NARROW (SMALLER THAN REDUCED) */
.monaco-editor .find-widget.narrow-find-widget {
	max-width: 257px !important;
}

/* COLLAPSED (SMALLER THAN NARROW) */
.monaco-editor .find-widget.collapsed-find-widget {
	max-width: 170px !important;
}

.monaco-editor .find-widget.collapsed-find-widget .button.previous,
.monaco-editor .find-widget.collapsed-find-widget .button.next,
.monaco-editor .find-widget.collapsed-find-widget .button.replace,
.monaco-editor .find-widget.collapsed-find-widget .button.replace-all,
.monaco-editor .find-widget.collapsed-find-widget > .find-part .monaco-findInput .controls {
	display:none;
}

.monaco-editor .findMatch {
	animation-duration: 0;
	animation-name: inherit !important;
}

.monaco-editor .find-widget .monaco-sash {
	left: 0 !important;
}

.monaco-editor.hc-black .find-widget .button:before {
	position: relative;
	top: 1px;
	left: 2px;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .margin-view-overlays .codicon-folding-expanded,
.monaco-editor .margin-view-overlays .codicon-folding-collapsed {
	cursor: pointer;
	opacity: 0;
	transition: opacity 0.5s;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 140%;
	margin-left: 2px;
}

.monaco-editor .margin-view-overlays:hover .codicon,
.monaco-editor .margin-view-overlays .codicon.codicon-folding-collapsed,
.monaco-editor .margin-view-overlays .codicon.alwaysShowFoldIcons {
	opacity: 1;
}

.monaco-editor .inline-folded:after {
	color: grey;
	margin: 0.1em 0.2em 0 0.2em;
	content: "⋯";
	display: inline;
	line-height: 1em;
	cursor: pointer;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .snippet-placeholder {
	min-width: 2px;
	outline-style: solid;
	outline-width: 1px;
	background-color: var(--vscode-editor-snippetTabstopHighlightBackground, transparent);
	outline-color: var(--vscode-editor-snippetTabstopHighlightBorder, transparent);
}

.monaco-editor .finish-snippet-placeholder {
	outline-style: solid;
	outline-width: 1px;
	background-color: var(--vscode-editor-snippetFinalTabstopHighlightBackground, transparent);
	outline-color: var(--vscode-editor-snippetFinalTabstopHighlightBorder, transparent);
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

@font-face {
	font-family: "codicon";
	font-display: block;
	src: url(./codicon-DcSIACem.ttf) format("truetype");
}

.codicon[class*='codicon-'] {
	font: normal normal normal 16px/1 codicon;
	display: inline-block;
	text-decoration: none;
	text-rendering: auto;
	text-align: center;
	text-transform: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
}

/* icon rules are dynamically created by the platform theme service (see iconsStyleSheet.ts) */
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.codicon-wrench-subaction {
	opacity: 0.5;
}

@keyframes codicon-spin {
	100% {
		transform:rotate(360deg);
	}
}

.codicon-sync.codicon-modifier-spin,
.codicon-loading.codicon-modifier-spin,
.codicon-gear.codicon-modifier-spin,
.codicon-notebook-state-executing.codicon-modifier-spin {
	/* Use steps to throttle FPS to reduce CPU usage */
	animation: codicon-spin 1.5s steps(30) infinite;
}

.codicon-modifier-disabled {
	opacity: 0.4;
}

/* custom speed & easing for loading icon */
.codicon-loading,
.codicon-tree-item-loading::before {
	animation-duration: 1s !important;
	animation-timing-function: cubic-bezier(0.53, 0.21, 0.29, 0.67) !important;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

/* Suggest widget*/

.monaco-editor .suggest-widget {
	width: 430px;
	z-index: 40;
	display: flex;
	flex-direction: column;
}

.monaco-editor .suggest-widget.message {
	flex-direction: row;
	align-items: center;
}

.monaco-editor .suggest-widget,
.monaco-editor .suggest-details {
	flex: 0 1 auto;
	width: 100%;
	border-style: solid;
	border-width: 1px;
	border-color: var(--vscode-editorSuggestWidget-border);
	background-color: var(--vscode-editorSuggestWidget-background);
}

.monaco-editor.hc-black .suggest-widget,
.monaco-editor.hc-black .suggest-details {
	border-width: 2px;
}

/* Styles for status bar part */


.monaco-editor .suggest-widget .suggest-status-bar {
	box-sizing: border-box;
	display: none;
	flex-flow: row nowrap;
	justify-content: space-between;
	width: 100%;
	font-size: 80%;
	padding: 0 4px 0 4px;
	border-top: 1px solid var(--vscode-editorSuggestWidget-border);
	overflow: hidden;
}

.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar {
	display: flex;
}

.monaco-editor .suggest-widget .suggest-status-bar .left {
	padding-right: 8px;
}

.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-label {
	color: var(--vscode-editorSuggestWidgetStatus-foreground);
}

.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label {
	margin-right: 0;
}

.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label::after {
	content: ', ';
	margin-right: 0.3em;
}

.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row>.contents>.main>.right>.readMore,
.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore {
	display: none;
}

.monaco-editor .suggest-widget.with-status-bar:not(.docs-side) .monaco-list .monaco-list-row:hover>.contents>.main>.right.can-expand-details>.details-label {
	width: 100%;
}

/* Styles for Message element for when widget is loading or is empty */

.monaco-editor .suggest-widget>.message {
	padding-left: 22px;
}

/** Styles for the list element **/

.monaco-editor .suggest-widget>.tree {
	height: 100%;
	width: 100%;
}

.monaco-editor .suggest-widget .monaco-list {
	user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
}

/** Styles for each row in the list element **/

.monaco-editor .suggest-widget .monaco-list .monaco-list-row {
	display: flex;
	-mox-box-sizing: border-box;
	box-sizing: border-box;
	padding-right: 10px;
	background-repeat: no-repeat;
	background-position: 2px 2px;
	white-space: nowrap;
	cursor: pointer;
	touch-action: none;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused {
	color: var(--vscode-editorSuggestWidget-selectedForeground);
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused .codicon {
	color: var(--vscode-editorSuggestWidget-selectedIconForeground);
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents {
	flex: 1;
	height: 100%;
	overflow: hidden;
	padding-left: 2px;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main {
	display: flex;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: pre;
	justify-content: space-between;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left, .monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right {
	display: flex;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.focused)>.contents>.main .monaco-icon-label {
	color: var(--vscode-editorSuggestWidget-foreground);
}

.monaco-editor .suggest-widget:not(.frozen) .monaco-highlighted-label .highlight {
	font-weight: bold;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main .monaco-highlighted-label .highlight {
	color: var(--vscode-editorSuggestWidget-highlightForeground);
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused>.contents>.main .monaco-highlighted-label .highlight {
	color: var(--vscode-editorSuggestWidget-focusHighlightForeground);
}

/** ReadMore Icon styles **/

.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close,
.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore::before {
	color: inherit;
	opacity: 1;
	font-size: 14px;
	cursor: pointer;
}

.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close {
	position: absolute;
	top: 6px;
	right: 2px;
}

.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close:hover,
.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:hover {
	opacity: 1;
}

/** signature, qualifier, type/details opacity **/

.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label {
	opacity: 0.7;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.signature-label {
	overflow: hidden;
	text-overflow: ellipsis;
	opacity: 0.6;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.qualifier-label {
	margin-left: 12px;
	opacity: 0.4;
	font-size: 85%;
	line-height: initial;
	text-overflow: ellipsis;
	overflow: hidden;
	align-self: center;
}

/** Type Info and icon next to the label in the focused completion item **/

.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label {
	font-size: 85%;
	margin-left: 1.1em;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label>.monaco-tokenized-source {
	display: inline;
}

/** Details: if using CompletionItem#details, show on focus **/

.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label {
	display: none;
}

.monaco-editor .suggest-widget:not(.shows-details) .monaco-list .monaco-list-row.focused>.contents>.main>.right>.details-label {
	display: inline;
}

/** Details: if using CompletionItemLabel#details, always show **/

.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.right>.details-label,
.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row.focused:not(.string-label)>.contents>.main>.right>.details-label {
	display: inline;
}

/** Ellipsis on hover **/

.monaco-editor .suggest-widget:not(.docs-side) .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right.can-expand-details>.details-label {
	width: calc(100% - 26px);
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left {
	flex-shrink: 1;
	flex-grow: 1;
	overflow: hidden;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.monaco-icon-label {
	flex-shrink: 0;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.left>.monaco-icon-label {
	max-width: 100%;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.left>.monaco-icon-label {
	flex-shrink: 1;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right {
	overflow: hidden;
	flex-shrink: 4;
	max-width: 70%;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore {
	display: inline-block;
	position: absolute;
	right: 10px;
	width: 18px;
	height: 18px;
	visibility: hidden;
}

/** Do NOT display ReadMore when docs is side/below **/

.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row>.contents>.main>.right>.readMore {
	display: none !important;
}

/** Do NOT display ReadMore when using plain CompletionItemLabel (details/documentation might not be resolved) **/

.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.right>.readMore {
	display: none;
}

/** Focused item can show ReadMore, but can't when docs is side/below **/

.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore {
	display: inline-block;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right>.readMore {
	visibility: visible;
}

/** Styles for each row in the list **/

.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated {
	opacity: 0.66;
	text-decoration: unset;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated>.monaco-icon-label-container>.monaco-icon-name-container {
	text-decoration: line-through;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label::before {
	height: 100%;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon {
	display: block;
	height: 16px;
	width: 16px;
	margin-left: 2px;
	background-repeat: no-repeat;
	background-size: 80%;
	background-position: center;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.hide {
	display: none;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon {
	display: flex;
	align-items: center;
	margin-right: 4px;
}

.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .icon, .monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .suggest-icon::before {
	display: none;
}

.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.customcolor .colorspan {
	margin: 0 0 0 0.3em;
	border: 0.1em solid #000;
	width: 0.7em;
	height: 0.7em;
	display: inline-block;
}

/** Styles for the docs of the completion item in focus **/

.monaco-editor .suggest-details-container {
	z-index: 41;
}

.monaco-editor .suggest-details {
	display: flex;
	flex-direction: column;
	cursor: default;
	color: var(--vscode-editorSuggestWidget-foreground);
}

.monaco-editor .suggest-details.focused {
	border-color: var(--vscode-focusBorder);
}

.monaco-editor .suggest-details a {
	color: var(--vscode-textLink-foreground);
}

.monaco-editor .suggest-details a:hover {
	color: var(--vscode-textLink-activeForeground);
}

.monaco-editor .suggest-details code {
	background-color: var(--vscode-textCodeBlock-background);
}

.monaco-editor .suggest-details.no-docs {
	display: none;
}

.monaco-editor .suggest-details>.monaco-scrollable-element {
	flex: 1;
}

.monaco-editor .suggest-details>.monaco-scrollable-element>.body {
	box-sizing: border-box;
	height: 100%;
	width: 100%;
}

.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type {
	flex: 2;
	overflow: hidden;
	text-overflow: ellipsis;
	opacity: 0.7;
	white-space: pre;
	margin: 0 24px 0 0;
	padding: 4px 0 12px 5px;
}

.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type.auto-wrap {
	white-space: normal;
	word-break: break-all;
}

.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs {
	margin: 0;
	padding: 4px 5px;
	white-space: pre-wrap;
}

.monaco-editor .suggest-details.no-type>.monaco-scrollable-element>.body>.docs {
	margin-right: 24px;
	overflow: hidden;
}

.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs {
	padding: 0;
	white-space: initial;
	min-height: calc(1rem + 8px);
}

.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div,
.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>span:not(:empty) {
	padding: 4px 5px;
}

.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:first-child {
	margin-top: 0;
}

.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:last-child {
	margin-bottom: 0;
}

.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .monaco-tokenized-source {
	white-space: pre;
}

.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs .code {
	white-space: pre-wrap;
	word-wrap: break-word;
}

.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .codicon {
	vertical-align: sub;
}

.monaco-editor .suggest-details>.monaco-scrollable-element>.body>p:empty {
	display: none;
}

.monaco-editor .suggest-details code {
	border-radius: 3px;
	padding: 0 0.4em;
}

.monaco-editor .suggest-details ul {
	padding-left: 20px;
}

.monaco-editor .suggest-details ol {
	padding-left: 20px;
}

.monaco-editor .suggest-details p code {
	font-family: var(--monaco-monospace-font);
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .suggest-preview-additional-widget {
	white-space: nowrap;
}

.monaco-editor .suggest-preview-additional-widget .content-spacer {
	color: transparent;
	white-space: pre;
}

.monaco-editor .suggest-preview-additional-widget .button {
	display: inline-block;
	cursor: pointer;
	text-decoration: underline;
	text-underline-position: under;
}

.monaco-editor .ghost-text-hidden {
	opacity: 0;
	font-size: 0;
}

.monaco-editor .ghost-text-decoration {
	font-style: italic;
}

.monaco-editor .suggest-preview-text {
	font-style: italic;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
.monaco-editor .detected-link,
.monaco-editor .detected-link-active {
	text-decoration: underline;
	text-underline-position: under;
}

.monaco-editor .detected-link-active {
	cursor: pointer;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .parameter-hints-widget {
	/* Must be higher than the sash's z-index and terminal canvases but lower than the suggest widget */
	z-index: 39;
	display: flex;
	flex-direction: column;
	line-height: 1.5em;
}

.monaco-editor .parameter-hints-widget > .phwrapper {
	max-width: 440px;
	display: flex;
	flex-direction: row;
}

.monaco-editor .parameter-hints-widget.multiple {
	min-height: 3.3em;
	padding: 0;
}

.monaco-editor .parameter-hints-widget.visible {
	transition: left .05s ease-in-out;
}

.monaco-editor .parameter-hints-widget p,
.monaco-editor .parameter-hints-widget ul {
	margin: 8px 0;
}

.monaco-editor .parameter-hints-widget .monaco-scrollable-element,
.monaco-editor .parameter-hints-widget .body {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-height: 100%;
}

.monaco-editor .parameter-hints-widget .signature {
	padding: 4px 5px;
}

.monaco-editor .parameter-hints-widget .docs {
	padding: 0 10px 0 5px;
	white-space: pre-wrap;
}

.monaco-editor .parameter-hints-widget .docs.empty {
	display: none;
}

.monaco-editor .parameter-hints-widget .docs .markdown-docs {
	white-space: initial;
}

.monaco-editor .parameter-hints-widget .docs .markdown-docs code {
	font-family: var(--monaco-monospace-font);
}

.monaco-editor .parameter-hints-widget .docs  .monaco-tokenized-source,
.monaco-editor .parameter-hints-widget .docs .code {
	white-space: pre-wrap;
}

.monaco-editor .parameter-hints-widget .docs code {
	border-radius: 3px;
	padding: 0 0.4em;
}

.monaco-editor .parameter-hints-widget .controls {
	display: none;
	flex-direction: column;
	align-items: center;
	min-width: 22px;
	justify-content: flex-end;
}

.monaco-editor .parameter-hints-widget.multiple .controls {
	display: flex;
	padding: 0 2px;
}

.monaco-editor .parameter-hints-widget.multiple .button {
	width: 16px;
	height: 16px;
	background-repeat: no-repeat;
	cursor: pointer;
}

.monaco-editor .parameter-hints-widget .button.previous {
	bottom: 24px;
}

.monaco-editor .parameter-hints-widget .overloads {
	text-align: center;
	height: 12px;
	line-height: 12px;
	font-family: var(--monaco-monospace-font);
}

.monaco-editor .parameter-hints-widget .signature .parameter.active {
	font-weight: bold;
}

.monaco-editor .parameter-hints-widget .documentation-parameter > .parameter {
	font-weight: bold;
	margin-right: 0.5em;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .rename-box {
	z-index: 100;
	color: inherit;
}

.monaco-editor .rename-box.preview {
	padding: 3px 3px 0 3px;
}

.monaco-editor .rename-box .rename-input {
	padding: 3px;
	width: calc(100% - 6px);
}

.monaco-editor .rename-box .rename-label {
	display: none;
	opacity: .8;
}

.monaco-editor .rename-box.preview .rename-label {
	display: inherit;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-editor .unicode-highlight {
	border: 1px solid var(--vscode-editorUnicodeHighlight-border);
	box-sizing: border-box;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.editor-banner {
	box-sizing: border-box;
	cursor: default;
	width: 100%;
	font-size: 12px;
	display: flex;
	overflow: visible;

	height: 26px;

	background: var(--vscode-banner-background);
}


.editor-banner .icon-container {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	padding: 0 6px 0 10px;
}

.editor-banner .icon-container.custom-icon {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 16px;
	width: 16px;
	padding: 0;
	margin: 0 6px 0 10px;
}

.editor-banner .message-container {
	display: flex;
	align-items: center;
	line-height: 26px;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}

.editor-banner .message-container p {
	margin-block-start: 0;
	margin-block-end: 0;
}

.editor-banner .message-actions-container {
	flex-grow: 1;
	flex-shrink: 0;
	line-height: 26px;
	margin: 0 4px;
}

.editor-banner .message-actions-container a.monaco-button {
	width: inherit;
	margin: 2px 8px;
	padding: 0px 12px;
}

.editor-banner .message-actions-container a {
	padding: 3px;
	margin-left: 12px;
	text-decoration: underline;
}

.editor-banner .action-container {
	padding: 0 10px 0 6px;
}

.editor-banner {
	background-color: var(--vscode-banner-background);
}

.editor-banner,
.editor-banner .action-container .codicon,
.editor-banner .message-actions-container .monaco-link {
	color: var(--vscode-banner-foreground);
}

.editor-banner .icon-container .codicon {
	color: var(--vscode-banner-iconForeground);
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/


/* Default standalone editor fonts */
.monaco-editor {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "HelveticaNeue-Light", system-ui, "Ubuntu", "Droid Sans", sans-serif;
	--monaco-monospace-font: "SF Mono", Monaco, Menlo, Consolas, "Ubuntu Mono", "Liberation Mono", "DejaVu Sans Mono", "Courier New", monospace;
}

.monaco-menu .monaco-action-bar.vertical .action-item .action-menu-item:focus .action-label {
	stroke-width: 1.2px;
}

.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,
.monaco-editor.hc-black .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label {
	stroke-width: 1.2px;
}

.monaco-hover p {
	margin: 0;
}

/* See https://github.com/microsoft/monaco-editor/issues/2168#issuecomment-780078600 */
.monaco-aria-container {
	position: absolute !important;
	top: 0; /* avoid being placed underneath a sibling element */
	height: 1px;
	width: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
}

/* The hc-black theme is already high contrast optimized */
.monaco-editor.hc-black {
	-ms-high-contrast-adjust: none;
}
/* In case the browser goes into high contrast mode and the editor is not configured with the hc-black theme */
@media screen and (-ms-high-contrast:active) {

	/* current line highlight */
	.monaco-editor.vs .view-overlays .current-line,
	.monaco-editor.vs-dark .view-overlays .current-line {
		border-color: windowtext !important;
		border-left: 0;
		border-right: 0;
	}

	/* view cursors */
	.monaco-editor.vs .cursor,
	.monaco-editor.vs-dark .cursor {
		background-color: windowtext !important;
	}
	/* dnd target */
	.monaco-editor.vs .dnd-target,
	.monaco-editor.vs-dark .dnd-target {
		border-color: windowtext !important;
	}

	/* selected text background */
	.monaco-editor.vs .selected-text,
	.monaco-editor.vs-dark .selected-text {
		background-color: highlight !important;
	}

	/* allow the text to have a transparent background. */
	.monaco-editor.vs .view-line,
	.monaco-editor.vs-dark .view-line {
		-ms-high-contrast-adjust: none;
	}

	/* text color */
	.monaco-editor.vs .view-line span,
	.monaco-editor.vs-dark .view-line span {
		color: windowtext !important;
	}
	/* selected text color */
	.monaco-editor.vs .view-line span.inline-selected-text,
	.monaco-editor.vs-dark .view-line span.inline-selected-text {
		color: highlighttext !important;
	}

	/* allow decorations */
	.monaco-editor.vs .view-overlays,
	.monaco-editor.vs-dark .view-overlays {
		-ms-high-contrast-adjust: none;
	}

	/* various decorations */
	.monaco-editor.vs .selectionHighlight,
	.monaco-editor.vs-dark .selectionHighlight,
	.monaco-editor.vs .wordHighlight,
	.monaco-editor.vs-dark .wordHighlight,
	.monaco-editor.vs .wordHighlightStrong,
	.monaco-editor.vs-dark .wordHighlightStrong,
	.monaco-editor.vs .reference-decoration,
	.monaco-editor.vs-dark .reference-decoration {
		border: 2px dotted highlight !important;
		background: transparent !important;
		box-sizing: border-box;
	}
	.monaco-editor.vs .rangeHighlight,
	.monaco-editor.vs-dark .rangeHighlight {
		background: transparent !important;
		border: 1px dotted activeborder !important;
		box-sizing: border-box;
	}
	.monaco-editor.vs .bracket-match,
	.monaco-editor.vs-dark .bracket-match {
		border-color: windowtext !important;
		background: transparent !important;
	}

	/* find widget */
	.monaco-editor.vs .findMatch,
	.monaco-editor.vs-dark .findMatch,
	.monaco-editor.vs .currentFindMatch,
	.monaco-editor.vs-dark .currentFindMatch {
		border: 2px dotted activeborder !important;
		background: transparent !important;
		box-sizing: border-box;
	}
	.monaco-editor.vs .find-widget,
	.monaco-editor.vs-dark .find-widget {
		border: 1px solid windowtext;
	}

	/* list - used by suggest widget */
	.monaco-editor.vs .monaco-list .monaco-list-row,
	.monaco-editor.vs-dark .monaco-list .monaco-list-row {
		-ms-high-contrast-adjust: none;
		color: windowtext !important;
	}
	.monaco-editor.vs .monaco-list .monaco-list-row.focused,
	.monaco-editor.vs-dark .monaco-list .monaco-list-row.focused {
		color: highlighttext !important;
		background-color: highlight !important;
	}
	.monaco-editor.vs .monaco-list .monaco-list-row:hover,
	.monaco-editor.vs-dark .monaco-list .monaco-list-row:hover {
		background: transparent !important;
		border: 1px solid highlight;
		box-sizing: border-box;
	}

	/* scrollbars */
	.monaco-editor.vs .monaco-scrollable-element > .scrollbar,
	.monaco-editor.vs-dark .monaco-scrollable-element > .scrollbar {
		-ms-high-contrast-adjust: none;
		background: background !important;
		border: 1px solid windowtext;
		box-sizing: border-box;
	}
	.monaco-editor.vs .monaco-scrollable-element > .scrollbar > .slider,
	.monaco-editor.vs-dark .monaco-scrollable-element > .scrollbar > .slider {
		background: windowtext !important;
	}
	.monaco-editor.vs .monaco-scrollable-element > .scrollbar > .slider:hover,
	.monaco-editor.vs-dark .monaco-scrollable-element > .scrollbar > .slider:hover {
		background: highlight !important;
	}
	.monaco-editor.vs .monaco-scrollable-element > .scrollbar > .slider.active,
	.monaco-editor.vs-dark .monaco-scrollable-element > .scrollbar > .slider.active {
		background: highlight !important;
	}

	/* overview ruler */
	.monaco-editor.vs .decorationsOverviewRuler,
	.monaco-editor.vs-dark .decorationsOverviewRuler {
		opacity: 0;
	}

	/* minimap */
	.monaco-editor.vs .minimap,
	.monaco-editor.vs-dark .minimap {
		display: none;
	}

	/* squiggles */
	.monaco-editor.vs .squiggly-d-error,
	.monaco-editor.vs-dark .squiggly-d-error {
		background: transparent !important;
		border-bottom: 4px double #E47777;
	}
	.monaco-editor.vs .squiggly-c-warning,
	.monaco-editor.vs-dark .squiggly-c-warning {
		border-bottom: 4px double #71B771;
	}
	.monaco-editor.vs .squiggly-b-info,
	.monaco-editor.vs-dark .squiggly-b-info {
		border-bottom: 4px double #71B771;
	}
	.monaco-editor.vs .squiggly-a-hint,
	.monaco-editor.vs-dark .squiggly-a-hint {
		border-bottom: 4px double #6c6c6c;
	}

	/* contextmenu */
	.monaco-editor.vs .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,
	.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label {
		-ms-high-contrast-adjust: none;
		color: highlighttext !important;
		background-color: highlight !important;
	}
	.monaco-editor.vs .monaco-menu .monaco-action-bar.vertical .action-menu-item:hover .action-label,
	.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:hover .action-label {
		-ms-high-contrast-adjust: none;
		background: transparent !important;
		border: 1px solid highlight;
		box-sizing: border-box;
	}

	/* diff editor */
	.monaco-diff-editor.vs .diffOverviewRuler,
	.monaco-diff-editor.vs-dark .diffOverviewRuler {
		display: none;
	}
	.monaco-editor.vs .line-insert,
	.monaco-editor.vs-dark .line-insert,
	.monaco-editor.vs .line-delete,
	.monaco-editor.vs-dark .line-delete {
		background: transparent !important;
		border: 1px solid highlight !important;
		box-sizing: border-box;
	}
	.monaco-editor.vs .char-insert,
	.monaco-editor.vs-dark .char-insert,
	.monaco-editor.vs .char-delete,
	.monaco-editor.vs-dark .char-delete {
		background: transparent !important;
	}
}

/*.monaco-editor.vs [tabindex="0"]:focus {
	outline: 1px solid rgba(0, 122, 204, 0.4);
	outline-offset: -1px;
	opacity: 1 !important;
}

.monaco-editor.vs-dark [tabindex="0"]:focus {
	outline: 1px solid rgba(14, 99, 156, 0.6);
	outline-offset: -1px;
	opacity: 1 !important;
}*/
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.context-view {
	position: absolute;
	z-index: 2500;
}

.context-view.fixed {
	all: initial;
	font-family: inherit;
	font-size: 13px;
	position: fixed;
	z-index: 2500;
	color: inherit;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.context-view .monaco-menu {
	min-width: 130px;
}

/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.quick-input-widget {
	font-size: 13px;
}

.quick-input-widget .monaco-highlighted-label .highlight,
.quick-input-widget .monaco-highlighted-label .highlight {
	color: #0066BF;
}

.vs .quick-input-widget .monaco-list-row.focused .monaco-highlighted-label .highlight,
.vs .quick-input-widget .monaco-list-row.focused .monaco-highlighted-label .highlight {
	color: #9DDDFF;
}

.vs-dark .quick-input-widget .monaco-highlighted-label .highlight,
.vs-dark .quick-input-widget .monaco-highlighted-label .highlight {
	color: #0097fb;
}

.hc-black .quick-input-widget .monaco-highlighted-label .highlight,
.hc-black .quick-input-widget .monaco-highlighted-label .highlight {
	color: #F38518;
}

.monaco-keybinding > .monaco-keybinding-key {
	background-color: rgba(221, 221, 221, 0.4);
	border: solid 1px rgba(204, 204, 204, 0.4);
	border-bottom-color: rgba(187, 187, 187, 0.4);
	box-shadow: inset 0 -1px 0 rgba(187, 187, 187, 0.4);
	color: #555;
}

.hc-black .monaco-keybinding > .monaco-keybinding-key {
	background-color: transparent;
	border: solid 1px rgb(111, 195, 223);
	box-shadow: none;
	color: #fff;
}

.vs-dark .monaco-keybinding > .monaco-keybinding-key {
	background-color: rgba(128, 128, 128, 0.17);
	border: solid 1px rgba(51, 51, 51, 0.6);
	border-bottom-color: rgba(68, 68, 68, 0.6);
	box-shadow: inset 0 -1px 0 rgba(68, 68, 68, 0.6);
	color: #ccc;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-text-button {
	box-sizing: border-box;
	display: flex;
	width: 100%;
	padding: 4px;
	text-align: center;
	cursor: pointer;
	justify-content: center;
	align-items: center;
}

.monaco-text-button:focus {
	outline-offset: 2px !important;
}

.monaco-text-button:hover {
	text-decoration: none !important;
}

.monaco-button.disabled:focus,
.monaco-button.disabled {
	opacity: 0.4 !important;
	cursor: default;
}

.monaco-text-button > .codicon {
	margin: 0 0.2em;
	color: inherit !important;
}

.monaco-button-dropdown {
	display: flex;
	cursor: pointer;
}

.monaco-button-dropdown > .monaco-dropdown-button {
	margin-left: 1px;
}

.monaco-description-button {
	flex-direction: column;
}

.monaco-description-button .monaco-button-label {
	font-weight: 500;
}

.monaco-description-button .monaco-button-description {
	font-style: italic;
}

.monaco-description-button .monaco-button-label,
.monaco-description-button .monaco-button-description
{
	display: flex;
	justify-content: center;
	align-items: center;
}

.monaco-description-button .monaco-button-label > .codicon,
.monaco-description-button .monaco-button-description > .codicon
{
	margin: 0 0.2em;
	color: inherit !important;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-progress-container {
	width: 100%;
	height: 5px;
	overflow: hidden; /* keep progress bit in bounds */
}

.monaco-progress-container .progress-bit {
	width: 2%;
	height: 5px;
	position: absolute;
	left: 0;
	display: none;
}

.monaco-progress-container.active .progress-bit {
	display: inherit;
}

.monaco-progress-container.discrete .progress-bit {
	left: 0;
	transition: width 100ms linear;
}

.monaco-progress-container.discrete.done .progress-bit {
	width: 100%;
}

.monaco-progress-container.infinite .progress-bit {
	animation-name: progress;
	animation-duration: 4s;
	animation-iteration-count: infinite;
	transform: translate3d(0px, 0px, 0px);
	animation-timing-function: linear;
}

.monaco-progress-container.infinite.infinite-long-running .progress-bit {
	/*
		The more smooth `linear` timing function can cause
		higher GPU consumption as indicated in
		https://github.com/microsoft/vscode/issues/97900 &
		https://github.com/microsoft/vscode/issues/138396
	*/
	animation-timing-function: steps(100);
}

/**
 * The progress bit has a width: 2% (1/50) of the parent container. The animation moves it from 0% to 100% of
 * that container. Since translateX is relative to the progress bit size, we have to multiple it with
 * its relative size to the parent container:
 * parent width: 5000%
 *    bit width: 100%
 * translateX should be as follow:
 *  50%: 5000% * 50% - 50% (set to center) = 2450%
 * 100%: 5000% * 100% - 100% (do not overflow) = 4900%
 */
@keyframes progress { from { transform: translateX(0%) scaleX(1) } 50% { transform: translateX(2500%) scaleX(3) } to { transform: translateX(4900%) scaleX(1) } }
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.quick-input-widget {
	position: absolute;
	width: 600px;
	z-index: 2000;
	padding: 0 1px 1px 1px;
	left: 50%;
	margin-left: -300px;
}

.quick-input-titlebar {
	display: flex;
	align-items: center;
}

.quick-input-left-action-bar {
	display: flex;
	margin-left: 4px;
	flex: 1;
}

.quick-input-title {
	padding: 3px 0px;
	text-align: center;
	text-overflow: ellipsis;
	overflow: hidden;
}

.quick-input-right-action-bar {
	display: flex;
	margin-right: 4px;
	flex: 1;
}

.quick-input-right-action-bar > .actions-container {
	justify-content: flex-end;
}

.quick-input-titlebar .monaco-action-bar .action-label.codicon {
	background-position: center;
	background-repeat: no-repeat;
	padding: 2px;
}

.quick-input-description {
	margin: 6px;
}

.quick-input-header .quick-input-description {
	margin: 4px 2px;
}

.quick-input-header {
	display: flex;
	padding: 6px 6px 0px 6px;
	margin-bottom: -2px;
}

.quick-input-widget.hidden-input .quick-input-header {
	/* reduce margins and paddings when input box hidden */
	padding: 0;
	margin-bottom: 0;
}

.quick-input-and-message {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	min-width: 0;
	position: relative;
}

.quick-input-check-all {
	align-self: center;
	margin: 0;
}

.quick-input-filter {
	flex-grow: 1;
	display: flex;
	position: relative;
}

.quick-input-box {
	flex-grow: 1;
}

.quick-input-widget.show-checkboxes .quick-input-box,
.quick-input-widget.show-checkboxes .quick-input-message {
	margin-left: 5px;
}

.quick-input-visible-count {
	position: absolute;
	left: -10000px;
}

.quick-input-count {
	align-self: center;
	position: absolute;
	right: 4px;
	display: flex;
	align-items: center;
}

.quick-input-count .monaco-count-badge {
	vertical-align: middle;
	padding: 2px 4px;
	border-radius: 2px;
	min-height: auto;
	line-height: normal;
}

.quick-input-action {
	margin-left: 6px;
}

.quick-input-action .monaco-text-button {
	font-size: 11px;
	padding: 0 6px;
	display: flex;
	height: 27.5px;
	align-items: center;
}

.quick-input-message {
	margin-top: -1px;
	padding: 5px;
	overflow-wrap: break-word;
}

.quick-input-message > .codicon {
	margin: 0 0.2em;
	vertical-align: text-bottom;
}

.quick-input-progress.monaco-progress-container {
	position: relative;
}

.quick-input-progress.monaco-progress-container,
.quick-input-progress.monaco-progress-container .progress-bit {
	height: 2px;
}

.quick-input-list {
	line-height: 22px;
	margin-top: 6px;
}

.quick-input-widget.hidden-input .quick-input-list {
	margin-top: 0; /* reduce margins when input box hidden */
}

.quick-input-list .monaco-list {
	overflow: hidden;
	max-height: calc(20 * 22px);
}

.quick-input-list .quick-input-list-entry {
	box-sizing: border-box;
	overflow: hidden;
	display: flex;
	height: 100%;
	padding: 0 6px;
}

.quick-input-list .quick-input-list-entry.quick-input-list-separator-border {
	border-top-width: 1px;
	border-top-style: solid;
}

.quick-input-list .monaco-list-row[data-index="0"] .quick-input-list-entry.quick-input-list-separator-border {
	border-top-style: none;
}

.quick-input-list .quick-input-list-label {
	overflow: hidden;
	display: flex;
	height: 100%;
	flex: 1;
}

.quick-input-list .quick-input-list-checkbox {
	align-self: center;
	margin: 0;
}

.quick-input-list .quick-input-list-rows {
	overflow: hidden;
	text-overflow: ellipsis;
	display: flex;
	flex-direction: column;
	height: 100%;
	flex: 1;
	margin-left: 5px;
}

.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-rows {
	margin-left: 10px;
}

.quick-input-widget .quick-input-list .quick-input-list-checkbox {
	display: none;
}
.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-checkbox {
	display: inline;
}

.quick-input-list .quick-input-list-rows > .quick-input-list-row {
	display: flex;
	align-items: center;
}

.quick-input-list .quick-input-list-rows > .quick-input-list-row .monaco-icon-label,
.quick-input-list .quick-input-list-rows > .quick-input-list-row .monaco-icon-label .monaco-icon-label-container > .monaco-icon-name-container {
	flex: 1; /* make sure the icon label grows within the row */
}

.quick-input-list .quick-input-list-rows > .quick-input-list-row .codicon[class*='codicon-'] {
	vertical-align: text-bottom;
}

.quick-input-list .quick-input-list-rows .monaco-highlighted-label span {
	opacity: 1;
}

.quick-input-list .quick-input-list-entry .quick-input-list-entry-keybinding {
	margin-right: 8px; /* separate from the separator label or scrollbar if any */
}

.quick-input-list .quick-input-list-label-meta {
	opacity: 0.7;
	line-height: normal;
	text-overflow: ellipsis;
	overflow: hidden;
}

.quick-input-list .monaco-highlighted-label .highlight {
	font-weight: bold;
}

.quick-input-list .quick-input-list-entry .quick-input-list-separator {
	margin-right: 8px; /* separate from keybindings or actions */
}

.quick-input-list .quick-input-list-entry-action-bar {
	display: flex;
	flex: 0;
	overflow: visible;
}

.quick-input-list .quick-input-list-entry-action-bar .action-label {
	/*
	 * By default, actions in the quick input action bar are hidden
	 * until hovered over them or selected.
	 */
	display: none;
}

.quick-input-list .quick-input-list-entry-action-bar .action-label.codicon {
	margin-right: 4px;
	padding: 0px 2px 2px 2px;
}

.quick-input-list .quick-input-list-entry-action-bar {
	margin-top: 1px;
}

.quick-input-list .quick-input-list-entry-action-bar {
	margin-right: 4px; /* separate from scrollbar */
}

.quick-input-list .quick-input-list-entry .quick-input-list-entry-action-bar .action-label.always-visible,
.quick-input-list .quick-input-list-entry:hover .quick-input-list-entry-action-bar .action-label,
.quick-input-list .monaco-list-row.focused .quick-input-list-entry-action-bar .action-label {
	display: flex;
}

/* focused items in quick pick */
.quick-input-list .monaco-list-row.focused .monaco-keybinding-key,
.quick-input-list .monaco-list-row.focused .quick-input-list-entry .quick-input-list-separator {
	color: inherit
}
.quick-input-list .monaco-list-row.focused .monaco-keybinding-key {
	background: none;
}
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

.monaco-keybinding {
	display: flex;
	align-items: center;
	line-height: 10px;
}

.monaco-keybinding > .monaco-keybinding-key {
	display: inline-block;
	border-style: solid;
	border-width: 1px;
	border-radius: 3px;
	vertical-align: middle;
	font-size: 11px;
	padding: 3px 5px;
	margin: 0 2px;
}

.monaco-keybinding > .monaco-keybinding-key:first-child {
	margin-left: 0;
}

.monaco-keybinding > .monaco-keybinding-key:last-child {
	margin-right: 0;
}

.monaco-keybinding > .monaco-keybinding-key-separator {
	display: inline-block;
}

.monaco-keybinding > .monaco-keybinding-key-chord-separator {
	width: 6px;
}
.ide-help-drawer[data-v-0097a039] .ant-drawer-body {
  padding: 16px;
}
.help-section h3[data-v-0097a039] {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 16px;
  padding-bottom: 8px;
  border-bottom: 1px solid #f0f0f0;
}
.help-section h4[data-v-0097a039] {
  font-size: 15px;
  font-weight: 600;
  margin: 16px 0 12px;
}
.help-section ul[data-v-0097a039],
.help-section ol[data-v-0097a039] {
  padding-left: 20px;
  line-height: 2;
}
.help-section code[data-v-0097a039] {
  background: #f5f5f5;
  padding: 2px 6px;
  border-radius: 4px;
  font-family: 'Fira Code', monospace;
}
.help-section[data-v-0097a039] .ant-steps .ant-steps-item-description {
  max-width: 100%;
}
.help-section[data-v-0097a039] .ant-collapse {
  margin-top: 8px;
}
.target-option[data-v-d28524f5] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.target-option .target-icon[data-v-d28524f5] {
  color: #faad14;
}
.file-preview[data-v-d28524f5] {
  max-height: 200px;
  overflow-y: auto;
  border: 1px solid #f0f0f0;
  border-radius: 6px;
  padding: 8px;
  background: #fafafa;
}
.deploy-log .log-content[data-v-d28524f5] {
  max-height: 150px;
  overflow-y: auto;
  background: #1e1e1e;
  border-radius: 6px;
  padding: 12px;
  font-family: 'Fira Code', monospace;
  font-size: 12px;
}
.deploy-log .log-item[data-v-d28524f5] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 0;
  color: #d4d4d4;
}
.deploy-log .log-item.success[data-v-d28524f5] {
  color: #52c41a;
}
.deploy-log .log-item.error[data-v-d28524f5] {
  color: #ff4d4f;
}

.monaco-editor-container[data-v-9b5af73c] {
  width: 100%;
  height: 100%;
  min-height: 0;
}
.ide-container[data-v-ad017b94] {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #1e1e1e;
  color: #d4d4d4;
  font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
}
/* 工具栏 */
.ide-toolbar[data-v-ad017b94] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4px 12px;
  background: #252526;
  border-bottom: 1px solid #3e3e42;
  min-height: 40px;
}
.toolbar-left[data-v-ad017b94],
.toolbar-center[data-v-ad017b94],
.toolbar-right[data-v-ad017b94] {
  display: flex;
  align-items: center;
  gap: 8px;
}
/* 主体 */
.ide-main[data-v-ad017b94] {
  display: flex;
  flex: 1;
  overflow: hidden;
}
/* 左侧文件树 */
.ide-sidebar[data-v-ad017b94] {
  display: flex;
  flex-direction: column;
  background: #252526;
  border-right: 1px solid #3e3e42;
  overflow: hidden;
}
.sidebar-header[data-v-ad017b94] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 12px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #bbbbbb;
}
.file-tree-container[data-v-ad017b94] {
  flex: 1;
  overflow-y: auto;
  padding: 0 4px;
}
.file-tree-container[data-v-ad017b94] .ant-tree {
  background: transparent;
  color: #d4d4d4;
}
.file-tree-container[data-v-ad017b94] .ant-tree-node-content-wrapper {
  color: #d4d4d4 !important;
  border-radius: 4px;
  transition: all 0.15s ease;
}
.file-tree-container[data-v-ad017b94] .ant-tree-node-content-wrapper:hover {
  background: rgba(255, 255, 255, 0.08) !important;
}
.file-tree-container[data-v-ad017b94] .ant-tree-treenode-selected {
  /* 去掉默认选中边框 */
}
.file-tree-container[data-v-ad017b94] .ant-tree-node-content-wrapper.ant-tree-node-selected {
  border: none !important;
  box-shadow: none !important;
  background: rgba(0, 122, 204, 0.25) !important;
  color: #ffffff !important;
}
.file-tree-container[data-v-ad017b94] .ant-tree-node-selected .ant-tree-node-content-wrapper {
  background: rgba(0, 122, 204, 0.25) !important;
  color: #ffffff !important;
  border-left: 2px solid #007acc;
  padding-left: 10px;
}
.file-tree-container[data-v-ad017b94] .ant-tree-node-selected .tree-node-title {
  color: #ffffff !important;
  font-weight: 500;
}
.tree-node-title[data-v-ad017b94] {
  font-size: 13px;
}
/* 拖拽分隔条 */
.ide-resizer[data-v-ad017b94] {
  width: 4px;
  cursor: col-resize;
  background: #3e3e42;
  transition: background 0.2s;
}
.ide-resizer[data-v-ad017b94]:hover {
  background: #007acc;
}
/* 编辑器区域 */
.ide-editor-area[data-v-ad017b94] {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-width: 0;
}
/* 标签页 */
.editor-tabs[data-v-ad017b94] {
  display: flex;
  background: #252526;
  border-bottom: 1px solid #3e3e42;
  overflow-x: auto;
  min-height: 36px;
}
.editor-tab[data-v-ad017b94] {
  display: flex;
  align-items: center;
  padding: 6px 12px;
  font-size: 13px;
  cursor: pointer;
  border-right: 1px solid #3e3e42;
  white-space: nowrap;
  color: #969696;
  min-width: 100px;
}
.editor-tab[data-v-ad017b94]:hover {
  background: #2d2d2d;
}
.editor-tab.active[data-v-ad017b94] {
  background: #1e1e1e;
  color: #ffffff;
  border-bottom: 2px solid #007acc;
}
.editor-tab.modified .tab-close[data-v-ad017b94]::before {
  content: none;
}
.tab-modified-dot[data-v-ad017b94] {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #c4c4c4;
  margin-right: 4px;
  flex-shrink: 0;
}
.tab-close[data-v-ad017b94] {
  margin-left: auto;
  padding: 2px;
  font-size: 10px;
  opacity: 0;
  transition: opacity 0.2s;
}
.editor-tab:hover .tab-close[data-v-ad017b94] {
  opacity: 0.7;
}
.tab-close[data-v-ad017b94]:hover {
  opacity: 1 !important;
}
.no-tabs[data-v-ad017b94] {
  padding: 8px 12px;
  color: #858585;
  font-size: 12px;
}
/* 编辑器内容 */
.editor-content[data-v-ad017b94] {
  flex: 1;
  overflow: hidden;
  position: relative;
  min-height: 200px;
}
.code-editor-wrapper[data-v-ad017b94] {
  flex: 1;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.monaco-container[data-v-ad017b94] {
  width: 100%;
  height: 100%;
  min-height: 200px;
}
/* Monaco Editor 实例 */
.monaco-editor-instance[data-v-ad017b94] {
  width: 100%;
  height: 100%;
}
.editor-placeholder[data-v-ad017b94] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: #858585;
}
.editor-placeholder p[data-v-ad017b94] {
  font-size: 14px;
  color: #858585;
}
.shortcut-hint[data-v-ad017b94] {
  font-size: 12px !important;
  color: #666 !important;
  margin-top: 8px;
}
/* 状态栏 */
.editor-statusbar[data-v-ad017b94] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 12px;
  background: #007acc;
  color: #ffffff;
  font-size: 12px;
  min-height: 24px;
}
.statusbar-left[data-v-ad017b94],
.statusbar-right[data-v-ad017b94] {
  display: flex;
  gap: 16px;
}
/* 右侧面板 */
.ide-right-panel[data-v-ad017b94] {
  background: #252526;
  border-left: 1px solid #3e3e42;
  overflow: hidden;
}
.ide-right-panel[data-v-ad017b94] .ant-tabs {
  color: #d4d4d4;
}
.ide-right-panel[data-v-ad017b94] .ant-tabs-nav {
  margin-bottom: 0;
}
.ide-right-panel[data-v-ad017b94] .ant-tabs-tab {
  color: #969696 !important;
}
.ide-right-panel[data-v-ad017b94] .ant-tabs-tab-active .ant-tabs-tab-btn {
  color: #ffffff !important;
}
/* 终端 */
.terminal-container[data-v-ad017b94] {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #1e1e1e;
}
.terminal-output[data-v-ad017b94] {
  flex: 1;
  padding: 8px 12px;
  overflow-y: auto;
  font-size: 13px;
  line-height: 1.5;
}
.terminal-line[data-v-ad017b94] {
  white-space: pre-wrap;
  word-break: break-all;
}
.terminal-line.output[data-v-ad017b94] {
  color: #d4d4d4;
}
.terminal-line.error[data-v-ad017b94] {
  color: #f44747;
}
.terminal-line.info[data-v-ad017b94] {
  color: #569cd6;
}
.terminal-line.input[data-v-ad017b94] {
  color: #9cdcfe;
}
.terminal-input-line[data-v-ad017b94] {
  display: flex;
  align-items: center;
  padding: 4px 12px;
  border-top: 1px solid #3e3e42;
}
.terminal-prompt[data-v-ad017b94] {
  color: #6a9955;
  margin-right: 8px;
}
.terminal-input[data-v-ad017b94] {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  color: #d4d4d4;
  font-family: inherit;
  font-size: 13px;
}
.terminal-input[data-v-ad017b94]::placeholder {
  color: #6a6a6a;
}
/* 代码片段面板 */
.snippets-panel[data-v-ad017b94] {
  padding: 8px;
  overflow-y: auto;
  height: 100%;
}
.snippet-item[data-v-ad017b94] {
  cursor: pointer;
  border-radius: 4px;
}
.snippet-item[data-v-ad017b94]:hover {
  background: #2a2d2e;
}
/* 右键菜单 */
.context-menu[data-v-ad017b94] {
  position: fixed;
  z-index: 1000;
  background: #252526;
  border: 1px solid #3e3e42;
  border-radius: 4px;
  padding: 4px 0;
  min-width: 160px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}
.context-menu-item[data-v-ad017b94] {
  padding: 6px 16px;
  cursor: pointer;
  font-size: 13px;
  color: #d4d4d4;
}
.context-menu-item[data-v-ad017b94]:hover {
  background: #094771;
}
.context-menu-item.danger[data-v-ad017b94]:hover {
  background: #5a1d1d;
  color: #f44747;
}
.context-menu-divider[data-v-ad017b94] {
  height: 1px;
  background: #3e3e42;
  margin: 4px 0;
}
/* 滚动条 */
[data-v-ad017b94]::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
[data-v-ad017b94]::-webkit-scrollbar-track {
  background: #1e1e1e;
}
[data-v-ad017b94]::-webkit-scrollbar-thumb {
  background: #424242;
  border-radius: 4px;
}
[data-v-ad017b94]::-webkit-scrollbar-thumb:hover {
  background: #4f4f4f;
}
/* IDE 暗色主题覆盖 - 使用 ::v-deep 在 scoped style 中生效 */
.ide-toolbar[data-v-ad017b94] .ant-select-selector {
  background-color: #3c3c3c !important;
  border-color: #4e4e4e !important;
  color: #cccccc !important;
}
.ide-toolbar[data-v-ad017b94] .ant-input,
.ide-toolbar[data-v-ad017b94] .ant-input-search .ant-input {
  background-color: #3c3c3c !important;
  border-color: #4e4e4e !important;
  color: #cccccc !important;
}
.ide-toolbar[data-v-ad017b94] .ant-btn-default {
  background-color: #3c3c3c !important;
  border-color: #4e4e4e !important;
  color: #cccccc !important;
  border-radius: 4px;
  font-size: 13px;
  height: 28px;
  padding: 0 10px;
}
.ide-toolbar[data-v-ad017b94] .ant-btn-default:hover {
  background-color: #505050 !important;
  border-color: #007acc !important;
  color: #ffffff !important;
}
/* 部署按钮特殊样式 */
.ide-toolbar[data-v-ad017b94] .ant-btn-primary.ant-btn-background-ghost {
  background: rgba(0, 122, 204, 0.2) !important;
  border-color: #007acc !important;
  color: #4fc3f7 !important;
  border-radius: 4px;
  font-size: 13px;
  font-weight: 500;
  height: 28px;
  padding: 0 12px;
  transition: all 0.2s;
}
.ide-toolbar[data-v-ad017b94] .ant-btn-primary.ant-btn-background-ghost:hover {
  background: rgba(0, 122, 204, 0.4) !important;
  border-color: #007acc !important;
  color: #ffffff !important;
}
.ide-toolbar[data-v-ad017b94] .ant-input::placeholder {
  color: #808080 !important;
}
.ide-container[data-v-ad017b94] .ant-select-dropdown {
  background-color: #252526 !important;
}
.ide-container[data-v-ad017b94] .ant-select-item {
  color: #cccccc !important;
}
.ide-container[data-v-ad017b94] .ant-select-item-option-active,
.ide-container[data-v-ad017b94] .ant-select-item-option-selected {
  background-color: #094771 !important;
}
.ide-container[data-v-ad017b94] .ant-modal-content,
.ide-container[data-v-ad017b94] .ant-modal-header {
  background-color: #252526 !important;
}
.ide-container[data-v-ad017b94] .ant-modal-title {
  color: #ffffff !important;
}
.ide-container[data-v-ad017b94] .ant-form-item-label > label {
  color: #cccccc !important;
}
.ide-container[data-v-ad017b94] .ant-btn-primary {
  background-color: #0e639c !important;
  border-color: #1177bb !important;
}
/* 右侧面板拖拽分隔条 */
.ide-right-resizer[data-v-ad017b94] {
  width: 4px;
  cursor: col-resize;
  background: #3e3e42;
  transition: background 0.2s;
  flex-shrink: 0;
}
.ide-right-resizer[data-v-ad017b94]:hover {
  background: #007acc;
}
.material-panel[data-v-f1493c70] {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}
.material-panel__header[data-v-f1493c70] {
  padding: 12px 16px;
  border-bottom: 1px solid #f0f0f0;
  background: #fafafa;
}
.material-panel__title[data-v-f1493c70] {
  font-size: 14px;
  font-weight: 600;
  color: #333;
}
.material-panel__search[data-v-f1493c70] {
  padding: 8px 12px;
  border-bottom: 1px solid #f0f0f0;
}
.material-panel__categories[data-v-f1493c70] {
  display: flex;
  flex-wrap: wrap;
  gap: 2px;
  padding: 8px 8px 4px 8px;
  border-bottom: 1px solid #f0f0f0;
  overflow-x: auto;
}
.material-panel__category-tab[data-v-f1493c70] {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 12px;
  color: #666;
  white-space: nowrap;
  transition: all 0.2s ease;
  user-select: none;
}
.material-panel__category-tab[data-v-f1493c70]:hover {
  background: #f0f5ff;
  color: #1890ff;
}
.material-panel__category-tab--active[data-v-f1493c70] {
  background: #e6f7ff;
  color: #1890ff;
  font-weight: 500;
}
.material-panel__category-tab-name[data-v-f1493c70] {
  max-width: 56px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.material-panel__list[data-v-f1493c70] {
  flex: 1;
  overflow-y: auto;
  padding: 8px 12px;
}
.material-panel__list[data-v-f1493c70]::-webkit-scrollbar {
  width: 4px;
}
.material-panel__list[data-v-f1493c70]::-webkit-scrollbar-thumb {
  background: #d9d9d9;
  border-radius: 2px;
}
.material-panel__list[data-v-f1493c70]::-webkit-scrollbar-track {
  background: transparent;
}
.material-panel__section-title[data-v-f1493c70] {
  font-size: 12px;
  font-weight: 500;
  color: #999;
  padding: 8px 0 6px 0;
  border-bottom: 1px solid #f5f5f5;
  margin-bottom: 8px;
}
.material-panel__grid[data-v-f1493c70] {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  margin-bottom: 12px;
}
.material-panel__card[data-v-f1493c70] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 12px 8px;
  background: #fafafa;
  border: 1px solid #f0f0f0;
  border-radius: 6px;
  cursor: grab;
  transition: all 0.2s ease;
  user-select: none;
}
.material-panel__card[data-v-f1493c70]:hover {
  background: #e6f7ff;
  border-color: #91d5ff;
  box-shadow: 0 2px 6px rgba(24, 144, 255, 0.15);
  transform: translateY(-1px);
}
.material-panel__card[data-v-f1493c70]:active {
  cursor: grabbing;
  transform: translateY(0);
  box-shadow: 0 1px 3px rgba(24, 144, 255, 0.2);
}
.material-panel__list > .material-panel__card[data-v-f1493c70]:not(.material-panel__grid .material-panel__card) {
  flex-direction: row;
  gap: 10px;
  padding: 10px 12px;
}
.material-panel__card-icon[data-v-f1493c70] {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: #1890ff;
  background: #fff;
  border-radius: 6px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
  flex-shrink: 0;
}
.material-panel__card-info[data-v-f1493c70] {
  flex: 1;
  min-width: 0;
  display: none;
}
.material-panel__card-name[data-v-f1493c70] {
  font-size: 12px;
  color: #333;
  text-align: center;
  margin-top: 6px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
.material-panel__list > .material-panel__card:not(.material-panel__grid .material-panel__card) .material-panel__card-name[data-v-f1493c70] {
  text-align: left;
  margin-top: 0;
}
.material-panel__card-desc[data-v-f1493c70] {
  font-size: 11px;
  color: #999;
  margin-top: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.setter-panel[data-v-dfa7ea03] {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}
.setter-panel__header[data-v-dfa7ea03] {
  padding: 12px 16px;
  border-bottom: 1px solid #f0f0f0;
  background: #fafafa;
}
.setter-panel__title[data-v-dfa7ea03] {
  font-size: 14px;
  font-weight: 600;
  color: #333;
}
.setter-panel__body[data-v-dfa7ea03] {
  flex: 1;
  overflow-y: auto;
  padding: 12px 16px;
}
.setter-panel__body[data-v-dfa7ea03]::-webkit-scrollbar {
  width: 4px;
}
.setter-panel__body[data-v-dfa7ea03]::-webkit-scrollbar-thumb {
  background: #d9d9d9;
  border-radius: 2px;
}
.setter-panel__body[data-v-dfa7ea03]::-webkit-scrollbar-track {
  background: transparent;
}
.setter-panel__component-info[data-v-dfa7ea03] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 12px;
  background: #f5f7fa;
  border-radius: 6px;
}
.setter-panel__component-info-icon[data-v-dfa7ea03] {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-radius: 6px;
  font-size: 18px;
  color: #1890ff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}
.setter-panel__component-info-text[data-v-dfa7ea03] {
  flex: 1;
}
.setter-panel__component-info-name[data-v-dfa7ea03] {
  font-size: 14px;
  font-weight: 500;
  color: #333;
}
.setter-panel__component-info-type[data-v-dfa7ea03] {
  font-size: 12px;
  color: #999;
  margin-top: 2px;
}
.setter-panel__color-input[data-v-dfa7ea03] {
  width: 20px;
  height: 20px;
  padding: 0;
  border: none;
  cursor: pointer;
  background: transparent;
}
.setter-panel__color-field[data-v-dfa7ea03] {
  width: 100%;
}
.setter-panel[data-v-dfa7ea03] .ant-form-item {
  margin-bottom: 12px;
}
.setter-panel[data-v-dfa7ea03] .ant-form-item-label {
  padding-bottom: 2px;
}
.setter-panel[data-v-dfa7ea03] .ant-form-item-label > label {
  font-size: 12px;
  color: #666;
}
.setter-panel[data-v-dfa7ea03] .ant-collapse-header {
  font-size: 13px;
  font-weight: 500;
  color: #333;
  padding: 8px 0 !important;
}
.setter-panel[data-v-dfa7ea03] .ant-collapse-content-box {
  padding: 0 0 8px 0 !important;
}
.page-designer[data-v-b408a0ac] {
  display: flex;
  height: 100%;
  background: #f0f2f5;
  overflow: hidden;
}
.page-designer__left-panel[data-v-b408a0ac] {
  width: 240px;
  min-width: 240px;
  background: #fff;
  border-right: 1px solid #e8e8e8;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.page-designer__canvas-area[data-v-b408a0ac] {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-width: 0;
}
.page-designer__toolbar[data-v-b408a0ac] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 16px;
  background: #fff;
  border-bottom: 1px solid #e8e8e8;
  min-height: 44px;
}
.page-designer__toolbar-left[data-v-b408a0ac],
.page-designer__toolbar-center[data-v-b408a0ac],
.page-designer__toolbar-right[data-v-b408a0ac] {
  display: flex;
  align-items: center;
}
.page-designer__page-name[data-v-b408a0ac] .ant-input {
  text-align: center;
  font-weight: 500;
  border: 1px solid transparent;
}
.page-designer__page-name[data-v-b408a0ac] .ant-input:hover {
  border-color: #d9d9d9;
}
.page-designer__page-name[data-v-b408a0ac] .ant-input:focus {
  border-color: #1890ff;
}
.page-designer__zoom-value[data-v-b408a0ac] {
  display: inline-block;
  width: 48px;
  text-align: center;
  font-size: 12px;
  color: #666;
}
.page-designer__canvas-wrapper[data-v-b408a0ac] {
  flex: 1;
  overflow: hidden;
  position: relative;
  background: #e8e8e8;
  background-image: linear-gradient(45deg, #eee 25%, transparent 25%), linear-gradient(-45deg, #eee 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #eee 75%), linear-gradient(-45deg, transparent 75%, #eee 75%);
  background-size: 20px 20px;
  background-position: 0 0, 0 10px, 10px -10px, -10px 0;
}
.page-designer__canvas[data-v-b408a0ac] {
  width: 100%;
  height: 100%;
  overflow: auto;
}
.page-designer__canvas-content[data-v-b408a0ac] {
  min-width: 800px;
  margin: 0 auto;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  position: relative;
}
.page-designer__canvas-empty[data-v-b408a0ac] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 300px;
  border: 2px dashed #d9d9d9;
  border-radius: 4px;
  transition: all 0.3s ease;
}
.page-designer__canvas-empty--active[data-v-b408a0ac] {
  border-color: #1890ff;
  background: rgba(24, 144, 255, 0.05);
}
.page-designer__node[data-v-b408a0ac] {
  position: relative;
  cursor: pointer;
  min-height: 32px;
  transition: box-shadow 0.15s ease;
  border: 1px solid transparent;
  border-radius: 2px;
}
.page-designer__node[data-v-b408a0ac]:hover {
  border-color: #d9d9d9;
}
.page-designer__node--selected[data-v-b408a0ac] {
  border: 2px solid #1890ff !important;
  box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
}
.page-designer__node--hover[data-v-b408a0ac] {
  border: 1px dashed #999 !important;
  background: rgba(0, 0, 0, 0.02);
}
.page-designer__node-actions[data-v-b408a0ac] {
  position: absolute;
  top: -28px;
  right: 0;
  z-index: 10;
  display: flex;
  gap: 2px;
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 2px;
  padding: 2px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.page-designer__right-panel[data-v-b408a0ac] {
  width: 300px;
  min-width: 300px;
  background: #fff;
  border-left: 1px solid #e8e8e8;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.notification-panel[data-v-179be7fc] {
  width: 420px;
  max-height: calc(100vh - 80px);
  background: linear-gradient(180deg, var(--color-neutral-0) 0%, var(--color-neutral-50) 100%);
  border-radius: var(--radius-xl);
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15), 0 10px 20px rgba(0, 0, 0, 0.08), 0 2px 8px rgba(0, 0, 0, 0.04);
  overflow: hidden;
  border: 1px solid var(--color-neutral-100);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  animation: panelFadeIn-179be7fc 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
@keyframes panelFadeIn-179be7fc {
from {
    opacity: 0;
    transform: translateY(-10px) scale(0.98);
}
to {
    opacity: 1;
    transform: translateY(0) scale(1);
}
}
.notification-content[data-v-179be7fc] {
  display: flex;
  flex-direction: column;
  height: 100%;
  max-height: calc(100vh - 180px);
}
.notification-content .unread-count[data-v-179be7fc] .ant-badge-count {
  top: -16px !important;
  right: -16px !important;
  background: var(--color-error-500) !important;
  border-color: var(--color-neutral-0) !important;
  box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4) !important;
}
/* 头部 */
.notification-header[data-v-179be7fc] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--spacing-4);
  border-bottom: 1px solid var(--color-neutral-100);
  flex-shrink: 0;
  background: linear-gradient(135deg, var(--color-primary-50) 0%, var(--color-neutral-0) 100%);
}
.header-left[data-v-179be7fc] {
  display: flex;
  align-items: center;
  gap: var(--spacing-3);
}
.header-icon[data-v-179be7fc] {
  font-size: var(--icon-size-md);
  color: var(--color-primary-500);
  filter: drop-shadow(0 2px 4px rgba(59, 130, 246, 0.3));
}
.header-title[data-v-179be7fc] {
  font-size: var(--font-size-md);
  font-weight: 600;
  color: var(--color-neutral-800);
  letter-spacing: 0.2px;
}
.header-actions[data-v-179be7fc] {
  display: flex;
  align-items: center;
  gap: var(--spacing-2);
}
.header-actions .ant-btn[data-v-179be7fc] {
  color: var(--color-neutral-500);
  font-size: var(--font-size-sm);
  padding: var(--spacing-1) var(--spacing-2);
  border-radius: var(--radius-md);
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.header-actions .ant-btn[data-v-179be7fc]:hover:not(:disabled) {
  color: var(--color-primary-600);
  background: var(--color-primary-50);
}
.header-actions .ant-btn[data-v-179be7fc]:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
/* 列表区域 */
.notification-main[data-v-179be7fc] {
  flex: 1;
  overflow-y: auto;
  min-height: 0;
  padding: var(--spacing-2);
}
.notification-list[data-v-179be7fc] {
  padding: 0;
}
.empty-state[data-v-179be7fc] {
  padding: 48px 0;
  text-align: center;
}
/* 通知项 */
.notification-item[data-v-179be7fc] {
  display: flex;
  align-items: flex-start;
  gap: var(--spacing-3);
  padding: var(--spacing-4);
  margin-bottom: var(--spacing-2);
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  border-radius: var(--radius-lg);
  border-left: 4px solid transparent;
  background: var(--color-neutral-0);
  box-shadow: var(--shadow-xs);
}
.notification-item[data-v-179be7fc]:hover {
  background: var(--color-neutral-50);
  box-shadow: var(--shadow-md);
  transform: translateX(4px);
  border-left-color: var(--color-primary-300);
}
.notification-item.unread[data-v-179be7fc] {
  background: linear-gradient(135deg, var(--color-primary-50) 0%, var(--color-neutral-0) 100%);
  border-left: 4px solid var(--color-primary-500);
  box-shadow: var(--shadow-sm), inset 0 0 0 1px var(--color-primary-100);
}
.notification-item.unread[data-v-179be7fc]:hover {
  background: linear-gradient(135deg, var(--color-primary-100) 0%, var(--color-primary-50) 100%);
  box-shadow: var(--shadow-lg);
}
/* 图标 */
.item-icon[data-v-179be7fc] {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--icon-size-md);
  flex-shrink: 0;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
}
.item-icon[data-v-179be7fc]::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.notification-item:hover .item-icon[data-v-179be7fc] {
  transform: scale(1.1);
}
.notification-item:hover .item-icon[data-v-179be7fc]::before {
  opacity: 1;
}
.item-icon.type-info[data-v-179be7fc] {
  background: linear-gradient(135deg, var(--color-info-100) 0%, var(--color-info-50) 100%);
  color: var(--color-info-500);
  box-shadow: var(--shadow-colored-info);
}
.item-icon.type-info[data-v-179be7fc]::before {
  background: radial-gradient(circle at 30% 30%, rgba(14, 165, 233, 0.2) 0%, transparent 60%);
}
.item-icon.type-success[data-v-179be7fc] {
  background: linear-gradient(135deg, var(--color-success-100) 0%, var(--color-success-50) 100%);
  color: var(--color-success-500);
  box-shadow: var(--shadow-colored-success);
}
.item-icon.type-success[data-v-179be7fc]::before {
  background: radial-gradient(circle at 30% 30%, rgba(16, 185, 129, 0.2) 0%, transparent 60%);
}
.item-icon.type-warning[data-v-179be7fc] {
  background: linear-gradient(135deg, var(--color-warning-100) 0%, var(--color-warning-50) 100%);
  color: var(--color-warning-500);
  box-shadow: var(--shadow-colored-warning);
}
.item-icon.type-warning[data-v-179be7fc]::before {
  background: radial-gradient(circle at 30% 30%, rgba(245, 158, 11, 0.2) 0%, transparent 60%);
}
.item-icon.type-error[data-v-179be7fc] {
  background: linear-gradient(135deg, var(--color-error-100) 0%, var(--color-error-50) 100%);
  color: var(--color-error-500);
  box-shadow: var(--shadow-colored-error);
}
.item-icon.type-error[data-v-179be7fc]::before {
  background: radial-gradient(circle at 30% 30%, rgba(239, 68, 68, 0.2) 0%, transparent 60%);
}
/* 内容 */
.item-body[data-v-179be7fc] {
  flex: 1;
  min-width: 0;
}
.item-top[data-v-179be7fc] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--spacing-2);
  margin-bottom: var(--spacing-1-5);
}
.item-title[data-v-179be7fc] {
  font-size: var(--font-size-base);
  font-weight: 500;
  color: var(--color-neutral-800);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: color 0.2s ease;
}
.notification-item:hover .item-title[data-v-179be7fc] {
  color: var(--color-primary-600);
}
.notification-item.unread .item-title[data-v-179be7fc] {
  font-weight: 600;
  color: var(--color-neutral-900);
}
.item-time[data-v-179be7fc] {
  font-size: var(--font-size-xs);
  color: var(--color-neutral-400);
  white-space: nowrap;
  flex-shrink: 0;
  padding: 2px 8px;
  background: var(--color-neutral-100);
  border-radius: var(--radius-full);
  transition: all 0.2s ease;
}
.notification-item.unread .item-time[data-v-179be7fc] {
  background: var(--color-primary-100);
  color: var(--color-primary-600);
}
.notification-item:hover .item-time[data-v-179be7fc] {
  background: var(--color-primary-50);
}
.item-desc[data-v-179be7fc] {
  font-size: var(--font-size-sm);
  color: var(--color-neutral-500);
  line-height: 1.6;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color 0.2s ease;
}
.notification-item:hover .item-desc[data-v-179be7fc] {
  color: var(--color-neutral-600);
}
/* 操作按钮 */
.item-actions[data-v-179be7fc] {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-1);
  flex-shrink: 0;
  opacity: 0.6;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.notification-item:hover .item-actions[data-v-179be7fc] {
  opacity: 1;
}
.action-btn[data-v-179be7fc] {
  width: 32px;
  height: 32px;
  padding: 0;
  border-radius: var(--radius-md);
  font-size: var(--font-size-sm);
  color: var(--color-neutral-400);
  background: transparent;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.action-btn[data-v-179be7fc]:hover {
  color: var(--color-primary-600);
  background: var(--color-primary-50);
  transform: scale(1.1);
}
.action-btn[data-v-179be7fc]:active {
  transform: scale(0.95);
}
/* 底部 */
.notification-footer[data-v-179be7fc] {
  border-top: 1px solid var(--color-neutral-100);
  padding: var(--spacing-3) var(--spacing-4);
  flex-shrink: 0;
  background: linear-gradient(180deg, var(--color-neutral-0) 0%, var(--color-neutral-50) 100%);
}
.notification-footer .ant-btn-link[data-v-179be7fc] {
  font-size: var(--font-size-base);
  height: 40px;
  color: var(--color-primary-600);
  font-weight: 500;
  border-radius: var(--radius-md);
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.notification-footer .ant-btn-link[data-v-179be7fc]:hover {
  background: var(--color-primary-50);
  color: var(--color-primary-700);
}
/* 滚动条美化 */
.notification-main[data-v-179be7fc]::-webkit-scrollbar {
  width: 6px;
}
.notification-main[data-v-179be7fc]::-webkit-scrollbar-track {
  background: var(--color-neutral-50);
  border-radius: var(--radius-full);
}
.notification-main[data-v-179be7fc]::-webkit-scrollbar-thumb {
  background: var(--color-neutral-200);
  border-radius: var(--radius-full);
  transition: background 0.2s ease;
}
.notification-main[data-v-179be7fc]::-webkit-scrollbar-thumb:hover {
  background: var(--color-neutral-300);
}
/* 移动端适配 */
@media (max-width: 768px) {
.notification-panel[data-v-179be7fc] {
    width: 100vw;
    max-height: 80vh;
    border-radius: 0;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.1);
}
.notification-content[data-v-179be7fc] {
    max-height: 80vh;
}
.notification-main[data-v-179be7fc] {
    max-height: calc(80vh - 100px);
    flex: 1;
    overflow-y: auto;
    padding: var(--spacing-2);
}
.item-actions[data-v-179be7fc] {
    opacity: 1;
}
.action-btn[data-v-179be7fc] {
    width: 32px;
    height: 32px;
}
.notification-item[data-v-179be7fc] {
    padding: var(--spacing-3);
    gap: var(--spacing-2-5);
}
.item-icon[data-v-179be7fc] {
    width: 36px;
    height: 36px;
}
}
@media (max-width: 480px) {
.notification-header[data-v-179be7fc] {
    padding: var(--spacing-2-5) var(--spacing-3);
}
.notification-item[data-v-179be7fc] {
    padding: var(--spacing-2-5);
    gap: var(--spacing-2);
}
.item-icon[data-v-179be7fc] {
    width: 32px;
    height: 32px;
    font-size: var(--icon-size-base);
}
.item-title[data-v-179be7fc] {
    font-size: var(--font-size-sm);
}
.item-desc[data-v-179be7fc] {
    font-size: var(--font-size-xs);
    line-clamp: 1;
}
.header-title[data-v-179be7fc] {
    font-size: var(--font-size-base);
}
}
.theme-config-content[data-v-2e9d2b8a] {
  padding: 0;
}
.preset-themes[data-v-2e9d2b8a] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 16px;
}
.preset-theme[data-v-2e9d2b8a] {
  cursor: pointer;
  padding: 12px;
  border: 2px solid var(--color-border);
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  transition: all 0.3s;
}
.preset-theme[data-v-2e9d2b8a]:hover {
  border-color: var(--color-primary);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px) scale(1.02);
}
.preset-theme.active[data-v-2e9d2b8a] {
  border-color: var(--color-primary);
  background-color: var(--color-primary-bg);
  box-shadow: 0 0 0 2px var(--color-primary-20), 0 4px 12px rgba(0, 0, 0, 0.15);
  transform: scale(1.05);
}
.preset-theme .preset-preview[data-v-2e9d2b8a] {
  width: 80px;
  height: 50px;
  position: relative;
  display: flex;
  flex-direction: column;
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid var(--border-light);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.preset-theme .preset-preview .preset-header[data-v-2e9d2b8a] {
  height: 10px;
  width: 100%;
}
.preset-theme .preset-preview .preset-body[data-v-2e9d2b8a] {
  flex: 1;
  display: flex;
}
.preset-theme .preset-preview .preset-body .preset-sidebar[data-v-2e9d2b8a] {
  width: 16px;
}
.preset-theme .preset-preview .preset-body .preset-content[data-v-2e9d2b8a] {
  flex: 1;
  background-color: #ececec;
  border: 1px solid var(--color-border-light);
}
.preset-theme .preset-info[data-v-2e9d2b8a] {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 4px;
  width: 100%;
}
.preset-theme .preset-name[data-v-2e9d2b8a] {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-primary);
  text-align: center;
  line-height: 1.2;
}
.preset-theme .preset-description[data-v-2e9d2b8a] {
  font-size: 10px;
  color: var(--text-tertiary);
  line-height: 1.3;
  word-break: break-word;
  overflow: hidden;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  max-height: 26px;
}
.theme-config-section[data-v-2e9d2b8a] {
  margin-bottom: 8px;
}
.theme-config-section h3[data-v-2e9d2b8a] {
  color: #434343;
  margin-bottom: 16px;
  font-size: 14px;
  font-weight: 500;
}
.theme-config-section[data-v-2e9d2b8a] .ant-collapse {
  background: transparent;
  border: none;
}
.theme-config-section[data-v-2e9d2b8a] .ant-collapse .ant-collapse-item {
  border: 1px solid var(--color-border);
  border-radius: 8px !important;
  margin-bottom: 12px;
  overflow: hidden;
}
.theme-config-section[data-v-2e9d2b8a] .ant-collapse .ant-collapse-item:last-child {
  margin-bottom: 0;
}
.theme-config-section[data-v-2e9d2b8a] .ant-collapse .ant-collapse-item .ant-collapse-header {
  font-weight: 600;
  color: var(--text-primary);
  padding: 12px 16px;
}
.theme-config-section[data-v-2e9d2b8a] .ant-collapse .ant-collapse-item .ant-collapse-header:hover {
  color: var(--color-primary);
}
.theme-config-section[data-v-2e9d2b8a] .ant-collapse .ant-collapse-item .ant-collapse-content .ant-collapse-content-box {
  padding: 16px;
}
.color-picker-container[data-v-2e9d2b8a] {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding-left: 16px;
}
.custom-color-section[data-v-2e9d2b8a] {
  padding-left: 16px;
  margin-bottom: 8px;
}
.color-option[data-v-2e9d2b8a] {
  cursor: pointer;
  text-align: center;
}
.color-option .color-swatch[data-v-2e9d2b8a] {
  width: 32px;
  height: 32px;
  border-radius: 4px;
  margin: 0 auto 8px;
  border: 2px solid transparent;
  transition: all 0.3s;
}
.color-option .color-label[data-v-2e9d2b8a],
.color-option .color-hex[data-v-2e9d2b8a] {
  font-size: 12px;
  color: #434343;
}
.color-option.active .color-swatch[data-v-2e9d2b8a] {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px var(--color-primary-20);
}
.color-option.active .color-label[data-v-2e9d2b8a] {
  color: var(--color-primary);
  font-weight: 600;
}
.custom-color-header[data-v-2e9d2b8a] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
  font-size: 12px;
  color: #434343;
}
.custom-color-picker[data-v-2e9d2b8a] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.custom-color-picker .color-input[data-v-2e9d2b8a] {
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid var(--color-border);
  border-radius: 4px;
  cursor: pointer;
}
.custom-color-picker .custom-color-preview[data-v-2e9d2b8a] {
  width: 40px;
  height: 40px;
  border-radius: 4px;
  border: 1px solid var(--color-border);
}
.custom-color-picker .custom-color-hex[data-v-2e9d2b8a] {
  font-size: 12px;
  color: #434343;
}
.advanced-settings[data-v-2e9d2b8a] {
  padding-left: 16px;
}
.setting-item[data-v-2e9d2b8a] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
.setting-item[data-v-2e9d2b8a]:last-child {
  margin-bottom: 0;
}
.setting-item .setting-label[data-v-2e9d2b8a] {
  font-size: 14px;
  color: #434343;
  display: flex;
  align-items: center;
  gap: 8px;
}
.setting-item .setting-label .exclusive-tag[data-v-2e9d2b8a] {
  font-size: 10px;
  margin-left: 4px;
}
.tabs-config-section[data-v-2e9d2b8a] {
  padding-left: 52px;
  margin-top: -8px;
  margin-bottom: 16px;
}
.theme-config-footer[data-v-2e9d2b8a] {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
}
.state-color-config[data-v-2e9d2b8a] {
  padding-left: 16px;
}
.color-config-item[data-v-2e9d2b8a] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.color-config-item[data-v-2e9d2b8a]:last-child {
  margin-bottom: 0;
}
.color-config-item .config-label[data-v-2e9d2b8a] {
  font-size: 13px;
  color: #434343;
  min-width: 80px;
}
.color-config-item .color-picker-inline[data-v-2e9d2b8a] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.color-config-item .color-picker-inline .color-input-inline[data-v-2e9d2b8a] {
  width: 32px;
  height: 32px;
  padding: 0;
  border: 1px solid var(--color-border);
  border-radius: 4px;
  cursor: pointer;
}
/* 响应式设计 */
@media (max-width: 768px) {
.theme-config-content[data-v-2e9d2b8a] {
    padding: 0;
}
.theme-config-section[data-v-2e9d2b8a] {
    margin-bottom: 20px;
}
.theme-config-section h3[data-v-2e9d2b8a] {
    font-size: 14px;
    margin: 0 0 12px 0;
    padding-left: 4px;
    border-left-width: 2px;
}
.preset-themes[data-v-2e9d2b8a] {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 4px;
}
.preset-theme[data-v-2e9d2b8a] {
    padding: 10px;
}
.preset-info .preset-name[data-v-2e9d2b8a] {
    font-size: 13px;
}
.preset-info .preset-description[data-v-2e9d2b8a] {
    font-size: 11px;
    line-height: 1.4;
}
.color-palette[data-v-2e9d2b8a] {
    grid-template-columns: repeat(auto-fill, minmax(56px, 1fr));
    gap: 8px;
}
.color-option[data-v-2e9d2b8a] {
    font-size: 11px;
}
.color-swatch[data-v-2e9d2b8a] {
    width: 28px;
    height: 28px;
    margin-bottom: 4px;
}
.custom-color-picker[data-v-2e9d2b8a] {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}
.advanced-settings[data-v-2e9d2b8a] {
    padding-left: 12px;
}
.setting-item[data-v-2e9d2b8a] {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 12px;
}
.setting-item .setting-label[data-v-2e9d2b8a] {
    font-size: 13px;
    width: 100%;
}
.tabs-config-section[data-v-2e9d2b8a] {
    padding-left: 32px;
}
.theme-config-footer[data-v-2e9d2b8a] {
    flex-direction: column;
    gap: 8px;
    padding: 12px;
    background: var(--color-bg-elevated);
    border-top: 1px solid var(--color-border-secondary);
    margin: 0 -16px -8px;
}
.theme-config-footer .ant-btn[data-v-2e9d2b8a] {
    width: 100%;
}
.state-color-config[data-v-2e9d2b8a] {
    padding-left: 12px;
}
.color-config-item[data-v-2e9d2b8a] {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}
.color-config-item .config-label[data-v-2e9d2b8a] {
    min-width: auto;
    width: 100%;
}
.color-picker-inline[data-v-2e9d2b8a] {
    width: 100%;
    justify-content: space-between;
}
.ant-collapse-header[data-v-2e9d2b8a] {
    padding: 10px 12px !important;
    font-size: 13px !important;
}
.ant-collapse-content-box[data-v-2e9d2b8a] {
    padding: 6px !important;
}
}
/* 路由过渡动画配置 */
.transition-options[data-v-2e9d2b8a] {
  margin-top: 12px;
}
.transition-grid[data-v-2e9d2b8a] {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-top: 8px;
}
.transition-option[data-v-2e9d2b8a] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 12px 8px;
  border: 2px solid #f0f0f0;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.transition-option[data-v-2e9d2b8a]:hover {
  border-color: var(--primary-color, #1677ff);
  background: rgba(22, 119, 255, 0.04);
}
.transition-option.active[data-v-2e9d2b8a] {
  border-color: var(--primary-color, #1677ff);
  background: rgba(22, 119, 255, 0.08);
}
/* 预览容器 */
.transition-preview-box[data-v-2e9d2b8a] {
  width: 100%;
  height: 52px;
  position: relative;
  overflow: hidden;
  border-radius: 4px;
  background: #f5f5f5;
}
/* 预览页面块 */
.preview-page[data-v-2e9d2b8a] {
  position: absolute;
  top: 4px;
  left: 4px;
  right: 4px;
  bottom: 4px;
  background: #fff;
  border-radius: 3px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  padding: 4px 6px;
}
.preview-page-header[data-v-2e9d2b8a] {
  height: 4px;
  width: 40%;
  background: var(--primary-color, #1677ff);
  border-radius: 2px;
  margin-bottom: 4px;
  opacity: 0.7;
}
.preview-page-line[data-v-2e9d2b8a] {
  height: 3px;
  width: 70%;
  background: #e0e0e0;
  border-radius: 1.5px;
  margin-bottom: 3px;
}
.preview-page-line.short[data-v-2e9d2b8a] {
  width: 45%;
}
/* ===== fade-slide 预览 ===== */
.preview-page-a.pv-fade-slide-out[data-v-2e9d2b8a] {
  animation: pv-fade-slide-out-2e9d2b8a 2.4s ease-in-out infinite;
}
.preview-page-b.pv-fade-slide-in[data-v-2e9d2b8a] {
  animation: pv-fade-slide-in-2e9d2b8a 2.4s ease-in-out infinite;
}
@keyframes pv-fade-slide-out-2e9d2b8a {
0%,
  40% {
    opacity: 1;
    transform: translateY(0);
}
50%,
  90% {
    opacity: 0;
    transform: translateY(-6px);
}
100% {
    opacity: 1;
    transform: translateY(0);
}
}
@keyframes pv-fade-slide-in-2e9d2b8a {
0%,
  45% {
    opacity: 0;
    transform: translateY(6px);
}
55%,
  90% {
    opacity: 1;
    transform: translateY(0);
}
100% {
    opacity: 0;
    transform: translateY(6px);
}
}
/* ===== fade 预览 ===== */
.preview-page-a.pv-fade-out[data-v-2e9d2b8a] {
  animation: pv-fade-out-2e9d2b8a 2.4s ease-in-out infinite;
}
.preview-page-b.pv-fade-in[data-v-2e9d2b8a] {
  animation: pv-fade-in-2e9d2b8a 2.4s ease-in-out infinite;
}
@keyframes pv-fade-out-2e9d2b8a {
0%,
  40% {
    opacity: 1;
}
50%,
  90% {
    opacity: 0;
}
100% {
    opacity: 1;
}
}
@keyframes pv-fade-in-2e9d2b8a {
0%,
  45% {
    opacity: 0;
}
55%,
  90% {
    opacity: 1;
}
100% {
    opacity: 0;
}
}
/* ===== slide-left 预览 ===== */
.preview-page-a.pv-slide-left-out[data-v-2e9d2b8a] {
  animation: pv-slide-left-out-2e9d2b8a 2.4s ease-in-out infinite;
}
.preview-page-b.pv-slide-left-in[data-v-2e9d2b8a] {
  animation: pv-slide-left-in-2e9d2b8a 2.4s ease-in-out infinite;
}
@keyframes pv-slide-left-out-2e9d2b8a {
0%,
  40% {
    opacity: 1;
    transform: translateX(0);
}
50%,
  90% {
    opacity: 0;
    transform: translateX(-12px);
}
100% {
    opacity: 1;
    transform: translateX(0);
}
}
@keyframes pv-slide-left-in-2e9d2b8a {
0%,
  45% {
    opacity: 0;
    transform: translateX(12px);
}
55%,
  90% {
    opacity: 1;
    transform: translateX(0);
}
100% {
    opacity: 0;
    transform: translateX(12px);
}
}
/* ===== zoom-fade 预览 ===== */
.preview-page-a.pv-zoom-fade-out[data-v-2e9d2b8a] {
  animation: pv-zoom-fade-out-2e9d2b8a 2.4s ease-in-out infinite;
}
.preview-page-b.pv-zoom-fade-in[data-v-2e9d2b8a] {
  animation: pv-zoom-fade-in-2e9d2b8a 2.4s ease-in-out infinite;
}
@keyframes pv-zoom-fade-out-2e9d2b8a {
0%,
  40% {
    opacity: 1;
    transform: scale(1);
}
50%,
  90% {
    opacity: 0;
    transform: scale(0.92);
}
100% {
    opacity: 1;
    transform: scale(1);
}
}
@keyframes pv-zoom-fade-in-2e9d2b8a {
0%,
  45% {
    opacity: 0;
    transform: scale(1.06);
}
55%,
  90% {
    opacity: 1;
    transform: scale(1);
}
100% {
    opacity: 0;
    transform: scale(1.06);
}
}
.transition-name[data-v-2e9d2b8a] {
  font-size: 12px;
  color: #666;
  white-space: nowrap;
}
@media (max-width: 768px) {
.transition-grid[data-v-2e9d2b8a] {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
}
.transition-option[data-v-2e9d2b8a] {
    padding: 8px 6px;
}
}

/* 主题配置抽屉 - 关闭按钮移到右侧 + 头部背景优化 */
.theme-config-drawer .ant-drawer-header {
  position: relative;
  display: flex;
  align-items: center;
  padding: 14px 16px;
  border-bottom: 1px solid #f0f0f0;
  background: #fafafa;
}
.theme-config-drawer .ant-drawer-header-title {
  flex: 1;
}
.theme-config-drawer .ant-drawer-close {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background 0.2s;
}
.theme-config-drawer .ant-drawer-close:hover {
  background: rgba(0, 0, 0, 0.06);
}
.ai-cs-btn[data-v-f9741318] {
  position: relative;
}
.ai-cs-btn .ant-badge[data-v-f9741318] {
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(50%, -50%);
}
.ai-cs-btn .anticon[data-v-f9741318] {
  color: var(--header-text-color, var(--color-text, #262626)) !important;
}
.ai-cs-btn:hover .anticon[data-v-f9741318] {
  color: var(--header-text-hover, var(--header-menu-hover-color, var(--color-primary, #1890ff))) !important;
}
.ai-cs-drawer[data-v-f9741318] {
  z-index: 1001;
}
.ai-cs-drawer .ant-drawer-content[data-v-f9741318] {
  background: linear-gradient(180deg, #ffffff 0%, #fafbff 100%);
}
.ai-cs-drawer .ant-drawer-header[data-v-f9741318] {
  box-shadow: 0 4px 12px rgba(24, 144, 255, 0.08);
  background: #ffffff;
  border-bottom: 1px solid #f0f0f0;
}
.ai-cs-content-wrapper[data-v-f9741318] {
  display: flex;
  overflow-y: auto;
  flex-direction: column;
  height: 100%;
  padding-bottom: 80px;
  /* 为底部输入区域留出空间 */
  box-sizing: border-box;
}
/* ========== 对话流程指示器样式 ========== */
.conversation-flow-indicator[data-v-f9741318] {
  padding: 12px 16px;
  background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
  border-bottom: 1px solid #f0f0f0;
  position: sticky;
  top: 0;
  z-index: 10;
}
.flow-steps[data-v-f9741318] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}
.flow-step[data-v-f9741318] {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  padding: 4px 12px;
  transition: all 0.3s ease;
}
.step-icon[data-v-f9741318] {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f0f0f0;
  color: #8c8c8c;
  font-size: 12px;
  font-weight: 500;
  transition: all 0.3s ease;
  border: 2px solid transparent;
}
.step-number[data-v-f9741318] {
  font-size: 12px;
}
.step-label[data-v-f9741318] {
  font-size: 11px;
  color: #8c8c8c;
  margin-top: 4px;
  white-space: nowrap;
}
.step-connector[data-v-f9741318] {
  position: absolute;
  right: -20px;
  top: 18px;
  width: 32px;
  height: 2px;
  background: #e8e8e8;
}
.flow-step.completed .step-icon[data-v-f9741318] {
  background: #52c41a;
  color: #fff;
}
.flow-step.completed .step-label[data-v-f9741318] {
  color: #52c41a;
}
.flow-step.completed .step-connector[data-v-f9741318] {
  background: linear-gradient(90deg, #52c41a 0%, #e8e8e8 100%);
}
.flow-step.active .step-icon[data-v-f9741318] {
  background: linear-gradient(135deg, #1890ff 0%, #69c0ff 100%);
  color: #fff;
  box-shadow: 0 2px 8px rgba(24, 144, 255, 0.3);
  border-color: rgba(24, 144, 255, 0.2);
  animation: pulse-step-f9741318 2s infinite;
}
.flow-step.active .step-label[data-v-f9741318] {
  color: #1890ff;
  font-weight: 500;
}
@keyframes pulse-step-f9741318 {
0%,
  100% {
    transform: scale(1);
    box-shadow: 0 2px 8px rgba(24, 144, 255, 0.3);
}
50% {
    transform: scale(1.05);
    box-shadow: 0 4px 12px rgba(24, 144, 255, 0.4);
}
}
.current-step-info[data-v-f9741318] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px dashed #e8e8e8;
}
.step-status[data-v-f9741318] {
  font-size: 12px;
  font-weight: 500;
  color: #1890ff;
  padding: 2px 8px;
  background: rgba(24, 144, 255, 0.1);
  border-radius: 10px;
}
.step-description[data-v-f9741318] {
  font-size: 12px;
  color: #8c8c8c;
}
.ai-cs-messages[data-v-f9741318] {
  flex: 1;
  padding: 12px 8px 0 4px;
}
.ai-cs-header[data-v-f9741318] {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 0;
  border-bottom: none;
}
.ai-cs-avatar[data-v-f9741318] {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  overflow: hidden;
  margin-right: 12px;
  background: linear-gradient(135deg, #1890ff 0%, #69c0ff 100%);
  box-shadow: 0 4px 12px rgba(24, 144, 255, 0.2);
  position: relative;
}
.ai-cs-avatar[data-v-f9741318]::after {
  content: '';
  position: absolute;
  top: -2px;
  left: -2px;
  right: -2px;
  bottom: -2px;
  background: linear-gradient(135deg, rgba(24, 144, 255, 0.2), rgba(105, 192, 255, 0.2));
  border-radius: 50%;
  z-index: -1;
}
.ai-cs-avatar img[data-v-f9741318] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.avatar-placeholder[data-v-f9741318] {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 22px;
}
.ai-cs-info[data-v-f9741318] {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.robot-selector[data-v-f9741318] {
  margin-top: 4px;
}
.robot-option[data-v-f9741318] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.robot-option-avatar[data-v-f9741318] {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  object-fit: cover;
}
.ai-cs-name[data-v-f9741318] {
  font-size: 17px;
  font-weight: 700;
  margin: 0;
  color: #262626;
  letter-spacing: 0.2px;
}
.ai-cs-status[data-v-f9741318] {
  font-size: 13px;
  color: #8c8c8c;
  margin: 0 0 0 6px;
  padding: 2px 8px;
  background: rgba(24, 144, 255, 0.05);
  border-radius: 10px;
  font-weight: 500;
}
.ai-cs-status.online[data-v-f9741318] {
  color: #52c41a;
  background: rgba(82, 196, 26, 0.08);
  position: relative;
  padding-left: 20px;
}
.ai-cs-status.online[data-v-f9741318]::before {
  content: '';
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
  height: 8px;
  background: #52c41a;
  border-radius: 50%;
  box-shadow: 0 0 0 3px rgba(82, 196, 26, 0.15);
  animation: pulse-f9741318 2s infinite;
}
@keyframes pulse-f9741318 {
0%,
  100% {
    opacity: 1;
    transform: translateY(-50%) scale(1);
}
50% {
    opacity: 0.7;
    transform: translateY(-50%) scale(1.1);
}
}
.header-actions[data-v-f9741318] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.clear-chat-btn[data-v-f9741318] {
  color: #ff4d4f;
}
.settings-btn[data-v-f9741318] {
  color: #666;
}
.close-drawer-btn[data-v-f9741318] {
  color: #999;
  margin-left: 4px;
}
.close-drawer-btn[data-v-f9741318]:hover {
  color: #333;
  background: rgba(0, 0, 0, 0.06) !important;
}
/* 隐藏 Ant Design Drawer 默认的左侧关闭按钮 */
.ai-cs-drawer .ant-drawer-close[data-v-f9741318] {
  display: none;
}
.welcome-message[data-v-f9741318] {
  text-align: center;
  padding: 48px 24px;
  color: #595959;
  background: linear-gradient(180deg, rgba(24, 144, 255, 0.03) 0%, rgba(24, 144, 255, 0) 100%);
}
.welcome-icon[data-v-f9741318] {
  width: 96px;
  height: 96px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
  background: linear-gradient(135deg, #1890ff 0%, #69c0ff 100%);
  border-radius: 24px;
  box-shadow: 0 8px 24px rgba(24, 144, 255, 0.2);
  font-size: 48px;
  color: #fff;
  position: relative;
  overflow: hidden;
}
.welcome-icon[data-v-f9741318]::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.2) 0%, transparent 60%);
  animation: shine-f9741318 3s infinite;
}
@keyframes shine-f9741318 {
0%,
  100% {
    transform: translate(-30%, -30%);
    opacity: 0;
}
50% {
    transform: translate(30%, 30%);
    opacity: 1;
}
}
.welcome-message h4[data-v-f9741318] {
  margin: 0 0 12px 0;
  color: #262626;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.3px;
}
.welcome-message p[data-v-f9741318] {
  margin: 0 0 28px 0;
  line-height: 1.6;
  font-size: 15px;
  color: #595959;
}
.message-item[data-v-f9741318] {
  display: flex;
  margin-bottom: 20px;
  animation: fadeIn-f9741318 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.message-item.user[data-v-f9741318] {
  flex-direction: row-reverse;
}
.message-avatar[data-v-f9741318] {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  overflow: hidden;
  margin: 0 10px 0 12px;
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.message-avatar img[data-v-f9741318] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ai-avatar-placeholder[data-v-f9741318] {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #1890ff 0%, #69c0ff 100%);
  color: #fff;
  font-size: 18px;
}
.user-avatar-placeholder[data-v-f9741318] {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #52c41a 0%, #95de64 100%);
  color: #fff;
  font-size: 18px;
}
/* 打字指示器样式 */
.typing-indicator[data-v-f9741318] {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 4px;
}
.typing-indicator .dot[data-v-f9741318] {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #1890ff;
  animation: typing-f9741318 1.4s infinite ease-in-out both;
}
.typing-indicator .dot[data-v-f9741318]:nth-child(1) {
  animation-delay: -0.32s;
}
.typing-indicator .dot[data-v-f9741318]:nth-child(2) {
  animation-delay: -0.16s;
}
@keyframes typing-f9741318 {
0%,
  80%,
  100% {
    transform: scale(0);
}
40% {
    transform: scale(1);
}
}
.message-content[data-v-f9741318] {
  flex: 0 1 auto;
  max-width: 82%;
}
.message-item.user .message-content[data-v-f9741318] {
  text-align: right;
}
/* 图片消息样式 */
.message-media[data-v-f9741318] {
  display: inline-block;
  max-width: 100%;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}
.message-media.image-message[data-v-f9741318] {
  background: #f5f5f5;
  padding: 8px;
}
.message-image[data-v-f9741318] {
  max-width: 280px;
  max-height: 200px;
  border-radius: 8px;
  cursor: pointer;
  transition: transform 0.3s;
}
.message-image[data-v-f9741318]:hover {
  transform: scale(1.02);
}
.image-name[data-v-f9741318] {
  font-size: 12px;
  color: #666;
  margin-top: 6px;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 280px;
}
/* 语音消息样式 */
.audio-message[data-v-f9741318] {
  background: #e6f7ff;
  padding: 12px 16px;
  min-width: 180px;
}
.audio-player[data-v-f9741318] {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  color: #1890ff;
}
.audio-player .anticon[data-v-f9741318] {
  font-size: 24px;
}
.audio-duration[data-v-f9741318] {
  font-size: 14px;
  color: #666;
  font-weight: 500;
}
.audio-text[data-v-f9741318] {
  font-size: 12px;
  color: #999;
  margin-left: 8px;
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.message-text[data-v-f9741318] {
  display: inline-block;
  padding: 8px 18px;
  border-radius: 20px;
  line-height: 1.75;
  word-wrap: break-word;
  max-width: 100%;
  font-size: 14.5px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.message-item.assistant .message-text[data-v-f9741318]:hover {
  box-shadow: 0 4px 16px rgba(24, 144, 255, 0.12);
  transform: translateY(-1px);
}
.message-item.user .message-text[data-v-f9741318]:hover {
  box-shadow: 0 4px 16px rgba(24, 144, 255, 0.2);
  transform: translateY(-1px);
}
/* Markdown 样式 */
.message-text h1[data-v-f9741318],
.message-text h2[data-v-f9741318],
.message-text h3[data-v-f9741318],
.message-text h4[data-v-f9741318],
.message-text h5[data-v-f9741318],
.message-text h6[data-v-f9741318] {
  margin: 20px 0 10px 0;
  font-weight: 700;
  line-height: 1.4;
  color: #1f1f1f;
  padding-bottom: 6px;
}
.message-text h1[data-v-f9741318]:first-child,
.message-text h2[data-v-f9741318]:first-child,
.message-text h3[data-v-f9741318]:first-child {
  margin-top: 0;
}
.message-text h1[data-v-f9741318] {
  font-size: 1.5em;
  border-bottom: 2px solid rgba(24, 144, 255, 0.2);
}
.message-text h2[data-v-f9741318] {
  font-size: 1.3em;
  border-bottom: 1px solid rgba(24, 144, 255, 0.15);
}
.message-text h3[data-v-f9741318] {
  font-size: 1.15em;
}
.message-text h4[data-v-f9741318],
.message-text h5[data-v-f9741318],
.message-text h6[data-v-f9741318] {
  font-size: 1.05em;
}
.message-text p[data-v-f9741318] {
  margin: 10px 0;
  color: #434343;
  line-height: 1.75;
}
/* Markdown 表格样式 */
.message-text table[data-v-f9741318] {
  width: 100%;
  border-collapse: collapse;
  margin: 12px 0;
  font-size: 13px;
  border: 1px solid #e8e8e8;
  border-radius: 6px;
  overflow: hidden;
}
.message-text table thead[data-v-f9741318] {
  background: linear-gradient(135deg, #fafbff 0%, #f0f5ff 100%);
}
.message-text table th[data-v-f9741318] {
  padding: 8px 12px;
  text-align: left;
  font-weight: 600;
  color: #1f1f1f;
  border-bottom: 2px solid rgba(24, 144, 255, 0.15);
  font-size: 13px;
  white-space: nowrap;
}
.message-text table td[data-v-f9741318] {
  padding: 8px 12px;
  border-bottom: 1px solid #f0f0f0;
  color: #434343;
  line-height: 1.6;
  vertical-align: top;
}
.message-text table tr:last-child td[data-v-f9741318] {
  border-bottom: none;
}
.message-text table tbody tr[data-v-f9741318]:hover {
  background: rgba(24, 144, 255, 0.03);
}
/* 表格后面的标题增加上间距 */
.message-text table + h2[data-v-f9741318],
.message-text table + h3[data-v-f9741318] {
  margin-top: 20px;
}
/* 标题后面的表格增加上间距 */
.message-text h2 + table[data-v-f9741318],
.message-text h3 + table[data-v-f9741318] {
  margin-top: 8px;
}
.message-text ul[data-v-f9741318],
.message-text ol[data-v-f9741318] {
  margin: 14px 0;
  padding-left: 30px;
}
.message-text li[data-v-f9741318] {
  margin: 8px 0;
  color: #434343;
  line-height: 1.7;
}
.message-text ul li[data-v-f9741318]::marker {
  color: #1890ff;
  font-size: 1.2em;
}
.message-text strong[data-v-f9741318] {
  font-weight: 700;
  color: #1f1f1f;
}
.message-text em[data-v-f9741318] {
  font-style: italic;
  color: #595959;
}
.message-text code[data-v-f9741318] {
  background: linear-gradient(135deg, rgba(24, 144, 255, 0.08) 0%, rgba(105, 192, 255, 0.08) 100%);
  padding: 4px 10px;
  border-radius: 6px;
  font-family: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, 'Courier New', monospace;
  font-size: 0.88em;
  color: #1890ff;
  border: 1px solid rgba(24, 144, 255, 0.15);
}
.message-text pre[data-v-f9741318] {
  background: linear-gradient(135deg, #fafafa 0%, #f5f7fa 100%);
  padding: 18px;
  border-radius: 10px;
  overflow-x: auto;
  margin: 14px 0;
  border: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.03);
}
.message-text pre code[data-v-f9741318] {
  background: none;
  padding: 0;
  border-radius: 0;
  color: #262626;
  font-size: 0.86em;
  line-height: 1.6;
  border: none;
}
.message-text a[data-v-f9741318] {
  color: #1890ff;
  text-decoration: none;
  font-weight: 500;
  transition: all 0.2s ease;
}
.message-text a[data-v-f9741318]:hover {
  color: #40a9ff;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.message-item.assistant .message-text[data-v-f9741318] {
  background: linear-gradient(135deg, #ffffff 0%, #f0f5ff 100%);
  color: #262626;
  border-bottom-left-radius: 8px;
  border: 1px solid rgba(24, 144, 255, 0.12);
}
.message-item.assistant .message-text[data-v-f9741318]:hover {
  box-shadow: 0 4px 16px rgba(24, 144, 255, 0.12);
  transform: translateY(-1px);
}
.message-item.user .message-text[data-v-f9741318] {
  background: linear-gradient(135deg, #1890ff 0%, #69c0ff 100%);
  color: #fff;
  border-bottom-right-radius: 8px;
  box-shadow: 0 4px 12px rgba(24, 144, 255, 0.25);
}
.message-item.user .message-text[data-v-f9741318]:hover {
  box-shadow: 0 6px 20px rgba(24, 144, 255, 0.35);
  transform: translateY(-1px);
}
.message-item.user .message-text h1[data-v-f9741318],
.message-item.user .message-text h2[data-v-f9741318],
.message-item.user .message-text h3[data-v-f9741318],
.message-item.user .message-text h4[data-v-f9741318],
.message-item.user .message-text h5[data-v-f9741318],
.message-item.user .message-text h6[data-v-f9741318],
.message-item.user .message-text strong[data-v-f9741318],
.message-item.user .message-text p[data-v-f9741318],
.message-item.user .message-text li[data-v-f9741318] {
  color: #fff;
}
.message-item.user .message-text a[data-v-f9741318] {
  color: #e6f7ff;
  text-decoration: underline;
}
.message-item.user .message-text code[data-v-f9741318] {
  background-color: rgba(255, 255, 255, 0.2);
  color: #fff;
}
.message-item.user .message-text pre[data-v-f9741318] {
  background-color: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #fff;
}
.message-item.user .message-text pre code[data-v-f9741318] {
  color: #fff;
}
.message-time[data-v-f9741318] {
  font-size: 11px;
  color: #999;
  margin-top: 4px;
}
.loading-message[data-v-f9741318] {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 10px 14px;
  gap: 8px;
  color: #666;
  font-size: 14px;
}
.ai-cs-input-area[data-v-f9741318] {
  display: flex;
  gap: 12px;
  padding: 16px 20px;
  border-top: 1px solid #f0f0f0;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(180deg, #ffffff 0%, #fafbff 100%);
  z-index: 1002;
  box-shadow: 0 -4px 16px rgba(24, 144, 255, 0.06);
}
.input-field[data-v-f9741318] {
  flex: 1;
  border-radius: 24px;
}
.input-field .ant-input[data-v-f9741318] {
  border-radius: 24px;
  padding: 12px 20px;
  font-size: 15px;
  line-height: 1.6;
  border: 2px solid rgba(24, 144, 255, 0.12);
  background: #ffffff;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
}
.input-field .ant-input[data-v-f9741318]:hover {
  border-color: rgba(24, 144, 255, 0.25);
  box-shadow: 0 4px 12px rgba(24, 144, 255, 0.08);
}
.input-field .ant-input[data-v-f9741318]:focus {
  border-color: #1890ff;
  box-shadow: 0 0 0 4px rgba(24, 144, 255, 0.12), 0 4px 12px rgba(24, 144, 255, 0.1);
}
.send-btn[data-v-f9741318] {
  border-radius: 50%;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  background: linear-gradient(135deg, #1890ff 0%, #69c0ff 100%);
  border: none;
  box-shadow: 0 4px 12px rgba(24, 144, 255, 0.25);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.send-btn[data-v-f9741318]:hover {
  background: linear-gradient(135deg, #40a9ff 0%, #8bc6ff 100%);
  box-shadow: 0 6px 16px rgba(24, 144, 255, 0.35);
  transform: scale(1.05);
}
.send-btn[data-v-f9741318]:active {
  transform: scale(0.95);
}
.send-btn .anticon[data-v-f9741318] {
  font-size: 18px;
}
/* 语音输入按钮样式 */
.voice-btn[data-v-f9741318] {
  border-radius: 50%;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 2px solid rgba(24, 144, 255, 0.2);
  background: #fff;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.voice-btn[data-v-f9741318]:hover {
  border-color: #1890ff;
  background: rgba(24, 144, 255, 0.05);
}
.voice-btn.recording[data-v-f9741318] {
  border-color: #ff4d4f;
  background: #ff4d4f;
  color: #fff;
  animation: recording-pulse-f9741318 1.5s infinite;
}
.voice-btn.recording .anticon[data-v-f9741318] {
  color: #fff;
  font-size: 16px;
}
@keyframes recording-pulse-f9741318 {
0%,
  100% {
    box-shadow: 0 0 0 0 rgba(255, 77, 79, 0.4);
}
50% {
    box-shadow: 0 0 0 8px rgba(255, 77, 79, 0);
}
}
.voice-btn-content[data-v-f9741318] {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.recording-indicator[data-v-f9741318] {
  position: absolute;
  top: -4px;
  right: -4px;
  width: 10px;
  height: 10px;
  background: #ff4d4f;
  border-radius: 50%;
  animation: blink-f9741318 1s infinite;
}
.recording-time[data-v-f9741318] {
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 12px;
  color: #ff4d4f;
  font-weight: 500;
  white-space: nowrap;
}
@keyframes blink-f9741318 {
0%,
  100% {
    opacity: 1;
}
50% {
    opacity: 0.3;
}
}
/* OCR按钮样式 */
.ocr-btn[data-v-f9741318] {
  border-radius: 50%;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 2px solid rgba(24, 144, 255, 0.2);
  background: #fff;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.ocr-btn[data-v-f9741318]:hover {
  border-color: #1890ff;
  background: rgba(24, 144, 255, 0.05);
  color: #1890ff;
}
/* 图片预览样式 */
.image-preview-overlay[data-v-f9741318] {
  position: absolute;
  bottom: 80px;
  right: 20px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
  padding: 12px;
  z-index: 1003;
  max-width: 200px;
}
.image-preview-content[data-v-f9741318] {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.image-preview-img[data-v-f9741318] {
  max-width: 176px;
  max-height: 150px;
  border-radius: 8px;
  object-fit: cover;
}
.image-preview-close[data-v-f9741318] {
  position: absolute;
  top: -8px;
  right: -8px;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
/* OCR进度指示器样式 */
.ocr-progress-overlay[data-v-f9741318] {
  position: absolute;
  bottom: 80px;
  right: 20px;
  width: 200px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
  padding: 16px;
  z-index: 1003;
}
.ocr-progress-content[data-v-f9741318] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.ocr-progress-text[data-v-f9741318] {
  font-size: 12px;
  color: #666;
  text-align: center;
}
/* 消息操作按钮样式 */
.message-actions[data-v-f9741318] {
  display: flex;
  justify-content: flex-end;
  margin-top: 4px;
}
.speak-btn[data-v-f9741318] {
  color: #8c8c8c;
  font-size: 12px;
  padding: 2px 6px;
  height: auto;
  border-radius: 12px;
  transition: all 0.2s ease;
}
.speak-btn[data-v-f9741318]:hover {
  color: #1890ff;
  background: rgba(24, 144, 255, 0.1);
}
.setting-item[data-v-f9741318] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 0;
  border-bottom: 1px solid #f0f0f0;
}
.setting-item[data-v-f9741318]:last-child {
  border-bottom: none;
}
.setting-item label[data-v-f9741318] {
  font-size: 14px;
  color: #666;
  width: 120px;
}
.settings-actions[data-v-f9741318] {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}
.history-list[data-v-f9741318] {
  max-height: 400px;
  overflow-y: auto;
}
.history-item[data-v-f9741318] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px;
  border-bottom: 1px solid #f0f0f0;
  transition: background-color 0.3s ease;
}
.history-item[data-v-f9741318]:hover {
  background-color: #f9f9f9;
}
.history-info[data-v-f9741318] {
  flex: 1;
}
.history-title[data-v-f9741318] {
  margin: 0 0 4px 0;
  font-size: 14px;
  font-weight: 500;
  color: #333;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.history-meta[data-v-f9741318] {
  margin: 0;
  font-size: 12px;
  color: #999;
  display: flex;
  gap: 16px;
}
.history-actions[data-v-f9741318] {
  display: flex;
  gap: 8px;
}
.empty-history[data-v-f9741318] {
  text-align: center;
  padding: 40px 20px;
  color: #999;
}
.history-actions-footer[data-v-f9741318] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
/* 滚动条样式 */
.history-list[data-v-f9741318]::-webkit-scrollbar {
  width: 4px;
}
.history-list[data-v-f9741318]::-webkit-scrollbar-track {
  background: #f1f1f1;
}
.history-list[data-v-f9741318]::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 2px;
}
.history-list[data-v-f9741318]::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}
@keyframes fadeIn-f9741318 {
from {
    opacity: 0;
    transform: translateY(10px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
/* 滚动条样式 */
.ai-cs-messages[data-v-f9741318]::-webkit-scrollbar {
  width: 4px;
}
.ai-cs-messages[data-v-f9741318]::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 2px;
}
.ai-cs-messages[data-v-f9741318]::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 2px;
}
.ai-cs-messages[data-v-f9741318]::-webkit-scrollbar-thumb:hover {
  background: #a1a1a1;
}
/* ========== 问题分类样式 ========== */
.question-categories[data-v-f9741318] {
  margin: 16px 0;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.question-card[data-v-f9741318] {
  border-radius: 12px;
  background: linear-gradient(135deg, #ffffff 0%, #f8faff 100%);
  border: 1px solid #e8ecf0;
  padding: 10px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: default;
  position: relative;
  overflow: hidden;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}
/* 卡片顶部彩色装饰线 */
.question-card[data-v-f9741318]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--card-color, #1890ff);
  opacity: 0.5;
  transition: opacity 0.3s ease;
}
.question-card[data-v-f9741318]:hover {
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
  border-color: var(--card-color, #1890ff);
  transform: translateY(-2px);
  background: linear-gradient(135deg, #ffffff 0%, #f0f5ff 100%);
}
.question-card[data-v-f9741318]:hover::before {
  opacity: 1;
}
/* 移动端触控反馈 */
.question-card[data-v-f9741318]:active {
  transform: scale(0.97);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.question-card-header[data-v-f9741318] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}
.question-card-icon[data-v-f9741318] {
  width: 26px;
  height: 26px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  flex-shrink: 0;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}
.question-card-title[data-v-f9741318] {
  font-size: 13px;
  font-weight: 600;
  color: #333;
}
.question-card-tags[data-v-f9741318] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.question-tag[data-v-f9741318] {
  border-radius: 14px;
  font-size: 11px;
  height: 24px;
  padding: 0 8px;
  border: 1px solid #e8ecf0;
  background: linear-gradient(135deg, #fafbfc 0%, #f5f7fa 100%);
  color: #595959;
  transition: all 0.2s ease;
  line-height: 1;
  white-space: nowrap;
}
.question-tag[data-v-f9741318]:hover {
  border-color: var(--card-color, #1890ff);
  color: var(--card-color, #1890ff);
  background: linear-gradient(135deg, #e6f7ff 0%, #f0f5ff 100%);
  box-shadow: 0 2px 6px rgba(24, 144, 255, 0.15);
  transform: translateY(-1px);
}
/* ========== 消息操作栏样式 ========== */
.message-action-bar[data-v-f9741318] {
  margin-top: 8px;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.message-item:hover .message-action-bar[data-v-f9741318] {
  opacity: 1;
}
.user-action-bar[data-v-f9741318] {
  text-align: right;
}
.action-buttons[data-v-f9741318] {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  background: rgba(0, 0, 0, 0.02);
  border-radius: 16px;
  padding: 2px 4px;
}
.action-btn[data-v-f9741318] {
  color: #999 !important;
  font-size: 13px !important;
  padding: 4px 6px !important;
  height: auto !important;
  min-width: auto !important;
  border-radius: 12px !important;
  transition: all 0.2s ease !important;
}
.action-btn[data-v-f9741318]:hover {
  color: #1890ff !important;
  background: rgba(24, 144, 255, 0.08) !important;
}
.action-btn.favorited[data-v-f9741318] {
  color: #faad14 !important;
}
.action-divider[data-v-f9741318] {
  margin: 0 4px;
  background: #e8e8e8;
}
/* ========== 引用来源样式 ========== */
.message-source[data-v-f9741318] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
  padding: 4px 10px;
  background: rgba(82, 196, 26, 0.08);
  border-radius: 12px;
  font-size: 12px;
  color: #52c41a;
}
.source-icon[data-v-f9741318] {
  font-size: 14px;
}
/* ========== 增强版引用来源样式 ========== */
.message-source-enhanced[data-v-f9741318] {
  margin-top: 12px;
  padding: 12px;
  background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
  border-radius: 12px;
  border: 1px solid #e8e8e8;
  transition: all 0.3s ease;
}
.message-source-enhanced[data-v-f9741318]:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  border-color: #d9d9d9;
}
.source-header[data-v-f9741318] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
  cursor: pointer;
}
.source-type-badge[data-v-f9741318] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 12px;
  color: #fff;
  font-size: 12px;
  font-weight: 500;
}
.source-type-badge .source-icon[data-v-f9741318] {
  font-size: 12px;
}
.source-credibility[data-v-f9741318] {
  font-size: 11px;
  padding: 2px 8px;
  border-radius: 10px;
  background: #f0f0f0;
  color: #8c8c8c;
}
.source-credibility.high[data-v-f9741318] {
  background: rgba(82, 196, 26, 0.1);
  color: #52c41a;
}
.source-credibility.medium[data-v-f9741318] {
  background: rgba(250, 173, 20, 0.1);
  color: #faad14;
}
.source-info[data-v-f9741318] {
  cursor: pointer;
  padding: 8px 0;
  border-bottom: 1px dashed #f0f0f0;
}
.source-title[data-v-f9741318] {
  font-size: 14px;
  font-weight: 500;
  color: #262626;
  margin-bottom: 4px;
}
.source-summary[data-v-f9741318] {
  font-size: 12px;
  color: #8c8c8c;
  line-height: 1.5;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.view-source-btn[data-v-f9741318] {
  margin-top: 8px;
  padding: 0;
  height: auto;
  font-size: 12px;
}
/* ========== 来源详情弹窗样式 ========== */
.source-detail-content[data-v-f9741318] {
  padding: 8px 0;
}
.source-meta[data-v-f9741318] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
.source-credibility-tag[data-v-f9741318] {
  font-size: 12px;
  padding: 2px 8px;
  border-radius: 10px;
  background: #f0f0f0;
  color: #8c8c8c;
}
.source-credibility-tag.high[data-v-f9741318] {
  background: rgba(82, 196, 26, 0.1);
  color: #52c41a;
}
.source-section[data-v-f9741318] {
  margin-bottom: 16px;
}
.source-section[data-v-f9741318]:last-child {
  margin-bottom: 0;
}
.source-section label[data-v-f9741318] {
  display: block;
  font-size: 12px;
  color: #8c8c8c;
  margin-bottom: 4px;
}
.source-section span[data-v-f9741318] {
  font-size: 14px;
  color: #262626;
}
.source-section p[data-v-f9741318] {
  font-size: 14px;
  color: #595959;
  line-height: 1.6;
  margin: 0;
}
.source-content[data-v-f9741318] {
  padding: 12px;
  background: #fafafa;
  border-radius: 8px;
  font-size: 13px;
  line-height: 1.6;
}
.source-content[data-v-f9741318]::-webkit-scrollbar {
  width: 4px;
}
.source-content[data-v-f9741318]::-webkit-scrollbar-thumb {
  background: #d9d9d9;
  border-radius: 2px;
}
/* ========== 快捷追问建议样式 ========== */
.quick-suggestions[data-v-f9741318] {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px dashed #e8e8e8;
}
.suggestions-label[data-v-f9741318] {
  font-size: 12px;
  color: #999;
  margin-bottom: 8px;
  display: block;
}
.suggestions-list[data-v-f9741318] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.suggestion-btn[data-v-f9741318] {
  border-radius: 14px;
  font-size: 12px;
  height: 26px;
  padding: 0 12px;
  border: 1px solid #d9d9d9;
  background: #fff;
  color: #666;
  transition: all 0.2s ease;
}
.suggestion-btn[data-v-f9741318]:hover {
  border-color: #1890ff;
  color: #1890ff;
  background: #e6f7ff;
}
/* ========== 排队操作按钮样式 ========== */
.queue-actions[data-v-f9741318] {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px dashed #e8e8e8;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
/* ========== 意图识别提示样式 ========== */
.intent-hint-panel[data-v-f9741318] {
  position: absolute;
  bottom: 100%;
  left: 0;
  right: 0;
  background: #fff;
  border-radius: 12px 12px 0 0;
  box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.1);
  padding: 12px 16px;
  margin-bottom: 8px;
  z-index: 1001;
}
.intent-hint-label[data-v-f9741318] {
  font-size: 12px;
  color: #999;
  margin-bottom: 8px;
}
.intent-hint-list[data-v-f9741318] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.intent-hint-item[data-v-f9741318] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: #fafafa;
  border-radius: 8px;
  cursor: pointer;
  border-left: 3px solid;
  transition: all 0.2s ease;
}
.intent-hint-item[data-v-f9741318]:hover {
  background: #f0f5ff;
}
.hint-category[data-v-f9741318] {
  font-size: 11px;
  font-weight: 500;
  padding: 2px 6px;
  background: rgba(24, 144, 255, 0.1);
  border-radius: 4px;
}
.hint-question[data-v-f9741318] {
  font-size: 13px;
  color: #333;
}
.transfer-icon[data-v-f9741318] {
  margin-left: auto;
  font-size: 16px;
  color: #ff4d4f;
}
.intent-hint-item.transfer-item[data-v-f9741318] {
  background: rgba(255, 77, 79, 0.05);
}
.intent-hint-item.transfer-item[data-v-f9741318]:hover {
  background: rgba(255, 77, 79, 0.1);
}
/* ========== 过渡动画 ========== */
.expand-enter-active[data-v-f9741318],
.expand-leave-active[data-v-f9741318] {
  transition: all 0.3s ease;
  overflow: hidden;
}
.expand-enter-from[data-v-f9741318],
.expand-leave-to[data-v-f9741318] {
  opacity: 0;
  max-height: 0;
  padding-top: 0;
  padding-bottom: 0;
}
.expand-enter-to[data-v-f9741318],
.expand-leave-from[data-v-f9741318] {
  opacity: 1;
  max-height: 200px;
}
.fade-enter-active[data-v-f9741318],
.fade-leave-active[data-v-f9741318] {
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.fade-enter-from[data-v-f9741318],
.fade-leave-to[data-v-f9741318] {
  opacity: 0;
  transform: translateY(10px);
}
.fade-enter-to[data-v-f9741318],
.fade-leave-from[data-v-f9741318] {
  opacity: 1;
  transform: translateY(0);
}
/* ========== 增强的代码块样式 ========== */
.message-text pre[data-v-f9741318] {
  position: relative;
  background: linear-gradient(135deg, #1e1e1e 0%, #2d2d2d 100%);
  color: #d4d4d4;
  padding: 16px;
  border-radius: 10px;
  overflow-x: auto;
  margin: 14px 0;
  font-family: 'Fira Code', 'SF Mono', 'Consolas', monospace;
  font-size: 13px;
  line-height: 1.6;
}
.message-text pre[data-v-f9741318]::before {
  content: '';
  position: absolute;
  top: 8px;
  left: 12px;
  width: 8px;
  height: 8px;
  background: #ff5f56;
  border-radius: 50%;
  box-shadow: 14px 0 0 #ffbd2e, 28px 0 0 #27ca40;
}
.message-text pre code[data-v-f9741318] {
  background: none;
  padding: 0;
  color: #d4d4d4;
  font-size: 13px;
  border: none;
  margin-top: 12px;
  display: block;
}
/* 行内代码增强样式 */
.message-text code[data-v-f9741318]:not(pre code) {
  background: linear-gradient(135deg, rgba(24, 144, 255, 0.1) 0%, rgba(105, 192, 255, 0.1) 100%);
  padding: 3px 8px;
  border-radius: 4px;
  font-family: 'Fira Code', 'SF Mono', 'Consolas', monospace;
  font-size: 0.88em;
  color: #1890ff;
  border: 1px solid rgba(24, 144, 255, 0.2);
}

/* ========== 响应式适配 ========== */

/* 平板竖屏及以下 */
@media (max-width: 768px) {
.ai-cs-drawer .ant-drawer-content-wrapper {
    max-width: 100% !important;
}
.ai-cs-header {
    flex-wrap: wrap;
    gap: 4px;
}
.ai-cs-name {
    font-size: 15px;
}
.ai-cs-status {
    font-size: 12px;
    margin: 0;
}
.header-actions {
    gap: 4px;
}
.header-actions .ant-btn {
    padding: 4px 6px !important;
    font-size: 13px;
}
.welcome-message {
    padding: 32px 16px;
}
.welcome-icon {
    width: 72px;
    height: 72px;
    font-size: 36px;
    border-radius: 18px;
    margin-bottom: 16px;
}
.welcome-message h4 {
    font-size: 17px;
    margin-bottom: 8px;
}
.welcome-message p {
    font-size: 13px;
    margin-bottom: 20px;
}
.question-categories {
    grid-template-columns: 1fr;
    max-width: 100%;
    gap: 8px;
}
.question-card {
    padding: 10px;
    border-radius: 10px;
}
.question-card-header {
    margin-bottom: 8px;
}
.question-card-icon {
    width: 24px;
    height: 24px;
    border-radius: 6px;
    font-size: 12px;
}
.question-card-title {
    font-size: 12px;
}
.question-tag {
    padding: 4px 8px;
    font-size: 11px;
    height: 24px;
}
.ai-cs-messages {
    padding: 8px 4px 0 2px;
}
.message-content {
    max-width: 88%;
}
.message-text {
    padding: 8px 14px;
    font-size: 14px;
    border-radius: 16px;
}
.message-avatar {
    width: 32px;
    height: 32px;
    min-width: 32px;
}
.message-avatar .ant-avatar {
    width: 32px;
    height: 32px;
    font-size: 14px;
}
.ai-avatar-placeholder,
  .user-avatar-placeholder {
    font-size: 14px;
}
.message-time {
    font-size: 11px;
}
.message-action-btns {
    gap: 2px;
}
.message-action-btn {
    padding: 2px 6px;
    font-size: 11px;
}
.ai-cs-input-area {
    padding: 12px 12px;
    gap: 8px;
}
.input-field .ant-input {
    padding: 10px 16px;
    font-size: 14px;
    border-radius: 20px;
}
.send-btn,
  .voice-btn {
    width: 40px;
    height: 40px;
}
.send-btn .anticon,
  .voice-btn .anticon {
    font-size: 16px;
}

  /* 快捷问题标签 */
.question-tag {
    padding: 4px 10px;
    font-size: 12px;
}

  /* 建议列表 */
.suggestion-btn {
    padding: 6px 12px;
    font-size: 12px;
    border-radius: 14px;
}

  /* 来源引用卡片 */
.source-card {
    padding: 8px 12px;
}
.source-card-title {
    font-size: 12px;
}
.source-card-desc {
    font-size: 11px;
}

  /* 图片消息 */
.message-image {
    max-width: 200px;
    max-height: 150px;
}
.image-name {
    max-width: 200px;
    font-size: 11px;
}

  /* 语音消息 */
.audio-message {
    padding: 10px 12px;
    min-width: 140px;
}
.audio-player .anticon {
    font-size: 20px;
}
.audio-duration {
    font-size: 13px;
}

  /* Markdown 内容 */
.message-text h1 {
    font-size: 1.4em;
}
.message-text h2 {
    font-size: 1.3em;
}
.message-text h3 {
    font-size: 1.15em;
}
.message-text p {
    font-size: 13px;
    margin: 8px 0;
}
.message-text ul,
  .message-text ol {
    padding-left: 20px;
    margin: 10px 0;
}
.message-text pre {
    font-size: 12px;
    padding: 10px;
}
.message-text code {
    font-size: 0.85em;
    padding: 2px 6px;
}
}
@media (max-width: 480px) {
.ai-cs-drawer .ant-drawer-content-wrapper {
    max-width: 100% !important;
}
.ai-cs-header {
    padding: 8px 0;
}
.ai-cs-avatar {
    width: 28px;
    height: 28px;
    margin-right: 8px;
}
.ai-cs-name {
    font-size: 14px;
}
.welcome-message {
    padding: 24px 12px;
}
.welcome-icon {
    width: 60px;
    height: 60px;
    font-size: 30px;
    border-radius: 16px;
    margin-bottom: 12px;
}
.welcome-message h4 {
    font-size: 16px;
    margin-bottom: 6px;
}
.welcome-message p {
    font-size: 12px;
    margin-bottom: 16px;
}
.message-content {
    max-width: 92%;
}
.message-text {
    padding: 7px 12px;
    font-size: 13px;
    line-height: 1.6;
}
.message-avatar {
    width: 28px;
    height: 28px;
    min-width: 28px;
}
.message-avatar .ant-avatar {
    width: 28px;
    height: 28px;
    font-size: 12px;
}
.ai-avatar-placeholder,
  .user-avatar-placeholder {
    font-size: 12px;
}
.ai-cs-input-area {
    padding: 10px 8px;
    gap: 6px;
}
.input-field .ant-input {
    padding: 8px 14px;
    font-size: 13px;
}
.send-btn,
  .voice-btn {
    width: 36px;
    height: 36px;
}
.question-tag {
    padding: 4px 8px;
    font-size: 11px;
}
.suggestion-btn {
    padding: 5px 10px;
    font-size: 11px;
}
.message-image {
    max-width: 160px;
    max-height: 120px;
}
.audio-message {
    min-width: 120px;
    padding: 8px 10px;
}
.message-text pre {
    font-size: 11px;
    padding: 8px;
    overflow-x: auto;
}
}
.ai-cs-drawer .ant-drawer-content-wrapper {
  max-width: 100% !important;
}
.ai-cs-drawer .ant-drawer-content-wrapper .header-actions .ant-btn {
  padding: 4px 8px !important;
}
.app-header[data-v-8343eed1] {
  border: none !important;
  padding: 0 16px;
  height: 48px;
  line-height: 48px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  z-index: 1000;
  background: var(--header-background-color, var(--color-bg-container, #ffffff)) !important;
  color: var(--header-text-color, var(--color-text, #262626));
  transition: all 0.3s ease;
}
.app-header.fixed[data-v-8343eed1] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
}
.header-content[data-v-8343eed1] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  padding: 0 12px;
  position: relative;
}
/* 隐藏的菜单文字宽度测量元素 */
.menu-measure-span[data-v-8343eed1] {
  position: absolute;
  visibility: hidden;
  white-space: nowrap;
  font-size: 14px;
  font-weight: 400;
  pointer-events: none;
  z-index: -1;
}
.header-left[data-v-8343eed1] {
  display: flex;
  align-items: center;
}
.logo[data-v-8343eed1] {
  display: flex;
  align-items: center;
  cursor: pointer;
  transition: opacity 0.3s;
}
.logo[data-v-8343eed1]:hover {
  opacity: 0.8;
}
.logo-img[data-v-8343eed1] {
  border-radius: 6px;
  height: 28px;
  margin-right: 12px;
  fill: var(--header-text-color, var(--color-text, #262626));
  display: flex;
  align-items: center;
  justify-content: center;
}
.logo-text[data-v-8343eed1] {
  font-size: 18px;
  font-weight: 600;
  color: var(--header-text-color, var(--color-text, #262626));
  white-space: nowrap;
}
.header-menu[data-v-8343eed1] {
  flex: 1;
  margin: 0 24px;
  min-width: 0;
  overflow: hidden;
}
.header-nav-menu[data-v-8343eed1] {
  background: transparent;
  border-bottom: none;
  line-height: normal;
}
.header-nav-menu .ant-menu-item[data-v-8343eed1] {
  color: var(--header-text-color, var(--color-text, #262626)) !important;
  height: 48px;
  line-height: 48px;
  border-bottom: none;
  transition: all 0.3s;
}
.header-nav-menu .ant-menu-item[data-v-8343eed1]:hover {
  color: var(--header-text-hover, var(--header-menu-hover-color, var(--color-primary, #1890ff))) !important;
  background-color: var(--header-bg-hover, var(--header-menu-hover-bg, var(--color-primary-bg-hover, rgba(24, 144, 255, 0.1))));
}
.header-nav-menu .ant-menu-item-selected[data-v-8343eed1] {
  color: var(--header-text-selected, var(--header-menu-selected-color, var(--color-primary, #1890ff))) !important;
  background-color: var(--header-bg-selected, var(--header-menu-selected-bg, var(--color-primary-bg-selected, rgba(24, 144, 255, 0.15))));
}
.header-nav-menu .ant-menu-submenu-title[data-v-8343eed1] {
  color: var(--header-text-color, var(--color-text, #262626)) !important;
  height: 48px;
  line-height: 48px;
  border-bottom: none;
}
.header-nav-menu .ant-menu-submenu-title[data-v-8343eed1]:hover {
  color: var(--header-text-hover, var(--header-menu-hover-color, var(--color-primary, #1890ff))) !important;
  background-color: var(--header-bg-hover, var(--header-menu-hover-bg, var(--color-primary-bg-hover, rgba(24, 144, 255, 0.1))));
}
.header-nav-menu .ant-menu-submenu-popup[data-v-8343eed1] {
  background: var(--header-background-color, #ffffff) !important;
}
.header-right[data-v-8343eed1] {
  display: flex;
  align-items: center;
  gap: 16px;
}
.search-box[data-v-8343eed1] {
  margin-right: 8px;
}
.header-action[data-v-8343eed1] {
  color: var(--header-text-color, var(--color-text, #262626)) !important;
  border: none;
  background: transparent;
  transition: all 0.3s;
}
.header-action[data-v-8343eed1]:hover {
  color: var(--header-text-hover, var(--header-menu-hover-color, var(--color-primary, #1890ff))) !important;
  background: var(--header-bg-hover, var(--header-menu-hover-bg, rgba(24, 144, 255, 0.1))) !important;
}
.header-action.ant-btn-circle[data-v-8343eed1] {
  width: 38px;
  height: 38px;
  padding: 0;
}
.header-right .ant-dropdown-menu[data-v-8343eed1] {
  background: var(--header-background-color, #ffffff);
  border: 1px solid var(--color-border, #d9d9d9);
  min-width: 160px;
}
.header-right .ant-dropdown-menu-item[data-v-8343eed1] {
  color: var(--header-text-color, var(--color-text, #262626));
  white-space: nowrap;
}
.header-right .ant-dropdown-menu-item[data-v-8343eed1]:hover {
  background: var(--header-bg-hover, var(--header-menu-hover-bg, rgba(24, 144, 255, 0.1))) !important;
  color: var(--header-text-hover, var(--header-menu-hover-color, var(--color-primary, #1890ff)));
}
.header-right .ant-dropdown-menu-item:hover .anticon[data-v-8343eed1] {
  color: var(--header-text-hover, var(--header-menu-hover-color, var(--color-primary, #1890ff)));
}
/* 头部导航栏子菜单样式隔离 - 使用 header-nav-submenu class */
/* 子菜单弹出层容器 */
[data-v-8343eed1] .header-nav-menu .ant-menu-submenu-popup,[data-v-8343eed1] .header-nav-submenu .ant-menu-submenu-popup,[data-v-8343eed1] .header-nav-menu .ant-dropdown-menu,[data-v-8343eed1] .header-nav-submenu .ant-dropdown-menu {
  background: var(--header-background-color, var(--color-bg-container, #ffffff)) !important;
  border-radius: 8px;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
  border: 1px solid var(--color-border-secondary, #f0f0f0);
}
/* 子菜单内容区域 */
[data-v-8343eed1] .header-nav-menu .ant-menu-sub,[data-v-8343eed1] .header-nav-submenu .ant-menu-sub {
  background: transparent !important;
  border-radius: 0;
  box-shadow: none;
  border: none;
}
[data-v-8343eed1] .header-nav-menu .ant-menu-item,[data-v-8343eed1] .header-nav-menu .ant-menu-submenu-title,[data-v-8343eed1] .header-nav-submenu .ant-menu-item,[data-v-8343eed1] .header-nav-submenu .ant-menu-submenu-title {
  color: var(--header-text-color, var(--color-text, #262626)) !important;
}
[data-v-8343eed1] .header-nav-menu .ant-menu-item:hover,[data-v-8343eed1] .header-nav-menu .ant-menu-submenu-title:hover,[data-v-8343eed1] .header-nav-submenu .ant-menu-item:hover,[data-v-8343eed1] .header-nav-submenu .ant-menu-submenu-title:hover {
  color: var(--header-text-hover, var(--header-menu-hover-color, var(--color-primary, #1890ff))) !important;
  background-color: var(--header-bg-hover, var(--header-menu-hover-bg, var(--color-primary-bg-hover, rgba(24, 144, 255, 0.1)))) !important;
}
[data-v-8343eed1] .header-nav-menu .ant-menu-item-selected,[data-v-8343eed1] .header-nav-submenu .ant-menu-item-selected {
  color: var(--header-text-selected, var(--header-menu-selected-color, var(--color-primary, #1890ff))) !important;
  background-color: var(--header-bg-selected, var(--header-menu-selected-bg, var(--color-primary-bg-selected, rgba(24, 144, 255, 0.15)))) !important;
}
[data-v-8343eed1] .header-nav-menu .ant-menu-submenu-open > .ant-menu-submenu-title,[data-v-8343eed1] .header-nav-submenu .ant-menu-submenu-open > .ant-menu-submenu-title {
  color: var(--header-text-hover, var(--header-menu-hover-color, var(--color-primary, #1890ff))) !important;
}
[data-v-8343eed1] .header-nav-menu .ant-menu-submenu-arrow,[data-v-8343eed1] .header-nav-submenu .ant-menu-submenu-arrow {
  color: var(--header-text-color, var(--color-text, #262626)) !important;
}
[data-v-8343eed1] .header-nav-menu .ant-menu-submenu-arrow:hover,[data-v-8343eed1] .header-nav-submenu .ant-menu-submenu-arrow:hover {
  color: var(--header-text-hover, var(--header-menu-hover-color, var(--color-primary, #1890ff))) !important;
}
/* 更多菜单下拉样式 */
/* 直接针对更多菜单的第一层下拉菜单 */
.more-menus-submenu[data-v-8343eed1] {
  /* 第一层下拉菜单弹出层 */
  /* 弹出层内的菜单 */
  /* 菜单项 */
  /* 子菜单标题 */
  /* 菜单项悬停 */
  /* 子菜单标题悬停 */
  /* 子菜单箭头 */
  /* 子菜单箭头悬停 */
  /* 子菜单内容 */
  /* 子菜单中的菜单项 */
  /* 子菜单中的菜单项悬停 */
  /* 子菜单中的子菜单标题 */
  /* 子菜单中的子菜单标题悬停 */
}
.more-menus-submenu[data-v-8343eed1] .ant-menu-submenu-popup {
  background: var(--header-background-color, var(--color-bg-container, #ffffff)) !important;
  border-radius: 8px;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
  border: 1px solid var(--color-border-secondary, #f0f0f0);
}
.more-menus-submenu[data-v-8343eed1] .ant-menu-submenu-popup .ant-menu {
  background: var(--header-background-color, var(--color-bg-container, #ffffff)) !important;
}
.more-menus-submenu[data-v-8343eed1] .ant-menu-submenu-popup .ant-menu-item {
  color: var(--header-text-color, var(--color-text, #262626)) !important;
}
.more-menus-submenu[data-v-8343eed1] .ant-menu-submenu-popup .ant-menu-submenu-title {
  color: var(--header-text-color, var(--color-text, #262626)) !important;
}
.more-menus-submenu[data-v-8343eed1] .ant-menu-submenu-popup .ant-menu-item:hover {
  background: var(--header-bg-hover, var(--header-menu-hover-bg, var(--color-primary-bg-hover, rgba(24, 144, 255, 0.1)))) !important;
  color: var(--header-text-hover, var(--header-menu-hover-color, var(--color-primary, #1890ff))) !important;
}
.more-menus-submenu[data-v-8343eed1] .ant-menu-submenu-popup .ant-menu-submenu-title:hover {
  background: var(--header-bg-hover, var(--header-menu-hover-bg, var(--color-primary-bg-hover, rgba(24, 144, 255, 0.1)))) !important;
  color: var(--header-text-hover, var(--header-menu-hover-color, var(--color-primary, #1890ff))) !important;
}
.more-menus-submenu[data-v-8343eed1] .ant-menu-submenu-popup .ant-menu-submenu-arrow {
  color: var(--header-text-color, var(--color-text, #262626)) !important;
}
.more-menus-submenu[data-v-8343eed1] .ant-menu-submenu-popup .ant-menu-submenu-title:hover .ant-menu-submenu-arrow {
  color: var(--header-text-hover, var(--header-menu-hover-color, var(--color-primary, #1890ff))) !important;
}
.more-menus-submenu[data-v-8343eed1] .ant-menu-submenu-popup .ant-menu-sub {
  background: var(--header-background-color, var(--color-bg-container, #ffffff)) !important;
}
.more-menus-submenu[data-v-8343eed1] .ant-menu-submenu-popup .ant-menu-sub .ant-menu-item {
  color: var(--header-text-color, var(--color-text, #262626)) !important;
}
.more-menus-submenu[data-v-8343eed1] .ant-menu-submenu-popup .ant-menu-sub .ant-menu-item:hover {
  background: var(--header-bg-hover, var(--header-menu-hover-bg, var(--color-primary-bg-hover, rgba(24, 144, 255, 0.1)))) !important;
  color: var(--header-text-hover, var(--header-menu-hover-color, var(--color-primary, #1890ff))) !important;
}
.more-menus-submenu[data-v-8343eed1] .ant-menu-submenu-popup .ant-menu-sub .ant-menu-submenu-title {
  color: var(--header-text-color, var(--color-text, #262626)) !important;
}
.more-menus-submenu[data-v-8343eed1] .ant-menu-submenu-popup .ant-menu-sub .ant-menu-submenu-title:hover {
  background: var(--header-bg-hover, var(--header-menu-hover-bg, var(--color-primary-bg-hover, rgba(24, 144, 255, 0.1)))) !important;
  color: var(--header-text-hover, var(--header-menu-hover-color, var(--color-primary, #1890ff))) !important;
}
/* 利用SubMenuItem组件添加的popup-class-name属性，处理嵌套子菜单 */
[data-v-8343eed1] .header-nav-submenu-popup {
  /* 弹出层背景 */
  background: var(--header-background-color, var(--color-bg-container, #ffffff)) !important;
  border-radius: 8px;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
  border: 1px solid var(--color-border-secondary, #f0f0f0);
  /* 弹出层内的菜单 */
  /* 菜单项 */
  /* 子菜单标题 */
  /* 菜单项悬停 */
  /* 子菜单标题悬停 */
  /* 子菜单箭头 */
  /* 子菜单箭头悬停 */
  /* 子菜单内容 */
}
[data-v-8343eed1] .header-nav-submenu-popup .ant-menu {
  background: var(--header-background-color, var(--color-bg-container, #ffffff)) !important;
}
[data-v-8343eed1] .header-nav-submenu-popup .ant-menu-item {
  color: var(--header-text-color, var(--color-text, #262626)) !important;
}
[data-v-8343eed1] .header-nav-submenu-popup .ant-menu-submenu-title {
  color: var(--header-text-color, var(--color-text, #262626)) !important;
}
[data-v-8343eed1] .header-nav-submenu-popup .ant-menu-item:hover {
  background: var(--header-bg-hover, var(--header-menu-hover-bg, var(--color-primary-bg-hover, rgba(24, 144, 255, 0.1)))) !important;
  color: var(--header-text-hover, var(--header-menu-hover-color, var(--color-primary, #1890ff))) !important;
}
[data-v-8343eed1] .header-nav-submenu-popup .ant-menu-submenu-title:hover {
  background: var(--header-bg-hover, var(--header-menu-hover-bg, var(--color-primary-bg-hover, rgba(24, 144, 255, 0.1)))) !important;
  color: var(--header-text-hover, var(--header-menu-hover-color, var(--color-primary, #1890ff))) !important;
}
[data-v-8343eed1] .header-nav-submenu-popup .ant-menu-submenu-arrow {
  color: var(--header-text-color, var(--color-text, #262626)) !important;
}
[data-v-8343eed1] .header-nav-submenu-popup .ant-menu-submenu-title:hover .ant-menu-submenu-arrow {
  color: var(--header-text-hover, var(--header-menu-hover-color, var(--color-primary, #1890ff))) !important;
}
[data-v-8343eed1] .header-nav-submenu-popup .ant-menu-sub {
  background: var(--header-background-color, var(--color-bg-container, #ffffff)) !important;
}
/* 全局覆盖，确保优先级最高 */
.ant-menu-submenu-popup {
  background: var(--header-background-color, var(--color-bg-container, #ffffff)) !important;
}
.ant-menu-submenu-popup {
  background: var(--header-background-color, var(--color-bg-container, #ffffff)) !important;
}
.ant-menu-submenu-popup,.ant-menu-submenu-popup {
  color: var(--header-text-color, var(--color-text, #262626)) !important;
}
.ant-menu-submenu-popup,.ant-menu-submenu-popup {
  color: var(--header-text-hover, var(--header-menu-hover-color, var(--color-primary, #1890ff))) !important;
}
.language-btn[data-v-8343eed1] {
  min-width: 40px;
  height: 40px;
  padding: 0 8px;
}
.language-text[data-v-8343eed1] {
  font-size: 12px;
  font-weight: 600;
}
.language-btn[data-v-8343eed1]:hover {
  background: var(--header-bg-hover, var(--header-menu-hover-bg, rgba(24, 144, 255, 0.1))) !important;
  color: var(--header-text-hover, var(--header-menu-hover-color, var(--color-primary, #1890ff))) !important;
}
/* 消息通知徽标样式 */
[data-v-8343eed1] .notification-badge {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
[data-v-8343eed1] .notification-badge .ant-badge-count,[data-v-8343eed1] .alert-badge .ant-badge-count {
  position: absolute !important;
  top: -2px !important;
  right: -4px !important;
  height: 24px !important;
  line-height: 20px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  padding: 0 4px !important;
  min-width: 24px !important;
  transform: none !important;
  border-radius: 12px !important;
  background: #ef4444 !important;
  color: white !important;
  border: 1px solid white !important;
  box-shadow: 0 4px 12px rgba(239, 68, 68, 0.6) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
  animation: badge-pulse-8343eed1 2s infinite !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
@keyframes badge-pulse-8343eed1 {
0%,
  100% {
    transform: scale(1) !important;
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.6) !important;
    opacity: 1 !important;
}
50% {
    transform: scale(1.15) !important;
    box-shadow: 0 6px 16px rgba(239, 68, 68, 0.8) !important;
    opacity: 0.9 !important;
}
}
/* 覆盖 Ant Design 默认菜单样式 */
[data-v-8343eed1] .header-menu .ant-menu-light,[data-v-8343eed1] .header-menu .ant-menu-light .ant-menu {
  color: var(--header-text-color, #262626) !important;
  background: transparent !important;
}
[data-v-8343eed1] .header-menu .ant-menu-light .ant-menu-item,[data-v-8343eed1] .header-menu .ant-menu-light .ant-menu-submenu-title {
  color: var(--header-text-color, #262626) !important;
}
[data-v-8343eed1] .header-menu .ant-menu-light .ant-menu-item:hover,[data-v-8343eed1] .header-menu .ant-menu-light .ant-menu-submenu-title:hover {
  color: var(--header-text-hover, var(--header-menu-hover-color, var(--color-primary, #1890ff))) !important;
  background: var(--header-bg-hover, var(--header-menu-hover-bg, var(--color-primary-bg-hover, rgba(24, 144, 255, 0.1)))) !important;
}
[data-v-8343eed1] .header-menu .ant-menu-light .ant-menu-item-selected {
  color: var(--header-text-selected, var(--header-menu-selected-color, var(--color-primary, #1890ff))) !important;
  background: var(--header-bg-selected, var(--header-menu-selected-bg, var(--color-primary-bg-selected, rgba(24, 144, 255, 0.15)))) !important;
}
/* 移动端适配 */
@media (max-width: 768px) {
.app-header[data-v-8343eed1] {
    padding: 0 16px;
}
.logo-text[data-v-8343eed1] {
    display: none;
}
.search-box[data-v-8343eed1] {
    display: none;
}
.header-menu[data-v-8343eed1] {
    display: none;
}
.header-right[data-v-8343eed1] {
    gap: 0;
}
}
/* 移动端菜单按钮样式 */
.mobile-menu-btn[data-v-8343eed1] {
  color: var(--header-text-color, var(--color-text, #262626)) !important;
}
.mobile-menu-btn[data-v-8343eed1]:hover {
  background: var(--header-bg-hover, var(--header-menu-hover-bg, var(--color-primary-bg-hover, rgba(24, 144, 255, 0.1)))) !important;
  color: var(--header-text-hover, var(--header-menu-hover-color, var(--color-primary, #1890ff))) !important;
}
.mobile-menu-btn .anticon[data-v-8343eed1] {
  color: inherit;
}
/* 查看全部应用按钮样式 */
.view-all-apps-btn[data-v-8343eed1] {
  color: var(--color-primary, #1890ff) !important;
  background-color: var(--color-primary-bg-selected, rgba(24, 144, 255, 0.15)) !important;
  border-radius: 4px;
  margin-left: 8px;
}
.view-all-apps-btn[data-v-8343eed1]:hover {
  background-color: var(--color-primary-bg-hover, rgba(24, 144, 255, 0.25)) !important;
}
/* 全部应用抽屉样式 */
.all-apps-drawer[data-v-8343eed1] {
  z-index: 2000;
}
.drawer-menu-container[data-v-8343eed1] {
  padding: 8px 0;
}
.all-apps-drawer .ant-drawer-header[data-v-8343eed1] {
  border-bottom: 1px solid var(--color-border, #d9d9d9);
}
.all-apps-drawer .ant-drawer-title[data-v-8343eed1] {
  font-size: 16px;
  font-weight: 600;
  color: var(--header-text-color, var(--color-text, #262626));
}
.all-apps-drawer .ant-menu[data-v-8343eed1] {
  border-right: none;
}
.all-apps-drawer .ant-menu-item[data-v-8343eed1],
.all-apps-drawer .ant-menu-submenu-title[data-v-8343eed1] {
  color: var(--header-text-color, var(--color-text, #262626)) !important;
  height: 40px;
  line-height: 40px;
  margin: 4px 8px;
  border-radius: 6px;
}
.all-apps-drawer .ant-menu-item[data-v-8343eed1]:hover,
.all-apps-drawer .ant-menu-submenu-title[data-v-8343eed1]:hover {
  background-color: var(--color-primary-bg-hover, rgba(24, 144, 255, 0.1)) !important;
}
.all-apps-drawer .ant-menu-item-selected[data-v-8343eed1] {
  background-color: var(--color-primary-bg-selected, rgba(24, 144, 255, 0.15)) !important;
  color: var(--color-primary, #1890ff) !important;
}
.all-apps-drawer .ant-menu-submenu-open > .ant-menu-submenu-title[data-v-8343eed1] {
  color: var(--color-primary, #1890ff) !important;
}
.all-apps-drawer .ant-menu-submenu-arrow[data-v-8343eed1] {
  color: var(--header-text-color, var(--color-text, #262626));
}
.all-apps-drawer .ant-drawer-body[data-v-8343eed1] {
  padding: 0;
}
/* 主题配置抽屉样式 */
.theme-config-drawer[data-v-8343eed1] {
  z-index: 2001;
}
.theme-config-drawer .ant-drawer-header[data-v-8343eed1] {
  border-bottom: 1px solid var(--color-border, #d9d9d9);
}
.theme-config-drawer .ant-drawer-title[data-v-8343eed1] {
  font-size: 16px;
  font-weight: 600;
  color: var(--header-text-color, var(--color-text, #262626));
}
.theme-config-drawer .ant-drawer-body[data-v-8343eed1] {
  padding: 0;
}
.theme-config-content[data-v-8343eed1] {
  padding: 8px 0;
}
.theme-config-section[data-v-8343eed1] {
  margin-bottom: 24px;
}
.theme-config-section h3[data-v-8343eed1] {
  font-size: 14px;
  font-weight: 600;
  color: var(--header-text-color, var(--color-text, #262626));
  margin-bottom: 16px;
  padding-left: 8px;
  border-left: 3px solid var(--color-primary, #1890ff);
}
.preset-themes[data-v-8343eed1] {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  padding: 8px;
}
.preset-theme[data-v-8343eed1] {
  border: 2px solid var(--color-border, #d9d9d9);
  border-radius: 8px;
  padding: 12px;
  cursor: pointer;
  transition: all 0.3s;
  background: var(--header-background-color, #ffffff);
}
.preset-theme[data-v-8343eed1]:hover {
  border-color: var(--color-primary, #1890ff);
  box-shadow: 0 4px 12px rgba(24, 144, 255, 0.2);
}
.preset-theme.active[data-v-8343eed1] {
  border-color: var(--color-primary, #1890ff);
  background: var(--color-primary-bg-selected, rgba(24, 144, 255, 0.1));
}
.preset-preview[data-v-8343eed1] {
  display: flex;
  flex-direction: column;
  height: 60px;
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 8px;
}
.preset-header[data-v-8343eed1] {
  height: 16px;
  width: 100%;
}
.preset-body[data-v-8343eed1] {
  flex: 1;
  display: flex;
}
.preset-sidebar[data-v-8343eed1] {
  width: 40px;
  height: 100%;
}
.preset-content[data-v-8343eed1] {
  flex: 1;
  background: var(--color-fill-tertiary, #f5f5f5);
}
.preset-info[data-v-8343eed1] {
  text-align: center;
}
.preset-name[data-v-8343eed1] {
  font-size: 12px;
  font-weight: 600;
  color: var(--header-text-color, var(--color-text, #262626));
  margin-bottom: 4px;
}
.preset-description[data-v-8343eed1] {
  font-size: 10px;
  color: var(--color-text-secondary, #8c8c8c);
  line-height: 1.4;
}
.color-picker-container[data-v-8343eed1] {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 12px;
  padding: 8px;
}
.color-option[data-v-8343eed1] {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 8px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s;
  border: 2px solid transparent;
}
.color-option[data-v-8343eed1]:hover {
  background: var(--color-primary-bg-hover, rgba(24, 144, 255, 0.1));
}
.color-option.active[data-v-8343eed1] {
  border-color: var(--color-primary, #1890ff);
  background: var(--color-primary-bg-selected, rgba(24, 144, 255, 0.15));
}
.color-swatch[data-v-8343eed1] {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  margin-bottom: 8px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}
.color-label[data-v-8343eed1] {
  font-size: 12px;
  color: var(--header-text-color, var(--color-text, #262626));
  margin-bottom: 2px;
}
.color-hex[data-v-8343eed1] {
  font-size: 10px;
  color: var(--color-text-secondary, #8c8c8c);
  font-family: monospace;
}
.custom-color-section[data-v-8343eed1] {
  margin-top: 16px;
  padding: 12px;
  background: var(--color-fill-quaternary, #fafafa);
  border-radius: 8px;
}
.custom-color-header[data-v-8343eed1] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  font-size: 13px;
  color: var(--header-text-color, var(--color-text, #262626));
}
.custom-color-picker[data-v-8343eed1] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.color-input[data-v-8343eed1] {
  width: 48px;
  height: 32px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  padding: 2px;
}
.custom-color-preview[data-v-8343eed1] {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}
.custom-color-hex[data-v-8343eed1] {
  font-size: 12px;
  color: var(--color-text-secondary, #8c8c8c);
  font-family: monospace;
}
.advanced-settings[data-v-8343eed1] {
  padding: 8px;
}
.setting-item[data-v-8343eed1] {
  display: flex;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid var(--color-border, #d9d9d9);
}
.setting-item[data-v-8343eed1]:last-child {
  border-bottom: none;
}
.setting-label[data-v-8343eed1] {
  margin-left: 12px;
  font-size: 14px;
  color: var(--header-text-color, var(--color-text, #262626));
  display: flex;
  align-items: center;
  gap: 8px;
}
.exclusive-tag[data-v-8343eed1] {
  font-size: 10px;
  margin-left: 8px;
}
.tabs-config-section[data-v-8343eed1] {
  padding-left: 24px;
  margin-top: 8px;
}
.theme-config-footer[data-v-8343eed1] {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
}
/* 主题配置折叠面板样式 */
.theme-config-drawer .ant-collapse[data-v-8343eed1] {
  background: transparent;
  border: none;
}
.theme-config-drawer .ant-collapse-item[data-v-8343eed1] {
  border: 1px solid var(--color-border, #d9d9d9);
  border-radius: 8px !important;
  margin-bottom: 8px;
  overflow: hidden;
}
.theme-config-drawer .ant-collapse-header[data-v-8343eed1] {
  font-weight: 600;
  color: var(--header-text-color, var(--color-text, #262626)) !important;
  padding: 12px 16px !important;
}
.theme-config-drawer .ant-collapse-content[data-v-8343eed1] {
  border-top: 1px solid var(--color-border, #d9d9d9);
}
.theme-config-drawer .ant-collapse-content-box[data-v-8343eed1] {
  padding: 8px !important;
}
.app-breadcrumb[data-v-405a260a] {
  display: flex;
  align-items: center;
  padding: 8px 16px;
  background: var(--color-bg-container, #fff);
  border-bottom: 1px solid var(--color-border-light, #f0f0f0);
  gap: 4px;
  overflow: hidden;
}
/* 更多按钮 */
.app-breadcrumb__more[data-v-405a260a] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: var(--radius-sm, 2px);
  cursor: pointer;
  color: var(--color-text-secondary, #8c8c8c);
  transition: var(--transition-fast, all 0.2s ease);
  font-size: 12px;
}
.app-breadcrumb__more[data-v-405a260a]:hover {
  background: var(--color-neutral-100, #f3f4f6);
  color: var(--color-primary, #1677ff);
}
/* 链接样式 */
[data-v-405a260a] .breadcrumb-link {
  color: var(--color-text-secondary, #8c8c8c);
  transition: var(--transition-fast, all 0.2s ease);
}
[data-v-405a260a] .breadcrumb-link:hover {
  color: var(--color-primary, #1677ff);
}
/* 禁用态 */
[data-v-405a260a] .breadcrumb-disabled {
  cursor: not-allowed;
}
.breadcrumb-current[data-v-405a260a] {
  color: var(--color-text, rgba(0, 0, 0, 0.88));
  font-weight: 500;
}
/* 面包屑组件样式覆盖 */
[data-v-405a260a] .ant-breadcrumb {
  font-size: 14px;
  line-height: 1.5715;
  flex: 1;
  overflow: hidden;
  white-space: nowrap;
}
[data-v-405a260a] .ant-breadcrumb-link {
  color: var(--color-text-secondary, #8c8c8c);
  transition: var(--transition-fast, all 0.2s ease);
}
[data-v-405a260a] .ant-breadcrumb-separator {
  color: var(--color-text-quaternary, #d1d5db);
  margin: 0 6px;
}
[data-v-405a260a] .ant-breadcrumb > span:last-child .ant-breadcrumb-link {
  color: var(--color-text, #262626);
  font-weight: 500;
}
[data-v-405a260a] .ant-breadcrumb .anticon {
  font-size: 14px;
}
.app-breadcrumb + .app-tabs[data-v-405a260a] {
  border-top: none;
}
/* 移动端优化 */
@media (max-width: 768px) {
.app-breadcrumb[data-v-405a260a] {
    padding: 6px 12px;
}
[data-v-405a260a] .ant-breadcrumb {
    font-size: 13px;
}
}
/* ===== 分组标题 ===== */
.menu-group-header[data-v-55b2eebf] {
  padding: 10px 16px 4px 16px;
  user-select: none;
  cursor: default;
  pointer-events: none;
}
.menu-group-header.collapsed[data-v-55b2eebf] {
  padding: 8px 4px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.group-header-line[data-v-55b2eebf] {
  display: flex;
  align-items: center;
  gap: 10px;
}
.step-indicator[data-v-55b2eebf] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  font-size: 11px;
  font-weight: 700;
  background: rgba(255, 255, 255, 0.06);
  color: var(--sidebar-text-color, rgba(255, 255, 255, 0.35));
  border: 1.5px solid rgba(255, 255, 255, 0.12);
  flex-shrink: 0;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.step-indicator.active[data-v-55b2eebf] {
  background: var(--menu-hover-color, var(--color-primary, #1890ff));
  color: #fff;
  border-color: var(--menu-hover-color, var(--color-primary, #1890ff));
  box-shadow: 0 0 12px rgba(24, 144, 255, 0.4);
  animation: stepPulse-55b2eebf 2s infinite;
}
.step-indicator.completed[data-v-55b2eebf] {
  background: #52c41a;
  color: #fff;
  border-color: #52c41a;
  box-shadow: 0 0 8px rgba(82, 196, 26, 0.3);
}
.step-icon[data-v-55b2eebf] {
  font-size: 11px;
}
.group-title[data-v-55b2eebf] {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--sidebar-text-color, rgba(255, 255, 255, 0.45));
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color 0.3s;
}
.menu-group-header:not(.collapsed) .group-title[data-v-55b2eebf] {
  color: var(--sidebar-text-color, rgba(255, 255, 255, 0.65));
}
.group-header-desc[data-v-55b2eebf] {
  font-size: 11px;
  color: var(--sidebar-text-color, rgba(255, 255, 255, 0.28));
  margin-top: 2px;
  padding-left: 32px;
  line-height: 1.4;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.group-header-progress[data-v-55b2eebf] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 5px;
  padding-left: 32px;
}
.progress-bar[data-v-55b2eebf] {
  flex: 1;
  height: 3px;
  background: rgba(255, 255, 255, 0.06);
  border-radius: 2px;
  overflow: hidden;
}
.progress-fill[data-v-55b2eebf] {
  height: 100%;
  background: var(--menu-hover-color, var(--color-primary, #1890ff));
  border-radius: 2px;
  transition: width 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.progress-fill.complete[data-v-55b2eebf] {
  background: #52c41a;
}
.progress-text[data-v-55b2eebf] {
  font-size: 10px;
  color: var(--sidebar-text-color, rgba(255, 255, 255, 0.3));
  min-width: 30px;
  text-align: right;
}
@keyframes stepPulse-55b2eebf {
0%,
  100% {
    box-shadow: 0 0 8px rgba(24, 144, 255, 0.3);
}
50% {
    box-shadow: 0 0 16px rgba(24, 144, 255, 0.6);
}
}
/* ===== 分隔线 ===== */
.menu-divider[data-v-55b2eebf] {
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.15) 15%, rgba(255, 255, 255, 0.15) 85%, transparent 100%);
  margin: 4px 16px;
  pointer-events: none;
}
/* ===== RAW 模式菜单项（模拟 a-menu-item 样式） ===== */
.raw-menu-item[data-v-55b2eebf] {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 2px 8px;
  padding: 0 12px;
  height: 40px;
  border-radius: 8px;
  cursor: pointer;
  color: var(--sidebar-text-color, rgba(255, 255, 255, 0.75));
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}
.raw-menu-item[data-v-55b2eebf]:hover {
  background: var(--menu-hover-bg, rgba(24, 144, 255, 0.12));
  color: var(--menu-hover-color, var(--color-primary, #1890ff));
  transform: translateX(2px);
}
.raw-menu-item[data-v-55b2eebf]:hover::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--menu-hover-color, var(--color-primary, #1890ff));
  border-radius: 0 2px 2px 0;
}
.raw-menu-item-selected[data-v-55b2eebf] {
  background: var(--menu-selected-bg, var(--primary-color, #1890ff)) !important;
  color: var(--menu-selected-color, #fff) !important;
  font-weight: 500;
  box-shadow: 0 2px 8px rgba(24, 144, 255, 0.25);
}
.raw-menu-item-selected[data-v-55b2eebf]::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--menu-selected-bg, var(--primary-color, #1890ff));
  border-radius: 0 2px 2px 0;
}
.raw-menu-icon[data-v-55b2eebf] {
  font-size: 16px;
  flex-shrink: 0;
}
.menu-title[data-v-55b2eebf] {
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 14px;
}
.menu-badge[data-v-55b2eebf] {
  font-size: 10px;
  padding: 1px 6px;
  border-radius: 10px;
  background: rgba(255, 77, 79, 0.9);
  color: #fff;
  line-height: 16px;
  flex-shrink: 0;
}
.menu-tag[data-v-55b2eebf] {
  margin-left: auto;
  font-size: 10px;
  line-height: 16px;
  padding: 0 4px;
  border-radius: 3px;
}
/* ===== RAW 模式子菜单 ===== */
.raw-submenu-title[data-v-55b2eebf] {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 2px 8px;
  padding: 0 12px;
  height: 40px;
  border-radius: 8px;
  cursor: pointer;
  color: var(--sidebar-text-color, rgba(255, 255, 255, 0.75));
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
}
.raw-submenu-title[data-v-55b2eebf]:hover {
  background: var(--menu-hover-bg, rgba(24, 144, 255, 0.12));
  color: var(--menu-hover-color, var(--color-primary, #1890ff));
}
.raw-submenu-arrow[data-v-55b2eebf] {
  margin-left: auto;
  font-size: 10px;
  transition: transform 0.3s;
  color: var(--sidebar-text-color, rgba(255, 255, 255, 0.35));
}
.raw-submenu-open .raw-submenu-arrow[data-v-55b2eebf] {
  transform: rotate(90deg);
}
.raw-submenu-children[data-v-55b2eebf] {
  padding-left: 8px;
  overflow: hidden;
}
.submenu-slide-enter-active[data-v-55b2eebf],
.submenu-slide-leave-active[data-v-55b2eebf] {
  transition: all 0.25s ease;
  max-height: 500px;
}
.submenu-slide-enter-from[data-v-55b2eebf],
.submenu-slide-leave-to[data-v-55b2eebf] {
  max-height: 0;
  opacity: 0;
}
.app-sidebar[data-v-0f4b8584] {
  background: var(--sidebar-background-color, var(--color-bg-container)) !important;
  border-right: 1px solid var(--color-border, #d9d9d9);
  transition: all 0.3s cubic-bezier(0.2, 0, 0, 1);
  z-index: 999;
  position: fixed;
  top: 48px;
  left: 0;
  bottom: 0;
  height: calc(100vh - 48px);
  width: 200px;
  color: var(--sidebar-text-color, var(--color-text, #262626));
}
/* 拖拽调整宽度控制点样式 */
.resize-handle[data-v-0f4b8584] {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  cursor: col-resize;
  background: transparent;
  transition: background-color 0.2s ease;
  z-index: 1000;
}
.resize-handle[data-v-0f4b8584]:hover,
.resize-handle[data-v-0f4b8584]:focus {
  background: rgba(24, 144, 255, 0.3);
}
.resize-handle-dragging[data-v-0f4b8584] {
  background: #1890ff;
  box-shadow: 0 0 4px rgba(24, 144, 255, 0.5);
}
.resize-handle[data-v-0f4b8584]::before {
  content: '';
  position: absolute;
  top: 50%;
  right: -2px;
  width: 8px;
  height: 20px;
  transform: translateY(-50%);
  background: linear-gradient(to right, transparent 0%, transparent 30%, rgba(255, 255, 255, 0.3) 30%, rgba(255, 255, 255, 0.3) 70%, transparent 70%, transparent 100%);
  border-radius: 1px;
}
[data-v-0f4b8584] .ant-menu-inline-collapsed {
  width: 50px;
}
.sidebar-content[data-v-0f4b8584] {
  display: flex;
  flex-direction: column;
  height: 100%;
  position: relative;
}
.sidebar-menu[data-v-0f4b8584] {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 16px 0;
  /* 隐藏滚动条但保持滚动功能 */
  -ms-overflow-style: none;
  /* IE和Edge */
  scrollbar-width: none;
  /* Firefox */
}
/* 隐藏WebKit浏览器的滚动条 */
.sidebar-menu[data-v-0f4b8584]::-webkit-scrollbar {
  display: none;
}
.sidebar-menu[data-v-0f4b8584]::-webkit-scrollbar-track {
  display: none;
}
.sidebar-menu[data-v-0f4b8584]::-webkit-scrollbar-thumb {
  display: none;
}
/* 步骤向导菜单区域 */
.wizard-menu-section[data-v-0f4b8584] {
  padding: 0 0 8px 0;
}
.wizard-menu-section + .sidebar-nav-menu[data-v-0f4b8584] {
  border-top: 1px solid var(--sidebar-divider, rgba(255, 255, 255, 0.06));
  padding-top: 4px;
}
.sidebar-nav-menu[data-v-0f4b8584] {
  border: none;
  background: transparent;
}
/* 智能动态侧边栏样式 - 适配所有主题 */
/* 菜单项基础样式 */
.sidebar-nav-menu .ant-menu-item[data-v-0f4b8584],
.sidebar-nav-menu .ant-menu-submenu-title[data-v-0f4b8584] {
  margin: 2px 8px;
  border-radius: 8px;
  height: 40px;
  line-height: 40px;
  color: var(--sidebar-text-color, #ffffff) !important;
  display: flex;
  align-items: center;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}
.sidebar-nav-menu .ant-menu-item[data-v-0f4b8584]:hover,
.sidebar-nav-menu .ant-menu-submenu-title[data-v-0f4b8584]:hover {
  background: var(--sidebar-bg-hover, var(--menu-hover-bg, var(--color-primary-bg-hover, rgba(24, 144, 255, 0.15)))) !important;
  color: var(--sidebar-text-hover, var(--menu-hover-color, var(--color-primary, #1890ff))) !important;
  transform: translateX(2px);
  box-shadow: 0 2px 8px rgba(24, 144, 255, 0.2);
}
.sidebar-nav-menu .ant-menu-item[data-v-0f4b8584]:hover::before,
.sidebar-nav-menu .ant-menu-submenu-title[data-v-0f4b8584]:hover::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--menu-hover-color, var(--color-primary, #1890ff));
  border-radius: 0 2px 2px 0;
  animation: slideInLeft-0f4b8584 0.3s ease-out;
}
@keyframes slideInLeft-0f4b8584 {
from {
    transform: scaleY(0);
    opacity: 0;
}
to {
    transform: scaleY(1);
    opacity: 1;
}
}
.sidebar-nav-menu .ant-menu-item-selected[data-v-0f4b8584] {
  background: var(--sidebar-bg-selected, var(--menu-selected-bg, var(--primary-color, #1890ff))) !important;
  color: var(--sidebar-text-selected, var(--menu-selected-color, var(--primary-color-text, #ffffff))) !important;
  font-weight: 500;
  box-shadow: 0 2px 8px rgba(24, 144, 255, 0.3);
  transform: translateX(0);
  position: relative;
}
.sidebar-nav-menu .ant-menu-item-selected[data-v-0f4b8584]::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background-color: var(--sidebar-bg-selected, var(--menu-selected-bg, var(--primary-color, #1890ff))) !important;
  border-radius: 0 2px 2px 0;
}
.sidebar-nav-menu .ant-menu-item-selected[data-v-0f4b8584]::after {
  display: none;
}
/* 子菜单样式 */
.sidebar-nav-menu .ant-menu-submenu > .ant-menu[data-v-0f4b8584] {
  background: transparent;
  padding-left: 8px;
}
/* 移动端子菜单层级优化 - 增强缩进和视觉层级 */
@media (max-width: 768px) {
.sidebar-nav-menu .ant-menu-submenu > .ant-menu[data-v-0f4b8584] {
    padding-left: 12px;
    margin-left: 8px;
    border-left: 2px solid rgba(255, 255, 255, 0.1);
}
  /* 二级子菜单更深缩进 */
.sidebar-nav-menu .ant-menu-submenu > .ant-menu .ant-menu-submenu > .ant-menu[data-v-0f4b8584] {
    padding-left: 12px;
    margin-left: 8px;
    border-left-color: rgba(255, 255, 255, 0.06);
}
  /* 子菜单项透明度递减，增强层级感 */
.sidebar-nav-menu .ant-menu-submenu > .ant-menu > .ant-menu-item[data-v-0f4b8584],
  .sidebar-nav-menu .ant-menu-submenu > .ant-menu > .ant-menu-submenu > .ant-menu-submenu-title[data-v-0f4b8584] {
    opacity: 0.88;
    font-size: 14px;
}
.sidebar-nav-menu .ant-menu-submenu > .ant-menu .ant-menu-submenu > .ant-menu > .ant-menu-item[data-v-0f4b8584],
  .sidebar-nav-menu .ant-menu-submenu > .ant-menu .ant-menu-submenu > .ant-menu > .ant-menu-submenu > .ant-menu-submenu-title[data-v-0f4b8584] {
    opacity: 0.75;
    font-size: 13px;
}
  /* 子菜单展开箭头样式优化 */
.sidebar-nav-menu .ant-menu-submenu-arrow[data-v-0f4b8584] {
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.sidebar-nav-menu .ant-menu-submenu-open > .ant-menu-submenu-title .ant-menu-submenu-arrow[data-v-0f4b8584] {
    transform: rotate(90deg);
}
}
/* 收起状态样式 */
.app-sidebar.collapsed .sidebar-nav-menu[data-v-0f4b8584] {
  padding: 0 4px 16px 4px;
}
.app-sidebar.collapsed .sidebar-nav-menu .ant-menu-item[data-v-0f4b8584],
.app-sidebar.collapsed .sidebar-nav-menu .ant-menu-submenu-title[data-v-0f4b8584] {
  margin: 2px 4px;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding-inline: 0 !important;
}
.app-sidebar.collapsed .sidebar-nav-menu .ant-menu-submenu-title span[data-v-0f4b8584] {
  display: none;
}
/* 确保收起状态下的图标居中 */
.app-sidebar.collapsed .sidebar-nav-menu .ant-menu-item .anticon[data-v-0f4b8584],
.app-sidebar.collapsed .sidebar-nav-menu .ant-menu-submenu-title .anticon[data-v-0f4b8584] {
  margin: 0 auto !important;
  display: block !important;
}
/* 防止文字显示影响布局 */
.app-sidebar.collapsed .sidebar-nav-menu .ant-menu-item span[data-v-0f4b8584]:not(.anticon),
.app-sidebar.collapsed .sidebar-nav-menu .ant-menu-submenu-title span[data-v-0f4b8584]:not(.anticon) {
  display: none !important;
}
.ant-menu.ant-menu-dark[data-v-0f4b8584] {
  color: var(--sidebar-text-color) !important;
}
/* 底部区域样式 */
.sidebar-footer[data-v-0f4b8584] {
  padding: 4px 16px;
  border-top: 1px solid var(--color-border, #434343);
  background: var(--sidebar-background-color, var(--color-bg-container));
}
.collapse-btn-container[data-v-0f4b8584] {
  display: flex;
  justify-content: center;
}
.collapse-btn[data-v-0f4b8584] {
  width: 40px;
  height: 40px;
  color: var(--sidebar-text-color);
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}
.collapse-btn[data-v-0f4b8584]:hover {
  color: var(--sidebar-text-hover, var(--color-primary, #1890ff));
  background: var(--sidebar-bg-hover, var(--color-primary-bg-hover, rgba(24, 144, 255, 0.15)));
  transform: scale(1.05);
}
/* 移动端遮罩 */
.mobile-overlay[data-v-0f4b8584] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1000;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s cubic-bezier(0.2, 0, 0, 1);
}
.mobile-overlay.show[data-v-0f4b8584] {
  opacity: 1;
  pointer-events: auto;
}
/* 覆盖 Ant Design 默认菜单样式，确保颜色绑定到 sidebar-text-color */
[data-v-0f4b8584] .ant-menu-light,[data-v-0f4b8584] .ant-menu-light .ant-menu {
  color: var(--sidebar-text-color, #ffffff) !important;
  background: transparent !important;
}
[data-v-0f4b8584] .ant-menu-light .ant-menu-item,[data-v-0f4b8584] .ant-menu-light .ant-menu-submenu-title {
  color: var(--sidebar-text-color, #ffffff) !important;
}
[data-v-0f4b8584] .ant-menu-light .ant-menu-item:hover,[data-v-0f4b8584] .ant-menu-light .ant-menu-submenu-title:hover {
  color: var(--sidebar-text-hover, var(--menu-hover-color, var(--color-primary, #1890ff))) !important;
  background: var(--sidebar-bg-hover, var(--menu-hover-bg, var(--color-primary-bg-hover, rgba(24, 144, 255, 0.15)))) !important;
}
[data-v-0f4b8584] .ant-menu-light .ant-menu-item-selected {
  color: var(--sidebar-text-selected, var(--menu-selected-color, var(--primary-color-text, #ffffff))) !important;
  background: var(--sidebar-bg-selected, var(--menu-selected-bg, var(--primary-color, #1890ff))) !important;
}
/* 触摸手势滑动提示 */
.sidebar-swipe-indicator[data-v-0f4b8584] {
  position: fixed;
  top: 50%;
  left: 10px;
  transform: translateY(-50%);
  width: 4px;
  height: 60px;
  background: rgba(255, 255, 255, 0.3);
  border-radius: 2px;
  z-index: 1002;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.sidebar-swipe-indicator.active[data-v-0f4b8584] {
  opacity: 1;
  animation: pulse-0f4b8584 1.5s infinite;
}
@keyframes pulse-0f4b8584 {
0%,
  100% {
    transform: translateY(-50%) scale(1);
    opacity: 0.7;
}
50% {
    transform: translateY(-50%) scale(1.1);
    opacity: 1;
}
}
/* 响应式设计 */
@media (max-width: 768px) {
.app-sidebar[data-v-0f4b8584] {
    position: fixed;
    top: 48px;
    left: -280px;
    width: 280px;
    height: calc(100vh - 48px);
    z-index: 1001;
    transition: left 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 4px 0 12px rgba(0, 0, 0, 0.15);
    transform: translateZ(0);
    /* 强制硬件加速 */
}
.app-sidebar.mobile-open[data-v-0f4b8584] {
    left: 0;
}
.sidebar-menu[data-v-0f4b8584] {
    padding: 12px 0;
}
.sidebar-nav-menu .ant-menu-item[data-v-0f4b8584],
  .sidebar-nav-menu .ant-menu-submenu-title[data-v-0f4b8584] {
    margin: 1px 12px;
    height: 44px;
    line-height: 44px;
    font-size: 15px;
    border-radius: 8px;
    transition: all 0.2s ease;
}
  /* 移动端激活菜单项样式 */
.sidebar-nav-menu .ant-menu-item-selected[data-v-0f4b8584] {
    background: var(--color-primary, #1890ff) !important;
    color: #fff !important;
    font-weight: 500;
    box-shadow: 0 2px 8px rgba(24, 144, 255, 0.3);
}
  /* 移动端子菜单展开状态 */
.sidebar-nav-menu .ant-menu-submenu-open > .ant-menu-submenu-title[data-v-0f4b8584] {
    color: var(--color-primary, #1890ff) !important;
    background: rgba(24, 144, 255, 0.08) !important;
}
  /* 移动端菜单项点击反馈 */
.sidebar-nav-menu .ant-menu-item[data-v-0f4b8584]:active,
  .sidebar-nav-menu .ant-menu-submenu-title[data-v-0f4b8584]:active {
    transform: scale(0.98);
    transition: transform 0.1s ease;
}
.sidebar-footer[data-v-0f4b8584] {
    padding: 12px;
}
.collapse-btn[data-v-0f4b8584] {
    width: 44px;
    height: 44px;
}
  /* 移动端侧边栏遮罩 */
.mobile-overlay[data-v-0f4b8584] {
    z-index: 1000;
}
}
@media (min-width: 769px) and (max-width: 1024px) {
.app-sidebar[data-v-0f4b8584] {
    width: 220px;
}
.app-sidebar.collapsed[data-v-0f4b8584] {
    width: 64px;
}
.sidebar-menu[data-v-0f4b8584] {
    padding: 14px 0;
}
.sidebar-nav-menu .ant-menu-item[data-v-0f4b8584],
  .sidebar-nav-menu .ant-menu-submenu-title[data-v-0f4b8584] {
    margin: 2px 6px;
    height: 38px;
    line-height: 38px;
}
.collapse-btn[data-v-0f4b8584] {
    width: 36px;
    height: 36px;
}
}
/* 触摸设备优化 */
@media (hover: none) and (pointer: coarse) {
.sidebar-nav-menu .ant-menu-item[data-v-0f4b8584],
  .sidebar-nav-menu .ant-menu-submenu-title[data-v-0f4b8584] {
    min-height: 48px;
    padding: 0 12px;
    margin: 2px 8px;
    border-radius: 8px;
}
.collapse-btn[data-v-0f4b8584] {
    width: 48px;
    height: 48px;
    border-radius: 8px;
}
.collapse-btn[data-v-0f4b8584]:active {
    transform: scale(0.95);
    background: #262626;
}
  /* 触摸设备上的菜单项激活状态 */
.sidebar-nav-menu .ant-menu-item[data-v-0f4b8584]:active,
  .sidebar-nav-menu .ant-menu-submenu-title[data-v-0f4b8584]:active {
    background: #262626;
    transform: scale(0.98);
}
}
/* 高分辨率屏幕优化 */
@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) {
.app-sidebar[data-v-0f4b8584] {
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.05);
}
.sidebar-nav-menu .ant-menu-item[data-v-0f4b8584],
  .sidebar-nav-menu .ant-menu-submenu-title[data-v-0f4b8584] {
    border-radius: 6px;
}
}
/* 平板设备优化 */
@media (min-width: 769px) and (max-width: 1024px) {
.app-sidebar[data-v-0f4b8584] {
    width: 220px;
}
.app-sidebar.collapsed[data-v-0f4b8584] {
    width: 64px;
}
.sidebar-menu[data-v-0f4b8584] {
    padding: 14px 0;
}
.sidebar-nav-menu .ant-menu-item[data-v-0f4b8584],
  .sidebar-nav-menu .ant-menu-submenu-title[data-v-0f4b8584] {
    margin: 2px 6px;
    height: 38px;
    line-height: 38px;
}
.collapse-btn[data-v-0f4b8584] {
    width: 36px;
    height: 36px;
}
}
/* 超小屏幕优化 */
@media (max-width: 480px) {
.app-sidebar[data-v-0f4b8584] {
    width: 300px;
    left: -260px;
}
.sidebar-nav-menu .ant-menu-item[data-v-0f4b8584],
  .sidebar-nav-menu .ant-menu-submenu-title[data-v-0f4b8584] {
    height: 46px;
    line-height: 46px;
    font-size: 16px;
    padding: 0 16px;
    margin: 2px 12px;
    border-radius: 10px;
}
  /* 超小屏幕子菜单缩进 */
.sidebar-nav-menu .ant-menu-submenu > .ant-menu[data-v-0f4b8584] {
    margin-left: 12px;
    padding-left: 12px;
}
.sidebar-footer[data-v-0f4b8584] {
    padding: 12px;
}
}
/* 横屏模式优化 */
@media (max-height: 500px) and (orientation: landscape) {
.sidebar-menu[data-v-0f4b8584] {
    padding: 8px 0;
}
.sidebar-nav-menu .ant-menu-item[data-v-0f4b8584],
  .sidebar-nav-menu .ant-menu-submenu-title[data-v-0f4b8584] {
    height: 36px;
    line-height: 36px;
}
.sidebar-footer[data-v-0f4b8584] {
    padding: 8px;
}
.collapse-btn[data-v-0f4b8584] {
    width: 36px;
    height: 36px;
}
}
/* 深色主题优化 */
[data-v-0f4b8584] .ant-menu-dark {
  background: transparent;
}
[data-v-0f4b8584] .ant-menu-dark .ant-menu-item-selected {
  background-color: var(--sidebar-bg-selected, var(--primary-color, #1890ff)) !important;
}
[data-v-0f4b8584] .ant-menu-dark .ant-menu-item:hover {
  background-color: var(--sidebar-bg-hover, var(--color-primary-bg-hover, rgba(24, 144, 255, 0.15))) !important;
}
[data-v-0f4b8584] .ant-menu-dark .ant-menu-submenu-title:hover {
  background-color: var(--sidebar-bg-hover, var(--color-primary-bg-hover, rgba(24, 144, 255, 0.15))) !important;
}
[data-v-0f4b8584] .ant-menu-dark .ant-menu-submenu > .ant-menu {
  background: transparent;
}
/* 可访问性样式 */
/* 屏幕阅读器专用内容 */
.sr-only[data-v-0f4b8584] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
/* 跳转到主内容链接样式 */
.skip-to-content-link[data-v-0f4b8584] {
  position: absolute;
  top: 0;
  left: 0;
  background: #1890ff;
  color: white;
  padding: 8px 16px;
  z-index: 10000;
  transform: translateY(-100%);
  transition: transform 0.2s;
  text-decoration: none;
  font-weight: 500;
  border-radius: 0 0 4px 4px;
}
.skip-to-content-link[data-v-0f4b8584]:focus {
  transform: translateY(0);
}
/* 焦点可见性 */
[data-v-0f4b8584]:focus-visible {
  outline: 2px solid #1890ff !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
}
/* 键盘导航优化 */
.keyboard-nav-active .ant-menu-item[data-v-0f4b8584],
.keyboard-nav-active .ant-menu-submenu-title[data-v-0f4b8584] {
  transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
}
/* 高对比度模式 */
.high-contrast-mode[data-v-0f4b8584] {
  --sidebar-bg: #000000;
  --sidebar-border: #ffffff;
  --menu-hover-bg: #ffffff;
  --menu-hover-color: #000000;
  --menu-selected-bg: #ffff00;
  --menu-selected-color: #000000;
  --menu-text-color: #ffffff;
}
.high-contrast-mode .app-sidebar[data-v-0f4b8584] {
  background: var(--sidebar-bg);
  border-color: var(--sidebar-border);
}
.high-contrast-mode .sidebar-nav-menu .ant-menu-item[data-v-0f4b8584],
.high-contrast-mode .sidebar-nav-menu .ant-menu-submenu-title[data-v-0f4b8584] {
  color: var(--menu-text-color) !important;
}
.high-contrast-mode .sidebar-nav-menu .ant-menu-item[data-v-0f4b8584]:hover,
.high-contrast-mode .sidebar-nav-menu .ant-menu-submenu-title[data-v-0f4b8584]:hover {
  background: var(--menu-hover-bg) !important;
  color: var(--menu-hover-color) !important;
}
.high-contrast-mode .sidebar-nav-menu .ant-menu-item-selected[data-v-0f4b8584] {
  background: var(--menu-selected-bg) !important;
  color: var(--menu-selected-color) !important;
  font-weight: bold;
}
/* 减少动画模式 */
.reduced-motion[data-v-0f4b8584] * {
  animation-duration: 0.01ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.01ms !important;
  scroll-behavior: auto !important;
}
/* 触摸设备优化 */
.touch-device .sidebar-nav-menu .ant-menu-item[data-v-0f4b8584],
.touch-device .sidebar-nav-menu .ant-menu-submenu-title[data-v-0f4b8584] {
  min-height: 48px;
  padding: 0 16px;
  margin: 4px 12px;
  border-radius: 8px;
}
.touch-device .collapse-btn[data-v-0f4b8584] {
  width: 48px;
  height: 48px;
  border-radius: 8px;
}
.touch-device .collapse-btn[data-v-0f4b8584]:active {
  transform: scale(0.95);
  background: #262626;
}
/* 菜单项状态优化 */
.sidebar-nav-menu .ant-menu-item[data-v-0f4b8584]:focus-visible,
.sidebar-nav-menu .ant-menu-submenu-title[data-v-0f4b8584]:focus-visible {
  outline: 2px solid #1890ff;
  outline-offset: -2px;
}
/* 移动端菜单优化 */
@media (max-width: 768px) {
.mobile-menu[data-v-0f4b8584] {
    width: 100vw;
    max-width: 320px;
    height: 100vh;
    left: 0;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.mobile-menu.collapsed[data-v-0f4b8584] {
    transform: translateX(-100%);
}
.mobile-menu[data-v-0f4b8584]:not(.collapsed) {
    transform: translateX(0);
}
}
.app-footer[data-v-db516041] {
  background: var(--color-bg-container);
  border-top: 1px solid var(--color-border);
  padding: 0;
  height: 22px;
  line-height: 22px;
  color: var(--color-text-secondary);
  transition: all 0.3s;
}
.app-footer.fixed[data-v-db516041] {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 999;
}
.footer-content[data-v-db516041] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  padding: 0 24px;
}
@media (max-width: 768px) {
.footer-content[data-v-db516041] {
    padding: 0 16px;
}
}
.footer-left[data-v-db516041] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.footer-left .copyright[data-v-db516041] {
  font-size: 12px;
}
.footer-left .version[data-v-db516041] {
  font-size: 10px;
  color: var(--color-text-disabled);
  background: var(--color-bg-container-hover);
  padding: 1px 6px;
  border-radius: 4px;
}
.footer-right a[data-v-db516041] {
  color: var(--color-text-secondary);
  transition: color 0.3s;
}
.footer-right a[data-v-db516041]:hover {
  color: var(--color-primary);
}
/* 移动端适配 */
@media (max-width: 768px) {
.app-footer .footer-content[data-v-db516041] {
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    height: auto;
    padding: 6px 16px;
    line-height: 1.5;
}
.app-footer .footer-left[data-v-db516041] {
    flex-direction: column;
    gap: 1px;
}
.app-footer .footer-left .copyright[data-v-db516041] {
    font-size: 10px;
}
.app-footer .footer-left .version[data-v-db516041] {
    font-size: 9px;
}
.app-footer .footer-right .ant-space[data-v-db516041] {
    gap: 10px;
}
}
@media (max-width: 480px) {
.app-footer .footer-right .ant-space[data-v-db516041] {
    gap: 8px;
}
.app-footer .footer-right a[data-v-db516041] {
    font-size: 12px;
}
}
.tabs-container[data-v-19642034] {
  background: var(--color-bg-container);
  border-bottom: 1px solid var(--color-border);
  position: relative;
  z-index: 10;
}
.dark {
  background: #141414;
  border-bottom-color: #434343;
}
.app-tabs[data-v-19642034] {
  margin: 0;
}
.app-tabs[data-v-19642034] .ant-tabs-tab {
  background: transparent;
  border: 1px solid transparent;
  border-bottom: none;
  margin-right: 2px;
  border-radius: 4px 4px 0 0;
  padding: 8px 12px;
  font-size: 14px;
  color: var(--color-text-secondary);
  transition: all 0.3s;
}
.dark {
  color: #bfbfbf;
}
.app-tabs[data-v-19642034] .ant-tabs-tab:hover {
  color: var(--color-primary);
  background: var(--color-bg-container-hover);
}
.dark {
  background: #262626;
  color: #ffffff;
}
.app-tabs[data-v-19642034] .ant-tabs-tab-active {
  color: var(--color-primary);
  background: var(--color-bg-layout);
  border-color: var(--color-border);
  border-bottom-color: var(--color-bg-layout);
}
.dark {
  color: #ffffff;
  background: #1f1f1f;
  border-color: #434343;
  border-bottom-color: #1f1f1f;
}
.app-tabs[data-v-19642034] .ant-tabs-ink-bar {
  background: var(--color-primary);
  height: 2px;
}
.app-tabs[data-v-19642034] .ant-tabs-nav {
  margin: 0;
}
.app-tabs[data-v-19642034] .ant-tabs-content-holder {
  display: none;
}
/* 拖拽相关样式 */
.app-tabs.tabs-dragging[data-v-19642034] .ant-tabs-tab {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.tab-pane[data-v-19642034] {
  transition: all 0.2s ease;
  position: relative;
}
.tab-pane.tab-dragging[data-v-19642034] {
  opacity: 0.5;
  transform: scale(0.95);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.tab-pane.tab-drop-target[data-v-19642034] {
  border-left: 3px solid var(--color-primary);
  padding-left: 9px;
  background: var(--color-primary-bg);
}
.dark {
  background: rgba(22, 119, 255, 0.2);
}
.tab-content-wrapper[data-v-19642034] {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 2px 0;
  cursor: grab;
  user-select: none;
}
.tab-content-wrapper[data-v-19642034]:active {
  cursor: grabbing;
}
.tab-content-wrapper.drag-over[data-v-19642034] {
  background: var(--color-primary-bg);
  border-radius: 4px;
  padding: 2px 6px;
  margin: -2px -6px;
}
.dark {
  background: rgba(22, 119, 255, 0.2);
}
/* 拖拽排序提示 */
.tab-pane[data-v-19642034]::before {
  content: '';
  position: absolute;
  left: -1px;
  top: 50%;
  transform: translateY(-50%);
  width: 2px;
  height: 0;
  background: var(--color-primary);
  transition: height 0.2s ease;
}
.tab-pane.tab-drop-target[data-v-19642034]::before {
  height: 60%;
}
.tab-title-wrapper[data-v-19642034] {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
}
.tab-icon[data-v-19642034] {
  font-size: 12px;
  width: 14px;
  height: 14px;
}
.tab-title[data-v-19642034] {
  max-width: 120px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.new-tab-indicator[data-v-19642034] {
  color: var(--color-primary);
  font-weight: bold;
  margin-left: 2px;
}
.tab-close-btn[data-v-19642034] {
  margin-left: 4px;
  width: 16px;
  height: 16px;
  line-height: 14px;
  text-align: center;
  border-radius: 2px;
  cursor: pointer;
  font-size: 14px;
  color: var(--color-text-secondary);
  transition: all 0.3s;
}
.tab-close-btn[data-v-19642034]:hover {
  background: var(--color-error-bg);
  color: var(--color-error);
}
.more-tabs-btn[data-v-19642034] {
  margin: 8px 8px 8px 0;
  color: var(--color-text-secondary);
}
.more-tabs-btn[data-v-19642034]:hover {
  color: var(--color-primary);
}
/* 暗黑主题特殊处理 */
.dark {
  background: #262626;
  color: #ff4d4f;
}
/* 响应式设计 */
@media (max-width: 768px) {
.tab-title[data-v-19642034] {
    max-width: 80px;
}
.app-tabs[data-v-19642034] .ant-tabs-tab {
    padding: 6px 8px;
    font-size: 12px;
}
}
.context-menu-overlay[data-v-19642034] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
}
.context-menu[data-v-19642034] {
  position: fixed;
  z-index: 10000;
  box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);
  border-radius: 4px;
}
.dark {
  background: #1f1f1f;
  border-color: #434343;
}
.dark {
  color: #bfbfbf;
}
.dark {
  background: #262626;
  color: #ffffff;
}
.dark {
  border-color: #434343;
}
.notification-toast-container[data-v-0571a5e9] {
  position: fixed;
  top: calc(var(--header-height, 64px) + 16px);
  right: var(--spacing-6);
  z-index: var(--z-index-toast);
  display: flex;
  flex-direction: column;
  gap: var(--spacing-3);
  pointer-events: none;
  max-width: 400px;
}
.notification-toast[data-v-0571a5e9] {
  display: flex;
  align-items: flex-start;
  padding: var(--spacing-4);
  background: linear-gradient(135deg, var(--color-neutral-0) 0%, var(--color-neutral-50) 100%);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-lg), 0 4px 16px rgba(0, 0, 0, 0.08);
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  border: 1px solid var(--color-neutral-100);
  border-left: 4px solid transparent;
  pointer-events: auto;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  min-height: 72px;
  position: relative;
  overflow: hidden;
}
.notification-toast[data-v-0571a5e9]::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--color-primary-200), transparent);
  opacity: 0;
  transition: opacity 0.3s ease;
}
.notification-toast[data-v-0571a5e9]:hover::before {
  opacity: 1;
}
/* 不同类型的通知样式 */
.notification-toast.type-success[data-v-0571a5e9] {
  border-left-color: var(--color-success-500);
  background: linear-gradient(135deg, var(--color-success-50) 0%, var(--color-neutral-0) 100%);
  box-shadow: var(--shadow-colored-success), 0 4px 16px rgba(16, 185, 129, 0.12);
}
.notification-toast.type-warning[data-v-0571a5e9] {
  border-left-color: var(--color-warning-500);
  background: linear-gradient(135deg, var(--color-warning-50) 0%, var(--color-neutral-0) 100%);
  box-shadow: var(--shadow-colored-warning), 0 4px 16px rgba(245, 158, 11, 0.12);
}
.notification-toast.type-error[data-v-0571a5e9] {
  border-left-color: var(--color-error-500);
  background: linear-gradient(135deg, var(--color-error-50) 0%, var(--color-neutral-0) 100%);
  box-shadow: var(--shadow-colored-error), 0 4px 16px rgba(239, 68, 68, 0.12);
}
.notification-toast.type-info[data-v-0571a5e9] {
  border-left-color: var(--color-info-500);
  background: linear-gradient(135deg, var(--color-info-50) 0%, var(--color-neutral-0) 100%);
  box-shadow: var(--shadow-colored-info), 0 4px 16px rgba(14, 165, 233, 0.12);
}
.notification-toast.type-message[data-v-0571a5e9] {
  border-left-color: var(--color-primary-600);
  background: linear-gradient(135deg, var(--color-primary-50) 0%, var(--color-neutral-0) 100%);
  box-shadow: 0 4px 16px rgba(99, 102, 241, 0.15), 0 2px 8px rgba(99, 102, 241, 0.1);
}
.notification-toast.type-reminder[data-v-0571a5e9] {
  border-left-color: var(--color-warning-500);
  background: linear-gradient(135deg, var(--color-warning-50) 0%, var(--color-neutral-0) 100%);
  box-shadow: 0 4px 16px rgba(245, 158, 11, 0.15), 0 2px 8px rgba(245, 158, 11, 0.1);
}
.notification-toast.type-system[data-v-0571a5e9] {
  border-left-color: var(--color-info-400);
  background: linear-gradient(135deg, var(--color-info-50) 0%, var(--color-neutral-0) 100%);
  box-shadow: 0 4px 16px rgba(14, 165, 233, 0.12), 0 2px 8px rgba(14, 165, 233, 0.08);
}
/* 通知悬停效果 */
.notification-toast[data-v-0571a5e9]:hover {
  transform: translateY(-4px) translateX(-4px);
  box-shadow: var(--shadow-xl), 0 8px 24px rgba(0, 0, 0, 0.14);
  border-color: var(--color-primary-200);
}
/* 进入动画 */
.toast-enter[data-v-0571a5e9] {
  animation: toastSlideIn-0571a5e9 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
/* 离开动画 */
.toast-leave[data-v-0571a5e9] {
  animation: toastSlideOut-0571a5e9 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  opacity: 0;
  transform: translateY(-20px) scale(0.95);
}
/* 动画定义 */
@keyframes toastSlideIn-0571a5e9 {
from {
    opacity: 0;
    transform: translateX(100%) translateY(-20px);
    scale: 0.9;
}
to {
    opacity: 1;
    transform: translateX(0) translateY(0);
    scale: 1;
}
}
@keyframes toastSlideOut-0571a5e9 {
from {
    opacity: 1;
    transform: translateX(0) translateY(0) scale(1);
}
to {
    opacity: 0;
    transform: translateX(100%) translateY(-20px) scale(0.9);
}
}
/* 通知图标 */
.toast-icon[data-v-0571a5e9] {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--icon-size-md);
  flex-shrink: 0;
  margin-right: var(--spacing-4);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
}
.toast-icon[data-v-0571a5e9]::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.notification-toast:hover .toast-icon[data-v-0571a5e9] {
  transform: scale(1.1);
}
.notification-toast:hover .toast-icon[data-v-0571a5e9]::before {
  opacity: 1;
}
.notification-toast.type-success .toast-icon[data-v-0571a5e9] {
  background: linear-gradient(135deg, var(--color-success-100) 0%, var(--color-success-50) 100%);
  color: var(--color-success-500);
  box-shadow: var(--shadow-colored-success);
}
.notification-toast.type-success .toast-icon[data-v-0571a5e9]::before {
  background: radial-gradient(circle at 30% 30%, rgba(16, 185, 129, 0.3) 0%, transparent 60%);
}
.notification-toast.type-warning .toast-icon[data-v-0571a5e9] {
  background: linear-gradient(135deg, var(--color-warning-100) 0%, var(--color-warning-50) 100%);
  color: var(--color-warning-500);
  box-shadow: var(--shadow-colored-warning);
}
.notification-toast.type-warning .toast-icon[data-v-0571a5e9]::before {
  background: radial-gradient(circle at 30% 30%, rgba(245, 158, 11, 0.3) 0%, transparent 60%);
}
.notification-toast.type-error .toast-icon[data-v-0571a5e9] {
  background: linear-gradient(135deg, var(--color-error-100) 0%, var(--color-error-50) 100%);
  color: var(--color-error-500);
  box-shadow: var(--shadow-colored-error);
}
.notification-toast.type-error .toast-icon[data-v-0571a5e9]::before {
  background: radial-gradient(circle at 30% 30%, rgba(239, 68, 68, 0.3) 0%, transparent 60%);
}
.notification-toast.type-info .toast-icon[data-v-0571a5e9] {
  background: linear-gradient(135deg, var(--color-info-100) 0%, var(--color-info-50) 100%);
  color: var(--color-info-500);
  box-shadow: var(--shadow-colored-info);
}
.notification-toast.type-info .toast-icon[data-v-0571a5e9]::before {
  background: radial-gradient(circle at 30% 30%, rgba(14, 165, 233, 0.3) 0%, transparent 60%);
}
.notification-toast.type-message .toast-icon[data-v-0571a5e9] {
  background: linear-gradient(135deg, var(--color-primary-100) 0%, var(--color-primary-50) 100%);
  color: var(--color-primary-600);
  box-shadow: var(--shadow-colored-primary);
}
.notification-toast.type-message .toast-icon[data-v-0571a5e9]::before {
  background: radial-gradient(circle at 30% 30%, rgba(99, 102, 241, 0.3) 0%, transparent 60%);
}
.notification-toast.type-reminder .toast-icon[data-v-0571a5e9] {
  background: linear-gradient(135deg, var(--color-warning-100) 0%, var(--color-warning-50) 100%);
  color: var(--color-warning-600);
  box-shadow: var(--shadow-colored-warning);
}
.notification-toast.type-reminder .toast-icon[data-v-0571a5e9]::before {
  background: radial-gradient(circle at 30% 30%, rgba(245, 158, 11, 0.3) 0%, transparent 60%);
}
.notification-toast.type-system .toast-icon[data-v-0571a5e9] {
  background: linear-gradient(135deg, var(--color-info-100) 0%, var(--color-info-50) 100%);
  color: var(--color-info-400);
  box-shadow: var(--shadow-colored-info);
}
.notification-toast.type-system .toast-icon[data-v-0571a5e9]::before {
  background: radial-gradient(circle at 30% 30%, rgba(14, 165, 233, 0.3) 0%, transparent 60%);
}
/* 通知内容 */
.toast-content[data-v-0571a5e9] {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-1-5);
}
.toast-title[data-v-0571a5e9] {
  font-size: var(--font-size-base);
  font-weight: 600;
  color: var(--color-neutral-800);
  line-height: 1.5;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: color 0.2s ease;
}
.notification-toast:hover .toast-title[data-v-0571a5e9] {
  color: var(--color-primary-700);
}
.toast-desc[data-v-0571a5e9] {
  font-size: var(--font-size-sm);
  color: var(--color-neutral-500);
  line-height: 1.6;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  transition: color 0.2s ease;
}
.notification-toast:hover .toast-desc[data-v-0571a5e9] {
  color: var(--color-neutral-600);
}
/* 关闭按钮 */
.toast-close[data-v-0571a5e9] {
  margin-left: var(--spacing-3);
  flex-shrink: 0;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
}
.close-btn[data-v-0571a5e9] {
  padding: var(--spacing-1);
  width: 28px;
  height: 28px;
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-neutral-400);
  background: transparent;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  margin-top: -2px;
}
.close-btn[data-v-0571a5e9]:hover {
  color: var(--color-neutral-600);
  background: var(--color-neutral-100);
  transform: scale(1.1);
}
.close-btn[data-v-0571a5e9]:active {
  transform: scale(0.95);
}
/* 响应式设计 */
@media (max-width: 768px) {
.notification-toast-container[data-v-0571a5e9] {
    top: calc(var(--header-height, 48px) + 12px);
    right: var(--spacing-3);
    left: var(--spacing-3);
    max-width: none;
    gap: var(--spacing-2);
}
.notification-toast[data-v-0571a5e9] {
    padding: var(--spacing-3);
    min-height: 64px;
}
.toast-title[data-v-0571a5e9] {
    font-size: var(--font-size-sm);
}
.toast-desc[data-v-0571a5e9] {
    font-size: var(--font-size-xs);
}
.toast-icon[data-v-0571a5e9] {
    width: 32px;
    height: 32px;
    font-size: var(--icon-size-base);
    margin-right: var(--spacing-3);
}
.toast-close[data-v-0571a5e9] {
    margin-left: var(--spacing-2);
}
.close-btn[data-v-0571a5e9] {
    width: 24px;
    height: 24px;
}
}
@media (max-width: 480px) {
.notification-toast-container[data-v-0571a5e9] {
    top: calc(var(--header-height, 48px) + 8px);
    right: var(--spacing-2);
    left: var(--spacing-2);
}
.notification-toast[data-v-0571a5e9] {
    padding: var(--spacing-2-5);
    min-height: 56px;
}
.toast-icon[data-v-0571a5e9] {
    width: 28px;
    height: 28px;
    font-size: var(--icon-size-sm);
    margin-right: var(--spacing-2);
}
.toast-close[data-v-0571a5e9] {
    margin-left: var(--spacing-1-5);
}
}

/* 样式已迁移到全局：
 *   .back-to-top       → src/styles/components/common.css
 *   .fade-*            → src/styles/animations/index.css (Vue transition)
 */
.chat-fab-container[data-v-a7d5bf16] {
  position: fixed;
  z-index: 1000;
  /* 默认有过渡效果，拖动时通过CSS类移除 */
  transition: left 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), top 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.chat-fab-container.dragging[data-v-a7d5bf16] {
  transition: none;
}
/* ==================== 悬浮按钮 ==================== */
.chat-fab[data-v-a7d5bf16] {
  cursor: grab;
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  filter: drop-shadow(0 4px 12px rgba(22, 119, 255, 0.4));
}
.chat-fab[data-v-a7d5bf16]:hover {
  transform: scale(1.1);
}
.chat-fab[data-v-a7d5bf16]:active,
.chat-fab--dragging[data-v-a7d5bf16] {
  cursor: grabbing;
  transform: scale(1.05);
}
.chat-fab--dragging[data-v-a7d5bf16] {
  transition: none;
  filter: drop-shadow(0 8px 24px rgba(22, 119, 255, 0.6));
}
.chat-fab__inner[data-v-a7d5bf16] {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: linear-gradient(135deg, #1677ff 0%, #4096ff 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 22px;
  transition: all 0.3s ease;
  box-shadow: 0 4px 16px rgba(22, 119, 255, 0.35);
}
.chat-fab--active .chat-fab__inner[data-v-a7d5bf16] {
  background: linear-gradient(135deg, #ff4d4f 0%, #ff7875 100%);
  box-shadow: 0 4px 16px rgba(255, 77, 79, 0.35);
}
.chat-fab--active[data-v-a7d5bf16]:hover {
  transform: rotate(90deg) scale(1.1);
}
/* ==================== 聊天弹窗 ==================== */
.chat-drawer[data-v-a7d5bf16] {
  position: fixed;
  bottom: 12px;
  right: 12px;
  width: 460px;
  height: 880px;
  max-height: calc(100vh - 80px);
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.15), 0 2px 8px rgba(0, 0, 0, 0.08);
  z-index: 1001;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.06);
}
.chat-drawer__header[data-v-a7d5bf16] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 16px;
  height: 52px;
  background: linear-gradient(135deg, #1677ff 0%, #4096ff 100%);
  color: #fff;
  flex-shrink: 0;
}
.chat-drawer__header-left[data-v-a7d5bf16] {
  display: flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
}
.chat-drawer__back-btn[data-v-a7d5bf16] {
  color: rgba(255, 255, 255, 0.85) !important;
  border: none !important;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.chat-drawer__back-btn[data-v-a7d5bf16]:hover {
  background: rgba(255, 255, 255, 0.15) !important;
  color: #fff !important;
}
.chat-drawer__title[data-v-a7d5bf16] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.chat-drawer__title-icon[data-v-a7d5bf16] {
  font-size: 16px;
  flex-shrink: 0;
}
.chat-drawer__close[data-v-a7d5bf16] {
  color: rgba(255, 255, 255, 0.85) !important;
  border: none !important;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.chat-drawer__close[data-v-a7d5bf16]:hover {
  background: rgba(255, 255, 255, 0.2) !important;
  color: #fff !important;
}
.chat-drawer__header-right[data-v-a7d5bf16] {
  display: flex;
  align-items: center;
  gap: 2px;
  flex-shrink: 0;
}
.chat-drawer__header-action[data-v-a7d5bf16] {
  color: rgba(255, 255, 255, 0.85) !important;
  border: none !important;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.chat-drawer__header-action[data-v-a7d5bf16]:hover {
  background: rgba(255, 255, 255, 0.15) !important;
  color: #fff !important;
}
.chat-drawer__online-status[data-v-a7d5bf16] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.7);
  margin-left: 8px;
  font-weight: 400;
}
.chat-drawer__online-dot[data-v-a7d5bf16] {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.5);
  transition: background-color 0.3s;
}
.chat-drawer__online-status--online[data-v-a7d5bf16] {
  color: rgba(255, 255, 255, 0.9);
}
.chat-drawer__online-status--online .chat-drawer__online-dot[data-v-a7d5bf16] {
  background-color: #52c41a;
}
.chat-drawer__body[data-v-a7d5bf16] {
  flex: 1;
  overflow: hidden;
  position: relative;
}
.chat-drawer__view[data-v-a7d5bf16] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
}
.chat-drawer__view--chat[data-v-a7d5bf16] {
  background: var(--color-bg-layout);
}
/* ==================== 遮罩层 ==================== */
.chat-overlay[data-v-a7d5bf16] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: 1000;
}
/* ==================== 动画 ==================== */
.chat-fab-bounce-enter-active[data-v-a7d5bf16] {
  animation: fabBounceIn-a7d5bf16 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.chat-fab-bounce-leave-active[data-v-a7d5bf16] {
  animation: fabBounceOut-a7d5bf16 0.3s ease-in;
}
@keyframes fabBounceIn-a7d5bf16 {
0% {
    opacity: 0;
    transform: scale(0) translateY(20px);
}
60% {
    transform: scale(1.1) translateY(-4px);
}
100% {
    opacity: 1;
    transform: scale(1) translateY(0);
}
}
@keyframes fabBounceOut-a7d5bf16 {
0% {
    opacity: 1;
    transform: scale(1);
}
100% {
    opacity: 0;
    transform: scale(0) translateY(20px);
}
}
.chat-drawer-slide-enter-active[data-v-a7d5bf16] {
  animation: drawerSlideIn-a7d5bf16 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.chat-drawer-slide-leave-active[data-v-a7d5bf16] {
  animation: drawerSlideOut-a7d5bf16 0.25s ease-in;
}
@keyframes drawerSlideIn-a7d5bf16 {
0% {
    opacity: 0;
    transform: translateY(30px) scale(0.95);
}
100% {
    opacity: 1;
    transform: translateY(0) scale(1);
}
}
@keyframes drawerSlideOut-a7d5bf16 {
0% {
    opacity: 1;
    transform: translateY(0) scale(1);
}
100% {
    opacity: 0;
    transform: translateY(30px) scale(0.95);
}
}
.chat-overlay-fade-enter-active[data-v-a7d5bf16] {
  transition: opacity 0.25s ease;
}
.chat-overlay-fade-leave-active[data-v-a7d5bf16] {
  transition: opacity 0.2s ease;
}
.chat-overlay-fade-enter-from[data-v-a7d5bf16],
.chat-overlay-fade-leave-to[data-v-a7d5bf16] {
  opacity: 0;
}
/* ==================== 移动端适配 ==================== */
@media (max-width: 768px) {
.chat-drawer[data-v-a7d5bf16] {
    bottom: 0;
    right: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-height: 100%;
    border-radius: 0;
    box-shadow: none;
}
.chat-fab__inner[data-v-a7d5bf16] {
    width: 40px;
    height: 40px;
    font-size: 20px;
}
.chat-drawer__header[data-v-a7d5bf16] {
    height: 48px;
    padding: 0 12px;
}
.chat-drawer__title[data-v-a7d5bf16] {
    font-size: 16px;
}
.chat-fab[data-v-a7d5bf16] {
    -webkit-tap-highlight-color: transparent;
}
}
/* ==================== 群成员抽屉 ==================== */
.fab-group-drawer[data-v-a7d5bf16] {
  padding: 0;
}
.fab-group-member[data-v-a7d5bf16] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid #f5f5f5;
}
.fab-group-member-info[data-v-a7d5bf16] {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.fab-group-member-name[data-v-a7d5bf16] {
  font-size: 14px;
  font-weight: 500;
  color: #1a1a1a;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fab-group-member-dept[data-v-a7d5bf16] {
  font-size: 12px;
  color: #999;
}
.fab-group-remove-btn[data-v-a7d5bf16] {
  flex-shrink: 0;
  font-size: 16px;
  color: #ff7875 !important;
}
.fab-group-remove-btn[data-v-a7d5bf16]:hover {
  color: #ff4d4f !important;
  background: rgba(255, 77, 79, 0.06) !important;
}
.fab-group-add-section h4[data-v-a7d5bf16] {
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 12px;
  color: #333;
}
.fab-group-contact[data-v-a7d5bf16] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 0;
}
.fab-group-contact-name[data-v-a7d5bf16] {
  flex: 1;
  font-size: 14px;
  color: #1a1a1a;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fab-group-contact-added[data-v-a7d5bf16] {
  flex-shrink: 0;
  font-size: 12px;
  color: #bbb !important;
}
.fab-group-contact-add[data-v-a7d5bf16] {
  flex-shrink: 0;
  font-size: 12px;
}
.lock-screen-overlay[data-v-af0a3a5f] {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  transition: background 1.5s ease;
}
/* 熄屏状态：背景渐变为纯黑，卡片内容隐藏 */
.lock-screen-overlay.screen-off[data-v-af0a3a5f] {
  background: #000000;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  cursor: none;
}
.lock-screen-overlay.screen-off .lock-screen-card[data-v-af0a3a5f] {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.8s ease;
}
/* 唤醒动画：快速恢复 */
.lock-screen-overlay.screen-waking[data-v-af0a3a5f] {
  background: rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  transition: background 0.6s ease-out;
}
.lock-screen-overlay.screen-waking .lock-screen-card[data-v-af0a3a5f] {
  opacity: 1;
  transition: opacity 0.4s ease-out;
}
.lock-screen-card[data-v-af0a3a5f] {
  width: 90%;
  max-width: 400px;
  padding: 40px 32px;
  background: rgba(255, 255, 255, 0.95);
  border-radius: 16px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
  text-align: center;
}
[data-theme='dark'] .lock-screen-card[data-v-af0a3a5f],
.theme-dark .lock-screen-card[data-v-af0a3a5f] {
  background: rgba(30, 30, 30, 0.95);
  color: #fff;
}
.lock-user-info[data-v-af0a3a5f] {
  margin-bottom: 24px;
}
.lock-avatar[data-v-af0a3a5f] {
  margin-bottom: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.lock-greeting[data-v-af0a3a5f] {
  font-size: 18px;
  font-weight: 500;
  margin: 0 0 4px;
  color: var(--ant-color-text, #333);
}
.lock-username[data-v-af0a3a5f] {
  font-size: 14px;
  color: var(--ant-color-text-secondary, #666);
  margin: 0;
}
.lock-time-display[data-v-af0a3a5f] {
  margin-bottom: 28px;
}
.lock-time[data-v-af0a3a5f] {
  font-size: 42px;
  font-weight: 300;
  letter-spacing: 2px;
  color: var(--ant-color-text, #333);
}
.lock-date[data-v-af0a3a5f] {
  font-size: 14px;
  color: var(--ant-color-text-secondary, #999);
  margin-top: 4px;
}
.lock-action-area[data-v-af0a3a5f] {
  margin-bottom: 20px;
}
.lock-hint[data-v-af0a3a5f] {
  font-size: 14px;
  color: var(--ant-color-text-secondary, #666);
  margin-bottom: 16px;
}
.lock-no-pin[data-v-af0a3a5f] {
  padding: 0 8px;
}
.pin-input-group[data-v-af0a3a5f] {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-bottom: 16px;
}
.pin-input[data-v-af0a3a5f] {
  width: 42px;
  height: 48px;
  text-align: center;
  font-size: 20px;
  font-weight: 500;
  border: 2px solid var(--ant-color-border, #d9d9d9);
  border-radius: 8px;
  outline: none;
  transition: border-color 0.2s, box-shadow 0.2s;
  background: var(--ant-color-bg-container, #fff);
  color: var(--ant-color-text, #333);
  caret-color: var(--ant-color-primary, #1677ff);
}
.pin-input[data-v-af0a3a5f]:focus {
  border-color: var(--ant-color-primary, #1677ff);
  box-shadow: 0 0 0 2px rgba(22, 119, 255, 0.2);
}
.pin-input-error[data-v-af0a3a5f] {
  border-color: var(--ant-color-error, #ff4d4f);
  animation: pin-shake-af0a3a5f 0.3s ease;
}
.lock-password-input[data-v-af0a3a5f] {
  margin-bottom: 12px;
}
.lock-unlock-btn[data-v-af0a3a5f] {
  margin-top: 8px;
}
.lock-error[data-v-af0a3a5f] {
  color: var(--ant-color-error, #ff4d4f);
  font-size: 13px;
  margin-top: 8px;
}
.lock-footer[data-v-af0a3a5f] {
  font-size: 13px;
  color: var(--ant-color-text-secondary, #999);
}
.lock-auto-lock-tip[data-v-af0a3a5f] {
  margin-bottom: 8px;
}
.lock-switch-mode a[data-v-af0a3a5f] {
  color: var(--ant-color-primary, #1677ff);
  cursor: pointer;
}
.lock-switch-mode a[data-v-af0a3a5f]:hover {
  text-decoration: underline;
}
.lock-close-btn[data-v-af0a3a5f] {
  margin-top: 8px;
  color: #999 !important;
}
.lock-close-btn[data-v-af0a3a5f]:hover {
  color: #666 !important;
}
.lock-back-btn[data-v-af0a3a5f] {
  margin-top: 12px;
  color: #999 !important;
  font-size: 13px;
}
.lock-back-btn[data-v-af0a3a5f]:hover {
  color: #666 !important;
}
/* 抖动动画 */
.shake-animation[data-v-af0a3a5f] {
  animation: lock-shake-af0a3a5f 0.4s ease;
}
@keyframes lock-shake-af0a3a5f {
0%,
  100% {
    transform: translateX(0);
}
20% {
    transform: translateX(-8px);
}
40% {
    transform: translateX(8px);
}
60% {
    transform: translateX(-4px);
}
80% {
    transform: translateX(4px);
}
}
@keyframes pin-shake-af0a3a5f {
0%,
  100% {
    transform: translateX(0);
}
50% {
    transform: translateX(-3px);
}
}
/* 淡入淡出过渡 */
.lock-fade-enter-active[data-v-af0a3a5f],
.lock-fade-leave-active[data-v-af0a3a5f] {
  transition: opacity 0.3s ease;
}
.lock-fade-enter-from[data-v-af0a3a5f],
.lock-fade-leave-to[data-v-af0a3a5f] {
  opacity: 0;
}
/* 移动端适配 */
@media (max-width: 480px) {
.lock-screen-card[data-v-af0a3a5f] {
    padding: 28px 20px;
    border-radius: 12px;
}
.lock-time[data-v-af0a3a5f] {
    font-size: 32px;
}
.pin-input[data-v-af0a3a5f] {
    width: 36px;
    height: 42px;
    font-size: 18px;
}
.pin-input-group[data-v-af0a3a5f] {
    gap: 6px;
}
}
@media (max-width: 360px) {
.pin-input[data-v-af0a3a5f] {
    width: 32px;
    height: 38px;
    font-size: 16px;
    gap: 4px;
}
}
.announcement-banner[data-v-91f7f695] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 16px;
  height: 40px;
  min-height: 40px;
  font-size: 13px;
  line-height: 40px;
  color: #fff;
  cursor: default;
  position: relative;
  z-index: 50;
  flex-shrink: 0;
  overflow: hidden;
}
/* 系统公告 - 蓝色 */
.banner-system[data-v-91f7f695] {
  background: linear-gradient(135deg, #1890ff, #096dd9);
}
/* 维护通知 - 黄色 */
.banner-maintenance[data-v-91f7f695] {
  background: linear-gradient(135deg, #faad14, #d48806);
  color: #5c3d00;
}
/* 紧急公告 - 红色 */
.banner-urgent[data-v-91f7f695] {
  background: linear-gradient(135deg, #ff4d4f, #cf1322);
}
/* 重要公告 - 橙色 */
.banner-important[data-v-91f7f695] {
  background: linear-gradient(135deg, #fa8c16, #d46b08);
}
/* 更新公告 - 紫色 */
.banner-update[data-v-91f7f695] {
  background: linear-gradient(135deg, #722ed1, #531dab);
}
/* 活动公告 - 绿色 */
.banner-activity[data-v-91f7f695] {
  background: linear-gradient(135deg, #52c41a, #389e0d);
}
.banner-content[data-v-91f7f695] {
  display: flex;
  align-items: center;
  flex: 1;
  min-width: 0;
  cursor: pointer;
  transition: opacity 0.2s;
  gap: 6px;
}
.banner-content[data-v-91f7f695]:hover {
  opacity: 0.9;
}
.banner-icon[data-v-91f7f695] {
  font-size: 15px;
  flex-shrink: 0;
}
/* 优先级徽章 */
.banner-priority[data-v-91f7f695] {
  flex-shrink: 0;
  font-size: 11px;
  font-weight: 600;
  padding: 0 5px;
  height: 18px;
  line-height: 18px;
  border-radius: 3px;
  letter-spacing: 0.5px;
}
.priority-urgent[data-v-91f7f695] {
  background: rgba(255, 255, 255, 0.3);
  animation: priority-pulse-91f7f695 2s ease-in-out infinite;
}
.priority-high[data-v-91f7f695] {
  background: rgba(255, 255, 255, 0.2);
}
.priority-medium[data-v-91f7f695] {
  background: rgba(255, 255, 255, 0.15);
}
/* 紧急优先级脉冲动画 */
@keyframes priority-pulse-91f7f695 {
0%,
  100% {
    opacity: 1;
}
50% {
    opacity: 0.7;
}
}
.banner-label[data-v-91f7f695] {
  flex-shrink: 0;
  font-weight: 600;
  font-size: 12px;
  padding: 1px 6px;
  border-radius: 3px;
}
.banner-title[data-v-91f7f695] {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: 400;
  flex: 1;
  min-width: 0;
}
/* 媒体指示器 */
.banner-media-indicators[data-v-91f7f695] {
  display: flex;
  align-items: center;
  gap: 3px;
  flex-shrink: 0;
}
.media-icon[data-v-91f7f695] {
  font-size: 13px;
  opacity: 0.85;
}
/* 附件图标 */
.banner-attach-icon[data-v-91f7f695] {
  font-size: 13px;
  opacity: 0.75;
  flex-shrink: 0;
}
/* 确认要求图标 */
.banner-confirm-icon[data-v-91f7f695] {
  font-size: 14px;
  opacity: 0.9;
  flex-shrink: 0;
  animation: confirm-blink-91f7f695 1.5s ease-in-out infinite;
}
@keyframes confirm-blink-91f7f695 {
0%,
  100% {
    opacity: 0.9;
}
50% {
    opacity: 0.5;
}
}
.banner-actions[data-v-91f7f695] {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
  margin-left: 12px;
}
.banner-index[data-v-91f7f695] {
  font-size: 12px;
  opacity: 0.7;
  margin-right: 4px;
}
.banner-nav-btn[data-v-91f7f695],
.banner-close-btn[data-v-91f7f695] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border: none;
  background: rgba(255, 255, 255, 0.15);
  color: inherit;
  border-radius: 4px;
  cursor: pointer;
  font-size: 12px;
  transition: background 0.2s;
}
.banner-close-all-btn[data-v-91f7f695] {
  margin-right: 4px;
  font-size: 14px;
}
.banner-maintenance .banner-nav-btn[data-v-91f7f695],
.banner-maintenance .banner-close-btn[data-v-91f7f695] {
  background: rgba(92, 61, 0, 0.1);
}
.banner-nav-btn[data-v-91f7f695]:hover,
.banner-close-btn[data-v-91f7f695]:hover {
  background: rgba(255, 255, 255, 0.3);
}
.banner-maintenance .banner-nav-btn[data-v-91f7f695]:hover,
.banner-maintenance .banner-close-btn[data-v-91f7f695]:hover {
  background: rgba(92, 61, 0, 0.2);
}
/* 过渡动画 */
.banner-slide-enter-active[data-v-91f7f695],
.banner-slide-leave-active[data-v-91f7f695] {
  transition: all 0.3s ease;
}
.banner-slide-enter-from[data-v-91f7f695],
.banner-slide-leave-to[data-v-91f7f695] {
  opacity: 0;
  transform: translateY(-100%);
  max-height: 0;
}
/* 移动端适配 */
@media (max-width: 768px) {
.announcement-banner[data-v-91f7f695] {
    height: 36px;
    min-height: 36px;
    line-height: 36px;
    padding: 0 12px;
    font-size: 12px;
}
.banner-icon[data-v-91f7f695] {
    font-size: 13px;
}
.banner-priority[data-v-91f7f695] {
    font-size: 10px;
    padding: 0 4px;
    height: 16px;
    line-height: 16px;
}
.banner-media-indicators[data-v-91f7f695],
  .banner-attach-icon[data-v-91f7f695] {
    display: none;
}
.banner-index[data-v-91f7f695] {
    display: none;
}
.banner-nav-btn[data-v-91f7f695],
  .banner-close-btn[data-v-91f7f695] {
    width: 22px;
    height: 22px;
    font-size: 11px;
}
}
.modal-header[data-v-436c3dba] {
  padding: 0;
}
.modal-title-row[data-v-436c3dba] {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 12px;
  padding-right: 24px;
}
.modal-title[data-v-436c3dba] {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: var(--color-text, #262626);
  line-height: 1.4;
  flex: 1;
}
.modal-meta[data-v-436c3dba] {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  font-size: 13px;
  color: #8c8c8c;
}
.meta-item[data-v-436c3dba] {
  display: flex;
  align-items: center;
  gap: 4px;
}
/* 限制弹窗最大高度，避免长内容撑出视口，body 滚动、footer 固定 */
.announcement-modal[data-v-436c3dba] .ant-modal-body {
  max-height: 60vh;
  overflow-y: auto;
  padding-top: 16px;
}
.modal-body[data-v-436c3dba] {
  padding: 0 4px;
}
.announcement-rich-content[data-v-436c3dba] {
  font-size: 14px;
  line-height: 1.8;
  color: var(--color-text, #262626);
  word-break: break-word;
}
.announcement-rich-content[data-v-436c3dba] img {
  max-width: 100%;
  height: auto;
  border-radius: 4px;
  margin: 8px 0;
}
.announcement-rich-content[data-v-436c3dba] a {
  color: #1890ff;
  text-decoration: none;
}
.announcement-rich-content[data-v-436c3dba] a:hover {
  text-decoration: underline;
}
.announcement-rich-content[data-v-436c3dba] table {
  width: 100%;
  border-collapse: collapse;
  margin: 12px 0;
}
.announcement-rich-content[data-v-436c3dba] th,
.announcement-rich-content[data-v-436c3dba] td {
  border: 1px solid #e8e8e8;
  padding: 8px 12px;
  text-align: left;
}
.announcement-rich-content[data-v-436c3dba] th {
  background: #fafafa;
  font-weight: 600;
}
.announcement-rich-content[data-v-436c3dba] pre {
  background: #f5f5f5;
  padding: 12px;
  border-radius: 4px;
  overflow-x: auto;
  font-size: 13px;
}
.announcement-rich-content[data-v-436c3dba] blockquote {
  border-left: 3px solid #1890ff;
  padding-left: 12px;
  margin: 12px 0;
  color: #666;
}
.modal-attachments[data-v-436c3dba] {
  margin-top: 8px;
}
/* 媒体文件区域 */
.modal-media[data-v-436c3dba] {
  margin-top: 8px;
}
.media-header[data-v-436c3dba] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 500;
  color: var(--color-text, #262626);
  margin-bottom: 12px;
}
.media-list[data-v-436c3dba] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.media-item[data-v-436c3dba] {
  border-radius: 8px;
  overflow: hidden;
}
.media-info[data-v-436c3dba] {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 0 0;
  font-size: 13px;
}
.media-type-icon[data-v-436c3dba] {
  color: #1890ff;
  font-size: 14px;
  flex-shrink: 0;
}
.media-name[data-v-436c3dba] {
  flex: 1;
  color: var(--color-text, #262626);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.media-duration[data-v-436c3dba] {
  flex-shrink: 0;
  color: #8c8c8c;
  font-size: 12px;
  background: #f5f5f5;
  padding: 1px 6px;
  border-radius: 3px;
}
.media-size[data-v-436c3dba] {
  flex-shrink: 0;
  color: #8c8c8c;
  font-size: 12px;
}
/* 视频播放器 */
.media-video-wrapper[data-v-436c3dba] {
  border-radius: 8px;
  overflow: hidden;
  background: #000;
}
.media-video[data-v-436c3dba] {
  width: 100%;
  max-height: 360px;
  display: block;
  border-radius: 8px;
}
/* 音频播放器 */
.media-audio-wrapper[data-v-436c3dba] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: linear-gradient(135deg, #f0f5ff, #e6f4ff);
  border-radius: 8px;
}
.media-audio-icon[data-v-436c3dba] {
  font-size: 28px;
  color: #1890ff;
  flex-shrink: 0;
}
.media-audio-player[data-v-436c3dba] {
  flex: 1;
  min-width: 0;
}
.media-audio[data-v-436c3dba] {
  width: 100%;
  border-radius: 4px;
}
/* 其他文件类型 */
.media-file-wrapper[data-v-436c3dba] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  background: #f5f5f5;
  border-radius: 8px;
}
.media-file-icon[data-v-436c3dba] {
  font-size: 22px;
  color: #8c8c8c;
}
/* 暗黑主题 - 媒体区域 */
.dark {
  background: linear-gradient(135deg, #111d2c, #0d1a26);
}
.dark {
  background: #2a2a2a;
}
.dark {
  background: #1f1f1f;
}
.dark {
  color: #a0a0a0;
}
.attachments-header[data-v-436c3dba] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 500;
  color: var(--color-text, #262626);
  margin-bottom: 8px;
}
.attachments-list[data-v-436c3dba] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.attachment-item[data-v-436c3dba] {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  background: #fafafa;
  border-radius: 4px;
  font-size: 13px;
  transition: background 0.2s;
}
.attachment-item[data-v-436c3dba]:hover {
  background: #f0f0f0;
}
.attachment-name[data-v-436c3dba] {
  flex: 1;
  color: #1890ff;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.attachment-name[data-v-436c3dba]:hover {
  text-decoration: underline;
}
.attachment-size[data-v-436c3dba] {
  flex-shrink: 0;
  color: #8c8c8c;
  font-size: 12px;
}
.modal-footer[data-v-436c3dba] {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}
/* 暗黑主题适配 */
.dark {
  color: #a0a0a0;
}
.dark {
  background: #1f1f1f;
}
.dark {
  background: #2a2a2a;
}
.dark {
  border-top-color: #434343;
}
.dark,.dark {
  border-color: #434343;
}
.dark {
  background: #1f1f1f;
}
.dark {
  background: #1f1f1f;
}
/* 移动端适配 */
@media (max-width: 768px) {
.modal-title[data-v-436c3dba] {
    font-size: 16px;
}
.modal-meta[data-v-436c3dba] {
    gap: 8px;
    font-size: 12px;
}
.announcement-modal[data-v-436c3dba] .ant-modal-body {
    max-height: 50vh;
}
.media-video[data-v-436c3dba] {
    max-height: 240px;
}
.media-audio-wrapper[data-v-436c3dba] {
    padding: 10px 12px;
}
.media-audio-icon[data-v-436c3dba] {
    font-size: 22px;
}
}
.main-layout[data-v-886431da] {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.main-header-wrapper[data-v-886431da] {
  flex-shrink: 0;
  width: 100%;
  border: none !important;
  background-color: transparent !important;
  height: 45px;
  min-height: 45px;
}
.main-header-wrapper[data-v-886431da] .ant-layout-header {
  height: 45px !important;
  line-height: 45px !important;
  padding: 0 !important;
}
.content-layout[data-v-886431da] {
  flex: 1;
  display: flex;
  flex-direction: row;
  height: 100%;
}
.main-sidebar-wrapper[data-v-886431da] {
  flex-shrink: 0;
  background: var(--sidebar-bg-color);
}
.main-sidebar-wrapper[data-v-886431da] .ant-layout-sider-children {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.sidebar-trigger[data-v-886431da] {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  cursor: pointer;
  color: var(--sidebar-text-color);
  background: var(--sidebar-bg-color);
  border-top: 1px solid var(--color-border-secondary);
  transition: color 0.3s, background 0.3s;
}
.sidebar-trigger[data-v-886431da]:hover {
  color: var(--color-primary);
  background: var(--color-bg-container);
}
.main-content-inner[data-v-886431da] {
  height: 100%;
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: var(--color-bg-layout);
}
.main-content-inner[data-v-886431da] >  .tabs-container,
.main-content-inner[data-v-886431da] >  .ant-tabs {
  flex-shrink: 0;
}
.main-content-inner[data-v-886431da] >  .app-footer {
  flex-shrink: 0;
}
.main-content[data-v-886431da] {
  flex: 1;
  min-height: 0;
  padding: 0;
  background: var(--color-bg-layout);
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
}
/* 路由 Loading 遮罩 - 仅限主内容区域 */
.route-loading-mask[data-v-886431da] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.3);
  backdrop-filter: blur(1px);
  pointer-events: none;
}
[data-theme='dark'] .route-loading-mask[data-v-886431da],
.theme-dark .route-loading-mask[data-v-886431da] {
  background: rgba(0, 0, 0, 0.2);
}
.loading-fade-enter-active[data-v-886431da],
.loading-fade-leave-active[data-v-886431da] {
  transition: opacity 0.2s ease;
}
.loading-fade-enter-from[data-v-886431da],
.loading-fade-leave-to[data-v-886431da] {
  opacity: 0;
}
/* 确保所有中间包裹层 div 都传递高度（用于 iframe 页面） */
.main-content[data-v-886431da] >  div,
.main-content[data-v-886431da] >  .ant-layout-content {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
/* 非 iframe 页面需要可滚动 */
.main-content[data-v-886431da] >  div:not(:has(.iframe-page)),
.main-content[data-v-886431da] >  .ant-layout-content:not(:has(.iframe-page)) {
  overflow-x: hidden;
  overflow-y: auto;
}
/* iframe 页面撑满 */
.main-content[data-v-886431da] .iframe-page {
  flex: 1;
  min-height: 0;
}
@media (max-width: 768px) {
.main-content[data-v-886431da] {
    padding: 16px;
}
}
/* .layout-top .main-content {
  padding-top: 88px;
} */
@media (max-width: 768px) {
.layout-top .main-content[data-v-886431da] {
    padding-top: 16px;
}
}
/* 移动端遮罩 */
.mobile-overlay[data-v-886431da] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 999;
}
/* 侧边栏拖拽样式 */
.main-sidebar-wrapper[data-v-886431da] .ant-layout-sider-handler {
  border-color: var(--color-primary);
}
.main-sidebar-wrapper[data-v-886431da] .ant-layout-sider-trigger {
  display: none;
}
/* 主题过渡 */
.main-layout[data-v-886431da] {
  transition: background-color 0.3s;
}
/* 页面内容样式 */
.page-content[data-v-886431da] {
  transition: padding 0.3s;
}
/* 响应式设计 */
.mobile-content[data-v-886431da] {
  padding: 0px !important;
}
.mobile-content .page-header[data-v-886431da] {
  margin-bottom: 12px;
}
.mobile-content .page-header .header-title[data-v-886431da] {
  font-size: 18px;
  margin-bottom: 8px;
}
.mobile-content .page-header .header-actions[data-v-886431da] {
  width: 100%;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.mobile-content .batch-toolbar .batch-toolbar-content[data-v-886431da] {
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}
.mobile-content .batch-toolbar .batch-toolbar-content .batch-actions[data-v-886431da] {
  width: 100%;
  flex-wrap: wrap;
  gap: 4px;
}
.mobile-content .batch-toolbar .batch-toolbar-content .batch-actions button[data-v-886431da] {
  flex: 1;
  min-width: 60px;
}
.mobile-content .ant-card[data-v-886431da] {
  margin-bottom: 12px;
}
.mobile-content .ant-card .ant-card-body[data-v-886431da] {
  padding: 12px;
}
.mobile-content .ant-table[data-v-886431da] {
  font-size: 12px;
}
.mobile-content .ant-table .ant-table-thead > tr > th[data-v-886431da] {
  padding: 8px 4px;
  font-size: 12px;
}
.mobile-content .ant-table .ant-table-tbody > tr > td[data-v-886431da] {
  padding: 8px 4px;
  font-size: 12px;
}
.tablet-content .page-header .header-actions button[data-v-886431da] {
  padding: 4px 12px;
}
.desktop-content[data-v-886431da] {
  padding: 0px;
}
/* ==================== 路由过渡动画 ==================== */
/* fade: 纯淡入淡出 */
.fade-enter-active[data-v-886431da],
.fade-leave-active[data-v-886431da] {
  transition: opacity 0.2s ease;
}
.fade-enter-from[data-v-886431da],
.fade-leave-to[data-v-886431da] {
  opacity: 0;
}
/* fade-slide: 淡入+上滑（默认） */
.fade-slide-enter-active[data-v-886431da],
.fade-slide-leave-active[data-v-886431da] {
  transition: opacity 0.25s ease, transform 0.25s ease;
}
.fade-slide-enter-from[data-v-886431da] {
  opacity: 0;
  transform: translateY(12px);
}
.fade-slide-leave-to[data-v-886431da] {
  opacity: 0;
  transform: translateY(-8px);
}
/* slide-left: 左滑切换 */
.slide-left-enter-active[data-v-886431da],
.slide-left-leave-active[data-v-886431da] {
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.slide-left-enter-from[data-v-886431da] {
  opacity: 0;
  transform: translateX(30px);
}
.slide-left-leave-to[data-v-886431da] {
  opacity: 0;
  transform: translateX(-30px);
}
/* zoom-fade: 缩放+淡入 */
.zoom-fade-enter-active[data-v-886431da],
.zoom-fade-leave-active[data-v-886431da] {
  transition: opacity 0.25s ease, transform 0.25s ease;
}
.zoom-fade-enter-from[data-v-886431da] {
  opacity: 0;
  transform: scale(0.96);
}
.zoom-fade-leave-to[data-v-886431da] {
  opacity: 0;
  transform: scale(1.02);
}
/* mobile-fade: 移动端轻量淡入 */
.mobile-fade-enter-active[data-v-886431da],
.mobile-fade-leave-active[data-v-886431da] {
  transition: opacity 0.15s ease;
}
.mobile-fade-enter-from[data-v-886431da],
.mobile-fade-leave-to[data-v-886431da] {
  opacity: 0;
}
/* 暗黑主题特殊处理 */
.dark {
  background: var(--color-bg-container);
}
.dark {
  background: var(--color-bg-layout);
}
/* 移动端抽屉菜单样式 */
.mobile-menu-drawer[data-v-886431da] {
  /* 隐藏 Ant Design 默认头部 */
  /* 抽屉内侧边栏占满剩余空间 */
  /* 优化遮罩层 */
}
.mobile-menu-drawer .ant-drawer-header[data-v-886431da] {
  display: none !important;
}
.mobile-menu-drawer .ant-drawer-body[data-v-886431da] {
  padding: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  height: 100%;
}
.mobile-menu-drawer .app-sidebar[data-v-886431da] {
  flex: 1;
  min-height: 0;
}
.mobile-menu-drawer .sidebar-content[data-v-886431da] {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.mobile-menu-drawer .sidebar-menu[data-v-886431da] {
  flex: 1;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding-top: 8px;
  /* 隐藏滚动条，移动端通过触摸滑动 */
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.mobile-menu-drawer .sidebar-menu[data-v-886431da]::-webkit-scrollbar {
  display: none;
}
.mobile-menu-drawer .ant-drawer-mask[data-v-886431da] {
  background: rgba(0, 0, 0, 0.45) !important;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}
/* 移动端 Drawer 自定义头部 */
.mobile-drawer-header[data-v-886431da] {
  display: flex;
  align-items: center;
  height: 45px;
  padding: 0 8px 0 14px;
  background: var(--sidebar-background-color, #001529);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  flex-shrink: 0;
}
.mobile-drawer-brand[data-v-886431da] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  min-width: 0;
  cursor: pointer;
  padding: 6px 8px;
  margin-right: 4px;
  border-radius: 8px;
  transition: background 0.2s;
}
.mobile-drawer-brand[data-v-886431da]:active {
  background: rgba(255, 255, 255, 0.08);
}
.mobile-drawer-logo[data-v-886431da] {
  width: 26px;
  height: 26px;
  border-radius: 6px;
  object-fit: contain;
  flex-shrink: 0;
}
.mobile-drawer-title[data-v-886431da] {
  font-size: 14px;
  font-weight: 600;
  color: #ffffff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  letter-spacing: 0.2px;
}
.mobile-drawer-user[data-v-886431da] {
  display: flex;
  align-items: center;
  gap: 5px;
  flex-shrink: 0;
  padding: 3px 6px 3px 3px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.1);
  transition: background 0.2s;
}
.mobile-drawer-user[data-v-886431da]:active {
  background: rgba(255, 255, 255, 0.18);
}
.mobile-drawer-avatar-fallback[data-v-886431da] {
  background: rgba(255, 255, 255, 0.2) !important;
  color: #fff !important;
  font-size: 12px;
}
.mobile-drawer-username[data-v-886431da] {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.8);
  max-width: 48px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mobile-drawer-close[data-v-886431da] {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: transparent;
  color: rgba(255, 255, 255, 0.65);
  border-radius: 6px;
  cursor: pointer;
  flex-shrink: 0;
  margin-left: 4px;
  transition: all 0.2s;
  font-size: 13px;
}
.mobile-drawer-close[data-v-886431da]:active {
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
}
/* 跳过导航链接（无障碍支持） */
.skip-link[data-v-886431da] {
  position: absolute;
  top: -100%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 100000;
  padding: 8px 24px;
  background: var(--color-primary, #1890ff);
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  border-radius: 0 0 8px 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  transition: top 0.2s ease;
}
.skip-link[data-v-886431da]:focus {
  top: 0;
  outline: 2px solid #fff;
  outline-offset: 2px;
}
/* 网络状态 Banner */
.network-status-banner[data-v-886431da] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10000;
}
.network-banner-fade-enter-active[data-v-886431da],
.network-banner-fade-leave-active[data-v-886431da] {
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.network-banner-fade-enter-from[data-v-886431da],
.network-banner-fade-leave-to[data-v-886431da] {
  opacity: 0;
  transform: translateY(-100%);
}
