/* ========== 模板管理特有样式 ========== */  
  
/* 分类右键菜单 */  
.category-context-menu {  
    position: fixed;  
    background: var(--surface-color);  
    border: 1px solid var(--border-color);  
    border-radius: 6px;  
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);  
    z-index: 10000;  
    min-width: 140px;  
    padding: 4px 0;  
}  
  
.category-context-menu .context-menu-item {  
    padding: 10px 16px;  
    cursor: pointer;  
    transition: background 0.2s;  
    display: flex;  
    align-items: center;  
    gap: 8px;  
    font-size: 14px;  
}  
  
.category-context-menu .context-menu-item:hover {  
    background: var(--background-color);  
}  
  
.category-context-menu .context-menu-item-danger {  
    color: #ef4444;  
}  
  
.category-context-menu .context-menu-item-danger:hover {  
    background: rgba(239, 68, 68, 0.1);  
}  
  
.category-badge {  
    display: inline-block;  
    padding: 2px 8px;  
    border-radius: 3px;  
    font-size: 11px;  
    font-weight: 500;  
    background: var(--primary-color);  
    color: white;  
    max-width: 120px;  
    overflow: hidden;  
    text-overflow: ellipsis;  
    white-space: nowrap;  
    vertical-align: middle;  
}

/* 拖拽中的卡片样式 */  
.template-card.dragging {  
    cursor: move;  
}  
  
/* 拖拽悬停的分类样式 */  
.tree-item.drag-over {  
    background-color: var(--primary-color);  
    color: white;  
    border-left: 3px solid var(--primary-dark);  
}  
  
.tree-item.drag-over .tree-icon,  
.tree-item.drag-over .tree-name,  
.tree-item.drag-over .item-count {  
    color: white;  
}  
  
/* 拖拽时的光标 */  
.template-card[draggable="true"] {  
    cursor: grab;  
}  
  
.template-card[draggable="true"]:active {  
    cursor: grabbing;  
}

/* ===== 模板分类二级树 ===== */
.tree-group {
    margin-bottom: 4px;
}

.tree-group .tree-parent {
    font-weight: 600;
}

.tree-toggle {
    flex-shrink: 0;
    width: 16px;
    text-align: center;
    font-size: 11px;
    color: var(--text-muted, #8a94a6);
    cursor: pointer;
    user-select: none;
    transition: transform 0.15s;
}

.tree-children {
    margin: 2px 0 2px 0;
    padding-left: 14px;
    border-left: 1px dashed var(--border-color, #e3e8ef);
    margin-left: 14px;
}

.tree-group:not(.expanded) .tree-children {
    display: none;
}

.tree-child {
    font-size: 12.5px;
    color: var(--text-secondary);
    padding: 6px 12px;
    margin-bottom: 2px;
}

.tree-child:hover {
    background: var(--hover-color, rgba(0, 0, 0, 0.04));
}

.tree-child.active {
    background: var(--primary-color);
    color: #fff;
}

.tree-child .item-count {
    background: rgba(0, 0, 0, 0.08);
}