/****** mybook 관련 부분 **************************/
.mybook_body {
	outline: 0px solid orange;
	/*max-width: 950px;*/
	max-width: 70rem;
	martin-top: 10px;
}

.mybook_dbl_body {
	outline: 0px solid blue;
	/*max-width: 1900px;*/
	max-width: 126rem;
}

.mybook_main_container {
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	outline: 0px solid red;
	min-height: 56rem;
	gap: 2px;
}

.mybook_main_container_dbl {
	display: flex;
	flex-flow: row nowrap;
	/*justify-content: space-between;*/
	outline: 0px solid red;
	width: 100%;
	gap: 7px;
}


.folder_box {
	display: flex;
	flex-flow: column nowrap;
	vertical-align: top;
	/*outline: 1px solid silver;*/
	border-width: 1px 1px 1px 0px;
	border-style: solid;
	border-color: silver;
	width: 17.5rem;
	overflow: visible !important;
	padding: 0;
	position: relative;
	z-index: 10;
}

.dbl_folder_box {
	display: flex;
	flex-flow: column nowrap;
	vertical-align: top;
	outline: 1px solid silver;
	max-width: 18rem;
	overflow: auto;
	padding: 0 5 0 5;
	flex: 1.5;
}


.detail_box {
	/*outline: 1px solid silver;*/
	border-width: 1px 0px 1px 1px;
	border-style: solid;
	border-color: silver;
	width: 52rem;
}

.dbl_detail_box {
	outline: 0px solid silver;
	flex: 8;
	width: 108rem;
}


.mybook_head_container {
	display: flex;
	flex-flow: row wrap;
	background: #f5f5f5; 
	margin: 5 0 5 0;
	border-top: 1px solid silver;
	border-bottom: 1px solid silver;
	align-items: center;
	line-height: 120%;
	/*max-width: 950px;*/
	max-width: 70rem;
	height: 3rem;
}

.mb_head_container {
	display: flex;
	flex-flow: row wrap;
	background: #f5f5f5; 
	margin: 5 0 5 0;
	/*
	border-top: 1px solid silver;
	border-bottom: 1px solid silver;
	*/
	border-top: 0px solid silver;
	border-bottom: 0px solid silver;
	justify-content: center;
	align-items: center;
	line-height: 120%;
	/*max-width: 1000px;*/
	max-width: 70rem;
	height: 5rem;
}

.mybook_intro_container {
	display: flex;
	flex-flow: row wrap;
	background: #f5f5f5; 
	margin: 5 0 5 0;
	border-top: 1px solid silver;
	border-bottom: 1px solid silver;
	align-items: center;
	line-height: 120%;
	/*max-width: 950px;*/
	max-width: 70rem;
}



.mybook_dbl_head_container {
	display: flex;
	flex-flow: row wrap;
	background: #f5f5f5; 
	margin: 5 0 5 0;
	border-top: 1px solid silver;
	border-bottom: 1px solid silver;
	line-hright: 100%;
	/*max-width: 1900px;*/
	width: 100%;
	align-items: center;
}

.mybook_intro_container {
	display: table;
	flex-flow: row nowrap;
	align-self: center;
	border-bottom: 1px solid silver;
	width: 100%;

	.mybook_intro_cell {
		display: table-cell;
		font-size: 0.8rem;
		color: #007fff;
	}
}
	
.form_box {
	margin: 0px;
	padding: 0px;
	line-height: 1;
}

.mb_action_container {
	display: flex;
	flex-flow: row nowrap;
	background: #f5f5f5; 
	margin: 5 0 5 0;
	border-top: 0px solid silver;
	border-bottom: 0px solid silver;
	justify-content: space-between;
	align-items: center;
	/*max-width: 950px;*/
	max-width: 70rem;
}

.search_form_box {
	display: flex;
	align-items: center;
	margin: 0px;
	padding: 0px;
	outline: 0px solid red;
}

/*
.bookmark_form_box {
	display: flex;
	align-items: center;
	margin: 0px;
	padding: 0px;
	outline: 1px solid blue;
}
*/

.form_box:nth-child(1) {
	flex: 0.6;
}

.form_box:nth-child(2) {
	flex: 1;
	outline: 0px solid blue;
}

.form_box:nth-child(3) {
	flex: 0.1;
}

.mb_intro_container {
	display: flex;
	flex-flow: row nowrap;
	background: #f5f5f5; 
	margin: 5 0 5 0;
	border-top: 0px solid silver;
	border-bottom: 0px solid silver;
	justify-content: space-between;
	align-items: center;
	/*max-width: 950px;*/
	max-width: 70rem;
}

.mybook_title_box {
	display: flex;
	flex-flow: row nowrap;
	min-width: 18rem;
	max-width: 39rem;
	background: #ffffff;
	outline: 1px solid silver;
	justify-content: center;
}

.mb_title_box {
	display: inline-block;
	flex-flow: row nowrap;
	min-width: 60rem;
	max-width: 70rem;
	background: #ffffff;
	outline: 1px solid silver;
	justify-content: center;
}

.book_title_header {
	display: table-cell;
	font-size: 0.9rem;
	color: #666666;
	text-align: right;
	background: #f5f5f5;
	padding-right: 0.2rem;
	padding-left: 1rem;
}

.book_title {
	display: table-cell;
	font-size: 1.5rem; 
	font-weight:bold; 
	vertical-align:middle;
	line-height: 1.6;
	background: transparent;
	padding: 0px;
	margin: 0px;
	color: #444444;	
}

.mybook_bookmark_box {
	display: flex;
	flex-flow: row nowrap;
	outline: 0px solid red;
	align-items: center;
	gap: 0.5rem;
	background: transparent;
	padding-right: 5px;
}

.mb_bookmark_box {
	display: flex;
	flex-flow: row nowrap;
	outline: 0px solid blue;
	align-items: center;
	gap: 0.5rem;
	background: transparent;
	padding-right: 5px;
	margin-left: auto;
}

.double_page_button, bookmark_button {
	display: table-cell;
	width: fit-content;
	
}

.mybook_search_box_container {
	display: flex;
	flex-flow: row nowrap;
	outline: 0px solid orange;
	align-items: center;
	justify-content: flex-start;
	gap: 0.5rem;
	padding-left: 10px;
}

.mb_search_box_container {
	display: flex;
	flex-flow: row nowrap;
	outline: 0px solid orange;
	align-items: center;
	gap: 0.5rem;
	padding-left: 10px;
}

.search_key_input_box, .search_key_submit, .search_option_box, .and_or_box {
	display: table-cell;
	white-space: nowrap;
}

.search_key_input_cell {
	display: inline-flex;
	white-space: nowrap;
	gap: 2px;
	margin-right: 1rem;
	input { width: 20rem; height: 2rem; }
}

.and_or_cluster {
	display: flex;
	white-space: nowrap;
	margin-right: 1rem;
	padding: 0px;
	border: 0px solid gray;
	background: transparent;
	align-items: center;
	padding-top: 2px;
}

.and_or_title {
	display: inline-block;
	font-size: 0.8rem;
	margin-right: 3px;
}

.operator_box {
	display: flex;
	flex-flow: column nowrap;
	align-items: center;
}

.operators_row {
	display: flex;
	height: 1rem;
	padding: 0px;
	margin: 0px;
	line-height: 1;
}

.operator_cell {
	display: inline-block;
	width: 2rem;
	flex: 1;
	line-height: 1;
	text-align: center;
	height: 1rem;
	padding: 0px;
	margin: 0px;
	font-size: 0.7rem;
	font-family: tahoma, helvetica;
	
	input[type='radio'] {
		padding: 0px;
		margin: 0px;
	}
}

.s_field_selection {
	display: inline-block;
	white-space: nowrap;
	margin-right: 1rem;
}


/**** items.php 부분 *****************************/
.mb_items_title_row {
	display: flex;
	flex-flow: row wrap;
	background: #f5f5f5;
	border-bottom: 1px solid silver;
	/*box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);*/
	height: 3rem;
	align-items: center;
}

.list_rows {
	display: flex;
	flex-flow: row wrap;
	border-bottom: 1px dotted #ddd;
	height: 2.7rem;
	align-items: center;
}

.mb_items_page, .mb_items_update, .mb_items_read {
	display: table-cell;
	text-align: center;
	outline:0px solid blue;
}

.mb_items_title {
	display: table-cell;
	outline:0px solid blue;
	max-width: 32rem;
	flex: 13;
	padding-left: 5px;
}

.mb_items_title_row .mb_items_title {
	text-align: center;
}	
.mb_items_page {
	width: 5rem;
	text-align: right;
}

.mb_items_update {
	width: 7rem;
	outline: 0px solid red;
	text-align: center;
}

.mb_items_read {
	width: 3.5rem;
	text-align: right;
	margin-right: 10px;
	outline: 0px solid red;
}

.mb_items_bookmark {
	width: 2rem;
	margin-left: auto;
	margin-right: 10px;
	
	button {
		border: 0px;
		background: #fff;
	}
}

.mb_items_check {
	display: inline-block;
	text-align: center;
	width: 1rem;
}

@media (max-width: 58rem) {
	.mb_items_read {
		display: none;
	}
}

@media (max-width: 55rem) {
	.mb_items_update {
		display: none;
	}
}

/*
@media (max-width: 52rem) {
	.mb_items_page {
		display: none;
	}
}
*/

@media (max-width: 45rem) {
	.folder_box, .dbl_folder_box {
		display: none;
	}
}

.items_body {
	min-height: 52rem;
	outline: 0px solid red;
}

.page_indexing_container {
	display: flex;
	flex-flow: row wrap;
	/*
	border-top: 1px solid silver;
	border-bottom: 1px solid silver;
	*/
	border-top: 0px solid silver;
	border-bottom: 0px solid silver;
	max-width: 54rem;
	justify-content: flex-start;
	align-items: center;
	background: #ffffff;

	.page_indexing_box {
		display: table-cell;
		flex: 0.5;
		margin: 0 5 0 5;
		outline: 0px solid cyan;
	}

	.page_jump {
		display: table-cell;
		flex: 1.5;
		padding: 0 5 0 5;
		margin: 0 5 0 5;
		line-height: 1;
		outline: 0px solid silver;
	}


	.edit_options_box {
		display: flex;
		flex: 2.5;
		flex-flow: row nowrap;
		justify-content: flex-end;
		align-items: center;
		outline: 0px solid red;
		padding-right: 5px;
	}

	.form_container {
		display: table-cell;
		margin: 0px;
		padding: 0px;
		line-height: 1;
		outline: 0px dotted red;
	}
	
}

.dual_page_indexing_container {
	display: flex;
	flex-flow: row wrap;
	border-top: 1px solid silver;
	border-bottom: 1px solid silver;
	justify-content: space-around;
	align-items: center;
	background: #f5f5f5;

	.page_jump_dbl {
		display: table-cell;
		padding: 0;
		margin: 0;
		line-height: 1;
		outline: 0px solid orange;
	}

	.admin_only_container_dbl {
		display: flex;
		flex-flow: row wrap;
		justify-content: space-between;
		align-items: center;
		background: #f5f5f5;
		padding: 0 5 0 5;
		border-bottom: 0px solid silver;
		/*gap: 2rem;*/

		.label_change_box_dbl, .page_move_box_dbl {
			display: table-cell;
			padding: 0px;
		}

		.edit_options_box_dbl {
			display: flex;
			align-items: center;
			outline: 0px solid red;
			gap: 10px;
			gap: 2rem;
	
			.add_next_cell {
				display: table-cell;
				outline: 1px solid blue;
				padding: 0px;
				margin: 0px;
				background: #ffffff;
			}

			.form_container {
				display: table-cell;
				margin: 0px;
				padding: 0px;
				line-height: 1;
				font-size: 0.9rem;
				outline: 0px dotted red;
			}
		}
	}
}




input[type="number"] {
	height: 1.35rem;
	width: 4rem;
	text-align: right;
	padding:0px;
	margin:0px;
}

button[type="submit"] {
	height: 1.5rem;
	line-height: 1;
	padding: 2px;
	margin: 0px;
	font-size: 0.9rem;
}

.admin_only_container {
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	background: #f5f5f5;
	padding: 0 5 0 5;
	border-bottom: 0px solid silver;
}


.label_change_box, .page_move_box {
	display: table-cell;
	flex: 1;
	padding: 0 2 0 2;
	outline: 0px solid red;
	font-size: 0.9rem;
	
	input, input[type='submit'] {
		font-size: 0.9rem;
	}
	
}


/******** d_tree 부분 ******************************************************/

.tree {
	display: table-cell;
	outline:0px solid red; 
}

.tree:nth-child(1) {
	white-space: nowrap;	
}

.closed_folder {
	width:12px; 
	height:12px; 
	border: 0px;
}

.opened_folder {
	width:12px; 
	height:14px; 
	border: 0px;
}

.item_icon {
	width:12px; 
	height:14px; 
	border: 0px;
	margin-top: 4px;
}

.root_icon {
	width: 14px;
	height: 16px;
	vertical-align: baseline;
	border: 0px;
	margin-top: 6px;
	opacity: 80%;
}


.root_row {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	border: 0px solid silver;
	
	.root_img_cell {
		display: inline-block;
		outline: 0px solid blue;
		white-space: nowrap;
		margin: 0px 5px;
		font-size: 1rem;
	}

	.root_name_cell {
		display: table-cell;
		outline: 0px solid brown;
		margin-left: 3px;
		font-weight: 600;
		a {
			font-weight: 600;
		}
	}
}
	
.item_row {
	display: inline-flex;
	flex-flow: row nowrap;
	outline: 0px solid #f2f2f2;
	font-size: 1px;
}

.icon_cell {
	display: table-cell;
	outline:1px dotted #f0f0f0; 
	white-space: nowrap;
	/*color: #ffffff;*/
	margin-top: 4px;
}

/*
.prefix {
	display: table-cell;
	outline:0px dotted blue; 
	font-size:0.9rem;
	white-space: wrap;	
	margin-top: 3px;
	margin-left: 2px;
}
*/

.item_title_cell {
	display: table-cell;
	outline:0px solid red; 
	white-space: wrap;	
	margin-left: 3px;
}

.item_focused {
	background: #def;
}

.item_not_focused {
	background: #ffffff;
}

.js-tooltip-check {
    position: relative;
    display: inline-block;
    max-width: 100%;
    text-decoration: none;
    color: inherit;
}

/******** mybook read 부분 ****************************/
.mb_read_body {
	display: flex;
	flex-flow: column wrap;
	max-width: 52rem;
	outline: 0px solid red;
}

.mb_dual_read_body {
	outline: 0px dashed brown;
	max-width: 105rem;
}

.read_navigator_container {
	border-bottom: 0px solid silver;
	padding-left: 0px
	margin: 0px;
}

.navigator_rows {
	display: flex;
	flex-flow: row nowrap;
	border-bottom: 0px solid silver;
	line-height: 1;
	outline: 0px solid red;
	margin: 0px;
	padding: 0 5px;
	height: 2rem;
}

.breadcrumb {
	font-size: 0.8rem; 
	color:#444; 
	font-weight:500;
}

.navigator_cell {
	flex: 1;
	white-space: nowrap;
	line-height: 1;
	padding: 0px;
	margin: 0px;
	height: 1.5rem;
}

.read_navigator {
	font-size: 12px;
	font-weight: normal;
	line-hight: 1;
}

.page_container {
	display: flex;
	flex-flow: column nowrap;
	/*outline: 1px solid silver;*/
	outline: 0px solid silver;
	max-width: 52rem;
	/*max-height: 1200px;*/
	overflow: auto;
	scrollbar-color: #62B056 #E6F0E3;
}

.print_page_container {
	display: flex;
	flex-flow: column nowrap;
	outline: 1px solid silver;
	margin: 1rem;
	/*max-height: 1000px;*/
	overflow: auto;
}

.mb_dual_page_container {
	display: flex;
	flex-flow: row nowrap;
	flex: auto;
	justify-content: space-between;*/
	outline: 0px solid red;
	min-width: 104rem;
	gap: 0.5rem;
	
	
	.single_page_container_l {
		outline: 1px solid silver;
		flex: 4;
		/*max-height: 1200px;*/
		max-width: 52rem;
		//min-height: 56rem;
		overflow:auto;
	}
	
	.single_page_container_r {
		outline: 1px solid silver;
		flex: 4;
		/*max-height: 1200px;*/
		max-width: 52rem;
		//min-height: 56rem;
		overflow:auto;
	}
}


.mb_read_title_row {
	display: flex;
	flex-flow: row nowrap;
	outline: 0px solid cyan;
	align-items: center;
	/*border-bottom: 1px solid silver;*/
	border-bottom: 1px solid silver;
	background: #f5f5f5;
	justify-content: space-between;
	height: 3rem;

	.read_title_cell {
		display: table-cell;
		outline: 0px solid red;
		padding-left: 10px;
		vertical-align: middle;
		flex: 7.5;
		line-height:2.5;
		white-space: nowrap;
		font-size: 1.1rem;
		font-weight: 550;
		
	}

	.dual_read_title_cell {
		display: table-cell;
		outline: 0px solid red;
		padding-left: 5px;
		vertical-align: middle;
		flex: 8;
		line-height:2;
	}
	
	.action_group {
		display: flex;
		align-items: center;
		gap: 5px;
		
		button {
			border: 0px;
			background: transparent;
		}
	}
	
	.hidden_page {
		color: red;
	}
	
	.link_cell {
		display: table-cell;
		outline: 0px solid blue;
		text-align: right;
	}
	
	.bookmark_cell {
		display: table-cell;
		flex: 1;
		background: transparent;
		outline: 0px solid blue;
		align-items: center;
	}
}


.read_main_contents {
	display: table;
	flex-flow: column nowrap;
	font-size: unset;
	padding: 10px;
	border-bottom: 1px solid silver;
	width: auto;
	
	.sub_items_container {
		display: flex;
		outline: 0px solid blue;
		
		.sub_item_rows {
			display: flex;
			/*margin-left:3em; 
			text-indent:-3em;*/
			text-align:justify;
			outline: 0px solid red;
			min-width: 10rem;
		}
	}

	.multi_column_container {
		/*columns: 150px 3;*/
		columns: auto;
		gap: 20px;
		column-rule: 1px solid #ccc;
		/*
		A:hover   {
			color:blue;
			text-decoration:underline;
			font-family:Arial; 
			border-bottom:none;
		}
		*/

		
		.sub_item_rows {
			display: flex;
			margin-left:1em; 
			text-indent:-1em;*/
			text-align:left;
			outline: 0px solid red;
			min-width: 10rem;
		}
	}
}

.dbl_edit_read_main_contents { /*************************************/
	display: flex;
	flex-flow: column nowrap;
	/*border-bottom: 1px solid silver;*/
	max-width: 53rem;
	min-width: 53rem;
	padding-left: 8px;
	overflow: hidden;
	outline: 1px solid silver;
	
	.sub_items_container {
		display: flex;
		outline: 0px solid blue;
		
		.sub_item_rows {
			display: flex;
			/*margin-left:3em; 
			text-indent:-3em;*/
			text-align:justify;
			outline: 0px solid red;
			min-width: 10rem;
		}
	}
}

.read_page_stats {
	display: flex;
	flex-flow: row wrap; 
	align-items: center;
	outline: 1px solid silver;
	background: #f5f5f5;
	
	.page_cell {
		display: table-cell;
		flex: 5;
		font-size: 0.85rem;
		color: #999999;
		padding-left: 5px;
	}
		
	.update_cell {
		display: table-cell;
		color: #999999;
		padding: 0 10 0 10;
	}
	
	.view_cell {
		display: table-cell;
		color: #999999;
		padding: 0 10 0 10;
	}

	.bookmark_cell {
	display: table-cell;
	flex: 0.3;
	outline: 0px solid magenta;
	background: transparent;
	outline: 0px solid blue;
	}
}

/******* s_tree 부분  *************************************************/
.s_result_container {
	display: flex;
	border: 1px solid silver;
	background: #f5f5f5;
	justify-content: space-between;
	align-items: center;
	
	.s_result {
		display: table-cell;
		padding: 0 5 0 5;
		font-size: 0.9rem;
		background: #ffffff;
		outline: 0p solid gray;
	}
}

.s_result_rows {
	display: flex;
	flex-flow: column nowrap;
	width: 100%;
}

.s_row {
	display: inline-flex;
	flex-flow: row nowrap;
	padding-left: 5px;
	border-bottom: 1px solid #f5f5f5;
	font-size: 0.9rem;
}

.s_row.active {
	border-left: 3px solid #9ab;
	background: #f2f4f6;
}

.d_folder {
	display: flex;
	flex-flow: column nowrap;
	padding: 5px;
	max-width: 17.5rem;
	margin:0px; 
	padding:0px; 
	overflow-x:hidden; 
	overflow-y:hidden; 
	border-top:1px solid silver;
	
	.s_rows {
		display: table-cell;
		padding-left: 10px;
	}
}

/******** edit.php 부분 ************************************/
.editor_body_container {
	display: flex;
	flex-flow: column nowrap;
	
	.edit_theform {
		outline: 0px solid red;
		padding: 0px;
		max-width: 51.8rem;
		max-width: 51.8rem;
	}
}

.editor_head_container {
	display: flex;
	flex-flow: column nowrap;
	min-width: 52rem;

	.currently_editing_page {
		text-align:center;
	}
	
	.editor_navigator_row {
		display: inline-flex;
		justify-content: space-between;
	}
	
	.editor_navigator_prev {
		display: table-cell;
		text-align: left;
	}
	
	.editor_navigatior_next {
		display: table-cell;
		text-align: right;
	}
}

.editor_customized_toolbox {
	display: flex:
	flex-flow: column nowrap;
	background: #f5f5f5;
	border-top: 1px solid silver;
	
	.editor_title_row {
		display: flex;
		flex-flow: row wrap;
		justify-content: space-between;
		align-items: center;
		padding: 0 5 0 5;
	
		input[type="text"] {
			height: 1.5rem;
		}

		.editor_title_cell {
			display: table-cell;
			padding-left: 5px;
		}
		
		.title_type_cell {
			display: table-cell;
		}

		.count_in_cell {
			display: table-cell;
		}
		
		/*
		select[title_type] {
			height: 1.5rem;
		}
		*/

		select {
			height: 1.5rem;
		}
	}

	.tool_cell {
		display: table-cell;
	}
	
	.customized_tools_row {
		display: flex;
		flex-flow: row wrap;
		align-items: center;
		justify-content: flex-start;
		padding: 0 5 0 5;
		gap: 4px;
	
		.cell_strikediag {
			width: 3rem;
		}
	}

	button {
		cursor: hand;
		vertical-align: middle;
		padding: 0px;
		margin: 0px;
		line-height: 100%;
		font-size: 12px;
		height: 1.5rem;
		width: 1.5rem;
	}
}

.html_editor_container {
	display: block;
	
	textarea {
		word-break: keep-all;
	}	
}

.editor_footer {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-around;
	
	.finish_cell {
		display: table-cell;
	}
	
	.add_one_cell {
		display: table-cell;
	}
}

.temp {
	display: flex;
}

.editor_body_container_dbl {
	display: flex;
	flex-flow: row nowrap;
	gap: 0.5rem;
	max-width: 106rem;
	
	.page_container_dbl {
		display: flex
		flex-flow: column nowrap;
		max-width: 53rem;
		min-width: 53rem;
		outline: 1px solid silver;
		/*height: 63rem;*/
		overflow: hidden;
	}
	
	.editor_body_container {
		display: flex;
		flex-flow: column nowrap;
		max-width; 52rem;
		outline: 1px solid silver;
		align-items: center;
	}
}

.title_type_cell, .count_in_cell {
	select {
		height: 1.5rem;
		padding: 0px;
		margin-top: 5px;
	}
}

/* ============================================================
   MyBook 시스템 통합 CSS (d_tree_g3 & admin_tree)
   ============================================================ */

/* 1. 공통 기본 스타일 */
.item_row, .tree-row {
    display: flex;
    /* align-items: center; /* 모든 요소 수직 중앙 고정 */
	align-items: flex-start;
    padding: 2px 0;
    background: #fff;
    transition: background 0.2s;
    min-height: 24px;
}

.item_row:hover, .tree-row:hover { background: #f2f4f6; }

/* 2. 아이콘 및 트리 기호 영역 (d_tree_g3 핵심) */
.icon_cell {
    display: flex;
    /*align-items: center;*/
	align-items: flex-start;
    flex-shrink: 0;
    line-height: 0;
}

/* 모든 트리 아이콘 이미지 규격 고정 */
.icon_cell img, .item_icon, .tree_toggle img, .root_icon {
    width: 14px;
    height: 14px;
    display: inline-block; /* inline 여백 제거 */
    flex-shrink: 0;
    margin-right: 2px;
}

/* 3. 넘버링 및 Prefix 영역 (정렬 파괴 주범 해결) */
.prefix, .prefix-text {
    display: flex !important;
    /* align-items: center !important; */
	align-self: center !important; 
    font-size: 13px;
    /*color: #e67e22;*/
    white-space: nowrap;
    flex-shrink: 0;
    margin-right: 8px;
    line-height: 1; /* 텍스트 박스 높이 최소화 */
}

/* 4. 제목 및 툴팁 영역 (말줄임표 지원) */
.item_title_cell, .title-text {
    display: flex !important;
    /* align-items: center !important; */
	align-items: flex-start;	
    min-width: 0;
    flex-grow: 1;
    overflow: visible !important; /* 툴팁 노출용 */
}

.item_title_cell a, .title-text a {
    display: block;
    width: 100%;
    overflow: visible !important;
    text-decoration: none;
    color: inherit;
}

/* 실제 텍스트 말줄임표 처리 */
.ellipsis-text {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
    font-size: 13px;
}

/* 5. admin_tree 전용 스타일 */
.admin-tree-wrapper { position: relative; padding: 5px; background: #fff; }
.floating-control { 
	position: fixed; 
	top: 80px; 
	right: 30px; 
	z-index: 1000; 

	display: flex; 
	flex-direction: column; 
	gap: 10px;
}

.btn-uncheck { 
	background: #f2f4f6; 
	color: #000; 
	border: 1px solid gray;
	padding: 0px;
	line-height: 1;
	height: 1.5rem;
	width: 1.5rem;
	font-size: 1.5rem;
	font-weight: 600;
}

.btn-admin { 
	padding: 5px; 
	border: none; 
	border-radius: 5px; 
	cursor: pointer;
	
	font-weight: bold; 
	font-size: 0.9rem; 
	box-shadow: 0 4px 6px rgba(0,0,0,0.1); 
	transition: all 0.2s;
}

.btn-save { 
	background: #00793E; 
	color: #f2f4f6; 
	opacity: 0.6;
}
.btn-save:hover { 
	background: #1a252f; 
	transform: translateY(-2px); 
}

.btn-reset { 
	background: #bdc3c7; 
	color: #000; 
	opacity: 0.6;
}

.btn-reset:hover { 
	background: #95a5a6; 
}


.btn-delete { 
	background: #bdc3c7; 
	color: red; 
	opacity: 0.6;
}
.btn-delete:hover { 
	background: #1a252f; 
}

.btn-set { 
	background: #cde; 
	color: blue; 
	opacity: 0.6;
}
.btn-set:hover { 
	background: #abc; 
}

.sortable-list { 
	list-style: none; 
	padding: 0; 
	margin: 0; 
	border-top: 2px solid #333; 
}

.num-fixed { 
	color: #3498db; 
	font-weight: bold; 
	text-align: center; 
	border-right: 1px solid #eee; 
	margin-right: 5px; 
	outline: 0px solid red;
	padding: 2px 5px 0px;
}

.chk-cell { 
	text-align: center; 
}

.page-ref { 
	color: #999; 
	font-size: 0.75rem; 
	text-align: center; 
	background: #f9f9f9; 
	padding-top: 4px;
	margin-left: 4px;
}
.tree-handle { 
	cursor: move; 
	color: #aaa; 
	padding: 0px 10px; 
	font-size: 1.2rem; 
}
.indent-guide { 
	display: inline-block; 
	border-left: 1px dotted #ccc; 
	height: 20px; 
	margin-right: 19px; 
	margin-top: 5px;
}

.written_page, empty_page {
	font-size: 1.2rem;
	outline: 0px solid red;
	line-height: 1.6;
}
/* 6. 상태 및 피드백 */
.item_focused { background-color: #e8f0fe !important; border-left: 3px solid #4285f4 !important; font-weight: bold; }
.is_expanded { font-weight: bold; }
.sortable-selected { outline: 2px solid #3498db !important; background-color: #f0f7ff !important; }
.sortable-ghost { opacity: 0.3; background: #3498db !important; }

#d_tree_wrapper {
    /* 트리의 세로 스크롤은 여기서 담당하게 합니다 */
    overflow-y: auto !important;
    overflow-x: hidden !important;
    height: 100%; /* 부모 높이에 맞춤 */
}

#drag-counter-badge {
    position: fixed; background: #def; color: #ff4757; border-radius: 12px; padding: 3px 10px;
    font-size: 13px; font-weight: bold; z-index: 10001; box-shadow: 0 2px 8px rgba(0,0,0,0.3);
    white-space: nowrap; pointer-events: none; display: none;
}

.d_tree_node { 
	position: relative;
	z-index: 1;
	transition: background 0.2s; 
}
.d_tree_node:hover { 
	background-color: #f0f0f0; 
	z-index: 99999 !important;
}

.nav_icon {
	outline: 0px solid red;
	width: 14px !important;
}

/* d_tree 전용 */
/* 유니코드 아이콘 전용 정렬 */
.unicode-icon {
    font-size: 14px;
    display: inline-block; /* 너비/높이/정렬을 위해 필수 */
    vertical-align: baseline; /* 이미지와 높이를 맞춤 */
    line-height: 1; /* 불필요한 행간 제거 */
    width: 20px; 
    text-align: center;
	padding: 4px 0px 0px;
	color: gray;
	font-weight: 600;
	outline:0px solid blue;
	font-family: Arial, "Segoe UI Emoji", "Segoe UI Symbol", "Noto Emoji", Symbola;
}

.unicode-icon.root {
	color: ##C1B5A9;
}

.unicode-icon.item {
	color: #C1B5A9;
}

.unicode-icon.closed_folder {
	color: #E0B88A;
}

.unicode-icon.open_folder {
	color: #AC8053;
}

/* 트리 내부의 모든 아이콘 컨테이너 정렬 강제 */
.icon_cell span, 
.icon_cell img {
    vertical-align: middle;
}

/* 텍스트(제목)와의 간격 조정 */
.item_title_cell {
    vertical-align: middle;
}

.tree_controls {
	display: flex;
	flex-flow: column nowrap;
	justify-content: center;
	align-items: center;
	width: 100%;
	margin: 0px;
	padding: 5px; 
	border-bottom: 1px solid #ddd; 
	background: #f5f5f5;
}

.btn_row {
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-around;
	align-items: center;
	width: 100%;
	z-index: 100;
}

.btn_tree { 
	padding: 0px 5px; 
	border: 1px solid #aaa; 
	border-radius: 5px; 
	cursor: pointer;
	
	font-weight: bold; 
	font-size: 0.9rem; 
	/*box-shadow: 0 4px 6px rgba(0,0,0,0.1);*/
	transition: all 0.2s;
}

.btn_open { 
	background: #fff;
	color: #AC8053; 
}

.btn_open:hover { 
	background: #ffffff; 
	transform: translateY(-2px); 
}

.btn_close { 
	background: #fff;
	color: #E0B88A;; 
}

.btn_close:hover { 
	background: #ffffff; 
	transform: translateY(-2px); 
}

.btn_init { 
	background: #fff;
	color: #C1B5A9; 
}

.btn_init:hover { 
	background: #ffffff; 
	transform: translateY(-2px); 
}

.dropdown_history {
	display: block;
	width: auto;
	justify-content: center;
	align-items: center;
	margin-top: 5px;
}

.recent_history_wrapper {
	display:inline-block; 
	margin-left:0px; 
	position:relative;
	justify-content: center;
	align-items: center;
}

.btn_history {
	background:#fff; 
	border:0px solid #ccc; 
	cursor:pointer; 
	width: 15rem;
}

.history_list {
	display:none; 
	position:absolute; 
	top:25px; 
	left:15px; 
	z-index:1000; 

	background:#fff; 
	border:1px solid #aaa; 
	list-style:none; 
	padding:5px 0; 
	margin:0; 
	width:180px; 
	box-shadow:2px 2px 5px rgba(0,0,0,0.2);"
}

/* 툴팁 몸체 디자인 (JS에서 넣었던 스타일을 CSS로 옮기면 관리가 편합니다) */
#fixed-global-tooltip {
    display: none;
    position: fixed;
    background: rgba(40,40,40, 0.60) !important; /* 배경만 60% 투명하게 */
    backdrop-filter: blur(3px); /* [선택사항] 배경을 살짝 흐리게 해서 가독성 높임 */
    color: #fff;
    padding: 6px 10px;
	border: 1px solid rgba(255, 255, 255, 0.1); /* 테두리를 살짝 주면 더 고급스럽습니다 */
    border-radius: 4px;
    font-size: 11px;
    z-index: 1000000;
    pointer-events: none;
    max-width: 220px;
    line-height: 1.5;
    /*box-shadow: 0 2px 8px rgba(0,0,0,0.3);*/
    /* 꼬리가 붙을 공간 확보 */
    margin-top: -5px; 
}

/* 말풍선 꼬리 (삼각형) */
#fixed-global-tooltip::after {
    content: "";
    position: absolute;
    top: 100%; /* 몸체 아래쪽 */
    left: 50%;
    transform: translateX(-50%);
    border: 5px solid transparent;
    border-top-color: rgba(40, 40, 40, 0.6);
}

.tree_home_wrapper {
	display: flex;
	gap: 1rem;
	padding: 8px; 
	border-bottom: 1px solid #ddd; 
	background: #f5f5f5;
	
	.btn_row {
		flex: 1.3;
		justify-content: space-around;
	}
}


#tree_home {
	display:inline-flex; 
	align-items:center; 
	justify-content: center;
	gap:8px;	
    padding: 2px;
    border-radius: 4px;
    transition: background 0.2s;
	flex: 1;
	border: 1px solid #aaa; 
	cursor: pointer;
	/*box-shadow: 0 4px 6px rgba(0,0,0,0.1);*/
	line-height: 1;
	height: 2rem;
	background: #fff;
}

#tree_home:hover {
    background: #f0f7ff;
    color: #0056b3;
	transform: translateY(-2px); 

}
.home-text {
    font-size: 14px;
    letter-spacing: 1px;
}


