.el-pagination {
  padding: 10px !important;
}

.el-table td, .el-table th {
  padding: 8px 0 !important;
}

.el-table td .el-button--mini {
  padding: 4px 10px !important;
}

.text-primary {
  color: #10a37f !important;
}
.text-danger {
  color: #F56C6C !important;
}
.text-warning {
  color: #ef9d21 !important;
}
.text-green {
  color: #52bf00 !important;
}
.text-gray {
  color: #aaaaaa !important;
}

.el-button--default:focus, .el-button--default:hover {
  background-color: #e3f5f0 !important;
  border-color: #e3f5f0 !important;
  color: #10a37f !important;
}
.el-button--primary {
  background-color: #10a37f !important;
  border-color: #10a37f !important;
}
.el-button--primary:focus, .el-button--primary:hover {
  background-color: #15ad89 !important;
  border-color: #15ad89 !important;
  color: #fff !important;
}
.el-button--primary.is-plain {
  background-color: #e3f5f0 !important;
  border-color: #e3f5f0 !important;
  color: #10a37f !important;
}
.el-button--primary.is-plain:hover {
  background-color: #10a37f !important;
  border-color: #10a37f !important;
  color: #fff !important;
}
.el-button--text {
  color: #10a37f !important
}
.el-button--text:focus, .el-button--text:hover {
  color: #15ad89 !important
}

.el-dialog__headerbtn:focus .el-dialog__close, .el-dialog__headerbtn:hover .el-dialog__close {
  color: #10a37f !important;
}
.el-dropdown-menu__item:focus, .el-dropdown-menu__item:not(.is-disabled):hover {
  color: #10a37f !important;
  background-color: #e3f5f0 !important;
}
.el-input__inner:focus, .el-textarea__inner:focus {
  border-color: #10a37f !important;
}
.el-select-dropdown__item.selected {
  color: #10a37f !important;
}

.my-dialog {
  border-radius: 10px !important;
  overflow: hidden;
  max-width: 96%;
  display: flex;
  flex-direction: column;
  margin: 0 !important;
  position: absolute;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
}
.my-dialog .el-dialog__header {
  padding: 12px 20px;
}
.my-dialog .el-dialog__header .el-dialog__title {
  font-size: 16px;
}
.my-dialog .el-dialog__header .el-dialog__headerbtn {
  font-size: 18px;
  top: 15px;
}
.my-dialog .el-dialog__body {
  padding: 20px;
  flex: 1;
}
.my-dialog .el-dialog__footer {
  text-align: center;
  padding: 12px 20px;
  border-top: 1px solid #eee;
}
.pay-dialog {
  background: none !important;
}
.pay-dialog .el-dialog__header {
  background: #293141;
  height: 32px;
}
.pay-dialog .el-dialog__header .el-dialog__title {
  color: #fff;
}
.pay-dialog .el-dialog__body {
  padding: 0;
}

.notice-dialog .el-dialog__header .el-dialog__title {
  font-size: 17px;
}
.notice-dialog .el-dialog__body {
  padding: 0;
}
.notice-dialog .el-scrollbar {
  height: 100%;
}
.notice-dialog .scrollbar-wrapper {
  height: 100%;
}
.notice-dialog .content p {
  font-size: 16px;
  line-height: 1.5;
  margin: 10px 0;
}
.notice-dialog .content img {
  max-width: 100%;
}

.full-dialog {
  margin-top: 0 !important;
  height: 100% !important;
  border-radius: 0 !important;
}
.full-dialog .el-dialog__body {
  height: calc(100% - 106px);
  overflow-y: scroll;
}

.my-loading .el-loading-spinner {
  width: 128px;
  height: 128px;
  position: absolute;
  top: 50%;
  margin-top: -64px !important;
  left: 50%;
  margin-left: -64px;
  background: rgba(255,255,255,0.72);
  border-radius: 15px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.my-loading .el-loading-spinner .el-loading-text {
  margin-top: 10px;
}

.btn-plain-warning {
  padding: 3px 6px;
  border-radius: 4px;
  color: #E6A23C;
  border: 1px solid #E6A23C;
  font-size: 12px;
}
.btn-plain-primary {
  padding: 3px 6px;
  border-radius: 4px;
  color: #10a37f;
  border: 1px solid #10a37f;
  font-size: 12px;
}

.box-container {
  padding: 15px 20px;
}
.box-panel {
  padding: 20px;
  margin-bottom: 15px;
  background: #fff;
  border-radius: 4px;
}
.box-panel .title-container {
  font-size: 16px;
  margin: 5px 0 15px 0;
  color: #444;
  letter-spacing: 1px;
}
.el-tabs__active-bar {
  background-color: #10a37f !important;
}
.el-tabs__item:hover {
  color: #10a37f !important;
}
.el-tabs__item.is-active {
  color: #10a37f !important;
}

.el-message {
  min-width: 100px !important;
  padding: 12px 20px !important;
  left: auto !important;
  right: 60px !important;
  transform: none !important;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
.el-message__content {
  min-width: 60px !important;
  max-width: 300px !important;
  word-break: break-all;
}
.el-message--success {
  background-color: #10a37f !important;
  border-color: #10a37f !important;
}
.el-message .el-icon-success {
  color: #fff !important;
  font-size: 24px;
}
.el-message--success .el-message__content {
  color: #fff !important;
  font-size: 16px !important;
}
.el-message--error {
  background-color: #f67474 !important;
  border-color: #f67474 !important;
}
.el-message .el-icon-error {
  color: #fff !important;
  font-size: 24px;
}
.el-message--error .el-message__content {
  color: #fff !important;
  font-size: 16px !important;
}
.el-tag--info {
  background: #e2e2e2 !important;
  color: #666 !important;
  border-color: #e2e2e2 !important;
}
.el-tag--warning {
  background-color: #e3f5f0 !important;
  color: #10a37f !important;
  border-color: #e3f5f0 !important;
}
.el-tag--success {
  background: #10a37f !important;
  color: #fff !important;
  border-color: #10a37f !important;
}

.el-slider__bar {
  background-color: #10a37f !important;
}
.el-slider__button {
  border-color: #10a37f !important;
}
.el-radio-button__inner:hover {
  color: #10a37f !important;
}
.el-radio-button__orig-radio:checked+.el-radio-button__inner {
  background-color: #10a37f !important;
  border-color: #10a37f !important;
  box-shadow: -1px 0 0 0 #10a37f !important;
}
.el-radio-button__orig-radio:checked+.el-radio-button__inner:hover {
  color: #fff !important;
}
.el-input-number__decrease:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled), .el-input-number__increase:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled) {
  border-color: #10a37f !important;
}
.el-input-number__decrease:hover, .el-input-number__increase:hover {
  color: #10a37f !important;
}

.el-tag--primary {
  background-color: #e3f5f0 !important;
  border-color: #10a37f !important;
  color: #10a37f !important;
}
.el-tag--large {
  font-size: 15px !important;
  height: 36px !important;
  line-height: 34px !important;
}
.el-tag .el-tag__close {
  color: #10a37f !important;
  top: 0 !important;
}
.el-tag .el-tag__close:hover {
  background: #10a37f !important;
  color: #fff !important;
}
.el-checkbox__input.is-checked .el-checkbox__inner, .el-checkbox__input.is-indeterminate .el-checkbox__inner {
  background-color: #10a37f !important;
  border-color: #10a37f !important;
}
.el-checkbox__input.is-checked+.el-checkbox__label {
  color: #777 !important;
}

/* 熟练模式：隐藏「应用选择」内大卡片网格与更多应用条、装饰性快捷筛选条，保留搜索与分类；与下方「AI工具」列避免重复占屏（仅样式，不改 JS） */
main.w-page.expert-mode #appSelectionSection .grid.apps,
main.w-page.expert-mode #appSelectionSection .more-apps-panel,
main.w-page.expert-mode #appSelectionSection .expert-quick-bar {
  display: none !important;
}

/* 熟练模式 · 工作台三栏 — 主区背景与新手模式一致（透出主题浅色画布），白卡片与主题色不变 */
main.w-page.expert-mode {
  background: transparent;
  padding: 16px 20px 24px;
  box-sizing: border-box;
}

main.w-page.expert-mode .expert-workbench-grid {
  display: grid !important;
  grid-template-columns: minmax(340px, 1fr) minmax(300px, 1fr) minmax(340px, 1.55fr) !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  gap: 16px !important;
  align-items: stretch !important;
  margin-bottom: 0 !important;
  min-height: calc(100vh - 120px);
}

main.w-page.expert-mode .expert-workbench-grid > .wb-mode-bar--expert-in-grid {
  grid-column: 1 / 3 !important;
  grid-row: 1 !important;
  align-self: start !important;
}

main.w-page.expert-mode .expert-workbench-grid > .expert-picker-card {
  grid-column: 1 !important;
  grid-row: 2 !important;
}

main.w-page.expert-mode .expert-workbench-grid > .expert-param-card {
  grid-column: 2 !important;
  grid-row: 2 !important;
}

main.w-page.expert-mode .expert-workbench-grid > .wb-queue-card {
  grid-column: 3 !important;
  grid-row: 1 / -1 !important;
  overflow: hidden !important;
}

main.w-page.expert-mode .expert-workbench-grid > article.card {
  background: #fff !important;
  border: 1px solid #e6e6e6 !important;
  border-radius: 10px !important;
  box-shadow: 0 2px 14px rgba(0, 0, 0, 0.12) !important;
  padding: 16px 14px !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 0;
  max-height: calc(100vh - 108px);
}

main.w-page.expert-mode .expert-workbench-grid > article.card > h2.title {
  font-size: 16px !important;
  margin: 0 0 10px !important;
  padding-bottom: 8px !important;
  border-bottom: 1px solid #eee !important;
  flex-shrink: 0;
}

main.w-page.expert-mode .expert-workbench-grid > .expert-picker-card .expert-app-scroll {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding-right: 4px;
}

main.w-page.expert-mode .expert-workbench-grid > .wb-queue-card .wb-queue-scroll {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow-y: auto !important;
}

main.w-page.expert-mode .item.item-selected {
  border-color: #10a37f !important;
  background: linear-gradient(180deg, #e8f7f2 0%, #f5fbfa 100%) !important;
  box-shadow: inset 0 0 0 1px rgba(16, 163, 127, 0.35) !important;
}

main.w-page.expert-mode .item.item-selected .tag.ok {
  background: rgba(16, 163, 127, 0.18) !important;
  color: #0d8a5f !important;
  border-color: rgba(16, 163, 127, 0.45) !important;
}

main.w-page.expert-mode .item.item-clickable:hover {
  border-color: #5cd4b0 !important;
  background: #f0faf7 !important;
}

main.w-page.expert-mode .item.item-active {
  border-color: #10a37f !important;
  background: #e8f7f2 !important;
}

main.w-page.expert-mode .btn.primary:not(.is-disabled),
main.w-page.expert-mode .step-action-btn:not(.is-disabled) {
  background: #10a37f !important;
  border-color: #10a37f !important;
  color: #fff !important;
  font-weight: 600 !important;
}

main.w-page.expert-mode .btn.primary:not(.is-disabled):hover,
main.w-page.expert-mode .step-action-btn:not(.is-disabled):hover {
  background: #15ad89 !important;
  border-color: #15ad89 !important;
  color: #fff !important;
}

main.w-page.expert-mode .btn.primary.is-disabled,
main.w-page.expert-mode .step-action-btn.is-disabled {
  opacity: 0.55 !important;
}

main.w-page.expert-mode .wb-task-group .wb-task-actions {
  display: block;
  margin: 0;
  padding: 0;
}

main.w-page.expert-mode .wb-task-card .wb-task-detail {
  border: none !important;
  background: transparent !important;
}

main.w-page.expert-mode .wb-reupload-link {
  background: #10a37f !important;
  color: #fff !important;
  border: none !important;
}

main.w-page.expert-mode .wb-compare-hint {
  color: #5c5c5c !important;
}

@media (max-width: 1200px) {
  main.w-page.expert-mode .expert-workbench-grid {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto !important;
    min-height: auto;
  }

  main.w-page.expert-mode .expert-workbench-grid > .wb-mode-bar--expert-in-grid {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }

  main.w-page.expert-mode .expert-workbench-grid > .expert-picker-card {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }

  main.w-page.expert-mode .expert-workbench-grid > .expert-param-card {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }

  main.w-page.expert-mode .expert-workbench-grid > .wb-queue-card {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }

  main.w-page.expert-mode .expert-workbench-grid > article.card {
    max-height: none;
  }

  main.w-page.expert-mode .expert-workbench-grid > .expert-picker-card .expert-app-scroll {
    max-height: 360px;
  }
}

/* 熟练模式 · 批量任务（单图/批量 Tab + 拖拽区；左侧色条强调主操作区） */
main.w-page.expert-mode .wb-expert-batch-panel {
  margin-bottom: 16px;
  padding: 0;
  border: 1px solid #e2e8f0;
  border-left: 3px solid #0d9488;
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}
main.w-page.expert-mode .wb-expert-batch-panel.wb-expert-batch-running {
  border-left-color: #10b981;
  box-shadow: 0 0 0 1px rgba(16, 185, 129, 0.25), 0 4px 14px rgba(15, 23, 42, 0.08);
}
main.w-page.expert-mode .wb-expert-batch-panel.wb-expert-batch-hidden {
  display: none !important;
}
/* 熟练模式 · 统一「加号」上传卡片（减字、单块） */
main.w-page.expert-mode .wb-expert-batch-panel.wb-expert-batch-panel--unified {
  border: none;
  background: transparent;
  box-shadow: none;
  padding: 0;
}
main.w-page.expert-mode .wb-expert-batch-unified-surface {
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
  overflow: hidden;
  padding-top: 0;
}
main.w-page.expert-mode .wb-expert-batch-compact-head {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 10px;
  padding: 10px 14px;
  background: linear-gradient(180deg, #fafbfc 0%, #f8fafc 100%);
  border-bottom: 1px solid #eef2f6;
}
main.w-page.expert-mode .wb-expert-batch-compact-title {
  font-size: 13px;
  font-weight: 700;
  color: #1e293b;
  letter-spacing: 0.02em;
}
main.w-page.expert-mode .wb-expert-batch-cap-pill {
  margin-left: auto;
  font-size: 12px;
  font-weight: 600;
  color: #115e59;
  padding: 3px 10px;
  border-radius: 999px;
  background: #ecfdf5;
  border: 1px solid #a7f3d0;
}
main.w-page.expert-mode .wb-expert-batch-cap-pill .wb-expert-batch-cap-num {
  font-size: 13px;
  font-weight: 800;
  color: #0f766e;
}
main.w-page.expert-mode .wb-expert-batch-max-pill {
  font-size: 11px;
  color: #64748b;
  padding: 2px 8px;
  border-radius: 6px;
  background: #f1f5f9;
}
main.w-page.expert-mode .wb-expert-batch-dz-plus {
  margin: 2px auto 6px;
  display: flex;
  justify-content: center;
  align-items: center;
}
main.w-page.expert-mode .wb-expert-batch-details--tight {
  margin: 0;
  padding: 0 12px 10px;
  border-top: 1px solid #f1f5f9;
  font-size: 11px;
  color: #64748b;
}
main.w-page.expert-mode .wb-expert-batch-details--tight .wb-expert-batch-summary {
  padding: 8px 0;
  font-size: 11px;
  color: #94a3b8;
}
main.w-page.expert-mode .wb-expert-batch-details--tight .wb-expert-batch-rules {
  margin: 0 0 6px;
  padding-left: 1em;
}
main.w-page.expert-mode .wb-expert-batch-log-details {
  margin-top: 10px;
  border: 1px solid #eef2f6;
  border-radius: 10px;
  background: #fafbfc;
  overflow: hidden;
}
main.w-page.expert-mode .wb-expert-batch-log-summary {
  padding: 10px 14px;
  font-size: 12px;
  font-weight: 600;
  color: #64748b;
  cursor: pointer;
  list-style: none;
  background: #f8fafc;
  border-bottom: 1px solid #eef2f6;
}
main.w-page.expert-mode .wb-expert-batch-log-summary::-webkit-details-marker {
  display: none;
}
main.w-page.expert-mode .wb-expert-batch-log-summary::before {
  content: "▸ ";
  color: #94a3b8;
  font-size: 10px;
}
main.w-page.expert-mode .wb-expert-batch-log-details[open] .wb-expert-batch-log-summary::before {
  content: "▾ ";
}
main.w-page.expert-mode .wb-expert-batch-log-details .wb-expert-batch-log-wrap {
  border: none;
  padding: 10px 12px 12px;
  background: #fff;
}
main.w-page.expert-mode .wb-expert-batch-log-actions--inline {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-bottom: 8px;
}
main.w-page.expert-mode .wb-expert-batch-unified-surface .wb-expert-batch-dropzone--batch {
  margin: 10px 12px 12px;
  min-height: 148px;
  border-radius: 10px;
}
main.w-page.expert-mode .wb-expert-batch-dropzone-sub .wb-expert-batch-cap-num {
  font-weight: 800;
  color: #0f766e;
}
main.w-page.expert-mode .wb-expert-batch-panel--unified .wb-expert-batch-dropzone-title {
  font-size: 13px;
  font-weight: 500;
  color: #64748b;
  margin: 0 0 4px;
}
main.w-page.expert-mode .wb-expert-batch-panel--unified .wb-expert-batch-dropzone-sub {
  font-size: 11px;
  color: #94a3b8;
  margin: 0 0 6px;
}
main.w-page.expert-mode .wb-expert-batch-panel--unified .wb-expert-batch-file-meta {
  margin-top: 4px;
}
main.w-page.expert-mode .wb-expert-batch-panel--unified .wb-expert-batch-btns {
  margin-top: 12px;
}
main.w-page.expert-mode .wb-expert-batch-panel.wb-expert-batch-running .wb-expert-batch-unified-surface {
  box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.28);
}
main.w-page.expert-mode .wb-expert-batch-tabs {
  display: flex;
  gap: 0;
  padding: 0;
  margin: 0;
  border-bottom: 1px solid #e8ecf0;
  background: #f8fafc;
}
main.w-page.expert-mode .wb-expert-batch-tab {
  flex: 1;
  margin: 0;
  padding: 11px 14px;
  font-size: 14px;
  font-weight: 600;
  color: #64748b;
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  transition: color 0.15s ease, background 0.15s ease;
}
main.w-page.expert-mode .wb-expert-batch-tab:hover {
  color: #334155;
  background: rgba(16, 163, 127, 0.06);
}
main.w-page.expert-mode .wb-expert-batch-tab.wb-expert-batch-tab--active {
  color: #10a37f;
  background: #fff;
  border-bottom-color: #10a37f;
}
main.w-page.expert-mode .wb-expert-batch-tab-pane {
  display: none;
  padding: 14px;
}
main.w-page.expert-mode .wb-expert-batch-tab-pane.wb-expert-batch-tab-pane--active {
  display: block;
}
main.w-page.expert-mode .wb-expert-batch-tab-pane.wb-expert-batch-tab-single {
  padding: 16px 16px 18px;
}
main.w-page.expert-mode .wb-expert-batch-single-stack {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
main.w-page.expert-mode .wb-expert-batch-single-intro {
  padding-bottom: 2px;
  border-bottom: 1px solid #f1f5f9;
}
main.w-page.expert-mode .wb-expert-batch-single-tip {
  margin: 0;
  font-size: 13px;
  line-height: 1.65;
  color: #475569;
}
main.w-page.expert-mode .wb-expert-batch-single-tip strong {
  color: #1e293b;
  font-weight: 600;
}
main.w-page.expert-mode .wb-expert-batch-batch-head {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  padding: 12px 14px 10px;
  background: linear-gradient(180deg, #f6fdfb 0%, #f8fafc 100%);
  border-bottom: 1px solid #eef2f6;
}
main.w-page.expert-mode .wb-expert-batch-batch-head--compact {
  align-items: center;
  padding: 8px 12px;
}
main.w-page.expert-mode .wb-expert-batch-batch-line {
  margin: 0;
  font-size: 12px;
  line-height: 1.45;
  color: #64748b;
}
main.w-page.expert-mode .wb-expert-batch-batch-line strong {
  color: #0f766e;
  font-weight: 600;
}
main.w-page.expert-mode .wb-expert-batch-badge {
  flex-shrink: 0;
  display: inline-block;
  padding: 3px 8px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #fff;
  background: #10a37f;
  line-height: 1.4;
}
main.w-page.expert-mode .wb-expert-batch-batch-head-text {
  min-width: 0;
}
main.w-page.expert-mode .wb-expert-batch-title {
  font-size: 15px;
  font-weight: 600;
  color: #1e293b;
  margin: 0 0 4px;
}
main.w-page.expert-mode .wb-expert-batch-batch-sub {
  margin: 0;
  font-size: 12px;
  line-height: 1.55;
  color: #64748b;
}
main.w-page.expert-mode .wb-expert-batch-batch-sub strong {
  color: #0f766e;
  font-weight: 600;
}
/* 批量：三步条 */
main.w-page.expert-mode .wb-expert-batch-steps {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 8px;
  margin: 0 0 12px;
  padding: 0;
  list-style: none;
  counter-reset: wbstep;
}
main.w-page.expert-mode .wb-expert-batch-step {
  flex: 1 1 90px;
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  padding: 8px 10px;
  border-radius: 8px;
  background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
  border: 1px solid #e2e8f0;
  font-size: 11px;
  line-height: 1.35;
  color: #475569;
}
main.w-page.expert-mode .wb-expert-batch-step-no {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(135deg, #0d9488, #059669);
  box-shadow: 0 1px 2px rgba(13, 148, 136, 0.35);
}
main.w-page.expert-mode .wb-expert-batch-step-txt {
  min-width: 0;
  font-weight: 500;
}
@media (max-width: 520px) {
  main.w-page.expert-mode .wb-expert-batch-step {
    flex: 1 1 100%;
  }
}
main.w-page.expert-mode .wb-expert-batch-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 10px;
  padding: 8px 10px;
  border-radius: 8px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
}
main.w-page.expert-mode .wb-expert-batch-toolbar-title {
  font-weight: 600;
  font-size: 13px;
  color: #1e293b;
}
main.w-page.expert-mode .wb-expert-batch-toolbar-meta {
  font-size: 12px;
  color: #64748b;
  white-space: nowrap;
}
/* 会员并发：单行 */
main.w-page.expert-mode .wb-expert-batch-cap-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 10px;
  margin-bottom: 10px;
  padding: 6px 10px;
  border-radius: 8px;
  background: #ecfdf5;
  border: 1px solid #a7f3d0;
}
main.w-page.expert-mode .wb-expert-batch-cap-label {
  font-size: 12px;
  font-weight: 600;
  color: #115e59;
}
main.w-page.expert-mode .wb-expert-batch-cap-num {
  font-size: 18px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: #0f766e;
  line-height: 1;
}
main.w-page.expert-mode .wb-expert-batch-cap-suffix {
  font-size: 13px;
  font-weight: 600;
  color: #0f766e;
}
main.w-page.expert-mode .wb-expert-batch-details {
  font-size: 12px;
  color: #64748b;
  margin-bottom: 8px;
}
main.w-page.expert-mode .wb-expert-batch-summary {
  cursor: pointer;
  color: #10a37f;
  font-weight: 500;
  list-style: none;
  padding: 4px 0;
}
main.w-page.expert-mode .wb-expert-batch-summary::-webkit-details-marker {
  display: none;
}
main.w-page.expert-mode .wb-expert-batch-summary::before {
  content: "▸ ";
  display: inline-block;
  transition: transform 0.15s ease;
  color: #94a3b8;
}
main.w-page.expert-mode .wb-expert-batch-details[open] .wb-expert-batch-summary::before {
  transform: rotate(90deg);
}
main.w-page.expert-mode .wb-expert-batch-rules {
  margin: 6px 0 0;
  padding-left: 1.1em;
  line-height: 1.55;
}
main.w-page.expert-mode .wb-expert-batch-rules li {
  margin: 4px 0;
}
main.w-page.expert-mode .wb-expert-batch-dropzone--single {
  min-height: 148px;
  border: 2px dashed #c8e6dc !important;
  border-radius: 12px;
  background: #fff !important;
  box-shadow: inset 0 0 0 1px rgba(16, 163, 127, 0.06);
}
main.w-page.expert-mode .wb-expert-batch-dropzone--single .wb-expert-batch-dropzone-inner {
  flex: 1;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
main.w-page.expert-mode .wb-expert-batch-dropzone--single:hover {
  border-color: #10a37f !important;
  background: #f8fffc !important;
  box-shadow: inset 0 0 0 1px rgba(16, 163, 127, 0.12), 0 4px 18px rgba(16, 163, 127, 0.08) !important;
}
main.w-page.expert-mode .wb-expert-batch-single-icon {
  margin: 0 auto 8px;
  opacity: 0.92;
}
main.w-page.expert-mode .wb-expert-batch-dropzone--single .wb-expert-batch-dropzone-title {
  font-size: 15px;
  font-weight: 600;
  color: #334155;
}
main.w-page.expert-mode .wb-expert-batch-dropzone--single .wb-expert-batch-dropzone-sub {
  margin-bottom: 6px;
}
main.w-page.expert-mode .wb-expert-batch-dropzone-formats {
  margin: 0 0 4px;
  font-size: 12px;
  color: #94a3b8;
  letter-spacing: 0.02em;
}
main.w-page.expert-mode .wb-expert-batch-dropzone-inner .wb-expert-batch-open-single {
  pointer-events: auto;
  margin-top: 10px;
  min-width: 132px;
}
/* 单图直传：提交任务栏下方进度与状态（不触发 Vue 全屏 Loading） */
main.w-page.expert-mode .wb-expert-single-upload-status {
  margin: 10px 0 0;
  padding: 0;
}
main.w-page.expert-mode .wb-expert-single-upload-status[hidden] {
  display: none !important;
}
main.w-page.expert-mode .wb-expert-single-upload-status-inner {
  padding: 12px 14px;
  border-radius: 10px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
main.w-page.expert-mode .wb-expert-single-upload-status-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
  font-size: 13px;
  color: #334155;
}
main.w-page.expert-mode .wb-expert-single-upload-status-text {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
main.w-page.expert-mode .wb-expert-single-upload-status-pct {
  flex-shrink: 0;
  font-weight: 700;
  color: #10a37f;
  font-variant-numeric: tabular-nums;
}
main.w-page.expert-mode .wb-expert-single-upload-status-track {
  height: 6px;
  border-radius: 999px;
  background: #e2e8f0;
  overflow: hidden;
}
main.w-page.expert-mode .wb-expert-single-upload-status-fill {
  height: 100%;
  width: 0%;
  border-radius: 999px;
  background: linear-gradient(90deg, #10a37f, #34d399);
  transition: width 0.12s ease-out;
}
@keyframes wb-expert-single-shimmer {
  0% {
    margin-left: 0;
  }
  50% {
    margin-left: 55%;
  }
  100% {
    margin-left: 0;
  }
}
main.w-page.expert-mode .wb-expert-single-upload-status--indeterminate .wb-expert-single-upload-status-fill {
  width: 38% !important;
  animation: wb-expert-single-shimmer 1.15s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) {
  main.w-page.expert-mode .wb-expert-single-upload-status--indeterminate .wb-expert-single-upload-status-fill {
    animation: none;
    margin-left: 20%;
  }
}
main.w-page.expert-mode .wb-expert-batch-dropzone {
  position: relative;
  border: 2px dashed #c5d5cf;
  border-radius: 10px;
  background: linear-gradient(180deg, #fbfcfc 0%, #f4faf8 100%);
  min-height: 168px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}
main.w-page.expert-mode .wb-expert-batch-dropzone--batch {
  min-height: 188px;
  border-color: #99d4c9 !important;
  background: linear-gradient(165deg, #f0fdfa 0%, #ecfeff 45%, #f8fafc 100%) !important;
}
main.w-page.expert-mode .wb-expert-batch-dropzone--batch:hover {
  border-color: #14b8a6 !important;
  background: linear-gradient(165deg, #ecfdf5 0%, #e0f2fe 50%, #f8fafc 100%) !important;
}
main.w-page.expert-mode .wb-expert-batch-dropzone:hover {
  border-color: #10a37f;
  background: #f0fdf9;
  box-shadow: 0 0 0 1px rgba(16, 163, 127, 0.12);
}
main.w-page.expert-mode .wb-expert-batch-dropzone.wb-expert-batch-dropzone--drag {
  border-color: #10a37f;
  background: #ecfdf5;
  box-shadow: inset 0 0 0 2px rgba(16, 163, 127, 0.2);
}
main.w-page.expert-mode .wb-expert-batch-input,
main.w-page.expert-mode .wb-expert-single-input {
  position: absolute;
  width: 0.1px;
  height: 0.1px;
  opacity: 0;
  overflow: hidden;
  z-index: -1;
  pointer-events: none;
}
main.w-page.expert-mode .wb-expert-batch-dropzone-inner {
  text-align: center;
  padding: 14px 14px 16px;
  pointer-events: none;
}
main.w-page.expert-mode .wb-expert-batch-dropzone-inner .wb-expert-batch-open-files {
  pointer-events: auto;
  margin-top: 8px;
  padding: 8px 20px !important;
  font-size: 13px !important;
  border-radius: 8px !important;
}
main.w-page.expert-mode .wb-expert-batch-tab-pane.wb-expert-batch-tab-batch {
  padding-bottom: 16px;
}
main.w-page.expert-mode .wb-expert-batch-batch-dz-icon {
  margin: 0 auto 6px;
  opacity: 0.95;
}
main.w-page.expert-mode .wb-expert-batch-dropzone-kicker {
  margin: 0 0 4px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #0f766e;
}
main.w-page.expert-mode .wb-expert-batch-dropzone-title {
  margin: 0 0 6px;
  font-size: 15px;
  font-weight: 600;
  color: #334155;
}
main.w-page.expert-mode .wb-expert-batch-dropzone-sub {
  margin: 0 0 4px;
  font-size: 12px;
  color: #94a3b8;
}
main.w-page.expert-mode .wb-expert-batch-open-files {
  border-color: #10a37f !important;
  color: #10a37f !important;
  font-weight: 600 !important;
}
main.w-page.expert-mode .wb-expert-batch-open-files:hover {
  background: #10a37f !important;
  color: #fff !important;
}
main.w-page.expert-mode .wb-expert-batch-file-meta {
  margin-top: 12px;
}
main.w-page.expert-mode .wb-expert-batch-file-count {
  font-size: 13px;
  color: #94a3b8;
}
main.w-page.expert-mode .wb-expert-batch-file-count--ok {
  color: #10a37f;
  font-weight: 600;
}
main.w-page.expert-mode .wb-expert-batch-estimate {
  display: none;
  margin: 0;
  font-size: 12px;
  line-height: 1.45;
  color: #475569;
}
main.w-page.expert-mode .wb-expert-batch-estimate.wb-expert-batch-estimate--show {
  display: block;
  margin-top: 10px;
  padding: 8px 10px;
  border-radius: 8px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
}
main.w-page.expert-mode .wb-expert-batch-panel[aria-busy="true"] .wb-expert-batch-btn {
  opacity: 0.85;
  pointer-events: none;
}
main.w-page.expert-mode .wb-expert-batch-btns {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
}
main.w-page.expert-mode .wb-expert-batch-btn {
  display: inline-flex !important;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 20px !important;
  border-radius: 10px !important;
  box-shadow: 0 2px 8px rgba(13, 148, 136, 0.28);
}
main.w-page.expert-mode .wb-expert-batch-btn-label {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
}
main.w-page.expert-mode .wb-expert-batch-cancel-queue {
  color: #9a3412 !important;
  border-color: #fdba74 !important;
  background: #fff7ed !important;
  font-weight: 600 !important;
}
main.w-page.expert-mode .wb-expert-batch-cancel-queue:hover {
  color: #7c2d12 !important;
  border-color: #fb923c !important;
  background: #ffedd5 !important;
}
main.w-page.expert-mode .wb-expert-batch-status {
  padding: 0 0 8px;
  min-height: 0;
  display: none;
}
main.w-page.expert-mode .wb-expert-batch-status.wb-expert-batch-status--visible {
  display: block;
}
main.w-page.expert-mode .wb-expert-batch-progress-meta {
  font-size: 12px;
  color: #334155;
  line-height: 1.5;
  margin-bottom: 8px;
  font-weight: 500;
}
main.w-page.expert-mode .wb-expert-batch-progress-track {
  height: 8px;
  border-radius: 999px;
  background: #e2e8f0;
  overflow: hidden;
}
main.w-page.expert-mode .wb-expert-batch-progress-fill {
  height: 100%;
  width: 0%;
  border-radius: inherit;
  background: linear-gradient(90deg, #10a37f, #34d399);
  transition: width 0.25s ease;
}
main.w-page.expert-mode .wb-expert-batch-log-wrap {
  padding: 0 14px 12px;
  border-top: 1px solid #eef2f6;
  background: #fff;
}
main.w-page.expert-mode .wb-expert-batch-log-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 8px 0 6px;
}
main.w-page.expert-mode .wb-expert-batch-log-title {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #94a3b8;
  margin: 0;
  flex: 1;
  min-width: 0;
}
main.w-page.expert-mode .wb-expert-batch-log-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
main.w-page.expert-mode .wb-expert-batch-export-log {
  flex-shrink: 0;
  padding: 4px 10px !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
  color: #0f766e !important;
  border-color: #99f6e4 !important;
  background: #f0fdfa !important;
  font-weight: 500 !important;
}
main.w-page.expert-mode .wb-expert-batch-export-log:hover {
  color: #115e59 !important;
  border-color: #5eead4 !important;
  background: #ccfbf1 !important;
}
main.w-page.expert-mode .wb-expert-batch-clear-log {
  flex-shrink: 0;
  padding: 4px 10px !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
  color: #64748b !important;
  border-color: #e2e8f0 !important;
  background: #fff !important;
  font-weight: 500 !important;
}
main.w-page.expert-mode .wb-expert-batch-clear-log:hover {
  color: #334155 !important;
  border-color: #cbd5e1 !important;
  background: #f8fafc !important;
}
main.w-page.expert-mode .wb-expert-batch-log {
  max-height: 160px;
  overflow-y: auto;
  font-size: 11px;
  line-height: 1.55;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  padding: 4px 2px;
  border-radius: 6px;
  background: #f8fafc;
}
main.w-page.expert-mode .wb-expert-batch-line {
  padding: 6px 8px;
  margin-bottom: 4px;
  border-radius: 6px;
  border: 1px solid #f1f5f9;
  background: #fff;
}
main.w-page.expert-mode .wb-expert-batch-line:nth-child(even) {
  background: #fafbfc;
}
main.w-page.expert-mode .wb-expert-batch-line.err {
  color: #b91c1c;
  background: #fef2f2;
  font-weight: 500;
}
main.w-page.expert-mode .wb-expert-batch-submit-hint {
  display: none;
  margin: 0 0 10px;
  padding: 8px 10px;
  font-size: 12px;
  line-height: 1.5;
  color: #92400e;
  background: #fffbeb;
  border: 1px solid #fde68a;
  border-radius: 8px;
}
main.w-page.expert-mode .wb-expert-batch-submit-hint.wb-expert-batch-submit-hint--show {
  display: block;
}
main.w-page.expert-mode .wb-expert-batch-panel.wb-expert-batch-hidden + .wb-expert-batch-submit-hint {
  display: none !important;
}
main.w-page.expert-mode .expert-param-shell .wb-expert-batch-panel {
  margin-top: 12px;
}

/* 统一上传区：已选图 / 队列 / 跑批中时隐藏「提交任务」，用「开始处理」建任务 */
main.w-page.expert-mode .expert-param-shell[data-wb-expert-hide-submit="1"] .submit-task-bar,
main.w-page.expert-mode .expert-param-shell[data-wb-expert-hide-submit="1"] .wb-expert-batch-submit-hint {
  display: none !important;
}

/* AI 应用提示词模板（PC web 补丁） */
.ad-prompt-row,
.wb-prompt-row {
  margin: 0 0 12px;
}
/* 精修模式：标题与模板标签同一行 */
.ad-prompt-row.ad-prompt-inline .ad-prompt-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 0;
}
.ad-prompt-row.ad-prompt-inline .ad-prompt-btns {
  flex: 1;
  justify-content: flex-end;
  min-width: 0;
}
.ad-prompt-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 6px;
}
.ad-prompt-title {
  font-size: 13px;
  font-weight: 600;
  color: #334155;
}
.ad-prompt-refresh {
  flex-shrink: 0;
  border: 1px solid #cbd5e1;
  background: #f8fafc;
  color: #475569;
  border-radius: 6px;
  padding: 4px 10px;
  font-size: 12px;
  cursor: pointer;
  line-height: 1.4;
}
.ad-prompt-refresh:hover:not(:disabled) {
  border-color: #10a37f;
  color: #0d8a5f;
  background: #ecfdf5;
}
.ad-prompt-refresh:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
.ad-prompt-hint {
  margin: 0 0 8px;
  font-size: 12px;
  line-height: 1.55;
  color: #64748b;
}
.ad-prompt-loading,
.ad-prompt-empty {
  font-size: 12px;
  line-height: 1.5;
  color: #64748b;
  padding: 8px 10px;
  border-radius: 6px;
  background: #f8fafc;
  border: 1px dashed #e2e8f0;
}
.ad-prompt-empty {
  color: #94a3b8;
}
.ad-prompt-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
/* 预设标签：蓝色次要色，与「开始生成」主按钮绿色区分 */
.ad-prompt-btn {
  border: 1px solid #bfdbfe;
  background: #fff;
  color: #2563eb;
  border-radius: 4px;
  padding: 6px 12px;
  font-size: 13px;
  cursor: pointer;
  line-height: 1.4;
}
.ad-prompt-btn:hover {
  border-color: #60a5fa;
  color: #1d4ed8;
  background: #eff6ff;
}
.ad-prompt-btn.active {
  border-color: #3b82f6;
  background: #dbeafe;
  color: #1e40af;
  font-weight: 600;
}

/* 精修模式整块：标题 + 预设 + 说明 + 非图片表单项（与上传图分区，一体卡片） */
.ad-refine-module {
  display: flex;
  flex-direction: column;
  margin: 0 0 14px;
  padding: 0;
  border-radius: 12px;
  border: 1px solid #dbeafe;
  background: #fff;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
  overflow: hidden;
}
.ad-form-list--images + .ad-refine-module {
  margin-top: 6px;
}

/* 上传成功后本地/远程预览图稳定显示 */
.ad-dropzone-filled .ad-dropzone-preview {
  display: block;
  max-width: 100%;
  max-height: min(52vh, 320px);
  width: auto;
  height: auto;
  margin: 0 auto;
  object-fit: contain;
  border-radius: 8px;
  background: #f1f5f9;
}
/* 上区：精修标题 + 预设标签 */
.ad-refine-module .ad-prompt-row.ad-prompt-row--in-module {
  margin: 0;
  padding: 12px 14px 10px;
  background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
  border-bottom: 1px solid #e2e8f0;
}
.ad-refine-module .ad-prompt-row.ad-prompt-inline .ad-prompt-head {
  margin-bottom: 0;
}
.ad-refine-module .ad-prompt-title {
  font-size: 14px;
  letter-spacing: 0.02em;
}
/* 中区：说明（与下方输入区连成一块） */
.ad-refine-module .ad-prompt-merge-hint {
  margin: 0;
  padding: 8px 14px;
  font-size: 12px;
  line-height: 1.55;
  color: #475569;
  background: #f8fafc;
  border-bottom: 1px solid #eef2f7;
}
/* 下区：自定义输入等表单项 */
.ad-refine-module .ad-form-list--refine {
  margin: 0;
  padding: 10px 12px 12px;
  background: #fff;
}
.ad-refine-module .ad-form-list--refine .ad-form-item {
  border-color: #e2e8f0;
  background: #fafbfc;
}
.ad-refine-module .ad-form-list--refine .ad-form-item:focus-within {
  border-color: #bfdbfe;
  box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.12);
}

/* 工作台精修：与左侧应用列表同用 ad-refine-module 时的顶距 */
.wb-refine-module.ad-refine-module {
  margin-top: 6px;
}

/* 工作台单图上传：即时预览缩略图 */
.expert-img-thumb {
  display: block;
  max-width: 100%;
  max-height: min(48vh, 280px);
  width: auto;
  height: auto;
  margin: 8px auto 0;
  object-fit: contain;
  border-radius: 8px;
  background: #f1f5f9;
}

/* 熟练模式直传：屏蔽全屏 Loading，与底部进度条并存 */
body.wb-expert-direct-uploading .el-loading-mask {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* PC 工作台 / 更多应用：算力消耗（与 static/css/app.*.css 中 ac-app-coin、wb-app-coin 视觉一致） */
.wb-expert-app-coin,
.wb-chip-coin,
.wb-banner-coin {
  font-size: 12px;
  color: #64748b;
  white-space: nowrap;
}
.wb-expert-app-coin {
  margin-top: 4px;
}
.wb-chip-coin {
  display: inline-block;
  margin-left: 6px;
  font-weight: 600;
  color: #0f766e;
}
.wb-banner-coin {
  display: inline-block;
  margin-left: 6px;
  font-weight: 500;
}

/* 账户页 · 卡密兑换（PayModule） */
.card-redeem-panel {
  max-width: 520px;
  margin-top: 8px;
}
.card-redeem-input {
  margin-bottom: 8px;
}
.card-redeem-meta .form-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid #f0f2f5;
}
.card-redeem-meta .form-item .label {
  color: #64748b;
  font-size: 14px;
}
.card-redeem-meta .form-item .value {
  font-weight: 600;
  font-size: 14px;
}
.card-redeem-meta .text-red {
  color: #dc2626;
}
.card-redeem-meta .text-green {
  color: #16a34a;
}

/* AI 应用 · 图片仅返回文件标识、无预览 URL 时的已上传提示 */
.ad-upload-filename {
  padding: 16px 12px;
  font-size: 13px;
  color: #334155;
  line-height: 1.5;
  word-break: break-all;
}
