/* ── 全局 ────────────────────────────────────── */[v-cloak] { display: none !important; }* { margin: 0; padding: 0; box-sizing: border-box; }
html, body { height: 100%; font-family: 'Helvetica Neue', Arial, sans-serif; background: var(--bg-page); color: var(--text-primary); transition: background .3s, color .3s; }

/* ── CSS 变量（亮色模式） ── */
:root {
    --bg-page: #f5f7fa;
    --bg-card: #fff;
    --bg-header: #fff;
    --bg-input: #fff;
    --bg-hover: #ecf5ff;
    --text-primary: #303133;
    --text-regular: #606266;
    --text-secondary: #909399;
    --border-color: #e4e7ed;
    --border-light: #ebeef5;
    --border-lighter: #f0f0f0;
    --shadow-header: rgba(0,0,0,.08);
    --shadow-card: rgba(0,0,0,.15);
    --login-gradient-1: #667eea;
    --login-gradient-2: #764ba2;
}
/* ── CSS 变量（深夜模式） ── */
html.dark {
    --bg-page: #1a1a2e;
    --bg-card: #16213e;
    --bg-header: #0f3460;
    --bg-input: #1a1a2e;
    --bg-hover: #1a3a5c;
    --text-primary: #e0e0e0;
    --text-regular: #b0b0b0;
    --text-secondary: #888;
    --border-color: #2a2a4a;
    --border-light: #2a2a4a;
    --border-lighter: #222244;
    --shadow-header: rgba(0,0,0,.3);
    --shadow-card: rgba(0,0,0,.4);
    --login-gradient-1: #1a1a2e;
    --login-gradient-2: #16213e;
    /* Element Plus 内部变量覆盖 */
    --el-bg-color: #16213e;
    --el-bg-color-page: #1a1a2e;
    --el-bg-color-overlay: #16213e;
    --el-text-color-primary: #e0e0e0;
    --el-text-color-regular: #b0b0b0;
    --el-text-color-secondary: #888;
    --el-text-color-placeholder: #666;
    --el-border-color: #2a2a4a;
    --el-border-color-light: #2a2a4a;
    --el-border-color-lighter: #222244;
    --el-border-color-extra-light: #1e1e3a;
    --el-fill-color: #1a3a5c;
    --el-fill-color-light: #1a1a2e;
    --el-fill-color-lighter: #16213e;
    --el-fill-color-extra-light: #1a1a2e;
    --el-fill-color-blank: #16213e;
    --el-mask-color: rgba(0,0,0,.6);
    --el-box-shadow-light: 0 0 12px rgba(0,0,0,.4);
    --el-disabled-bg-color: #1a1a2e;
    --el-disabled-text-color: #555;
    --el-disabled-border-color: #2a2a4a;
    --el-color-white: #16213e;
    color-scheme: dark;
}

/* ── 深夜模式 Element Plus 覆盖 ── */
html.dark .el-card,
html.dark .el-dialog,
html.dark .el-drawer,
html.dark .el-message-box { background: var(--bg-card) !important; color: var(--text-primary) !important; border-color: var(--border-color) !important; }
html.dark .el-card__header { border-bottom-color: var(--border-color) !important; color: var(--text-primary) !important; }
.el-form-item__content { width: 100%; }
html.dark .el-input__wrapper,
html.dark .el-textarea__inner { background: var(--bg-input) !important; color: var(--text-primary) !important; box-shadow: 0 0 0 1px var(--border-color) inset !important; }
html.dark .el-input__inner { color: var(--text-primary) !important; }
html.dark .el-select .el-input__wrapper { background: var(--bg-input) !important; }
html.dark .el-table { background: var(--bg-card) !important; color: var(--text-primary) !important; --el-table-border-color: var(--border-color); }
html.dark .el-table tr { background: var(--bg-card) !important; }
html.dark .el-table th.el-table__cell { background: var(--bg-header) !important; color: var(--text-primary) !important; }
html.dark .el-table td.el-table__cell { background: var(--bg-card) !important; }
html.dark .el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell { background: var(--bg-input) !important; }
html.dark .el-table .el-table__row:hover > td.el-table__cell { background: var(--bg-hover) !important; }
html.dark .el-table__empty-text { color: var(--text-secondary) !important; }
html.dark .el-tabs__item { color: var(--text-regular) !important; }
html.dark .el-tabs__item.is-active { color: #409eff !important; }
html.dark .el-tabs__nav-wrap::after { background: var(--border-color) !important; }
html.dark .el-form-item__label { color: var(--text-primary) !important; }
html.dark .el-radio-button__inner { background: var(--bg-input) !important; color: var(--text-primary) !important; border-color: var(--border-color) !important; }
html.dark .el-radio-button__original-radio:checked + .el-radio-button__inner { background: #409eff !important; color: #fff !important; border-color: #409eff !important; }
html.dark .el-checkbox__label { color: var(--text-primary) !important; }
html.dark .el-switch__label { color: var(--text-regular) !important; }
html.dark .el-descriptions__label,
html.dark .el-descriptions__content { color: var(--text-primary) !important; background: var(--bg-card) !important; }
html.dark .el-descriptions__cell { border-color: var(--border-color) !important; }
html.dark .el-upload-dragger { background: var(--bg-input) !important; border-color: var(--border-color) !important; }
html.dark .el-upload-dragger:hover { border-color: #409eff !important; }
html.dark .el-popper.is-light { background: var(--bg-card) !important; border-color: var(--border-color) !important; color: var(--text-primary) !important; }
html.dark .el-select-dropdown__item { color: var(--text-primary) !important; }
html.dark .el-select-dropdown__item.hover { background: var(--bg-hover) !important; }
html.dark .el-pagination { color: var(--text-primary) !important; }
html.dark .el-pager li { background: var(--bg-card) !important; color: var(--text-primary) !important; }
html.dark .el-dialog__title { color: var(--text-primary) !important; }
html.dark .el-dialog__headerbtn .el-dialog__close { color: var(--text-secondary) !important; }
html.dark .el-input-number { --el-fill-color-light: var(--bg-input); }
html.dark .el-button--text { color: var(--text-regular) !important; }
html.dark .el-button--text:hover { color: #409eff !important; }
html.dark .el-tag { --el-tag-bg-color: var(--bg-hover); --el-tag-border-color: var(--border-color); --el-tag-text-color: var(--text-primary); }
html.dark .el-loading-mask { background: rgba(22,33,62,.8) !important; }
html.dark .el-message { background: var(--bg-card) !important; border-color: var(--border-color) !important; }
html.dark .el-notification { background: var(--bg-card) !important; border-color: var(--border-color) !important; }
html.dark .el-notification__title { color: var(--text-primary) !important; }
html.dark .el-notification__content { color: var(--text-regular) !important; }

/* ── 深夜模式：行内样式元素覆盖 ── */
html.dark .media-modal { background: var(--bg-card) !important; }
html.dark .media-modal-header { border-bottom-color: var(--border-color); color: var(--text-primary); }
html.dark .media-modal-close { color: var(--text-secondary) !important; }
html.dark .media-modal-close:hover { color: var(--text-primary) !important; }
html.dark .media-modal-body { color: var(--text-primary); }
html.dark .media-modal-footer { border-top-color: var(--border-color); }
html.dark .media-slot { background: var(--bg-input) !important; border-color: var(--border-color) !important; }
html.dark .media-slot .slot-label { color: var(--text-regular) !important; }
html.dark .media-dialog-drop { border-color: var(--border-color); color: var(--text-secondary); }
html.dark .media-dialog-drop.dragover { border-color: #409eff; background: var(--bg-hover); }
html.dark .add-img-btn,
html.dark .add-media-btn { border-color: var(--border-color); color: var(--text-secondary); }
html.dark .add-img-btn:hover,
html.dark .add-media-btn:hover { border-color: #409eff; color: #409eff; }
html.dark .crop-modal { background: var(--bg-card); }

/* ── 深夜模式切换滑块 ── */
.dark-toggle {
    position: relative; display: inline-flex; align-items: center;
    width: 56px; height: 28px;
    border-radius: 14px; border: none;
    background: #dcdfe6; cursor: pointer;
    transition: background .3s; user-select: none;
    flex-shrink: 0;
}
.dark-toggle .toggle-track {
    position: absolute; top: 0; left: 0; right: 0; bottom: 0;
    border-radius: 14px; display: flex; align-items: center;
    justify-content: space-between; padding: 0 6px;
    font-size: 14px; line-height: 1;
}
.dark-toggle .toggle-track .icon-sun { opacity: 0; transition: opacity .3s; }
.dark-toggle .toggle-track .icon-moon { opacity: 1; transition: opacity .3s; }
.dark-toggle .toggle-knob {
    position: absolute; top: 3px; left: 3px;
    width: 22px; height: 22px;
    border-radius: 50%; background: #fff;
    box-shadow: 0 1px 3px rgba(0,0,0,.2);
    transition: transform .3s cubic-bezier(.4,0,.2,1);
}
/* 深夜模式下的滑块 */
html.dark .dark-toggle { background: #409eff; }
html.dark .dark-toggle .toggle-knob { transform: translateX(28px); }
html.dark .dark-toggle .toggle-track .icon-sun { opacity: 1; }
html.dark .dark-toggle .toggle-track .icon-moon { opacity: 0; }

/* ── 登录页 ──────────────────────────────────── */
.login-container {
    display: flex; align-items: center; justify-content: center;
    min-height: 100vh;
    background: linear-gradient(135deg, var(--login-gradient-1) 0%, var(--login-gradient-2) 100%);
}
.login-card {
    background: var(--bg-card); border-radius: 16px; padding: 48px 40px;
    width: 400px; box-shadow: 0 20px 60px var(--shadow-card);
    text-align: center;
}
.login-card h1 { margin-bottom: 32px; font-size: 24px; color: var(--text-primary); }

/* ── 顶部栏 ──────────────────────────────────── */
.app-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 0 24px; height: 60px;
    background: var(--bg-header); box-shadow: 0 1px 4px var(--shadow-header);
}
.app-header .logo { font-size: 20px; font-weight: 700; color: #409eff; }
.app-header .user-info { display: flex; align-items: center; gap: 16px; }
.app-header .balance { font-size: 15px; color: var(--text-regular); }

/* ── 主体 ────────────────────────────────────── */
.app-body { max-width: 1200px; margin: 24px auto; padding: 0 16px; }

.section-card { margin-bottom: 24px; }
.section-card .el-card__header { font-weight: 600; font-size: 16px; }

/* ── 创建任务表单 ────────────────────────────── */
.provider-checkbox {
    display: flex; align-items: center; gap: 8px;
    padding: 8px 12px; border: 1px solid var(--border-color); border-radius: 8px;
    margin-bottom: 8px; transition: all .2s;
}
.provider-checkbox:hover { border-color: #409eff; }
.provider-checkbox.active { border-color: #409eff; background: var(--bg-hover); }
.provider-checkbox .info { flex: 1; }
.provider-checkbox .info .name { font-weight: 600; }
.provider-checkbox .info .meta { font-size: 12px; color: var(--text-secondary); margin-top: 2px; }

.preset-toolbar {
    display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
    width: 100%; box-sizing: border-box;
    margin-bottom: 10px; padding: 8px 10px;
    border: 1px solid var(--border-color); border-radius: 8px; background: var(--bg-hover);
}
.preset-threshold-label { font-size: 12px; color: var(--text-secondary); }
.channel-preset-select.el-select { width: 420px; max-width: 100%; min-width: 0; flex: 0 1 420px; }
.channel-independent-select.el-select { width: 520px; max-width: 100%; min-width: 0; flex: 0 1 520px; }
.channel-preset-select .el-select__selected-item,
.channel-independent-select .el-select__selected-item { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.single-provider-toolbar { min-width: 0; max-width: 100%; flex-wrap: wrap; }
@media (max-width: 767px) {
    .channel-preset-select.el-select, .channel-independent-select.el-select { width: 100%; flex-basis: 100%; }
    .single-provider-toolbar { width: 100%; }
}
.preset-editor-head {
    display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
    margin-bottom: 12px; padding: 8px 10px;
    border: 1px solid var(--border-color); border-radius: 8px; background: var(--bg-hover);
}
.provider-order-list { display: flex; flex-direction: column; gap: 6px; margin-bottom: 10px; }
.provider-order-item {
    display: flex; align-items: center; gap: 8px;
    width: 100%; box-sizing: border-box;
    padding: 7px 10px; border: 1px dashed var(--border-color); border-radius: 8px;
    background: var(--bg-card); cursor: move;
}
.provider-order-item.drag-over { border-color: #409eff; background: var(--bg-hover); }
.provider-order-item .order-no {
    display: inline-flex; align-items: center; justify-content: center;
    width: 22px; height: 22px; border-radius: 50%; background: #409eff; color: #fff; font-size: 12px;
}
.provider-order-item .order-name { flex: 1; font-weight: 600; }
.preset-actions {
    display: flex; align-items: center; gap: 10px;
    width: 100%; box-sizing: border-box;
    margin: 8px 0 10px;
    padding-left: 2px;
}
.preset-list-table .preset-name-cell {
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.4;
    font-weight: 500;
    color: var(--text-primary);
}
.preset-list-table .el-table__cell .cell {
    line-height: 1.4;
}

/* ── 任务状态标签 ────────────────────────────── */
.status-tag { font-size: 12px; }
.task-channel-cell { line-height: 1.7; margin-bottom: 2px; }
.task-channel-cell:last-child { margin-bottom: 0; }
.muted-text { color: var(--text-secondary); }

/* ── API Key 详情抽屉：stat 卡片 ────────────── */
.api-key-stat-card {
    flex: 1;
    min-width: 160px;
    padding: 10px 12px;
    background: var(--bg-secondary, #fafbfc);
    border: 1px solid var(--border-light, #ebeef5);
    border-radius: 4px;
}
.api-key-overview-bar { box-sizing: border-box; }

/* ── 视频预览 ────────────────────────────────── */
.video-preview { width: 100%; max-height: 500px; border-radius: 8px; background: #000; }

/* ── 上传区域 ────────────────────────────────── */
.upload-area { width: 100%; }
.upload-area .el-upload { width: 100%; }
.upload-area .el-upload-dragger { width: 100%; }
.upload-thumb { max-width: 200px; max-height: 200px; border-radius: 8px; margin-top: 8px; }

/* ASR file states follow the existing media input controls and theme. */
.asr-source-selector { display: flex; gap: 24px; margin-bottom: 12px; }
.asr-source-selector .el-radio { margin-right: 0; }
.asr-audio-card, .asr-progress-panel {
    padding: 16px; border: 1px solid var(--border-color); border-radius: 8px;
    background: var(--bg-card); min-width: 0;
}
.asr-audio-card.dragover { border-color: var(--el-color-primary); background: var(--bg-hover); }
.asr-file-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 16px; }
.asr-file-info { display: flex; flex: 1; flex-direction: column; gap: 4px; min-width: 140px; line-height: 1.5; }
.asr-file-name { color: var(--text-primary); font-weight: 500; overflow-wrap: anywhere; }
.asr-file-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; }
.asr-file-actions .el-button + .el-button { margin-left: 0; }
.asr-audio-player { display: block; width: 100%; height: 40px; margin-top: 12px; }
.asr-audio-card + .asr-progress-panel, .asr-user-form .el-input + .asr-audio-card { margin-top: 12px; }
.asr-progress-track { height: 6px; margin-top: 14px; border-radius: 6px; overflow: hidden; background: var(--el-fill-color); }
.asr-progress-track > span { display: block; height: 100%; border-radius: inherit; background: var(--el-color-primary); transition: width .2s ease; }
.asr-progress-track.is-indeterminate > span { width: 35%; animation: asr-progress-slide 1.8s ease-in-out infinite; }
.asr-progress-meta { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 4px 16px; margin-top: 10px; color: var(--text-secondary); font-size: 12px; line-height: 1.6; }
.asr-progress-meta > span:first-child { flex: 1; min-width: 160px; overflow-wrap: anywhere; }
.asr-progress-meta > span:last-child { white-space: nowrap; }
.asr-quote-summary { margin-bottom: 6px; color: var(--text-secondary); font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.asr-quote-total { color: var(--text-regular); font-weight: 600; font-variant-numeric: tabular-nums; }
/* Keep the channel badge footprint stable while a model's routes are loading. */
.asr-routing-status {
    display: inline-flex; align-items: center; flex: 0 0 84px; min-height: 24px;
    color: var(--text-secondary); font-size: 12px; white-space: nowrap;
}
.asr-routing-status .el-tag { max-width: 100%; }
.aliyun-routing-status {
    display: inline-flex; align-items: center; flex: 0 0 84px; min-height: 24px;
    color: var(--text-secondary); font-size: 12px; white-space: nowrap;
}
.aliyun-voice-controls { width: 100%; min-width: 0; }
.asr-task-result { min-width: 0; }
.asr-result-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin-bottom: 6px; font-size: 12px; }
.asr-result-toolbar .el-button { margin-left: auto; }
.asr-result-text { max-height: 300px; overflow: auto; padding: 12px; background: var(--el-fill-color-light); border-radius: 6px; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 13px; line-height: 1.6; }
@keyframes asr-progress-slide { 0% { transform: translateX(-100%); } 100% { transform: translateX(290%); } }
@media (prefers-reduced-motion: reduce) {
    .asr-progress-track.is-indeterminate > span { animation: none; width: 100%; opacity: .45; }
    .asr-progress-track > span { transition: none; }
}

/* ASR advanced parameters follow the existing form controls and theme. */
.asr-user-form .asr-advanced { margin-bottom: 20px; }
.asr-advanced-fields { padding-top: 8px; }
.asr-advanced-fields > .el-form-item { margin-bottom: 16px; }
.asr-advanced-fields > .el-form-item:last-child { margin-bottom: 0; }
.asr-advanced-fields > .el-form-item > .el-form-item__content {
    min-width: 0; align-items: flex-start;
}
.asr-param-stack {
    display: flex; flex-direction: column; align-items: flex-start; gap: 6px;
    width: 100%; min-width: 0;
}
.asr-param-row {
    display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px;
    width: 100%; min-width: 0; min-height: 32px;
}
.asr-advanced-fields .asr-param-select { width: 360px; max-width: 100%; }
.asr-param-row > .el-switch { flex-shrink: 0; }
.asr-param-row > .el-switch + .asr-param-hint { flex: 1; min-width: 180px; }
.asr-param-row > .el-button + .el-button,
.asr-param-row > .el-checkbox { margin-left: 0; margin-right: 0; }
.asr-param-hint { color: var(--text-secondary); font-size: 12px; line-height: 1.6; }
.asr-param-error { color: var(--el-color-danger); font-size: 12px; line-height: 1.6; }
.asr-param-details { width: 100%; max-width: 720px; min-width: 0; }
.asr-param-details > .asr-param-hint { margin-top: 6px; }
.asr-table-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 8px; }
.asr-table-toolbar .el-button + .el-button { margin-left: 0; }
.asr-editor-table {
    width: 100%; overflow: auto; position: relative; border: 1px solid var(--border-color);
    border-radius: 6px; background: var(--bg-card); overscroll-behavior: contain;
    scrollbar-gutter: stable; line-height: 1.5;
    max-height: max(200px, calc(100vh - 260px));
    max-height: max(200px, calc(100dvh - 260px));
}
.asr-editor-notice { margin-bottom: 12px; }
.asr-hotwords-table { --asr-table-columns: 36px 52px minmax(0, 1fr) 100px 68px; --asr-table-min-width: 516px; }
.asr-context-table { --asr-table-columns: 36px 52px minmax(0, 1fr) minmax(0, 1fr) 68px; --asr-table-min-width: 636px; }
.asr-table-grid { display: grid; grid-template-columns: var(--asr-table-columns); min-width: var(--asr-table-min-width); width: 100%; }
.asr-table-grid > * { padding: 8px; min-width: 0; }
.asr-table-header {
    position: sticky; top: 0; height: 36px; z-index: 1; align-items: center;
    color: var(--text-regular); background: var(--el-fill-color-light, #f5f7fa);
    box-shadow: inset 0 -1px var(--border-color); font-size: 12px; font-weight: 600;
}
.asr-table-body { position: relative; min-width: var(--asr-table-min-width); }
.asr-table-row { position: absolute; top: 0; left: 0; align-items: center; border-bottom: 1px solid var(--border-light); }
.asr-table-row > * { padding-top: 7px; padding-bottom: 7px; }
.asr-table-row:hover { background: var(--bg-hover); }
.asr-table-row .el-select { width: 100%; }
.asr-row-number { color: var(--text-secondary); text-align: center; font-size: 12px; }
.asr-row-selection { display: flex; justify-content: center; }
.asr-row-selection .el-checkbox { height: 20px; margin: 0; }
.asr-context-table .asr-table-row { align-items: start; }
.asr-context-table .asr-table-row .el-textarea__inner { line-height: 1.5; }
.asr-table-empty { display: grid; place-items: center; height: calc(100% - 36px); min-height: 100px; padding: 16px; color: var(--text-secondary); font-size: 13px; }
.asr-resource-drawer .el-drawer__header { margin-bottom: 16px; }
.asr-resource-drawer .el-drawer__body { padding-top: 0; display: flex; flex-direction: column; min-height: 0; overflow: hidden; }
.asr-resource-drawer .el-drawer__body > * { flex-shrink: 0; }
.asr-resource-drawer .asr-editor-table, .asr-resource-drawer .asr-resource-list { flex: 1 1 auto; min-height: 200px; }
.asr-parameter-drawer .asr-param-details { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; }
.asr-parameter-drawer .asr-param-details > .asr-table-toolbar,
.asr-parameter-drawer .asr-param-details > .asr-param-hint { flex-shrink: 0; }
.asr-resource-drawer .el-drawer__footer:empty { display: none; }
.asr-resource-model { display: flex; flex-wrap: wrap; gap: 6px 12px; margin-bottom: 14px; font-size: 12px; line-height: 1.6; }
.asr-resource-model > span { color: var(--text-secondary); }
.asr-resource-model > strong { font-weight: 500; color: var(--text-regular); overflow-wrap: anywhere; }
.asr-resource-alert { margin-bottom: 12px; }
.asr-resource-toolbar .el-button + .el-button { margin-left: 0; }
.asr-resource-toolbar .asr-resource-search { flex: 1; min-width: 160px; max-width: 240px; margin-left: auto; }
.asr-resource-notice { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; color: var(--text-secondary); font-size: 12px; }
.asr-resource-list .el-table__empty-block { min-height: 88px; }
.asr-resource-actions { display: flex; align-items: center; gap: 2px; white-space: nowrap; }
.asr-resource-actions .el-button { margin: 0; padding: 4px 6px; }
.asr-resource-channel { overflow-wrap: anywhere; line-height: 1.5; }
.asr-resource-selected { color: var(--el-color-success); font-size: 12px; }
.asr-resource-row-error { color: var(--el-color-danger); font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.asr-resource-editor-head { display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; gap: 8px; margin-bottom: 12px; }
.asr-resource-entries { --asr-table-columns: 36px 48px minmax(0, 1fr) 90px 64px; --asr-table-min-width: 456px; }
.asr-resource-entries.has-language { --asr-table-columns: 36px 48px minmax(0, 1fr) 90px 116px 64px; --asr-table-min-width: 576px; }
.asr-resource-validation { margin-top: 8px; }
.asr-filter-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (min-width: 768px) {
    .asr-user-form .asr-advanced-fields > .el-form-item { display: flex; flex-direction: row; }
    .asr-advanced-fields > .el-form-item > .el-form-item__label {
        display: flex; flex: 0 0 124px; width: 124px; height: auto;
        justify-content: flex-start; text-align: left; line-height: 32px;
        margin: 0; padding: 0 12px 0 0;
    }
    .asr-advanced-fields > .el-form-item > .el-form-item__content { flex: 1; width: auto; }
}
@media (max-width: 767px) {
    .asr-advanced-fields .asr-param-select { width: 100%; }
    .asr-filter-fields { grid-template-columns: minmax(0, 1fr); }
}

/* ── Admin 页面 ──────────────────────────────── */
.admin-body { max-width: 1400px; margin: 24px auto; padding: 0 16px; }
.key-tag { margin: 4px; }
.provider-section { margin-bottom: 24px; padding: 16px; border: 1px solid var(--border-light); border-radius: 8px; }
.provider-section h3 { margin-bottom: 12px; color: var(--text-primary); }
.group-row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 8px 0; border-bottom: 1px solid var(--border-lighter); }
.group-row:last-child { border-bottom: none; }
