:root {
  --cjc-primary: #1a835c;
  --cjc-primary-hover: #156d4e;
  --cjc-primary-active: #10573f;
  --cjc-primary-disabled: #8ccdb2;
  --cjc-primary-soft: #e4f3ec;
  --cjc-secondary: #167be0;
  --cjc-success: #21a665;
  --cjc-warning: #e17516;
  --cjc-danger: #df3630;
  --cjc-info: #167be0;
  --cjc-text: #222725;
  --cjc-text-80: rgba(34, 39, 37, .8);
  --cjc-text-60: rgba(34, 39, 37, .6);
  --cjc-text-35: rgba(34, 39, 37, .35);
  --cjc-fill-0: rgba(34, 39, 37, .05);
  --cjc-fill-1: rgba(34, 39, 37, .09);
  --cjc-fill-2: rgba(34, 39, 37, .13);
  --cjc-border: rgba(34, 39, 37, .08);
  --cjc-overlay: rgba(22, 22, 26, .6);
  --cjc-surface: #fff;
  --cjc-radius-xs: 2px;
  --cjc-radius-sm: 4px;
  --cjc-radius-md: 8px;
  --cjc-radius-lg: 16px;
  --cjc-shadow-card: 0 0 1px rgba(0, 0, 0, .04), 0 2px 5px rgba(0, 0, 0, .1);
  --cjc-shadow-dialog: 0 0 1px rgba(0, 0, 0, .16), 0 8px 20px rgba(0, 0, 0, .1);
}

.cjc-scope,
.cjc-dialog-layer {
  color: var(--cjc-text);
  font-family: "Inter", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
  font-size: 12px;
  font-feature-settings: "tnum" 1;
  font-variant-numeric: tabular-nums;
}

.cjc-scope *,
.cjc-dialog-layer * { box-sizing: border-box; }

.cjc-button {
  height: 28px;
  padding: 0 11px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  gap: 5px;
  border: 1px solid transparent;
  border-radius: var(--cjc-radius-sm);
  background: var(--cjc-fill-0);
  color: var(--cjc-primary);
  font: inherit;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color .15s ease, color .15s ease, transform .15s ease;
}

.cjc-button:hover { background: var(--cjc-fill-1); }
.cjc-button > svg,
.cjc-icon-action > svg,
.cjc-icon-button > svg { display: block; flex-shrink: 0; }
.cjc-button:active { background: var(--cjc-fill-2); transform: scale(.98); }
.cjc-button--small { height: 20px; }
.cjc-button--large { height: 38px; padding: 0 16px; }
.cjc-button--primary,
.cjc-button--success,
.cjc-button--warning,
.cjc-button--danger,
.cjc-button--info { color: #fff; }
.cjc-button--primary { border-color: var(--cjc-primary); background: var(--cjc-primary); }
.cjc-button--primary:hover { background: var(--cjc-primary-hover); }
.cjc-button--primary:active { background: var(--cjc-primary-active); }
.cjc-button--success { background: var(--cjc-success); }
.cjc-button--warning { background: var(--cjc-warning); }
.cjc-button--danger { background: var(--cjc-danger); }
.cjc-button--info { background: var(--cjc-info); }
.cjc-button:disabled {
  color: var(--cjc-text-35);
  background: var(--cjc-fill-0);
  cursor: not-allowed;
  transform: none;
}

.cjc-button-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }

.cjc-tag {
  min-height: 20px;
  padding: 1px 7px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border: 1px solid currentColor;
  border-radius: var(--cjc-radius-xs);
  background: #fff;
  color: var(--cjc-danger);
  font-size: 12px;
  line-height: 16px;
  white-space: nowrap;
}

.cjc-tag--round { border-radius: 999px; padding-inline: 8px; }
.cjc-tag--primary { color: var(--cjc-primary); }
.cjc-tag--success { color: var(--cjc-success); }
.cjc-tag--warning { color: var(--cjc-warning); }
.cjc-tag--info { color: var(--cjc-info); }
.cjc-tag--light { border-color: transparent; background: color-mix(in srgb, currentColor 15%, transparent); }
.cjc-tag--dark { border-color: transparent; background: currentColor; }
.cjc-tag--dark > span { color: #fff; }
.cjc-tag__dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }

.cjc-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 24px;
}

.cjc-field {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.cjc-field__label { color: var(--cjc-text-60); white-space: nowrap; }
.cjc-field__required { color: var(--cjc-danger); margin-right: 3px; }
.cjc-control {
  width: 100%;
  height: 28px;
  padding: 1px 11px;
  border: 1px solid transparent;
  border-radius: var(--cjc-radius-sm);
  outline: none;
  background-color: var(--cjc-fill-0);
  color: var(--cjc-text);
  font: inherit;
  transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
}

.cjc-field > .el-input,
.cjc-field > .el-select,
.cjc-search .el-input,
.cjc-search .el-select {
  width: 100%;
  min-width: 0;
}

.cjc-field .el-input__wrapper,
.cjc-field .el-select__wrapper,
.cjc-search .el-input__wrapper,
.cjc-search .el-select__wrapper {
  width: 100%;
  min-width: 0;
  display: flex;
  align-items: center;
  border-radius: 4px;
  background: var(--cjc-fill-0);
}

.cjc-field .el-input__wrapper .cjc-control,
.cjc-field .el-select__wrapper .cjc-control,
.cjc-search .el-input__wrapper .cjc-control,
.cjc-search .el-select__wrapper .cjc-control {
  background: transparent;
}

.cjc-control::placeholder { color: var(--cjc-text-35); }
.cjc-control:hover { background-color: var(--cjc-fill-1); }
.cjc-control:focus {
  border-color: var(--cjc-primary);
  background-color: var(--cjc-fill-0);
  box-shadow: 0 0 0 2px rgba(26, 131, 92, .1);
}
.cjc-control[readonly] { color: var(--cjc-text-60); background-color: #f5f7fa; cursor: default; }
.cjc-control:disabled { color: var(--cjc-text-35); background-color: #f2f3f5; cursor: not-allowed; }
.cjc-control--select {
  appearance: none;
  padding-right: 28px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23727b77' stroke-width='2'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat: no-repeat;
  background-position: right 8px center;
  background-size: 12px;
}

.cjc-checkbox {
  appearance: none;
  width: 16px;
  height: 16px;
  margin: 0;
  border: 1px solid rgba(34, 39, 37, .35);
  border-radius: 2px;
  background: #fff center / 11px no-repeat;
  vertical-align: middle;
  cursor: pointer;
}
.cjc-checkbox:checked {
  border-color: var(--cjc-primary);
  background-color: var(--cjc-primary);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><polyline points='3 8 7 12 13 4' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");
}
.cjc-checkbox:indeterminate {
  border-color: var(--cjc-primary);
  background-color: var(--cjc-primary);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><line x1='4' y1='8' x2='12' y2='8' stroke='white' stroke-width='2' stroke-linecap='round'/></svg>");
}

.cjc-table-card {
  width: 100%;
  height: 100%;
  min-height: 220px;
  padding: 8px;
  overflow: hidden;
  border-radius: var(--cjc-radius-md);
  background: #fff;
  box-shadow: var(--cjc-shadow-card);
}
.cjc-table-scroll { width: 100%; height: 100%; overflow: auto; }
.cjc-table { width: 100%; min-width: 760px; border-collapse: collapse; table-layout: fixed; }
.cjc-table th {
  height: 38px;
  padding: 9px 8px;
  border-bottom: 2px solid var(--cjc-border);
  background: #fff;
  color: var(--cjc-text-60);
  font-size: 14px;
  font-weight: 400;
  text-align: left;
  white-space: nowrap;
}
.cjc-table td {
  height: 40px;
  padding: 8px;
  border-bottom: 1px solid var(--cjc-border);
  background: #fff;
  color: var(--cjc-text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cjc-table--striped tbody tr:nth-child(even) td { background: var(--cjc-fill-0); }
.cjc-table tbody tr:hover td { background: var(--cjc-fill-1); }
.cjc-table tbody tr.is-selected td { background: var(--cjc-primary-soft); }
.cjc-table .is-number { text-align: right; }
.cjc-table .is-center { text-align: center; }
.cjc-table__link { color: var(--cjc-primary); text-decoration: none; cursor: pointer; }
.cjc-table__link:hover { color: var(--cjc-primary-hover); }
.cjc-table__empty { height: 92px !important; color: var(--cjc-text-35) !important; text-align: center; }

.cjc-dialog-layer {
  position: fixed;
  inset: 0;
  z-index: 500;
  display: none;
  align-items: center;
  justify-content: center;
  background: var(--cjc-overlay);
}
.cjc-dialog-layer.is-open { display: flex; }
.cjc-dialog {
  position: relative;
  width: min(960px, calc(100% - 32px));
  max-height: calc(100% - 32px);
  padding: 24px;
  display: flex;
  flex-direction: column;
  border-radius: var(--cjc-radius-lg);
  background: #fff;
  box-shadow: var(--cjc-shadow-dialog);
}
.cjc-dialog__header { display: flex; align-items: flex-start; margin-bottom: 24px; }
.cjc-dialog__title { font-size: 18px; font-weight: 500; line-height: 24px; }
.cjc-dialog__tools { margin-left: auto; display: flex; gap: 8px; }
.cjc-icon-button {
  width: 24px;
  height: 24px;
  border: 0;
  border-radius: 4px;
  display: inline-grid;
  place-items: center;
  background: transparent;
  color: var(--cjc-text-60);
  cursor: pointer;
}
.cjc-icon-button:hover { background: var(--cjc-fill-0); color: var(--cjc-text); }
.cjc-dialog__tools .cjc-icon-button { padding: 0; }
.cjc-dialog__tools .cjc-icon-button > svg { width: 16px; height: 16px; stroke-width: 1.3; stroke-linecap: round; }
.cjc-dialog .cjc-icon-button[data-cjc-dialog-close] { position: relative; padding: 0; font-size: 0; }
.cjc-dialog .cjc-icon-button[data-cjc-dialog-close] > svg { display: none; }
.cjc-dialog .cjc-icon-button[data-cjc-dialog-close]::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: block;
  width: 16px;
  height: 16px;
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 2l12 12M14 2L2 14' fill='none' stroke='black' stroke-width='1.3' stroke-linecap='round'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
}
.cjc-dialog__body { min-height: 0; overflow: auto; font-size: 12px; }
.cjc-dialog__footer { margin-top: 24px; display: flex; justify-content: flex-end; gap: 12px; }
.cjc-dialog__footer .cjc-button { width: 80px; }

.cjc-split {
  width: 100%;
  height: 100%;
  min-height: 280px;
  display: flex;
  align-items: stretch;
  overflow: hidden;
}
.cjc-split__pane { min-width: 0; overflow: auto; }
.cjc-split__pane--start { width: 260px; flex: 0 0 auto; }
.cjc-split__pane--end { flex: 1 1 auto; }
.cjc-splitter {
  position: relative;
  width: 18px;
  flex: 0 0 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: col-resize;
  touch-action: none;
  user-select: none;
}
.cjc-splitter::before { content: ""; position: absolute; inset-block: 0; left: 50%; width: 1px; background: var(--cjc-border); }
.cjc-splitter__grip {
  position: relative;
  z-index: 1;
  width: 16px;
  height: 40px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: #fff;
  box-shadow: var(--cjc-shadow-card);
  pointer-events: none;
}
.cjc-splitter__grip::before { content: ""; width: 4px; height: 28px; border-radius: 999px; background: var(--cjc-text-35); }
.cjc-splitter:hover .cjc-splitter__grip,
.cjc-splitter.is-dragging .cjc-splitter__grip { box-shadow: 0 0 1px rgba(0, 0, 0, .08), 0 3px 8px rgba(0, 0, 0, .15); }

.cjc-search {
  width: 100%;
  padding: 16px 16px 8px;
  background: #fff;
}
.cjc-search__row { display: flex; align-items: flex-start; gap: 16px; }
.cjc-search__fields {
  min-width: 0;
  flex: 1 1 auto;
  max-height: 36px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  column-gap: 4px;
  overflow: hidden;
}
.cjc-search.is-expanded .cjc-search__fields { max-height: none; }
.cjc-search__field {
  min-width: 0;
  min-height: 36px;
  display: grid;
  grid-template-columns: 80px minmax(0, 1fr);
  align-items: center;
}
.cjc-search__label { padding-right: 16px; color: var(--cjc-text-60); text-align: right; white-space: nowrap; }
.cjc-search__actions { flex: 0 0 auto; display: flex; align-items: center; gap: 4px; }
.cjc-icon-action {
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  border-radius: var(--cjc-radius-sm);
  display: inline-grid;
  place-items: center;
  background: var(--cjc-fill-0);
  color: var(--cjc-primary);
  cursor: pointer;
}
.cjc-icon-action:hover { background: var(--cjc-fill-1); }
.cjc-search__split { height: 16px; display: flex; align-items: center; gap: 6px; }
.cjc-search__split::before,
.cjc-search__split::after { content: ""; height: 1px; flex: 1; background: var(--cjc-border); }
.cjc-search__toggle { width: 18px; height: 16px; border: 0; display: grid; place-items: center; background: var(--cjc-fill-0); color: var(--cjc-primary); cursor: pointer; }
.cjc-search__toggle svg { transition: transform .15s ease; }
.cjc-search.is-expanded .cjc-search__toggle svg { transform: rotate(180deg); }

.cjc-tabs { min-width: 0; }
.cjc-tabs__list {
  height: 32px;
  display: flex;
  align-items: stretch;
  gap: 0;
  border-bottom: 1px solid var(--cjc-border);
}
.cjc-tabs__tab {
  position: relative;
  height: 32px;
  padding: 0 12px;
  border: 0;
  background: transparent;
  color: var(--cjc-text-60);
  font: inherit;
  cursor: pointer;
}
.cjc-tabs__tab:hover { color: var(--cjc-primary); background: var(--cjc-fill-0); }
.cjc-tabs__tab[aria-selected="true"] { color: var(--cjc-primary); }
.cjc-tabs__tab[aria-selected="true"]::after { content: ""; position: absolute; right: 10px; bottom: -1px; left: 10px; height: 2px; background: var(--cjc-primary); }
.cjc-tabs__panel { padding: 16px 0; }
.cjc-tabs__panel[hidden] { display: none; }
.cjc-tabs--button .cjc-tabs__list { gap: 8px; border-bottom: 0; }
.cjc-tabs--button .cjc-tabs__tab { border-radius: var(--cjc-radius-sm); }
.cjc-tabs--button .cjc-tabs__tab[aria-selected="true"] { background: var(--cjc-primary-soft); }
.cjc-tabs--button .cjc-tabs__tab[aria-selected="true"]::after { display: none; }

.cjc-tree { height: 100%; min-height: 220px; display: flex; flex-direction: column; overflow: hidden; }
.cjc-tree__toolbar { flex: 0 0 auto; display: flex; align-items: center; gap: 8px; }
.cjc-tree__search { flex: 1 1 auto; }
.cjc-tree__actions { display: flex; gap: 4px; }
.cjc-tree__actions .cjc-icon-action {
  background: transparent;
  color: var(--gray-400, #9CA2A4);
}
.cjc-tree__actions .cjc-icon-action:hover,
.cjc-tree__actions .cjc-icon-action:focus-visible {
  background: var(--gray-50, #F6F7F8);
  color: var(--gray-500, #6B7571);
}
.cjc-tree__viewport { margin-top: 8px; flex: 1 1 auto; overflow: auto; font-size: 12px; }
.cjc-tree__node { min-width: 0; }
.cjc-tree__row {
  height: 28px;
  padding-right: 6px;
  border-radius: var(--cjc-radius-sm);
  display: flex;
  align-items: center;
  color: var(--cjc-text);
  cursor: pointer;
}
.cjc-tree__row:hover { background: var(--cjc-fill-0); }
.cjc-tree__row.is-current { background: var(--cjc-primary-soft); color: var(--cjc-primary); }
.cjc-tree__expander {
  width: 24px;
  height: 28px;
  flex: 0 0 24px;
  border: 0;
  display: grid;
  place-items: center;
  background: transparent;
  color: var(--cjc-text-60);
  cursor: pointer;
}
.cjc-tree__expander::before {
  content: "";
  width: 0;
  height: 0;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 6px solid currentColor;
  transition: transform .15s ease;
}
.cjc-tree__node.is-open > .cjc-tree__row .cjc-tree__expander::before { transform: rotate(90deg); }
.cjc-tree__expander.is-leaf { cursor: default; }
.cjc-tree__expander.is-leaf::before { display: none; }
.cjc-tree__text { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cjc-tree__children { display: none; padding-left: 18px; }
.cjc-tree__node.is-open > .cjc-tree__children { display: block; }
.cjc-tree__node[hidden] { display: none; }

.cjc-pagination {
  min-height: 38px;
  padding: 4px 5px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  color: var(--cjc-text-60);
}
.cjc-pagination__total { margin-right: 4px; }
.cjc-pagination__button {
  min-width: 28px;
  height: 28px;
  padding: 0 7px;
  border: 0;
  border-radius: var(--cjc-radius-sm);
  background: transparent;
  color: var(--cjc-text-60);
  font: inherit;
  cursor: pointer;
}
.cjc-pagination__button:hover { background: var(--cjc-fill-0); color: var(--cjc-primary); }
.cjc-pagination__button.is-active { background: var(--cjc-primary-soft); color: var(--cjc-primary); font-weight: 600; }
.cjc-pagination__button:disabled { color: var(--cjc-text-35); cursor: not-allowed; background: transparent; }
.cjc-pagination__jumper { display: inline-flex; align-items: center; gap: 4px; }
.cjc-pagination__input { width: 42px; height: 28px; padding: 0 6px; text-align: center; }
.cjc-pagination__size { width: 86px; }

.cjc-card {
  width: 100%;
  border-radius: var(--cjc-radius-md);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #fff;
  color: var(--cjc-text-80);
  box-shadow: var(--cjc-shadow-card);
}
.cjc-card__header { min-height: 48px; padding: 16px; display: flex; align-items: center; border-bottom: 1px solid var(--cjc-border); }
.cjc-card__title { min-width: 0; flex: 1; color: var(--cjc-text); font-size: 14px; font-weight: 500; }
.cjc-card__extra { margin-left: auto; }
.cjc-card__body { min-width: 0; padding: 16px; line-height: 1.7; }
.cjc-card__footer { padding: 16px; border-top: 1px solid var(--cjc-border); }
.cjc-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.cjc-select-card {
  min-width: 108px;
  height: 66px;
  padding: 7px 9px 6px;
  border: 1px solid var(--cjc-border);
  border-radius: 5px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: #fff;
  color: var(--cjc-text);
  text-align: left;
  font: inherit;
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(31, 49, 62, .04);
  transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}
.cjc-select-card:hover { border-color: #28a675; background: var(--cjc-fill-0); box-shadow: 0 4px 12px rgba(31, 49, 62, .12); }
.cjc-select-card[aria-selected="true"] { border-color: #18a66e; background: var(--cjc-primary-soft); box-shadow: inset 0 0 0 1px rgba(24, 166, 110, .32); }
.cjc-select-card__title { overflow: hidden; font-size: 12px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.cjc-select-card__meta { color: var(--cjc-text-60); font-size: 11px; }

.cjc-reference-control { position: relative; min-width: 0; }
.cjc-reference-control .cjc-control { padding-right: 38px; }
.cjc-reference-control__more {
  position: absolute;
  top: 50%;
  right: 8px;
  width: 22px;
  height: 22px;
  padding: 0;
  border: 0;
  border-radius: var(--cjc-radius-sm);
  display: grid;
  place-items: center;
  transform: translateY(-50%);
  background: transparent;
  color: var(--cjc-text);
  font: inherit;
  cursor: pointer;
}
.cjc-reference-control__more:hover { background: var(--cjc-fill-1); color: var(--cjc-primary); }
.cjc-dialog--reference { width: min(1152px, calc(100% - 32px)); height: min(720px, calc(100% - 32px)); }
.cjc-reference-page { min-height: 0; height: 100%; display: flex; flex-direction: column; }
.cjc-reference-page__table { min-height: 0; flex: 1 1 auto; }
.cjc-radio {
  appearance: none;
  width: 16px;
  height: 16px;
  margin: 0;
  border: 1px solid var(--cjc-text-35);
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
}
.cjc-radio:checked { border: 4px solid var(--cjc-primary); }

.cjc-upload { width:360px; max-width:100%; }
.cjc-upload__drop { min-height:104px; padding:16px; border:2px dashed var(--cjc-border); border-radius:4px; display:flex; flex-direction:column; align-items:center; justify-content:center; background:#f9f9f9; color:var(--cjc-text); cursor:pointer; transition:.16s ease; }
.cjc-upload__drop svg { margin-bottom:6px; color:var(--cjc-primary); }
.cjc-upload__drop strong { font-size:12px; font-weight:500; line-height:16px; }
.cjc-upload__drop span { margin-top:4px; color:var(--cjc-text-60); font-size:12px; }
.cjc-upload__drop:hover, .cjc-upload__drop.is-dragging { border-color:var(--cjc-primary); background:var(--cjc-primary-soft); }
.cjc-upload__input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.cjc-upload__title { min-height:28px; margin-top:8px; display:flex; align-items:center; color:var(--cjc-text); font-size:12px; }
.cjc-upload__clear { margin-left:auto; border:0; background:transparent; color:var(--cjc-primary); font:inherit; cursor:pointer; }
.cjc-upload__files { display:grid; gap:8px; max-height:172px; overflow-x:hidden; overflow-y:auto; }
.cjc-upload__file { min-height:52px; padding:8px; border-radius:4px; display:flex; align-items:center; gap:8px; background:var(--cjc-fill-0); }
.cjc-file-type-icon, .cjc-upload__file-icon { width:40px; height:40px; flex:0 0 40px; display:inline-flex; align-items:center; justify-content:center; background:transparent; color:inherit; vertical-align:middle; }
.cjc-file-type-icon svg, .cjc-upload__file-icon svg { width:40px; height:40px; display:block; overflow:visible; }
.cjc-file-type-icon--compact { width:24px; height:24px; flex-basis:24px; margin-right:6px; }
.cjc-file-type-icon--compact svg { width:24px; height:24px; }
.cjc-upload__file-copy { min-width:0; flex:1; display:flex; align-items:center; gap:8px; font-size:12px; }
.cjc-upload__file-name { min-width:0; flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--cjc-text); }
.cjc-upload__file-size { flex:0 0 auto; color:var(--cjc-text-60); }
.cjc-upload__remove { width:24px; height:24px; padding:0; border:0; border-radius:4px; background:transparent; color:var(--cjc-text-60); cursor:pointer; }
.cjc-upload__remove:hover { background:var(--cjc-danger-soft); color:var(--cjc-danger); }

.cjc-date-range { position:relative; width:260px; }
.cjc-date-range__control { height:28px; padding:0 32px; border:1px solid var(--cjc-border); border-radius:4px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:8px; background:#fff; cursor:pointer; }
.cjc-date-range__control:focus-within { border-color:var(--cjc-primary); box-shadow:0 0 0 2px rgba(26,131,92,.1); }
.cjc-date-range__icon { position:absolute; left:9px; top:6px; color:var(--cjc-text-60); }
.cjc-date-range__control input { width:100%; border:0; outline:0; background:transparent; color:var(--cjc-text); text-align:center; font:inherit; }
.cjc-date-range__separator { color:var(--cjc-text-60); }
.cjc-date-panel { position:absolute; z-index:60; top:34px; left:0; width:666px; padding:0; border:1px solid var(--cjc-border); border-radius:6px; display:none; background:#fff; box-shadow:0 12px 32px rgba(20,24,27,.18); }
.cjc-date-range.is-open .cjc-date-panel { display:block; }
.cjc-date-panel__months { display:grid; grid-template-columns:1fr 1fr; }
.cjc-date-panel__month { padding:0 16px 12px; }
.cjc-date-panel__month + .cjc-date-panel__month { border-left:1px solid var(--cjc-border); }
.cjc-date-panel__head { height:40px; display:flex; align-items:center; justify-content:space-between; color:var(--cjc-text); font-weight:500; }
.cjc-date-panel__nav { width:24px; height:24px; padding:0; border:0; background:transparent; color:var(--cjc-text-60); cursor:pointer; }
.cjc-date-panel__grid { display:grid; grid-template-columns:repeat(7,42px); }
.cjc-date-panel__weekday, .cjc-date-panel__day { width:42px; height:36px; display:grid; place-items:center; font-size:12px; }
.cjc-date-panel__weekday { color:var(--cjc-text-60); }
.cjc-date-panel__day { border:0; background:transparent; color:var(--cjc-text); cursor:pointer; }
.cjc-date-panel__day:hover { color:var(--cjc-primary-hover); }
.cjc-date-panel__day.is-muted { color:var(--cjc-text-35); }
.cjc-date-panel__day.is-range { background:var(--cjc-primary-soft); }
.cjc-date-panel__day.is-start, .cjc-date-panel__day.is-end { border-radius:4px; background:var(--cjc-primary); color:#fff; }
.cjc-date-panel__shortcuts { min-height:37px; padding:8px 16px; border-top:1px solid var(--cjc-border); display:flex; align-items:center; gap:8px; }
.cjc-date-panel__shortcut { height:20px; padding:0 12px; border:0; border-radius:4px; background:var(--cjc-fill-0); color:var(--cjc-text-60); font-size:12px; cursor:pointer; }

.cjc-steps { display:flex; align-items:flex-start; }
.cjc-step { position:relative; min-width:0; flex:1; text-align:center; }
.cjc-step:not(:last-child)::after { content:""; position:absolute; z-index:0; top:12px; left:calc(50% + 16px); right:calc(-50% + 16px); height:1px; background:var(--cjc-border); }
.cjc-step.is-finished:not(:last-child)::after { background:var(--cjc-primary); }
.cjc-step__icon { position:relative; z-index:1; width:24px; height:24px; margin:0 auto 8px; border:1px solid var(--cjc-text-35); border-radius:50%; display:grid; place-items:center; background:#fff; color:var(--cjc-text-60); font-size:12px; }
.cjc-step.is-finished .cjc-step__icon { border-color:var(--cjc-primary); background:var(--cjc-primary); color:#fff; }
.cjc-step.is-active .cjc-step__icon { border:2px solid var(--cjc-primary); color:var(--cjc-primary); font-weight:600; }
.cjc-step__title { color:var(--cjc-text); font-size:13px; font-weight:500; }
.cjc-step.is-active .cjc-step__title { color:var(--cjc-primary); }
.cjc-step__description { margin-top:4px; color:var(--cjc-text-60); font-size:11px; }

.cjc-drawer-layer { position:fixed; z-index:600; inset:0; pointer-events:none; }
.cjc-drawer-layer.is-open { pointer-events:auto; }
.cjc-drawer__mask { position:absolute; inset:0; background:rgba(20,24,27,.45); opacity:0; transition:opacity .18s ease; }
.cjc-drawer-layer.is-open .cjc-drawer__mask { opacity:1; }
.cjc-drawer { position:absolute; top:0; right:0; bottom:0; width:min(520px,42vw); display:flex; flex-direction:column; background:#fff; box-shadow:-12px 0 32px rgba(20,24,27,.18); transform:translateX(100%); transition:transform .2s ease; }
.cjc-drawer-layer.is-open .cjc-drawer { transform:translateX(0); }
.cjc-drawer__header { min-height:64px; padding:0 24px; display:flex; align-items:center; border-bottom:1px solid var(--cjc-border); }
.cjc-drawer__title { font-size:18px; font-weight:500; }
.cjc-drawer__close { margin-left:auto; }
.cjc-drawer__body { min-height:0; flex:1; padding:24px; overflow:auto; }
.cjc-drawer__footer { min-height:56px; padding:0 24px; display:flex; align-items:center; justify-content:flex-end; gap:8px; }

.cjc-messages { position:fixed; z-index:900; top:20px; left:50%; width:auto; max-width:calc(100% - 32px); transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:8px; pointer-events:none; }
.cjc-message { width:max-content; max-width:min(448px,calc(100vw - 32px)); min-height:40px; padding:11px 15px; border:1px solid transparent; border-radius:8px; display:flex; align-items:center; gap:8px; color:rgba(34,39,37,.8); font-size:12px; font-weight:400; line-height:16px; box-shadow:0 0 1px rgba(0,0,0,.08),0 4px 10px rgba(0,0,0,.1); opacity:0; transform:translateY(-12px); transition:opacity .18s ease,transform .18s ease; }
.cjc-message.is-show { opacity:1; transform:translateY(0); }
.cjc-message__icon { width:16px; height:16px; flex:0 0 16px; color:var(--cjc-info); }
.cjc-message__icon svg { display:block; width:100%; height:100%; }
.cjc-message__content { min-width:0; overflow-wrap:break-word; }
.cjc-message--success { border-color:var(--cjc-success); background:#f0faf5; }
.cjc-message--warning { border-color:var(--cjc-warning); background:#fff8ef; }
.cjc-message--error { border-color:var(--cjc-danger); background:#fff5f4; }
.cjc-message--info { border-color:var(--cjc-info); background:#f2f8fe; }
.cjc-message--success .cjc-message__icon { color:var(--cjc-success); }
.cjc-message--warning .cjc-message__icon { color:var(--cjc-warning); }
.cjc-message--error .cjc-message__icon { color:var(--cjc-danger); }
.cjc-message--plain { border-color:#fff; background:#fff; }

@media (max-width: 720px) {
  .cjc-form-grid { grid-template-columns: 1fr; }
  .cjc-card-grid { grid-template-columns: 1fr; }
  .cjc-dialog { width: calc(100% - 24px); padding: 16px; }
  .cjc-dialog__header { margin-bottom: 16px; }
  .cjc-dialog__footer { margin-top: 16px; }
  .cjc-dialog__footer .cjc-button { width: auto; height: 40px; flex: 1; font-size: 14px; }
}
