



/*.ztree * {padding:0; margin:0; font-size:12px; font-family: Verdana, Arial, Helvetica, AppleGothic, sans-serif}*/
/*.ztree {margin:0; padding:5px; color:#333}*/
/*.ztree li{padding:0; margin:0; list-style:none; line-height:23px; text-align:left; white-space:nowrap; outline:0}*/
/*.ztree li ul{ margin:0; padding:0 0 0 18px}*/
/*.ztree li ul.line{ background:url(./img/line_conn.png) 0 0 repeat-y;}*/

/*.ztree li a {padding-right:3px; margin:0; cursor:pointer; height:21px; color:#333; background-color: transparent; text-decoration:none; vertical-align:top; display: inline-block}*/
/*!*.ztree li a:hover {text-decoration:underline}*!*/
/*!*@gfc*!*/
/*.ztree li a:hover {text-decoration:unset}*/
/*.ztree li a.curSelectedNode {padding-top:0px; background-color:#e5e5e5; color:black; height:21px; opacity:0.8;}*/
/*.ztree li a.curSelectedNode_Edit {padding-top:0px; background-color:#e5e5e5; color:black; height:21px; border:1px #666 solid; opacity:0.8;}*/
/*.ztree li a.tmpTargetNode_inner {padding-top:0px; background-color:#aaa; color:white; height:21px; border:1px #666 solid;*/
/*	opacity:0.8; filter:alpha(opacity=80)}*/
/*.ztree li a.tmpTargetNode_prev {}*/
/*.ztree li a.tmpTargetNode_next {}*/
/*.ztree li a input.rename {height:14px; width:80px; padding:0; margin:0;*/
/*	font-size:12px; border:1px #585956 solid; *border:0px}*/
/*.ztree li span {line-height:21px; margin-right:2px}*/
/*.ztree li span.button {line-height:0; margin:0; padding: 0; width:21px; height:21px; display: inline-block; vertical-align:middle;*/
/*	border:0 none; cursor: pointer;outline:none;*/
/*	background-color:transparent; background-repeat:no-repeat; background-attachment: scroll;*/
/*	background-image:url("./img/metro.png"); *background-image:url("./img/metro.gif")}*/

/*.ztree li span.button.chk {width:13px; height:13px; margin:0 2px; cursor: auto}*/
/*.ztree li span.button.chk.checkbox_false_full {background-position: -5px -5px;}*/
/*.ztree li span.button.chk.checkbox_false_full_focus {background-position: -5px -26px;}*/
/*.ztree li span.button.chk.checkbox_false_part {background-position: -5px -48px;}*/
/*.ztree li span.button.chk.checkbox_false_part_focus {background-position: -5px -68px;}*/
/*.ztree li span.button.chk.checkbox_false_disable {background-position: -5px -89px;}*/
/*.ztree li span.button.chk.checkbox_true_full {background-position: -26px -5px;}*/
/*.ztree li span.button.chk.checkbox_true_full_focus {background-position: -26px -26px;}*/
/*.ztree li span.button.chk.checkbox_true_part {background-position: -26px -48px;}*/
/*.ztree li span.button.chk.checkbox_true_part_focus {background-position: -26px -68px;}*/
/*.ztree li span.button.chk.checkbox_true_disable {background-position: -26px -89px;}*/
/*.ztree li span.button.chk.radio_false_full {background-position: -47px -5px;}*/
/*.ztree li span.button.chk.radio_false_full_focus {background-position: -47px -26px;}*/
/*.ztree li span.button.chk.radio_false_part {background-position: -47px -47px;}*/
/*.ztree li span.button.chk.radio_false_part_focus {background-position: -47px -68px;}*/
/*.ztree li span.button.chk.radio_false_disable {background-position: -47px -89px;}*/
/*.ztree li span.button.chk.radio_true_full {background-position: -68px -5px;}*/
/*.ztree li span.button.chk.radio_true_full_focus {background-position: -68px -26px;}*/
/*.ztree li span.button.chk.radio_true_part {background-position: -68px -47px;}*/
/*.ztree li span.button.chk.radio_true_part_focus {background-position: -68px -68px;}*/
/*.ztree li span.button.chk.radio_true_disable {background-position: -68px -89px;}*/

/*.ztree li span.button.switch {width:21px; height:21px}*/
/*.ztree li span.button.root_open{background-position:-107px -63px}*/
/*.ztree li span.button.root_close{background-position:-128px -63px}*/
/*.ztree li span.button.roots_open{background-position: -107px 0;}*/
/*.ztree li span.button.roots_close{background-position: -128px 0;}*/
/*.ztree li span.button.center_open{background-position: -107px -21px;}*/
/*.ztree li span.button.center_close{background-position: -128px -21px;}*/
/*.ztree li span.button.bottom_open{background-position: -107px -44px;}*/
/*.ztree li span.button.bottom_close{background-position: -128px -44px;}*/
/*.ztree li span.button.noline_open{background-position: -107px -84px;}*/
/*.ztree li span.button.noline_close{background-position: -128px -84px;}*/
/*.ztree li span.button.root_docu{ background:none;}*/
/*.ztree li span.button.roots_docu{background-position: -86px 0;}*/
/*.ztree li span.button.center_docu{background-position: -86px -21px;}*/
/*.ztree li span.button.bottom_docu{background-position: -86px -42px;}*/
/*.ztree li span.button.noline_docu{ background:none;}*/

/*.ztree li span.button.ico_open{margin-right:2px; background-position: -147px -21px; vertical-align:top; *vertical-align:middle}*/
/*.ztree li span.button.ico_close{margin-right:2px; margin-right:2px; background-position: -147px 0; vertical-align:top; *vertical-align:middle}*/
/*.ztree li span.button.ico_docu{margin-right:2px; background-position: -147px -42px; vertical-align:top; *vertical-align:middle}*/
/*.ztree li span.button.edit {margin-left:2px; margin-right: -1px; background-position: -189px -21px; vertical-align:top; *vertical-align:middle}*/
/*.ztree li span.button.edit:hover {*/
/*	background-position: -168px -21px;*/
/*}*/
/*.ztree li span.button.remove {margin-left:2px; margin-right: -1px; background-position: -189px -42px; vertical-align:top; *vertical-align:middle}*/
/*.ztree li span.button.remove:hover {*/
/*	background-position: -168px -42px;*/
/*}*/
/*.ztree li span.button.add {margin-left:2px; margin-right: -1px; background-position: -189px 0; vertical-align:top; *vertical-align:middle}*/
/*.ztree li span.button.add:hover {*/
/*	background-position: -168px 0;*/
/*}*/
/*.ztree li span.button.ico_loading{margin-right:2px; background:url(./img/loading.gif) no-repeat scroll 0 0 transparent; vertical-align:top; *vertical-align:middle}*/

/*ul.tmpTargetzTree {background-color:#FFE6B0; opacity:0.8; filter:alpha(opacity=80)}*/

/*span.tmpzTreeMove_arrow {width:16px; height:21px; display: inline-block; padding:0; margin:2px 0 0 1px; border:0 none; position:absolute;*/
/*	background-color:transparent; background-repeat:no-repeat; background-attachment: scroll;*/
/*	background-position:-168px -84px; background-image:url("./img/metro.png"); *background-image:url("./img/metro.gif")}*/

/*ul.ztree.zTreeDragUL {margin:0; padding:0; position:absolute; width:auto; height:auto;overflow:hidden; background-color:#cfcfcf; border:1px #00B83F dotted; opacity:0.8; filter:alpha(opacity=80)}*/
/*.ztreeMask {z-index:10000; background-color:#cfcfcf; opacity:0.0; filter:alpha(opacity=0); position:absolute}*/




/*!*自定义@GFC*!*/
/*.ztree li span.button.ico_docu {*/
/*	!*margin-top: 3px;*!*/
/*	background-position: center !important;*/
/*	width: 25px;*/
/*	height: 25px;*/
/*}*/

/*.ztree li span.button.ico_open {*/
/*	!*margin: 2.5px 2px 2px 2px;*!*/
/*}*/

/*.ztree * {*/
/*	font: 14px Helvetica Neue, Helvetica, PingFang SC, Tahoma, Arial, sans-serif;;*/
/*	!*font-family: unset;*!*/
/*}*/

/*.ztree li {*/
/*	padding: 0;*/
/*	margin: 4px;*/
/*	list-style: none;*/
/*	line-height: 25px;*/
/*	text-align: left;*/
/*	white-space: nowrap;*/
/*	outline: 0 !important;*/
/*}*/
/*.node_name{*/

/*	margin: 4px 0px 0px 2px;*/
/*	position: relative;*/
/*	top: 3px;*/
/*}*/
/*.ztree li span.button{*/
/*	height: 25px;*/
/*	width: 25px;*/
/*	margin-left: 2px;*/
/*}*/
/*.ztree li span.button.ico_close {*/

/*	!*margin-top: 2.5px;*!*/
/*}*/
/*.ztree li a.curSelectedNode{*/
/*	background-color: #e5e5e51c;*/
/*}*/

/*!*自定义结束*!*/




















/* ============================================
 * Modern zTree Stylesheet v2
 * 连接线: 纯 CSS 绘制，精确对齐
 * 图标: 蓝色系内联 SVG，零外部依赖
 * ============================================ */

/* ---------- 1. 自定义属性 ---------- */
:root {
	--zt-blue: #3b82f6;
	--zt-blue-400: #60a5fa;
	--zt-blue-300: #93c5fd;
	--zt-blue-200: #bfdbfe;
	--zt-blue-50: #eff6ff;
	--zt-text: #1e293b;
	--zt-text-muted: #64748b;
	--zt-line: #d4d9e1;
	--zt-hover: rgba(241, 245, 249, 0.8);
	--zt-selected-bg: #eff6ff;
	--zt-selected-bd: #93c5fd;
	--zt-red: #ef4444;
}

/* ---------- 2. 基础重置 ---------- */
.ztree * {
	padding: 0;
	margin: 0;
	font: 14px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI",
	"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei",
	"Helvetica Neue", Arial, sans-serif;
	box-sizing: border-box;
}
.ztree {
	margin: 0;
	padding: 8px;
	color: var(--zt-text);
	user-select: none;
	-webkit-user-select: none;
}

/* ---------- 3. 列表结构 ---------- */
.ztree li {
	padding: 0;
	margin: 0;
	list-style: none;
	line-height: 28px;
	text-align: left;
	white-space: nowrap;
	outline: 0 !important;
	position: relative;
}
.ztree li ul {
	margin: 0;
	padding: 0 0 0 40px;
}

/* ---------- 4. 连接线（纯 CSS，精确对齐）----------
 *
 * 关键尺寸：
 *   缩进 ul padding-left : 22px
 *   竖线位置             : 距 ul 左侧 10px
 *   竖线宽度             : 2px（占据 10~12px）
 *   横线                 : 从 li 左侧向左延伸 12px，到竖线左边缘
 *   行高                 : 28px，竖线底端对齐最后一个子节点行中心
 *
 * 竖线使用 repeating SVG 背景，每 28px 平铺一次，
 * 自动匹配行高，嵌套多层也不会错位。
 * ------------------------------------------------ */

.ztree li ul.line {
	position: relative;
	/* 竖线：SVG 平铺 */
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='2' height='28'%3E%3Crect x='0' y='0' width='2' height='28' fill='%23d4d9e1' rx='1'/%3E%3C/svg%3E");
	background-position: 29px 0;
	background-repeat: repeat-y;
}

/* 横线：每个直接子 li 前面画一条 */
.ztree li ul.line > li {
	position: relative;
}
.ztree li ul.line > li::before {
	content: "";
	position: absolute;
	left: -4px;       /* 原 -12px → -8px（40px - 32px = 8px） */
	top: 14px;        /* 行高 28px 的中心 */
	width: 4px;       /* 原 12px → 8px */
	height: 2px;
	background: var(--zt-line);
	border-radius: 1px;
	pointer-events: none;
}

/* ---------- 5. 节点链接 & 选中态 ---------- */
.ztree li a {
	padding: 0 6px;
	margin: 0;
	cursor: pointer;
	height: 28px;
	color: var(--zt-text);
	background-color: transparent;
	text-decoration: none;
	vertical-align: middle;
	display: inline-flex;
	align-items: center;
	border-radius: 6px;
	transition: background-color 0.15s ease;
}
.ztree li a:hover {
	background-color: var(--zt-hover);
	text-decoration: none;
}
.ztree li a.curSelectedNode {
	background-color: var(--zt-selected-bg);
	color: var(--zt-blue);
	font-weight: 500;
	box-shadow: inset 0 0 0 1.5px var(--zt-selected-bd);
}
.ztree li a.curSelectedNode_Edit {
	background-color: var(--zt-selected-bg);
	color: var(--zt-blue);
	box-shadow: inset 0 0 0 1.5px var(--zt-blue);
}
.ztree li a.tmpTargetNode_inner {
	background-color: var(--zt-blue-200);
	color: var(--zt-text);
	box-shadow: inset 0 0 0 1.5px var(--zt-blue);
	opacity: 0.85;
}

/* ---------- 通用 span ---------- */
.ztree li span {
	line-height: 28px;
	margin-right: 2px;
}
.ztree li span.button {
	line-height: 0;
	margin: 0;
	padding: 0;
	width: 22px;
	height: 22px;
	display: inline-block;
	vertical-align: middle;
	border: 0;
	cursor: pointer;
	outline: none;
	background-color: transparent;
	background-repeat: no-repeat;
	background-image: none;
	transition: opacity 0.15s ease;
}

/* ---------- 6. 展开/收起箭头（纯 CSS，无图片）---------- */
.ztree li span.button.switch {
	width: 20px;
	height: 20px;
	position: relative;
	background: none !important;
}
.ztree li span.button.switch::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 7px;
	height: 7px;
	border-right: 2px solid #94a3b8;
	border-bottom: 2px solid #94a3b8;
	transition: transform 0.2s ease, border-color 0.2s ease;
}
/* 收起 → 右箭头 */
.ztree li span.button.root_close::after,
.ztree li span.button.roots_close::after,
.ztree li span.button.center_close::after,
.ztree li span.button.bottom_close::after,
.ztree li span.button.noline_close::after {
	transform: translate(-65%, -50%) rotate(-45deg);
}
/* 展开 → 下箭头 */
.ztree li span.button.root_open::after,
.ztree li span.button.roots_open::after,
.ztree li span.button.center_open::after,
.ztree li span.button.bottom_open::after,
.ztree li span.button.noline_open::after {
	transform: translate(-50%, -65%) rotate(45deg);
}
/* 叶子节点 → 无箭头 */
.ztree li span.button.root_docu::after,
.ztree li span.button.roots_docu::after,
.ztree li span.button.center_docu::after,
.ztree li span.button.bottom_docu::after,
.ztree li span.button.noline_docu::after {
	display: none;
}
.ztree li span.button.switch:hover::after {
	border-color: var(--zt-blue);
}

/* ---------- 7. 节点图标（蓝色系 SVG）---------- */

/* 文件夹 - 关闭 */
.ztree li span.button.ico_close {
	margin-right: 4px;
	width: 22px;
	height: 22px;
	vertical-align: middle;
	background-size: 18px 18px !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 7c0-1.1.9-2 2-2h4l2 2h8c1.1 0 2 .9 2 2v8c0 1.1-.9 2-2 2H5c-1.1 0-2-.9-2-2V7z' fill='%2360A5FA' stroke='%233B82F6' stroke-width='1.2' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* 文件夹 - 打开 */
.ztree li span.button.ico_open {
	margin-right: 4px;
	width: 22px;
	height: 22px;
	vertical-align: middle;
	background-size: 18px 18px !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 6c0-1.1.9-2 2-2h5l2 2h9c1.1 0 2 .9 2 2v1H2V6z' fill='%233B82F6'/%3E%3Cpath d='M2 11h20l-2 9H4c-1.1 0-2-.9-2-2v-7z' fill='%2393C5FD' stroke='%233B82F6' stroke-width='1' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* 文件 / 文档 */
.ztree li span.button.ico_docu {
	margin-right: 4px;
	width: 22px;
	height: 22px;
	vertical-align: middle;
	background-size: 18px 18px !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V8l-6-6z' fill='%23E2E8F0' stroke='%2394A3B8' stroke-width='1.2'/%3E%3Cpath d='M14 2v6h6' fill='%23CBD5E1' stroke='%2394A3B8' stroke-width='1'/%3E%3Cline x1='8' y1='13' x2='16' y2='13' stroke='%2394A3B8' stroke-width='1.5' stroke-linecap='round'/%3E%3Cline x1='8' y1='17' x2='13' y2='17' stroke='%2394A3B8' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* ---------- 8. 复选框（蓝色 SVG）---------- */
.ztree li span.button.chk {
	width: 16px;
	height: 16px;
	margin: 0 4px;
	cursor: default;
}

/* 未选中 */
.ztree li span.button.chk.checkbox_false_full {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Crect x='1.5' y='1.5' width='13' height='13' rx='3' fill='white' stroke='%23D1D5DB' stroke-width='1.5'/%3E%3C/svg%3E");
	background-size: 16px;
}
.ztree li span.button.chk.checkbox_false_full_focus {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Crect x='1.5' y='1.5' width='13' height='13' rx='3' fill='white' stroke='%239CA3AF' stroke-width='1.5'/%3E%3C/svg%3E");
	background-size: 16px;
}
.ztree li span.button.chk.checkbox_false_part {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Crect x='1.5' y='1.5' width='13' height='13' rx='3' fill='%23DBEAFE' stroke='%2393C5FD' stroke-width='1.5'/%3E%3Cline x1='4.5' y1='8' x2='11.5' y2='8' stroke='%233B82F6' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	background-size: 16px;
}
.ztree li span.button.chk.checkbox_false_part_focus {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Crect x='1.5' y='1.5' width='13' height='13' rx='3' fill='%23BFDBFE' stroke='%2360A5FA' stroke-width='1.5'/%3E%3Cline x1='4.5' y1='8' x2='11.5' y2='8' stroke='%232563EB' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	background-size: 16px;
}
.ztree li span.button.chk.checkbox_false_disable {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Crect x='1.5' y='1.5' width='13' height='13' rx='3' fill='%23F9FAFB' stroke='%23E5E7EB' stroke-width='1.5'/%3E%3C/svg%3E");
	background-size: 16px;
	cursor: not-allowed;
	opacity: 0.6;
}

/* 已选中 */
.ztree li span.button.chk.checkbox_true_full {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Crect x='1.5' y='1.5' width='13' height='13' rx='3' fill='%233B82F6' stroke='%233B82F6' stroke-width='1.5'/%3E%3Cpath d='M4.5 8l2.5 2.5L11.5 5.5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-size: 16px;
}
.ztree li span.button.chk.checkbox_true_full_focus {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Crect x='1.5' y='1.5' width='13' height='13' rx='3' fill='%232563EB' stroke='%232563EB' stroke-width='1.5'/%3E%3Cpath d='M4.5 8l2.5 2.5L11.5 5.5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-size: 16px;
}
.ztree li span.button.chk.checkbox_true_part {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Crect x='1.5' y='1.5' width='13' height='13' rx='3' fill='%233B82F6' stroke='%233B82F6' stroke-width='1.5'/%3E%3Cline x1='4.5' y1='8' x2='11.5' y2='8' stroke='white' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	background-size: 16px;
}
.ztree li span.button.chk.checkbox_true_part_focus {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Crect x='1.5' y='1.5' width='13' height='13' rx='3' fill='%232563EB' stroke='%232563EB' stroke-width='1.5'/%3E%3Cline x1='4.5' y1='8' x2='11.5' y2='8' stroke='white' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	background-size: 16px;
}
.ztree li span.button.chk.checkbox_true_disable {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Crect x='1.5' y='1.5' width='13' height='13' rx='3' fill='%239CA3AF' stroke='%239CA3AF' stroke-width='1.5'/%3E%3Cpath d='M4.5 8l2.5 2.5L11.5 5.5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-size: 16px;
	cursor: not-allowed;
	opacity: 0.6;
}

/* ---------- 9. 单选按钮（蓝色 SVG）---------- */
.ztree li span.button.chk.radio_false_full {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='6' fill='white' stroke='%23D1D5DB' stroke-width='1.5'/%3E%3C/svg%3E");
	background-size: 16px;
}
.ztree li span.button.chk.radio_false_full_focus {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='6' fill='white' stroke='%239CA3AF' stroke-width='1.5'/%3E%3C/svg%3E");
	background-size: 16px;
}
.ztree li span.button.chk.radio_false_part {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='6' fill='%23DBEAFE' stroke='%2393C5FD' stroke-width='1.5'/%3E%3Ccircle cx='8' cy='8' r='2.5' fill='%233B82F6'/%3E%3C/svg%3E");
	background-size: 16px;
}
.ztree li span.button.chk.radio_false_part_focus {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='6' fill='%23BFDBFE' stroke='%2360A5FA' stroke-width='1.5'/%3E%3Ccircle cx='8' cy='8' r='2.5' fill='%232563EB'/%3E%3C/svg%3E");
	background-size: 16px;
}
.ztree li span.button.chk.radio_false_disable {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='6' fill='%23F9FAFB' stroke='%23E5E7EB' stroke-width='1.5'/%3E%3C/svg%3E");
	background-size: 16px;
	cursor: not-allowed;
	opacity: 0.6;
}
.ztree li span.button.chk.radio_true_full {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='6' fill='white' stroke='%233B82F6' stroke-width='1.5'/%3E%3Ccircle cx='8' cy='8' r='3' fill='%233B82F6'/%3E%3C/svg%3E");
	background-size: 16px;
}
.ztree li span.button.chk.radio_true_full_focus {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='6' fill='white' stroke='%232563EB' stroke-width='1.5'/%3E%3Ccircle cx='8' cy='8' r='3' fill='%232563EB'/%3E%3C/svg%3E");
	background-size: 16px;
}
.ztree li span.button.chk.radio_true_part {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='6' fill='white' stroke='%233B82F6' stroke-width='1.5'/%3E%3Ccircle cx='8' cy='8' r='2' fill='%233B82F6'/%3E%3C/svg%3E");
	background-size: 16px;
}
.ztree li span.button.chk.radio_true_part_focus {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='6' fill='white' stroke='%232563EB' stroke-width='1.5'/%3E%3Ccircle cx='8' cy='8' r='2' fill='%232563EB'/%3E%3C/svg%3E");
	background-size: 16px;
}
.ztree li span.button.chk.radio_true_disable {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='6' fill='white' stroke='%239CA3AF' stroke-width='1.5'/%3E%3Ccircle cx='8' cy='8' r='3' fill='%239CA3AF'/%3E%3C/svg%3E");
	background-size: 16px;
	cursor: not-allowed;
	opacity: 0.6;
}

/* ---------- 10. 操作按钮（编辑 / 删除 / 添加）---------- */

/* 编辑 */
.ztree li span.button.edit {
	margin-left: 4px;
	width: 18px;
	height: 18px;
	vertical-align: middle;
	opacity: 0;
	transition: opacity 0.15s ease;
	background-size: 14px 14px;
	background-position: center;
	background-repeat: no-repeat;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M11 4H4a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2v-7' stroke='%2394A3B8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M18.5 2.5a2.12 2.12 0 013 3L12 15l-4 1 1-4 9.5-9.5z' stroke='%2394A3B8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.ztree li:hover span.button.edit { opacity: 1; }
.ztree li span.button.edit:hover {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M11 4H4a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2v-7' stroke='%233B82F6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M18.5 2.5a2.12 2.12 0 013 3L12 15l-4 1 1-4 9.5-9.5z' stroke='%233B82F6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* 删除 */
.ztree li span.button.remove {
	margin-left: 2px;
	width: 18px;
	height: 18px;
	vertical-align: middle;
	opacity: 0;
	transition: opacity 0.15s ease;
	background-size: 14px 14px;
	background-position: center;
	background-repeat: no-repeat;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpolyline points='3 6 5 6 21 6' stroke='%2394A3B8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M19 6v14a2 2 0 01-2 2H7a2 2 0 01-2-2V6m3 0V4a2 2 0 012-2h4a2 2 0 012 2v2' stroke='%2394A3B8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.ztree li:hover span.button.remove { opacity: 1; }
.ztree li span.button.remove:hover {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpolyline points='3 6 5 6 21 6' stroke='%23EF4444' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M19 6v14a2 2 0 01-2 2H7a2 2 0 01-2-2V6m3 0V4a2 2 0 012-2h4a2 2 0 012 2v2' stroke='%23EF4444' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* 添加 */
.ztree li span.button.add {
	margin-left: 2px;
	width: 18px;
	height: 18px;
	vertical-align: middle;
	opacity: 0;
	transition: opacity 0.15s ease;
	background-size: 14px 14px;
	background-position: center;
	background-repeat: no-repeat;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Ccircle cx='12' cy='12' r='10' stroke='%2394A3B8' stroke-width='2'/%3E%3Cline x1='12' y1='8' x2='12' y2='16' stroke='%2394A3B8' stroke-width='2' stroke-linecap='round'/%3E%3Cline x1='8' y1='12' x2='16' y2='12' stroke='%2394A3B8' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}
.ztree li:hover span.button.add { opacity: 1; }
.ztree li span.button.add:hover {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Ccircle cx='12' cy='12' r='10' stroke='%233B82F6' stroke-width='2'/%3E%3Cline x1='12' y1='8' x2='12' y2='16' stroke='%233B82F6' stroke-width='2' stroke-linecap='round'/%3E%3Cline x1='8' y1='12' x2='16' y2='12' stroke='%233B82F6' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* ---------- 11. 加载动画（CSS，无 GIF）---------- */
@keyframes ztree-spin {
	to { transform: rotate(360deg); }
}
.ztree li span.button.ico_loading {
	width: 18px;
	height: 18px;
	margin-right: 4px;
	border: 2px solid #e2e8f0;
	border-top-color: var(--zt-blue);
	border-radius: 50%;
	animation: ztree-spin 0.6s linear infinite;
	background: none !important;
	vertical-align: middle;
}

/* ---------- 12. 文本 & 重命名输入框 ---------- */
.node_name {
	margin: 0 0 0 2px;
	position: relative;
	display: inline-block;
	max-width: 280px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	vertical-align: middle;
	line-height: 28px;
}
.ztree li a input.rename {
	height: 24px;
	width: 160px;
	padding: 2px 8px;
	margin: 0;
	font: 13px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI",
	"PingFang SC", sans-serif;
	border: 1.5px solid var(--zt-blue);
	border-radius: 6px;
	outline: none;
	background: white;
	color: var(--zt-text);
	box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
	transition: box-shadow 0.15s ease;
}
.ztree li a input.rename:focus {
	box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.25);
}

/* ---------- 13. 拖拽 ---------- */
ul.tmpTargetzTree {
	background-color: var(--zt-blue-200);
	border-radius: 6px;
	opacity: 0.85;
}
span.tmpzTreeMove_arrow {
	width: 16px;
	height: 21px;
	display: inline-block;
	padding: 0;
	margin: 2px 0 0 1px;
	border: 0;
	position: absolute;
	background: transparent
	url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='21' fill='none'%3E%3Cpath d='M8 2v15M8 17l-3.5-3.5M8 17l3.5-3.5' stroke='%233B82F6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
	center / 16px 21px no-repeat;
}
ul.ztree.zTreeDragUL {
	margin: 0;
	padding: 6px 12px;
	position: absolute;
	width: auto;
	height: auto;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.96);
	border: 1.5px dashed var(--zt-blue);
	border-radius: 8px;
	opacity: 0.88;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
	backdrop-filter: blur(4px);
}
.ztreeMask {
	z-index: 10000;
	background: transparent;
	opacity: 0;
	position: absolute;
}

/* ① 叶子节点：折叠空白 switch，宽度归零 */
.ztree li span.button.root_docu,
.ztree li span.button.roots_docu,
.ztree li span.button.center_docu,
.ztree li span.button.bottom_docu,
.ztree li span.button.noline_docu {
	width: 0;
	margin: 0;
	padding: 0;
}
