.page-header[data-v-814a2180]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--spacing-lg)}.page-header-left[data-v-814a2180]{flex:1}.page-title[data-v-814a2180]{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);line-height:var(--line-height-tight)}.page-desc[data-v-814a2180]{font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:4px;line-height:var(--line-height-normal)}.page-header-right[data-v-814a2180]{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0}.stat-card[data-v-bfaaf15e]{background:var(--bg-surface);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm);border:1px solid var(--border-light);display:flex;gap:16px;align-items:flex-start;transition:transform var(--transition-fast),box-shadow var(--transition-fast);cursor:default}.stat-card[data-v-bfaaf15e]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-icon-box[data-v-bfaaf15e]{width:48px;height:48px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon-box--primary[data-v-bfaaf15e]{background:var(--brand-primary-bg);color:var(--brand-primary)}.stat-icon-box--success[data-v-bfaaf15e]{background:var(--brand-success-bg);color:var(--brand-success)}.stat-icon-box--warning[data-v-bfaaf15e]{background:var(--brand-warning-bg);color:#d4a017}.stat-icon-box--danger[data-v-bfaaf15e]{background:var(--brand-danger-bg);color:var(--brand-danger)}.stat-icon-box--info[data-v-bfaaf15e]{background:var(--brand-info-bg);color:var(--brand-info)}.stat-body[data-v-bfaaf15e]{flex:1;min-width:0}.stat-value[data-v-bfaaf15e]{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary);line-height:var(--line-height-tight);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-label[data-v-bfaaf15e]{font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:4px}.stat-trend[data-v-bfaaf15e]{display:inline-flex;align-items:center;gap:2px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);margin-top:6px;padding:2px 8px;border-radius:var(--radius-full)}.stat-trend.is-up[data-v-bfaaf15e]{color:var(--brand-success);background:var(--brand-success-bg)}.stat-trend.is-down[data-v-bfaaf15e]{color:var(--brand-danger);background:var(--brand-danger-bg)}.stat-skeleton[data-v-bfaaf15e]{display:inline-block;width:80px;height:32px;background:linear-gradient(90deg,var(--gray-200) 25%,var(--gray-100) 50%,var(--gray-200) 75%);background-size:200% 100%;animation:skeleton-shimmer-bfaaf15e 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes skeleton-shimmer-bfaaf15e{0%{background-position:200% 0}to{background-position:-200% 0}}.status-tag[data-v-2b43e854]{display:inline-flex;align-items:center;gap:5px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:2px 10px;border-radius:var(--radius-full);line-height:20px;white-space:nowrap}.status-tag-dot[data-v-2b43e854]{width:6px;height:6px;border-radius:50%;flex-shrink:0}.status-tag--success[data-v-2b43e854]{color:#008767;background:var(--brand-success-bg)}.status-tag--success .status-tag-dot[data-v-2b43e854]{background:var(--brand-success)}.status-tag--warning[data-v-2b43e854]{color:#b8860b;background:var(--brand-warning-bg)}.status-tag--warning .status-tag-dot[data-v-2b43e854]{background:var(--brand-warning)}.status-tag--danger[data-v-2b43e854]{color:#c23b3b;background:var(--brand-danger-bg)}.status-tag--danger .status-tag-dot[data-v-2b43e854]{background:var(--brand-danger)}.status-tag--info[data-v-2b43e854]{color:#2e6ab0;background:var(--brand-info-bg)}.status-tag--info .status-tag-dot[data-v-2b43e854]{background:var(--brand-info)}.status-tag--default[data-v-2b43e854]{color:var(--text-secondary);background:var(--gray-100)}.status-tag--default .status-tag-dot[data-v-2b43e854]{background:var(--gray-400)}.empty-state[data-v-65d0111b]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 20px;text-align:center}.empty-icon[data-v-65d0111b]{margin-bottom:16px;opacity:.6}.empty-title[data-v-65d0111b]{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--text-secondary);margin-bottom:4px}.empty-desc[data-v-65d0111b]{font-size:var(--font-size-sm);color:var(--text-tertiary)}.empty-actions[data-v-65d0111b]{margin-top:20px}.search-panel[data-v-ce0a07ea]{background:var(--bg-surface);border-radius:var(--radius-lg);padding:20px 20px 0;margin-bottom:var(--spacing-md);box-shadow:var(--shadow-sm);border:1px solid var(--border-light)}.search-form[data-v-ce0a07ea]{margin-bottom:0}.search-row[data-v-ce0a07ea]{display:flex;flex-wrap:wrap;align-items:center}.search-row[data-v-ce0a07ea] .el-form-item{margin-right:16px;margin-bottom:20px}.search-actions[data-v-ce0a07ea]{margin-left:auto}.fade-slide-enter-active[data-v-ce0a07ea],.fade-slide-leave-active[data-v-ce0a07ea]{transition:all var(--transition-base);overflow:hidden}.fade-slide-enter-from[data-v-ce0a07ea],.fade-slide-leave-to[data-v-ce0a07ea]{opacity:0;max-height:0;margin-bottom:0}.fade-slide-enter-to[data-v-ce0a07ea],.fade-slide-leave-from[data-v-ce0a07ea]{opacity:1;max-height:200px}.batch-actions[data-v-8563225c]{display:flex;align-items:center;gap:var(--spacing-md);padding:10px 16px;background:var(--bg-sidebar-hover);border:1px solid var(--brand-primary-light);border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.batch-count[data-v-8563225c]{font-size:var(--font-size-sm);color:var(--text-secondary)}.batch-count strong[data-v-8563225c]{color:var(--brand-primary);font-weight:var(--font-weight-semibold)}.batch-buttons[data-v-8563225c]{display:flex;gap:var(--spacing-sm);flex:1}.fade-slide-enter-active[data-v-8563225c],.fade-slide-leave-active[data-v-8563225c]{transition:all var(--transition-base)}.fade-slide-enter-from[data-v-8563225c],.fade-slide-leave-to[data-v-8563225c]{opacity:0;transform:translateY(-8px)}.table-page[data-v-5b3b5bf4]{height:100%;display:flex;flex-direction:column}.table-card[data-v-5b3b5bf4]{flex:1;background:var(--bg-surface);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm);border:1px solid var(--border-light);display:flex;flex-direction:column;overflow:hidden}.table-card[data-v-5b3b5bf4] .el-table{flex:1}.table-header[data-v-5b3b5bf4]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.table-pagination[data-v-5b3b5bf4]{display:flex;justify-content:flex-end;margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border-light)}.dialog-footer[data-v-3c61e383]{display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.image-upload-wrap[data-v-feb1cf6e],.upload-drag-area[data-v-feb1cf6e]{width:100%}.upload-drag-area[data-v-feb1cf6e] .el-upload-dragger{border:2px dashed var(--border-default);border-radius:var(--radius-lg);background:var(--bg-input);padding:40px 20px;transition:all var(--transition-base);height:auto;display:flex;flex-direction:column;align-items:center;justify-content:center}.upload-drag-area[data-v-feb1cf6e] .el-upload-dragger:hover{border-color:var(--brand-primary);background:var(--bg-sidebar-hover)}.upload-drag-icon[data-v-feb1cf6e]{font-size:40px;color:var(--brand-primary-light);margin-bottom:12px}.upload-drag-text[data-v-feb1cf6e]{font-size:var(--font-size-base);color:var(--text-secondary);line-height:1.6}.upload-drag-text em[data-v-feb1cf6e]{color:var(--brand-primary);font-style:normal;cursor:pointer}.upload-drag-tip[data-v-feb1cf6e]{font-size:var(--font-size-xs);color:var(--text-tertiary);margin-top:8px}.upload-grid[data-v-feb1cf6e]{display:flex;flex-wrap:wrap;gap:12px}.upload-item[data-v-feb1cf6e]{position:relative;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-light);cursor:pointer;transition:all var(--transition-fast)}.upload-item[data-v-feb1cf6e]:hover{border-color:var(--brand-primary)}.upload-thumb[data-v-feb1cf6e]{width:100%;height:100%;object-fit:cover}.upload-actions[data-v-feb1cf6e]{position:absolute;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;gap:8px;opacity:0;transition:opacity var(--transition-fast)}.upload-item:hover .upload-actions[data-v-feb1cf6e]{opacity:1}.upload-actions .el-button[data-v-feb1cf6e]{color:#fff;background:#fff3!important}.upload-actions .el-button[data-v-feb1cf6e]:hover{background:#ffffff59!important}.upload-cover-tag[data-v-feb1cf6e]{position:absolute;top:6px;left:6px;background:var(--brand-primary);color:#fff;font-size:11px;padding:2px 8px;border-radius:var(--radius-sm);font-weight:var(--font-weight-medium)}.upload-trigger[data-v-feb1cf6e]{border:2px dashed var(--border-default);border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-base);font-size:var(--font-size-sm);background:var(--bg-input)}.upload-trigger[data-v-feb1cf6e]:hover{border-color:var(--brand-primary);color:var(--brand-primary);background:var(--bg-sidebar-hover)}.upload-progress[data-v-feb1cf6e]{margin-top:12px;padding:0 4px}.preview-body[data-v-feb1cf6e]{display:flex;align-items:center;justify-content:center}.preview-image[data-v-feb1cf6e]{max-width:100%;max-height:70vh;border-radius:var(--radius-md)}.rich-editor-wrap[data-v-c3d7467d]{border:1px solid var(--border-default);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-surface);transition:border-color var(--transition-fast)}.rich-editor-wrap[data-v-c3d7467d]:focus-within{border-color:var(--brand-primary)}.editor-toolbar[data-v-c3d7467d]{display:flex;flex-wrap:wrap;gap:2px;padding:6px 8px;background:var(--gray-50);border-bottom:1px solid var(--border-light)}.toolbar-btn[data-v-c3d7467d]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-fast)}.toolbar-btn[data-v-c3d7467d]:hover{background:var(--gray-200);color:var(--text-primary)}.toolbar-btn.active[data-v-c3d7467d]{background:var(--bg-sidebar-hover);color:var(--brand-primary)}.toolbar-btn--bold[data-v-c3d7467d]{font-weight:700}.toolbar-btn--italic[data-v-c3d7467d]{font-style:italic}.toolbar-btn--underline[data-v-c3d7467d]{text-decoration:underline}.toolbar-btn--strikethrough[data-v-c3d7467d]{text-decoration:line-through}.editor-content[data-v-c3d7467d]{padding:16px;outline:none;min-height:300px;font-size:var(--font-size-base);line-height:1.8;color:var(--text-primary);overflow-y:auto;word-break:break-word}.editor-content[data-v-c3d7467d]:empty:before{content:attr(placeholder);color:var(--text-placeholder);pointer-events:none}.editor-content.readonly[data-v-c3d7467d]{cursor:default}.editor-content[data-v-c3d7467d] h1{font-size:24px;font-weight:700;margin:16px 0 8px;line-height:1.4}.editor-content[data-v-c3d7467d] h2{font-size:20px;font-weight:600;margin:14px 0 6px;line-height:1.4}.editor-content[data-v-c3d7467d] h3{font-size:16px;font-weight:600;margin:12px 0 4px}.editor-content[data-v-c3d7467d] p{margin:4px 0;min-height:1.8em}.editor-content[data-v-c3d7467d] ul,.editor-content[data-v-c3d7467d] ol{padding-left:24px;margin:6px 0}.editor-content[data-v-c3d7467d] li{margin:2px 0}.editor-content[data-v-c3d7467d] blockquote{border-left:3px solid var(--brand-primary);padding:6px 12px;margin:8px 0;background:var(--bg-sidebar-hover);color:var(--text-secondary)}.editor-content[data-v-c3d7467d] a{color:var(--brand-primary);text-decoration:underline}.editor-content[data-v-c3d7467d] img{max-width:100%;border-radius:var(--radius-md);margin:8px 0}.editor-content[data-v-c3d7467d] b,.editor-content[data-v-c3d7467d] strong{font-weight:600}.editor-content[data-v-c3d7467d] i,.editor-content[data-v-c3d7467d] em{font-style:italic}.editor-content[data-v-c3d7467d] s,.editor-content[data-v-c3d7467d] strike{text-decoration:line-through}.editor-content[data-v-c3d7467d] u{text-decoration:underline}.toolbar-btn[data-key=divider][data-v-c3d7467d]{width:1px;padding:0;margin:4px;background:var(--border-light);cursor:default;pointer-events:none}
