


:root {
  
  --c3-n-900: #0B1220;
  --c3-n-800: #131C2E;
  --c3-n-700: #1E2A3D;
  --c3-n-600: #33415A;
  --c3-n-500: #4E5C73;
  --c3-n-400: #6B7A93;
  --c3-n-300: #7E8CA3;
  --c3-n-200: #D5DCE8;
  --c3-n-100: #E8EDF5;
  --c3-n-50:  #F5F7FB;

  
  --c3-ink-1: var(--c3-n-900);
  --c3-ink-2: var(--c3-n-600);
  --c3-ink-3: var(--c3-n-500);
  --c3-ink-4: var(--c3-n-300);
  --c3-line: var(--c3-n-200);
  --c3-line-soft: var(--c3-n-100);
  --c3-line-control: #C4CEDD;
  --c3-surface: #FFFFFF;
  --c3-sunken: var(--c3-n-50);

  
  --c3-r-lg: 10px;
  --c3-r-md: 6px;
  --c3-r-sm: 4px;

  
  --c3-sh-1: 0 1px 2px rgba(11, 18, 32, .06);
  --c3-sh-2: 0 6px 16px rgba(11, 18, 32, .10);
  --c3-sh-pop: 0 16px 40px rgba(11, 18, 32, .16);

  
  --c3-nav-bg: var(--c3-n-700);
  --c3-nav-fg: #C9D2E3;
  --c3-nav-fg-dim: rgba(255, 255, 255, .52);
  --c3-nav-active: rgba(37, 99, 235, .22);
  --c3-nav-active-bar: #60A5FA;

  
  --c3-brand: #1E3A8A;
  --c3-brand-hover: #16306F;
  --c3-brand-ink: #10265A;
  --c3-brand-soft: #EEF2FB;
  --c3-brand-tint: #EEF2FB;
  --c3-brand-ring: rgba(37, 99, 235, .18);
  --c3-success: #15803D;
  --c3-success-bg: #E7F6EC;
  --c3-warning: #B45309;
  --c3-warning-bg: #FDF3E3;
  --c3-danger: #B91C1C;
  --c3-danger-bg: #FDECEC;
  --c3-info: #1D4ED8;
  --c3-focus: #2563EB;

  
  --c3-dur-fast: 120ms;
  --c3-dur-base: 180ms;
  --c3-dur-slow: 240ms;
  --c3-ease: cubic-bezier(.4, 0, .2, 1);

  
  --el-font-size-extra-small: 12px;
  --el-font-size-small: 12px;
  --el-font-size-base: 13px;
  --el-font-size-medium: 14px;
  --el-font-size-large: 16px;
  --el-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei UI", "Microsoft YaHei", "Noto Sans SC", "Helvetica Neue", Arial, sans-serif;

  
  --el-component-size: 32px;
  --el-component-size-small: 28px;
  --el-component-size-large: 40px;
  --el-border-radius-base: 6px;
  --el-border-radius-small: 4px;
  --el-border-radius-round: 999px;
  --el-text-color-primary: var(--c3-ink-1);
  --el-text-color-regular: var(--c3-ink-2);
  --el-text-color-secondary: var(--c3-ink-3);
  --el-text-color-placeholder: var(--c3-ink-4);
  --el-border-color: var(--c3-line);
  --el-border-color-light: var(--c3-line);
  --el-border-color-lighter: var(--c3-line-soft);
  --el-fill-color-light: #F7F9FC;
  --el-fill-color-lighter: #FAFCFF;
  --el-bg-color-page: var(--c3-sunken);
  --el-box-shadow-light: var(--c3-sh-1);
  --el-box-shadow: var(--c3-sh-2);
  --el-transition-duration: var(--c3-dur-base);
}




html { -webkit-text-size-adjust: 100%; }
body:not(.c3-bd-noheader) {
  background: var(--c3-sunken);
  color: var(--c3-ink-2);
  font-size: 13px;
  line-height: 22px;
}
* { scrollbar-width: thin; scrollbar-color: #C8D2E0 transparent; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: #C8D2E0; border-radius: 999px; border: 3px solid transparent; background-clip: content-box; }
::-webkit-scrollbar-thumb:hover { background: #AEBACB; background-clip: content-box; }
::selection { background: #DCE4F7; color: var(--c3-n-900); }
:focus-visible { outline: 2px solid var(--c3-focus); outline-offset: 2px; }


aside.el-aside {
  width: 155px !important;
  flex: 0 0 155px !important;
  background: var(--c3-nav-bg) !important;
  color: #fff;
  position: sticky;
  top: 0;
  height: 100vh;
  overflow: hidden;
  transition: width var(--c3-dur-base) var(--c3-ease), flex-basis var(--c3-dur-base) var(--c3-ease);
  z-index: 20;
}
aside.el-aside > div:first-child { display: none !important; }   
aside.el-aside > ul.el-menu { display: none !important; }        
aside.el-aside::-webkit-scrollbar { width: 0; }


.c3-side {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  background: var(--c3-nav-bg);
}
.c3-side-brand {
  height: 56px;
  flex: 0 0 56px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 16px;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  overflow: hidden;
}
.c3-side-mark {
  width: 26px;
  height: 26px;
  flex: 0 0 26px;
  border-radius: 7px;
  display: grid;
  place-items: center;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: -.4px;
  color: #fff;
  background: linear-gradient(135deg, #3B5BA5, #93A8D4);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25);
}
.c3-side-brand-text {
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  white-space: nowrap;
  letter-spacing: .2px;
}
.c3-nav {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 8px 8px 16px;
}
.c3-nav::-webkit-scrollbar { width: 6px; }
.c3-nav::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, .18); border: 0; border-radius: 999px; }
.c3-nav-grp { margin-top: 12px; }
.c3-nav-grp:first-child { margin-top: 4px; }
.c3-nav-grp-label {
  margin: 0 0 4px;
  padding: 0 8px;
  font-size: 11px;
  line-height: 16px;
  font-weight: 500;
  color: var(--c3-nav-fg-dim);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.c3-nav-it {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  height: 36px;
  padding: 0 10px;
  margin: 1px 0;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--c3-nav-fg);
  font-family: inherit;
  font-size: 13px;
  line-height: 36px;
  text-align: left;
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
  transition: background-color var(--c3-dur-fast) var(--c3-ease), color var(--c3-dur-fast) var(--c3-ease);
}
.c3-nav-it:hover { background: rgba(255, 255, 255, .06); color: #fff; }
.c3-nav-it.is-active { background: var(--c3-nav-active); color: #fff; }
.c3-nav-it.is-active::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  bottom: 7px;
  width: 3px;
  border-radius: 0 3px 3px 0;
  background: var(--c3-nav-active-bar);
}
.c3-nav-it .icon { width: 16px; height: 16px; flex: 0 0 16px; opacity: .92; }
.c3-nav-it.is-active .icon { opacity: 1; }
.c3-nav-it-text { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.c3-nav-it-dot { width: 6px; height: 6px; border-radius: 999px; background: #F59E0B; flex: 0 0 6px; }
.c3-side-foot {
  flex: 0 0 auto;
  padding: 8px;
  border-top: 1px solid rgba(255, 255, 255, .08);
}
.c3-side-co {
  display: flex;
  align-items: center;
  gap: 9px;
  width: 100%;
  padding: 8px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #fff;
  font-family: inherit;
  text-align: left;
  cursor: pointer;
}
.c3-side-co:hover { background: rgba(255, 255, 255, .06); }
.c3-side-co-avatar {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  border-radius: 7px;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, .12);
  border: 1px solid rgba(255, 255, 255, .14);
  font-size: 12px;
  font-weight: 700;
}
.c3-side-co-txt { min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.c3-side-co-name { font-size: 12px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.c3-side-co-meta { font-size: 11px; color: rgba(255, 255, 255, .5); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.c3-rail-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 30px;
  margin-top: 4px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: rgba(255, 255, 255, .55);
  cursor: pointer;
}
.c3-rail-btn:hover { background: rgba(255, 255, 255, .06); color: #fff; }
.c3-rail-btn .icon { width: 16px; height: 16px; }


body.c3-rail aside.el-aside { width: 64px !important; }
body.c3-rail .c3-side-brand { padding: 0; justify-content: center; }
body.c3-rail .c3-side-brand-text,
body.c3-rail .c3-side-co-txt,
body.c3-rail .c3-nav-grp-label,
body.c3-rail .c3-nav-it-text { display: none; }
body.c3-rail .c3-nav-it { justify-content: center; padding: 0; }
body.c3-rail .c3-nav-grp { margin-top: 10px; }
body.c3-rail .c3-nav-grp::before {
  content: "";
  display: block;
  height: 1px;
  margin: 0 8px 8px;
  background: rgba(255, 255, 255, .08);
}
body.c3-rail .c3-side-co { justify-content: center; padding: 6px 0; }

body.c3-rail .c3-nav-it:hover::after {
  content: attr(data-label);
  position: absolute;
  left: calc(100% + 10px);
  top: 50%;
  transform: translateY(-50%);
  padding: 6px 10px;
  border-radius: 6px;
  background: var(--c3-n-800);
  color: #fff;
  font-size: 12px;
  line-height: 16px;
  white-space: nowrap;
  box-shadow: var(--c3-sh-2);
  z-index: 30;
  pointer-events: none;
}


header.el-header {
  height: 64px !important;
  padding: 0 24px !important;
  background: #fff !important;
  border-bottom: 1px solid var(--c3-n-100) !important;
  display: flex;
  align-items: center;
  gap: 16px;
}

header.el-header > div[data-c3-orig-title] { display: none !important; }
header.el-header > .c3-hd-main { order: 0; flex: 1 1 auto; }
header.el-header > .c3-hd-right { order: 2; }
header.el-header > .c3-nav-toggle { order: -1; }
.c3-hd {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  min-width: 0;
}
.c3-hd-main { min-width: 0; display: flex; flex-direction: column; justify-content: center; gap: 2px; }
.c3-hd-title {
  margin: 0;
  font-size: 20px;
  line-height: 28px;
  font-weight: 600;
  letter-spacing: -.2px;
  color: var(--c3-n-900);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.c3-hd-sub {
  margin: 0;
  font-size: 12px;
  line-height: 18px;
  color: var(--c3-n-500);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.c3-hd-right { display: flex; align-items: center; gap: 12px; flex: 0 0 auto; }
.c3-hd-user { font-size: 13px; color: var(--c3-n-500); white-space: nowrap; }
header.el-header .el-button--danger.is-plain {
  height: 32px;
  padding: 0 14px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  color: var(--c3-danger) !important;
  border: 1px solid #F0C9C9 !important;
  background: #fff !important;
}
header.el-header .el-button--danger.is-plain:hover {
  color: #fff !important;
  background: var(--c3-danger) !important;
  border-color: var(--c3-danger) !important;
}


body:not(.c3-bd-noheader) .el-main {
  background: var(--c3-sunken) !important;
  padding: 20px 24px 56px !important;
  min-height: calc(100vh - 64px);
}
body:not(.c3-bd-noheader) .el-main > .el-card,
body:not(.c3-bd-noheader) .el-main > .el-row > .el-col > .el-card { margin-bottom: 0; }
body.c3-bd-noheader .el-main { background: #05070B !important; }   


.c3-toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  padding: 12px 14px;
  margin-bottom: 12px;
  background: #fff;
  border: 1px solid var(--c3-n-100);
  border-radius: 10px;
}
.c3-toolbar .c3-toolbar-grow { flex: 1 1 auto; }
.c3-toolbar-meta { font-size: 12px; color: var(--c3-n-500); white-space: nowrap; }




.el-tabs__header { margin-bottom: 16px; }
.el-tabs__nav-wrap::after { display: none !important; }
.el-tabs--top > .el-tabs__header .el-tabs__nav,
.el-tabs--top > .el-tabs__header .el-tabs__nav.is-top {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  gap: 20px;
}
.el-tabs--top > .el-tabs__header .el-tabs__item {
  height: 40px !important;
  line-height: 40px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--c3-n-500) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  transition: color var(--c3-dur-base) var(--c3-ease);
}
.el-tabs--top > .el-tabs__header .el-tabs__item:hover { color: var(--c3-n-900) !important; }
.el-tabs--top > .el-tabs__header .el-tabs__item.is-active {
  background: transparent !important;
  color: var(--c3-n-900) !important;
  font-weight: 600 !important;
}
.el-tabs--top > .el-tabs__header .el-tabs__item.is-disabled { color: var(--c3-n-300) !important; }
.el-tabs--top > .el-tabs__header .el-tabs__active-bar {
  display: block !important;
  height: 2px !important;
  border-radius: 2px 2px 0 0 !important;
  background: var(--c3-brand) !important;
  transition: transform var(--c3-dur-base) var(--c3-ease), width var(--c3-dur-base) var(--c3-ease) !important;
}

.el-tabs--card > .el-tabs__header { border: 0; }
.el-tabs--card > .el-tabs__header .el-tabs__nav { border: 0; gap: 20px; }
.el-tabs--card > .el-tabs__header .el-tabs__item { border: 0; height: 40px; line-height: 40px; font-size: 13px; }


.el-radio-button__inner {
  height: 32px;
  padding: 0 14px;
  font-size: 13px;
  line-height: 30px;
  border-color: var(--c3-n-200);
  color: var(--c3-n-600);
  background: #fff;
  box-shadow: none !important;
}
.el-radio-button:first-child .el-radio-button__inner { border-radius: 6px 0 0 6px; }
.el-radio-button:last-child .el-radio-button__inner { border-radius: 0 6px 6px 0; }
.el-radio-button__original-radio:checked + .el-radio-button__inner {
  background: var(--c3-brand-tint);
  border-color: #B9C7E6;
  color: var(--c3-brand);
  font-weight: 600;
  box-shadow: none !important;
}


.el-table {
  --el-table-border-color: var(--c3-n-100);
  --el-table-header-bg-color: var(--c3-n-100);
  --el-table-header-text-color: var(--c3-n-600);
  --el-table-text-color: var(--c3-n-600);
  --el-table-row-hover-bg-color: #FAFCFF;
  font-size: 13px;
  border-radius: 8px;
}
.el-table th.el-table__cell {
  height: 40px !important;
  padding: 0 !important;
  background: var(--c3-n-100) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: var(--c3-n-600) !important;
  letter-spacing: .02em;
}
.el-table th.el-table__cell .cell { font-size: 12px !important; font-weight: 500 !important; line-height: 38px; }
.el-table td.el-table__cell {
  height: 44px;
  padding: 6px 0 !important;
  font-size: 13px !important;
  line-height: 22px;
  color: var(--c3-n-600);
}
.el-table .cell { line-height: 22px; }
.el-table--border .el-table__cell { border-right-color: var(--c3-n-100); }
.el-table__inner-wrapper::before { background-color: var(--c3-n-100); }
.el-table__empty-text { color: var(--c3-n-500); font-size: 13px; }
.el-table .el-button--small { font-size: 12px; }
.el-table .is-scrolling-left, .el-table .is-scrolling-right { box-shadow: none; }


.el-button {
  height: 32px;
  padding: 0 14px;
  font-size: 13px;
  font-weight: 500;
  border-radius: 6px;
  transition: background-color var(--c3-dur-fast) var(--c3-ease), border-color var(--c3-dur-fast) var(--c3-ease), color var(--c3-dur-fast) var(--c3-ease), box-shadow var(--c3-dur-fast) var(--c3-ease);
}
.el-button--small { height: 28px; padding: 0 10px; font-size: 12px; border-radius: 4px; }
.el-button--large { height: 40px; font-size: 14px; }
.el-button--primary {
  background: var(--c3-brand);
  border-color: var(--c3-brand);
  box-shadow: none;
}
.el-button--primary:not(.is-disabled):hover { background: var(--c3-brand-hover); border-color: var(--c3-brand-hover); box-shadow: none; }
.el-button--primary:not(.is-disabled):active { background: var(--c3-brand-ink); border-color: var(--c3-brand-ink); transform: none; }
.el-button--danger.is-plain { color: var(--c3-danger); border-color: #F0C9C9; background: #fff; }
.el-button--danger.is-plain:hover { color: #fff; background: var(--c3-danger); border-color: var(--c3-danger); }
.el-button--danger:not(.is-plain):not(.is-link):not(.is-text) { background: var(--c3-danger); border-color: var(--c3-danger); }
.el-button--danger.is-link, .el-button--danger.is-text { background: transparent !important; border-color: transparent !important; color: var(--c3-danger) !important; }
.el-button.is-link, .el-button.is-text { height: auto; padding: 0 2px; font-size: 13px; }
.el-button + .el-button { margin-left: 8px; }


.el-form-item { margin-bottom: 18px; }
.el-form-item__label {
  font-size: 12px !important;
  font-weight: 500;
  color: var(--c3-n-500) !important;
  line-height: 32px !important;
  padding-right: 12px !important;
}
.el-form-item__error { padding-top: 4px; font-size: 12px; color: var(--c3-danger); }
.el-input__wrapper, .el-select__wrapper, .el-textarea__inner {
  border-radius: 6px;
  box-shadow: 0 0 0 1px var(--c3-n-200) inset;
  background: #fff;
  transition: box-shadow var(--c3-dur-fast) var(--c3-ease);
}
.el-input__wrapper:hover, .el-select__wrapper:hover, .el-textarea__inner:hover { box-shadow: 0 0 0 1px #B9C7E6 inset; }
.el-input__wrapper.is-focus, .el-select__wrapper.is-focused, .el-textarea__inner:focus {
  box-shadow: 0 0 0 1px var(--c3-focus) inset, 0 0 0 3px rgba(37, 99, 235, .14) !important;
}
.el-input__inner, .el-textarea__inner { font-size: 13px; color: var(--c3-n-900); }
.el-select__wrapper { min-height: 32px; }
.el-date-editor.el-input, .el-date-editor.el-input__wrapper { height: 32px; }
.el-input-number { height: 32px; }
.el-form-item__content .el-text { font-size: 12px; color: var(--c3-n-500); line-height: 1.6; }
.el-switch { height: 22px; }


.el-card {
  border: 1px solid var(--c3-n-100);
  border-radius: 10px;
  box-shadow: var(--c3-sh-1);
  background: #fff;
}
.el-card__header {
  padding: 14px 20px;
  border-bottom: 1px solid var(--c3-n-100);
  font-size: 16px;
  font-weight: 600;
  color: var(--c3-n-900);
}
.el-card__body { padding: 20px; }


.el-tag {
  height: 22px;
  padding: 0 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
  background: #fff;
  border: 1px solid var(--c3-n-200);
  color: var(--c3-n-600);
}
.el-tag--small { height: 20px; padding: 0 6px; font-size: 12px; }
.el-tag--large { height: 26px; padding: 0 10px; }
.el-tag--success { background: #fff; border-color: rgba(21, 128, 61, .38); color: var(--c3-success); }
.el-tag--warning { background: #fff; border-color: rgba(180, 83, 9, .38); color: var(--c3-warning); }
.el-tag--danger { background: #fff; border-color: rgba(185, 28, 28, .38); color: var(--c3-danger); }
.el-tag--info { background: #fff; border-color: rgba(29, 78, 216, .38); color: var(--c3-info); }
.el-tag--primary { background: #fff; border-color: rgba(30, 58, 138, .38); color: var(--c3-brand); }


.el-pagination {
  --el-pagination-button-bg-color: transparent;
  font-size: 13px;
  font-weight: 500;
  gap: 4px;
}
.el-pagination button, .el-pager li { height: 28px; min-width: 28px; border-radius: 6px; font-size: 13px; }
.el-pager li.is-active { background: var(--c3-brand-tint); color: var(--c3-brand); font-weight: 600; }


.el-overlay { background: rgba(8, 14, 26, .55); }
.el-dialog {
  border-radius: 10px;
  box-shadow: var(--c3-sh-pop);
  padding: 0;
}
.el-dialog__header { padding: 16px 56px 16px 20px; border-bottom: 1px solid var(--c3-n-100); margin: 0; }
.el-dialog__title { font-size: 16px; font-weight: 600; color: var(--c3-n-900); }
.el-dialog__body { padding: 20px; font-size: 13px; color: var(--c3-n-600); }
.el-dialog__footer { padding: 12px 20px; border-top: 1px solid var(--c3-n-100); }
.el-drawer { box-shadow: var(--c3-sh-pop); }
.el-drawer__header { padding: 16px 20px; margin: 0; border-bottom: 1px solid var(--c3-n-100); font-size: 16px; font-weight: 600; color: var(--c3-n-900); }
.el-drawer__body { padding: 20px; }
.el-message { border-radius: 8px; border: 1px solid var(--c3-n-100); box-shadow: var(--c3-sh-2); font-size: 13px; }
.el-message-box { border-radius: 10px; padding: 20px; }
.el-message-box__title { font-size: 16px; font-weight: 600; }
.el-message-box__content { font-size: 13px; color: var(--c3-n-600); }


.el-empty { padding: 48px 0; }
.el-empty__description p { font-size: 13px; color: var(--c3-n-500); margin: 0; }
.el-empty__image { width: 96px; opacity: .8; }
.el-loading-mask { background: rgba(255, 255, 255, .72); }
.el-alert { border-radius: 8px; padding: 12px 14px; }
.el-alert__title { font-size: 13px; font-weight: 600; }
.el-alert__description { font-size: 12px; line-height: 1.7; }
.el-progress-bar__outer { background: var(--c3-n-100); }
.el-divider { border-color: var(--c3-n-100); }


.c3-pill {
  display: inline-flex;
  align-items: center;
  height: 22px;
  padding: 0 8px;
  border-radius: 4px;
  border: 1px solid var(--c3-n-200);
  background: #fff;
  font-size: 12px;
  font-weight: 500;
  color: var(--c3-n-600);
  white-space: nowrap;
}
.c3-pill.is-success { border-color: rgba(21, 128, 61, .38); color: var(--c3-success); }
.c3-pill.is-warning { border-color: rgba(180, 83, 9, .38); color: var(--c3-warning); }
.c3-pill.is-danger { border-color: rgba(185, 28, 28, .38); color: var(--c3-danger); }
.c3-pill.is-info { border-color: rgba(29, 78, 216, .38); color: var(--c3-info); }
.c3-num { font-variant-numeric: tabular-nums; }


.c3-stage-cards {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}
.c3-stage-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 10px 12px;
  border: 1px solid var(--c3-n-100);
  border-radius: 10px;
  background: #fff;
  cursor: pointer;
  overflow: hidden;
  transition: border-color var(--c3-dur-fast) var(--c3-ease), box-shadow var(--c3-dur-fast) var(--c3-ease), transform var(--c3-dur-fast) var(--c3-ease);
}
.c3-stage-card:hover { border-color: #C4CEDD; box-shadow: var(--c3-sh-1); }
.c3-stage-card.is-on { border-color: #B9C7E6; box-shadow: 0 0 0 1px #B9C7E6; }
.c3-stage-card::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 2px;
  background: var(--c3-n-200);
  opacity: .9;
}
.c3-stage-card[data-tone="info"]::after { background: #60A5FA; }
.c3-stage-card[data-tone="warning"]::after { background: #F0A44A; }
.c3-stage-card[data-tone="success"]::after { background: #4ADE80; }
.c3-stage-card[data-tone="muted"]::after { background: #CBD5E1; }
.c3-stage-card-label { font-size: 12px; color: var(--c3-n-500); line-height: 16px; }
.c3-stage-card-value { font-size: 24px; line-height: 30px; font-weight: 600; color: var(--c3-n-900); font-variant-numeric: tabular-nums; }
.c3-stage-card-hint { font-size: 12px; color: var(--c3-n-500); line-height: 16px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }


.c3-page-sub { font-size: 12px; color: var(--c3-n-500); }


.c3-embed-panel { width: 100%; height: 100%; background: transparent; }
.c3-embed-panel > iframe { width: 100%; height: 100%; border: 0; display: block; background: transparent; }
.el-main.c3-r990-embed-on { padding: 0 !important; overflow: auto !important; }
.el-main.c3-r990-embed-on > *:not([data-c3-embed]) { display: none !important; }


@media (max-width: 1023px) {
  body:not(.c3-bd-noheader) .el-main { padding: 16px 16px 48px !important; }
  header.el-header { padding: 0 16px !important; }
  .c3-stage-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  header.el-header { height: 56px !important; }
  body:not(.c3-bd-noheader) .el-main .el-card__body { overflow-x: auto; }
  body:not(.c3-bd-noheader) .el-main .el-table { min-width: 680px; }
  body:not(.c3-bd-noheader) .el-main .el-table .cell { white-space: normal; }
  .c3-hd-title { font-size: 16px; line-height: 22px; }
  .c3-hd-sub { display: none; }
  .c3-hd-user { display: none; }
  body:not(.c3-bd-noheader) .el-main { padding: 12px 12px 40px !important; }
  .c3-stage-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .el-tabs--top > .el-tabs__header .el-tabs__nav { gap: 14px; }
  .el-tabs--top > .el-tabs__header .el-tabs__item { height: 36px !important; line-height: 36px !important; }
}


@media (max-width: 767px) {
  aside.el-aside {
    position: fixed;
    left: 0; top: 0; bottom: 0;
    width: 155px !important;
    flex-basis: 155px !important;
    transform: translateX(-100%);
    transition: transform var(--c3-dur-base) var(--c3-ease);
    z-index: 1100;
    box-shadow: var(--c3-sh-pop);
  }
  body.c3-nav-open aside.el-aside { transform: translateX(0); }
  html body .c3-rail-btn { display: none !important; }   
  body.c3-nav-open::after {
    content: "";
    position: fixed;
    inset: 0;
    background: rgba(8, 14, 26, .45);
    z-index: 1050;
  }
  aside.el-aside .c3-side-brand { padding: 0 16px; justify-content: flex-start; }
  aside.el-aside .c3-side-brand-text,
  aside.el-aside .c3-side-co-txt,
  aside.el-aside .c3-nav-grp-label,
  aside.el-aside .c3-nav-it-text { display: block; }
  aside.el-aside .c3-nav-it { justify-content: flex-start; padding: 0 10px; }
  aside.el-aside .c3-side-co { justify-content: flex-start; padding: 8px; }
}


.fade-in { animation: c3-fade var(--c3-dur-base) var(--c3-ease) both; }
@keyframes c3-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes c3-pop {
  from { opacity: 0; transform: scale(.96) translateY(6px); }
  to { opacity: 1; transform: scale(1) translateY(0); }
}
.el-dialog { animation: c3-pop var(--c3-dur-base) var(--c3-ease) both; }
.el-drawer { transition-duration: var(--c3-dur-slow) !important; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
@media print {
  aside.el-aside, header.el-header, .c3-demo-bar { display: none !important; }
  body:not(.c3-bd-noheader) .el-main { padding: 0 !important; background: #fff !important; }
}


html.c3-theme {
  --c3x-ink: #0B1220;
  --c3x-ink-2: #33415A;
  --c3x-ink-3: #4E5C73;
  --c3x-line: #E8EDF5;
  --c3x-brand: #1E3A8A;
  --c3x-bg: #F5F7FB;
}
html.c3-theme body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei UI", "Microsoft YaHei", "Noto Sans SC", sans-serif;
  font-size: 13px;
  color: var(--c3x-ink-2);
  background: var(--c3x-bg);
  -webkit-font-smoothing: antialiased;
}
html.c3-theme ::selection { background: #DCE4F7; color: #0B1220; }
html.c3-theme :focus-visible { outline: 2px solid #2563EB; outline-offset: 2px; }
html.c3-theme ::-webkit-scrollbar { width: 10px; height: 10px; }
html.c3-theme ::-webkit-scrollbar-thumb { background: #C8D2E0; border-radius: 999px; border: 3px solid transparent; background-clip: content-box; }


html.c3-theme #top {
  height: 64px;
  background: var(--c3x-ink);
  color: #fff;
  padding: 0 24px;
}
html.c3-theme #top .brand { font-size: 16px; font-weight: 600; gap: 8px; }
html.c3-theme #top .brand .dot { width: 8px; height: 8px; border-radius: 2px; background: #60A5FA; }
html.c3-theme #top .brand .sub { font-size: 12px; color: rgba(255, 255, 255, .55); font-weight: 400; }
html.c3-theme #top .pill { height: 22px; padding: 0 8px; font-size: 12px; border-radius: 4px; background: rgba(255, 255, 255, .12); border-color: rgba(255, 255, 255, .18); }
html.c3-theme #top button.link { font-size: 13px; border-radius: 6px; }
html.c3-theme main { padding: 16px 24px 56px; background: var(--c3x-bg); }
html.c3-theme .wrap { max-width: 1600px; }


html.c3-theme .filters {
  background: #fff;
  border: 1px solid var(--c3x-line);
  border-radius: 10px;
  padding: 12px 14px;
  gap: 10px;
  margin-bottom: 12px;
  box-shadow: 0 1px 2px rgba(11, 18, 32, .06);
}
html.c3-theme .fld label { font-size: 12px; font-weight: 500; color: var(--c3x-ink-3); }
html.c3-theme .fld .hint { font-size: 11px !important; color: #93A2B8 !important; line-height: 16px; }
html.c3-theme .card {
  background: #fff;
  border: 1px solid var(--c3x-line);
  border-radius: 10px;
  box-shadow: 0 1px 2px rgba(11, 18, 32, .06);
}
html.c3-theme table.tb { font-size: 13px; }
html.c3-theme table.tb th {
  height: 40px;
  padding: 0 12px;
  background: var(--c3x-line);
  color: #33415A;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .02em;
  border-bottom: 1px solid var(--c3x-line);
}
html.c3-theme table.tb td {
  padding: 8px 12px;
  border-bottom: 1px solid #F0F3F9;
  color: var(--c3x-ink-2);
  font-size: 13px;
  line-height: 22px;
}
html.c3-theme table.tb tbody tr:hover { background: #FAFCFF; }
html.c3-theme .muted { color: #7E8CA3; }
html.c3-theme .num { font-variant-numeric: tabular-nums; }


html.c3-theme button { font-size: 13px; border-radius: 6px; padding: 7px 14px; }
html.c3-theme button.ghost { background: #fff; color: #1E3A8A; border: 1px solid #C4CEDD; }
html.c3-theme button.ghost:hover { background: #F5F7FB; border-color: #B9C7E6; }
html.c3-theme button.primary { background: #1E3A8A; color: #fff; font-weight: 500; }
html.c3-theme button.primary:hover { background: #16306F; }
html.c3-theme button.danger { background: #fff; color: #B91C1C; border: 1px solid #F0C9C9; }
html.c3-theme button.danger:hover { background: #B91C1C; color: #fff; }
html.c3-theme button.mini { padding: 4px 10px; font-size: 12px; border-radius: 4px; }
html.c3-theme .tag { font-size: 12px; font-weight: 500; padding: 2px 8px; border-radius: 4px; }
html.c3-theme .tag.soft { background: #F5F7FB; color: #4E5C73; border: 1px solid #E8EDF5; }
html.c3-theme .chip { background: #fff; border: 1px solid var(--c3x-line); border-radius: 8px; padding: 8px 12px; font-size: 12px; color: #4E5C73; }
html.c3-theme .chip b { font-size: 16px; color: #1E3A8A; font-weight: 600; }
html.c3-theme .pager { font-size: 13px; color: #4E5C73; margin-top: 12px; }
html.c3-theme .empty { color: #7E8CA3; font-size: 13px; }


html.c3-theme input[type=text], html.c3-theme input[type=search], html.c3-theme input[type=password],
html.c3-theme input[type=date], html.c3-theme input[type=number], html.c3-theme input[type=datetime-local],
html.c3-theme select, html.c3-theme textarea {
  font-size: 13px;
  color: #0B1220;
  border: 1px solid #C4CEDD;
  border-radius: 6px;
  padding: 6px 10px;
  background: #fff;
  min-height: 32px;
}
html.c3-theme textarea { min-height: 88px; line-height: 1.7; }
html.c3-theme input:focus, html.c3-theme select:focus, html.c3-theme textarea:focus {
  outline: none;
  border-color: #2563EB;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, .14);
  background: #fff;
}


html.c3-theme .modal { background: rgba(8, 14, 26, .55); padding: 32px 16px; }
html.c3-theme .sheet {
  border-radius: 10px;
  box-shadow: 0 16px 40px rgba(11, 18, 32, .16);
  animation: c3-pop 180ms cubic-bezier(.4, 0, .2, 1) both;
}
html.c3-theme .sheet header { padding: 14px 20px; border-bottom: 1px solid var(--c3x-line); }
html.c3-theme .sheet header h3 { margin: 0; font-size: 16px; font-weight: 600; color: #0B1220; }
html.c3-theme .sheet header .x { font-size: 20px; color: #7E8CA3; }
html.c3-theme .sheet .cnt { padding: 18px 20px; gap: 14px; }
html.c3-theme .sheet .cnt label { font-size: 12px; font-weight: 500; color: #4E5C73; }
html.c3-theme .sheet .cnt .hint { font-size: 12px; color: #7E8CA3; }
html.c3-theme .sheet footer { padding: 12px 20px; border-top: 1px solid var(--c3x-line); background: #FBFCFE; }


html.c3-theme .err { background: #FDECEC; color: #B91C1C; border: 1px solid #F3C7C2; border-radius: 8px; font-size: 13px; }
html.c3-theme .warn { background: #FDF3E3; color: #B45309; border: 1px solid #F2E0AF; border-radius: 8px; font-size: 13px; }
html.c3-theme .ok { background: #E7F6EC; color: #15803D; border: 1px solid #BFE4CD; border-radius: 8px; font-size: 13px; }
html.c3-theme .deny { background: #fff; border: 1px solid var(--c3x-line); border-radius: 10px; color: #4E5C73; font-size: 13px; }
html.c3-theme .deny b { color: #B91C1C; }
html.c3-theme .bars .bar { font-size: 12px; color: #4E5C73; }
html.c3-theme .bars .bar .lbl { color: #33415A; font-weight: 500; }
html.c3-theme .bars .bar .trk { background: #EEF2FB; height: 12px; border-radius: 999px; }
html.c3-theme .bars .bar .fil { background: #1E3A8A; border-radius: 999px; }


html.c3-theme header#top { background: #0B1220; }
html.c3-theme h1 { font-size: 20px; line-height: 28px; font-weight: 600; color: #0B1220; }
html.c3-theme h2 { font-size: 16px; line-height: 24px; font-weight: 600; color: #0B1220; }
html.c3-theme h3 { font-size: 14px; line-height: 22px; font-weight: 600; color: #0B1220; }
html.c3-theme .hint { font-size: 12px; color: #7E8CA3; line-height: 1.6; }
html.c3-theme .btn { font-family: inherit; font-size: 13px; border-radius: 6px; padding: 6px 12px; border: 1px solid #C4CEDD; background: #fff; color: #33415A; cursor: pointer; }
html.c3-theme .btn:hover { border-color: #B9C7E6; background: #F7F9FC; }
html.c3-theme .btn.primary { background: #1E3A8A; border-color: #1E3A8A; color: #fff; }
html.c3-theme .btn.primary:hover { background: #16306F; }
html.c3-theme .btn.sm { padding: 4px 10px; font-size: 12px; border-radius: 4px; }
html.c3-theme select, html.c3-theme input[type=text] { font-size: 13px; }
html.c3-theme table { font-size: 13px; }
html.c3-theme table th { font-size: 12px; font-weight: 500; color: #33415A; background: #E8EDF5; }
html.c3-theme table td { font-size: 13px; }
html.c3-theme .card { border-radius: 10px; border-color: var(--c3x-line); box-shadow: 0 1px 2px rgba(11, 18, 32, .06); }
html.c3-theme .card h2 { font-size: 16px; font-weight: 600; color: #0B1220; padding: 14px 18px; border-bottom: 1px solid var(--c3x-line); margin: 0; }
html.c3-theme .card .body { padding: 16px 18px; }
html.c3-theme .tag { border-radius: 4px; font-size: 12px; }
html.c3-theme .pill { border-radius: 4px; font-size: 12px; }


.c3-anchor-tabs {
  position: sticky;
  top: 0;
  z-index: 40;
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 0 24px;
  margin: 0 0 12px;
  height: 44px;
  background: #fff;
  border-bottom: 1px solid #E8EDF5;
  overflow-x: auto;
  scrollbar-width: none;
}
.c3-anchor-tabs::-webkit-scrollbar { display: none; }
.c3-anchor-tab {
  position: relative;
  flex: 0 0 auto;
  height: 44px;
  padding: 0;
  border: 0;
  background: none;
  font-family: inherit;
  font-size: 13px;
  color: #4E5C73;
  cursor: pointer;
  white-space: nowrap;
}
.c3-anchor-tab:hover { color: #0B1220; }
.c3-anchor-tab.is-on { color: #0B1220; font-weight: 600; }
.c3-anchor-tab.is-on::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -1px;
  height: 2px;
  background: #1E3A8A;
}


html.c3x body { margin: 0; background: #F5F7FB; color: #33415A; font: 13px/22px -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; -webkit-font-smoothing: antialiased; }
html.c3x ::selection { background: #DCE4F7; color: #0B1220; }
html.c3x :focus-visible { outline: 2px solid #2563EB; outline-offset: 2px; }
.c3x-wrap { max-width: 1600px; margin: 0 auto; padding: 20px 24px 56px; }
html.c3x-embed .c3x-wrap { padding: 16px 24px 48px; }
html.c3x-embed .c3x-topbar { display: none; }
.c3x-topbar { height: 64px; display: flex; align-items: center; justify-content: space-between; padding: 0 24px; background: #fff; border-bottom: 1px solid #E8EDF5; }
.c3x-topbar .b { display: flex; align-items: center; gap: 10px; font-size: 16px; font-weight: 600; color: #0B1220; }
.c3x-topbar .b i { width: 26px; height: 26px; border-radius: 7px; background: linear-gradient(135deg, #3B5BA5, #93A8D4); display: grid; place-items: center; font-size: 12px; font-style: normal; color: #fff; }
.c3x-topbar .r { display: flex; align-items: center; gap: 12px; font-size: 12px; color: #7E8CA3; }

.c3x-hero { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 16px; padding: 24px; border-radius: 10px; background: #0B1220; color: #fff; overflow: hidden; }
.c3x-hero-main { min-width: 0; }
.c3x-eyebrow { margin: 0 0 8px; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: #9AA9C2; }
.c3x-hero-title { margin: 0 0 10px; font-size: 24px; line-height: 34px; font-weight: 600; letter-spacing: -.3px; }
.c3x-hero-sub { margin: 0 0 16px; font-size: 13px; line-height: 22px; color: #C9D3E6; max-width: 640px; }
.c3x-hero-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.c3x-hero-side { border-left: 1px solid rgba(255, 255, 255, .12); padding-left: 20px; min-width: 0; }
.c3x-hero-side h3 { margin: 0 0 10px; font-size: 13px; font-weight: 500; color: #C9D3E6; display: flex; align-items: center; gap: 6px; }
.c3x-dot { width: 6px; height: 6px; border-radius: 99px; background: #34D399; box-shadow: 0 0 0 3px rgba(52, 211, 153, .18); }
.c3x-dot.is-off { background: #F87171; box-shadow: 0 0 0 3px rgba(248, 113, 113, .18); }
.c3x-facts { margin: 0; display: grid; gap: 10px; }
.c3x-facts div { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.c3x-facts dt { font-size: 12px; color: #9AA9C2; }
.c3x-facts dd { margin: 0; font-size: 16px; font-weight: 600; color: #fff; font-variant-numeric: tabular-nums; }
.c3x-facts dd small { font-size: 12px; font-weight: 400; color: #9AA9C2; margin-left: 3px; }
.c3x-hero-note { margin: 12px 0 0; font-size: 12px; color: #9AA9C2; }
.c3x-hero-note a { color: #93C5FD; text-decoration: none; }

.c3x-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 12px; }
.c3x-kpi { background: #fff; border: 1px solid #E8EDF5; border-radius: 10px; padding: 14px 16px; box-shadow: 0 1px 2px rgba(11, 18, 32, .06); min-width: 0; }
.c3x-kpi-label { margin: 0; font-size: 12px; color: #4E5C73; }
.c3x-kpi-value { margin: 4px 0 2px; font-size: 24px; line-height: 32px; font-weight: 600; color: #0B1220; font-variant-numeric: tabular-nums; }
.c3x-kpi-value small { font-size: 12px; font-weight: 400; color: #7E8CA3; margin-left: 4px; }
.c3x-kpi-hint { margin: 0; font-size: 12px; color: #7E8CA3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.c3x-caps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin-top: 12px; }
.c3x-cap { display: flex; flex-direction: column; gap: 4px; padding: 16px; border: 1px solid #E8EDF5; border-radius: 10px; background: #fff; text-decoration: none; color: inherit; transition: border-color 120ms, box-shadow 120ms, transform 120ms; }
.c3x-cap:hover { border-color: #B9C7E6; box-shadow: 0 6px 16px rgba(11, 18, 32, .08); }
.c3x-cap-i { width: 30px; height: 30px; border-radius: 8px; display: grid; place-items: center; background: #EEF2FB; color: #1E3A8A; margin-bottom: 4px; }
.c3x-cap-i svg { width: 16px; height: 16px; }
.c3x-cap-name { font-size: 14px; font-weight: 600; color: #0B1220; }
.c3x-cap-desc { font-size: 12px; color: #4E5C73; line-height: 18px; }
.c3x-cap-metric { font-size: 12px; color: #7E8CA3; }
.c3x-cap-link { margin-top: auto; font-size: 12px; color: #1E3A8A; font-weight: 500; }

.c3x-cols { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 12px; margin-top: 12px; }
.c3x-cols3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 12px; }
.c3x-card { background: #fff; border: 1px solid #E8EDF5; border-radius: 10px; box-shadow: 0 1px 2px rgba(11, 18, 32, .06); min-width: 0; overflow: hidden; }
.c3x-card-hd { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 16px; border-bottom: 1px solid #E8EDF5; }
.c3x-card-hd h2 { margin: 0; font-size: 16px; line-height: 24px; font-weight: 600; color: #0B1220; }
.c3x-card-hd .meta { font-size: 12px; color: #7E8CA3; }
.c3x-card-bd { padding: 14px 16px; }
.c3x-card-bd.flush { padding: 0; }

.c3x-tabs { display: flex; align-items: center; gap: 20px; border-bottom: 1px solid #E8EDF5; padding: 0 4px; margin-bottom: 12px; }
.c3x-tab { position: relative; height: 40px; border: 0; background: none; font-family: inherit; font-size: 13px; color: #4E5C73; cursor: pointer; white-space: nowrap; }
.c3x-tab:hover { color: #0B1220; }
.c3x-tab.is-on { color: #0B1220; font-weight: 600; }
.c3x-tab.is-on::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: #1E3A8A; }

.c3x-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 32px; padding: 0 14px; border: 1px solid #C4CEDD; border-radius: 6px; background: #fff; color: #33415A; font-family: inherit; font-size: 13px; font-weight: 500; line-height: 1; cursor: pointer; text-decoration: none; white-space: nowrap; transition: background-color 120ms, border-color 120ms, color 120ms; }
.c3x-btn:hover { background: #F5F7FB; border-color: #B9C7E6; }
.c3x-btn.primary { background: #1E3A8A; border-color: #1E3A8A; color: #fff; }
.c3x-btn.primary:hover { background: #16306F; }
.c3x-btn.ghost { border-color: transparent; background: transparent; color: #4E5C73; }
.c3x-btn.ghost:hover { background: #F5F7FB; color: #0B1220; }
.c3x-btn.danger { border-color: #F0C9C9; color: #B91C1C; }
.c3x-btn.danger:hover { background: #B91C1C; border-color: #B91C1C; color: #fff; }
.c3x-btn.sm { height: 28px; padding: 0 10px; font-size: 12px; border-radius: 4px; }
.c3x-btn:disabled { opacity: .5; cursor: not-allowed; }
.c3x-btn svg { width: 15px; height: 15px; }

.c3x-hero .c3x-btn { border-color: rgba(255, 255, 255, .25); background: rgba(255, 255, 255, .06); color: #fff; }
.c3x-hero .c3x-btn:hover { background: rgba(255, 255, 255, .14); }
.c3x-hero .c3x-btn.primary { background: #fff; border-color: #fff; color: #0B1220; }
.c3x-hero .c3x-btn.primary:hover { background: #E8EDF5; }

.c3x-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.c3x-field > label { font-size: 12px; font-weight: 500; color: #4E5C73; }
.c3x-in, .c3x-sel, .c3x-ta {
  width: 100%;
  min-height: 32px;
  padding: 6px 10px;
  border: 1px solid #C4CEDD;
  border-radius: 6px;
  background: #fff;
  color: #0B1220;
  font-family: inherit;
  font-size: 13px;
  line-height: 22px;
}
.c3x-ta { min-height: 96px; resize: vertical; line-height: 1.7; }
.c3x-in:focus, .c3x-sel:focus, .c3x-ta:focus { outline: none; border-color: #2563EB; box-shadow: 0 0 0 3px rgba(37, 99, 235, .14); }
.c3x-hint { font-size: 12px; color: #7E8CA3; line-height: 1.6; }
.c3x-req::after { content: " *"; color: #B91C1C; }

.c3x-grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.c3x-grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.c3x-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }

.c3x-list { display: flex; flex-direction: column; }
.c3x-item { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 1px solid #F0F3F9; min-width: 0; }
.c3x-item:last-child { border-bottom: 0; }
.c3x-item-main { min-width: 0; flex: 1 1 auto; display: flex; flex-direction: column; gap: 2px; }
.c3x-item-title { font-size: 13px; color: #0B1220; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.c3x-item-sub { font-size: 12px; color: #7E8CA3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.c3x-item-meta { font-size: 12px; color: #7E8CA3; flex: 0 0 auto; }

.c3x-tag { display: inline-flex; align-items: center; height: 22px; padding: 0 8px; border-radius: 4px; border: 1px solid #D5DCE8; background: #fff; font-size: 12px; font-weight: 500; color: #4E5C73; white-space: nowrap; }
.c3x-tag.ok { border-color: rgba(21, 128, 61, .38); color: #15803D; }
.c3x-tag.warn { border-color: rgba(180, 83, 9, .38); color: #B45309; }
.c3x-tag.bad { border-color: rgba(185, 28, 28, .38); color: #B91C1C; }
.c3x-tag.info { border-color: rgba(29, 78, 216, .38); color: #1D4ED8; }

.c3x-empty { padding: 40px 16px; text-align: center; color: #7E8CA3; font-size: 13px; line-height: 1.9; }
.c3x-empty b { display: block; font-size: 14px; color: #33415A; font-weight: 600; margin-bottom: 4px; }
.c3x-err { padding: 12px 14px; border-radius: 8px; background: #FDECEC; border: 1px solid #F3C7C2; color: #B91C1C; font-size: 13px; line-height: 1.7; white-space: pre-wrap; }
.c3x-warn { padding: 12px 14px; border-radius: 8px; background: #FDF3E3; border: 1px solid #F2E0AF; color: #B45309; font-size: 13px; line-height: 1.7; white-space: pre-wrap; }
.c3x-ok { padding: 12px 14px; border-radius: 8px; background: #E7F6EC; border: 1px solid #BFE4CD; color: #15803D; font-size: 13px; line-height: 1.7; white-space: pre-wrap; }
.c3x-note { padding: 12px 14px; border-radius: 8px; background: #F5F7FB; border: 1px solid #E8EDF5; color: #4E5C73; font-size: 12px; line-height: 1.8; }

.c3x-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.c3x-table th { height: 40px; padding: 0 12px; background: #E8EDF5; color: #33415A; font-size: 12px; font-weight: 500; text-align: left; white-space: nowrap; }
.c3x-table td { padding: 8px 12px; border-bottom: 1px solid #F0F3F9; color: #33415A; vertical-align: top; }
.c3x-table tbody tr:hover { background: #FAFCFF; }
.c3x-table td.num, .c3x-table th.num { text-align: right; font-variant-numeric: tabular-nums; }

.c3x-chart { display: flex; align-items: flex-end; gap: 8px; height: 120px; padding: 4px 0 0; }
.c3x-chart .col { flex: 1 1 0; display: flex; flex-direction: column; align-items: center; gap: 6px; min-width: 0; }
.c3x-chart .bar { width: 100%; max-width: 34px; border-radius: 4px 4px 0 0; background: #DCE4F7; transition: height 240ms ease; }
.c3x-chart .bar.on { background: #1E3A8A; }
.c3x-chart .lb { font-size: 12px; color: #7E8CA3; white-space: nowrap; }

.c3x-code { font-family: "SF Mono", "JetBrains Mono", Consolas, monospace; font-size: 12px; }
.c3x-copy { cursor: pointer; }

.c3x-toast { position: fixed; right: 16px; top: 16px; z-index: 1200; display: flex; flex-direction: column; gap: 8px; }
.c3x-toast .t { min-width: 220px; max-width: 360px; padding: 10px 12px; border-radius: 8px; background: #fff; border: 1px solid #E8EDF5; box-shadow: 0 6px 16px rgba(11, 18, 32, .12); font-size: 13px; color: #33415A; border-left: 3px solid #1E3A8A; animation: c3-fade 180ms ease both; }
.c3x-toast .t.ok { border-left-color: #15803D; }
.c3x-toast .t.warn { border-left-color: #B45309; }
.c3x-toast .t.err { border-left-color: #B91C1C; }
.c3x-spinner { width: 14px; height: 14px; border: 2px solid rgba(255, 255, 255, .4); border-top-color: #fff; border-radius: 99px; animation: c3-spin .7s linear infinite; }
@keyframes c3-spin { to { transform: rotate(360deg); } }

.c3x-io-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.c3x-io-card { display: flex; flex-direction: column; gap: 8px; padding: 14px 16px; border: 1px solid #E8EDF5; border-radius: 10px; background: #fff; }
.c3x-io-card h3 { margin: 0; font-size: 14px; font-weight: 600; color: #0B1220; }
.c3x-io-card p { margin: 0; font-size: 12px; color: #4E5C73; line-height: 18px; }
.c3x-io-card .r { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 8px; }

@media (max-width: 1099px) {
  .c3x-caps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .c3x-io-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1023px) {
  .c3x-wrap { padding: 16px 16px 48px; }
  .c3x-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .c3x-cols, .c3x-cols3 { grid-template-columns: minmax(0, 1fr); }
  .c3x-hero { grid-template-columns: minmax(0, 1fr); }
  .c3x-hero-side { border-left: 0; border-top: 1px solid rgba(255, 255, 255, .12); padding: 14px 0 0; }
}
@media (max-width: 767px) {
  .c3x-caps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .c3x-io-grid { grid-template-columns: minmax(0, 1fr); }
  .c3x-grid2, .c3x-grid3 { grid-template-columns: minmax(0, 1fr); }
  .c3x-hero { padding: 18px; }
  .c3x-hero-title { font-size: 20px; line-height: 28px; }
  .c3x-kpi-value { font-size: 20px; line-height: 28px; }
}



.c3-nav-toggle {
  display: none;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--c3-n-200);
  border-radius: 6px;
  background: #fff;
  color: var(--c3-n-600);
  cursor: pointer;
  flex: 0 0 36px;
}
.c3-nav-toggle:hover { background: var(--c3-n-50); }
.c3-nav-toggle .icon { width: 16px; height: 16px; }
@media (max-width: 767px) {
  .c3-nav-toggle { display: inline-flex; }
}


html body:not(.c3-bd-noheader) .el-tabs--top > .el-tabs__header .el-tabs__active-bar {
  height: 2px !important;
  top: auto !important;
  bottom: 0 !important;
  border-radius: 2px 2px 0 0 !important;
  background: var(--c3-brand) !important;
  box-shadow: none !important;
  z-index: 1 !important;
}
html body:not(.c3-bd-noheader) .el-tabs--top > .el-tabs__header .el-tabs__item {
  height: 40px !important;
  line-height: 40px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--c3-n-500) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}
html body:not(.c3-bd-noheader) .el-tabs--top > .el-tabs__header .el-tabs__item.is-active {
  color: var(--c3-n-900) !important;
  font-weight: 600 !important;
}
html body:not(.c3-bd-noheader) .el-table th.el-table__cell {
  height: 40px !important;
  background: var(--c3-n-100) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: var(--c3-n-600) !important;
}
html body:not(.c3-bd-noheader) .el-table th.el-table__cell .cell {
  font-size: 12px !important;
  font-weight: 500 !important;
}
html body:not(.c3-bd-noheader) .el-table td.el-table__cell { font-size: 13px !important; }
html body:not(.c3-bd-noheader) .el-button { font-size: 13px !important; border-radius: 6px !important; }
html body:not(.c3-bd-noheader) .el-button--small { font-size: 12px !important; border-radius: 4px !important; }
html body:not(.c3-bd-noheader) .el-button--primary { background: var(--c3-brand) !important; border-color: var(--c3-brand) !important; }
html body:not(.c3-bd-noheader) .el-tag { height: 22px !important; font-size: 12px !important; border-radius: 4px !important; }
html body:not(.c3-bd-noheader) .el-form-item__label { font-size: 12px !important; color: var(--c3-n-500) !important; }
html body:not(.c3-bd-noheader) .el-card__header { font-size: 16px !important; font-weight: 600 !important; }


html body:not(.c3-bd-noheader) .el-tabs--card > .el-tabs__header .el-tabs__item {
  position: relative;
}
html body:not(.c3-bd-noheader) .el-tabs--card > .el-tabs__header .el-tabs__item.is-active::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 2px;
  border-radius: 2px 2px 0 0;
  background: var(--c3-brand);
}

html body:not(.c3-bd-noheader) .el-table .el-button--danger {
  background: #fff !important;
  border: 1px solid #F0C9C9 !important;
  color: var(--c3-danger) !important;
}
html body:not(.c3-bd-noheader) .el-table .el-button--danger:hover {
  background: var(--c3-danger) !important;
  border-color: var(--c3-danger) !important;
  color: #fff !important;
}

html body:not(.c3-bd-noheader) .el-table .cell {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
html body:not(.c3-bd-noheader) .el-table td.el-table__cell { height: 44px !important; }




html.c3-theme table.tb { min-width: 1080px; }
html.c3-theme .tbwrap { overflow: auto; }


html.c3-theme button.primary,
html.c3-theme a.primary,
html.c3-theme .btn.primary {
  background: #1E3A8A !important;
  border-color: #1E3A8A !important;
  color: #fff !important;
}
html.c3-theme button.primary:hover,
html.c3-theme .btn.primary:hover { background: #16306F !important; border-color: #16306F !important; }


body:not(.c3-bd-noheader) .el-main span[style*="padding: 6px 16px"][style*="border-radius: 6px"] {
  background: transparent !important;
  color: var(--c3-n-500) !important;
  font-weight: 500 !important;
  box-shadow: none !important;
}
body:not(.c3-bd-noheader) .el-main span[style*="padding: 6px 16px"][style*="background: rgb(26, 58, 92)"] {
  background: transparent !important;
  color: var(--c3-n-900) !important;
  font-weight: 600 !important;
  box-shadow: inset 0 -2px 0 0 var(--c3-brand) !important;
}


html.c3-page-ai-center .tabbar { gap: 20px; padding-bottom: 0; border-bottom: 1px solid #E8EDF5; margin-bottom: 12px; }
html.c3-page-ai-center .tabbar .tab {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #4E5C73 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  padding: 0 0 10px !important;
  box-shadow: none !important;
}
html.c3-page-ai-center .tabbar .tab.on {
  background: transparent !important;
  color: #0B1220 !important;
  font-weight: 600 !important;
  box-shadow: inset 0 -2px 0 0 #1E3A8A !important;
}



html body:not(.c3-bd-noheader) .el-card { border-radius: 10px !important; }
html body:not(.c3-bd-noheader) .el-card__header { border-radius: 10px 10px 0 0 !important; }
html body:not(.c3-bd-noheader) .el-input__wrapper,
html body:not(.c3-bd-noheader) .el-select__wrapper,
html body:not(.c3-bd-noheader) .el-textarea__inner { border-radius: 6px !important; }
html body:not(.c3-bd-noheader) .el-table { border-radius: 0 !important; }
html body:not(.c3-bd-noheader) .el-progress-bar__outer,
html body:not(.c3-bd-noheader) .el-progress-bar__inner,
html body:not(.c3-bd-noheader) .el-switch__action { border-radius: 999px !important; }
html body:not(.c3-bd-noheader) .el-tabs--top > .el-tabs__header .el-tabs__active-bar { border-radius: 0 !important; }


html body:not(.c3-bd-noheader) .stat-value { font-size: 24px !important; }
html body:not(.c3-bd-noheader) .stat-label { font-size: 12px !important; }
html body:not(.c3-bd-noheader) .c3-stage-card { font-size: 13px !important; }
html body:not(.c3-bd-noheader) .c3-stage-card-value { font-size: 24px !important; }
html body:not(.c3-bd-noheader) .c3-chip { font-size: 12px !important; height: 22px !important; border-radius: 4px !important; }


html body:not(.c3-bd-noheader) .c3-prof-ava { font-size: 24px !important; border-radius: 999px !important; }
html body:not(.c3-bd-noheader) .c3-prof-hero b { font-size: 24px !important; }
html body:not(.c3-bd-noheader) .c3-prof-note,
html body:not(.c3-bd-noheader) .c3-prof-tip { font-size: 12px !important; }
html body:not(.c3-bd-noheader) .c3-prof-hero .k,
html body:not(.c3-bd-noheader) .c3-prof-card .k { font-size: 12px !important; }
html body:not(.c3-bd-noheader) .c3-prof-hero,
html body:not(.c3-bd-noheader) .c3-prof-card { border-radius: 10px !important; }
html body:not(.c3-bd-noheader) .c3-prof-hero i { border-radius: 0 !important; }


html body:not(.c3-bd-noheader) .el-main div[style*="border-radius: 8px"][style*="display: flex"] { border-radius: 10px !important; }
html body:not(.c3-bd-noheader) .el-main span[style*="border-radius: 8px"] { border-radius: 6px !important; }
html body:not(.c3-bd-noheader) .el-main button[style*="width: 24px"] { font-size: 12px !important; }


html body:not(.c3-bd-noheader) .c3-note-host { border-radius: 6px !important; }

html body:not(.c3-bd-noheader) .el-table { font-size: 13px !important; }
html body:not(.c3-bd-noheader) .el-table__empty-text { font-size: 13px !important; }
html body:not(.c3-bd-noheader) .el-table__expand-icon { border-radius: 4px !important; }
html body:not(.c3-bd-noheader) .preview-box { border-radius: 6px !important; }
html body:not(.c3-bd-noheader) .el-main span[style*="padding: 8px 22px"] { font-size: 13px !important; border-radius: 6px !important; }

html body:not(.c3-bd-noheader) .el-progress__text { font-size: 12px !important; }
html body:not(.c3-bd-noheader) .el-main div[style*="font-size: 15px"] { font-size: 16px !important; }
html body:not(.c3-bd-noheader) .el-main em { font-size: 12px !important; }
html body:not(.c3-bd-noheader) .c3-prof-hero i,
html body:not(.c3-bd-noheader) .c3-prof-card i { border-radius: 999px !important; }


.c3-toolbar-input {
  height: 32px;
  min-width: 260px;
  padding: 0 10px;
  border: 1px solid #C4CEDD;
  border-radius: 6px;
  background: #fff;
  color: #0B1220;
  font-family: inherit;
  font-size: 13px;
}
.c3-toolbar-input:focus { outline: none; border-color: #2563EB; box-shadow: 0 0 0 3px rgba(37, 99, 235, .14); }
.c3-toolbar-select {
  height: 32px;
  min-width: 130px;
  padding: 0 8px;
  border: 1px solid #C4CEDD;
  border-radius: 6px;
  background: #fff;
  color: #0B1220;
  font-family: inherit;
  font-size: 13px;
}
.c3-toolbar-btn {
  height: 32px;
  padding: 0 12px;
  border: 1px solid #C4CEDD;
  border-radius: 6px;
  background: #fff;
  color: #33415A;
  font-family: inherit;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
}
.c3-toolbar-btn:hover { background: #F5F7FB; border-color: #B9C7E6; }
.c3-toolbar-btn.primary { background: #1E3A8A; border-color: #1E3A8A; color: #fff; }
.c3-toolbar-btn.primary:hover { background: #16306F; }
.c3-view-btn { margin-right: 6px; }


.c3-drawer-mask {
  position: fixed;
  inset: 0;
  z-index: 3000;
  background: rgba(8, 14, 26, .45);
  display: flex;
  justify-content: flex-end;
}
.c3-drawer {
  width: 480px;
  max-width: 92vw;
  height: 100%;
  background: #fff;
  display: flex;
  flex-direction: column;
  box-shadow: 0 16px 40px rgba(11, 18, 32, .18);
  animation: c3-drawer-in 180ms cubic-bezier(.4, 0, .2, 1) both;
}
@keyframes c3-drawer-in { from { transform: translateX(24px); opacity: .6; } to { transform: none; opacity: 1; } }
.c3-drawer header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid #E8EDF5;
}
.c3-drawer header h2 { margin: 0; font-size: 16px; font-weight: 600; color: #0B1220; }
.c3-drawer-x { border: 0; background: none; font-size: 20px; line-height: 1; color: #7E8CA3; cursor: pointer; }
.c3-drawer-bd { flex: 1 1 auto; overflow: auto; padding: 18px 20px; }
.c3-def { margin: 0; display: grid; gap: 10px; }
.c3-def-row { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 10px; align-items: baseline; padding-bottom: 10px; border-bottom: 1px solid #F0F3F9; }
.c3-def-row:last-child { border-bottom: 0; }
.c3-def-row dt { font-size: 12px; color: #4E5C73; }
.c3-def-row dd { margin: 0; font-size: 13px; line-height: 22px; color: #0B1220; word-break: break-all; }
.c3-drawer-note { margin: 14px 0 0; font-size: 12px; color: #7E8CA3; line-height: 1.7; }
.c3-drawer footer { padding: 12px 20px; border-top: 1px solid #E8EDF5; display: flex; justify-content: flex-end; }
.c3-drawer-close { height: 32px; padding: 0 14px; border: 1px solid #C4CEDD; border-radius: 6px; background: #fff; color: #33415A; font-family: inherit; font-size: 13px; cursor: pointer; }
.c3-drawer-close:hover { background: #F5F7FB; }

.c3-stage-card-value.is-long { font-size: 18px; line-height: 24px; letter-spacing: -.2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }



.c3-stat-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 10px;
  padding: 12px 16px 2px;
}
.c3-stat-tile {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 0;
  padding: 8px 12px 7px;
  border: 1px solid #D5DCE8;
  border-radius: 6px;
  background: #fff;
  color: #33415A;
  font-family: inherit;
  text-align: center;
  cursor: pointer;
  overflow: hidden;
  isolation: isolate;
  transition: transform 160ms cubic-bezier(.4, 0, .2, 1), box-shadow 160ms ease, border-color 160ms ease, background-color 160ms ease;
  animation: c3StatIn 360ms cubic-bezier(.4, 0, .2, 1) both;
  animation-delay: calc(var(--i, 0) * 60ms);
}
@keyframes c3StatIn {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: none; }
}
.c3-stat-tile.tone-all     { --tone: #1E3A8A; --tone-soft: #EEF2FB; --tone-line: #C7D2F0; }
.c3-stat-tile.tone-info    { --tone: #1D4ED8; --tone-soft: #EEF3FE; --tone-line: #C5D5F8; }
.c3-stat-tile.tone-warning { --tone: #B45309; --tone-soft: #FDF3E3; --tone-line: #F2D5AE; }
.c3-stat-tile.tone-success { --tone: #15803D; --tone-soft: #E9F7EE; --tone-line: #BCE3C8; }
.c3-stat-tile.tone-muted   { --tone: #6B7A93; --tone-soft: #F3F5F9; --tone-line: #D9DFE9; }
.c3-stat-tile.tone-neutral { --tone-soft: transparent; --tone-line: #D5DCE8; }
.c3-stat-tile:hover { transform: translateY(-2px); border-color: var(--tone-line, #D5DCE8); box-shadow: 0 8px 20px rgba(11, 18, 32, .10); }
.c3-stat-tile:active { transform: translateY(0); }
.c3-stat-tile:focus-visible { outline: 2px solid #2563EB; outline-offset: 2px; }
.c3-stat-label { margin: 0; font-size: 12px; line-height: 16px; font-weight: 500; color: #4E5C73; }
.c3-stat-value { margin: 0; font-size: 24px; line-height: 28px; font-weight: 700; color: var(--tone, #33415A); font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.c3-stat-unit { margin-left: 3px; font-size: 12px; font-weight: 500; color: #6B7A93; }
.c3-stat-hint { margin: 0; font-size: 12px; line-height: 16px; color: #6B7A93; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.c3-stat-tile.is-on { background: #fff; border-color: var(--tone, #1E3A8A); box-shadow: none; }
.c3-stat-tile.is-on .c3-stat-label { color: #1E2A3D; }
.c3-stat-check {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: scale(.5);
  transition: opacity 160ms ease, transform 160ms ease;
}
.c3-stat-check .icon { width: 14px; height: 14px; color: var(--tone, #33415A); stroke-width: 3; }
.c3-stat-tile.is-on .c3-stat-check { opacity: 1; transform: scale(1); }
.c3-stat-bar {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 4px;
  background: var(--tone-soft, transparent);
  overflow: hidden;
}
.c3-stat-bar i {
  display: block;
  height: 100%;
  width: 0;
  background: var(--tone, transparent);
  opacity: .45;
  transition: width 620ms cubic-bezier(.2, .8, .2, 1), opacity 160ms ease;
}
.c3-stat-tile.is-on .c3-stat-bar i { opacity: 1; }
.c3-stat-tile:hover .c3-stat-bar i { opacity: .8; }
@media (max-width: 1100px) {
  .c3-stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .c3-stat-grid {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 8px;
    padding: 12px 16px 8px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
  }
  .c3-stat-tile { flex: 0 0 136px; width: 136px; padding: 8px 10px; scroll-snap-align: start; }
}
@media (prefers-reduced-motion: reduce) {
  .c3-stat-tile { animation: none; transition: none; }
  .c3-stat-tile:hover { transform: none; }
  .c3-stat-bar i { transition: none; }
}


.c3-filter-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  border-bottom: 1px solid #E8EDF5;
  flex-wrap: wrap;
}
.c3-input-icon { position: relative; display: inline-flex; align-items: center; width: 240px; }
.c3-input-icon > .icon { position: absolute; left: 10px; width: 14px; height: 14px; color: #4E5C73; pointer-events: none; }
.c3-input {
  width: 100%;
  height: 36px;
  padding: 0 12px 0 32px;
  border: 1px solid #D5DCE8;
  border-radius: 6px;
  background: #fff;
  color: #0B1220;
  font-family: inherit;
  font-size: 14px;
  line-height: 22px;
  transition: border-color 120ms ease, box-shadow 120ms ease;
}
.c3-input::placeholder { color: #7E8CA3; }
.c3-input:hover { border-color: #7E8CA3; }
.c3-input:focus { outline: none; border-color: #2563EB; box-shadow: 0 0 0 2px #2563EB; }
.c3-select-wrap { position: relative; width: 148px; }
.c3-select {
  width: 100%;
  height: 36px;
  padding: 0 32px 0 12px;
  border: 1px solid #D5DCE8;
  border-radius: 6px;
  background: #fff;
  color: #0B1220;
  font-family: inherit;
  font-size: 14px;
  appearance: none;
  cursor: pointer;
  transition: border-color 120ms ease, box-shadow 120ms ease;
}
.c3-select:hover { border-color: #7E8CA3; }
.c3-select:focus { outline: none; border-color: #2563EB; box-shadow: 0 0 0 2px #2563EB; }
.c3-select-caret { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); width: 14px; height: 14px; color: #4E5C73; pointer-events: none; }
.c3-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 36px;
  padding: 0 12px;
  border: 1px solid transparent;
  border-radius: 6px;
  font-family: inherit;
  font-size: 14px;
  line-height: 22px;
  font-weight: 500;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color 120ms ease, border-color 120ms ease, transform 120ms ease, box-shadow 120ms ease;
}
.c3-btn .icon { width: 16px; height: 16px; }
.c3-btn-primary { background: #1E3A8A; color: #fff; }
.c3-btn-primary:hover { background: #16306F; }
.c3-btn-primary:active { background: #10265A; transform: translateY(1px); }
.c3-filter-spacer { margin-left: auto; }
.c3-filter-count { font-size: 12px; line-height: 18px; color: #4E5C73; font-variant-numeric: tabular-nums; }

.c3-stat-grid.is-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
@media (max-width: 1100px) { .c3-stat-grid.is-5 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }



.c3-table-wrap {
  overflow: auto;
  max-height: calc(100vh - 380px);
  scrollbar-width: thin;
  border-top: 0;
}
.c3-table {
  width: max-content;
  min-width: max(1040px, 100%);
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  font-variant-numeric: tabular-nums;
}
.c3-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  height: 40px;
  padding: 0 12px;
  background: #E8EDF5;
  font-size: 12px;
  line-height: 18px;
  font-weight: 500;
  color: #4E5C73;
  text-align: left;
  white-space: nowrap;
  border-bottom: 1px solid #D5DCE8;
}
.c3-table thead th.num { text-align: right; }
.c3-table tbody td {
  height: 40px;
  padding: 0 12px;
  font-size: 13px;
  line-height: 20px;
  color: #33415A;
  border-bottom: 1px solid #E8EDF5;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.c3-table tbody tr:last-child td { border-bottom: 0; }
.c3-table tbody tr { transition: background-color 120ms cubic-bezier(.4, 0, .2, 1); }
.c3-table tbody tr:hover td { background: #F5F7FB; }
.c3-table .num { text-align: right; font-variant-numeric: tabular-nums; }
.c3-table .c3-col-name { color: #0B1220; font-weight: 500; }
.c3-table .c3-ellipsis { max-width: 260px; overflow: hidden; text-overflow: ellipsis; }
.c3-table .c3-muted { color: #4E5C73; }
.c3-table .c3-col-actions { position: sticky; right: 0; z-index: 2; background: #fff; border-left: 1px solid #E8EDF5; }
.c3-table thead .c3-col-actions { background: #E8EDF5; z-index: 3; }
.c3-table tbody tr:hover .c3-col-actions { background: #F5F7FB; }
.c3-row-actions { display: flex; align-items: center; gap: 2px; }
.c3-act {
  height: 28px;
  padding: 0 8px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #33415A;
  font-family: inherit;
  font-size: 13px;
  line-height: 28px;
  font-weight: 500;
  cursor: pointer;
  white-space: nowrap;
  transition: background-color 120ms ease, color 120ms ease;
}
.c3-act:hover { background: #F5F7FB; color: #0B1220; }
.c3-act-danger { color: #B91C1C; }
.c3-act-danger:hover { background: #FDECEC; color: #B91C1C; }
.c3-pill {
  display: inline-flex;
  align-items: center;
  height: 22px;
  padding: 0 8px;
  border: 1px solid transparent;
  border-radius: 4px;
  background: #fff;
  font-size: 12px;
  line-height: 18px;
  font-weight: 500;
  white-space: nowrap;
}
.c3-pill-neutral { border-color: rgba(78, 92, 115, .30); color: #4E5C73; }
.c3-pill-info { border-color: rgba(29, 78, 216, .38); color: #1D4ED8; }
.c3-pill-warning { border-color: rgba(180, 83, 9, .38); color: #B45309; }
.c3-pill-success { border-color: rgba(21, 128, 61, .38); color: #15803D; }
.c3-pill-muted { border-color: rgba(78, 92, 115, .22); color: #4E5C73; }
.c3-score { display: inline-flex; align-items: center; gap: 8px; }
.c3-score-bar { width: 44px; height: 4px; border-radius: 999px; background: #E8EDF5; overflow: hidden; flex: 0 0 auto; }
.c3-score-bar i { display: block; height: 100%; border-radius: 999px; background: #1E3A8A; transform-origin: left center; }
.c3-score-num { font-size: 13px; color: #33415A; font-variant-numeric: tabular-nums; }
.c3-table-empty { padding: 44px 20px; text-align: center; font-size: 13px; color: #4E5C73; }
@media (max-width: 767px) {
  .c3-table-wrap { max-height: none; }
  .c3-table { min-width: 1040px; }
}


html body aside.el-aside {
  width: 155px !important;   
  flex: 0 0 auto !important;
  background: #1E2A3D !important;
  color: #fff;
  transition: width 180ms cubic-bezier(.4, 0, .2, 1) !important;
  overflow: hidden;
}
html body .c3-side { background: #1E2A3D; }


html body .c3-side-brand {
  height: 56px !important;
  flex: 0 0 56px !important;
  padding: 0 16px !important;
  gap: 10px;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  overflow: hidden;
}
html body .c3-side-mark {
  width: 28px !important;
  height: 28px !important;
  flex: 0 0 28px !important;
  border-radius: 6px !important;
  background: rgba(255, 255, 255, .12) !important;
  background-image: none !important;
  box-shadow: none !important;
  color: #fff;
  font-size: 13px !important;
  line-height: 20px;
  font-weight: 700;
}
html body .c3-side-brand-text { font-size: 14px; font-weight: 600; color: #fff; }


html body .c3-nav {
  padding: 8px 0 12px !important;
  overflow-y: auto;
  overflow-x: hidden;
}
html body .c3-nav::-webkit-scrollbar { width: 6px; }
html body .c3-nav::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, .22); border-radius: 999px; }
html body .c3-nav-grp { margin-top: 0; }
html body .c3-nav-grp + .c3-nav-grp { margin-top: 4px; }
html body .c3-nav-grp-label {
  display: flex;
  align-items: center;
  height: 28px !important;
  margin: 0 !important;
  padding: 0 16px !important;
  font-size: 12px !important;
  line-height: 18px !important;
  font-weight: 500;
  color: rgba(255, 255, 255, .52) !important;
}
html body .c3-nav-it {
  height: 40px !important;
  margin: 0 !important;
  padding: 0 16px !important;
  gap: 10px !important;
  border-radius: 0 !important;
  background: transparent;
  color: rgba(255, 255, 255, .78) !important;
  font-size: 14px !important;
  line-height: 22px !important;
  font-weight: 400;
  transition: background-color 120ms cubic-bezier(.4, 0, .2, 1), color 120ms cubic-bezier(.4, 0, .2, 1) !important;
}
html body .c3-nav-it .icon { width: 16px; height: 16px; flex: 0 0 16px; color: rgba(255, 255, 255, .62) !important; opacity: 1 !important; }
html body .c3-nav-it:hover { background: rgba(255, 255, 255, .07) !important; color: #fff !important; }
html body .c3-nav-it:hover .icon { color: #fff !important; }
html body .c3-nav-it:active { background: rgba(255, 255, 255, .12) !important; }
html body .c3-nav-it.is-active {
  background: rgba(37, 99, 235, .22) !important;
  color: #fff !important;
  font-weight: 600 !important;
}
html body .c3-nav-it.is-active .icon { color: #8AB4FF !important; }
html body .c3-nav-it.is-active:hover { background: rgba(37, 99, 235, .28) !important; }
html body .c3-nav-it.is-active::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0;
  width: 3px; border-radius: 0; background: #60A5FA;
}


html body .c3-side-foot {
  flex: 0 0 auto;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch;
  gap: 4px !important;
  padding: 8px !important;
  border-top: 1px solid rgba(255, 255, 255, .08);
}
html body .c3-side-co {
  flex: 1 1 auto;
  min-width: 0;
  width: 100% !important;
  height: 44px !important;
  padding: 0 8px !important;
  gap: 8px !important;
  border-radius: 6px !important;
  background: transparent;
  color: #fff;
  text-align: left;
  transition: background-color 120ms cubic-bezier(.4, 0, .2, 1);
}
html body .c3-side-co:hover { background: rgba(255, 255, 255, .07) !important; }
html body .c3-side-co-avatar {
  width: 28px !important;
  height: 28px !important;
  flex: 0 0 28px !important;
  border-radius: 6px !important;
  background: #1E3A8A !important;
  border: 0 !important;
  color: #fff;
  font-size: 13px !important;
  font-weight: 600;
}
html body .c3-side-co-txt { display: flex; flex-direction: column; min-width: 0; gap: 0; }
html body .c3-side-co-name { font-size: 13px !important; line-height: 18px !important; color: rgba(255, 255, 255, .92) !important; font-weight: 400 !important; }
html body .c3-side-co-meta { font-size: 12px !important; line-height: 16px !important; color: rgba(255, 255, 255, .52) !important; }

html body .c3-side-co-name,
html body .c3-side-co-meta { display: block; width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html body .c3-side-co .company-caret { width: 14px; height: 14px; margin-left: auto; flex: 0 0 14px; color: rgba(255, 255, 255, .5); }
html body .c3-rail-btn {
  width: 32px !important;
  height: 32px !important;
  flex: 0 0 32px !important;
  align-self: center !important;
  margin: 0 !important;
  border-radius: 6px !important;
  color: rgba(255, 255, 255, .6) !important;
  transition: background-color 120ms cubic-bezier(.4, 0, .2, 1), color 120ms cubic-bezier(.4, 0, .2, 1);
}
html body .c3-rail-btn:hover { background: rgba(255, 255, 255, .1) !important; color: #fff !important; }
html body .c3-rail-btn .icon { width: 16px; height: 16px; }


html body.c3-rail aside.el-aside { width: 64px !important; }
html body.c3-rail .c3-side-brand { padding: 0 18px !important; justify-content: flex-start !important; }
html body.c3-rail .c3-side-brand-text,
html body.c3-rail .c3-side-co-txt,
html body.c3-rail .c3-side-co .company-caret,
html body.c3-rail .c3-nav-it-text { display: none !important; }
html body.c3-rail .c3-nav-grp-label { display: flex !important; padding: 0 !important; height: 20px !important; visibility: hidden; }
html body.c3-rail .c3-nav-grp + .c3-nav-grp { border-top: 1px solid rgba(255, 255, 255, .12); margin-top: 0 !important; padding-top: 4px; }
html body.c3-rail .c3-nav-it { justify-content: center !important; padding: 0 !important; gap: 0 !important; }
html body.c3-rail .c3-nav-it::before { display: none; }
html body.c3-rail .c3-nav-it.is-active::before { display: block; }
html body.c3-rail .c3-side-co { justify-content: center !important; padding: 0 !important; height: 44px !important; flex: 0 0 44px !important; }
html body.c3-rail .c3-side-foot { flex-direction: column !important; gap: 8px !important; padding: 8px 0 !important; }
html body.c3-rail .c3-rail-btn { width: 40px !important; height: 40px !important; flex: 0 0 40px !important; }

.c3-rail-tip {
  position: fixed;
  left: 0;
  top: 0;
  transform: translateY(-50%);
  padding: 4px 10px;
  border-radius: 4px;
  background: #0B1220;
  color: #fff;
  font-size: 12px;
  line-height: 18px;
  font-weight: 400;
  white-space: nowrap;
  box-shadow: 0 6px 16px rgba(11, 18, 32, .10);
  pointer-events: none;
  z-index: 4000;
  opacity: 0;
  visibility: hidden;
  transition: opacity 120ms cubic-bezier(.4, 0, .2, 1);
}
.c3-rail-tip.is-on { opacity: 1; visibility: visible; }


.c3-co-mask {
  position: fixed;
  inset: 0;
  z-index: 4000;
  display: grid;
  place-items: center;
  background: rgba(11, 18, 32, .45);
  animation: c3FadeIn 160ms cubic-bezier(.4, 0, .2, 1) both;
}
@keyframes c3FadeIn { from { opacity: 0; } to { opacity: 1; } }
.c3-co-modal {
  width: 440px;
  max-width: calc(100vw - 40px);
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 16px 40px rgba(11, 18, 32, .16);
  overflow: hidden;
  animation: c3ModalIn 180ms cubic-bezier(.4, 0, .2, 1) both;
}
@keyframes c3ModalIn { from { opacity: 0; transform: scale(.96) translateY(4px); } to { opacity: 1; transform: none; } }
.c3-co-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 18px 20px 8px; }
.c3-co-title { margin: 0; font-size: 16px; line-height: 24px; font-weight: 600; color: #0B1220; }
.c3-co-x { width: 28px; height: 28px; border: 0; border-radius: 6px; background: transparent; color: #4E5C73; font-size: 18px; line-height: 1; cursor: pointer; }
.c3-co-x:hover { background: #F5F7FB; color: #0B1220; }
.c3-co-sub { margin: 0 20px 12px; font-size: 12px; line-height: 18px; color: #4E5C73; }
.c3-co-list { padding: 0 20px 4px; }
.c3-co-row {
  display: flex; align-items: center; gap: 10px;
  padding: 12px; border: 1px solid #E8EDF5; border-radius: 10px;
  background: #fff;
}
.c3-co-row.is-on { border-color: #1E3A8A; background: #EEF2FB; }
.c3-co-row input { accent-color: #1E3A8A; }
.c3-co-row-main { min-width: 0; display: flex; flex-direction: column; }
.c3-co-row-name { font-size: 14px; line-height: 22px; font-weight: 500; color: #0B1220; }
.c3-co-row-meta { font-size: 12px; line-height: 18px; color: #4E5C73; }
.c3-co-row .c3-co-pill { margin-left: auto; height: 22px; padding: 0 8px; border: 1px solid rgba(29, 78, 216, .38); border-radius: 4px; font-size: 12px; line-height: 20px; color: #1D4ED8; }
.c3-co-note { margin: 10px 20px 0; padding: 10px 12px; border-radius: 6px; background: #F5F7FB; font-size: 12px; line-height: 18px; color: #4E5C73; }
.c3-co-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; padding: 16px 20px 20px; }
.c3-co-actions .c3-co-btn {
  height: 32px; padding: 0 12px; border: 1px solid #D5DCE8; border-radius: 6px;
  background: #fff; color: #33415A; font-family: inherit; font-size: 13px; cursor: pointer;
}
.c3-co-actions .c3-co-btn:hover { background: #F5F7FB; }
.c3-co-actions .c3-co-btn.primary { border-color: #1E3A8A; background: #1E3A8A; color: #fff; }
.c3-co-actions .c3-co-btn.primary:hover { background: #16306F; }
.c3-co-actions .c3-co-btn.danger { border-color: transparent; color: #B91C1C; }
.c3-co-actions .c3-co-btn.danger:hover { background: #FDECEC; }


html body .c3-side-brand {
  justify-content: center !important;
  padding: 0 12px !important;
  gap: 0 !important;
}
html body .c3-side-brand-text { display: none !important; }
html body .c3-side-logo-tile {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}
html body .c3-side-logo {
  display: block;
  width: auto;
  height: auto;
  max-width: 32px;
  max-height: 32px;
  object-fit: contain;
}
html body .c3-side-logo-fallback {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  background: rgba(255, 255, 255, .12);
  color: #fff;
  font-size: 13px;
  line-height: 20px;
  font-weight: 700;
}
html body.c3-rail .c3-side-brand { justify-content: center !important; padding: 0 !important; }
html body.c3-rail .c3-side-logo-tile { width: 40px; height: 40px; }


html body:not(.c3-ent) aside.el-aside {
  width: var(--el-aside-width, 220px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  flex: 0 0 auto !important;
  background: #0F1D3A !important;
  transition: none !important;
}
html body:not(.c3-ent) aside.el-aside > div:first-child { display: block !important; }
html body:not(.c3-ent) aside.el-aside > ul.el-menu { display: block !important; }
html body:not(.c3-ent) .c3-side { display: none !important; }
html body:not(.c3-ent) aside.el-aside > div:first-child { padding: 18px 14px !important; font-size: 18px !important; font-weight: 700 !important; border-bottom: 1px solid rgba(255, 255, 255, .08) !important; }
