/* CSS - Cascading Style Sheet */
/* Palette color codes */
/* Dronautix Branding Adaptation */

:root{
	/* Dronautix Blau als Hauptfarbe */
	--color-0: 			#1A2B4C; 
	/* Sekundärfarben angepasst für Harmonie */
	--color-1: 			#3a5075;
	--color-2: 			#121e35;
	--color-3: 			rgb(45, 109, 130);
	--color-4: 			rgb(16, 143, 185);
	
	--bg-color:			var(--color-0);
	--bg-color-2:		#15233e; /* Etwas dunkler für Header/Titel */
	--bg-light-color:	#263c66;
	--bg-dark-color:	#0e1729;
	--bg-hover-color:	var(--color-1);
	
	--font-color:		#e6e6e6; /* Hellerer Text für besseren Kontrast auf Dunkelblau */
	--font-color-2:		#ffffff;
	
	--border-color:		black;
	
	--measurement-detail-node-bg-light:		var(--color-1);
	--measurement-detail-node-bg-dark:		var(--color-2);
	--measurement-detail-area-bg-color:		#eee;
}

#potree_sidebar_container{
	position:	absolute;
	z-index:	0;
	width:		350px;
	height:		100%;
	overflow-y:	scroll;
	font-size:	85%;
	border-right:	1px solid black;
	background-color:	var(--bg-color);
}

#sidebar_root{
	color:				var(--font-color);
	font-family:		Arial,Helvetica,sans-serif;
	font-size:			1em;
}

.potree_failpage{
	width: 100%;
	height: 100%;
	background-color: white;
	position: absolute;
	margin: 15px;
}

.potree_failpage a{
	color: initial !important;
	text-decoration: underline !important;
}

.potree_info_text{
	color:		white;
	font-weight: bold;
	text-shadow:  1px  1px 1px black,
				  1px -1px 1px black,
				 -1px  1px 1px black,
				 -1px -1px 1px black;
}

.potree_message{
	width: 500px;
	background-color: var(--bg-color);
	padding: 5px;
	margin: 5px;
	border-radius: 4px;
	color: var(--font-color);
	font-family: Arial;
	opacity: 0.8;
	border: 1px solid black;
	display: flex;
	overflow: auto;
}

.potree_message_error{
	background-color: red;
}

#potree_description{
	position: absolute; 
	top: 10px; 
	left: 50%; 
	transform: translateX(-50%); 
	text-align: center;
	z-index:	1000;
}

/* --- Dronautix Logo Styling --- */
.potree_sidebar_brand{
	margin:			1px 0px;
	line-height:	2em;
	font-size:		100%;
	font-weight:	bold;
	position:		relative;
	display:		flex; 
	flex-direction:	row;
	background-color: var(--bg-color);
	padding: 15px 0;
	height: auto !important; /* Wichtig für korrekte Höhe des Logos */
}

.dronautix-logo {
	max-width: 80%;
	max-height: 70px; /* Logo darf nicht zu riesig werden */
	object-fit: contain;
	filter: drop-shadow(0px 4px 6px rgba(0,0,0,0.3)); /* Leichter Schatten für Tiefe */
	transition: transform 0.2s;
}

.dronautix-logo:hover {
	transform: scale(1.05);
}
/* ----------------------------- */

#potree_sidebar_container a{
	color: 			#8Aa1c4;
}

#potree_quick_buttons{
	position: absolute;
	left: 4px;
	top: 4px; 
	width: 10px; 
	height: 10px; 
	z-index: 10000;
	float: left;
}

.potree_menu_toggle{
	float:			left;
	margin:			0;
	background:		none;
	width:			2.5em;
	height:			2.5em;
	z-index:		100;
	cursor: 		pointer;
	margin:			4px;
}

#potree_map_toggle{
	float:			left;
	margin:			0;
	background:		none;
	width:			2.5em;
	height:			2.5em;
	z-index:		100;
	cursor: 		pointer;
	margin:			4px;
}

#potree_render_area{
	position: 	absolute;
	top: 		0px;
	bottom: 	0px;
	left: 		0px;
	right: 		0px;
	overflow: 	hidden;
	z-index: 	1;
	-webkit-transition: left .35s;
	transition: left .35s;
}

#viewport_nav_hint{
	position: absolute;
	top: 18px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1000;
	padding: 10px 18px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 999px;
	background: rgba(8, 17, 31, 0.72);
	backdrop-filter: blur(10px);
	color: #f5f7fb;
	font-family: "Segoe UI", Tahoma, sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.02em;
	white-space: nowrap;
	pointer-events: none;
}

.potree-elevation-legend{
	position: absolute;
	right: 18px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 950;
	padding: 14px 16px 14px 16px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 18px;
	background: rgba(8, 17, 31, 0.76);
	backdrop-filter: blur(10px);
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
	color: #f5f7fb;
	font-family: "Segoe UI", Tahoma, sans-serif;
	pointer-events: none;
}

.potree-elevation-legend-title{
	margin-bottom: 12px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.potree-elevation-legend-body{
	display: grid;
	grid-template-columns: 18px auto;
	column-gap: 14px;
	align-items: stretch;
}

.potree-elevation-legend-bar{
	width: 18px;
	min-width: 18px;
	height: 430px;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06);
}

.potree-elevation-legend-labels{
	height: 430px;
	position: relative;
	min-width: 88px;
}

.potree-elevation-legend-tick{
	position: absolute;
	left: 0;
	right: 0;
	transform: translateY(-50%);
	display: flex;
	align-items: center;
}

.potree-elevation-legend-line{
	width: 10px;
	height: 1px;
	margin-right: 10px;
	background: rgba(255, 255, 255, 0.55);
	flex: 0 0 auto;
}

.potree-elevation-legend-tick-minor .potree-elevation-legend-line{
	width: 6px;
	opacity: 0.45;
}

.potree-elevation-legend-label{
	position: relative;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	white-space: nowrap;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.55);
}

.potree-panel {
	border: 		1px solid black;
	border-radius: 	0.4em;
	padding: 		0px;
	background-color: var(--bg-light-color);
}

.potree-panel-heading{
	background-color: var(--bg-dark-color);
}

a:hover, a:visited, a:link, a:active{
	color: 				#ccccff;
	text-decoration: 	none;
}

.annotation{
	position:		absolute;
	padding:		10px;
	opacity:		0.5;
	transform:		translate(-50%, -30px);
	will-change:	left, top;
}

.annotation-titlebar{
	color:			white;
	background-color:	black;
	border-radius:	1.5em;
	border:			1px solid rgba(255, 255, 255, 0.7);
	font-size:		1em;
	opacity:		1;
	margin:			auto;
	display:		table;
	padding:		1px 8px;
	cursor: 		pointer;
}

.annotation-expand{
	color:			white;
	font-size:		0.6em;
	opacity:		1;
}

.annotation-action-icon{
	width:			20px;
	height:			20px;
	display:		inline-block;
	vertical-align:	middle;
	line-height:	1.5em;
	text-align:		center;
	font-family:	Arial;
	font-weight:	bold;
	cursor: 		pointer;
}

.annotation-action-icon:hover{
	filter:			drop-shadow(0px 0px 1px white);
	width:			24px;
	height:			24px;
	cursor: 		pointer;
	
}

.annotation-item {
	color:			white;
	background-color: 	black;
	opacity:		0.5;
	border-radius:	1.5em;
	font-size:		1em;
	line-height:	1.5em;
	padding:		1px 8px 0px 8px;
	font-weight:	bold;
	display:		flex;
	cursor:			default;
}

.annotation-item:hover {
	opacity:		1.0;
	box-shadow:		0 0 5px #ffffff;
}

.annotation-main{
	display:		flex;
	flex-grow:		1;
}

.annotation-label{
	display:		inline-block;
	height:			100%;
	flex-grow:		1;
	user-select:	none;
	-moz-user-select: none;
	z-index:		100;
	vertical-align:	middle;
	line-height:	1.5em;
	font-family:	Arial;
	font-weight:	bold;
	cursor: 		pointer;
	white-space:	nowrap;
}

.annotation-description{
	position:		relative;
	color:			white;
	background-color:	black;
	padding:		10px;
	margin:			5px 0px 0px 0px;
	border-radius:	4px;
	display:		none;
	max-width:		500px;
	width:			500px;
}

.annotation-description-close{
	filter:			invert(100%);
	float:			right;
	opacity:		0.5;
	margin:			0px 0px 8px 8px;
}

	
.annotation-description-content{
	color:			white;
}

.annotation-icon{
	width:		20px;
	height:		20px;
	filter:		invert(100%);
	margin:		2px 2px;
	opacity:	0.5;
}


canvas { 
	width: 100%; 
	height: 100% 
}

body{ 
	margin: 	0; 
	padding: 	0;
	position:	absolute;
	width: 		100%;
	height: 	100%;
	overflow:	hidden;
}

.axis {
  font: 		10px sans-serif;
  color: 		var(--font-color);
}

.axis path{
	fill: 		rgba(255, 255, 255, 0.5);
	stroke: 		var(--font-color);
	shape-rendering: crispEdges;
	opacity: 		0.7;
}

.axis line {
	fill: 		rgba(255, 255, 255, 0.5);
	stroke: 		var(--font-color);
	shape-rendering: crispEdges;
	opacity: 		0.1;
}

.tick text{
	font-size: 12px;
}

.scene_header{
	display:flex;
	cursor: pointer;
	padding: 2px;
}

.scene_content{
	padding: 5px 0px 5px 0px;
}

.measurement_content{
	padding: 5px 15px 5px 10px;
}

.propertypanel_content{
	padding: 5px 15px 5px 10px;
}

.measurement_value_table{
	width: 100%;
}

.coordinates_table_container table td {
	width: 33%;
	text-align: center;
}

#scene_object_properties{
	margin:		0px;
}

.sidebar-property-menus{
	margin: 8px 0 4px 0;
}

#potree_sidebar_container{
	--sidebar-button-text: #f4f7fb;
	--sidebar-button-border: rgba(255, 255, 255, 0.18);
	--sidebar-button-top: rgba(74, 101, 145, 0.96);
	--sidebar-button-bottom: rgba(23, 40, 71, 0.98);
	--sidebar-button-hover-top: rgba(92, 121, 169, 0.98);
	--sidebar-button-hover-bottom: rgba(31, 51, 87, 0.98);
	--sidebar-button-active-top: rgba(39, 63, 105, 0.98);
	--sidebar-button-active-bottom: rgba(18, 31, 55, 0.98);
	--sidebar-button-shadow: 0 8px 18px rgba(0, 0, 0, 0.24);
	--sidebar-button-shadow-active: inset 0 2px 4px rgba(0, 0, 0, 0.28), 0 4px 10px rgba(0, 0, 0, 0.2);
}

#potree_sidebar_container .sidebar-property-toggle,
#potree_sidebar_container .ui-selectmenu-button.ui-button,
#potree_sidebar_container .pv-menu-list input[type="button"],
#potree_sidebar_container .pv-menu-list button,
#potree_sidebar_container .pv-menu-list .ui-button{
	border: 1px solid var(--sidebar-button-border) !important;
	border-radius: 0 !important;
	background: linear-gradient(180deg, var(--sidebar-button-top) 0%, var(--sidebar-button-bottom) 100%) !important;
	color: var(--sidebar-button-text) !important;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.22),
		inset 0 -1px 0 rgba(0, 0, 0, 0.2),
		var(--sidebar-button-shadow) !important;
	text-shadow: 0 1px 0 rgba(0, 0, 0, 0.35);
	transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease, background 0.15s ease;
}

#potree_sidebar_container .sidebar-property-toggle,
#potree_sidebar_container .pv-menu-list input[type="button"],
#potree_sidebar_container .pv-menu-list button{
	width: 100%;
	margin: 8px 0 0 0;
	padding: 10px 14px;
	font-size: 13px;
	font-weight: bold;
	letter-spacing: 0.03em;
	text-align: left;
	cursor: pointer;
}

#potree_sidebar_container .pv-menu-list input[type="button"].classification-invert-button{
	width: auto;
	min-width: 0;
	display: inline-block;
	padding-left: 14px;
	padding-right: 14px;
}

#potree_sidebar_container .pv-menu-list .ui-button,
#potree_sidebar_container .ui-selectmenu-button.ui-button{
	font-weight: 600;
	letter-spacing: 0.01em;
}

#potree_sidebar_container .sidebar-property-toggle:hover,
#potree_sidebar_container .ui-selectmenu-button.ui-button:hover,
#potree_sidebar_container .pv-menu-list input[type="button"]:hover,
#potree_sidebar_container .pv-menu-list button:hover,
#potree_sidebar_container .pv-menu-list .ui-button:hover{
	background: linear-gradient(180deg, var(--sidebar-button-hover-top) 0%, var(--sidebar-button-hover-bottom) 100%) !important;
	filter: brightness(1.04);
}

#potree_sidebar_container .sidebar-property-toggle:active,
#potree_sidebar_container .ui-selectmenu-button.ui-button:active,
#potree_sidebar_container .pv-menu-list input[type="button"]:active,
#potree_sidebar_container .pv-menu-list button:active,
#potree_sidebar_container .pv-menu-list .ui-button:active,
#potree_sidebar_container .pv-menu-list .ui-button.ui-state-active,
.sidebar-property-toggle.is-open{
	background: linear-gradient(180deg, var(--sidebar-button-active-top) 0%, var(--sidebar-button-active-bottom) 100%) !important;
	box-shadow: var(--sidebar-button-shadow-active) !important;
	transform: translateY(1px);
	filter: none;
}

#potree_sidebar_container .sidebar-property-toggle:focus-visible,
#potree_sidebar_container .ui-selectmenu-button.ui-button:focus-visible,
#potree_sidebar_container .pv-menu-list input[type="button"]:focus-visible,
#potree_sidebar_container .pv-menu-list button:focus-visible,
#potree_sidebar_container .pv-menu-list .ui-button:focus-visible{
	outline: 2px solid rgba(140, 186, 255, 0.65);
	outline-offset: 2px;
}

.sidebar-property-panel{
	display: none;
	width: 100%;
	margin: 8px 0 0 0;
	padding: 12px 14px;
	border-radius: 14px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	background: rgba(10, 22, 41, 0.94);
	color: #f4f7fb;
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28);
	overflow: hidden;
}

.sidebar-property-panel .pv-menu-list{
	margin: 0;
}

.sidebar-property-panel > :first-child{
	margin-top: 0;
}

.pv-panel-heading{
	padding: 	4px !important;
	display: 	flex; 
	flex-direction: row
}

.pv-menu-list{
	list-style-type:	none;
	padding:			0;
	margin:				15px 0px;
	overflow:			hidden;
}

.pv-menu-list > *{
	margin: 	4px 20px;
}

.ui-slider {
	margin-top: 5px;
	margin-bottom: 10px;
	background-color: 	var(--color-1) !important;
	background: 		none;
	border: 			1px solid black;
}

.ui-selectmenu-button.ui-button{
	width: 		100% !important;
}

.ui-selectmenu-menu .ui-menu{
	max-height: 50vh;
	overflow-y: auto;
	overflow-x: hidden;
}

.pv-menu-list > li > .ui-slider{
	background-color: 	var(--color-1) !important;
	background: 		none;
	border: 			1px solid black;
}

.pv-menu-list .ui-slider{
	background-color: 	var(--color-1) !important;
	background: 		none;
	border: 			1px solid black !important;
}

.ui-slider-handle{
	border: 			1px solid black !important;
}

.ui-widget{
	box-sizing:border-box
}

.panel-body > li > .ui-slider{
	background-color: var(--color-1) !important;
	background: none;
	border: 1px solid black;
}

.panel-body > div > li > .ui-slider{
	background-color: var(--color-1) !important;
	background: none;
	border: 1px solid black;
}

.pv-select-label{
	margin: 1px;
	font-size: 90%;
	font-weight: 100;
}

.button-icon:hover{
	filter:				drop-shadow(0px 0px 4px white);
}

.accordion > h3{
	background-color: var(--bg-color-2) !important;
	background: #f6f6f6 50% 50% repeat-x;
	border:		1px solid black;
	color:		var(--font-color-2);
	cursor:		pointer;
	margin:		2px 0 0 0;
	padding:	4px 10px 4px 30px;
	box-shadow:	0px 3px 3px #111;
	text-shadow:	1px 1px 0 #000, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
	font-size:	1em;
}

.accordion > h3:hover{
	filter: brightness(125%);
}

.accordion-content{
	padding: 0px 0px !important;
	border: none !important;
}

.icon-bar{
	height: 4px !important;
	border: 1px solid black;
	background-color: white;
	border-radius: 2px;
}

.canvas{
	-webkit-transition: top .35s, left .35s, bottom .35s, right .35s, width .35s;
	transition: top .35s, left .35s, bottom .35s, right .35s, width .35s;
}

#profile_window{
	background-color:	var(--bg-color);
}

#profile_titlebar{
	background-color:	var(--bg-color-2);
	color: var(--font-color-2);
	text-shadow: 1px 1px 0 #000, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
	font-size: 1em;
	font-weight: bold;
}

#profile_window_title{
	position: absolute;
	margin: 5px;
}

.profile-container-button{
	cursor: pointer;
}

.profile-button:hover{
	background-color: #0000CC;
}

.unselectable{
	user-select: 			none;
}

.selectable{
	user-select: 			text;
}

.divider {
	display: 		block;
	text-align: 	center;
	overflow: 		hidden;
	white-space: 	nowrap; 
	font-weight:	bold;
	font-size:		90%;
	letter-spacing:	1px;
	margin-left:	0px;
	margin-right:	0px;
	margin-top: 	1px;
	margin-bottom: 	1px;
	padding:		1px !important;
}

.sidebar-collapsible-toggle{
	cursor: pointer;
	position: relative;
	padding: 6px 30px 6px 8px !important;
	border-radius: 0;
	background: rgba(255, 255, 255, 0.04);
	text-align: center;
	transition: background 0.15s ease, filter 0.15s ease;
}

.sidebar-collapsible-toggle::before{
	content: "";
	position: absolute;
	left: 0;
	right: 24px;
	top: 50%;
	height: 1px;
	background: #b2b2b2;
}

.sidebar-collapsible-toggle:hover{
	background: rgba(255, 255, 255, 0.08);
	filter: brightness(1.05);
}

.sidebar-collapsible-toggle:focus-visible{
	outline: 2px solid rgba(140, 186, 255, 0.65);
	outline-offset: 2px;
}

.sidebar-collapsible-toggle::after{
	content: "+";
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
	padding: 0 0 0 6px;
	background: var(--bg-color);
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
	color: rgba(244, 247, 251, 0.96);
	transition: transform 0.15s ease;
}

.sidebar-collapsible-toggle.is-collapsed::after{
	content: "+";
	transform: translateY(-50%);
}

.sidebar-collapsible-toggle:not(.is-collapsed)::after{
	content: "−";
	transform: translateY(-50%);
}

.sidebar-collapsible-content{
	margin-bottom: 8px;
}

.sidebar-collapsible-toggle > span{
	width: auto;
	display: inline-block;
	text-align: center;
	letter-spacing: 1px;
	position: relative;
	z-index: 1;
	padding: 0 8px;
	background: var(--bg-color);
}

.sidebar-collapsible-toggle > span:before,
.sidebar-collapsible-toggle > span:after{
	display: none;
}

.divider > span {
	position: 	relative;
	display: 	inline-block;
}

.divider > span:before,
.divider > span:after {
	content: 	"";
	position: 	absolute;
	top: 		50%;
	width: 		9999px;
	height: 	1px;
	background: #b2b2b2;
}

.divider > span:before {
	right: 100%;
	margin-right: 5px;
}

.divider > span:after {
	left: 100%;
	margin-left: 5px;
}

.divider.divider-line-only{
	height: 1px;
	padding: 0 !important;
	margin: 10px 0 8px 0;
	background: #b2b2b2;
}

.ol-dragbox {
  background-color: rgba(255,255,255,0.4);
  border-color: rgba(100,150,0,1);
  border: 1px solid red;
}

.text-icon{
	opacity:	0.5;
	height:		24px;
}

.text-icon:hover{
	opacity:	1.0;
}

.input-grid-cell{
	flex-grow: 1; margin: 0px 3px 0px 3px;
}

.input-grid-label{
	flex-grow: 1; 
	margin: 0px 3px 0px 3px; 
	text-align:center; 
	font-weight: bold;
}

.input-grid-cell > input{
	width: 100%
}

.invalid_value{
	color: #e05e5e;
}

.ui-spinner-input{
	color: black;
}

.jstree-themeicon-custom{
	background-size: 16px !important;
}

.jstree-default .jstree-clicked{
	background-color: #34494f !important;
}

.jstree-default .jstree-hovered{
	background-color: #34494f !important;
}

.jstree-anchor{
	width: 100% !important;
}

.ui-state-default{
	background: #a6a9aa !important;
	border: 1px solid black;
	color: black;
}

.ui-state-active{
	background: #c6c9ca !important;
	color: black !important;
}

.cesium-viewer .cesium-viewer-cesiumWidgetContainer{
	position: absolute;
	height: 100%;
	width: 100%;
}

.zs_widget{
	padding: 2px;
	height: 4em;
	user-select: none;
}
.zs_core{
	overflow: hidden;
	position: relative;
	height: 100%;
}
.zs_handle{
	position: absolute;
	top: 0px;
	bottom: 0px;
	border: 1px solid black;
	border-radius: 3px;
	background-color: rgb(166, 169, 170);
	width: 8px;
	user-select: none;
	width: 1.2em;
	height: 1.2em;
	top: calc(50% - 0.6em);
}
.zs_stretch{
	position: absolute;
	top: 0px;
	bottom: 0px;
	border: 1px solid black;
	border-radius: 3px;
	background-color: rgb(166, 169, 170);
	width: 8px;
	user-select: none;
	width: 1.2em;
	height: 1.2em;
	top: calc(50% - 0.6em);
	color: black;
	font-weight: bold;
	font-size: 1.2em;
	font-family: arial;
}
.zs_handle:hover{
	background-color: lightgreen;
}
.zs_inside{
	position: absolute !important;
	width: 100%;
	border: 1px solid black;
	background-color: white;
	top: calc(50% - 0.326em);
	height: 0.652em;
	cursor: zoom-in;
}
.zs_outside{
	position: absolute !important;
	width: 100%;
	background-color: var(--color-1) !important;
	top: calc(50% - 0.326em);
	height: 0.652em;
	cursor: zoom-in;
}
.zs_visible_range_label{
	position: absolute;
	bottom: 0px;
	pointer-events:none;
}
.zs_visible_range_label_left{
	left: 0px;
}
.zs_visible_range_label_right{
	right: 0px;
}
.zs_chosen_range_label{
	position: absolute;
	pointer-events:none;
}

#potree_sidebar_container{
	scrollbar-color: var(--color-1) var(--bg-color);
	scrollbar-width: thin;
}

::-webkit-scrollbar {
	width: 6px;
	background-color: var(--bg-color);
}

::-webkit-scrollbar-thumb {
	background-color: var(--color-1);
}

.propertypanel_content .heading{
	font-weight: bold;
	padding-top: 0.6em;
	padding-bottom: 0.1em;
}
