.gallery-page[data-v-6c40ddda]{height:calc(100vh - var(--console-header-h,60px) - var(--console-breadcrumb-h,0px));box-sizing:border-box;flex-direction:column;padding:0 16px 16px;overflow:hidden}.gallery-layout[data-v-6c40ddda],.gallery-page[data-v-6c40ddda]{min-height:0;display:flex}.gallery-layout[data-v-6c40ddda]{flex:1;align-items:stretch;gap:12px;min-width:0}.gallery-sidebar[data-v-6c40ddda]{background:#fff;border:1px solid #e5e6eb;border-radius:4px;flex-direction:column;flex-shrink:0;width:200px;display:flex;overflow:visible}.gallery-sidebar.is-collapsed[data-v-6c40ddda]{width:44px}.gallery-sidebar__header[data-v-6c40ddda]{z-index:20;box-sizing:border-box;background:#f2f3f5;border-bottom:1px solid #e5e6eb;flex-shrink:0;gap:8px;min-height:44px;padding:10px 12px;display:flex;position:relative}.gallery-sidebar__fold[data-v-6c40ddda],.gallery-sidebar__header[data-v-6c40ddda]{align-items:center}.gallery-sidebar__fold[data-v-6c40ddda]{color:#4e5969;cursor:pointer;appearance:none;background:0 0;border:none;margin-left:auto;padding:2px;display:inline-flex}.gallery-sidebar__fold[data-v-6c40ddda]:hover{color:var(--el-color-primary)}.gallery-sidebar__cats[data-v-6c40ddda]{flex:1;min-height:0;padding:8px 0 10px;overflow-y:auto}.gallery-sidebar__cat[data-v-6c40ddda]{color:#1f2329;text-align:left;cursor:pointer;box-sizing:border-box;appearance:none;background:0 0;border:none;align-items:center;gap:2px;width:100%;padding:8px 12px 8px 10px;font-size:13px;line-height:1.4;display:flex}.gallery-sidebar__cat[data-v-6c40ddda]:hover:not(.is-active){color:var(--el-color-primary);background:#f7f8fa}.gallery-sidebar__cat:hover:not(.is-active) .gallery-sidebar__caret[data-v-6c40ddda]{color:var(--el-color-primary)}.gallery-sidebar__cat.is-active[data-v-6c40ddda]{color:#fff;background:var(--el-color-primary);font-weight:500}.gallery-sidebar__cat.is-active .gallery-sidebar__caret[data-v-6c40ddda]{color:#fff}.gallery-sidebar__caret[data-v-6c40ddda]{color:#4e5969;cursor:pointer;appearance:none;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;margin-right:2px;padding:0;transition:transform .15s;display:inline-flex}.gallery-sidebar__caret.is-expanded[data-v-6c40ddda]{transform:rotate(90deg)}.gallery-sidebar__caret--spacer[data-v-6c40ddda]{pointer-events:none;cursor:default;visibility:hidden}.gallery-sidebar__cat-label[data-v-6c40ddda]{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.gallery-sidebar__cat-count[data-v-6c40ddda]{font-variant-numeric:tabular-nums;flex-shrink:0;margin-left:8px}.album-trigger[data-v-6c40ddda]{color:#3b82f6;cursor:pointer;appearance:none;background:#eef2ff;border:1px solid #0000;border-radius:4px;align-items:center;gap:4px;padding:4px 10px;font-size:13px;line-height:1.4;display:inline-flex}.library-switch[data-v-6c40ddda]{flex-shrink:0;position:relative}.library-menu[data-v-6c40ddda]{z-index:30;background:#fff;border:1px solid #e5e6eb;border-radius:6px;width:max-content;min-width:300px;padding:6px 0 0;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 6px 18px #0f172a1f}.library-menu__list[data-v-6c40ddda]{max-height:280px;margin:0;padding:0;list-style:none;overflow-y:auto}.library-menu__list.is-dragging[data-v-6c40ddda]{cursor:-webkit-grabbing;cursor:grabbing;-webkit-user-select:none;user-select:none}.library-menu__item[data-v-6c40ddda]{cursor:pointer;box-sizing:border-box;align-items:center;gap:8px;min-height:36px;padding:8px 12px;transition:opacity .15s,background-color .15s,transform .15s;display:flex;position:relative}.library-menu__item[data-v-6c40ddda]:hover{background:#f5f7fa}.library-menu__item:hover .library-menu__actions[data-v-6c40ddda]{pointer-events:auto;opacity:1}.library-menu__item.is-active[data-v-6c40ddda]{background:#eef5ff}.library-menu__item.is-dragging[data-v-6c40ddda]{opacity:.4;background:#f0f7ff;transform:scale(.98)}.library-menu__item.is-drop-after[data-v-6c40ddda]:after,.library-menu__item.is-drop-before[data-v-6c40ddda]:before{z-index:2;pointer-events:none;background:var(--el-color-primary);content:"";border-radius:2px;height:3px;position:absolute;left:8px;right:8px;box-shadow:0 0 0 2px #409eff33}.library-menu__item.is-drop-after[data-v-6c40ddda],.library-menu__item.is-drop-before[data-v-6c40ddda]{background:#f0f7ff}.library-menu__item.is-drop-before[data-v-6c40ddda]:before{top:0}.library-menu__item.is-drop-after[data-v-6c40ddda]:after{bottom:0}.library-sort-move[data-v-6c40ddda]{transition:transform .18s}.library-menu__drag[data-v-6c40ddda]{color:#c0c4cc;cursor:-webkit-grab;cursor:grab;flex-shrink:0;display:inline-flex}.library-menu__drag[data-v-6c40ddda]:active{cursor:-webkit-grabbing;cursor:grabbing}.library-menu__tag[data-v-6c40ddda]{color:#1d4ed8;text-overflow:ellipsis;white-space:nowrap;border-radius:4px;flex:1;align-items:center;min-width:0;max-width:200px;padding:2px 10px;font-size:13px;line-height:1.5;display:inline-flex;overflow:hidden}.library-menu__drag--spacer[data-v-6c40ddda]{pointer-events:none;visibility:hidden;width:14px}.library-menu__open-badge[data-v-6c40ddda]{color:#16a34a;white-space:nowrap;background:#e8f8ef;border-radius:3px;flex-shrink:0;margin-left:4px;padding:0 6px;font-size:12px;line-height:18px}.library-menu__actions[data-v-6c40ddda]{pointer-events:none;opacity:0;flex-shrink:0;gap:2px;margin-left:auto;transition:opacity .12s}.library-menu__act[data-v-6c40ddda],.library-menu__actions[data-v-6c40ddda]{align-items:center;display:inline-flex}.library-menu__act[data-v-6c40ddda]{width:24px;height:24px;color:var(--el-color-primary);cursor:pointer;appearance:none;background:0 0;border:none;border-radius:4px;justify-content:center;padding:0}.library-menu__act[data-v-6c40ddda]:hover:not(:disabled){background:#e8f3ff}.library-menu__act[data-v-6c40ddda]:disabled{color:#c0c4cc;cursor:not-allowed}.library-menu__footer[data-v-6c40ddda]{border-top:1px solid #e5e6eb;padding:10px 14px 12px}.library-menu__create[data-v-6c40ddda]{color:var(--el-color-primary);cursor:pointer;appearance:none;background:0 0;border:none;padding:0;font-size:13px}.library-menu__create[data-v-6c40ddda]:hover{text-decoration:underline}.edit-form[data-v-6c40ddda],.lib-form[data-v-6c40ddda]{flex-direction:column;gap:16px}.edit-form[data-v-6c40ddda],.edit-form__row[data-v-6c40ddda],.lib-form[data-v-6c40ddda]{display:flex}.edit-form__row[data-v-6c40ddda]{align-items:center;gap:10px}.edit-form__row .el-input[data-v-6c40ddda],.edit-form__row .el-select[data-v-6c40ddda]{flex:1}.edit-form__label[data-v-6c40ddda]{color:#1f2329;text-align:right;flex-shrink:0;width:96px;font-size:14px;line-height:32px}.edit-form__label .req[data-v-6c40ddda]{color:var(--el-color-danger);margin-right:2px}.edit-form__thumb[data-v-6c40ddda]{color:#9ca3af;background:#f7f8fa;border:1px solid #e5e6eb;border-radius:4px;justify-content:center;align-items:center;width:72px;height:72px;font-size:12px;display:flex;overflow:hidden}.edit-form__thumb img[data-v-6c40ddda]{object-fit:cover;width:100%;height:100%;display:block}.edit-form__id[data-v-6c40ddda]{color:#1f2329;word-break:break-all;gap:4px;font-size:14px;line-height:32px;display:inline-flex}.edit-form__id[data-v-6c40ddda],.lib-form__row[data-v-6c40ddda]{align-items:center}.lib-form__row[data-v-6c40ddda]{gap:10px;display:flex}.lib-form__row--top[data-v-6c40ddda]{align-items:flex-start}.lib-form__row .el-input[data-v-6c40ddda],.lib-form__row .el-textarea[data-v-6c40ddda]{flex:1}.lib-form__label[data-v-6c40ddda]{color:#1f2329;text-align:right;flex-shrink:0;justify-content:flex-end;align-items:center;gap:2px;width:96px;font-size:14px;line-height:32px;display:inline-flex}.lib-form__label .req[data-v-6c40ddda]{color:var(--el-color-danger);margin-right:2px}.lib-form__help[data-v-6c40ddda]{color:#9ca3af;cursor:help;font-size:14px}.lib-form__tip[data-v-6c40ddda]{max-width:220px;font-size:13px;line-height:1.5}.lib-form__meta[data-v-6c40ddda]{color:#4b5563;grid-template-columns:1fr 1fr;gap:10px 24px;margin-top:4px;padding-left:106px;font-size:13px;line-height:1.5;display:grid}.cat-settings[data-v-6c40ddda]{padding:0;font-size:13px}.cat-settings-body[data-v-6c40ddda]{min-height:48px}.cat-create-row[data-v-6c40ddda]{align-items:center;gap:10px;display:flex}.cat-create-row--indent[data-v-6c40ddda]{flex:1;min-width:0}.cat-create-row--child[data-v-6c40ddda]{box-sizing:border-box;width:100%;margin-top:8px;padding-left:22px}.cat-create-btn[data-v-6c40ddda]{color:#86909c;cursor:pointer;appearance:none;background:#fff;border:1px solid #d0d3d9;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:color .15s,border-color .15s;display:inline-flex}.cat-create-btn[data-v-6c40ddda]:hover{color:var(--el-color-primary);border-color:var(--el-color-primary)}.cat-create-btn--ok[data-v-6c40ddda]:hover{color:var(--el-color-success);border-color:var(--el-color-success)}.cat-settings-list[data-v-6c40ddda]{margin:0;padding:0;list-style:none}.cat-settings-list__item[data-v-6c40ddda]{color:#1f2329;box-sizing:border-box;border-bottom:1px solid #eef0f3;flex-wrap:wrap;align-items:center;gap:4px;min-height:40px;padding:6px 0;font-size:14px;line-height:1.4;display:flex}.cat-settings-list__item[data-v-6c40ddda]:last-child{border-bottom:none}.cat-settings-list__name[data-v-6c40ddda]{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cat-settings-list__ops[data-v-6c40ddda]{flex-shrink:0;gap:2px;margin-left:auto}.cat-settings-list__act[data-v-6c40ddda],.cat-settings-list__ops[data-v-6c40ddda]{align-items:center;display:inline-flex}.cat-settings-list__act[data-v-6c40ddda]{color:#86909c;cursor:pointer;appearance:none;background:0 0;border:none;border-radius:4px;justify-content:center;width:28px;height:28px;padding:0}.cat-settings-list__act[data-v-6c40ddda]:hover{color:var(--el-color-primary);background:#f2f3f5}.cat-tree-caret[data-v-6c40ddda]{color:#86909c;cursor:pointer;appearance:none;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-right:2px;padding:0;transition:transform .15s;display:inline-flex}.cat-tree-caret.is-expanded[data-v-6c40ddda]{transform:rotate(90deg)}.cat-tree-caret--spacer[data-v-6c40ddda]{pointer-events:none;cursor:default;visibility:hidden}.cat-settings-divider[data-v-6c40ddda]{background:#e5e6eb;height:1px;margin:14px 0}.cat-settings-add[data-v-6c40ddda]{height:auto;padding:0;font-size:14px}.gallery-main[data-v-6c40ddda]{flex-direction:column;flex:1;overflow:hidden}.gallery-main[data-v-6c40ddda],.gallery-main__scroll[data-v-6c40ddda]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-box-flex:1;min-width:0;min-height:0;display:flex}.gallery-main__scroll[data-v-6c40ddda]{flex-direction:column;flex:1 1 0;gap:12px;overflow:hidden auto}.filter-bar[data-v-6c40ddda]{background:#fff;border:1px solid #e4e9f0;border-radius:8px;flex-direction:column;flex-shrink:0;padding:14px 16px}.filter-bar[data-v-6c40ddda],.filter-row[data-v-6c40ddda]{gap:10px;display:flex}.filter-row[data-v-6c40ddda]{flex-wrap:wrap;align-items:flex-start}.filter-row--content[data-v-6c40ddda],.filter-row--input[data-v-6c40ddda]{align-items:center}.filter-row--content[data-v-6c40ddda]{flex-wrap:nowrap}.filter-label[data-v-6c40ddda]{color:#4b5563;text-align:right;flex-shrink:0;min-width:78px;font-size:13px;line-height:28px}.filter-tags[data-v-6c40ddda]{flex-wrap:wrap;gap:6px;padding-top:2px;display:flex}.filter-tag[data-v-6c40ddda]{color:#4b5563;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:3px;padding:3px 12px;font-size:13px;transition:all .15s}.filter-tag[data-v-6c40ddda]:hover{color:var(--el-color-primary)}.filter-tag.is-active[data-v-6c40ddda]{color:#fff;background:var(--el-color-primary);font-weight:500}.filter-keyword[data-v-6c40ddda]{flex:1;min-width:200px;max-width:100%}.filter-actions[data-v-6c40ddda]{gap:8px}.action-bar[data-v-6c40ddda],.filter-actions[data-v-6c40ddda]{flex-shrink:0;align-items:center;display:flex}.action-bar[data-v-6c40ddda]{background:#fff;border:1px solid #e4e9f0;border-radius:8px;flex-wrap:wrap;gap:12px;padding:10px 16px}.action-bar__left[data-v-6c40ddda]{gap:8px}.action-bar__left[data-v-6c40ddda],.action-bar__right[data-v-6c40ddda]{flex-wrap:wrap;align-items:center;min-width:0;display:flex}.action-bar__right[data-v-6c40ddda]{gap:12px;margin-left:auto}.action-bar__capacity[data-v-6c40ddda]{color:#4b5563;flex-shrink:0;align-items:center;gap:8px;font-size:13px;display:flex}.capacity-badge[data-v-6c40ddda]{color:#d46b08;background:#fff7e8;border:1px solid #ffd591;border-radius:3px;justify-content:center;padding:1px 6px;font-size:12px;line-height:1.4}.capacity-badge[data-v-6c40ddda],.capacity-text[data-v-6c40ddda]{align-items:center;display:inline-flex}.capacity-text[data-v-6c40ddda]{gap:4px}.view-toggle[data-v-6c40ddda]{border:1px solid #d0d3d9;border-radius:4px;overflow:hidden}.view-toggle[data-v-6c40ddda],.view-toggle__btn[data-v-6c40ddda]{display:inline-flex}.view-toggle__btn[data-v-6c40ddda]{color:#6b7280;cursor:pointer;appearance:none;background:#fff;border:none;justify-content:center;align-items:center;width:32px;height:28px}.view-toggle__btn+.view-toggle__btn[data-v-6c40ddda]{border-left:1px solid #d0d3d9}.view-toggle__btn.is-active[data-v-6c40ddda]{color:var(--el-color-primary);background:#f0f5ff}.batch-bar[data-v-6c40ddda]{background:#f5f7fa;border:1px solid #e4e9f0;border-radius:8px;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:12px;padding:10px 16px;display:flex}.batch-bar__selected[data-v-6c40ddda]{color:#6b7280;font-size:13px}.batch-bar__pager[data-v-6c40ddda]{flex-wrap:wrap;align-items:center;gap:10px;margin-left:auto;display:flex}.list-panel[data-v-6c40ddda]{background:#fff;border:1px solid #e4e9f0;border-radius:8px;flex-shrink:0;width:100%;min-width:0;overflow:hidden}.gallery-table[data-v-6c40ddda]{width:100%}.thumb[data-v-6c40ddda]{background:#f7f8fa;border:1px solid #e5e6eb;border-radius:4px;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto;display:flex;overflow:hidden}.thumb__img[data-v-6c40ddda]{object-fit:cover;width:100%;height:100%}.thumb__placeholder[data-v-6c40ddda]{color:#9ca3af;font-size:12px}.col-header-tip[data-v-6c40ddda]{align-items:center;gap:4px;display:inline-flex}.col-header-tip__icon[data-v-6c40ddda]{color:#9ca3af;cursor:help;font-size:14px}.col-header-tip__content[data-v-6c40ddda]{max-width:260px;font-size:13px;line-height:1.5}.cell-name[data-v-6c40ddda],.cell-spec[data-v-6c40ddda],.cell-time[data-v-6c40ddda]{color:#1f2329;font-size:13px;line-height:1.55}.cell-name__id[data-v-6c40ddda]{gap:4px}.cell-name__id[data-v-6c40ddda],.copy-btn[data-v-6c40ddda]{align-items:center;display:inline-flex}.copy-btn[data-v-6c40ddda]{color:#86909c;flex-shrink:0;justify-content:center;height:auto;min-height:auto;margin:0;padding:0}.copy-btn[data-v-6c40ddda]:hover{color:var(--el-color-primary)}.cell-time[data-v-6c40ddda]{white-space:nowrap}.op-actions[data-v-6c40ddda]{flex-direction:column;align-items:flex-start;gap:0;display:flex}.op-actions[data-v-6c40ddda] .el-button{height:auto;margin-left:0;padding:2px 0}.grid-view[data-v-6c40ddda]{padding:16px}.grid-view__empty[data-v-6c40ddda]{color:#9ca3af;text-align:center;padding:40px 0;font-size:13px}.grid-view__list[data-v-6c40ddda]{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.grid-card[data-v-6c40ddda]{background:#fff;border-radius:6px;position:relative;overflow:hidden}.grid-card[data-v-6c40ddda]:hover{z-index:2;box-shadow:0 4px 12px #0f172a1a}.grid-card:hover .grid-card__meta[data-v-6c40ddda]{opacity:1;visibility:visible}.grid-card__check[data-v-6c40ddda]{z-index:3;position:absolute;top:8px;left:8px}.grid-card__thumb[data-v-6c40ddda]{color:#9ca3af;aspect-ratio:1;background:#f7f8fa;border-radius:4px;justify-content:center;align-items:center;width:100%;font-size:12px;display:flex;overflow:hidden}.grid-card__thumb img[data-v-6c40ddda]{object-fit:cover;width:100%;height:100%}.grid-card__name[data-v-6c40ddda]{color:#1f2329;text-overflow:ellipsis;white-space:nowrap;margin-top:8px;font-size:13px;overflow:hidden}.grid-card__ops[data-v-6c40ddda]{gap:8px;margin-top:4px;display:flex}.grid-card__meta[data-v-6c40ddda]{z-index:2;color:#1f2329;opacity:0;visibility:hidden;background:#fff;padding:10px 12px 12px;font-size:12px;line-height:1.7;transition:opacity .15s;position:absolute;bottom:0;left:0;right:0}.grid-card__meta-row[data-v-6c40ddda]{white-space:nowrap;align-items:baseline;gap:4px;min-width:0;display:flex;overflow:hidden}.grid-card__meta-label[data-v-6c40ddda]{color:#4e5969;white-space:nowrap;flex-shrink:0}.grid-card__meta-value[data-v-6c40ddda]{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pagination-bar[data-v-6c40ddda]{flex-wrap:wrap;align-items:center;gap:12px;padding:4px 0 8px;display:flex}.pagination-bar .count[data-v-6c40ddda]{color:#6b7280;font-size:13px}.pagination-bar[data-v-6c40ddda] .el-pagination{margin-left:auto}.empty-tip[data-v-6c40ddda]{color:#9ca3af;margin:0;padding:0 4px 8px;font-size:12px}@media (width<=960px){.gallery-layout[data-v-6c40ddda]{flex-direction:column}.gallery-sidebar[data-v-6c40ddda],.gallery-sidebar.is-collapsed[data-v-6c40ddda]{width:100%}.filter-row--content[data-v-6c40ddda]{flex-wrap:wrap}.action-bar__right[data-v-6c40ddda]{justify-content:flex-start;width:100%;margin-left:0}}.cap-detail[data-v-6c40ddda]{gap:24px;min-height:280px}.cap-detail[data-v-6c40ddda],.cap-detail__left[data-v-6c40ddda]{display:flex}.cap-detail__left[data-v-6c40ddda]{flex-direction:column;flex-shrink:0;align-items:center;gap:16px;width:220px}.cap-ring[data-v-6c40ddda]{width:180px;height:180px;position:relative}.cap-ring__svg[data-v-6c40ddda]{width:100%;height:100%;display:block}.cap-ring__center[data-v-6c40ddda]{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.cap-ring__value[data-v-6c40ddda]{color:#1f2937;font-size:22px;font-weight:700;line-height:1.2}.cap-ring__sub[data-v-6c40ddda]{color:#6b7280;margin-top:4px;font-size:12px}.cap-legend[data-v-6c40ddda]{color:#4b5563;flex-direction:column;width:100%;margin:0;padding:0;font-size:13px;list-style:none}.cap-legend[data-v-6c40ddda],.cap-legend li[data-v-6c40ddda]{gap:8px;display:flex}.cap-legend li[data-v-6c40ddda]{align-items:center}.cap-legend__dot[data-v-6c40ddda]{border-radius:50%;flex-shrink:0;width:8px;height:8px}.cap-legend__dot--used[data-v-6c40ddda]{background:#4a90e2}.cap-legend__dot--free[data-v-6c40ddda]{background:#d1d5db}.cap-buy-btn[data-v-6c40ddda]{width:100%;margin-top:4px}.cap-detail__right[data-v-6c40ddda]{flex:1;min-width:0}.cap-tabs[data-v-6c40ddda] .el-tabs__header{margin-bottom:12px}.cap-tabs[data-v-6c40ddda] .el-tabs__content{display:none}.cap-grant-table[data-v-6c40ddda]{width:100%}.cap-status[data-v-6c40ddda]{color:#4b5563;align-items:center;gap:6px;font-size:13px;display:inline-flex}.cap-status__dot[data-v-6c40ddda]{background:#9ca3af;border-radius:50%;width:6px;height:6px}.cap-status.is-active[data-v-6c40ddda]{color:#16a34a}.cap-status.is-active .cap-status__dot[data-v-6c40ddda]{background:#22c55e}.cap-status.is-expired[data-v-6c40ddda]{color:#9ca3af}
