@charset "UTF-8";
@keyframes o-rotating {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
.o-rotating {
  animation: o-rotating var(--o-rotate-duration, 1s) var(--o-easing-linear) infinite;
}

@keyframes o-zoom-fade-in {
  0% {
    transform: scale(var(--init-scale));
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
.o-zoom-fade-enter-active {
  --init-scale: 0.95;
  animation: o-zoom-fade-in var(--o-duration-m1) var(--o-easing-standard-in);
}

.o-zoom-fade-leave-active {
  --init-scale: 0.95;
  animation: o-zoom-fade-in var(--o-duration-s) var(--o-easing-standard-out) reverse;
}

.o-zoom-fade2-enter-active {
  --init-scale: 0.8;
  animation: o-zoom-fade-in var(--o-duration-m1) var(--o-easing-standard-in);
}

.o-zoom-fade2-leave-active {
  --init-scale: 0.8;
  animation: o-zoom-fade-in var(--o-duration-s) var(--o-easing-standard-out) reverse;
}

@keyframes o-fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.o-fade-in-enter-active {
  animation: o-fade-in var(--o-duration-m1) var(--o-easing-standard-in);
}

.o-fade-in-leave-active {
  animation: o-fade-in var(--o-duration-m1) var(--o-easing-standard-out) reverse;
}

@keyframes o-fade-up {
  0% {
    transform: translateY(10px);
    opacity: 0;
  }
  100% {
    transform: translateY(0px);
    opacity: 1;
  }
}
.o-fade-up-enter-active {
  animation: o-fade-up var(--o-duration-m1) var(--o-easing-standard-in);
}

.o-fade-up-leave-active {
  animation: o-fade-up var(--o-duration-s) var(--o-easing-standard-out) reverse;
}

.o-txt-display1 {
  font-size: var(--o-font_size-display1);
  line-height: var(--o-line_height-display1);
}

.o-txt-display2 {
  font-size: var(--o-font_size-display2);
  line-height: var(--o-line_height-display2);
}

.o-txt-display3 {
  font-size: var(--o-font_size-display3);
  line-height: var(--o-line_height-display3);
}

.o-txt-display4 {
  font-size: var(--o-font_size-display4);
  line-height: var(--o-line_height-display4);
}

.o-txt-display5 {
  font-size: var(--o-font_size-display5);
  line-height: var(--o-line_height-display5);
}

.o-txt-h1 {
  font-size: var(--o-font_size-h1);
  line-height: var(--o-line_height-h1);
}

.o-txt-h2 {
  font-size: var(--o-font_size-h2);
  line-height: var(--o-line_height-h2);
}

.o-txt-h3 {
  font-size: var(--o-font_size-h3);
  line-height: var(--o-line_height-h3);
}

.o-txt-h4 {
  font-size: var(--o-font_size-h4);
  line-height: var(--o-line_height-h4);
}

.o-txt-text1 {
  font-size: var(--o-font_size-text1);
  line-height: var(--o-line_height-text1);
}

.o-txt-text2 {
  font-size: var(--o-font_size-text2);
  line-height: var(--o-line_height-text2);
}

.o-txt-tip1 {
  font-size: var(--o-font_size-tip1);
  line-height: var(--o-line_height-tip1);
}

.o-txt-tip2 {
  font-size: var(--o-font_size-tip2);
  line-height: var(--o-line_height-tip2);
}

.o-hide-scrollbar {
  scrollbar-width: none;
}
.o-hide-scrollbar::-webkit-scrollbar {
  display: none;
}

.o-svg-icon {
  --icon-g1: var(--o-color-info1);
  --icon-g2: var(--o-color-primary1);
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: -0.2em;
  color: inherit;
  font-style: normal;
  outline: none;
}
.o-svg-icon.type-stroke {
  stroke: currentColor;
}
.o-svg-icon.type-fill {
  fill: currentColor;
}

[class^=o-],
[class^=o_] {
  box-sizing: border-box;
}

:root {
  --o-z-index-base: 100;
  --o-z-index-max: 9999;
  --o-font-password: Arial, "Helvetica Neue", Helvetica, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}

.o_input {
  --color: var(--input-color, var(--o-color-info1));
  --color-disabled: var(--input-color-disabled, var(--o-color-info4));
  --placeholder: var(--input-placeholder, var(--o-color-info4));
  --bg-color: var(--input-bg-color, transparent);
  --icon-color: var(--input-icon-color, var(--o-color-info3));
  --icon-color-hover: var(--input-icon-color-hover, var(--o-color-info2));
  --icon-color-disabled: var(--input-icon-color-disabled, var(--o-color-info4));
  --icon-size: var(--input-icon-size, var(--o-icon_size-xs));
  --limit-color: var(--input-limit-color, var(--o-color-info4));
  --limit-color-error: var(--input-limit-color-error, var(--o-color-danger1));
  --limit-text-size: var(--input-limit-text-size, var(--o-font_size-tip2));
  --limit-text-height: var(--input-limit-text-height, var(--o-line_height-tip2));
  --min-width: var(--input-min-width, 10px);
  --max-width: var(--input-max-width);
}

.o_input {
  display: inline-flex;
  color: var(--color);
  cursor: inherit;
}

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

.o_input-wrap {
  width: 100%;
  margin-right: auto;
}

.o_input-input {
  outline: none;
  border: none;
  color: inherit;
  cursor: inherit;
  background-color: transparent;
  display: inline-flex;
  padding: 0;
  line-height: inherit;
  height: 100%;
  width: 100%;
  font-size: inherit;
  min-width: 20px;
  appearance: none;
}
.o_input-input::-webkit-input-placeholder {
  color: var(--placeholder);
}
.o_input-input:autofill {
  box-shadow: 0 0 0px 1000px var(--bg-color) inset !important;
}
.o_input-invalid .o_input-input {
  text-decoration: line-through;
}

.o_input-suffix {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  position: relative;
  margin-left: 8px;
}

.o_input-prefix {
  display: flex;
  align-items: center;
  margin-right: 8px;
}

.o_input-suffix-icon {
  display: flex;
  transform: scale(1);
  transition: all var(--o-duration-m1) var(--o-easing-standard-out);
}

.o_input-clear {
  visibility: hidden;
  flex-shrink: 0;
  opacity: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--icon-color);
  font-size: var(--icon-size);
  cursor: pointer;
  transform: scale(0.5);
  transition: all var(--o-duration-m1) var(--o-easing-standard-in);
}
.o_input-clear {
  overflow: hidden;
}
.o_input-clear svg {
  transition: all var(--o-duration-m1) var(--o-easing-standard-in);
}
@media (hover: hover) {
  .o_input-clear:hover svg {
    transform: rotate(180deg);
  }
}
@media (hover: hover) {
  .o_input-clear:hover {
    color: var(--icon-color-hover);
  }
  .o_input-suffix-icon + .o_input-clear {
    position: absolute;
  }
}

@media (hover: hover) {
  .o_input-clearable:hover .o_input-suffix-icon {
    visibility: hidden;
    opacity: 0;
    transform: scale(0.5);
  }
  .o_input-clearable:hover .o_input-clear {
    visibility: visible;
    opacity: 1;
    transform: scale(1);
  }
}
@media (hover: none) {
  .o_input-clearable .o_input-suffix-icon,
  .o_input-clearable .o_input-clear {
    visibility: visible;
    opacity: 1;
  }
}

.o_input-eye {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: var(--icon-size);
  color: var(--icon-color);
  margin-left: 4px;
  cursor: pointer;
}
@media (hover: hover) {
  .o_input-eye:hover {
    color: var(--icon-color-hover);
  }
}
.o_input-eye :first-child {
  margin-left: 0;
}
.o_input-disabled .o_input-eye, .o_input-readonly .o_input-eye {
  color: var(--icon-color-disabled);
}

.o_input-password {
  font-family: var(--o-font-password);
}

.o_input-limit {
  margin-left: 4px;
  right: 8px;
  bottom: 4px;
  color: var(--limit-color);
  font-size: var(--limit-text-size);
  line-height: var(--limit-text-height);
  z-index: 0;
}
.o_input-limit b {
  font-weight: normal;
}

.o_input-limit-error > b {
  color: var(--limit-color-error);
}

/* auto width */
.o_input-auto-width {
  width: auto;
  max-width: 100%;
}

.o_input-wrap-auto-width {
  position: relative;
  min-width: 0; /* 修复子元素超出父元素问题 */
}
.o_input-wrap-auto-width::after {
  content: attr(date-value) " ";
  visibility: hidden;
  white-space: pre;
  height: 100%;
  line-height: inherit;
  display: inline-block;
  box-sizing: border-box;
  vertical-align: top;
  min-width: var(--min-width);
  max-width: var(--max-width);
}
.o_input-wrap-auto-width .o_input-input {
  position: absolute;
  top: 0;
  left: 0;
}

.o_textarea {
  --padding-v: var(--textarea-padding-v, 8px);
  --padding-h: var(--textarea-padding-h, 16px);
  --min-height: var(--textarea-min-height, 10px);
  --min-width: var(--textarea-min-width, 10px);
  --color: var(--textarea-color, var(--o-color-info1));
  --color-disabled: var(--textarea-color-disabled, var(--o-color-info4));
  --placeholder: var(--textarea-placeholder, var(--o-color-info4));
  --bg-color: var(--textarea-bg-color);
  --icon-size: var(--textarea-icon-size, var(--o-icon_size-xs));
  --icon-color: var(--textarea-icon-color, var(--o-color-info3));
  --icon-color-hover: var(--textarea-icon-color-hover, var(--o-color-info2));
  --icon-color-disabled: var(--textarea-icon-color-disabled, var(--o-color-info4));
  --limit-color: var(--textarea-limit-color, var(--o-color-info4));
  --limit-color-error: var(--textarea-limit-color-error, var(--o-color-danger1));
  --limit-text-size: var(--textarea-limit-text-size, var(--o-font_size-tip2));
  --limit-text-height: var(--textarea-limit-text-height, var(--o-line_height-tip2));
}

.o_textarea {
  color: var(--color);
  max-width: 100%;
  max-height: inherit;
  min-width: inherit;
  min-height: inherit;
  cursor: inherit;
  position: relative;
  display: inline-flex;
  flex-direction: column;
}

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

.o_textarea-wrap {
  width: 100%;
  height: 100%;
  position: relative;
}

.o_textarea-textarea {
  padding: var(--padding-v) var(--padding-h);
  display: block;
  outline: none;
  border: none;
  color: inherit;
  cursor: inherit;
  background-color: transparent;
  line-height: inherit;
  height: 100%;
  width: 100%;
  font-size: inherit;
  min-width: 100%;
  appearance: none;
  z-index: 1;
}
.o_textarea-textarea::-webkit-input-placeholder {
  color: var(--placeholder, var(--o-color-info4));
}
.o_textarea-textarea:autofill {
  box-shadow: 0 0 0px 1000px var(--bg-color) inset !important;
}
.o_textarea-invalid .o_textarea-textarea {
  text-decoration: line-through;
}

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

.o_textarea-readonly {
  cursor: text;
}

.o_textarea-clear {
  right: 2px;
  top: 50%;
  font-size: var(--icon-size);
  margin-top: calc(var(--icon-size) / -2);
  border-radius: 50%;
  visibility: hidden;
  flex-shrink: 0;
  opacity: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--icon-color);
  cursor: pointer;
  transform: scale(0.5);
  transition: all var(--o-duration-m1) var(--o-easing-standard-in);
  z-index: 2;
}
.o_textarea-clear {
  overflow: hidden;
}
.o_textarea-clear svg {
  transition: all var(--o-duration-m1) var(--o-easing-standard-in);
}
@media (hover: hover) {
  .o_textarea-clear:hover svg {
    transform: rotate(180deg);
  }
}
@media (hover: hover) {
  .o_textarea-clear:hover {
    color: var(--icon-color-hover);
  }
}

@media (hover: hover) {
  .o_textarea-clearable:hover .o_textarea-suffix-icon {
    visibility: hidden;
    opacity: 0;
    transform: scale(0.5);
  }
  .o_textarea-clearable:hover .o_textarea-clear {
    visibility: visible;
    opacity: 1;
    transform: scale(1);
  }
}
@media (hover: none) {
  .o_textarea-clearable .o_textarea-suffix-icon,
  .o_textarea-clearable .o_textarea-clear {
    visibility: visible;
    opacity: 1;
  }
}

.o_textarea-limit .o_textarea-textarea {
  padding-bottom: var(--limit-text-height);
  padding-bottom: max(var(--limit-text-height), var(--padding-v));
}

.o_textarea-count {
  right: 7px;
  bottom: 3px;
  color: var(--limit-color);
  font-size: var(--limit-text-size);
  line-height: var(--limit-text-height);
  z-index: 0;
}
.o_textarea-count b {
  font-weight: normal;
}

.o_textarea-count-error > b {
  color: var(--limit-color-error);
}

.o_textarea-icon {
  position: absolute;
}

/* auto size */
.o_textarea-auto-size {
  height: auto;
  width: auto;
}

.o_textarea-wrap-auto-size {
  position: relative;
  min-width: 0; /* 修复子元素超出父元素问题 */
  min-height: 0;
  flex: 1;
}
.o_textarea-wrap-auto-size::after {
  content: attr(date-value) " ";
  padding: var(--padding-v) var(--padding-h);
  visibility: hidden;
  white-space: pre-wrap;
  word-break: break-word;
  height: 100%;
  width: 100%;
  line-height: inherit;
  display: block;
  box-sizing: border-box;
  min-height: var(--min-height, 10px);
  min-width: var(--min-width, 10px);
}
.o_textarea-wrap-auto-size .o_textarea-textarea {
  position: absolute;
  top: 0;
  left: 0;
}

.o_box {
  --_box-color: var(--o-color-info2);
  --_box-color-disabled: var(--o-color-info4);
  --icon-color: var(--o-color-info2);
  --icon-color-hover: var(--o-color-info2);
  --icon-color-disabled: var(--o-color-info4);
  --_box-ap-bd: 1px solid var(--_box-ap-bd-color);
  --_box-ap-bd-disabled: 1px solid var(--_box-ap-bd-color-disabled);
  --_box-bd: 1px solid var(--_box-bd-color);
  --_box-bg-color: var(--o-color-control-light);
  --_box-bg-color-hover: var(--o-color-control-light);
  --_box-bg-color-focus: var(--o-color-control-light);
  --_box-bg-color-disabled: var(--o-color-control4-light);
  --_box-prepend-append-bd: 1px solid var(--o-color-control1);
  --_box-prepend-append-bd-color-disabled: var(--o-color-control4-light);
  --_box-prepend-append-bg-color: var(--o-color-control-light);
}

.o_box-solid {
  --_box-prepend-append-bd: 1px solid var(--o-color-control2-light);
  --_box-prepend-append-bg-color: var(--o-color-control1-light);
}

.o_box-text {
  --_box-bd-color: transparent;
  --_box-bg-color: transparent;
  --_box-bd-color-focus: var(--o-color-control-light);
  --_box-bd-color-disabled: transparent;
  --_box-bg-color-disabled: transparent;
}
.o_box-text.o_box-normal {
  --_box-bd-color-hover: var(--o-color-control-light);
  --_box-bg-color-hover: var(--o-color-control-light);
}
.o_box-text.o_box-success {
  --_box-bd-color-hover: var(--o-color-control-light);
  --_box-bg-color-hover: var(--o-color-control-light);
}
.o_box-text.o_box-warning {
  --_box-bd-color-hover: var(--o-color-control-light);
  --_box-bg-color-hover: var(--o-color-control-light);
}
.o_box-text.o_box-danger {
  --_box-bd-color-hover: var(--o-color-control-light);
  --_box-bg-color-hover: var(--o-color-control-light);
}

.o_box-outline.o_box-normal {
  --_box-bd-color: var(--o-color-control1);
  --_box-bd-color-hover: var(--o-color-primary2);
  --_box-bd-color-focus: var(--o-color-primary3);
  --_box-bd-color-disabled: var(--o-color-control4);
}
.o_box-outline.o_box-success {
  --_box-bd-color: var(--o-color-success1-light);
  --_box-bd-color-hover: var(--o-color-success2-light);
  --_box-bd-color-focus: var(--o-color-success3);
  --_box-bd-color-disabled: var(--o-color-success4);
}
.o_box-outline.o_box-warning {
  --_box-bd-color: var(--o-color-warning1-light);
  --_box-bd-color-hover: var(--o-color-warning2-light);
  --_box-bd-color-focus: var(--o-color-warning3);
  --_box-bd-color-disabled: var(--o-color-warning4);
}
.o_box-outline.o_box-danger {
  --_box-bd-color: var(--o-color-danger1-light);
  --_box-bd-color-hover: var(--o-color-danger2-light);
  --_box-bd-color-focus: var(--o-color-danger3);
  --_box-bd-color-disabled: var(--o-color-danger4);
}

.o_box-outline {
  --_box-ap-bd-color: var(--o-color-control1);
  --_box-ap-bd-color-disabled: var(--o-color-control4);
}

.o_box-solid.o_box-normal {
  --_box-bd-color: var(--o-color-control1-light);
  --_box-bd-color-hover: var(--o-color-control2-light);
  --_box-bd-color-focus: var(--o-color-primary3-light);
  --_box-bd-color-disabled: var(--o-color-control4-light);
  --_box-bg-color: var(--o-color-control1-light);
  --_box-bg-color-hover: var(--o-color-control2-light);
  --_box-bg-color-disabled: var(--o-color-control4-light);
}
.o_box-solid.o_box-success {
  --_box-bd-color: var(--o-color-success1-light);
  --_box-bd-color-hover: var(--o-color-success2-light);
  --_box-bd-color-focus: var(--o-color-success3-light);
  --_box-bd-color-disabled: var(--o-color-success4-light);
  --_box-bg-color: var(--o-color-success1-light);
  --_box-bg-color-hover: var(--o-color-success2-light);
  --_box-bg-color-disabled: var(--o-color-success4-light);
}
.o_box-solid.o_box-warning {
  --_box-bd-color: var(--o-color-warning1-light);
  --_box-bd-color-hover: var(--o-color-warning2-light);
  --_box-bd-color-focus: var(--o-color-warning3-light);
  --_box-bd-color-disabled: var(--o-color-warning4-light);
  --_box-bg-color: var(--o-color-warning1-light);
  --_box-bg-color-hover: var(--o-color-warning2-light);
  --_box-bg-color-disabled: var(--o-color-warning4-light);
}
.o_box-solid.o_box-danger {
  --_box-bd-color: var(--o-color-danger1-light);
  --_box-bd-color-hover: var(--o-color-danger2-light);
  --_box-bd-color-focus: var(--o-color-danger3-light);
  --_box-bd-color-disabled: var(--o-color-danger4-light);
  --_box-bg-color: var(--o-color-danger1-light);
  --_box-bg-color-hover: var(--o-color-danger2-light);
  --_box-bg-color-disabled: var(--o-color-danger4-light);
}

.o_box-small {
  --_box-text-size: var(--o-font_size-tip1);
  --_box-text-height: var(--o-line_height-tip1);
  --_box-radius: var(--o-radius_control-xs);
  --icon-size: var(--o-icon_size_control-xs);
}

.o_box-medium {
  --_box-text-size: var(--o-font_size-tip1);
  --_box-text-height: var(--o-line_height-tip1);
  --_box-radius: var(--o-radius_control-s);
  --icon-size: var(--o-icon_size_control-xs);
}

.o_box-large {
  --_box-text-size: var(--o-font_size-text1);
  --_box-text-height: var(--o-line_height-text1);
  --_box-radius: var(--o-radius_control-l);
  --icon-size: var(--o-icon_size_control-s);
}

.o_box-round-pill {
  --_box-radius: var(--o-control_size-l);
}

.o_box {
  color: var(--_box-color);
  display: flex;
  height: var(--_box-height);
  font-size: var(--_box-text-size);
  line-height: var(--_box-text-height);
}

.o_box-main {
  display: flex;
  padding: var(--_box-padding);
  width: 100%;
  overflow: hidden;
  position: relative;
  border-radius: var(--_box-radius);
  border: var(--_box-bd);
  background-color: var(--_box-bg-color);
  transition: all var(--o-duration-s) var(--o-easing-standard);
}
@media (hover: hover) {
  .o_box-main:hover {
    border-color: var(--_box-bd-color-hover);
    background-color: var(--_box-bg-color-hover);
  }
}
.o_box-main.o_box-focused {
  border-color: var(--_box-bd-color-focus);
  background-color: var(--_box-bg-color-focus);
}
.o_box-main.o_box-disabled, .o_box-main.o_box-readonly {
  color: var(--_box-color-disabled);
  border-color: var(--_box-bd-color-disabled);
  background-color: var(--_box-bg-color-disabled);
}
.o_box-main.o_box-disabled {
  cursor: not-allowed;
}
.o_box-main.o_box-readonly {
  cursor: default;
}
.o_box-main.has-prepend {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.o_box-main.has-append {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.o_box-append,
.o_box-prepend {
  display: flex;
  align-items: center;
  border: var(--_box-prepend-append-bd);
  background-color: var(--_box-prepend-append-bg-color);
  overflow: hidden;
}
.o_box-readonly .o_box-append, .o_box-disabled .o_box-append,
.o_box-readonly .o_box-prepend,
.o_box-disabled .o_box-prepend {
  border-color: var(--_box-prepend-append-bd-color-disabled);
}

.o_box-append {
  flex-shrink: 0;
  border-top-right-radius: var(--_box-radius);
  border-bottom-right-radius: var(--_box-radius);
}

.o_box-prepend {
  flex-shrink: 0;
  padding: var(--_box-prepend-padding);
  border-top-left-radius: var(--_box-radius);
  border-bottom-left-radius: var(--_box-radius);
}

.o_box-solid .o_box-prepend {
  border-left-width: 0;
  border-top-width: 0;
  border-bottom-width: 0;
}
.o_box-solid .o_box-append {
  border-right-width: 0;
  border-top-width: 0;
  border-bottom-width: 0;
}

.o_box-outline .o_box-prepend {
  border-right-width: 0;
}
.o_box-outline .o_box-append {
  border-left-width: 0;
}

.o_box-text .o_box-main {
  border-right-width: 0;
  border-top-width: 0;
  border-left-width: 0;
}

.o-icon {
  --icon-btn-color: var(--o-color-info1);
  --icon-btn-color-hover: var(--o-color-info2);
  --icon-btn-color-active: var(--o-color-info3);
  --icon-btn-color-disabled: var(--o-color-info4);
  --icon-size: 1em;
}

.o-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: var(--icon-size);
}

.o-icon-btn {
  color: var(--icon-btn-color);
  cursor: pointer;
}
@media (hover: hover) {
  .o-icon-btn:hover {
    color: var(--icon-btn-color-hover);
  }
}
.o-icon-btn:active, .o-icon-btn:focus-visible {
  color: var(--icon-btn-color-active);
}

.o-icon-btn-disabled {
  cursor: not-allowed;
}
.o-icon-btn-disabled, .o-icon-btn-disabled:hover, .o-icon-btn-disabled:focus-visible, .o-icon-btn-disabled:active {
  color: var(--icon-btn-color-disabled);
}

.o-btn {
  --btn-color: var(--o-color-info2);
  --btn-color-hover: var(--o-color-info1);
  --btn-color-active: var(--o-color-info1);
  --btn-bd-color: var(--o-color-control1);
  --btn-bd-color-hover: var(--o-color-control2);
  --btn-bd-color-active: var(--o-color-control3);
  --btn-bd-color-disabled: var(--o-color-control1);
}
.o-btn.o-btn-solid {
  --btn-color: var(--o-color-white);
  --btn-color-hover: var(--o-color-white);
  --btn-color-active: var(--o-color-white);
  --btn-color-disabled: var(--o-color-white);
  --btn-bg-color: var(--o-color-control1-light);
  --btn-bg-color-hover: var(--o-color-control2-light);
  --btn-bg-color-active: var(--o-color-control3-light);
  --btn-bd-color-disabled: var(--o-color-control4-light);
  --btn-bd-color: var(--o-color-control1-light);
  --btn-bd-color-hover: var(--o-color-control2-light);
  --btn-bd-color-active: var(--o-color-control3-light);
  --btn-bg-color-disabled: var(--o-color-control4-light);
}
.o-btn.o-btn-text {
  --btn-bg-color-hover: var(--o-color-control1-light);
  --btn-bg-color-active: var(--o-color-control2-light);
}

.o-btn-normal {
  --btn-color-disabled: var(--o-color-info4);
}
.o-btn-normal.o-btn-solid {
  --btn-color: var(--o-color-info2);
  --btn-color-hover: var(--o-color-info2);
  --btn-color-active: var(--o-color-info2);
  --btn-color-disabled: var(--o-color-info4);
}

.o-btn-primary {
  --btn-color: var(--o-color-primary1);
  --btn-color-hover: var(--o-color-primary2);
  --btn-color-active: var(--o-color-primary3);
  --btn-color-disabled: var(--o-color-primary4);
  --btn-bd-color: var(--o-color-primary1);
  --btn-bd-color-hover: var(--o-color-primary2);
  --btn-bd-color-active: var(--o-color-primary3);
  --btn-bd-color-disabled: var(--o-color-primary4);
}
.o-btn-primary.o-btn-solid {
  --btn-bg-color: var(--o-color-primary1);
  --btn-bg-color-hover: var(--o-color-primary2);
  --btn-bg-color-active: var(--o-color-primary3);
  --btn-bg-color-disabled: var(--o-color-primary4);
  --btn-bd-color: var(--o-color-primary1);
  --btn-bd-color-hover: var(--o-color-primary2);
  --btn-bd-color-active: var(--o-color-primary3);
  --btn-bd-color-disabled: var(--o-color-primary4);
}
.o-btn-primary.o-btn-text {
  --btn-bg-color-hover: var(--o-color-primary1-light);
  --btn-bg-color-active: var(--o-color-primary2-light);
}

.o-btn-success {
  --btn-color: var(--o-color-success1);
  --btn-color-hover: var(--o-color-success2);
  --btn-color-active: var(--o-color-success3);
  --btn-color-disabled: var(--o-color-success4);
  --btn-bd-color: var(--o-color-success1);
  --btn-bd-color-hover: var(--o-color-success2);
  --btn-bd-color-active: var(--o-color-success3);
  --btn-bd-color-disabled: var(--o-color-success4);
}
.o-btn-success.o-btn-solid {
  --btn-bg-color: var(--o-color-success1);
  --btn-bg-color-hover: var(--o-color-success2);
  --btn-bg-color-active: var(--o-color-success3);
  --btn-bg-color-disabled: var(--o-color-success4);
  --btn-bd-color: var(--o-color-success1);
  --btn-bd-color-hover: var(--o-color-success2);
  --btn-bd-color-active: var(--o-color-success3);
}
.o-btn-success.o-btn-text {
  --btn-bg-color-hover: var(--o-color-success1-light);
  --btn-bg-color-active: var(--o-color-success2-light);
}

.o-btn-warning {
  --btn-color: var(--o-color-warning1);
  --btn-color-hover: var(--o-color-warning2);
  --btn-color-active: var(--o-color-warning3);
  --btn-color-disabled: var(--o-color-warning4);
  --btn-bd-color: var(--o-color-warning1);
  --btn-bd-color-hover: var(--o-color-warning2);
  --btn-bd-color-active: var(--o-color-warning3);
  --btn-bd-color-disabled: var(--o-color-warning4);
}
.o-btn-warning.o-btn-solid {
  --btn-bg-color: var(--o-color-warning1);
  --btn-bg-color-hover: var(--o-color-warning2);
  --btn-bg-color-active: var(--o-color-warning3);
  --btn-bg-color-disabled: var(--o-color-warning4);
  --btn-bd-color: var(--o-color-warning1);
  --btn-bd-color-hover: var(--o-color-warning2);
  --btn-bd-color-active: var(--o-color-warning3);
}
.o-btn-warning.o-btn-text {
  --btn-bg-color-hover: var(--o-color-warning1-light);
  --btn-bg-color-active: var(--o-color-warning2-light);
}
.o-btn-warning.o-btn-disabled {
  --btn-color: var(--o-color-warning4);
  --btn-bg-color: var(--o-color-warning4);
  --btn-bd-color: var(--o-color-warning4);
}

.o-btn-danger {
  --btn-color: var(--o-color-danger1);
  --btn-color-hover: var(--o-color-danger2);
  --btn-color-active: var(--o-color-danger3);
  --btn-color-disabled: var(--o-color-danger4);
  --btn-bd-color: var(--o-color-danger1);
  --btn-bd-color-hover: var(--o-color-danger2);
  --btn-bd-color-active: var(--o-color-danger3);
  --btn-bd-color-disabled: var(--o-color-danger4);
}
.o-btn-danger.o-btn-solid {
  --btn-bg-color: var(--o-color-danger1);
  --btn-bg-color-hover: var(--o-color-danger2);
  --btn-bg-color-active: var(--o-color-danger3);
  --btn-bg-color-disabled: var(--o-color-danger4);
  --btn-bd-color: var(--o-color-danger1);
  --btn-bd-color-hover: var(--o-color-danger2);
  --btn-bd-color-active: var(--o-color-danger3);
}
.o-btn-danger.o-btn-text {
  --btn-bg-color-hover: var(--o-color-danger1-light);
  --btn-bg-color-active: var(--o-color-danger2-light);
}

.o-btn-small {
  --btn-radius: var(--o-radius_control-xs);
  --btn-gap: 2px;
  --btn-padding: 0 11px;
  --btn-icon-size: var(--o-icon_size-xs);
  --btn-height: var(--o-control_size-s);
}

.o-btn-medium {
  --btn-min-width: 80px;
  --btn-radius: var(--o-radius_control-s);
  --btn-gap: 8px;
  --btn-padding: 0 15px;
  --btn-icon-size: var(--o-icon_size-xs);
  --btn-height: var(--o-control_size-m);
}

.o-btn-large {
  --btn-min-width: 96px;
  --btn-radius: var(--o-radius_control-s);
  --btn-gap: 8px;
  --btn-padding: 0 23px;
  --btn-icon-size: var(--o-icon_size-m);
  --btn-height: var(--o-control_size-l);
}

.o-btn-icon-only {
  --btn-padding: 0;
}

.o-btn-round-pill {
  --btn-radius: var(--o-control_size-l);
  --btn-gap: 6px;
}

.o-btn-text {
  --btn-bd-color-disabled: transparent;
}

.o-btn {
  outline: none;
  background-color: transparent;
  border: 1px solid transparent;
  transition: all var(--o-duration-s) var(--o-easing-standard);
  white-space: nowrap;
  text-decoration: none;
  border-radius: var(--btn-radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: var(--btn-max-width);
  min-width: var(--btn-min-width);
  padding: var(--btn-padding);
  height: var(--btn-height);
  cursor: pointer;
}
.o-btn.o-btn-icon-only {
  width: var(--btn-height);
}

.o-btn-outline {
  color: var(--btn-color);
  border: 1px solid var(--btn-bd-color);
}
@media (hover: hover) {
  .o-btn-outline:hover {
    color: var(--btn-color-hover);
    border: 1px solid var(--btn-bd-color-hover);
  }
}
.o-btn-outline:active {
  color: var(--btn-color-active);
  border: 1px solid var(--btn-bd-color-active);
}
.o-btn-outline:focus-visible {
  border: 1px solid var(--btn-bd-color-active);
}

.o-btn-solid {
  color: var(--btn-color);
  border: 1px solid var(--btn-bd-color);
  background-color: var(--btn-bg-color);
}
@media (hover: hover) {
  .o-btn-solid:hover {
    color: var(--btn-color-hover);
    border: 1px solid var(--btn-bd-color-hover);
    background-color: var(--btn-bg-color-hover);
  }
}
.o-btn-solid:active {
  color: var(--btn-color-active);
  border: 1px solid var(--btn-bd-color-active);
  background-color: var(--btn-bg-color-active);
}
.o-btn-solid:focus-visible {
  border: 1px solid var(--btn-bd-color-active);
}

.o-btn-text {
  color: var(--btn-color);
  background-color: transparent;
}
@media (hover: hover) {
  .o-btn-text:hover {
    color: var(--btn-color-hover);
    background-color: var(--btn-bg-color-hover);
  }
}
.o-btn-text:active {
  color: var(--btn-color-active);
  background-color: var(--btn-bg-color-active);
}

.o-btn-disabled, .o-btn-disabled:active, .o-btn-disabled:hover, .o-btn-disabled:focus-visible {
  cursor: not-allowed;
  color: var(--btn-color-disabled);
  border: 1px solid var(--btn-bd-color-disabled);
  background-color: var(--btn-bg-color-disabled);
}

.o-btn-small {
  font-size: var(--o-font_size-tip1);
  line-height: var(--o-line_height-tip1);
}

.o-btn-medium {
  font-size: var(--o-font_size-tip1);
  line-height: var(--o-line_height-tip1);
}

.o-btn-large {
  font-size: var(--o-font_size-text1);
  line-height: var(--o-line_height-text1);
}

.o-btn-prefix {
  display: inline-flex;
  align-items: center;
  margin-right: var(--btn-gap);
  font-size: var(--btn-icon-size);
}
.o-btn-icon-only .o-btn-prefix {
  margin-right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.o-btn-suffix {
  display: inline-flex;
  align-items: center;
  margin-left: var(--btn-gap);
  font-size: var(--btn-icon-size);
}

@media (min-width: 1201px) and (max-width: 1440px) {
  .o-btn-large {
    --btn-padding: 0 15px;
    --btn-icon-size: var(--o-icon_size-s);
    font-size: var(--o-font_size-tip1);
    line-height: var(--o-line_height-tip1);
  }
}
.o-switch {
  --switch-radius: var(--o-control_size-s);
  --switch-color: var(--o-color-info1-inverse);
  --switch-bg-color: var(--o-color-control1-light);
  --switch-bg-color-hover: var(--o-color-control2-light);
  --switch-bg-color-active: var(--o-color-control3-light);
  --switch-bg-color-disabled: var(--o-color-control4-light);
  --switch-bg-color-checked: var(--o-color-primary1);
  --switch-bg-color-checked-hover: var(--o-color-primary2);
  --switch-bg-color-checked-active: var(--o-color-primary3);
  --switch-bg-color-checked-disabled: var(--o-color-primary4);
  --switch-handler-bg-color: var(--o-color-white);
  --switch-handler-bg-color-disabled: rgb(var(--o-white), 0.6);
  --switch-handler-bg-color-checked-disabled: rgb(var(--o-white), 0.4);
  --switch-icon-loading-color: var(--o-color-primary1);
}

.o-switch-medium {
  --switch-min-width: 40px;
  --switch-size: var(--o-control_size-s);
  --switch-text-size: var(--o-font_size-tip1);
  --switch-text-height: var(--o-line_height-tip1);
  --switch-handler-size: var(--o-control_size-xs);
  --switch-handler-offset: 4px;
  --switch-label-padding: 6px;
}

.o-switch-small {
  --switch-min-width: 28px;
  --switch-size: var(--o-control_size-xs);
  --switch-text-size: var(--o-font_size-tip2);
  --switch-text-height: var(--o-line_height-tip2);
  --switch-handler-size: calc(var(--o-control_size-2xs) - 4px);
  --switch-handler-offset: 4px;
  --switch-label-padding: 4px;
}

.o-switch-round-pill {
  --switch-radius: var(--o-control_size-l);
}

.o-switch {
  display: inline-block;
  height: var(--switch-size);
  font-size: var(--switch-text-size);
  line-height: var(--switch-text-height);
  color: var(--switch-color);
  background-color: var(--switch-bg-color);
  border-radius: var(--switch-radius);
  transition: background-color var(--o-duration-s) var(--o-easing-standard);
  cursor: pointer;
  min-width: var(--switch-min-width);
}
@media (hover: hover) {
  .o-switch:hover {
    background-color: var(--switch-bg-color-hover);
  }
}
.o-switch:active {
  background-color: var(--switch-bg-color-active);
}

.o-switch-wrap {
  position: relative;
  height: 100%;
}

.o-switch-handler {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: var(--switch-handler-size);
  height: var(--switch-handler-size);
  border-radius: calc(var(--switch-radius) - 2px);
  background-color: var(--switch-handler-bg-color);
  transition: left var(--o-duration-s) var(--o-easing-standard);
  left: var(--switch-handler-offset);
}
.o-switch-handler .o-switch-icon-loading {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--switch-bg-color);
}

.o-switch-checked {
  background-color: var(--switch-bg-color-checked);
}
.o-switch-checked .o-switch-handler {
  left: calc(100% - var(--switch-handler-offset) - var(--switch-handler-size));
}
.o-switch-checked .o-switch-label {
  padding-left: var(--switch-label-padding);
  padding-right: calc(var(--switch-handler-offset) + var(--switch-handler-size) + var(--switch-label-padding));
}
@media (hover: hover) {
  .o-switch-checked:hover {
    background-color: var(--switch-bg-color-checked-hover);
  }
}
.o-switch-checked:active {
  background-color: var(--switch-bg-color-checked-active);
}

.o-switch-disabled,
.o-switch-loading {
  cursor: not-allowed;
}
.o-switch-disabled, .o-switch-disabled:hover, .o-switch-disabled:active,
.o-switch-loading,
.o-switch-loading:hover,
.o-switch-loading:active {
  background-color: var(--switch-bg-color-disabled);
}
.o-switch-disabled .o-switch-handler, .o-switch-disabled:hover .o-switch-handler, .o-switch-disabled:active .o-switch-handler,
.o-switch-loading .o-switch-handler,
.o-switch-loading:hover .o-switch-handler,
.o-switch-loading:active .o-switch-handler {
  background-color: var(--switch-handler-bg-color-disabled);
}
.o-switch-disabled .o-switch-handler .o-switch-icon-loading, .o-switch-disabled:hover .o-switch-handler .o-switch-icon-loading, .o-switch-disabled:active .o-switch-handler .o-switch-icon-loading,
.o-switch-loading .o-switch-handler .o-switch-icon-loading,
.o-switch-loading:hover .o-switch-handler .o-switch-icon-loading,
.o-switch-loading:active .o-switch-handler .o-switch-icon-loading {
  color: var(--switch-icon-loading-color);
}

.o-switch-disabled.o-switch-checked, .o-switch-disabled.o-switch-checked:hover, .o-switch-disabled.o-switch-checked:active,
.o-switch-loading.o-switch-checked,
.o-switch-loading.o-switch-checked:hover,
.o-switch-loading.o-switch-checked:active {
  background-color: var(--switch-bg-color-checked-disabled);
}
.o-switch-disabled.o-switch-checked .o-switch-handler, .o-switch-disabled.o-switch-checked:hover .o-switch-handler, .o-switch-disabled.o-switch-checked:active .o-switch-handler,
.o-switch-loading.o-switch-checked .o-switch-handler,
.o-switch-loading.o-switch-checked:hover .o-switch-handler,
.o-switch-loading.o-switch-checked:active .o-switch-handler {
  background-color: var(--switch-handler-bg-color-checked-disabled);
}

.o-switch-label {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-left: calc(var(--switch-handler-offset) + var(--switch-handler-size) + var(--switch-label-padding));
  padding-right: var(--switch-label-padding);
}

.o-link {
  --link-gap: 4px;
}

.o-link-normal {
  --link-color: var(--o-color-info2);
  --link-color-hover: var(--o-color-link2);
  --link-color-active: var(--o-color-link3);
  --link-color-disabled: var(--o-color-info4);
  --link-bg-color-hover: var(--o-color-control1-light);
  --link-bg-color-active: var(--o-color-control2-light);
}

.o-link-primary {
  --link-color: var(--o-color-primary1);
  --link-color-hover: var(--o-color-primary2);
  --link-color-active: var(--o-color-primary3);
  --link-color-disabled: var(--o-color-primary4);
  --link-bg-color-hover: var(--o-color-primary1-light);
  --link-bg-color-active: var(--o-color-primary2-light);
}

.o-link-success {
  --link-color: var(--o-color-success1);
  --link-color-hover: var(--o-color-success2);
  --link-color-active: var(--o-color-success3);
  --link-color-disabled: var(--o-color-success4);
  --link-bg-color-hover: var(--o-color-success1-light);
  --link-bg-color-active: var(--o-color-success2-light);
}

.o-link-warning {
  --link-color: var(--o-color-warning1);
  --link-color-hover: var(--o-color-warning2);
  --link-color-active: var(--o-color-warning3);
  --link-color-disabled: var(--o-color-warning4);
  --link-bg-color-hover: var(--o-color-warning1-light);
  --link-bg-color-active: var(--o-color-warning2-light);
}

.o-link-danger {
  --link-color: var(--o-color-danger1);
  --link-color-hover: var(--o-color-danger2);
  --link-color-active: var(--o-color-danger3);
  --link-color-disabled: var(--o-color-danger4);
  --link-bg-color-hover: var(--o-color-danger1-light);
  --link-bg-color-active: var(--o-color-danger2-light);
}

.o-link-small {
  --link-icon-size: var(--o-icon_size_control-xs);
}

.o-link-medium {
  --link-icon-size: var(--o-icon_size_control-xs);
}

.o-link-large {
  --link-icon-size: var(--o-icon_size_control-m);
}

.o-link {
  cursor: pointer;
  padding: 0 2px;
  color: var(--link-color);
  align-items: center;
  text-decoration: none;
  border: none;
  outline: none;
  background-color: transparent;
}
@media (hover: hover) {
  .o-link:hover {
    color: var(--link-color-hover);
  }
  .o-link:hover .o-link-icon-arrow {
    transform: translate3d(4px, 0, 0);
  }
}
.o-link:active {
  color: var(--link-color-active);
}

.o-link-icon-arrow {
  transition: transform var(--o-easing-standard) var(--o-duration-m2);
}

.o-link-hover-underline {
  --link-underline-x: 100%;
}
.o-link-hover-underline .o-link-label {
  background: linear-gradient(0deg, var(--link-color-hover), var(--link-color-hover)) no-repeat var(--link-underline-x) bottom;
  background-size: 0 1px;
  transition: background-size var(--o-easing-standard) var(--o-duration-m2);
}
@media (hover: hover) {
  .o-link-hover-underline:hover .o-link-label {
    background-size: var(--link-underline-x) 1px;
    background-position-x: left;
  }
}

.o-link-hover-bg {
  transition: background-color var(--o-easing-standard) var(--o-duration-m2);
}
@media (hover: hover) {
  .o-link-hover-bg:hover {
    color: var(--link-color);
    background-color: var(--link-bg-color-hover);
  }
}
.o-link-hover-bg:active {
  color: var(--link-color);
  background-color: var(--link-bg-color-active);
}

.o-link-prefix,
.o-link-suffix {
  height: var(--link-icon-size, 1em);
  line-height: var(--link-icon-size, 1em);
  font-size: var(--link-icon-size);
  display: inline-flex;
  align-items: center;
  vertical-align: var(--link-align);
}
.o-link-prefix::before,
.o-link-suffix::before {
  content: "x";
  visibility: hidden;
  user-select: none;
  width: 0;
}
.o-link-prefix .o-svg-icon,
.o-link-suffix .o-svg-icon {
  flex-shrink: 0;
}

.o-link-prefix {
  margin-right: var(--link-gap);
}

.o-link-suffix {
  margin-left: var(--link-gap);
}

.o-link-disabled, .o-link-disabled:hover, .o-link-disabled:active {
  cursor: not-allowed;
  color: var(--link-color-disabled);
}
@media (hover: hover) {
  .o-link-disabled:hover .o-link-icon-arrow {
    transform: translate3d(0, 0, 0);
  }
  .o-link-disabled:hover .o-link-label {
    background: none;
  }
}
.o-link-disabled.o-link-hover-underline {
  background: none;
}

.o-link-small {
  font-size: var(--o-font_size-tip1);
  line-height: var(--o-line_height-tip1);
  --link-align: -0.08em;
}

.o-link-medium {
  font-size: var(--o-font_size-tip1);
  line-height: var(--o-line_height-tip1);
  --link-align: -0.08em;
}

.o-link-large {
  font-size: var(--o-font_size-text1);
  line-height: var(--o-line_height-text1);
  --link-align: -0.1em;
}

@media (min-width: 1201px) and (max-width: 1440px) {
  .o-link-large {
    --link-icon-size: var(--o-icon_size-s);
    font-size: var(--o-font_size-tip1);
    line-height: var(--o-line_height-tip1);
  }
}
.o-popup {
  position: absolute;
  z-index: var(--popup-z-index);
  opacity: 1;
  transition: opacity var(--o-duration-m1) var(--o-easing-standard);
  max-width: calc(100vw - var(--popup-edge-offset, 0) * 2);
}
.o-popup.out-view {
  opacity: 0;
  pointer-events: none;
}
.o-popup.animating {
  pointer-events: none;
}

.o-popup-anchor {
  position: absolute;
  z-index: 0;
}

.o-popup-wrap {
  box-shadow: var(--popup-shadow);
  background-color: var(--popup-bg-color);
  border-radius: var(--popup-radius);
}

.o-popup-body {
  position: relative;
  z-index: 1;
  border: var(--popup-bd);
  min-width: var(--popup-min-width);
  padding: var(--popup-padding);
  word-break: break-word;
}

.o-popover {
  --popup-bg-color: var(--o-color-fill2);
  --popup-shadow: var(--o-shadow-1);
  --popup-radius: var(--o-radius_control-s);
  --popup-bd: none;
  --popup-padding: 8px;
  --popover-text-color: var(--o-color-info1);
  --popover-text-size: var(--o-font_size-tip1);
  --popover-text-height: var(--o-line_height-tip1);
}

.o-popover {
  font-size: var(--popover-text-size);
  line-height: var(--popover-text-height);
  color: var(--popover-text-color);
}

.o-popover-anchor {
  border: var(--popup-bd);
  border-bottom: none;
  border-right: none;
  border-top-left-radius: 2px;
  width: 8px;
  height: 8px;
  background-color: var(--popup-bg-color);
}

.o-popup-pos-left .o-popover-anchor,
.o-popup-pos-lb .o-popover-anchor,
.o-popup-pos-lt .o-popover-anchor {
  transform: translate(50%, -50%) rotate(135deg);
}

.o-popup-pos-top .o-popover-anchor,
.o-popup-pos-tl .o-popover-anchor,
.o-popup-pos-tr .o-popover-anchor {
  transform: translate(-50%, 50%) rotate(225deg);
}

.o-popup-pos-right .o-popover-anchor,
.o-popup-pos-rt .o-popover-anchor,
.o-popup-pos-rb .o-popover-anchor {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.o-popup-pos-bottom .o-popover-anchor,
.o-popup-pos-bl .o-popover-anchor,
.o-popup-pos-br .o-popover-anchor {
  transform: translate(-50%, -50%) rotate(45deg);
}

@media (max-width: 1440px) {
  .o-popover {
    --popover-text-size: var(--o-font_size-tip2);
    --popover-text-height: var(--o-line_height-tip2);
  }
}
.o-input.o_box-small {
  --_box-padding: 0 7px;
  --_box-height: var(--o-control_size-s);
}
.o-input.o_box-medium {
  --_box-padding: 0 15px;
  --_box-height: var(--o-control_size-m);
}
.o-input.o_box-large {
  --_box-padding: 0 15px;
  --_box-height: var(--o-control_size-l);
}
.o-input.o_box-text.o_box-success {
  --input-color: var(--o-color-success1);
  --input-color-disabled: var(--o-color-success4);
}
.o-input.o_box-text.o_box-warning {
  --input-color: var(--o-color-warning1);
  --input-color-disabled: var(--o-color-warning4);
}
.o-input.o_box-text.o_box-danger {
  --input-color: var(--o-color-danger1);
  --input-color-disabled: var(--o-color-danger4);
}

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

.o-input-wrap {
  width: 100%;
}

@media (min-width: 1201px) and (max-width: 1440px) {
  .o-input-large {
    --input-icon-size: var(--o-icon_size-s);
    --input-text-size: var(--o-font_size-tip1);
    --input-text-height: var(--o-line_height-tip1);
  }
}
@media (max-width: 600px) {
  .o-input.o_box-small {
    --_box-padding: 0 5px;
  }
  .o-input.o_box-medium {
    --_box-padding: 0 11px;
  }
  .o-input.o_box-large {
    --_box-padding: 0 11px;
  }
}

.o-input-number {
  --input-number-btn-color: var(--o-color-info3);
  --input-number-btn-color-hover: var(--o-color-info1);
  --input-number-btn-color-active: var(--o-color-info1);
  --input-number-btn-color-disabled: var(--o-color-info4);
  --input-number-btn-bg-color: transparent;
  --input-number-btn-bg-color-hover: var(--o-color-control1-light);
  --input-number-btn-bg-color-active: var(--o-color-control2-light);
  --input-number-btn-bg-color-disabled: var(--o-color-control4-light);
  --input-number-btn-pill-fix: 2px;
}

.o-input-number-btn-wrap {
  height: 100%;
  user-select: none;
  justify-content: center;
  display: flex;
  cursor: pointer;
  min-width: var(--_box-height);
  font-size: 16px;
  flex-wrap: wrap;
  color: var(--input-number-btn-color);
}

.o-input-number-btn {
  width: 100%;
  height: 50%;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 16px;
  overflow: hidden;
  position: relative;
  background-color: var(--input-number-btn-bg-color);
}
.o-input-control-left .o-input-number-btn, .o-input-control-right .o-input-number-btn {
  height: 100%;
}
@media (hover: hover) {
  .o-input-number-btn:hover {
    color: var(--input-number-btn-color-hover);
    background-color: var(--input-number-btn-bg-color-hover);
  }
}
.o-input-number-btn:focus {
  color: var(--input-number-btn-color-active);
  background-color: var(--input-number-btn-bg-color-active);
}
.o-input-number-btn.is-disabled {
  cursor: not-allowed;
  color: var(--input-number-btn-color-disabled);
  background-color: var(--input-number-btn-bg-color-disabled);
}
.o-input-control-right .o-input-round-pill .o-input-number-btn {
  padding-right: var(--input-number-btn-pill-fix);
}
.o-input-control-left .o-input-round-pill .o-input-number-btn {
  padding-left: var(--input-number-btn-pill-fix);
}

.o-input-number-icon-minus {
  position: absolute;
  margin-top: -4px;
}

.o-input-number-icon-plus {
  position: absolute;
  margin-bottom: -4px;
}

.o-input-number-size-small {
  width: 90px;
}

.o-input-number-size-medium {
  width: 120px;
}

.o-input-number-size-large {
  width: 160px;
}

.o-textarea {
  --textarea-min-height: var(--o-control_size-s);
  --textarea-min-width: var(--o-control_size-xl);
}
.o-textarea.o_box-small {
  --textarea-padding-v: 4px;
  --textarea-padding-h: 8px;
}
.o-textarea.o_box-medium {
  --textarea-padding-v: 8px;
  --textarea-padding-h: 16px;
}
.o-textarea.o_box-large {
  --textarea-padding-v: 8px;
  --textarea-padding-h: 16px;
}
.o-textarea.o_box-text.o_box-success {
  --textarea-color: var(--o-color-success1);
  --textarea-color-disabled: var(--o-color-success4);
}
.o-textarea.o_box-text.o_box-warning {
  --textarea-color: var(--o-color-warning1);
  --textarea-color-disabled: var(--o-color-warning4);
}
.o-textarea.o_box-text.o_box-danger {
  --textarea-color: var(--o-color-danger1);
  --textarea-color-disabled: var(--o-color-danger4);
}

.o-textarea {
  display: inline-flex;
  cursor: text;
}
.o-textarea.o_box-round-pill .o_textarea-count {
  right: 16px;
}

.o-textarea-textarea {
  min-width: 100%;
}

@media (max-width: 1200px) {
  .o-textarea {
    --textarea-text-size: var(--o-font_size-tip1);
    --textarea-text-height: var(--o-line_height-tip1);
  }
  .o-textarea-size-medium {
    --textarea-radius: var(--o-radius_control-m);
    --textarea-radius-pill: var(--o-radius_control-m);
  }
}
.o-option {
  --option-color: var(--o-color-info2);
  --option-color-hover: var(--o-color-info2);
  --option-color-active: var(--o-color-primary1);
  --option-color-disabled: var(--o-color-info4);
  --option-bg-color: transparent;
  --option-bg-color-hover: var(--o-color-control2-light);
  --option-bg-color-active: var(--o-color-control3-light);
  --option-bg-color-disabled: transparent;
  --option-text-size: var(--o-font_size-text1);
  --option-text-height: var(--o-line_height-text1);
  --option-padding: 7px 12px;
  --option-gap: 2px;
  --option-radius: var(--o-radius_control-s);
}

.o-option-multiple {
  --option-bg-color-active: transparent;
}

.o-options-popup {
  --popup-shadow: var(--o-shadow-2);
  --popup-bg-color: var(--o-color-control-light);
  --popup-radius: var(--o-radius_control-m);
  --popup-bd: none;
  --popup-padding: 0;
  --popup-min-width: 64px;
}

.o-option-list {
  --option-list-padding-default: 3px 4px;
  --option-list-max-height-default: 302px;
}

.o-option-group {
  --option-group-color: var(--o-color-info3);
  --option-group-text-size: var(--o-font_size-tip1);
  --option-group-text-height: var(--o-line_height-tip1);
  --option-group-gap: 8px;
  --option-group-name-padding: 2px 8px;
}

.o-option {
  padding: calc(var(--option-gap) / 2) 0;
}

.o-option-item {
  display: flex;
  align-items: center;
  padding: var(--option-padding);
  color: var(--option-color);
  background-color: var(--option-bg-color);
  font-size: var(--option-text-size);
  line-height: var(--option-text-height);
  border-radius: var(--option-radius);
  transition: background-color var(--o-duration-s) var(--o-easing-standard);
  cursor: pointer;
}
@media (hover: hover) {
  .o-option-item:hover, .o-option-item.o-option-multiple:hover {
    background-color: var(--option-bg-color-hover);
    color: var(--option-color-hover);
  }
}
.o-option-item.active {
  font-weight: 500;
  color: var(--option-color-active);
  background-color: var(--option-bg-color-active);
}

.o-option-disabled, .o-option-disabled:hover, .o-option-disabled:active, .o-option-disabled.o-option-multiple:hover {
  cursor: not-allowed;
  color: var(--option-color-disabled);
  background-color: var(--option-bg-color-disabled);
}

.o-option-list {
  padding: var(--option-list-padding, var(--option-list-padding-default));
  --scroller-padding: 0;
}

.o-options-container {
  max-height: var(--option-list-max-height, var(--option-list-max-height-default));
  overflow: auto;
}

.o-option-group {
  color: var(--option-group-color);
  font-size: var(--option-group-text-size);
  line-height: var(--option-group-text-height);
}
.o-option-group + .o-option-group {
  margin-top: var(--option-group-gap);
}

.o-option-group-name {
  padding: var(--option-group-name-padding);
}

@media (max-width: 1440px) {
  .o-option {
    --option-text-size: var(--o-font_size-tip1);
    --option-text-height: var(--o-line_height-tip1);
    --option-padding: 6px 12px;
  }
}
.o-select {
  --select-text-size: var(--o-font_size-text1);
  --select-text-height: var(--o-line_height-text1);
  --select-color: var(--o-color-info1);
  --select-color-hover: var(--o-color-info1);
  --select-color-focus: var(--o-color-info1);
  --select-color-disabled: var(--o-color-info4);
  --select-placeholder: var(--o-color-info4);
  --select-bg-color: var(--o-color-control-light);
  --select-bg-color-hover: var(--o-color-control-light);
  --select-bg-color-focus: var(--o-color-control-light);
  --select-bg-color-disabled: var(--o-color-control4-light);
  --select-icon-color: var(--o-color-info3);
  --select-icon-color-disabled: var(--o-color-info4);
}

.o-select,
.o-select-tag-popover {
  --select-tag-bg-color: var(--o-color-control2-light);
  --select-tag-radius: 24px;
  --select-tag-text-size: var(--o-font_size-tip2);
  --select-tag-text-height: var(--o-line_height-tip2);
  --select-tag-padding: 3px 12px;
  --select-tag-margin: 2px 4px 2px 0;
}

.o-select-tag-popover {
  --popover-min-width: auto;
  --select-tag-popover-max-width: 360px;
}

.o-select-normal.o-select-outline {
  --select-bd-color: var(--o-color-control1);
  --select-bd-color-hover: var(--o-color-control2);
  --select-bd-color-focus: var(--o-color-primary3);
  --select-bd-color-disabled: var(--o-color-control4);
}
.o-select-normal.o-select-solid {
  --select-bd-color: var(--o-color-control1-light);
  --select-bd-color-hover: var(--o-color-control2-light);
  --select-bd-color-disabled: var(--o-color-control4-light);
  --select-bg-color: var(--o-color-control1-light);
  --select-bg-color-hover: var(--o-color-control2-light);
  --select-bg-color-disabled: var(--o-color-control4-light);
}

.o-select-text {
  --select-color: var(--o-color-info1);
  --select-color-hover: var(--o-color-info2);
  --select-color-focus: var(--o-color-info2);
  --select-color-disabled: var(--o-color-info4);
  --select-bg-color: transparent;
  --select-bg-color-hover: transparent;
  --select-bg-color-focus: transparent;
}

.o-select-success.o-select-text {
  --select-color: var(--o-color-success1);
  --select-color-hover: var(--o-color-success2);
  --select-color-focus: var(--o-color-success3);
  --select-color-disabled: var(--o-color-success4);
}
.o-select-success.o-select-outline {
  --select-bd-color: var(--o-color-success1-light);
  --select-bd-color-hover: var(--o-color-success2-light);
  --select-bd-color-focus: var(--o-color-success3);
  --select-bd-color-disabled: var(--o-color-success4);
}
.o-select-success.o-select-solid {
  --select-bd-color: var(--o-color-success1-light);
  --select-bd-color-hover: var(--o-color-success2-light);
  --select-bd-color-focus: var(--o-color-success3-light);
  --select-bd-color-disabled: var(--o-color-success4-light);
  --select-bg-color: var(--o-color-success1-light);
  --select-bg-color-hover: var(--o-color-success2-light);
  --select-bg-color-disabled: var(--o-color-success4-light);
}

.o-select-warning.o-select-text {
  --select-color: var(--o-color-warning1);
  --select-color-hover: var(--o-color-warning2);
  --select-color-focus: var(--o-color-warning3);
  --select-color-disabled: var(--o-color-warning4);
}
.o-select-warning.o-select-outline {
  --select-bd-color: var(--o-color-warning1-light);
  --select-bd-color-hover: var(--o-color-warning2-light);
  --select-bd-color-focus: var(--o-color-warning3);
  --select-bd-color-disabled: var(--o-color-warning4);
}
.o-select-warning.o-select-solid {
  --select-bd-color: var(--o-color-warning1-light);
  --select-bd-color-hover: var(--o-color-warning2-light);
  --select-bd-color-focus: var(--o-color-warning3-light);
  --select-bd-color-disabled: var(--o-color-warning4-light);
  --select-bg-color: var(--o-color-warning1-light);
  --select-bg-color-hover: var(--o-color-warning2-light);
  --select-bg-color-disabled: var(--o-color-warning4-light);
}

.o-select-danger.o-select-text {
  --select-color: var(--o-color-danger1);
  --select-color-hover: var(--o-color-danger2);
  --select-color-focus: var(--o-color-danger3);
  --select-color-disabled: var(--o-color-danger4);
}
.o-select-danger.o-select-outline {
  --select-bd-color: var(--o-color-danger1-light);
  --select-bd-color-hover: var(--o-color-danger2-light);
  --select-bd-color-focus: var(--o-color-danger3);
  --select-bd-color-disabled: var(--o-color-danger4);
}
.o-select-danger.o-select-solid {
  --select-bd-color: var(--o-color-danger1-light);
  --select-bd-color-hover: var(--o-color-danger2-light);
  --select-bd-color-focus: var(--o-color-danger3-light);
  --select-bd-color-disabled: var(--o-color-danger4-light);
  --select-bg-color: var(--o-color-danger1-light);
  --select-bg-color-hover: var(--o-color-danger2-light);
  --select-bg-color-disabled: var(--o-color-danger4-light);
}

.o-select-large {
  --select-padding: 0 15px;
  --select-icon-size: var(--o-icon_size_control-m);
  --select-text-size: var(--o-font_size-text1);
  --select-text-height: var(--o-line_height-text1);
  --select-radius: var(--o-radius_control-l);
  --select-height: var(--o-control_size-l);
  --select-multiple-max-height: 64px;
  --select-multiple-padding: 3px 15px 3px 7px;
}

.o-select-medium {
  --select-padding: 0 15px;
  --select-icon-size: var(--o-icon_size_control-xs);
  --select-text-size: var(--o-font_size-tip1);
  --select-text-height: var(--o-line_height-tip1);
  --select-radius: var(--o-radius_control-s);
  --select-height: var(--o-control_size-m);
  --select-multiple-max-height: 64px;
  --select-multiple-padding: 2px 15px 2px 7px;
  --select-tag-padding: 2px 8px;
}

.o-select-small {
  --select-padding: 0 8px;
  --select-height: var(--o-control_size-s);
  --select-text-size: var(--o-font_size-tip2);
  --select-text-height: var(--o-line_height-tip2);
  --select-radius: var(--o-radius_control-xs);
  --select-icon-size: var(--o-icon_size_control-xs);
  --select-tag-padding: 0 8px;
  --select-multiple-max-height: 48px;
  --select-multiple-padding: 1px 8px 1px 5px;
  --select-tag-margin: 1px 2px 1px 0;
}

.o-select-round-pill {
  --select-radius: var(--o-control_size-l);
  overflow: hidden;
}

.o-select-options {
  --select-empty-padding: 16px;
}

.o-select-dlg {
  --dlg-radius: var(--o-radius_control-s);
  --dlg-body-padding: 16px 24px;
  --option-list-padding: 0;
}

.o-select {
  display: inline-flex;
  align-items: center;
  padding: var(--select-padding);
  color: var(--select-color);
  height: var(--select-height);
  border-radius: var(--select-radius);
  border: 1px solid var(--select-bd-color);
  background-color: var(--select-bg-color);
  cursor: pointer;
  background-clip: padding-box;
}
@media (hover: hover) {
  .o-select:hover {
    color: var(--select-color-hover);
    border-color: var(--select-bd-color-hover);
    background-color: var(--select-bg-color-hover);
  }
}
.o-select.is-selecting {
  color: var(--select-color-focus);
  border-color: var(--select-bd-color-focus);
  background-color: var(--select-bg-color-focus);
}
.o-select.is-multiple {
  padding: var(--select-multiple-padding);
  min-height: var(--select-height);
  height: auto;
}

.o-select-disabled, .o-select-disabled:hover, .o-select-disabled.is-selecting {
  cursor: not-allowed;
  color: var(--select-color-disabled);
  border-color: var(--select-bd-color-disabled);
  background-color: var(--select-bg-color-disabled);
}

.o-select-input {
  outline: none;
  border: none;
  padding: 0;
  color: inherit;
  cursor: inherit;
  background-color: transparent;
  display: inline-flex;
  width: 100%;
  font-size: var(--select-text-size);
  line-height: var(--select-text-height);
  overflow: hidden;
  text-overflow: ellipsis;
}
.o-select-input::-webkit-input-placeholder {
  color: var(--select-placeholder);
}

.o-select-suffix {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  position: relative;
}

.o-select-suffix-icon {
  transition: all var(--o-duration-m1) var(--o-easing-standard-out);
  align-items: center;
  display: flex;
  justify-content: center;
}

.o-select-arrow {
  font-size: var(--select-icon-size);
  color: var(--select-icon-color);
  display: inline-flex;
  align-items: center;
  transform: rotate(0);
  transition: transform var(--o-duration-s) var(--o-easing-standard);
}
.o-select-arrow.active {
  transform: rotate(-180deg);
}
.o-select-disabled .o-select-arrow {
  color: var(--select-icon-color-disabled);
}

.o-select-clear {
  position: absolute;
  transition: all var(--o-duration-m1) var(--o-easing-standard-in);
  opacity: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--select-icon-color);
  background-color: var(--select-clear-bg-color);
  border-radius: 50%;
  z-index: 1;
}
.o-select-clear {
  overflow: hidden;
}
.o-select-clear svg {
  transition: all var(--o-duration-m1) var(--o-easing-standard-in);
}
@media (hover: hover) {
  .o-select-clear:hover svg {
    transform: rotate(180deg);
  }
}

.o-select-loading {
  position: absolute;
  font-size: var(--select-icon-size);
}

.o-select-is-loading .o-select-arrow {
  visibility: hidden;
  opacity: 0;
}

@media (hover: hover) {
  .o-select-clearable:hover .o-select-arrow {
    visibility: hidden;
    opacity: 0;
  }
  .o-select-clearable:hover .o-select-clear {
    visibility: visible;
    opacity: 1;
  }
}
@media (hover: none) {
  .o-select-clearable .o-select-clear {
    visibility: visible;
    opacity: 1;
  }
  .o-select-clearable .o-select-arrow {
    visibility: hidden;
    opacity: 0;
  }
}

.o-select-option-wrap {
  max-height: var(--option-list-max-height, var(--option-list-max-height-default));
}

.o-select-options-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
  font-size: var(--o-icon_size_control-m);
}

.o-select-empty {
  padding: var(--select-empty-padding);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--o-font_size-tip1);
  line-height: var(--o-line_height-tip1);
  color: var(--o-color-info3);
}

.o-select-actions {
  border-top: 1px solid var(--o-color-control4);
}

.o-select-options-dlg .o-select-options-scrollbar {
  --scrollbar-y-right: calc(-1 * var(--dlg-edge-gap));
}

.o-select-value-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  max-height: var(--select-multiple-max-height);
}

.o-select-tags-scroller {
  width: 100%;
}

.o-select-tags-wrap {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.o-select-tag {
  padding: var(--select-tag-padding);
  margin: var(--select-tag-margin);
  min-height: var(--select-tag-min-height);
  background-color: var(--select-tag-bg-color);
  border-radius: var(--select-tag-radius);
  font-size: var(--select-tag-text-size);
  line-height: var(--select-tag-text-height);
  display: inline-flex;
  align-items: center;
}
.o-select-tag:last-child {
  margin-right: 0;
}

.o-select-tag-remove {
  font-size: var(--o-icon_size_control-xs);
  margin-left: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.o-select-tag-remove {
  overflow: hidden;
}
.o-select-tag-remove svg {
  transition: all var(--o-duration-m1) var(--o-easing-standard-in);
}
@media (hover: hover) {
  .o-select-tag-remove:hover svg {
    transform: rotate(180deg);
  }
}

.o-select-tag-popover {
  max-width: var(--select-tag-popover-max-width);
  --popover-padding: 6px 8px;
}

@media (max-width: 1200px) {
  .o-select-options-dlg {
    --select-options-padding: 0;
  }
  .o-select-options-dlg .o-option-checkbox {
    width: 100%;
  }
  .o-select-options-dlg .o-checkbox-label {
    margin-left: 0;
  }
  .o-select-options-dlg .o-checkbox-wrap {
    width: 100%;
    flex-direction: row-reverse;
    justify-content: space-between;
  }
  .o-select-options-dlg .o-option-multiple {
    border-radius: 0;
    --option-padding: 12px 0;
    --option-gap: 0;
    position: relative;
  }
  .o-select-options-dlg .o-option-multiple::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    border-top: 1px solid var(--o-color-control4);
  }
}
@media (min-width: 1201px) and (max-width: 1440px) {
  .o-select-large {
    --select-icon-size: var(--o-icon_size_control-s);
  }
}
@media (max-width: 1440px) {
  .o-select-large {
    --select-text-size: var(--o-font_size-tip1);
    --select-text-height: var(--o-line_height-tip1);
  }
}
.o-tab {
  --tab-nav-btn-icon-size: var(--o-icon_size_control-xs);
  --tab-nav-btn-size: 24px;
  --tab-nav-color: var(--o-color-info2);
  --tab-nav-color-disabled: var(--o-color-info4);
  --tab-nav-radius: 2px;
  --tab-icon-color: var(--o-color-info2);
  --tab-icon-color-hover: var(--o-color-primary1);
  --tab-icon-color-disabled: var(--o-color-info4);
  --tab-nav-divider: 1px solid var(--o-color-control1);
  --tab-nav-anchor-color: var(--o-color-primary1);
  --tab-nav-anchor-height: 2px;
  --tab-nav-close-size: var(--o-icon_size_control-xs);
  --tab-nav-icon-size: var(--o-icon_size_control-m);
}

.o-tab-large {
  --tab-nav-text-size: var(--o-font_size-h4);
  --tab-nav-text-height: var(--o-line_height-h4);
  --tab-nav-gap: 40px;
  --tab-nav-icon-size: var(--o-icon_size_control-l);
  --tab-nav-padding: 0 0 16px;
}

.o-tab-medium {
  --tab-nav-text-size: var(--o-font_size-text2);
  --tab-nav-text-height: var(--o-line_height-text2);
  --tab-nav-gap: 32px;
  --tab-nav-icon-size: var(--o-icon_size_control-m);
  --tab-nav-padding: 0 0 14px;
}

.o-tab-small {
  --tab-nav-text-size: var(--o-font_size-text1);
  --tab-nav-text-height: var(--o-line_height-text1);
  --tab-nav-gap: 24px;
  --tab-nav-icon-size: var(--o-icon_size_control-xs);
  --tab-nav-padding: 0 0 8px;
}

.o-tab-solid {
  --tab-nav-bd-color: var(--o-color-control1-light);
  --tab-nav-bd-color-hover: var(--o-color-control2-light);
  --tab-nav-bd-color-active: var(--o-color-control1-light);
  --tab-nav-bd-color-disabled: var(--o-color-control4-light);
  --tab-nav-bg-color: var(--o-color-control1-light);
  --tab-nav-bg-color-hover: var(--o-color-control2-light);
  --tab-nav-bg-color-active: var(--o-color-control-light);
  --tab-nav-bg-color-disabled: var(--o-color-control4-light);
  --tab-solid-nav-padding: 4px 16px;
  --tab-solid-nav-gap: 8px;
}

.o-tab-text {
  --tab-nav-color-hover: var(--o-color-primary1);
  --tab-nav-color-active: var(--o-color-primary1);
  --tab-nav-bd-color: transparent;
  --tab-nav-bd-color-hover: transparent;
  --tab-nav-bd-color-active: var(--o-color-primary1);
}

.o-tab-navs {
  display: flex;
  align-items: center;
  position: relative;
  width: 100%;
  justify-content: var(--tab-nav-justify, center);
}

.o-tab-head {
  font-size: var(--tab-nav-text-size);
  line-height: var(--tab-nav-text-height);
  color: var(--tab-nav-color);
  position: relative;
}
.o-tab-head.with-act {
  display: flex;
  align-items: center;
}
.o-tab-head.show-line::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  border-bottom: var(--tab-nav-divider);
}

.o-tab-navs-wrap {
  overflow: auto;
  flex: 1;
  position: relative;
}

.o-tab-navs-scrollable {
  display: flex;
  position: relative;
  align-items: center;
  flex: 1;
  overflow: hidden;
}

.o-tab-nav-btn {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: var(--tab-nav-btn-icon-size);
  margin: 0 8px;
}
@media (hover: hover) {
  .o-tab-nav-btn:hover {
    color: var(--tab-icon-color-hover);
  }
}

.o-tab-nav-btn-disabled, .o-tab-nav-btn-disabled:hover {
  color: var(--tab-icon-color-disabled);
  cursor: not-allowed;
}

.o-tab-navs-container {
  min-width: 0;
}

.o-tab-nav-list {
  display: inline-block;
  white-space: nowrap;
}

.o-tab-nav {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  cursor: pointer;
  border: 1px solid var(--tab-nav-bd-color);
  border-bottom-width: 0;
  background-color: var(--tab-nav-bg-color);
  position: relative;
  margin-right: var(--tab-nav-gap);
  padding: var(--tab-nav-padding);
  z-index: 1;
  color: var(--tab-icon-color);
}
.o-tab-nav:last-child {
  margin-right: 0;
}
@media (hover: hover) {
  .o-tab-nav:hover {
    color: var(--tab-nav-color-hover);
    border-color: var(--tab-nav-bd-color-hover);
    background-color: var(--tab-nav-bg-color-hover);
  }
}
.o-tab-solid .o-tab-nav {
  margin-right: var(--tab-solid-nav-gap);
  padding: var(--tab-solid-nav-padding);
}
.o-tab-nav .o-icon {
  font-size: var(--tab-nav-icon-size);
  margin-right: 8px;
}

.o-tab-nav-active {
  font-weight: 500;
}
.o-tab-nav-active, .o-tab-nav-active:hover {
  color: var(--tab-nav-color-active);
  border-color: var(--tab-nav-bd-color-active);
  background-color: var(--tab-nav-bg-color-active);
}

.o-tab-nav-disabled, .o-tab-nav-disabled:hover {
  cursor: not-allowed;
  color: var(--tab-nav-color-disabled);
  border-color: var(--tab-nav-bd-color-disabled);
  background-color: var(--tab-nav-bg-color-disabled);
}

.o-tab-nav-closable {
  position: relative;
  padding-right: 12px;
}
.o-tab-text .o-tab-nav-closable {
  padding-right: 0;
}

.o-tab-text .o-tab-nav {
  border: none;
}

.o-tab-head-prefix {
  flex-shrink: 0;
}

.o-tab-head-suffix {
  flex-shrink: 0;
}

.o-tab-nav-anchor {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  z-index: 2;
  transition: all var(--o-easing-standard-in) var(--o-duration-m1);
  display: flex;
  justify-content: center;
}

.o-tab-nav-anchor-line {
  width: 100%;
  height: var(--tab-nav-anchor-height);
  background-color: var(--tab-nav-anchor-color);
  border-radius: var(--tab-nav-anchor-height);
}

.o-tab-nav-close {
  font-size: var(--tab-nav-close-size);
  margin-left: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--tab-icon-color);
  border-radius: 50%;
}
@media (hover: hover) {
  .o-tab-nav-close:hover {
    color: var(--tab-icon-color-hover);
  }
}
.o-tab-nav-close {
  overflow: hidden;
}
.o-tab-nav-close svg {
  transition: all var(--o-duration-m1) var(--o-easing-standard-in);
}
@media (hover: hover) {
  .o-tab-nav-close:hover svg {
    transform: rotate(180deg);
  }
}

.o-tab-nav-add {
  margin-left: 8px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--tab-nav-btn-size);
  height: var(--tab-nav-btn-size);
  cursor: pointer;
  color: var(--tab-icon-color);
  font-size: var(--tab-nav-btn-icon-size);
  border-radius: 50%;
}
@media (hover: hover) {
  .o-tab-nav-add:hover {
    color: var(--tab-icon-color-hover);
    background-color: var(--tab-nav-bg-color-hover);
  }
}

.o-tab-body {
  display: flex;
}

.o-tab-pane {
  flex-shrink: 0;
  width: 100%;
  display: none;
}

.o-tab-pane-active {
  display: block;
}

@media (min-width: 1201px) and (max-width: 1440px) {
  .o-tab-large {
    --tab-nav-text-size: var(--o-font_size-text2);
    --tab-nav-text-height: var(--o-line_height-text2);
    --tab-nav-icon-size: var(--o-icon_size_control-m);
    --tab-nav-gap: 32px;
  }
  .o-tab-large.o-tab-text {
    --tab-nav-padding: 0 0 12px;
  }
  .o-tab-medium {
    --tab-nav-text-size: var(--o-font_size-text1);
    --tab-nav-text-height: var(--o-line_height-text1);
  }
  .o-tab-medium.o-tab-text {
    --tab-nav-padding: 0 0 8px;
  }
  .o-tab-small {
    --tab-nav-text-size: var(--o-font_size-tip1);
    --tab-nav-text-height: var(--o-line_height-tip1);
    --tab-nav-icon-size: var(--o-icon_size_control-s);
    --tab-nav-gap: 24px;
  }
  .o-tab-small.o-tab-text {
    --tab-nav-padding: 0 0 4px;
  }
}
@media (max-width: 1200px) {
  .o-tab-large {
    --tab-nav-text-size: var(--o-font_size-tip1);
    --tab-nav-text-height: var(--o-line_height-tip1);
    --tab-nav-icon-size: var(--o-icon_size_control-s);
    --tab-nav-gap: 16px;
    --tab-nav-anchor-height: 1px;
  }
  .o-tab-large.o-tab-text {
    --tab-nav-padding: 0 0 8px;
  }
  .o-tab-medium {
    --tab-nav-text-size: var(--o-font_size-tip1);
    --tab-nav-text-height: var(--o-line_height-tip1);
    --tab-nav-gap: 16px;
  }
  .o-tab-medium.o-tab-text {
    --tab-nav-padding: 0 0 2px;
  }
  .o-tab-medium .o-tab-nav-anchor-line {
    width: 16px;
  }
  .o-tab-small {
    --tab-nav-text-size: var(--o-font_size-tip1);
    --tab-nav-text-height: var(--o-line_height-tip1);
    --tab-nav-gap: 12px;
  }
  .o-tab-small.o-tab-text {
    --tab-nav-padding: 0 0 2px;
  }
  .o-tab-small .o-tab-nav-anchor-line {
    width: 16px;
  }
}
.o-table {
  --table-text-size: var(--o-font_size-text1);
  --table-text-height: var(--o-line_height-text1);
  --table-head-text-size: var(--table-text-size);
  --table-head-text-height: var(--table-text-height);
  --table-head-color: var(--o-color-info2);
  --table-cell-color: var(--o-color-info1);
  --table-tip-text-size: var(--o-font_size-tip1);
  --table-tip-text-height: var(--o-line_height-tip1);
  --table-tip-color: var(--o-color-info3);
  --table-head-bg: var(--o-color-control5, var(--o-color-control-light));
  --table-row-hover: var(--o-color-control2-light);
  --table-row-active: var(--o-color-control3-light);
  --table-border: 1px solid var(--o-color-control4);
  --table-loading-mask: var(--o-color-mask2);
  --table-loading-color: var(--o-color-info2);
  --table-body-min-height: 200px;
  --table-bg-color: var(--o-color-control5, var(--o-color-control-light));
  --table-radius: var(--o-radius_control-m);
  --table-head-cell-height: auto;
  --table-cell-height: auto;
  --table-head-cell-padding-x: 16px;
  --table-head-cell-padding-y: 12px;
  --table-cell-padding-x: 16px;
  --table-cell-padding-y: 12px;
  --table-head-cell-padding: var(--table-head-cell-padding-y) var(--table-head-cell-padding-x);
  --table-cell-padding: var(--table-cell-padding-y) var(--table-cell-padding-x);
  --table-edge-padding: 32px;
}

.o-table-small {
  --table-text-size: var(--o-font_size-tip1);
  --table-text-height: var(--o-line_height-tip1);
  --table-head-text-size: var(--table-text-size);
  --table-head-text-height: var(--table-text-height);
  --table-radius: var(--o-radius_control-m);
  --table-head-cell-padding-y: 8px;
  --table-cell-padding-y: 8px;
  --table-edge-padding: 16px;
}

.o-table {
  position: relative;
}
.o-table table {
  width: 100%;
  border-spacing: 0;
}
.o-table thead {
  position: relative;
}
.o-table thead:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  background-image: var(--o-color-main2, linear-gradient(to right, var(--o-color-control4), var(--o-color-control4)));
  background-size: 100% 1px;
}
.o-table th,
.o-table td {
  box-sizing: border-box;
}
.o-table th {
  text-align: left;
  font-weight: 600;
  background-color: var(--table-head-bg);
  padding: var(--table-head-cell-padding);
  font-size: var(--table-head-text-size);
  line-height: var(--table-head-text-height);
  color: var(--table-head-color);
  height: var(--table-head-cell-height);
}
.o-table td {
  padding: var(--table-cell-padding);
  font-size: var(--table-text-size);
  line-height: var(--table-text-height);
  color: var(--table-cell-color);
  height: var(--table-cell-height);
}
.o-table th:first-child, .o-table td:first-child {
  padding-left: var(--table-edge-padding);
}
.o-table th:last-child, .o-table td:last-child {
  padding-right: var(--table-edge-padding);
}
@media (hover: hover) {
  .o-table tbody tr:hover:hover {
    background-color: var(--table-row-hover);
  }
}
.o-table tbody tr:active {
  background-color: var(--table-row-active);
}

.o-table-wrap {
  border-radius: var(--table-radius);
  overflow: hidden;
  background-color: var(--table-bg-color);
}

.o-table-border-all,
.o-table-border-frame {
  border: var(--table-border);
}

.o-table-border-all td,
.o-table-border-row td {
  border-bottom: var(--table-border);
}

.o-table-border-all tr.last td,
.o-table-border-frame tr.last td,
.o-table-border-row tr.last td {
  border-bottom-color: transparent;
}

.o-table-border-all th,
.o-table-border-all td,
.o-table-border-column th,
.o-table-border-column td {
  border-right: var(--table-border);
}
.o-table-border-all th.last,
.o-table-border-all td.last,
.o-table-border-column th.last,
.o-table-border-column td.last {
  border-right-color: transparent;
}

.o-table-tip-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--table-tip-text-size);
  line-height: var(--table-tip-text-height);
  color: var(--table-tip-color);
  min-height: var(--table-body-min-height);
}

.o-table-loading-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--table-tip-text-size);
  line-height: var(--table-tip-text-height);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: var(--table-loading-mask);
  color: var(--table-loading-color);
  border-radius: var(--table-radius);
}

.o-table-loading-label {
  margin-left: 8px;
}

@media (min-width: 0px) and (max-width: 1680px) {
  .o-table-medium {
    --table-text-size: var(--o-font_size-tip1);
    --table-text-height: var(--o-line_height-tip1);
    --table-head-cell-padding-y: 8px;
    --table-cell-padding-y: 8px;
    --table-edge-padding: 24px;
  }
}
@media (max-width: 1200px) {
  .o-table-medium {
    --table-radius: var(--o-radius_control-s);
    --table-head-cell-padding-x: 12px;
    --table-cell-padding-x: 12px;
    --table-edge-padding: 20px;
  }
}
@media (max-width: 840px) {
  .o-table-medium {
    --table-text-size: var(--o-font_size-tip2);
    --table-text-height: var(--o-line_height-tip2);
    --table-head-cell-padding-x: 8px;
    --table-cell-padding-x: 8px;
    --table-edge-padding: 8px;
  }
}

@media (max-width: 1200px) {
  .o-table-small {
    --table-text-size: var(--o-font_size-tip2);
    --table-text-height: var(--o-line_height-tip2);
    --table-head-cell-padding-x: 8px;
    --table-cell-padding-x: 8px;
    --table-edge-padding: 8px;
    --table-radius: var(--o-radius_control-s);
  }
}

.o-pagination {
  --pagination-item-size: var(--o-control_size-m);
  --pagination-arrow-size: var(--o-control_size-s);
  --pagination-item-gap: 24px;
  --pagination-arrow-color: var(--o-color-info2);
  --pagination-arrow-color-hover: var(--o-color-info1);
  --pagination-arrow-color-active: var(--o-color-info3);
  --pagination-arrow-color-disabled: var(--o-color-info4);
  --pagination-item-color: var(--o-color-info2);
  --pagination-item-color-hover: var(--o-color-primary2);
  --pagination-item-color-active: var(--o-color-primary1);
  --pagination-item-color-current: var(--o-color-primary1);
  --pagination-item-bd-color: transparent;
  --pagination-item-bd-color-hover: transparent;
  --pagination-item-bd-color-active: transparent;
  --pagination-item-bd-color-current: transparent;
  --pagination-item-bd-color-disabled: transparent;
  --pagination-radius: var(--o-radius_control-s);
}

.o-pagination-outline {
  --pagination-arrow-bd-color: var(--o-color-control1);
  --pagination-arrow-bd-color-hover: var(--o-color-control2);
  --pagination-arrow-bd-color-active: var(--o-color-control3);
  --pagination-arrow-bd-color-current: var(--o-color-primary1);
  --pagination-arrow-bd-color-disabled: var(--o-color-control4);
}

.o-pagination-solid {
  --pagination-item-color-current: var(--o-color-primary1);
  --pagination-item-bg-color: transparent;
  --pagination-item-bg-color-hover: var(--o-color-control2-light);
  --pagination-item-bg-color-active: var(--o-color-control3-light);
  --pagination-item-bg-color-current: var(--o-color-primary1-light);
  --pagination-arrow-bg-color: transparent;
  --pagination-arrow-bg-color-hover: var(--o-color-control2-light);
  --pagination-arrow-bg-color-active: var(--o-color-control3-light);
  --pagination-arrow-bg-color-current: var(--o-color-primary1-light);
  --pagination-arrow-bg-color-disabled: var(--o-color-control4-light);
}

.o-pagination-round-pill {
  --pagination-radius: var(--pagination-item-size);
}

.o-pagination {
  color: var(--o-color-info2);
  font-size: var(--o-font_size-tip1);
  line-height: var(--o-line_height-tip1);
}

.o-pagination-wrap {
  display: flex;
  align-items: center;
  white-space: nowrap;
}
.o-pagination-wrap > *:not(:first-child) {
  margin-left: var(--pagination-item-gap);
}

.o-pagination-pager {
  display: flex;
  user-select: none;
}

.o-pagination-prev,
.o-pagination-next {
  width: var(--pagination-item-size);
  height: var(--pagination-item-size);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: var(--pagination-arrow-size);
  color: var(--pagination-arrow-color);
  border: 1px solid var(--pagination-arrow-bd-color);
  background-color: var(--pagination-arrow-bg-color);
  cursor: pointer;
  user-select: none;
  border-radius: var(--pagination-radius);
}
@media (hover: hover) {
  .o-pagination-prev:hover,
  .o-pagination-next:hover {
    color: var(--pagination-arrow-color-hover);
    border-color: var(--pagination-arrow-bd-color-hover);
    background-color: var(--pagination-arrow-bg-color-hover);
  }
}
.o-pagination-prev:active,
.o-pagination-next:active {
  color: var(--pagination-arrow-color-active);
  border-color: var(--pagination-arrow-bd-color-active);
  background-color: var(--pagination-arrow-bg-color-active);
}
.o-pagination-prev.is-disabled,
.o-pagination-next.is-disabled {
  cursor: not-allowed;
  color: var(--pagination-arrow-color-disabled);
  border: 1px solid var(--pagination-arrow-bd-color-disabled);
  background-color: var(--pagination-arrow-bg-color-disabled);
}

.o-pagination-pages {
  margin-left: 8px;
  margin-right: 8px;
  display: flex;
  align-items: center;
}

.o-pagination-item {
  width: var(--pagination-item-size);
  height: var(--pagination-item-size);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  color: var(--pagination-item-color);
  border: 1px solid var(--pagination-item-bd-color);
  background-color: var(--pagination-item-bg-color);
  border-radius: var(--pagination-radius);
  transition: all var(--o-easing-standard-in) var(--o-duration-m1);
}
.o-pagination-item + .o-pagination-item {
  margin-left: 8px;
}
@media (hover: hover) {
  .o-pagination-item:hover {
    color: var(--pagination-item-color-hover);
    border: 1px solid var(--pagination-item-bd-color-hover);
    background-color: var(--pagination-item-bg-color-hover);
  }
}
.o-pagination-item:active {
  color: var(--pagination-item-color-active);
  border: 1px solid var(--pagination-item-bd-color-active);
  background-color: var(--pagination-item-bg-color-active);
  font-weight: 500;
}
.o-pagination-item.active {
  color: var(--pagination-item-color-current);
  border: 1px solid var(--pagination-item-bd-color-current);
  background-color: var(--pagination-item-bg-color-current);
  font-weight: 500;
}

.o-pagination-more-popup {
  min-width: 64px;
  max-height: 200px;
  overflow: auto;
}

.o-pagination-more-item {
  cursor: pointer;
  justify-content: center;
}

.o-pagination-input {
  width: 60px;
}
.o-pagination-goto .o-pagination-input {
  margin-left: 8px;
}

.o-pagination-select {
  width: 110px;
}

.o-table + .o-pagination {
  margin-top: 12px;
  display: flex;
  justify-content: flex-end;
}

.o-pagination .o-input-input {
  text-align: center;
}

.o-pagination-more-icon-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.o-pagination-more-icon {
  font-size: var(--o-icon_size_control-xs);
  display: inline-flex;
}
.o-pagination-more-icon-wrap:hover .o-pagination-more-icon {
  display: none;
}

.o-pagination-more-arrow-icon {
  font-size: var(--o-icon_size_control-xs);
  display: none;
}
.o-pagination-more-icon-wrap:hover .o-pagination-more-arrow-icon {
  display: inline-flex;
}

.o-pagination-virtual-more-list {
  max-height: inherit;
}

.o-radio {
  --radio-text-size: var(--o-font_size-text1);
  --radio-text-height: var(--o-line_height-text1);
  --radio-align: center;
  --radio-label-gap: 8px;
  --radio-color: var(--o-color-info1);
  --radio-color-disabled: var(--o-color-info4);
  --radio-input-wrap-size: var(--o-control_size-s);
  --radio-input-size: var(--o-control_size-xs);
  --radio-input-bg-color: var(--o-color-control-light);
  --radio-input-bg-color-disabled: var(--o-color-control4-light);
  --radio-input-bg-color-checked: var(--o-color-primary1);
  --radio-input-bg-color-checked-hover: var(--o-color-primary2);
  --radio-input-bg-color-checked-active: var(--o-color-primary3);
  --radio-input-bg-color-checked-disabled: var(--o-color-primary4);
  --radio-input-bd-color: var(--o-color-control1);
  --radio-input-bd-color-hover: var(--o-color-primary2);
  --radio-input-bd-color-active: var(--o-color-primary3);
  --radio-input-bd-color-disabled: var(--o-color-control4);
  --radio-input-bd-color-checked: var(--o-color-primary1);
  --radio-input-bd-color-checked-hover: var(--o-color-primary2);
  --radio-input-bd-color-checked-active: var(--o-color-primary3);
  --radio-input-bd-color-checked-disabled: var(--o-color-primary4);
  --radio-input-icon-size: calc(var(--radio-input-size) / 2);
  --radio-input-icon-color: var(--o-color-white);
}

.o-radio {
  color: var(--radio-color);
  font-size: var(--radio-text-size);
  line-height: var(--radio-text-height);
  cursor: pointer;
}
@media (hover: hover) {
  .o-radio:hover .o-radio-input {
    border-color: var(--radio-input-bd-color-hover);
  }
}
.o-radio:active .o-radio-input {
  border-color: var(--radio-input-bd-color-active);
}

.o-radio-wrap {
  position: relative;
  display: flex;
  align-items: var(--radio-align);
  height: 100%;
}
.o-radio-wrap input[type=radio] {
  position: absolute;
  outline: none;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
}

.o-radio-input-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  width: var(--radio-input-wrap-size);
  height: var(--radio-input-wrap-size);
}

.o-radio-input {
  position: relative;
  width: var(--radio-input-size);
  height: var(--radio-input-size);
  background-color: var(--radio-input-bg-color);
  border: 1px solid var(--radio-input-bd-color);
  border-radius: 50%;
  flex-shrink: 0;
  transition: all var(--o-duration-s) var(--o-easing-standard);
}
.o-radio-input::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: var(--radio-input-icon-size);
  height: var(--radio-input-icon-size);
  border-radius: 50%;
  opacity: 0;
  background-color: var(--radio-input-icon-color);
  transition: opacity var(--o-duration-s) var(--o-easing-standard), opacity var(--o-duration-s) var(--o-easing-standard);
}

.o-radio-label {
  margin-left: var(--radio-label-gap);
}

.o-radio-checked .o-radio-input {
  background-color: var(--radio-input-bg-color-checked);
  border-color: var(--radio-input-bd-color-checked);
}
.o-radio-checked .o-radio-input::after {
  opacity: 1;
}
@media (hover: hover) {
  .o-radio-checked:hover .o-radio-input {
    background-color: var(--radio-input-bg-color-checked-hover);
    border-color: var(--radio-input-bd-color-checked-hover);
  }
}
.o-radio-checked:active .o-radio-input {
  background-color: var(--radio-input-bg-color-checked-active);
  border-color: var(--radio-input-bd-color-checked-active);
}

.o-radio-disabled, .o-radio-disabled:hover, .o-radio-disabled.active {
  cursor: not-allowed;
  color: var(--radio-color-disabled);
}
.o-radio-disabled .o-radio-input, .o-radio-disabled:hover .o-radio-input, .o-radio-disabled.active .o-radio-input {
  background-color: var(--radio-input-bg-color-disabled);
  border-color: var(--radio-input-bd-color-disabled);
}

.o-radio-checked.o-radio-disabled .o-radio-input, .o-radio-checked.o-radio-disabled:hover .o-radio-input, .o-radio-checked.o-radio-disabled.active .o-radio-input {
  background-color: var(--radio-input-bg-color-checked-disabled);
  border-color: var(--radio-input-bd-color-checked-disabled);
}

@media (max-width: 1440px) {
  .o-radio {
    --radio-text-size: var(--o-font_size-tip1);
    --radio-text-height: var(--o-line_height-tip1);
  }
}
.o-radio-group-h {
  --radio-group-gap: 24px;
}

.o-radio-group-v {
  --radio-group-gap: 16px;
}

.o-radio-group {
  display: inline-flex;
  flex-wrap: wrap;
}

.o-radio-group-h .o-radio + .o-radio {
  margin-left: var(--radio-group-gap);
}

.o-radio-group-v {
  flex-direction: column;
}
.o-radio-group-v .o-radio + .o-radio {
  margin-top: var(--radio-group-gap);
}

.o-checkbox {
  --checkbox-text-size: var(--o-font_size-text1);
  --checkbox-text-height: var(--o-line_height-text1);
  --checkbox-label-gap: 8px;
  --checkbox-align: center;
  --checkbox-color: var(--o-color-info1);
  --checkbox-color-disabled: var(--o-color-info4);
  --checkbox-radius: var(--o-radius_control-xs);
  --checkbox-input-wrap-size: var(--o-control_size-s);
  --checkbox-input-size: var(--o-control_size-xs);
  --checkbox-input-bg-color: var(--o-color-control-light);
  --checkbox-input-bg-color-disabled: var(--o-color-control4-light);
  --checkbox-input-bg-color-checked: var(--o-color-primary1);
  --checkbox-input-bg-color-checked-hover: var(--o-color-primary2);
  --checkbox-input-bg-color-checked-active: var(--o-color-primary3);
  --checkbox-input-bg-color-checked-disabled: var(--o-color-primary4);
  --checkbox-input-bd-color: var(--o-color-control1);
  --checkbox-input-bd-color-hover: var(--o-color-primary2);
  --checkbox-input-bd-color-active: var(--o-color-primary3);
  --checkbox-input-bd-color-disabled: var(--o-color-control4);
  --checkbox-input-bd-color-checked: var(--o-color-primary1);
  --checkbox-input-bd-color-checked-hover: var(--o-color-primary2);
  --checkbox-input-bd-color-checked-active: var(--o-color-primary3);
  --checkbox-input-bd-color-checked-disabled: var(--o-color-primary4);
  --checkbox-input-icon-size: calc(var(--checkbox-input-size) / 2);
  --checkbox-input-icon-color: var(--o-color-white);
}

.o-checkbox {
  color: var(--checkbox-color);
  font-size: var(--checkbox-text-size);
  line-height: var(--checkbox-text-height);
  cursor: pointer;
}
@media (hover: hover) {
  .o-checkbox:hover .o-checkbox-input {
    border-color: var(--checkbox-input-bd-color-hover);
  }
}
.o-checkbox:active .o-checkbox-input {
  border-color: var(--checkbox-input-bd-color-active);
}

.o-checkbox-wrap {
  display: flex;
  align-items: var(--checkbox-align);
  position: relative;
  height: 100%;
}
.o-checkbox-wrap input[type=checkbox] {
  position: absolute;
  outline: none;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
}

.o-checkbox-input-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  width: var(--checkbox-input-wrap-size);
  height: var(--checkbox-input-wrap-size);
}

.o-checkbox-input {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: var(--checkbox-input-size);
  height: var(--checkbox-input-size);
  background-color: var(--checkbox-input-bg-color);
  font-size: calc(var(--checkbox-input-icon-size) * 2);
  border: 1px solid var(--checkbox-input-bd-color);
  border-radius: var(--checkbox-radius);
  flex-shrink: 0;
  transition: border-color var(--o-duration-s) var(--o-easing-standard), background-color var(--o-duration-s) var(--o-easing-standard);
}
.o-checkbox-input svg {
  width: 24px;
  height: 24px;
  color: var(--checkbox-input-icon-color);
}

.o-checkbox-label {
  margin-left: var(--checkbox-label-gap);
}

.o-checkbox-checked .o-checkbox-input,
.o-checkbox-indeterminate .o-checkbox-input {
  background-color: var(--checkbox-input-bg-color-checked);
  border-color: var(--checkbox-input-bd-color-checked);
}
@media (hover: hover) {
  .o-checkbox-checked:hover .o-checkbox-input,
  .o-checkbox-indeterminate:hover .o-checkbox-input {
    background-color: var(--checkbox-input-bg-color-checked-hover);
    border-color: var(--checkbox-input-bd-color-checked-hover);
  }
}
.o-checkbox-checked:active .o-checkbox-input,
.o-checkbox-indeterminate:active .o-checkbox-input {
  background-color: var(--checkbox-input-bg-color-checked-active);
  border-color: var(--checkbox-input-bd-color-checked-active);
}

.o-checkbox-input-icon-indeterminate {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: var(--checkbox-input-icon-size);
  height: var(--checkbox-input-icon-size);
  background-color: var(--checkbox-input-icon-color);
  border-radius: calc(var(--checkbox-input-icon-size) / 4);
}

.o-checkbox-disabled, .o-checkbox-disabled:hover, .o-checkbox-disabled.active {
  cursor: not-allowed;
  color: var(--checkbox-color-disabled);
}
.o-checkbox-disabled .o-checkbox-input, .o-checkbox-disabled:hover .o-checkbox-input, .o-checkbox-disabled.active .o-checkbox-input {
  background-color: var(--checkbox-input-bg-color-disabled);
  border-color: var(--checkbox-input-bd-color-disabled);
}

.o-checkbox-checked.o-checkbox-disabled .o-checkbox-input, .o-checkbox-checked.o-checkbox-disabled:hover .o-checkbox-input, .o-checkbox-checked.o-checkbox-disabled.active .o-checkbox-input,
.o-checkbox-indeterminate.o-checkbox-disabled .o-checkbox-input,
.o-checkbox-indeterminate.o-checkbox-disabled:hover .o-checkbox-input,
.o-checkbox-indeterminate.o-checkbox-disabled.active .o-checkbox-input {
  background-color: var(--checkbox-input-bg-color-checked-disabled);
  border-color: var(--checkbox-input-bd-color-checked-disabled);
}

@media (max-width: 1440px) {
  .o-checkbox {
    --checkbox-text-size: var(--o-font_size-tip1);
    --checkbox-text-height: var(--o-line_height-tip1);
  }
}
.o-checkbox-group-h {
  --checkbox-group-gap: 24px;
}

.o-checkbox-group-v {
  --checkbox-group-gap: 16px;
}

.o-checkbox-group {
  display: inline-flex;
  flex-wrap: wrap;
  vertical-align: middle;
}

.o-checkbox-group-h .o-checkbox + .o-checkbox {
  margin-left: var(--checkbox-group-gap);
}

.o-checkbox-group-v {
  flex-direction: column;
}
.o-checkbox-group-v .o-checkbox + .o-checkbox {
  margin-top: var(--checkbox-group-gap);
}

.o-rate {
  --rate-color: var(--o-color-control1);
}

.o-rate-normal {
  --rate-color-selected: rgb(var(--o-yellow-6));
}

.o-rate-primary {
  --rate-color-selected: var(--o-color-primary1);
}

.o-rate-success {
  --rate-color-selected: var(--o-color-success1);
}

.o-rate-warning {
  --rate-color-selected: var(--o-color-warning1);
}

.o-rate-danger {
  --rate-color-selected: var(--o-color-danger1);
}

.o-rate-large {
  --rate-size: var(--o-icon_size_control-l);
  --rate-gap: 12px;
}

.o-rate-medium {
  --rate-size: var(--o-icon_size_control-xs);
  --rate-gap: 8px;
}

.o-rate-popover {
  --rate-popover-color: var(--o-color-info1);
  --rate-popover-text-size: var(--o-font_size-tip1);
  --rate-popover-text-height: var(--o-line_height-tip2);
  --rate-popover-radius: var(--o-radius_control-s);
  --rate-popover-padding: 2px 8px;
}

.o-rate {
  display: inline-flex;
  align-items: center;
  user-select: none;
  font-size: var(--rate-size);
  cursor: pointer;
}

.o-rate-readonly {
  cursor: auto;
}

.o-rate-item {
  position: relative;
}
.o-rate-item.is-half .o-rate-icon-top svg > *:nth-child(2) {
  color: var(--rate-color-selected);
}
.o-rate-item.is-full .o-rate-icon-bottom svg > * {
  color: var(--rate-color-selected);
}
.o-rate-item + .o-rate-item {
  margin-left: var(--rate-gap);
}

.o-rate-icon svg > * {
  transition: all var(--o-duration-m1) var(--o-easing-standard);
}

.o-rate-icon-top {
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  overflow: hidden;
}
.o-rate-icon-top svg {
  color: transparent;
}

.o-rate-icon-bottom svg {
  color: transparent;
}
.o-rate-icon-bottom svg > *:nth-child(1) {
  color: var(--rate-color);
}

.o-rate-popover {
  border-radius: var(--rate-popover-radius);
}
.o-rate-popover .o-popover-body {
  color: var(--rate-popover-color);
  font-size: var(--rate-popover-text-size);
  line-height: var(--rate-popover-text-height);
  padding: var(--rate-popover-padding);
  min-width: auto;
}

.o-tag {
  --tag-radius: var(--o-radius_control-xs);
}

.o-tag-normal {
  --tag-color: var(--o-color-info1);
  --tag-bg-color: var(--o-color-control1-light);
  --tag-bd-color: var(--o-color-control1-light);
  --tag-icon-close-color: var(--o-color-info2);
  --tag-icon-close-color-hover: var(--o-color-info1);
  --tag-icon-close-color-active: var(--o-color-info1);
}
.o-tag-normal.o-tag-outline {
  --tag-bg-color: transparent;
  --tag-bd-color: var(--o-color-control1);
  --tag-icon-close-color: var(--o-color-info2);
  --tag-icon-close-color-hover: var(--o-color-info1);
  --tag-icon-close-color-active: var(--o-color-info1);
}

.o-tag-primary {
  --tag-color: var(--o-color-white);
  --tag-bg-color: var(--o-color-primary1);
  --tag-bd-color: var(--o-color-primary1);
  --tag-icon-close-color: var(--o-color-white);
  --tag-icon-close-color-hover: var(--o-color-white);
  --tag-icon-close-color-active: var(--o-color-white);
}
.o-tag-primary.o-tag-outline {
  --tag-bg-color: transparent;
  --tag-color: var(--o-color-primary1);
  --tag-icon-close-color: var(--o-color-primary1);
  --tag-icon-close-color-hover: var(--o-color-primary2);
  --tag-icon-close-color-active: var(--o-color-primary3);
}

.o-tag-success {
  --tag-color: var(--o-color-white);
  --tag-bg-color: var(--o-color-success1);
  --tag-bd-color: var(--o-color-success1);
  --tag-icon-close-color: var(--o-color-white);
  --tag-icon-close-color-hover: var(--o-color-white);
  --tag-icon-close-color-active: var(--o-color-white);
}
.o-tag-success.o-tag-outline {
  --tag-bg-color: transparent;
  --tag-color: var(--o-color-success1);
  --tag-icon-close-color: var(--o-color-success1);
  --tag-icon-close-color-hover: var(--o-color-success2);
  --tag-icon-close-color-active: var(--o-color-success3);
}

.o-tag-warning {
  --tag-color: var(--o-color-white);
  --tag-bg-color: var(--o-color-warning1);
  --tag-bd-color: var(--o-color-warning1);
  --tag-icon-close-color: var(--o-color-white);
  --tag-icon-close-color-hover: var(--o-color-white);
  --tag-icon-close-color-active: var(--o-color-white);
}
.o-tag-warning.o-tag-outline {
  --tag-bg-color: transparent;
  --tag-color: var(--o-color-warning1);
  --tag-icon-close-color: var(--o-color-warning1);
  --tag-icon-close-color-hover: var(--o-color-warning2);
  --tag-icon-close-color-active: var(--o-color-warning3);
}

.o-tag-danger {
  --tag-color: var(--o-color-white);
  --tag-bg-color: var(--o-color-danger1);
  --tag-bd-color: var(--o-color-danger1);
  --tag-icon-close-color: var(--o-color-white);
  --tag-icon-close-color-hover: var(--o-color-white);
  --tag-icon-close-color-active: var(--o-color-white);
}
.o-tag-danger.o-tag-outline {
  --tag-bg-color: transparent;
  --tag-color: var(--o-color-danger1);
  --tag-icon-close-color: var(--o-color-danger1);
  --tag-icon-close-color-hover: var(--o-color-danger2);
  --tag-icon-close-color-active: var(--o-color-danger3);
}

.o-tag-medium {
  --tag-padding: 2px 12px;
  --tag-text-size: var(--o-font_size-tip2);
  --tag-text-height: var(--o-line_height-tip2);
  --tag-height: var(--o-control_size-s);
  --tag-icon-size: var(--o-icon_size_control-xs);
  --tag-icon-gap: 4px;
}

.o-tag-small {
  --tag-padding: 0 6px;
  --tag-text-size: var(--o-font_size-tip2);
  --tag-text-height: var(--o-line_height-tip2);
  --tag-height: var(--o-control_size-xs);
  --tag-icon-size: var(--o-icon_size_control-xs);
  --tag-icon-gap: 2px;
}

.o-tag-round-pill {
  --tag-radius: var(--o-control_size-l);
}

.o-tag {
  height: var(--tag-height);
  border: 1px solid var(--tag-bd-color);
  border-radius: var(--tag-radius);
  padding: var(--tag-padding);
  background-color: var(--tag-bg-color);
  color: var(--tag-color);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.o-tag-label {
  white-space: nowrap;
  font-size: var(--tag-text-size);
  line-height: var(--tag-text-height);
}

.o-tag-small .o-tag-label,
.o-tag-small .o-tag-icon,
.o-tag-small .o-tag-close {
  transform: scale(0.833334);
}

.o-tag-icon {
  font-size: var(--tag-icon-size);
  margin-right: var(--tag-icon-gap);
}

.o-tag-close {
  cursor: pointer;
  color: var(--tag-icon-close-color);
  font-size: var(--tag-icon-size);
  margin-left: var(--tag-icon-gap);
  transition: color var(--o-duration-s) var(--o-easing-standard);
}
.o-tag-close {
  overflow: hidden;
}
.o-tag-close svg {
  transition: all var(--o-duration-m1) var(--o-easing-standard-in);
}
@media (hover: hover) {
  .o-tag-close:hover svg {
    transform: rotate(180deg);
  }
}
@media (hover: hover) {
  .o-tag-close:hover {
    color: var(--tag-icon-close-color-hover);
  }
}
.o-tag-close:active {
  color: var(--tag-icon-close-color-active);
}

@media (max-width: 1200px) {
  .o-tag-medium {
    --tag-padding: 0 6px;
    --tag-text-size: var(--o-font_size-tip2);
    --tag-text-height: var(--o-line_height-tip2);
    --tag-height: var(--o-control_size-xs);
    --tag-icon-size: var(--o-icon_size_control-xs);
  }
  .o-tag-medium .o-tag-label,
  .o-tag-medium .o-tag-icon,
  .o-tag-medium .o-tag-close {
    transform: scale(0.833334);
  }
}
.o-badge {
  --badge-text-size: var(--o-font_size-tip2);
  --badge-text-height: var(--o-line_height-tip2);
  --badge-radius: var(--o-control_size-l);
  --badge-padding: 2px;
  --badge-min-width: 12px;
  --badge-dot-size: 4px;
  --badge-height: 12px;
}

.o-badge-primary {
  --badge-color: var(--o-color-white);
  --badge-bg-color: var(--o-color-primary1);
}

.o-badge-success {
  --badge-color: var(--o-color-white);
  --badge-bg-color: var(--o-color-success1);
}

.o-badge-warning {
  --badge-color: var(--o-color-white);
  --badge-bg-color: var(--o-color-warning1);
}

.o-badge-danger {
  --badge-color: var(--o-color-white);
  --badge-bg-color: var(--o-color-danger1);
}

.o-badge {
  position: relative;
  display: inline-block;
}

.o-badge-content {
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(100%, -50%);
  transform-origin: 100% 0;
  min-width: var(--badge-min-width);
  font-size: var(--badge-text-size);
  line-height: var(--badge-text-height);
  text-align: center;
  color: var(--badge-color);
  background-color: var(--badge-bg-color);
  padding-left: var(--badge-padding);
  padding-right: var(--badge-padding);
  border-radius: var(--badge-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  height: var(--badge-height);
}

.o-badge-label {
  display: inline-block;
  margin: 0;
  margin-block-start: 0;
  margin-block-end: 0;
  font-size: var(--badge-text-size);
  line-height: var(--badge-text-height);
  transform: scale(0.66667);
}

.o-badge-dot .o-badge-content {
  height: var(--badge-dot-size);
  width: var(--badge-dot-size);
  padding: 0;
  border-radius: 50%;
  min-width: unset;
}

.o-badge-only .o-badge-content {
  position: relative;
  top: unset;
  right: unset;
  transform: none;
  display: inline-flex;
}

@media (max-width: 1200px) {
  .o-badge {
    --badge-dot-size: 6px;
  }
}
.o-divider {
  --o-divider-color: var(--o-color-info1);
  --o-divider-text-size: var(--o-font_size-text1);
  --o-divider-text-height: var(--o-line_height-text1);
  --o-divider-label-gap: 0 12px;
  --o-divider-bd-color: var(--o-color-control4);
  --o-divider-gap: 12px;
}

.o-divider-h {
  --o-divider-gap: 12px;
}

.o-divider-v {
  --o-divider-gap: 12px;
}

.o-divider-darker {
  --o-divider-bd-color: var(--o-color-control1);
}

.o-divider {
  color: var(--o-divider-color);
  font-size: var(--o-divider-text-size);
  line-height: var(--o-divider-text-height);
  font-weight: 500;
}

.o-divider-h {
  display: flex;
  align-items: center;
  width: 100%;
  margin: var(--o-divider-gap) 0;
}

.o-divider-line {
  width: 100%;
  height: 1px;
  border-width: 1px 0 0 0;
  border-color: var(--o-divider-bd-color);
}

.o-divider-label {
  margin: var(--o-divider-label-gap);
  white-space: nowrap;
}

.o-divider-label-left .o-divider-line:nth-child(1) {
  width: 28px;
}

.o-divider-label-right .o-divider-line:nth-child(3) {
  width: 28px;
}

.o-divider-v {
  display: inline-block;
  width: 1px;
  height: 1em;
  margin: var(--o-divider-label-gap);
  vertical-align: middle;
  border-width: 0 0 0 1px;
  border-color: var(--o-divider-bd-color);
}

.o-divider-solid.o-divider-v,
.o-divider-solid .o-divider-line {
  border-style: solid;
}

.o-divider-dashed.o-divider-v,
.o-divider-dashed .o-divider-line {
  border-style: dashed;
}

.o-divider-dotted.o-divider-v,
.o-divider-dotted .o-divider-line {
  border-style: dotted;
}

@media (max-width: 1200px) {
  .o-divider {
    --o-divider-text-size: var(--o-font_size-tip1);
    --o-divider-text-height: var(--o-line_height-tip1);
  }
  .o-divider-line {
    transform: scaleY(0.5);
  }
  .o-divider-v {
    transform: scaleX(0.5);
  }
}
.o-form {
  --form-item-display: flex;
  --form-item-gap: 24px;
  --form-label-main-gap: 32px;
  --form-label-gap-top: 4px;
  --form-msg-gap: 4px 0 0 16px;
}

.o-form-layout-h {
  --form-label-width: 20%;
  --form-label-max-width: 240px;
  --form-item-align: flex-start;
}

.o-form-layout-v {
  --form-label-width: 100%;
  --form-label-justify: flex-start;
}

.o-form-layout-inline {
  display: flex;
  flex-wrap: wrap;
}
.o-form-layout-inline .o-form-item {
  margin: 0 var(--form-item-gap) var(--form-item-gap) 0;
}

.o-form-layout-h.o-form-has-required .o-form-require-symbol {
  display: block;
}

.o-form-layout-h .o-form-item,
.o-form-layout-v .o-form-item {
  margin-bottom: var(--form-item-gap);
}
.o-form-layout-h .o-form-item:last-child,
.o-form-layout-v .o-form-item:last-child {
  margin-bottom: 0;
}

.o-form-item-danger.o-form-item,
.o-form-item-warning.o-form-item {
  margin-bottom: 0;
}

.o-form-layout-v .o-form-item {
  display: block;
}

.o-form-item {
  display: var(--form-item-display, flex);
  align-items: var(--form-item-align);
}

.o-form-item-label {
  display: inline-flex;
  align-items: center;
  max-width: var(--form-label-max-width);
  justify-content: var(--form-label-justify);
  flex: 0 0 var(--form-label-width);
  width: var(--form-label-width);
}
.o-form-layout-h .o-form-item-label, .o-form-layout-inline .o-form-item-label {
  margin: var(--form-label-gap-top) 0;
}
.o-form-layout-h .o-form-item-label + .o-form-item-main, .o-form-layout-inline .o-form-item-label + .o-form-item-main {
  margin-left: var(--form-label-main-gap);
}

.o-form-require-symbol {
  color: var(--o-color-danger1);
  font-size: var(--o-font_size-tip2);
  line-height: 1;
  margin-right: 4px;
  font-family: monospace;
  opacity: 0;
  transition: opacity var(--o-easing-linear) var(--o-duration-m3);
  display: none;
  font-weight: bold;
}
.o-form-require-symbol.visible {
  opacity: 1;
  display: block;
}

.o-form-item-main {
  flex: 1;
}

.o-form-item-main-wrap {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  min-height: 32px;
}

.o-form-item-extra {
  margin-top: 4px;
  font-size: var(--o-font_size-tip2);
  line-height: var(--o-line_height-tip2);
  color: var(--o-color-info3);
}

.o-form-item-message {
  padding: var(--form-msg-gap);
  font-size: var(--o-font_size-tip2);
  line-height: var(--o-line_height-tip2);
  color: var(--o-color-info3);
  min-height: var(--form-item-gap);
}
.o-form-item-message.type-warning {
  color: var(--o-color-warning1);
}
.o-form-item-message.type-danger {
  color: var(--o-color-danger1);
}

@media (max-width: 600px) {
  .o-form {
    --form-msg-gap: 4px 0 0 12px;
  }
}

.o-menu {
  --menu-width: 240px;
  --menu-bg-color: transparent;
  --menu-indicator-width: 1px;
  --menu-indicator-bg-color: var(--o-color-control4);
  --menu-max-row: 1;
  --menu-color: var(--o-color-info2);
  --menu-color-disabled: var(--o-color-info4);
  --menu-color-selected: var(--o-color-primary1);
  --menu-bg-color-hover: var(--o-color-control2-light);
  --menu-bg-color-selected: var(--o-color-control3-light);
  --menu-icon-color: currentColor;
  --menu-icon-color-selected: currentColor;
  --menu-base-indent: calc(var(--menu-icon-size) + var(--menu-icon-gap));
}

.o-menu-medium {
  --menu-item-padding-v: 8px;
  --menu-padding-h: 8px;
  --menu-radius: var(--o-radius_control-xs);
  --menu-text-size: var(--o-font_size-tip1);
  --menu-text-height: var(--o-line_height-tip1);
  --menu-icon-size: var(--o-icon_size_control-m);
  --menu-icon-gap: 8px;
  --menu-arrow-size: var(--o-icon_size_control-m);
}
.o-menu-medium .o-sub-menu[data-level="0"] > .o-sub-menu-title, .o-menu-medium .o-menu-item[data-level="0"] {
  --menu-item-padding-v: 11px;
  --menu-text-size: var(--o-font_size-text1);
  --menu-text-height: var(--o-line_height-text1);
}

.o-menu-small {
  --menu-item-padding-v: 4px;
  --menu-padding-h: 4px;
  --menu-radius: var(--o-radius_control-xs);
  --menu-text-size: var(--o-font_size-tip1);
  --menu-text-height: var(--o-line_height-tip1);
  --menu-icon-size: var(--o-icon_size_control-xs);
  --menu-icon-gap: 4px;
  --menu-arrow-size: var(--o-icon_size_control-xs);
}

.o-menu-item,
.o-sub-menu {
  --menu-level-indent: calc(var(--menu-padding-h) + (var(--menu-base-indent)) * (var(--menu-level)));
}

.o-menu-arrow-left .o-sub-menu {
  --menu-level-indent: calc((var(--menu-base-indent)) * (var(--menu-level)));
}
.o-menu-arrow-left .o-menu-item {
  --menu-level-indent: calc((var(--menu-base-indent)) * (var(--menu-level)) + var(--menu-arrow-size) + var(--menu-icon-gap));
}

.o-menu-popover {
  --menu-popover-width: 240px;
}

.o-menu-arrow-left {
  --menu-max-row: 2;
  --sub-menu-base-indent: calc(var(--menu-arrow-size) + var(--menu-icon-gap));
  --menu-item-base-indent: calc(20px + var(--menu-icon-gap));
}

.o-menu-arrow-left.o-menu-small {
  --menu-item-base-indent: 24px;
}

.o-menu > .o-menu-item {
  --menu-item-level-indent: var(--menu-padding-h);
}

.o-menu {
  width: var(--menu-width);
  background-color: var(--menu-bg-color);
  list-style: none;
  margin: 0;
  padding: 0;
  color: var(--menu-color);
}

/* 项目样式 */
.o-sub-menu-title,
.o-menu-item {
  font-size: var(--menu-text-size);
  line-height: var(--menu-text-height);
  padding: var(--menu-item-padding-v) var(--menu-padding-h) var(--menu-item-padding-v) var(--menu-level-indent);
  margin: 1px 0;
  border-radius: var(--menu-radius);
  cursor: pointer;
  transition: all var(--o-duration-s) var(--o-easing-standard);
  display: flex;
  align-items: flex-start;
}
@media (hover: hover) {
  .o-sub-menu-title:hover,
  .o-menu-item:hover {
    background-color: var(--menu-bg-color-hover);
  }
}

.o-sub-menu-selected > .o-sub-menu-title,
.o-sub-menu-associated-selected > .o-sub-menu-title,
.o-menu-item-selected {
  font-weight: 600;
  color: var(--menu-color-selected);
  --menu-icon-color: var(--menu-icon-color-selected);
}

.o-menu-item-selected {
  background-color: var(--menu-bg-color-selected);
}
@media (hover: hover) {
  .o-menu-item-selected:hover {
    background-color: var(--menu-bg-color-selected);
  }
}

.o-sub-menu-title {
  position: relative;
  display: flex;
  align-items: flex-start;
}

.o-sub-menu-title-icon,
.o-menu-item-icon {
  color: var(--menu-icon-color);
  margin-right: var(--menu-icon-gap);
  font-size: var(--menu-icon-size);
  height: var(--menu-text-height);
  width: var(--menu-icon-size);
  flex-shrink: 0;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.o-sub-menu-title-content,
.o-menu-item-content {
  margin-right: auto;
  word-break: break-word;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: var(--menu-max-row);
}

.o-sub-menu-arrow {
  height: var(--menu-text-height);
  font-size: var(--menu-arrow-size);
  width: var(--menu-arrow-size);
  overflow: hidden;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: rotate(0);
  transition: transform var(--o-duration-m2) var(--o-easing-standard);
}
.o-sub-menu-expanded > .o-sub-menu-title > .o-sub-menu-arrow {
  transform: rotate(-180deg);
}

.o-sub-menu-children {
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  overflow: hidden;
  display: grid;
  grid-template-rows: 0fr;
  transition: all var(--o-duration-m2) var(--o-easing-standard);
}
.o-sub-menu-children.expanded {
  grid-template-rows: 1fr;
}

.o-sub-menu-children-wrap {
  min-height: 0;
  min-width: 0;
  position: relative;
}

.o-menu-item-disabled {
  cursor: not-allowed;
  color: var(--menu-color-disabled);
}

/* 层级指示线 */
.o-menu-arrow-left .o-sub-menu:not([data-level="0"]) .o-sub-menu-children.expanded {
  position: relative;
}
.o-menu-arrow-left .o-sub-menu:not([data-level="0"]) .o-sub-menu-children.expanded::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(var(--menu-arrow-size) / 2 + var(--menu-level-indent));
  width: var(--menu-indicator-width);
  background-image: linear-gradient(to right, var(--menu-indicator-bg-color), var(--menu-indicator-bg-color));
  background-size: var(--menu-indicator-width) 100%;
  z-index: 0;
}
.o-menu-arrow-left .o-sub-menu-arrow + .o-sub-menu-title-icon, .o-menu-arrow-left .o-sub-menu-arrow + .o-sub-menu-title-content {
  margin-left: var(--menu-icon-gap);
}

.o-menu-popover {
  max-width: var(--menu-popover-width);
  word-wrap: break-word;
}

/* 0-1680 */
@media (min-width: 0px) and (max-width: 1680px) {
  .o-menu-medium {
    --menu-item-padding-v: 4px;
    --menu-icon-size: var(--o-icon_size_control-s);
    --menu-arrow-size: var(--o-icon_size_control-s);
  }
  .o-menu-medium .o-sub-menu[data-level="0"] > .o-sub-menu-title, .o-menu-medium .o-menu-item[data-level="0"] {
    --menu-item-padding-v: 8px;
    --menu-text-size: var(--o-font_size-tip1);
    --menu-text-height: var(--o-line_height-tip1);
  }
}
/* 0-1200 */
@media (max-width: 1200px) {
  .o-menu-small {
    --menu-text-size: var(--o-font_size-tip2);
    --menu-text-height: var(--o-line_height-tip2);
  }
  .o-menu-small .o-menu-item[data-level="0"],
  .o-menu-small .o-sub-menu[data-level="0"] > .o-sub-menu-title {
    --menu-text-size: var(--o-font_size-tip1);
    --menu-text-height: var(--o-line_height-tip1);
  }
}
.o-breadcrumb {
  --breadcrumb-color: var(--o-color-info3);
  --breadcrumb-color-hover: var(--o-color-info1);
  --breadcrumb-color-active: var(--o-color-info1);
  --breadcrumb-color-selected: var(--o-color-info1);
  --breadcrumb-text-size: var(--o-font_size-tip1);
  --breadcrumb-text-height: var(--o-line_height-tip1);
  --breadcrumb-gap: 4px;
  --breadcrumb-seperator-size: var(--o-icon_size_control-m);
  --breadcrumb-label-max-width: 140px;
}

.o-breadcrumb {
  display: inline-flex;
  align-items: center;
  color: var(--breadcrumb-color);
  font-size: var(--breadcrumb-text-size);
  line-height: var(--breadcrumb-text-height);
}
.o-breadcrumb a {
  color: inherit;
  text-decoration: none;
}

.o-breadcrumb-item {
  display: inline-flex;
  align-items: center;
}
.o-breadcrumb-item:last-child {
  color: var(--breadcrumb-color-selected);
  font-weight: 500;
}
.o-breadcrumb-item:last-child .o-breadcrumb-item-label {
  cursor: auto;
  max-width: none;
}
.o-breadcrumb-item:last-child .o-breadcrumb-item-separator {
  display: none;
}

.o-breadcrumb-item-label {
  cursor: pointer;
  max-width: var(--breadcrumb-label-max-width);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color var(--o-duration-s) var(--o-easing-standard);
}
@media (hover: hover) {
  .o-breadcrumb-item-label:hover {
    color: var(--breadcrumb-color-hover);
  }
}
.o-breadcrumb-item-label:active {
  color: var(--breadcrumb-color-active);
}

.o-breadcrumb-item-separator {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: var(--breadcrumb-seperator-size);
  font-size: var(--breadcrumb-seperator-size);
  line-height: 1;
  transition: color var(--o-duration-s) var(--o-easing-standard);
  margin: 0 var(--breadcrumb-gap);
}

@media (max-width: 1440px) {
  .o-breadcrumb {
    --breadcrumb-text-size: var(--o-font_size-tip2);
    --breadcrumb-text-height: var(--o-line_height-tip2);
    --breadcrumb-seperator-size: var(--o-icon_size_control-xs);
  }
}
.o-dropdown-list {
  --dropdown-list-bg-color: var(--o-color-control-light);
  --dropdown-list-shadow: var(--o-shadow-2);
  --dropdown-list-bd: none;
  --dropdown-list-radius: 12px;
  --dropdown-list-padding: 4px;
}

.o-dropdown-item {
  --dropdown-item-color: var(--o-color-info2);
  --dropdown-item-color-hover: var(--o-color-primary2);
  --dropdown-item-color-disabled: var(--o-color-info4);
  --dropdown-item-bg-color: transparent;
  --dropdown-item-bg-color-hover: var(--o-color-control2-light);
  --dropdown-item-bg-color-disabled: transparent;
  --dropdown-item-text-size: var(--o-font_size-text1);
  --dropdown-item-text-height: var(--o-line_height-text1);
  --dropdown-item-justify: center;
  --dropdown-item-padding: 7px 0px;
  --dropdown-item-gap: 2px;
  --dropdown-item-radius: var(--o-radius_control-s);
}

.o-dropdown-list {
  list-style: none;
  margin: 0;
  padding: var(--dropdown-list-padding);
  background-color: var(--dropdown-list-bg-color);
  box-shadow: var(--dropdown-list-shadow);
  border-radius: var(--dropdown-list-radius);
  border: var(--dropdown-list-bd);
}

.o-dropdown-item {
  display: flex;
  align-items: center;
  justify-content: var(--dropdown-item-justify);
  padding: var(--dropdown-item-padding);
  background-color: var(--dropdown-item-bg-color);
  font-size: var(--dropdown-item-text-size);
  line-height: var(--dropdown-item-text-height);
  border-radius: var(--dropdown-item-radius);
  color: var(--dropdown-item-color);
  transition: background-color var(--o-duration-s) var(--o-easing-standard);
  cursor: pointer;
}
.o-dropdown-item:hover {
  background-color: var(--dropdown-item-bg-color-hover);
  color: var(--dropdown-item-color-hover);
}

.o-dropdown-item + .o-dropdown-item {
  margin-top: var(--dropdown-item-gap);
}

.o-dropdown-item-disabled, .o-dropdown-item-disabled:hover {
  cursor: not-allowed;
  color: var(--dropdown-item-color-disabled);
  background-color: var(--dropdown-item-bg-color-disabled);
}

.o-progress {
  --progress-track-bg-color: var(--o-color-control4);
  --progress-color: var(--o-color-info1);
  --progress-label-gap: 8px;
  --progress-inner-label-color: var(--o-color-white);
  --progress-inner-label-gap: 8px;
}

.o-progress-medium {
  --progress-text-size: var(--o-font_size-text1);
  --progress-text-height: var(--o-line_height-text1);
  --progress-icon-size: var(--o-icon_size_control-m);
}

.o-progress-small {
  --progress-text-size: var(--o-font_size-tip2);
  --progress-text-height: var(--o-line_height-tip2);
  --progress-icon-size: var(--o-icon_size_control-xs);
}

.o-progress-primary {
  --progress-bar-bg-color: var(--o-color-primary1);
  --progress-icon-color: var(--o-color-primary1);
}

.o-progress-success {
  --progress-bar-bg-color: var(--o-color-success1);
  --progress-icon-color: var(--o-color-success1);
}

.o-progress-warning {
  --progress-bar-bg-color: var(--o-color-warning1);
  --progress-icon-color: var(--o-color-warning1);
}

.o-progress-danger {
  --progress-bar-bg-color: var(--o-color-danger1);
  --progress-icon-color: var(--o-color-danger1);
}

.o-progress-line {
  width: 100%;
}

.o-progress-line-wrap {
  display: flex;
  align-items: center;
}

.o-progress-line-track {
  width: 100%;
  overflow: hidden;
  background-color: var(--progress-track-bg-color);
}

.o-progress-line-bar {
  max-width: 100%;
  height: 100%;
  background-color: var(--progress-bar-bg-color);
  transition: all var(--o-duration-m1) var(--o-easing-standard);
  text-align: right;
}

.o-progress-line-label {
  color: var(--progress-color);
  font-size: var(--progress-text-size);
  line-height: var(--progress-text-height);
  margin-left: var(--progress-label-gap);
  white-space: nowrap;
}
.o-progress-line-label.is-icon {
  color: var(--progress-icon-color);
  font-size: var(--progress-icon-size);
}

.o-progress-line-inner-label {
  display: inline-block;
  color: var(--progress-inner-label-color);
  margin-left: var(--progress-inner-label-gap);
  margin-right: var(--progress-inner-label-gap);
}

.o-progress-circle {
  font-size: 0;
  line-height: 0;
}

.o-progress-circle-wrap {
  position: relative;
  display: inline-block;
}

.o-progress-circle-track {
  stroke: var(--progress-track-bg-color);
}

.o-progress-circle-bar {
  stroke: var(--progress-bar-bg-color);
  transition: all var(--o-duration-m1) var(--o-easing-standard);
}

.o-progress-circle-label {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: var(--progress-color);
  font-size: var(--progress-text-size);
  line-height: var(--progress-text-height);
}
.o-progress-circle-label.is-icon {
  color: var(--progress-icon-color);
  font-size: var(--progress-icon-size);
}

@media (max-width: 1440px) {
  .o-progress-medium {
    --progress-text-size: var(--o-font_size-tip1);
    --progress-text-height: var(--o-line_height-tip1);
  }
}
.o-layer {
  --layer-position: absolute;
  --layer-mask: var(--o-color-mask1);
  --layer-align: center;
  --layer-justify: center;
  --layer-origin: center;
}

.o-layer-to-body {
  --layer-position: fixed;
}

.o-layer {
  position: var(--layer-position, "fixed");
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: var(--layer-z-index);
  display: flex;
  align-items: var(--layer-align);
  justify-content: var(--layer-justify);
}

.o-layer-mask {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background-color: var(--layer-mask);
  z-index: -1;
}

.o-layer-open {
  overflow: hidden !important;
}

.o-layer-main {
  transform-origin: var(--layer-origin);
}

.o-layer-close {
  position: absolute;
  top: 40px;
  right: 40px;
}

.o-layer-close-icon {
  font-size: var(--o-icon_size-m);
  color: var(--o-color-info1-inverse);
  background-color: var(--o-color-mask1);
  border-radius: 50%;
  padding: 8px;
}
.o-layer-close-icon {
  overflow: hidden;
}
.o-layer-close-icon svg {
  transition: all var(--o-duration-m1) var(--o-easing-standard-in);
}
@media (hover: hover) {
  .o-layer-close-icon:hover svg {
    transform: rotate(180deg);
  }
}
@media (hover: hover) {
  .o-layer-close-icon:hover {
    color: var(--o-color-info2-inverse);
  }
}
.o-layer-close-icon:active {
  color: var(--o-color-info3-inverse);
  transform: scale(0.9);
}

.o-dialog {
  --dlg-close-size: var(--o-icon_size_control-m);
  --dlg-close-color: var(--o-color-info2);
  --dlg-close-color-hover: var(--o-color-primary2);
  --dlg-close-color-active: var(--o-color-primary3);
  --dlg-color: var(--o-color-info1);
  --dlg-header-color: var(--o-color-info1);
  --dlg-bg-color: var(--o-color-control-light);
  --dlg-radius: var(--o-radius_control-l);
  --dlg-shadow: var(--o-shadow-1);
  --dlg-max-height: 100%;
  --dlg-min-width: 272px;
  --dlg-margin: 24px;
  --dlg-edge-gap: 32px;
  --dlg-inner-gap: 24px;
  --actions-justify: var(--dlg-actions-justify, center);
}

.o-dialog-auto {
  --dlg-max-height: 80%;
}

.o-dialog-exlarge {
  --dlg-width: 1170px;
  --dlg-max-height: 780px;
  --dlg-min-height: 520px;
}

.o-dialog-large {
  --dlg-width: 930px;
  --dlg-max-height: 780px;
  --dlg-min-height: 424px;
}

.o-dialog-medium {
  --dlg-width: 690px;
  --dlg-max-height: 480px;
  --dlg-min-height: 328px;
}

.o-dialog-small {
  --dlg-width: 450px;
  --dlg-max-height: 272px;
  --dlg-min-height: 224px;
  --dlg-header-gap: 16px;
}

.o-dlg-main {
  color: var(--dlg-color);
  position: relative;
  background-color: var(--dlg-bg-color);
  box-shadow: var(--dlg-shadow);
  border-radius: var(--dlg-radius);
  margin: var(--dlg-margin);
  width: var(--dlg-width);
  min-width: var(--dlg-min-width);
  max-height: var(--dlg-max-height);
  min-height: var(--dlg-min-height);
  display: flex;
  flex-direction: column;
  padding: var(--dlg-edge-gap);
}

.o-dlg-btn-close {
  position: absolute;
  right: 8px;
  top: 8px;
  font-size: var(--dlg-close-size);
  color: var(--dlg-close-color);
  display: flex;
  transition: transform var(--o-easing-standard) var(--o-duration-m2);
  cursor: pointer;
  z-index: 1;
}
.o-dlg-btn-close {
  overflow: hidden;
}
.o-dlg-btn-close svg {
  transition: all var(--o-duration-m1) var(--o-easing-standard-in);
}
@media (hover: hover) {
  .o-dlg-btn-close:hover svg {
    transform: rotate(180deg);
  }
}
@media (hover: hover) {
  .o-dlg-btn-close:hover {
    color: var(--dlg-close-color-hover);
  }
}
.o-dlg-btn-close:active {
  color: var(--dlg-close-color-active);
  transform: scale(0.9);
}

.o-dlg-header {
  color: var(--dlg-header-color);
  text-align: center;
  font-size: var(--o-font_size-h2);
  line-height: var(--o-line_height-h2);
  font-weight: 500;
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
  overflow: hidden;
  flex-shrink: 0;
  margin-bottom: var(--dlg-header-gap, var(--dlg-inner-gap));
}

.o-dlg-body {
  flex: 1;
  display: flex;
  overflow: visible;
  min-height: 0;
}
.o-dlg-body > .o-scrollbar {
  --scrollbar-y-right: calc(-1 * var(--dlg-edge-gap));
}

.o-dlg-body-content {
  flex: 1;
}

.o-dlg-footer {
  overflow: hidden;
  flex-shrink: 0;
  margin-top: var(--dlg-inner-gap);
}

.o-dlg-actions {
  display: flex;
  align-items: center;
  justify-content: var(--actions-justify);
}

.o-dlg-btn + .o-dlg-btn {
  margin-left: 16px;
}

@media (min-width: 601px) {
  .o-dialog-responsive {
    --layer-origin: center;
  }
}
@media (max-width: 1200px) {
  .o-dialog-responsive {
    --layer-position: fixed;
  }
  .o-dialog-responsive .o-dlg-btn + .o-dlg-btn.o-btn-text {
    position: relative;
  }
  .o-dialog-responsive .o-dlg-btn + .o-dlg-btn.o-btn-text::before {
    content: "";
    border-left: 1px solid var(--o-color-control1-light);
    position: absolute;
    height: 24px;
    left: -8px;
  }
}
@media (max-width: 600px) {
  .o-dialog-responsive {
    --layer-align: flex-end;
    --layer-origin: center bottom;
    --dlg-min-width: none;
  }
  .o-dialog-responsive .o-dlg-btn {
    flex: 1;
  }
  .o-dialog-responsive .o-dlg-btn-close {
    display: none;
  }
}

@media (min-width: 1201px) and (max-width: 1440px) {
  .o-dialog {
    --dlg-edge-gap: 24px;
    --dlg-inner-gap: 16px;
  }
}
@media (min-width: 841px) and (max-width: 1200px) {
  .o-dialog {
    --dlg-edge-gap: 24px;
    --dlg-inner-gap: 16px;
  }
}
@media (max-width: 840px) {
  .o-dialog {
    --dlg-edge-gap: 16px;
    --dlg-inner-gap: 12px;
  }
}

@media (min-width: 1201px) and (max-width: 1440px) {
  .o-dlg-header {
    font-size: var(--o-font_size-h4);
    line-height: var(--o-line_height-h4);
  }
}
@media (max-width: 1200px) {
  .o-dlg-header {
    font-size: var(--o-font_size-text2);
    line-height: var(--o-line_height-text2);
  }
}

@media (min-width: 1201px) and (max-width: 1440px) {
  .o-dialog-exlarge {
    --dlg-width: 80%;
    --dlg-max-height: 80%;
    --dlg-min-height: 65%;
  }
}
@media (max-width: 1200px) {
  .o-dialog-exlarge {
    --dlg-width: 100%;
    --dlg-max-height: 100%;
    --dlg-radius: 0;
    --dlg-margin: 0;
    --dlg-edge-gap: 24px;
    --dlg-inner-gap: 16px;
  }
}

@media (min-width: 1201px) and (max-width: 1440px) {
  .o-dialog-large {
    --dlg-width: 65%;
    --dlg-max-height: 80%;
    --dlg-min-height: 50%;
  }
}
@media (max-width: 1200px) {
  .o-dialog-large {
    --dlg-width: 100%;
    --dlg-max-height: 100%;
    --dlg-radius: 0;
    --dlg-margin: 0;
    --dlg-edge-gap: 24px;
    --dlg-inner-gap: 16px;
  }
}

@media (min-width: 1201px) and (max-width: 1440px) {
  .o-dialog-medium {
    --dlg-width: 50%;
    --dlg-max-height: 80%;
    --dlg-min-height: 35%;
  }
}
@media (min-width: 841px) and (max-width: 1200px) {
  .o-dialog-medium {
    --dlg-width: 65%;
    --dlg-max-height: 80%;
    --dlg-min-height: 128px;
    --dlg-margin: 24px;
  }
}
@media (max-width: 840px) {
  .o-dialog-medium {
    --dlg-width: calc(100vw - 48px);
    --dlg-max-height: 65%;
    --dlg-min-height: 128px;
    --dlg-margin: 24px;
  }
}

@media (min-width: 1201px) and (max-width: 1440px) {
  .o-dialog-small {
    --dlg-width: 35%;
    --dlg-max-height: 50%;
    --dlg-min-height: 20%;
  }
}
@media (max-width: 1200px) {
  .o-dialog-small {
    --dlg-min-height: 128px;
    --dlg-max-height: 80%;
    --dlg-margin: 24px;
    --dlg-edge-gap: 16px;
    --dlg-inner-gap: 12px;
    --dlg-header-gap: 12px;
  }
}
@media (min-width: 841px) and (max-width: 1200px) {
  .o-dialog-small {
    --dlg-width: 50%;
  }
}
@media (min-width: 601px) and (max-width: 840px) {
  .o-dialog-small {
    --dlg-width: 65%;
  }
}
@media (max-width: 600px) {
  .o-dialog-small {
    --dlg-width: calc(100vw - 48px);
    --dlg-max-height: 65%;
  }
}

@media (max-width: 600px) {
  .o-dialog-phone-half-full {
    --dlg-width: 100%;
    --dlg-margin: 0;
  }
  .o-dialog-phone-half-full.o-dialog-auto, .o-dialog-phone-half-full.o-dialog-small, .o-dialog-phone-half-full.o-dialog-medium {
    --dlg-radius: var(--o-radius_control-l) var(--o-radius_control-l) 0 0;
  }
}

.o-loading {
  --loading-mask: var(--o-color-mask1);
  --loading-icon-size: var(--o-icon_size_control-m);
  --loading-icon-color: var(--o-color-info2);
  --loading-mask-icon-color: var(--o-color-info2-inverse);
  --loading-color: var(--o-color-info2);
  --loading-mask-color: var(--o-color-info2-inverse);
  --loading-z-index: calc(var(--o-z-index-base) + 10);
}

.o-loading {
  font-size: var(--o-font_size-text1);
  line-height: var(--o-line_height-text1);
}

.o-loading-main {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--loading-color);
}

.o-loading-icon {
  font-size: var(--loading-icon-size);
  color: var(--loading-icon-color);
}
.o-loading-icon + .o-loading-label {
  margin-left: 4px;
}

.o-layer-mask + .o-loading-main {
  color: var(--loading-mask-color);
}
.o-layer-mask + .o-loading-main .o-loading-icon {
  color: var(--loading-mask-icon-color);
}

.o-figure {
  --figure-padding-top: 50%;
  --figure-fit: cover;
  --figure-position: center;
  --figure-radius: 0;
  --figure-error-color: var(--o-color-control4);
  --figure-error-size: var(--o-icon_size_control-l);
  --figure-play-icon-size: 64px;
}

.o-figure {
  display: inline-flex;
  align-items: center;
  vertical-align: top;
  overflow: hidden;
  transition: background-color var(--o-duration-m2);
  border-radius: var(--figure-radius);
  position: relative;
}
.o-figure.is-loading.is-colorful {
  background-color: var(--figure-prest-color);
}
.o-figure.is-loading img {
  opacity: 0;
}
.o-figure img {
  max-width: 100%;
  vertical-align: top;
  opacity: 1;
  transition: opacity var(--o-duration-m2), transform var(--o-easing-standard) 600ms;
  will-change: transform;
  border-radius: var(--figure-radius);
}
.o-figure.is-error {
  background-color: var(--o-color-control4);
}

.o-figure-main {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  transition: background-color var(--o-easing-standard-in) var(--o-duration-m1);
}

.o-figure-hoverable {
  cursor: pointer;
}
@media (hover: hover) {
  .o-figure-hoverable:hover img {
    transform: scale(1.05);
  }
}
.o-figure-hoverable:active img {
  transform: scale(1.02);
}
.o-figure-hoverable:active .o-figure-main {
  background-color: rgba(var(--o-black), 0.1);
}

.o-figure-wrap {
  position: relative;
  width: 100%;
  height: 100%;
  padding-top: var(--figure-padding-top);
}

.o-figure-bg {
  background-size: var(--figure-fit);
  background-position: var(--figure-position);
  background-repeat: no-repeat;
}

.o-figure-img-ratio {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: var(--figure-fit);
  object-position: var(--figure-position);
}

.o-figure-img {
  width: 100%;
  height: 100%;
  object-fit: var(--figure-fit);
  object-position: var(--figure-position);
}

.o-figure-view {
  cursor: zoom-in;
}

.o-figure-view-layer {
  width: 100%;
  height: 100%;
  cursor: zoom-out;
}

.o-figure-preview-wrapper {
  position: relative;
}

.o-figure-view-figure {
  width: 100%;
  height: 100%;
  --figure-fit: contain;
}

.o-figure-previewable {
  cursor: pointer;
}

.o-figure-preview-img {
  position: relative;
}
.o-figure-preview-img img {
  vertical-align: top;
  max-width: 100vw;
  max-height: 100vh;
}

.o-figure-error-wrap {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--figure-error-size);
  color: var(--figure-error-color);
}

.o-figure-video-poster {
  position: relative;
}

.o-figure-mask {
  background-color: rgba(var(--o-black), 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  border-radius: inherit;
}

.o-figure-play-icon {
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  width: var(--figure-play-icon-size);
  height: var(--figure-play-icon-size);
  font-size: calc(var(--figure-play-icon-size) / 64 * 24);
  border-radius: 50%;
  color: var(--o-color-white);
  background-color: rgba(var(--o-white), 0.2);
  border: 1px solid rgba(var(--o-white), 0.6);
  backdrop-filter: blur(1px);
}
.o-figure-play-icon .o-icon-video-play {
  margin-right: -0.2em;
}

.o-figure-title {
  font-size: var(--o-font_size-h3);
  line-height: var(--o-line_height-h3);
}

.o-figure-content {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 16px 24px;
  color: var(--o-color-white);
  background: linear-gradient(180deg, rgba(var(--o-black), 0) 0%, rgba(var(--o-black), 0.6) 100%);
  font-size: var(--o-font_size-tip1);
  line-height: var(--o-line_height-tip1);
}

@media (min-width: 1201px) and (max-width: 1440px) {
  .o-figure {
    --figure-play-icon-size: 56px;
  }
}
@media (min-width: 601px) and (max-width: 1200px) {
  .o-figure {
    --figure-play-icon-size: 48px;
  }
}
@media (max-width: 600px) {
  .o-figure {
    --figure-play-icon-size: 40px;
  }
}

@media (min-width: 601px) and (max-width: 1200px) {
  .o-figure-title {
    font-size: var(--o-font_size-text1);
    line-height: var(--o-line_height-text1);
  }
}
@media (max-width: 600px) {
  .o-figure-title {
    font-size: var(--o-font_size-tip1);
    line-height: var(--o-line_height-tip1);
  }
}

@media (min-width: 601px) and (max-width: 1200px) {
  .o-figure-content {
    padding: 12px 16px;
  }
}
@media (max-width: 600px) {
  .o-figure-content {
    padding: 4px 8px;
  }
}

@media (max-width: 1200px) {
  .o-figure-preview-img img {
    max-width: 100vw;
  }
}

@media (max-width: 1200px) {
  .o-figure-preview-close {
    left: 16px;
    right: auto;
  }
}

@media (max-width: 1200px) {
  .o-figure-preview-layer {
    --layer-mask: var(--o-color-black);
  }
}

.o-card {
  --card-bg-color: var(--o-color-fill2);
  --card-radius: var(--o-radius_control-l);
  --card-shadow: none;
  --card-shadow-hover: var(--o-shadow-2);
  --card-shadow-active: var(--o-shadow-1);
  --card-cover-radius: var(--o-radius_control-s);
  --card-h-cover-width: 45%;
  --card-h-cover-max-width: 320px;
  --card-main-padding: 24px 32px;
  --card-icon-gap: 16px;
  --card-icon-color: var(--o-color-info1);
  --card-icon-size: var(--o-icon_size_control-xl);
  --card-title-icon-gap: var(--o-gap-3);
  --card-title-icon-color: var(--o-color-info1);
  --card-title-icon-size: var(--o-icon_size-l);
  --card-header-color: var(--o-color-info1);
  --card-header-text-size: var(--o-font_size-h3);
  --card-header-text-height: var(--o-line_height-h3);
  --card-title-word-break: break-word;
  --card-content-gap: 12px;
  --card-content-color: var(--o-color-info2);
  --card-content-text-size: var(--o-font_size-text1);
  --card-content-text-height: var(--o-line_height-text1);
  --card-detail-word-break: break-word;
  --card-footer-gap: 24px;
  --card-footer-color: var(--o-color-info2);
  --card-footer-text-size: var(--o-font_size-tip1);
  --card-footer-text-height: var(--o-line_height-tip1);
}

.o-card-cover-v {
  --card-cover-padding: 8px 8px 0;
}

.o-card-cover-h {
  --card-cover-padding: 8px 0 8px 8px;
}

.o-card-cover-hr {
  --card-cover-padding: 8px 8px 8px 0;
}

.o-card-only-cover {
  --card-cover-padding: 0;
}

.o-card {
  background-color: var(--card-bg-color);
  border-radius: var(--card-radius);
  box-shadow: var(--card-shadow);
  overflow: hidden;
  display: flex;
  text-decoration: none;
}

.o-card-cover {
  flex-shrink: 0;
  padding: var(--card-cover-padding);
}

.o-card-cover-img {
  max-height: 100%;
  width: 100%;
  border-radius: var(--card-cover-radius);
}
.o-card-cover-img img {
  border-radius: var(--card-cover-radius);
}
.o-card-cover-img.is-full {
  height: 100%;
}

.o-card-icon {
  color: var(--card-icon-color);
  font-size: var(--card-icon-size);
  text-align: var(--card-icon-text-align);
}

.o-card-header {
  font-size: var(--card-header-text-size);
  line-height: var(--card-header-text-height);
  color: var(--card-header-color);
}

.o-card-header-with-icon {
  position: relative;
}
.o-card-header-with-icon .o-card-title {
  text-indent: calc(var(--card-title-icon-size) + var(--card-title-icon-gap));
}

.o-card-title-icon {
  width: var(--card-title-icon-size);
  height: var(--card-title-icon-size);
  position: absolute;
  top: calc((var(--card-header-text-height) - var(--card-title-icon-size)) / 2);
  font-size: var(--card-title-icon-size);
}

.o-card-title-icon-figure {
  width: 100%;
}

.o-card-title {
  height: calc(var(--card-title-row) * var(--card-header-text-height));
  margin: 0;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: var(--card-title-text-align);
  word-break: var(--card-title-word-break);
  display: -webkit-box;
  -webkit-line-clamp: var(--card-title-max-row);
  -webkit-box-orient: vertical;
}

.o-card-main {
  padding: var(--card-main-padding);
  height: 100%;
}

.o-card-main-wrap {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 1;
}

.o-card-content {
  font-size: var(--card-content-text-size);
  line-height: var(--card-content-text-height);
  color: var(--card-content-color);
}
.o-card-header + .o-card-content {
  margin-top: var(--card-content-gap);
}

.o-card-detail {
  height: calc(var(--card-detail-row) * var(--card-content-text-height));
  max-height: calc(var(--card-detail-max-row) * var(--card-content-text-height));
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: var(--card-detail-text-align);
  word-break: var(--card-detail-word-break);
  display: -webkit-box;
  -webkit-line-clamp: var(--card-detail-max-row);
  -webkit-box-orient: vertical;
}

.o-card-hoverable {
  position: relative;
  transition: box-shadow var(--o-easing-standard) var(--o-duration-m2);
}
@media (hover: hover) {
  .o-card-hoverable:hover {
    box-shadow: var(--card-shadow-hover);
  }
}
.o-card-hoverable:active {
  box-shadow: var(--card-shadow-active);
}

@media (hover: hover) {
  .o-card-hoverable.o-card-cursor-pointer:hover .o-card-cover img {
    transform: scale(1.05);
  }
}
.o-card-hoverable.o-card-cursor-pointer:active .o-card-cover img {
  transform: scale(1.02);
}

.o-card-footer {
  margin-top: var(--card-footer-gap);
  font-size: var(--card-footer-text-size);
  line-height: var(--card-footer-text-height);
  color: var(--card-footer-color);
}

.o-card-layout-v {
  display: flex;
  flex-direction: column;
}
.o-card-layout-v .o-card-main {
  display: flex;
  flex-direction: column;
}
.o-card-layout-v .o-card-icon {
  margin-bottom: var(--card-icon-gap);
}

.o-card-layout-h {
  display: flex;
  flex-direction: row;
}
.o-card-layout-h .o-card-main {
  display: flex;
  flex-direction: row;
}
.o-card-layout-h .o-card-icon {
  margin-right: var(--card-icon-gap);
  width: var(--card-icon-size);
}

.o-card-layout-hr {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
}
.o-card-layout-hr .o-card-main {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
}
.o-card-layout-hr .o-card-icon {
  margin-left: var(--card-icon-gap);
  width: var(--card-icon-size);
}

.o-card-cover-h,
.o-card-cover-hr {
  width: var(--card-h-cover-width);
  max-width: var(--card-h-cover-max-width);
  display: flex;
  align-items: center;
}

.o-card-cursor-pointer {
  cursor: pointer;
}

@media (min-width: 1201px) and (max-width: 1440px) {
  .o-card:not(.o-card-no-responsive) {
    --card-radius: var(--o-radius_control-m);
    --card-cover-radius: var(--o-radius_control-s);
    --card-header-text-size: var(--o-font_size-text2);
    --card-header-text-height: var(--o-line_height-text2);
    --card-main-padding: 16px 24px;
    --card-icon-gap: 12px;
    --card-title-icon-gap: var(--o-gap-2);
    --card-content-gap: 8px;
    --card-content-text-size: var(--o-font_size-tip1);
    --card-content-text-height: var(--o-line_height-tip1);
    --card-footer-gap: 16px;
    --card-footer-text-size: var(--o-font_size-tip2);
    --card-footer-text-height: var(--o-line_height-tip2);
  }
}
@media (min-width: 601px) and (max-width: 1200px) {
  .o-card:not(.o-card-no-responsive) {
    --card-radius: var(--o-radius_control-s);
    --card-cover-radius: var(--o-radius_control-xs);
    --card-header-text-size: var(--o-font_size-text1);
    --card-header-text-height: var(--o-line_height-text1);
    --card-main-padding: 12px 16px;
    --card-icon-gap: 8px;
    --card-icon-size: var(--o-icon_size_control-l);
    --card-title-icon-gap: var(--o-gap-2);
    --card-title-icon-size: var(--o-icon_size-m);
    --card-content-gap: 8px;
    --card-content-text-size: var(--o-font_size-tip1);
    --card-content-text-height: var(--o-line_height-tip1);
    --card-footer-gap: 12px;
    --card-footer-text-size: var(--o-font_size-tip2);
    --card-footer-text-height: var(--o-line_height-tip2);
  }
  .o-card:not(.o-card-no-responsive) .o-card-cover-v {
    --card-cover-padding: 4px 4px 0;
  }
  .o-card:not(.o-card-no-responsive) .o-card-cover-h {
    --card-cover-padding: 4px 0 4px 4px;
  }
  .o-card:not(.o-card-no-responsive) .o-card-cover-hr {
    --card-cover-padding: 4px 4px 4px 0;
  }
}
@media (max-width: 600px) {
  .o-card:not(.o-card-no-responsive) {
    --card-radius: var(--o-radius_control-s);
    --card-cover-radius: var(--o-radius_control-xs);
    --card-main-padding: 12px 16px;
    --card-header-text-size: var(--o-font_size-tip1);
    --card-header-text-height: var(--o-line_height-tip1);
    --card-icon-gap: 8px;
    --card-icon-size: var(--o-icon_size_control-l);
    --card-title-icon-gap: var(--o-gap-2);
    --card-title-icon-size: var(--o-icon_size-m);
    --card-content-gap: 8px;
    --card-content-text-size: var(--o-font_size-tip2);
    --card-content-text-height: var(--o-line_height-tip2);
    --card-footer-gap: 8px;
    --card-footer-text-size: 10px;
    --card-footer-text-height: 16px;
  }
  .o-card:not(.o-card-no-responsive) .o-card-cover-v {
    --card-cover-padding: 4px 4px 0;
  }
  .o-card:not(.o-card-no-responsive) .o-card-cover-h {
    --card-cover-padding: 4px 0 4px 4px;
  }
  .o-card:not(.o-card-no-responsive) .o-card-cover-hr {
    --card-cover-padding: 4px 4px 4px 0;
  }
}
.o-carousel {
  --carousel-arrow-size: var(--o-icon_size_control-l);
  --carousel-arrow-color: var(--o-color-info1);
  --carousel-arrow-color-hover: var(--o-color-info2);
  --carousel-arrow-color-active: var(--o-color-info3);
  --carousel-indicator-width: 48px;
  --carousel-indicator-height: 3px;
  --carousel-indicator-gap: 12px;
  --carousel-indicator-offset: 19px;
  --carousel-indicator-bg-color: var(--o-color-control1);
  --carousel-indicator-bg-color-hover: var(--o-color-control2);
  --carousel-indicator-bg-color-active: var(--o-color-control3);
  --carousel-indicator-bg-color-selected: var(--o-color-primary1);
}

.o-carousel {
  position: relative;
  visibility: hidden;
  background: transparent;
  opacity: 0;
  transition: opacity var(--o-duration-m1);
}

.o-carousel-visible {
  visibility: visible;
  opacity: 1;
}

.o-carousel-wrap {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.o-carousel-arrow-prev,
.o-carousel-arrow-next {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  user-select: none;
  cursor: pointer;
  opacity: 1;
  transition: opacity var(--o-duration-m1) var(--o-easing-standard);
}

.o-carousel-hover-arrow .o-carousel-arrow-prev,
.o-carousel-hover-arrow .o-carousel-arrow-next {
  opacity: 0;
}
@media (hover: hover) {
  .o-carousel-hover-arrow:hover .o-carousel-arrow-prev,
  .o-carousel-hover-arrow:hover .o-carousel-arrow-next {
    opacity: 1;
  }
}

.o-carousel-arrow-prev {
  top: 50%;
  left: 12px;
  transform: translate3d(0, -50%, 0);
}

.o-carousel-arrow-next {
  top: 50%;
  right: 12px;
  transform: translate3d(0, -50%, 0);
}

.o-carousel-arrow-icon {
  font-size: var(--carousel-arrow-size);
  color: var(--carousel-arrow-color);
  background-color: var(--carousel-arrow-bg-color);
  border-radius: 50%;
  opacity: var(--carousel-arrow-opacity);
}
@media (hover: hover) {
  .o-carousel-arrow-icon:hover {
    opacity: var(--carousel-arrow-opacity-hover);
    color: var(--carousel-arrow-color-hover);
    background-color: var(--carousel-arrow-bg-color-hover);
  }
}

.o-carousel-indicator-wrap {
  position: absolute;
  left: 0;
  bottom: var(--carousel-indicator-offset);
  display: flex;
  justify-content: center;
  z-index: 2;
  left: 50%;
  transform: translate3d(-50%, 0, 0);
}

.o-carousel-indicator-item + .o-carousel-indicator-item {
  margin-left: var(--carousel-indicator-gap);
}

.o-carousel-indicator-bar {
  position: relative;
  width: var(--carousel-indicator-width);
  height: 12px;
  display: flex;
  align-items: center;
  cursor: pointer;
}
@media (hover: hover) {
  .o-carousel-indicator-bar:hover .o-carousel-indicator-line {
    background-color: var(--carousel-indicator-bg-color-hover);
  }
}
.o-carousel-indicator-bar:active .o-carousel-indicator-line {
  background-color: var(--carousel-indicator-bg-color-active);
}

.o-carousel-indicator-line {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: var(--carousel-indicator-height);
  border-radius: var(--carousel-indicator-height);
  background-color: var(--carousel-indicator-bg-color);
  transition: background-color var(--o-duration-m2) var(--o-easing-standard);
}
.o-carousel-indicator-line::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--carousel-indicator-height);
  border-radius: var(--carousel-indicator-height);
  background-color: var(--carousel-indicator-bg-color);
  transform-origin: 0 center;
}

@keyframes indicator-grow {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(100%);
  }
}
.o-carousel-indicator-bar-selected .o-carousel-indicator-line::after {
  background-color: var(--carousel-indicator-bg-color-selected);
}

.o-carousel-autoplay .o-carousel-indicator-line::after {
  transform: scaleX(100%);
}
.o-carousel-autoplay.is-playing .o-carousel-indicator-bar-selected .o-carousel-indicator-line::after {
  animation: indicator-grow var(--carousel-interval, "5000ms") var(--o-easing-linear);
}

.o-carousel-container-gallery {
  height: 100%;
  position: absolute;
  width: 100%;
  display: flex;
  flex-wrap: nowrap;
}
.o-carousel-container-gallery.is-animating {
  will-change: transform;
  transition: transform var(--o-duration-l) var(--o-easing-emphasized);
}

.o-carousel-item-gallery {
  position: absolute;
  left: 0;
  flex-shrink: 0;
}

.o-carousel-click-to-switch .o-carousel-item-gallery:not(.o-carousel-toggle-current) {
  cursor: pointer;
}

@keyframes carousel-toggle {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.o-carousel-container-toggle {
  height: 100%;
  position: absolute;
  width: 100%;
  display: flex;
  flex-wrap: nowrap;
}

.o-carousel-item-toggle {
  position: absolute;
  left: 0;
  flex-shrink: 0;
  z-index: 0;
  opacity: 0;
  height: 100%;
  width: 100%;
}

.o-carousel-toggle-current {
  opacity: 1;
  z-index: 2;
}

.o-carousel-toggle-in {
  animation: carousel-toggle var(--o-duration-l) var(--o-easing-emphasized) forwards;
  z-index: 2;
}

.o-carousel-toggle-out {
  animation: carousel-toggle var(--o-duration-l) var(--o-easing-emphasized) reverse forwards;
  z-index: 1;
}

@media (min-width: 1201px) and (max-width: 1440px) {
  .o-carousel {
    --carousel-arrow-size: var(--o-icon_size_control-m);
    --carousel-indicator-width: 40px;
    --carousel-indicator-height: 3px;
    --carousel-indicator-gap: 8px;
    --carousel-indicator-offset: 11px;
  }
}
@media (max-width: 1200px) {
  .o-carousel {
    --carousel-arrow-size: var(--o-icon_size_control-xs);
    --carousel-indicator-width: 24px;
    --carousel-indicator-height: 2px;
    --carousel-indicator-gap: 4px;
    --carousel-indicator-offset: 7px;
  }
}
.o-message {
  --message-color: var(--o-color-info2);
  --message-text-size: var(--o-font_size-tip1);
  --message-text-height: var(--o-line_height-tip1);
  --message-title-size: var(--o-font_size-tip1);
  --message-title-height: var(--o-line_height-tip1);
  --message-bg-color: var(--o-color-fill2);
  --message-shadow: var(--o-shadow-2);
  --message-align: start;
  --message-radius: var(--o-radius_control-s);
  --message-padding: 8px 16px;
  --message-icon-size: var(--o-icon_size_control-m);
  --message-icon-gap: 8px;
  --message-icon-close-color: var(--o-color-info2);
  --message-icon-close-color-hover: var(--o-color-info1);
  --message-icon-close-color-active: var(--o-color-info1);
  --message-word-break: break-word;
  --message-text-align: center;
  --message-content-max-row: 0;
  --message-gap: 16px;
  --message-title-gap: 4px;
}

.o-message-colorful {
  --message-shadow: none;
  --message-padding: 4px 12px 8px;
  --message-align: start;
  --message-text-align: left;
}

.o-message-info {
  --message-icon-color: var(--o-color-auxiliary5, rgb(var(--o-blue-6)));
}
.o-message-info.o-message-colorful {
  --message-bg-color: var(--o-blue-6);
}

.o-message-success {
  --message-icon-color: var(--o-color-success1, rgb(var(--o-green-6)));
}
.o-message-success.o-message-colorful {
  --message-bg-color: var(--o-green-6);
}

.o-message-warning {
  --message-icon-color: var(--o-color-warning1, rgb(var(--o-orange-6)));
}
.o-message-warning.o-message-colorful {
  --message-bg-color: var(--o-orange-6);
}

.o-message-danger {
  --message-icon-color: var(--o-color-danger1, rgb(var(--o-red-6)));
}
.o-message-danger.o-message-colorful {
  --message-bg-color: var(--o-red-6);
}

.o-message-loading {
  --message-icon-color: var(--o-color-info1);
}
.o-message-loading.o-message-colorful {
  --message-bg-color: var(--o-color-primary4-light);
}

.o-message-list {
  --message-list-offset: 32px;
}

.o-message {
  display: flex;
  align-items: var(--message-align);
  padding: var(--message-padding);
  background-color: var(--message-bg-color);
  border-radius: var(--message-radius);
  box-shadow: var(--message-shadow);
  width: fit-content;
  transition: all var(--o-duration-m1) var(--o-easing-standard-out);
  text-align: center;
}

.o-message-colorful:not(.o-message-loading) {
  overflow: hidden;
  position: relative;
  background-color: rgba(var(--message-bg-color), 0.05);
}
.o-message-colorful:not(.o-message-loading):after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background-color: rgb(var(--message-bg-color));
}

.o-message-main {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-size: var(--message-text-size);
  line-height: var(--message-text-height);
  color: var(--message-color);
}

.o-message-content {
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: var(--message-text-align);
  word-break: var(--message-word-break);
  display: -webkit-box;
  -webkit-line-clamp: var(--message-content-max-row);
  -webkit-box-orient: vertical;
}

.o-message-title {
  margin-bottom: var(--message-title-gap);
  font-size: var(--message-title-size);
  line-height: var(--message-title-height);
  font-weight: 600;
}

.o-message-icon {
  font-size: var(--message-icon-size);
  color: var(--message-icon-color);
  margin-right: var(--message-icon-gap);
  display: inline-flex;
  align-items: center;
}

.o-message-close {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  margin-left: var(--message-icon-gap);
  font-size: var(--message-icon-size);
  color: var(--message-icon-close-color);
  transition: color var(--o-duration-s) var(--o-easing-standard);
}
@media (hover: hover) {
  .o-message-close:hover {
    color: var(--message-icon-close-color-hover);
  }
}
.o-message-close:active {
  color: var(--message-icon-close-color-active);
}

.o-message-list {
  position: fixed;
  z-index: 1001;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
}

.o-message-list-top {
  top: var(--message-list-offset);
}
.o-message-list-top .o-message + .o-message {
  margin-top: var(--message-gap);
}

.o-message-list-bottom {
  bottom: var(--message-list-offset);
}
.o-message-list-bottom .o-message + .o-message {
  margin-top: var(--message-gap);
}

.o-message-fade-enter-from {
  opacity: 0;
}

.o-message-fade-enter-active,
.o-message-fade-leave-active {
  transition: all var(--o-duration-m1) var(--o-easing-standard-out);
}

.o-message-fade-leave-to {
  opacity: 0;
}

@media (min-width: 841px) and (max-width: 1680px) {
  .o-message.o-message-colorful {
    --message-padding: 4px 8px 8px;
  }
}
@media (min-width: 1201px) and (max-width: 1440px) {
  .o-message {
    --message-padding: 7px 12px;
    --message-gap: 12px;
  }
}
@media (max-width: 1200px) {
  .o-message {
    --message-text-size: var(--o-font_size-tip2);
    --message-text-height: var(--o-line_height-tip2);
    --message-title-size: var(--o-font_size-tip2);
    --message-title-height: var(--o-line_height-tip2);
    --message-padding: 7px 12px;
    --message-gap: 8px;
  }
}
@media (max-width: 840px) {
  .o-message-colorful {
    --message-padding: 4px 12px 8px;
  }
}
.o-cascader {
  --cascader-height: 200px;
}

.o-cascader-options {
  --cascader-options-bd-clor: var(--o-color-control1-light);
  --cascader-options-gap: 8px;
}

.o-cascader-option {
  --cascader-option-color: var(--o-color-info2);
  --cascader-option-color-hover: var(--o-color-info2);
  --cascader-option-color-selected: var(--o-color-primary1);
  --cascader-option-text-size: var(--o-font_size-text1);
  --cascader-option-text-height: var(--o-line_height-text1);
  --cascader-option-padding: 7px 12px;
  --cascader-option-radius: var(--o-radius_control-s);
  --cascader-option-bg-color: transparent;
  --cascader-option-bg-color-hover: var(--o-color-control2-light);
  --cascader-option-bg-color-selected: var(--o-color-control3-light);
  --cascader-option-icon-size: var(--o-icon_size_control-xs);
  --cascader-option-gap: 2px;
}

.o-cascader {
  height: var(--cascader-height);
}

.o-cascader-panel {
  position: relative;
  display: inline-flex;
  height: calc(var(--cascader-height) - 2 * var(--scroller-padding));
}

.o-cascader-options {
  list-style: none;
  margin: 0;
  padding: 0 calc(var(--cascader-options-gap) / 2);
  min-width: 144px;
  max-width: 192px;
  height: 100%;
  overflow-y: auto;
}
.o-cascader-options + .o-cascader-options {
  border-left: 1px solid var(--cascader-options-bd-clor);
}
.o-cascader-options:first-child {
  padding-left: 0;
}
.o-cascader-options:last-child {
  padding-right: 0;
}

.o-cascader-option {
  display: flex;
  align-items: center;
  padding: var(--cascader-option-padding);
  color: var(--cascader-option-color);
  border-radius: var(--cascader-option-radius);
  background-color: var(--cascader-option-bg-color);
  transition: background-color var(--o-duration-s) var(--o-easing-standard);
  cursor: pointer;
}
@media (hover: hover) {
  .o-cascader-option:hover {
    color: var(--cascader-option-color-hover);
    background-color: var(--cascader-option-bg-color-hover);
  }
}

.o-cascader-option + .o-cascader-option {
  margin-top: var(--cascader-option-gap);
}

.o-cascader-option-label {
  font-size: var(--cascader-option-text-size);
  line-height: var(--cascader-option-text-height);
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.o-cascader-option-arrow {
  font-size: var(--cascader-option-icon-size);
  margin-left: auto;
}

.o-cascader-option-selected {
  color: var(--cascader-option-color-selected);
  background-color: var(--cascader-option-bg-color-selected);
  font-weight: 500;
}
@media (hover: hover) {
  .o-cascader-option-selected:hover {
    color: var(--cascader-option-color-selected);
    background-color: var(--cascader-option-bg-color-selected);
  }
}

.o-flex {
  --flex-gap-x: 0px;
  --flex-gap-y: 0px;
}

.o-row {
  display: flex;
  --col-gap-x: calc(var(--row-gap-x) / 2);
  --col-gap-y: var(--row-gap-y);
  --row-shift-x: calc(-1 * var(--col-gap-x));
  --row-shift-y: calc(-1 * var(--col-gap-y));
  margin-left: var(--row-shift-x);
  margin-right: var(--row-shift-x);
  margin-bottom: var(--row-shift-y);
}
.o-row > * {
  padding-left: var(--col-gap-x);
  padding-right: var(--col-gap-x);
  margin-bottom: var(--col-gap-y);
  flex: 1 0 auto;
}

.o-col {
  flex: var(--col-flex);
}

@media (max-width: 1440px) {
  .o-row-laptop {
    --col-gap-x: calc(var(--row-laptop-gap-x) / 2);
    --col-gap-y: var(--row-laptop-gap-y);
  }
  .o-col-laptop {
    flex: var(--col-laptop-flex);
  }
}
@media (max-width: 1200px) {
  .o-row-pad {
    --col-gap-x: calc(var(--row-pad-gap-x) / 2);
    --col-gap-y: var(--row-pad-gap-y);
  }
  .o-col-pad {
    flex: var(--col-pad-flex);
  }
}
@media (max-width: 840px) {
  .o-row-pad-v {
    --col-gap-x: calc(var(--row-pad-v-gap-x) / 2);
    --col-gap-y: var(--row-pad-v-gap-y);
  }
  .o-col-pad-v {
    flex: var(--col-pad-v-flex);
  }
}
@media (max-width: 600px) {
  .o-row-phone {
    --col-gap-x: calc(var(--row-phone-gap-x) / 2);
    --col-gap-y: var(--row-phone-gap-y);
  }
  .o-col-phone {
    flex: var(--col-phone-flex);
  }
}
.o-result {
  --result-image-width: 320px;
  --result-image-height: 280px;
  --result-image-gap: 16px;
  --result-icon-size: var(--o-icon_size_control-xl);
  --result-icon-gap: 12px;
  --result-title-color: var(--o-color-info1);
  --result-title-text-size: var(--o-font_size-h2);
  --result-title-text-height: var(--o-line_height-h2);
  --result-desc-color: var(--o-color-info3);
  --result-desc-text-size: var(--o-font_size-text1);
  --result-desc-text-height: var(--o-line_height-text1);
  --result-desc-gap: 12px;
  --result-extra-gap: 24px;
}

.o-result-info {
  --result-icon-color: var(--o-color-primary1);
}

.o-result-success {
  --result-icon-color: var(--o-color-success1);
}

.o-result-warning {
  --result-icon-color: var(--o-color-warning1);
}

.o-result-danger {
  --result-icon-color: var(--o-color-danger1);
}

.o-result {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.o-result-image {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  width: var(--result-image-width);
  height: var(--result-image-height);
  margin-bottom: var(--result-image-gap);
}
.o-result-image > * {
  width: 100%;
  height: 100%;
}

.o-result-header {
  display: flex;
  align-items: center;
  justify-content: center;
}

.o-result-icon {
  width: var(--result-icon-size);
  height: var(--result-icon-size);
  font-size: var(--result-icon-size);
  color: var(--result-icon-color);
  margin-right: var(--result-icon-gap);
}

.o-result-title {
  color: var(--result-title-color);
  font-size: var(--result-title-text-size);
  line-height: var(--result-title-text-height);
  font-weight: 500;
}

.o-result-description {
  color: var(--result-desc-color);
  font-size: var(--result-desc-text-size);
  line-height: var(--result-desc-text-height);
  margin-top: var(--result-desc-gap);
}

.o-result-extra {
  margin-top: var(--result-extra-gap);
}

.o-result-icon-custom {
  width: auto;
  height: auto;
}

@media (min-width: 1201px) and (max-width: 1440px) {
  .o-result {
    --result-image-width: 160px;
    --result-image-height: 140px;
    --result-image-gap: 8px;
    --result-icon-size: var(--o-icon_size_control-l);
    --result-title-text-size: var(--o-font_size-text2);
    --result-title-text-height: var(--o-line_height-text2);
    --result-desc-text-size: var(--o-font_size-tip1);
    --result-desc-text-height: var(--o-line_height-tip1);
    --result-desc-gap: 8px;
  }
}
@media (max-width: 1200px) {
  .o-result {
    --result-image-width: 160px;
    --result-image-height: 140px;
    --result-image-gap: 8px;
    --result-icon-size: 48px;
    --result-icon-gap: 8px;
    --result-title-text-size: var(--o-font_size-text2);
    --result-title-text-height: var(--o-line_height-text2);
    --result-desc-text-size: var(--o-font_size-tip1);
    --result-desc-text-height: var(--o-line_height-tip1);
    --result-desc-gap: 8px;
  }
  .o-result-header {
    flex-direction: column;
  }
  .o-result-icon {
    margin-right: 0;
    margin-bottom: var(--result-icon-gap);
  }
}
.o-scrollbar {
  --scrollbar-delay: 16ms;
  --scrollbar-height: 90%;
  --scrollbar-y-top: 0;
  --scrollbar-y-bottom: 0;
  --scrollbar-y-right: 0;
  --scrollbar-y-left: auto;
  --scrollbar-x-left: 0;
  --scrollbar-x-right: 0;
  --scrollbar-x-top: auto;
  --scrollbar-x-bottom: 0;
  --scrollbar-bg-color: transparent;
  --scrollbar-track-bg-color: var(--o-color-control4);
  --scrollbar-track-width: 6px;
  --scrollbar-thumb-bg-color: var(--o-color-control1);
  --scrollbar-thumb-bg-color-hover: var(--o-color-control2);
  --scrollbar-thumb-width: 6px;
  --scrollbar-thumb-width-hover: 10px;
  --scrollbar-thumb-radius: 10px;
  --scrollbar-width: 16px;
  --scrollbar-thumb-min-size: 10px;
}

.o-scrollbar-hover-show {
  --scrollbar-delay: 100ms;
}

.o-scrollbar-both {
  --scrollbar-height: min(calc(100% - var(--scrollbar-width) * 2), 90%);
}

.o-scrollbar-small {
  --scrollbar-track-width: 3px;
  --scrollbar-thumb-width: 3px;
  --scrollbar-thumb-width-hover: 6px;
  --scrollbar-thumb-radius: 6px;
  --scrollbar-width: 12px;
}

/*
 * ::-webkit-scrollbar 兼容chrome 4+, edge 79+, safari 4+, opera 15+, 
 * scrollbar-width 兼容firefox 64+
 */
.o-scrollbar {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  pointer-events: none;
}
.o-scrollbar > .o-scrollbar-dragging {
  opacity: 1;
}
.o-scrollbar.o-scrollbar-visible-x > .o-scrollbar-x {
  opacity: 1;
  pointer-events: auto;
}
.o-scrollbar.o-scrollbar-visible-y > .o-scrollbar-y {
  opacity: 1;
  pointer-events: auto;
}
.o-scrollbar.o-scrollbar-visible .o-scrollbar-rail {
  opacity: 1;
  pointer-events: auto;
}

.o-scrollbar-rail {
  opacity: 0;
  pointer-events: none;
  position: absolute;
  background-color: var(--scrollbar-bg-color);
  transition: opacity var(--o-duration-m1) var(--o-easing-standard-in) var(--scrollbar-delay);
}
@media (hover: hover) {
  .o-scrollbar-rail:hover .o-scrollbar-x-thumb-bar {
    height: var(--scrollbar-thumb-width-hover);
    background-color: var(--scrollbar-thumb-bg-color-hover);
  }
  .o-scrollbar-rail:hover .o-scrollbar-y-thumb-bar {
    width: var(--scrollbar-thumb-width-hover);
    background-color: var(--scrollbar-thumb-bg-color-hover);
  }
  .o-scrollbar-rail:hover .o-scrollbar-track {
    opacity: 1;
  }
}

.o-scrollbar-y {
  top: var(--scrollbar-y-top);
  bottom: var(--scrollbar-y-bottom);
  margin: auto;
  left: var(--scrollbar-y-left);
  right: var(--scrollbar-y-right);
  width: var(--scrollbar-width);
  height: var(--scrollbar-height);
}

.o-scrollbar-x {
  left: var(--scrollbar-x-left);
  right: var(--scrollbar-x-right);
  margin: auto;
  top: var(--scrollbar-x-top);
  bottom: var(--scrollbar-x-bottom);
  width: var(--scrollbar-height);
  height: var(--scrollbar-width);
}

.o-scrollbar-dragging .o-scrollbar-track {
  opacity: 1;
}

.o-scrollbar-track {
  position: relative;
  z-index: 0;
  border-radius: var(--scrollbar-thumb-radius);
  background-color: var(--scrollbar-track-bg-color);
  opacity: 0;
  transition: opacity var(--o-duration-m1) var(--o-easing-standard-in) var(--scrollbar-delay);
}

.o-scrollbar-y-track {
  width: var(--scrollbar-track-width);
  height: 100%;
  left: 50%;
  margin-left: calc(var(--scrollbar-track-width) / -2);
}

.o-scrollbar-x-track {
  height: var(--scrollbar-track-width);
  width: 100%;
  top: 50%;
  margin-top: calc(var(--scrollbar-track-width) / -2);
}

.o-scrollbar-thumb {
  position: absolute;
  z-index: 1;
}

.o-scrollbar-y-thumb {
  top: 0;
  left: 0;
  right: 0;
  min-height: var(--scrollbar-thumb-min-size);
}

.o-scrollbar-x-thumb {
  left: 0;
  top: 0;
  bottom: 0;
  min-width: var(--scrollbar-thumb-min-size);
  display: flex;
}

.o-scrollbar-x-thumb-bar,
.o-scrollbar-y-thumb-bar {
  background-color: var(--scrollbar-thumb-bg-color);
  border-radius: var(--scrollbar-thumb-radius);
  transition: all var(--o-duration-m1) var(--o-easing-standard-in) var(--scrollbar-delay);
  margin: auto;
}
.o-scrollbar-x-thumb-bar.is-dragging,
.o-scrollbar-y-thumb-bar.is-dragging {
  background-color: var(--scrollbar-thumb-bg-color-hover);
}

.o-scrollbar-x-thumb-bar {
  width: 100%;
  height: var(--scrollbar-thumb-width);
}
.o-scrollbar-x-thumb-bar.is-dragging {
  height: var(--scrollbar-thumb-width-hover);
}

.o-scrollbar-y-thumb-bar {
  width: var(--scrollbar-thumb-width);
  height: 100%;
}
.o-scrollbar-y-thumb-bar.is-dragging {
  width: var(--scrollbar-thumb-width-hover);
}

.o-scrollbar-wrapper {
  position: relative;
}

.o-scrollbar-container {
  overflow: auto;
  scrollbar-width: none;
}
.o-scrollbar-container::-webkit-scrollbar {
  display: none;
}

.o-scroller {
  position: relative;
  display: flex;
}

.o-scroller-container {
  flex: 1;
  padding: var(--scroller-padding);
  overflow: auto;
  scrollbar-width: none;
}
.o-scroller-container::-webkit-scrollbar {
  display: none;
}
.o-scroller-container.is-x-disabled {
  overflow-x: hidden;
}
.o-scroller-container.is-y-disabled {
  overflow-y: hidden;
}

.o-scrollbar-to-body {
  position: fixed;
  z-index: var(--o-z-index-max);
}

.o-upload {
  --upload-icon-size: var(--o-icon_size_control-xs);
  --upload-icon-size-l: var(--o-icon_size_control-m);
  --upload-icon-size-xl: var(--o-icon_size_control-l);
  --upload-color: var(--o-color-info1);
  --upload-color-error: var(--o-color-danger1);
  --upload-color-disabled: var(--o-color-info4);
  --upload-item-bg-hover: var(--o-color-control2-light);
  --upload-item-radius: var(--o-radius_control-s);
  --upload-progress-height: 1px;
  --upload-progress-radius: var(--upload-progress-height);
  --upload-progress-bg-color: var(--o-color-control3-light);
  --upload-progress-value-bg-color: var(--o-color-primary1);
  --upload-drag-padding: 32px 24px;
  --upload-drag-width: 100%;
  --upload-drag-radius: var(--o-radius_control-s);
  --upload-drag-color: var(--o-color-info2);
  --upload-drag-color-disabled: var(--o-color-info4);
  --upload-drag-bg-color: var(--o-color-control-light);
  --upload-drag-bg-color-hover: var(--o-color-control-light);
  --upload-drag-bg-color-active: var(--o-color-control-light);
  --upload-drag-bg-color-dragging: var(--o-color-primary4-light);
  --upload-drag-bg-color-disabled: var(--o-color-control4-light);
  --upload-drag-bd: 1px solid var(--o-color-control1);
  --upload-drag-bd-hover: 1px dashed var(--o-color-primary2);
  --upload-drag-bd-active: 1px dashed var(--o-color-primary3);
  --upload-drag-bd-dragging: 1px dashed var(--o-color-primary2);
  --upload-drag-bd-disabled: 1px dashed var(--o-color-control4);
  --upload-card-radius: var(--o-radius_control-s);
  --upload-card-width: 120px;
  --upload-card-height: var(--upload-card-width);
  --upload-card-gap: 8px;
  --upload-card-bd: 1px solid var(--o-color-control1);
  --upload-card-bd-hover: 1px solid var(--o-color-control2);
  --upload-card-bd-disabled: 1px solid var(--o-color-control4);
  --upload-card-bd-error: 1px solid var(--o-color-danger1);
  --upload-card-bg-color: var(--o-color-control-light);
  --upload-card-bg-color-hover: var(--o-color-control-light);
  --upload-card-bg-color-disabled: var(--o-color-control4-light);
  --upload-card-img-fit: cover;
  --upload-card-mask: var(--o-color-mask1);
  --upload-card-icon-color: var(--o-color-info1-inverse);
  --upload-card-icon-color-hover: var(--o-color-info2-inverse);
  --upload-card-icon-color-active: var(--o-color-info3-inverse);
}

.o-upload-select {
  position: relative;
  cursor: pointer;
}

.o-upload-select-input {
  position: relative;
}

.o-upload-input {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  opacity: 0;
}

.o-upload-item {
  position: relative;
}

.o-upload-progress {
  position: absolute;
  height: var(--upload-progress-height);
  background-color: var(--upload-progress-bg-color);
  border-radius: var(--upload-progress-radius);
  overflow: hidden;
}

.o-upload-progress-bar {
  width: 0%;
  height: 100%;
  background-color: var(--upload-progress-value-bg-color);
  border-radius: var(--upload-progress-radius);
  transition: width var(--o-easing-linear) var(--o-duration-s);
}

.o-upload-row-item {
  display: flex;
  margin-top: 8px;
  padding: 0 4px;
  border-radius: var(--upload-item-radius);
  color: var(--upload-color);
  transition: background-color var(--o-easing-standard-in) var(--o-duration-m1);
}
@media (hover: hover) {
  .o-upload-row-item:hover {
    background-color: var(--upload-item-bg-hover);
  }
  .o-upload-row-item:hover .o-upload-icon-hover-in {
    opacity: 1;
  }
}
.o-upload-row-item.is-error .o-upload-icon-hover-in {
  opacity: 1;
}
.o-upload-row-item + .o-upload-item-tip {
  padding-left: 24px;
}

.o-upload-row-label {
  font-size: var(--o-font_size-tip1);
  line-height: var(--o-line_height-tip1);
  margin-right: auto;
  padding: 5px 0;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
}

.o-upload-icon-link {
  font-size: var(--upload-icon-size);
  display: flex;
  align-items: center;
  margin-right: 8px;
}

.o-upload-row-icons {
  display: flex;
  margin-left: 16px;
  font-size: var(--upload-icon-size);
}
.o-upload-row-icons > * + * {
  margin-left: 8px;
}

.o-upload-row-icon {
  display: flex;
  align-items: center;
  justify-content: center;
}

.o-upload-icon-hover-in {
  opacity: 0;
  transition: opacity var(--o-easing-standard-in) var(--o-duration-m1);
}

.o-upload-icon-loading {
  margin-left: 8px;
}

.o-upload-select-extra {
  font-size: var(--o-font_size-tip2);
  line-height: var(--o-line_height-tip2);
  color: var(--o-color-info4);
  margin-top: 8px;
}

.o-upload-item-tip {
  font-size: var(--o-font_size-tip2);
  line-height: var(--o-line_height-tip2);
  color: var(--o-color-info1);
  display: flex;
  margin-top: 4px;
}
.o-upload-item-tip.is-error {
  color: var(--upload-color-error);
}

.o-upload-row-progress {
  left: 4px;
  right: 4px;
  bottom: 0;
}

.o-upload-card-add {
  border: var(--upload-card-bd);
  background-color: var(--upload-card-bg-color);
  width: var(--upload-card-width);
  height: var(--upload-card-height);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--upload-card-radius);
  text-align: center;
  color: var(--upload-color);
  cursor: pointer;
  font-size: var(--o-font_size-tip1);
  line-height: var(--o-line_height-text1);
}
@media (hover: hover) {
  .o-upload-card-add:hover {
    border: var(--upload-card-bd-hover);
    background-color: var(--upload-card-bg-color-hover);
  }
}
.o-upload-card-add.is-disabled {
  cursor: not-allowed;
  color: var(--upload-color-disabled);
  border: var(--upload-card-bd-disabled);
  background-color: var(--upload-card-bg-color-disabled);
}

.o-upload-card-add-icon {
  font-size: var(--upload-icon-size-l);
  vertical-align: top;
}
.o-upload-card-add-icon + .o-upload-card-label {
  margin-top: 8px;
}

.o-upload-card-list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: calc(var(--upload-card-gap) * -1);
  position: relative;
}

.o-upload-card-progress {
  left: 8px;
  right: 8px;
  bottom: 4px;
}

.o-upload-item {
  margin-right: var(--upload-card-gap);
  margin-bottom: var(--upload-card-gap);
}

.o-upload-card-item.is-error .o-upload-card-file {
  border: var(--upload-card-bd-error);
}

.o-upload-card-item-wrap {
  position: relative;
  border-radius: var(--upload-card-radius);
}

.o-upload-card-file {
  border: var(--upload-card-bd);
  background-color: var(--upload-card-bg-color);
  width: var(--upload-card-width);
  height: var(--upload-card-height);
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  border-radius: inherit;
}

.o-upload-thumbnail {
  width: 100%;
  height: 100%;
  object-fit: var(--upload-card-img-fit);
  border-radius: inherit;
}

.o-upload-icon-file {
  font-size: var(--upload-icon-size-xl);
}

.o-upload-card-icons {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--upload-card-mask);
  border-radius: inherit;
  opacity: 0;
  transition: opacity var(--o-easing-standard-in) var(--o-duration-m1);
}
@media (hover: hover) {
  .o-upload-card-icons:hover {
    opacity: 1;
  }
}
.o-upload-card-icons.is-show {
  opacity: 1;
}
.o-upload-card-icons > * + * {
  margin-left: 12px;
}
.o-upload-card-icons > .o-upload-icon-btn {
  cursor: pointer;
  color: var(--o-color-info1-inverse);
  font-size: var(--upload-icon-size-l);
}
@media (hover: hover) {
  .o-upload-card-icons > .o-upload-icon-btn:hover:hover {
    color: var(--upload-card-icon-color-hover);
  }
}
.o-upload-card-icons > .o-upload-icon-btn:active {
  color: var(--upload-card-icon-color-active);
}

.o-upload-drag {
  padding: var(--upload-drag-padding);
  font-size: var(--o-font_size-tip1);
  line-height: var(--o-line_height-text1);
  color: var(--upload-drag-color);
  background-color: var(--upload-drag-bg-color);
  border: var(--upload-drag-bd);
  text-align: center;
  width: var(--upload-drag-width);
  border-radius: var(--upload-drag-radius);
  text-align: center;
  transition: all var(--o-easing-standard) var(--o-duration-m2);
}
@media (hover: hover) {
  .o-upload-drag:hover {
    border: var(--upload-drag-bd-hover);
    background-color: var(--upload-drag-bg-color-hover);
  }
}
.o-upload-drag:active {
  border: var(--upload-drag-bd-active);
  background-color: var(--upload-drag-bg-color-active);
}

.o-upload-drag-dragging, .o-upload-drag-dragging:active {
  border: var(--upload-drag-bd-dragging);
  background-color: var(--upload-drag-bg-color-dragging);
}
@media (hover: hover) {
  .o-upload-drag-dragging:hover {
    border: var(--upload-drag-bd-dragging);
    background-color: var(--upload-drag-bg-color-dragging);
  }
}

.o-upload-drag-disabled {
  cursor: not-allowed;
  color: var(--upload-drag-color-disabled);
  border: var(--upload-drag-bd-disabled);
  background-color: var(--upload-drag-bg-color-disabled);
}
@media (hover: hover) {
  .o-upload-drag-disabled:hover {
    cursor: not-allowed;
    color: var(--upload-drag-color-disabled);
    border: var(--upload-drag-bd-disabled);
    background-color: var(--upload-drag-bg-color-disabled);
  }
}

.o-upload-drag-icon {
  font-size: var(--upload-icon-size-l);
  vertical-align: top;
}
.o-upload-drag-icon + .o-upload-drag-label {
  margin-top: 12px;
}

.o-upload-list-picture-card {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: calc(var(--upload-card-gap) * -1);
  position: relative;
}
.o-upload-list-picture-card .o-upload-item-tip {
  padding-left: 0;
  margin-bottom: 8px;
}
.o-upload-list-picture-card .o-upload-item-progress {
  left: 0;
  right: 0;
}

.o-upload-item-picture-card {
  border: var(--upload-card-border);
  width: var(--upload-card-width);
  height: var(--upload-card-height);
  flex-shrink: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: var(--upload-card-radius);
  position: relative;
  margin-right: var(--upload-card-gap);
  margin-bottom: var(--upload-card-gap);
  margin-top: 0;
}
.o-upload-item-picture-card.is-error {
  border: var(--upload-card-border-error);
}

.o-upload-thumbnail {
  width: 100%;
  height: 100%;
  object-fit: var(--upload-card-img-fit);
  border-radius: inherit;
}

.o-upload-icon-file {
  font-size: var(--upload-icon-size-xl);
}

.o-upload-card-icons {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--o-color-info1-inverse);
  font-size: var(--upload-icon-size-l);
  background-color: var(--upload-card-mask);
  opacity: 0;
  transition: opacity var(--o-easing-standard-in) var(--o-duration-m1);
}
.o-upload-card-icons:hover, .o-upload-card-icons.is-show {
  opacity: 1;
}
.o-upload-card-icons > * + * {
  margin-left: 12px;
}
.o-upload-card-icons > .o-upload-icon-btn {
  cursor: pointer;
}
.o-upload-card-icons > .o-upload-icon-btn:hover {
  color: var(--upload-card-icon-color-hover);
}
.o-upload-card-icons > .o-upload-icon-btn:active {
  color: var(--upload-card-icon-color-active);
}

@media (max-width: 1200px) {
  .o-upload-card-icons {
    opacity: 1;
  }
}
@media (max-width: 1440px) {
  .o-upload {
    --upload-drag-padding: 16px 8px;
  }
}
.o-toggle {
  --toggle-size: var(--o-control_size-m);
  --toggle-text-size: var(--o-font_size-text1);
  --toggle-text-height: var(--o-line_height-text1);
  --toggle-radius: var(--o-radius_control-s);
  --toggle-gap: 4px;
  --toggle-icon-size: var(--o-icon_size_control-m);
  --toggle-padding: 0 15px;
  --toggle-color: var(--o-color-info1);
  --toggle-color-hover: var(--o-color-info1);
  --toggle-color-active: var(--o-color-info1);
  --toggle-color-disabled: var(--o-color-info4);
  --toggle-bg-color: var(--o-color-control2-light);
  --toggle-bg-color-hover: var(--o-color-control2-light);
  --toggle-bg-color-active: var(--o-color-control3-light);
  --toggle-bg-color-disabled: transparent;
  --toggle-bd-color: var(--o-color-fill1);
  --toggle-bd-color-hover: transparent;
  --toggle-bd-color-active: transparent;
  --toggle-bd-color-disabled: transparent;
  --toggle-color-checked: var(--o-color-primary1);
  --toggle-color-checked-hover: var(--o-color-primary2);
  --toggle-color-checked-active: var(--o-color-primary3);
  --toggle-color-checked-disabled: var(--o-color-primary4);
  --toggle-bg-color-checked: transparent;
  --toggle-bg-color-checked-hover: transparent;
  --toggle-bg-color-checked-active: transparent;
  --toggle-bg-color-checked-disabled: transparent;
  --toggle-bd-color-checked: var(--o-color-primary1);
  --toggle-bd-color-checked-hover: var(--o-color-primary2);
  --toggle-bd-color-checked-active: var(--o-color-primary3);
  --toggle-bd-color-checked-disabled: var(--o-color-primary4);
}

.o-toggle-round-pill {
  --toggle-radius: var(--o-control_size-l);
}

.o-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: var(--toggle-size);
  max-width: var(--toggle-max-width);
  min-width: var(--toggle-min-width);
  padding: var(--toggle-padding);
  transition: all var(--o-duration-s) var(--o-easing-standard);
  background-color: var(--toggle-bg-color);
  border: 1px solid var(--toggle-bd-color);
  white-space: nowrap;
  border-radius: var(--toggle-radius);
  cursor: pointer;
}
@media (hover: hover) {
  .o-toggle:hover {
    color: var(--toggle-color-hover);
    background-color: var(--toggle-bg-color-hover);
    border: 1px solid var(--toggle-bd-color-hover);
  }
}
.o-toggle:active {
  color: var(--toggle-color-active);
  background-color: var(--toggle-bg-color-active);
  border: 1px solid var(--toggle-bd-color-active);
}

.o-toggle-checked {
  background-color: var(--toggle-bg-color-checked);
  color: var(--toggle-color-checked);
  border: 1px solid var(--toggle-bd-color-checked);
}
@media (hover: hover) {
  .o-toggle-checked:hover {
    color: var(--toggle-color-checked-hover);
    background-color: var(--toggle-bg-color-checked-hover);
    border: 1px solid var(--toggle-bd-color-checked-hover);
  }
}
.o-toggle-checked:active {
  color: var(--toggle-color-checked-active);
  background-color: var(--toggle-bg-color-checked-active);
  border: 1px solid var(--toggle-bd-color-checked-active);
}

.o-toggle-disabled, .o-toggle-disabled:hover, .o-toggle-disabled.active {
  cursor: not-allowed;
  color: var(--toggle-color-disabled);
  background-color: var(--toggle-bg-color-disabled);
  border-color: var(--toggle-bd-color-disabled);
}

.o-toggle-checked.o-toggle-disabled, .o-toggle-checked.o-toggle-disabled:hover, .o-toggle-checked.o-toggle-disabled.active {
  color: var(--toggle-color-checked-disabled);
  background-color: var(--toggle-bg-color-checked-disabled);
  border-color: var(--toggle-bd-color-checked-disabled);
}

.o-toggle-prefix {
  display: inline-flex;
  align-items: center;
  font-size: var(--toggle-icon-size);
  margin-right: var(--toggle-gap);
}

@media (min-width: 1201px) and (max-width: 1440px) {
  .o-toggle {
    --toggle-text-size: var(--o-font_size-tip1);
    --toggle-text-height: var(--o-line_height-tip1);
    --toggle-icon-size: var(--o-icon_size_control-xs);
  }
}
@media (max-width: 1200px) {
  .o-toggle {
    --toggle-padding: 0 11px;
    --toggle-text-size: var(--o-font_size-tip2);
    --toggle-text-height: var(--o-line_height-tip2);
    --toggle-icon-size: var(--o-icon_size_control-xs);
  }
}
.o-anchor {
  position: relative;
  display: inline-flex;
  align-items: stretch;
}

.o-anchor-line {
  flex-shrink: 0;
  position: relative;
  width: var(--anchor-line-width);
  border-radius: var(--anchor-line-width);
  margin-right: var(--anchor-line-gap);
  margin-left: calc(var(--anchor-circle-size) / 2);
}

.o-anchor-indicator {
  position: absolute;
  display: flex;
  align-items: center;
  width: var(--anchor-indicator-width);
  background-color: transparent;
  opacity: 0;
  transition: top var(--o-easing-standard-in) var(--o-duration-m1);
}
.o-anchor-indicator::after {
  content: "";
  width: var(--anchor-indicator-width);
  height: var(--anchor-indicator-height);
  border-radius: var(--anchor-line-width);
  background-color: var(--o-color-primary1);
}

.o-anchor-item {
  min-width: var(--anchor-item-min-width);
  width: var(--anchor-item-width);
}

.o-anchor-item-link {
  --anchor-item-link-left-extra-indent: calc(var(--anchor-item-text-indent) * var(--anchor-item-depth));
  --anchor-circle-top: calc(var(--anchor-item-link-padding-v) + var(--anchor-item-link-text-height) / 2 - var(--anchor-circle-size) / 2);
  cursor: pointer;
  display: inline-flex;
  text-decoration: none;
  width: 100%;
  color: var(--anchor-item-link-color, inherit);
  font-size: var(--anchor-item-link-text-size);
  line-height: var(--anchor-item-link-text-height);
  padding: var(--anchor-item-link-padding-v) var(--anchor-item-link-padding-h);
  padding-left: calc(var(--anchor-item-link-left-extra-indent) + var(--anchor-item-link-padding-h));
  border-radius: var(--anchor-item-link-radius);
  transition: background-color var(--o-duration-s) var(--o-easing-standard);
  word-break: break-word;
  position: relative;
}
@media (hover: hover) {
  .o-anchor-item-link:hover {
    color: var(--anchor-item-link-color-hover);
  }
}
.o-anchor-item-link:active {
  color: var(--anchor-item-link-color-press);
}
.o-anchor-item-link.disabled {
  color: var(--anchor-item-link-color-disabled);
}
@media (hover: hover) {
  .o-anchor-item-link.disabled:hover {
    cursor: not-allowed;
  }
}

.o-anchor-item:has(.o-anchor-item-link.is-active) > .o-anchor-item-link:not(.disabled),
.o-anchor-item-link.is-active:not(.disabled) {
  font-weight: 600;
  color: var(--anchor-item-link-color-active);
}
.o-anchor-item:has(.o-anchor-item-link.is-active) > .o-anchor-item-link:not(.disabled) .o-anchor-item-circle,
.o-anchor-item-link.is-active:not(.disabled) .o-anchor-item-circle {
  border-color: currentColor;
}

.o-anchor-item-title {
  max-height: calc(var(--anchor-item-max-row) * var(--anchor-item-link-text-height));
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: var(--anchor-item-max-row);
}

.o-anchor-item-sub-link {
  font-size: var(--anchor-item-sub-link-text-size);
  line-height: var(--anchor-item-sub-link-text-height);
  padding-top: var(--anchor-item-sub-link-padding-v);
  padding-bottom: var(--anchor-item-sub-link-padding-v);
}

.o-anchor-item-lines {
  width: var(--anchor-line-width);
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(0px - var(--anchor-line-gap) - var(--anchor-line-width));
}

.o-anchor-item-top-line,
.o-anchor-item-bottom-line {
  background-color: var(--anchor-line-bg-color);
  position: absolute;
  left: 0;
  right: 0;
}

.o-anchor-item-top-line {
  top: 0;
  bottom: 50%;
}

.o-anchor-item-bottom-line {
  top: 50%;
  bottom: 0;
}

.o-anchor-item-link:not(.o-anchor-item-sub-link) .o-anchor-item-circle {
  position: absolute;
  height: var(--anchor-circle-size);
  width: var(--anchor-circle-size);
  top: var(--anchor-circle-top);
  left: 50%;
  transform: translateX(-50%);
  border: var(--anchor-circle-ring-width) solid var(--anchor-line-bg-color);
  border-radius: 50%;
}
.o-anchor-item-link:not(.o-anchor-item-sub-link) .o-anchor-item-top-line {
  bottom: unset;
  height: calc(var(--anchor-circle-top) - var(--anchor-circle-gap));
}
.o-anchor-item-link:not(.o-anchor-item-sub-link) .o-anchor-item-bottom-line {
  top: calc(var(--anchor-circle-top) + var(--anchor-circle-size) + var(--anchor-circle-gap));
}
@media (hover: hover) {
  .o-anchor-item-link:not(.o-anchor-item-sub-link):hover .o-anchor-item-circle {
    border-color: currentColor;
  }
}

.o-anchor-items > .o-anchor-item:first-child > .o-anchor-item-link .o-anchor-item-top-line {
  display: none;
}
.o-anchor-items > .o-anchor-item:last-child:not(.with-children) > .o-anchor-item-link .o-anchor-item-bottom-line {
  display: none;
}

@media (hover: hover) {
  .o-anchor-menu .o-anchor-item-sub-link:hover {
    background-color: var(--anchor-item-bg-color-hover);
  }
}
.o-anchor-menu .o-anchor-item-sub-link:active {
  background-color: var(--anchor-item-bg-color-press);
}

.o-anchor-link-popover-wrapper {
  max-width: var(--anchor-popover-max-width);
}

.o-anchor {
  --anchor-line-width: 1px;
  --anchor-line-bg-color: var(--o-color-control4);
  --anchor-line-gap: var(--o-gap-2);
  --anchor-indicator-width: 2px;
  --anchor-indicator-height: 12px;
  --anchor-indicator-bg-color: var(--o-color-primary1);
  --anchor-circle-size: 8px;
  --anchor-circle-ring-width: 1.5px;
  --anchor-circle-gap: 8px;
}

.o-anchor-item {
  --anchor-item-min-width: 144px;
  --anchor-item-link-color: var(--o-color-info2);
  --anchor-item-link-color-active: var(--o-color-primary1);
  --anchor-item-link-color-hover: var(--o-color-primary2);
  --anchor-item-link-color-press: var(--o-color-primary3);
  --anchor-item-link-color-disabled: var(--o-color-info4);
  --anchor-item-max-row: 2;
  --anchor-item-link-text-size: var(--o-font_size-text1);
  --anchor-item-link-text-height: var(--o-line_height-text1);
  --anchor-item-sub-link-text-size: var(--o-font_size-tip1);
  --anchor-item-sub-link-text-height: var(--o-line_height-tip1);
  --anchor-item-link-padding-h: 8px;
  --anchor-item-link-padding-v: 8px;
  --anchor-item-sub-link-padding-v: 5px;
  --anchor-item-link-radius: var(--o-radius_control-s);
  --anchor-item-text-indent: 12px;
}

.o-anchor-small .o-anchor-item {
  --anchor-item-link-text-size: var(--o-font_size-tip1);
  --anchor-item-link-text-height: var(--o-line_height-tip1);
  --anchor-item-sub-link-text-size: var(--o-font_size-tip2);
  --anchor-item-sub-link-text-height: var(--o-line_height-tip2);
  --anchor-item-link-padding-v: 5px;
  --anchor-item-sub-link-padding-v: 5px;
}

.o-anchor-menu .o-anchor-item {
  --anchor-item-link-text-size: var(--o-font_size-tip1);
  --anchor-item-link-text-height: var(--o-line_height-tip1);
  --anchor-item-sub-link-text-size: var(--o-font_size-tip1);
  --anchor-item-sub-link-text-height: var(--o-line_height-tip1);
  --anchor-item-link-padding-v: 5px;
  --anchor-item-sub-link-padding-v: 5px;
  --anchor-item-text-indent: 20px;
  --anchor-item-bg-color-hover: var(--o-color-control2-light);
  --anchor-item-bg-color-press: var(--o-color-control3-light);
}

.o-anchor-link-popover-wrapper {
  --anchor-popover-max-width: 200px;
}

@media (min-width: 0px) and (max-width: 1680px) {
  .o-anchor:not(.o-anchor-menu) .o-anchor-item {
    --anchor-item-link-text-size: var(--o-font_size-tip1);
    --anchor-item-link-text-height: var(--o-line_height-tip1);
    --anchor-item-sub-link-text-size: var(--o-font_size-tip2);
    --anchor-item-sub-link-text-height: var(--o-line_height-tip2);
    --anchor-item-link-padding-v: 5px;
    --anchor-item-sub-link-padding-v: 5px;
  }
}
@media (max-width: 840px) {
  .o-anchor-menu .o-anchor-item {
    --anchor-item-sub-link-text-size: var(--o-font_size-tip2);
    --anchor-item-sub-link-text-height: var(--o-line_height-tip2);
  }
}
.o-collapse {
  --collapse-radius: var(--o-radius_control-l);
  --collapse-bg-color: var(--o-color-fill2);
  --collapse-padding: 8px 32px;
  --collapse-division-color: var(--o-color-control4);
}

.o-collapse-item {
  --collapse-item-header-padding: 25px 0px;
  --collapse-item-title-color: var(--o-color-info1);
  --collapse-item-title-text-size: var(--o-font_size-h3);
  --collapse-item-title-text-height: var(--o-line_height-h3);
  --collapse-item-body-text-size: var(--o-font_size-text1);
  --collapse-item-body-text-height: var(--o-line_height-text1);
  --collapse-item-icon-color: var(--o-color-info1);
  --collapse-item-icon-size: var(--o-icon_size_control-m);
  --collapse-item-gap: 16px;
}

.o-collapse {
  background-color: var(--collapse-bg-color);
  padding: var(--collapse-padding);
  border-radius: var(--collapse-radius);
}

.o-collapse-item + .o-collapse-item {
  border-top: 1px solid var(--collapse-division-color);
}

.o-collapse-item-header {
  padding: var(--collapse-item-header-padding);
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  cursor: pointer;
}

.o-collapse-item-title {
  margin: 0;
  color: var(--collapse-item-title-color);
  font-size: var(--collapse-item-title-text-size);
  line-height: var(--collapse-item-title-text-height);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.o-collapse-item-icon {
  flex-shrink: 0;
  color: var(--collapse-item-icon-color);
  font-size: var(--collapse-item-icon-size);
  transform: rotate(90deg);
  transition: transform var(--o-duration-m2) var(--o-easing-standard);
}

.o-collapse-item-body {
  font-size: var(--collapse-item-body-text-size);
  line-height: var(--collapse-item-body-text-height);
  margin-bottom: var(--collapse-item-gap);
  overflow: hidden;
  transition: height var(--o-duration-m2) var(--o-easing-standard);
}

.o-collapse-item-expanded .o-collapse-item-title {
  font-weight: 500;
}
.o-collapse-item-expanded .o-collapse-item-icon {
  transform: rotate(-90deg);
}

@media (min-width: 1201px) and (max-width: 1440px) {
  .o-collapse {
    --collapse-padding: 8px 24px;
  }
  .o-collapse-item {
    --collapse-item-header-padding: 17px 0px;
    --collapse-item-title-text-size: var(--o-font_size-text2);
    --collapse-item-title-text-height: var(--o-line_height-text2);
    --collapse-item-body-text-size: var(--o-font_size-tip1);
    --collapse-item-body-text-height: var(--o-line_height-tip1);
    --collapse-item-icon-color: var(--o-color-info1);
    --collapse-item-icon-size: var(--o-icon_size_control-m);
    --collapse-item-gap: 12px;
  }
}
@media (max-width: 1200px) {
  .o-collapse {
    --collapse-radius: var(--o-radius_control-s);
    --collapse-padding: 0px 16px;
  }
  .o-collapse-item {
    --collapse-item-header-padding: 16px 0px;
    --collapse-item-title-text-size: var(--o-font_size-text1);
    --collapse-item-title-text-height: var(--o-line_height-text1);
    --collapse-item-body-text-size: var(--o-font_size-tip1);
    --collapse-item-body-text-height: var(--o-line_height-tip1);
    --collapse-item-icon-color: var(--o-color-info1);
    --collapse-item-icon-size: var(--o-icon_size_control-m);
    --collapse-item-gap: 12px;
  }
}
.o-skeleton {
  --skeleton-bg-color: var(--o-color-control2-light);
}

.o-skeleton-animation {
  --skeleton-bg-color: linear-gradient(90deg, var(--o-color-control2-light) 25%, var(--o-color-control3-light) 37%, var(--o-color-control2-light) 63%);
}

.o-skeleton-item {
  --skeleton-item-gap: 24px;
}

.o-skeleton-text {
  --skeleton-width: 100%;
  --skeleton-height: var(--o-font_size-text1);
  --skeleton-radius: var(--o-radius_control-xs);
  --skeleton-last-line-width: 50%;
  --skeleton-line-gap: calc(var(--o-line_height-text1) - var(--o-font_size-text1));
}

.o-skeleton-figure {
  --skeleton-width: 320px;
  --skeleton-height: 180px;
  --skeleton-radius: var(--o-radius_control-xs);
}

.o-skeleton-avatar {
  --skeleton-radius: var(--o-radius_control-xs);
}

.o-skeleton-avatar-large {
  --skeleton-width: 80px;
  --skeleton-height: 80px;
}

.o-skeleton-avatar-medium {
  --skeleton-width: 64px;
  --skeleton-height: 64px;
}

.o-skeleton-avatar-small {
  --skeleton-width: 40px;
  --skeleton-height: 40px;
}

.o-skeleton-avatar-mini {
  --skeleton-width: 24px;
  --skeleton-height: 24px;
}

.o-skeleton-round-pill {
  --skeleton-radius: var(--skeleton-height);
}

@keyframes o-skeleton-ani {
  0% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0 50%;
  }
}
.o-skeleton-text {
  list-style: none;
  margin: 0;
  padding: 0;
  width: var(--skeleton-width);
}

.o-skeleton-line {
  width: 100%;
  height: var(--skeleton-height);
  border-radius: var(--skeleton-radius);
  background: var(--skeleton-bg-color);
}

.o-skeleton-line:last-child:not(:first-child) {
  width: var(--skeleton-last-line-width);
}

.o-skeleton-line + .o-skeleton-line {
  margin-top: var(--skeleton-line-gap);
}

.o-skeleton-avatar,
.o-skeleton-figure {
  width: var(--skeleton-width);
  height: var(--skeleton-height);
  border-radius: var(--skeleton-radius);
  background: var(--skeleton-bg-color);
}

.o-skeleton-animation .o-skeleton-avatar,
.o-skeleton-animation .o-skeleton-figure,
.o-skeleton-animation .o-skeleton-line {
  background-size: 400% 100%;
  animation: o-skeleton-ani 1.4s var(--o-easing-linear) infinite;
}

.o-skeleton-item + .o-skeleton-item {
  margin-top: var(--skeleton-item-gap);
}

@media (max-width: 1440px) {
  .o-skeleton-avatar-large {
    --skeleton-width: 64px;
    --skeleton-height: 64px;
  }
  .o-skeleton-avatar-medium {
    --skeleton-width: 48px;
    --skeleton-height: 48px;
  }
  .o-skeleton-avatar-small {
    --skeleton-width: 32px;
    --skeleton-height: 32px;
  }
}
@media (max-width: 1200px) {
  .o-skeleton-avatar-medium {
    --skeleton-width: 40px;
    --skeleton-height: 40px;
  }
}
.o-virtual-list {
  display: block;
}

.o-virtual-list-wrapper {
  height: 100%;
  width: 100%;
  max-height: inherit;
  min-height: inherit;
  max-width: inherit;
  min-width: inherit;
  overflow: auto;
}

.o-virtual-body {
  overflow: hidden;
  height: var(--content-height);
}

.o-virtual-render-list {
  transform: translate3d(var(--offsetX, 0), var(--offsetY), 0);
}

.o-virtual-render-item {
  overflow: auto;
}