@charset "utf-8";
/* CSS Document */

/* 13.10.2026: room for the scrollbar is always kept. Without it the page got
   15px narrower whenever its content outgrew the window, and everything centred
   (the centre taskbar first of all) jumped by 7.5px — e.g. Ausmass vs LV. */
html { scrollbar-gutter:stable; }

:root {
	--bs_green_1: #6B9B62;
	--bs_red_1: #C90000;
	--bs_blue_1: #168DCB;
	--bs_black_1: #393939;
	--bs_grey_1: #4B4B4B;
	--bs_yellow_1: #FFC600;
	--bs_orange_1: #D97910;
}

img.preview {
    max-height: 210px;
    object-fit: cover;
}
img.preview-overview {
    border-radius: 8px 0px 0px 8px;
    border-right: 0.5px solid #E7E7E7;
    width: 100%;
    min-height: 100%;
    max-height: 104px;
    object-fit: cover;
}

/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */
/* Div */
body {
	background-color: #EDEDED !important;

}
@media (min-width: 0px){
body {
	/*	zoom: 1.00; Other non-webkit browsers */
	/*	zoom: 100%;  Webkit browsers */
}
}
@media (min-width: 1000px){
body {
  /* 	zoom: 1.25;  Other non-webkit browsers */
  /*	zoom: 125%;   Webkit browsers */
}	
}
/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */
/* Geprüft */
/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */




/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */
/* Size */
/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */

[hidden] { display: none !important; }

div {
  font-family: abel, sans-serif;
}

label{
	text-decoration: none;
	font-size: 20px;
	font-family: abel, sans-serif;
	color: #606060;
 -moz-hyphens: auto;
   -o-hyphens: auto;
   -webkit-hyphens: auto;
   -ms-hyphens: auto;
   hyphens: auto; 
}
a{
	font-size: 20px;
	font-family: abel, sans-serif;
	text-decoration: none;
	font-weight: normal;
	color: #606060;

 }

table{
	font-size: 20px;
	font-family: abel, sans-serif;
 }
tr{
	font-size: 20px;
	font-family: abel, sans-serif;
 }
td{
	font-size: 20px;
	font-family: abel, sans-serif;
 }
button {
	font-size: 20px;
	font-family: abel, sans-serif;
	text-decoration: none;
	font-weight: normal;
	display: inline-block;	
	cursor:pointer;
 }	
input{
	font-size: 20px;
	font-family: abel, sans-serif;
	text-decoration: none;
	font-weight: normal;
	display: inline-block;
 }

select{
	font-size: 20px;
	font-family: abel, sans-serif;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border: none;
}
select::placeholder{
	font-size: 16px;
	font-family: abel, sans-serif;
 }
textarea{
	font-size: 20px;
	font-family: abel, sans-serif;
	color: #606060;
 }
input[type="checkbox"][readonly], .readonly_checkbox {
  pointer-events: none;
}
input[type="text"][readonly] {
  pointer-events: none;
}
input[type="select"][readonly] {
  pointer-events: none;
}
select[readonly]{
    background: #eee;
    cursor:no-drop;
	pointer-events: none;
}

select[readonly] option{
    display:none;
	pointer-events: none;
}
/* Focus-Lock Klasse für Formular-Elemente */
.focus-lock {
    position: relative;
	
}

/* Icon oben rechts positionieren */
/*.focus-lock::after {
    content: '';
    position: absolute;
    top: 0px;
    right: 10px;
    width: 25px;
    height: 25px;
    background-image: url("../images/icon_api_1.png");	
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    pointer-events: none;
    z-index: 10;
}*/

/* Lock-Icon als echtes DOM-Element (kein Pseudo-Element, damit Microtip-Pfeile sichtbar bleiben) */
.focus-lock-icon {
    position: absolute;
    top: 0;
    right: 10px;
    height: 25px;
    width: 25px;
    background-image: url("../images/icon_api_1.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    pointer-events: none;
    z-index: 10;
}
td:has(textarea) .focus-lock-icon {
    right: 15px;
}
/* Für Input und Textarea */
input.focus-lock,
select.focus-lock:read-only {
    padding-right: 25px; /* Platz für das Icon schaffen */
	background-image: linear-gradient(45deg, #ffffff 18.75%, #fafafa 18.75%, #fafafa 50%, #ffffff 50%, #ffffff 68.75%, #fafafa 68.75%, #fafafa 100%);
	background-size: 11.31px 11.31px;
}
textarea.focus-lock:read-only {
    padding-right: 0px; /* Platz für das Icon schaffen */
	background-image: linear-gradient(45deg, #ffffff 18.75%, #fafafa 18.75%, #fafafa 50%, #ffffff 50%, #ffffff 68.75%, #fafafa 68.75%, #fafafa 100%);
	background-size: 11.31px 11.31px;
}
textarea.focus-lock:read-only:hover {
border: 1px solid #CDCCCC;
}
input[type="text"].focus-lock:read-only {
	background-image: linear-gradient(45deg, #ffffff 18.75%, #fafafa 18.75%, #fafafa 50%, #ffffff 50%, #ffffff 68.75%, #fafafa 68.75%, #fafafa 100%);
	background-size: 11.31px 11.31px;
	}
input[type="number"].focus-lock:read-only {
	background-image: linear-gradient(45deg, #ffffff 18.75%, #fafafa 18.75%, #fafafa 50%, #ffffff 50%, #ffffff 68.75%, #fafafa 68.75%, #fafafa 100%);
	background-size: 11.31px 11.31px;
}

/* Spezielle Anpassung für Checkboxes */
input[type="checkbox"].focus-lock {
    padding-right: 0;
}

input[type="checkbox"].focus-lock .focus-lock-icon {
    top: -5px;
    right: -25px;
}

/* Spezielle Anpassung für Radio Buttons */
input[type="radio"].focus-lock {
    padding-right: 0;
}

input[type="radio"].focus-lock .focus-lock-icon {
    top: -5px;
    right: -25px;
}

/* Für Select2 Dropdowns - Container Wrapper benötigt */
.focus-lock.select2-container .focus-lock-icon {
    top: 5px;
    right: 35px; /* Platz für Select2 Pfeil lassen */
}

/* Alternative: Wrapper-Div für komplexere Elemente */
.focus-lock-wrapper {
    position: relative;
    display: inline-block;
}

.focus-lock-wrapper::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 20px;
    height: 20px;
    background-image: url("../images/icon_api_1.png");	
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    pointer-events: none;
    z-index: 10;
}

.bs23_table_info  {
    border-radius: 5px;
    padding: 5px;
    width: 100%;
    border-width: 1px;
    border-style: dashed;
    text-align: left;
    margin-bottom: 5px;
	margin-top: 5px;
}
.bs23_table_info th {
    font-weight: bold;
    font-size: 22px;
}
.bs23_table_info td {
    font-weight: normal;
}
.bs23_table_info_red  {
    background-color: #FCE2DE; 
    border-color: #92383D;
}	
.bs23_table_info_red tfoot td  {
    background-color: #FDEEEF; 
    padding: 10px;
    border-radius: 5px;
}		
.bs23_table_info_red input  {
    border-color: #92383D;
}		
.bs23_table_info_red textarea  {
    border-color: #92383D;
}
.bs23_table_info_red label  {
    color: #92383D;
}	
.bs23_table_info_red a  {
    color: #92383D;
}	
.bs23_table_info_red button  {
    color: #92383D;
    border-color: #92383D;
    background-color: #92383D;
    color: #FFFFFF;
}	
.select2-container {
	font-size: 20px!important;
	font-family: abel, sans-serif!important;
	box-shadow: none;
	}
.bs23_popup_label_1 {
	font-size: 20px;
	color: #525252; 
}
.bs23_popup_title_1 {
	font-size: 26px;
	color: #323232; 
}
.bs23_popup_title_2 {
	font-size: 23px;
	color: #525252; 
}
.bs23_label_size_0{
	font-size: 12px;
 }
.bs23_label_size_1{
	font-size: 16px;
 }
.bs23_label_size_1 td{
	font-size: 16px;
 }
.bs23_label_size_1 label{
	font-size: 16px;
 }
.bs23_label_size_2{
	font-size: 18px;
 }
.bs23_label_size_2 td{
	font-size: 18px;
 }
.bs23_label_size_2 label{
	font-size: 18px;
 }
.bs23_label_size_3{
	font-size: 20px;
 }
.bs23_label_size_3 td{
	font-size: 20px;
 }
.bs23_label_size_3 label{
	font-size: 20px;
 }
.bs23_label_size_4{
	font-size: 23px;
 }
.bs23_label_size_4 td{
	font-size: 23px;
 }
.bs23_label_size_4 label{
	font-size: 23px;
 }
.bs23_label_size_5{
	font-size: 26px;
 }
.bs23_label_size_5 td{
	font-size: 26px;
 }
.bs23_label_size_5 label{
	font-size: 26px;
 }
.bs23_label_size_5 span{
	font-size: 26px;
 }

.bs23_input_size_1{
	font-size: 16px;
 }
.bs23_input_size_1::placeholder{
	font-size: 16px;
 }
.bs23_input_size_2{
	font-size: 18px;
 }
.bs23_input_size_2::placeholder{
	font-size: 18px;
 }
.bs23_input_size_3{
	font-size: 20px;
 }
.bs23_input_size_3::placeholder{
	font-size: 20px;
 }
.bs23_input_size_4{
	font-size: 23px;
 }
.bs23_input_size_4::placeholder{
	font-size: 23px;
 }
.bs23_input_size_5{
	font-size: 26px;
 }
.bs23_input_size_5::placeholder{
	font-size: 26px;
 }

.bs23_label_size_bsloader_1 {
	font-size: 31px!important;
 }
.bs23_frame_3_button_size{
	font-size: 20px;
 }
.bs23_switch_1{
	display: block;
	height: auto;
	border: 1px solid #FFFFFF;
	background-color: #eff5ef;
box-shadow: rgba(14, 63, 126, 0.06) 0px 0px 0px 1px, rgba(42, 51, 70, 0.03) 0px 1px 1px -0.5px, rgba(42, 51, 70, 0.04) 0px 2px 2px -1px, rgba(42, 51, 70, 0.04) 0px 3px 3px -1.5px, rgba(42, 51, 70, 0.03) 0px 5px 5px -2.5px, rgba(42, 51, 70, 0.03) 0px 10px 10px -5px, rgba(42, 51, 70, 0.03) 0px 24px 24px -8px;
	border-radius: 5px;
    color: #979797;
    background: white;
    text-decoration: none;
    padding: 2px 10px 2px 30px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    float: left;
    background-size: 30px 30px; /* explicitly set background size */
    background-repeat: no-repeat;
    background-position: left 0px center;
    margin-right: 3px;
}	
.bs23_switch_1:hover{
    background-color: rgba(254,255,237,1.00);
    border-color:#72AE74; 
    color: #72AE74;
    }	
.bs23_switch_1[activ]{
    /*background-color: rgba(254,255,237,1.00);*/
    border-color:#72AE74; 
    color: #72AE74;
    }	

.bs23_icon_size_1{
	background-size: 20px 20px;
	background-repeat: no-repeat;
	background-color: transparent;
	width: 20px;
	height: 20px;
	border: none;
	padding-left: 10px;
	padding-right: 10px;
	padding-bottom: 0px;
	padding-top:0px;
 }
.bs23_icon_size_1:hover{
	background-color: transparent;
 }
.bs23_icon_size_2{
	background-size: 26px 26px;
	background-repeat: no-repeat;
	background-color: transparent;
	width: 26px;
	height: 26px;
	border: none;
	padding-left: 13px;
	padding-right: 13px;
	padding-bottom: 0px;
	padding-top:0px;
 }
.bs23_icon_size_3{
	background-size: 30px 30px;
	background-repeat: no-repeat;
	background-color: transparent;
	width: 30px;
	height: 30px;
	border: none;
	padding-left: 15px;
	padding-right: 15px;
	padding-bottom: 0px;
	padding-top:0px;
 }
.bs23_icon_size_4{
	background-size: 36px 36px;
	background-repeat: no-repeat;
	background-color: transparent;
	width: 36px;
	height: 36px;
	border: none;
	padding-left: 18px;
	padding-right: 18px;
	padding-bottom: 0px;
	padding-top:0px;
 }
.bs23_icon_size_5{
	background-size: 40px 40px;
	background-repeat: no-repeat;
	background-color: transparent;
	width: 40px;
	height: 40px;
	border: none;
	padding-left: 20px;
	padding-right: 20px;
	padding-bottom: 0px;
	padding-top:0px;
 }
.bs23_select2_box_1 td:nth-child(1){
	padding-right: 10px;
	min-width: 40px;
 }
.bs23_select2_box_1 img{
	width: 40px!important;
	height: 40px!important;
	aspect-ratio: 1 / 1;
 }
.bs23_icon_check_1{
	background-image: url("../images/checkbox_3k.svg");	
	background-position: center;
 }
.bs23_icon_add_1{
	background-color: rgba(182,182,182,1.00); 
	border-radius: 3px; 
	background-size: 60%; 
	background-image: url("../images/button_plus_2c.svg");	
	background-position: center;
 }
.bs23_icon_add_1:hover{
	background-color: #72AE74;
 }
.bs23_icon_remove_1{
	background-color: rgba(182,182,182,1.00); 
	border-radius: 3px; 
	background-size: 60%; 
	background-image: url("../images/button_minus_2c.svg");	
	background-position: center;
 }
.bs23_icon_remove_1:hover{
	background-color: #72AE74;
 }
.bs23_label_frame_1_title_1 label{
	font-size: 30px;
	color: #323232; 
 }
.bs23_label_frame_1_title_2 label{
	font-size: 23px;
	color: #525252; 
 }
.bs23_label_white_1 {
	color: #323232; 
	font-weight:500;
}
.bs23_label_white_1 label {
	color: #323232; 
	font-weight:500;
}
.bs23_label_black_1 {
	color: #FFFFFF; 
}
.bs23_label_black_1 label {
	color: #FFFFFF; 
}
.bs23_label_grey_1 {
	color: #525252; 
	border-color: #525252; 
}
.bs23_label_grey_1 label {
	color: #525252; 
}
.bs23_label_grey_2 {
	color: #929292; 
}
.bs23_label_orange_1 {
	color: #D97910; 
}
.bs23_label_blue_1 {
	color: #3F8CB3; 
}
.bs23_label_dark_1 {
	text-decoration: none;
	color: #FFFFFF!important;
    background:#393939;
	border-left:5px solid #393939;
	border-right: 5px solid #393939;
	border-bottom: 0px solid #393939;
	border-top: 0px solid #393939;
	border-radius: 1px;
	padding: 0px;	
}
.bs23_label_darkorange_1 {
	color: #B1712E;
}
.bs23_label_green_1 {
	color: var(--bs_green_1);
}
.bs23_label_green_2 {
	color: #72AE74; 
}
.bs23_label_red_1 {
	color: #FD0000; 
}
.bs23_label_red_2 {
	color: #A05555; 
}
.bs23_label_marked{
	color: #232323!important;
	}	


/* 1# Datapicker Hintergrund */
.xdsoft_datetimepicker {
	/*box-shadow: 0 5px 15px -5px rgba(0, 0, 0, 0.506);*/
	border-bottom: 0px solid #bbb!important;
	border-left: 0px solid #ccc!important;
	border-right: 0px solid #ccc!important;
	border-top: 0px solid #ccc!important;
	color: red;
	border-radius: 10px;
	padding: 0px;
	padding-left: 0;
	padding-top: 0px;
	position: absolute;
	z-index: 9999;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	display: none;
	background: white!important;
	margin-top: 5px;
}
/* 2# Datapicker Felder */
.xdsoft_datetimepicker .xdsoft_calendar td, .xdsoft_datetimepicker .xdsoft_calendar th {
	font-family: abel, sans-serif!important;
	font-size: 20px!important;	
	background: white!important;
	border-color: white;
	color: blue;
}

/* 2# Datapicker Felder - hover */
.xdsoft_datetimepicker .xdsoft_calendar td:hover, .xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div >div:hover{
	background: #323232!important;
}

/* 3# Zeitauswahl rechts */
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div >div {
	background: rgba(255,255,255,1.00)!important;
	color: black;
	border: 1px solid white;
}
/* 3# Zeitauswahl rechts */
.xdsoft_time_box {
	border-color:#ccc!important; 
}
/* 3# Zeitauswahl rechts - hover*/
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div >div:hover{
	background: #323232!important;
	color: rgba(255,255,255,1.00);
}
/* 4# Scrollbar rechts (Background) */
.xdsoft_scrollbar {
	display: none;
    height: 0px;
    margin-top: 0px;
	background: #323232!important;
}

/* Allgemeine Schrift (Label) */
.xdsoft_datetimepicker .xdsoft_label {
	font-family: abel, sans-serif!important;
	font-size: 20px!important;	
	color: #323232;
}
/* Allgemeine Schrift disabled (Label) */
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_other_month, .xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_disabled, .xdsoft_datetimepicker .xdsoft_time_box >div >div.xdsoft_disabled {
	color: #C6C6C6;
}
/* Generelle Auswahl */
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_default, .xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current, .xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div >div.xdsoft_current {
	box-shadow:none;
	background: #323232!important;
	color: rgba(255,255,255,1.00);
	font-weight: normal;
}
.xdsoft_time_variant {
    border:none;
    }
.xdsoft_datepicker {
   	width: 300px !important; /*adjust accordingly*/
    }
.xdsoft_calendar table, .xdsoft_time_box{
    height: 250px !important;/*adjust accordingly*/
}

.xdsoft_datetimepicker .xdsoft_calendar td > div {
    text-align: center;
}
.xdsoft_datetimepicker .xdsoft_calendar td, .xdsoft_datetimepicker .xdsoft_calendar th {
		color: #323232;
}
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div >div {
	font-size: 20px!important;		
	}
.bs23_button_size_1{
	font-size: 14px;
	border-style: solid;
	border-left-width: 5px;
	border-right-width: 5px;
	border-bottom-width: 0px;
	border-top-width: 0px;
	border-radius: 2px;
	margin-bottom: 5px;
	margin-top: 0px;
	padding: 0px;
	display: inline-block;
  	width: max-content;
 }
.bs23_button_size_2 {
	font-size: 16px;
	border-style: solid;
	border-left-width: 10px;
	border-right-width: 10px;
	border-bottom-width: 3px;
	border-top-width: 3px;
	border-radius: 2px;
	margin-bottom: 5px;
	margin-top: 5px;
	padding: 0px;
	display: inline-block;
  	width: max-content;

}
.bs23_button_size_3{
	font-size: 18px;
	border-style: solid;
	border-left-width: 10px;
	border-right-width: 10px;
	border-bottom-width: 3px;
	border-top-width: 3px;
	border-radius: 3px;
	margin-bottom: 5px;
	margin-top: 5px;
	padding: 0px;
	display: inline-block;
  	width: max-content;
 }
.bs23_button_size_4{
	font-size: 20px;
	border-style: solid;
	border-left-width: 10px;
	border-right-width: 10px;
	border-bottom-width: 3px;
	border-top-width: 3px;
	margin-bottom: 5px;
	margin-top: 5px;
	padding: 0px;
	border-radius: 3px;
	display: inline-block;
  	width: max-content;
 }
.bs23_button_size_5[type=submit]{
	font-size: 23px;
	border-style: solid;
	border-left-width: 10px;
	border-right-width: 10px;
	border-bottom-width: 3px;
	border-top-width: 3px;
	margin-bottom: 5px;
	margin-top: 5px;
	padding: 0px;
	border-radius: 3px;
 }
.bs23_button_size_5 {
	font-size: 23px;
	border-style: solid;
	border-left-width: 10px;
	border-right-width: 10px;
	border-bottom-width: 3px;
	border-top-width: 3px;
	margin-bottom: 5px;
	margin-top: 5px;
	padding: 0px;
	border-radius: 3px;
	display: inline-block;
  	width: max-content;
 }
.bs23_button_size_6[type=submit]{
	font-size: 23px;
	border-style: solid;
	border-left-width: 15px;
	border-right-width: 15px;
	border-bottom-width: 6px;
	border-top-width: 6px;
	margin-bottom: 8px;
	margin-top: 8px;
	padding: 0px;
	border-radius: 3px;
 }
.bs23_button_size_6 {
	font-size: 23px;
	border-style: solid;
	border-left-width: 15px;
	border-right-width: 15px;
	border-bottom-width: 6px;
	border-top-width: 6px;
	margin-bottom: 8px;
	margin-top: 8px;
	padding: 0px;
	border-radius: 3px;
	display: inline-block;
  	width: max-content;
 }
.bs23_button_help_2 {
	}
.bs23_button_help_3 {
	}

.bs23_label_p {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	margin: 0px;
	}
/* Phones/tablets: long document and file names in the tender document lists
   (P-link, edit tender) wrap instead of being cut off (mobile run 22.10.2026,
   up to 344 px hidden). */
@media (max-width: 1024px) {
	.bs_box_tender_documents_1 .bs23_label_p,
	.bs_box_tender_documents_2 .bs23_label_p,
	.bs23_box_tender_documents_3 .bs23_label_p {
		white-space: normal;
		overflow-wrap: anywhere;
		}
	}
/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */
.bs23_frame_0{
	position: absolute;
	top:0px;
	width: 100%;
	right: 50%;
	padding-left: 10px;
	box-sizing: border-box;
 	}

.bs23_frame_1{
	padding: 0px 5px 5px 0px;
	margin-bottom: 5px;
	position: relative;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	border-color: transparent;
 	}
.bs23_frame_1_project{
	padding: 0px 5px 5px 0px;
	margin-bottom: 5px;
	position: relative;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	border-color: transparent;
 	}
.bs23_frame_1_logo{
	float: right;
	background-color: rgba(255,255,255,1.00);
	box-shadow: rgba(14, 30, 37, 0.12) 0px 2px 4px 0px, rgba(14, 30, 37, 0.32) 0px 2px 16px 0px;
	border-radius: 10px;
	padding: 5px;
	margin-right: 30px;
	margin-left: 10px;
	margin-bottom: 10px;
 	}

.bs23_frame_1_cancelled{
	padding: 5px 5px 5px 5px;
	background-color:  #502A2B!important;
	border-radius: 5px!important;
 	}
.bs23_frame_1_cancelled label{
	color:white!important;
 	}

.bs23_frame_2{
	padding: 10px 10px 30px 10px;
	background-color: rgba(255,255,255,1.00);
	margin-bottom: 5px;
	box-shadow: rgba(14, 30, 37, 0.12) 0px 2px 4px 0px, rgba(14, 30, 37, 0.32) 0px 2px 16px 0px;
	position: relative;
	border-radius: 10px;
 	}
.bs23_frame_2_top{
	border-bottom-left-radius: 0px!important;
	border-bottom-right-radius: 0px!important;
	border-top-left-radius: 10px!important;
	border-top-right-radius: 10px!important;
 	}
.bs23_frame_2_middle{
	border-bottom-left-radius: 0px!important;
	border-bottom-right-radius: 0px!important;
	border-top-left-radius: 0px!important;
	border-top-right-radius: 0px!important;
 	}
.bs23_frame_2_bottom{
	border-bottom-left-radius: 10px!important;
	border-bottom-right-radius: 10px!important;
	border-top-left-radius: 0px!important;
	border-top-right-radius: 0px!important;
 	}

.bs23_frame_2b{
	padding: 10px 10px 30px 10px;
	background-color: rgba(237,237,237,1.00);
	margin-bottom: 5px;
	box-shadow: rgba(14, 30, 37, 0.12) 0px 2px 4px 0px, rgba(14, 30, 37, 0.32) 0px 2px 16px 0px;
	position: relative;
	border-radius: 10px;
 	}
.bs23_frame_2c{
	padding: 10px 0px 10px 0px;
	margin-bottom: 5px;
	position: relative;
 	}
.bs23_frame_2d{
	padding: 10px 10px 10px 10px;
	background-color: rgba(255,255,255,1.00);
	box-shadow: rgba(14, 30, 37, 0.12) 0px 2px 4px 0px, rgba(14, 30, 37, 0.32) 0px 2px 16px 0px;
	position: relative;
	border-radius: 10px;
 	}
.bs23_frame_2_menu{
	background-color: rgba(255,255,255,1.00);
	margin-bottom: 5px;
	box-shadow: rgba(14, 30, 37, 0.12) 0px 2px 4px 0px, rgba(14, 30, 37, 0.32) 0px 2px 16px 0px;
	position: relative;
	border-radius: 10px;
	min-height: 40px;
 	}
.bs23_frame_2_menu div{
	float: left; 
	height: 40px; 
	width: auto; 
	padding-top: 3px;
	padding-left: 20px; 
	padding-right: 20px; 
	vertical-align:middle;
	border-right: 2px solid rgba(207,207,207,1.00);
 	}
.bs23_frame_2_menu div[activ]{
	background-color: rgba(103,103,103,1.00); 
	border-right: 2px solid  rgba(103,103,103,1.00); 
 	}
.bs23_frame_2_menu div:hover{
	background-color: rgba(74,74,74,1.00); 
	border-right: 2px solid rgba(74,74,74,1.00); 
 	}
.bs23_frame_2_menu div[activ] a{
	color: white;
 	}
.bs23_frame_2_menu div:hover a{
	color: white;
 	}
.bs23_frame_2_menu div:nth-child(1){
	border-top-left-radius: 10px;
	border-bottom-left-radius: 10px;
	
 	}
.bs23_menu_icon_0{
	float: right;
	margin-right: 5px;
	margin-bottom: 3px;
	border: 1px dotted grey;
	color: #606060;
	padding: 5px;
	font-weight: bold;
}
.bs23_menu_icon_0:hover{
	background-color: #585858; 
	color: white;
	border: 1px dotted grey;
}	
.bs23_menu_icon_0 img{
	height: 30px; 
	width: 30px;
}
.bs23_menu_icon_0d{
	float: right;
	margin-right: 5px;
	margin-bottom: 3px;
	border: 1px dotted grey;
	color: #606060;
	padding: 5px;
	font-weight: bold;
}
.bs23_menu_icon_0d img{
	height: 30px; 
	width: 30px;
}

.bs23_menu_icon_menu_1 img{
	content:url("/images/icon_menu_1.png");
}
.bs23_menu_icon_menu_1:hover > img{
	content:url("/images/icon_menu_1d.png");
}
.bs23_menu_icon_menu_1 img:hover{
	content:url("/images/icon_menu_1d.png");
}
.bs23_navi_1{
	float: left; 
	width: calc(20% - 4px); 
	height: 100%; 
}

.bs23_navi_2{
	float: left; 
	width: calc( 100% - 20px); 
	height: 100%; 
	text-align: center;
}
.bs23_navi_2 p{
	color: #606060;
	font-size: 15px;
}
.bs23_navi_2 p:hover{
	font-weight: bold;
}
.bs23_navi_2 p[activ] {
	font-weight: bold;
}
.bs23_navi_3{
	float: left; 
	width: 20px; 
	height: 100%; 
	background-image: url("../images/icon_nav_1.png");
	background-size: auto 100% ;
	background-repeat: no-repeat;
	background-color: transparent;
	background-position: right center;
}
.bs23_frame_3{
	padding: 10px 5px 10px 10px;
	margin-bottom: 80px;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
	position: relative;
	min-height: 100px;
	background-color: rgba(255,255,255,1.00);
	box-shadow: rgba(14, 30, 37, 0.12) 0px 2px 4px 0px, rgba(14, 30, 37, 0.32) 0px 2px 16px 0px;	
 	}
.bs23_frame_3b{
	width: 100%;
	position: relative;
	min-height: 60px;
 	}
.bs23_frame_3b div{
	position: absolute;
	right: 0px;
	bottom: 0px;
 	}
.bs23_frame_3c{
	padding: 10px 5px 10px 10px;
	margin-bottom: 80px;
	border-radius: 10px;
	position: relative;
	min-height: 100px;
	background-color: rgba(255,255,255,1.00);
	box-shadow: rgba(14, 30, 37, 0.12) 0px 2px 4px 0px, rgba(14, 30, 37, 0.32) 0px 2px 16px 0px;	
 	}
.bs23_frame_1_close_1{
	position: absolute;
	top:5px;
	right: 5px;
	z-index: 60;

 	}
.bs23_box_close_1{
	position: absolute; 
	right: 5px; 
	top: 5px;  

}
.bs23_button_close_1 {
	background-image: url("../images/button_close_1.svg");	
	/*filter: drop-shadow(0px 0px 8px #7E859A);*/
	z-index: 50;
	}
.bs23_button_close_1:hover{
	background-image: url("../images/button_close_2b.svg");
	/*filter: drop-shadow(0px 0px 8px #918A82);*/
	}
.bs23_button_close_1d {
	background-image: url("../images/button_close_1e.svg");	
	}
.bs23_button_close_2 {
	background-image: url("../images/button_close_1a.svg");	
	}
.bs23_button_close_2:hover{
	background-image: url("../images/button_close_2b.svg");
	}
.bs23_button_close_3 {
	background-image: url("../images/button_close_1e.svg");	
	}
.bs23_button_close_3:hover{
	background-image: url("../images/button_close_2b.svg");
	}
.bs23_button_close_4 {
	background-image: url("../images/button_close_1a.svg");	
	}
.bs23_button_close_4:hover{
	background-image: url("../images/button_close_2b.svg");
	}
.bs23_button_close_5 {
	background-image: url("../images/button_close_1a.svg");	
	}
.bs23_button_close_5:hover{
	background-image: url("../images/button_close_1c.svg");
	}
.bs23_button_close_6 {
	background-image: url("../images/button_close_6.svg");	
	}
.bs23_button_close_6:hover {
	background-image: url("../images/button_close_6b.svg");	
	}
.bs23_button_close_7 {
	background-image: url("../images/button_close_7.svg");	
	}
.bs23_button_close_7:hover {
	background-image: url("../images/button_close_7b.svg");	
	}
.bs23_button_close_8 {
	background-image: url("../images/button_close_1c.svg");	
	}
.bs23_button_close_8:hover{
	background-image: url("../images/button_close_1c.svg");
	}
.bs23_button_refresh_1 {
	background-image: url("../images/button_print_reload_1.svg");	
	}
.bs_button_info_1 {
	background-image: url("../images/button_info_4.svg");
	background-size: 26px 26px;
	background-repeat: no-repeat;
	background-color: transparent;
	background-position: center center;
	border: none;
	height: 26px;
	width: 26px;
	padding: 13px;
	margin: 50px 5px 5px 5px;
	}

/* frame 1 - Menu */
/* ---------------------- */
.bs23_box_frame_1_div{
	position: absolute; 
	right: 0px; 
	bottom: 0px; 
	text-align: right;
 	}
.bs23_box_frame_1_menu{
	width: auto;
	border-collapse: collapse;
	z-index: 99;
 	}
.bs23_box_frame_1_menu input{
	color: #343434; 
	background-color: transparent;
	border: none;
	border-radius: 3px;
}
.bs23_box_frame_1_menu input:hover{
	color: #FFFFFF;
	background-color: #343434;
}

.bs23_box_frame_1_menu a{
	color: #343434;
	padding-left: 10px;
	padding-right: 10px;
	padding-bottom: 2px;
	padding-top: 2px;
	margin-left: 2px;
	margin-right: 5px;
	border: 1px solid transparent;
 	}
.bs23_box_frame_1_menu a:hover{
	border-left: 0px solid #494c51;
	padding-left: 10px;
	padding-right: 10px;
	padding-bottom: 2px;
	padding-top: 2px;
	color: #FFFFFF;
	background-color: #343434;
	border: 1px solid #343434;
	border-radius: 3px;
 	}
.bs23_box_frame_1_menu a[readonly] {
	background-color: rgba(255,255,255,0.00);
	color: #848484;
 	}
.bs23_box_frame_1_menu a[readonly]:hover {
	border: 1px solid rgba(255,255,255,0.00);
 	}
.bs23_box_frame_1_menu a[activ] {
	border-left: 0px solid #494c51;
	padding-left: 10px;
	padding-right: 10px;
	padding-bottom: 2px;
	padding-top: 2px;
	color: #FFFFFF;
	background-color: #686868;
	border: 1px solid #686868;
	border-radius: 3px;

 	}
.bs23_box_frame_1_menu a[help] {
	text-align: center;
  	background-color: #80AE83; 
	color: #FFFFFF;
	border: 1px solid transparent;
	text-decoration: none;
	border-radius: 3px;
	font-size: 14px;
 	}
.bs23_box_frame_1_menu a[help-disabled] {
	text-align: center;
  	background-color: #AFAFAF; 
	color: #FFFFFF;
	border: 1px solid transparent;
	text-decoration: none;
	border-radius: 3px;
	font-size: 14px;
 	}
.bs23_box_frame_1_menu a[help]:hover {
  	background-color: #5E9161; 
	color: #FFFFFF;
 	}
.bs23_box_frame_1_menu div[help] {
	border-left: 1px solid rgba(159,192,159,1.00);
	padding-left: 10px;
	margin-left: 5px;
	display: flex; 
	flex-direction: column; 
	justify-content:center;
 	}
.bs23_box_frame_1_menu a[marked] {
	text-align: center;
  	background-color: #8096AE; 
	color: #FFFFFF;
	border: 1px solid transparent;
	text-decoration: none;
	border-radius: 3px;
 	}
.bs23_box_frame_1_menu a[marked]:hover {
  	background-color: #6381A3; 
 	}
.bs23_box_frame_1_menu a[support] {
	text-align: center;
  	background-color: #4F9BCD; 
	color: #FFFFFF;
	border: 1px solid transparent;
	text-decoration: none;
	border-radius: 3px;
 	}
.bs23_box_frame_1_menu a[support]:hover {
  	background-color: #4390C3; 
 	}
.bs23_box_frame_1_menu td{
	border-left: 0px solid #494c51;
	color: #FF931E;
 	}

.bs23_box_frame_1_menu td:hover{
	color: #FFFFFF;
 	}
.bs23_box_frame_1_menu td:nth-last-child(1){
	padding-left: 0px;
	padding-right: 10px;
 	}
.bs23_box_frame_1_menu td:nth-last-child(1) a{
	color: #43A343;
	font-weight: bold; 
 	}
.bs23_box_frame_1_menu td:nth-last-child(1):hover a{
	color: #B5EEB5;
	font-weight: bold; 
 	}
.bs23_box_frame_1_menu_inactiv{
	color: #8E8E8E!important;
 	}
.bs23_box_frame_1_menu_activ{
	color: #3B3B3B!important;
	font-weight: bold;
 	}
.bs23_box_frame_1_menu_activ:hover{
	color: #FFFFFF!important;
	font-weight: normal;
	
 	}
.bs23_box_frame_1_menu_red{
	color: #FFFFFF!important;
	background-color: #543333;
	padding-left: 15px;
	padding-right: 15px;
	padding-bottom: 1px;
	padding-top: 1px;
	border-radius: 3px;
 	}
.bs23_box_frame_1_menu_red:hover{
	color: #FFFFFF!important;
	background-color: #781F1F;
 	}

.bs23_box_frame_1{
	width: 100%;
	padding-bottom: 10px;
 	}
.bs23_box_frame_1_image{
	height: 70px;
	width: 100px;
	background-size: 100%;
	border-radius: 7px; 
	margin: 0px;
	padding: 0px;
 	}
.bs23_box_frame_1_project{
	width: auto;
	height: auto;
	margin: 0px;
	background-color: rgba(255,255,255,1.00);
	box-shadow: rgba(14, 30, 37, 0.12) 0px 2px 4px 0px, rgba(14, 30, 37, 0.32) 0px 2px 16px 0px;
	border-radius: 10px;
 	}
.bs23_box_frame_1_project td{
	padding-left: 0px;
	padding-top: 0px;
	padding-bottom: 0px;
	padding-right: 10px;
 	}

@media (min-width: 0px){	
	.bs23_box_frame_1_project td:nth-child(1){
		display: none;
 	}
	.bs23_box_frame_1_project td{
		padding-left: 10px;
		padding-top: 5px;
		padding-bottom: 5px;
		padding-right: 10px;
		}
	.bs23_text_0_show{
		display: initial;
		}
	.bs23_text_400_show{
		display: none;
		}
}
@media (min-width: 400px){
	.bs23_box_frame_1_project td:nth-child(1){
		display: inline-table;
 	}
	.bs23_box_frame_1_project td{
		padding-left: 0px;
		padding-top: 0px;
		padding-bottom: 0px;
		padding-right: 10px;
		}	
	.bs23_text_400_show{
		display: initial;
		}
	.bs23_text_0_show{
		display: none;
		}	
}	


.bs23_box_frame_1_project_2{
	width: auto;
	height: auto;
	margin: 0px;
	background-color: rgba(255,255,255,1.00);
	box-shadow: rgba(14, 30, 37, 0.12) 0px 2px 4px 0px, rgba(14, 30, 37, 0.32) 0px 2px 16px 0px;
	border-radius: 10px;
	padding: 5px;
	margin-left: 10px;
 	}
.bs23_box_frame_1_project_2 td{
	padding-left: 0px;
	padding-top: 0px;
	padding-bottom: 0px;
	padding-right: 0px;
 	}


.bs23_box_frame_1 td:nth-child(1){
	width: 300px;
 	}
.bs23_box_frame_1 tr:nth-child(1) td{
	padding-bottom: 0px;
	padding-top: 0px;
 	}
.bs23_box_frame_1 tr:nth-child(2) td{
	padding-bottom: 5px;
	padding-top: 5px;
 	}
.bs23_box_frame_1 tr:nth-last-child(1) td{
	padding-bottom: 0px;
	padding-top: 5px;
	border-top:1px solid rgba(71,71,71,1.00);
 	}

.bs_box_frame_2_menu_space{
	position: relative; 
	width: 100%;
	margin-bottom: 30px;
 	}
.bs_box_frame_2_menu_div{
	position: relative; 
	left: 0px; 
	top: 0px; 
	text-align: right; 
	width: 100%;
	margin-bottom: 0px;
 	}
.bs_box_frame_2_menu{
	width: auto;
	border-collapse: collapse;
 	}
.bs_box_frame_2_menu a{
	color: #323232;
 	}
.bs_box_frame_2_menu a:hover{
	color: #FFFFFF;
 	}
.bs_box_frame_2_menu td:hover{
	color: #FFFFFF;
 	}
.bs_box_frame_2_menu div{
	background-color: #FFFFFF;
	padding-left:10px;
	padding-right: 10px;
	padding-top: 2px;
	padding-bottom: 2px;
	/*box-shadow: rgba(14, 30, 37, 0.12) 0px 2px 4px 0px, rgba(14, 30, 37, 0.32) 0px 2px 16px 0px;*/
	margin-bottom: 10px;
	border: 1px solid rgba(207,207,207,1.00);
 	}
.bs_box_frame_2_menu div:hover{
	background-color: #93C795;
	color: #FFFFFF;
 	}
.bs_box_frame_2_menu td:first-child div{
	border-top-left-radius: 5px;
	border-bottom-left-radius: 5px;
 	}
.bs_box_frame_2_menu td:last-child div{
	border-top-right-radius: 5px;
	border-bottom-right-radius: 5px;
 	}
.bs_box_frame_2_menu_activ a{
	color: #FFFFFF!important;
 	}
.bs_box_frame_2_menu_activ{
	background-color: #686868!important;
 	}
.bs_box_frame_2_menu_inactiv a{
	color: #929292!important;
 	}
.bs_box_frame_3_menu_div{
	position: absolute;
	right: 0px;
	bottom: 0px;
	padding: 10px 10px 10px 10px;
	width: calc(100%);
 	}
.bs_box_frame_3_menu{
	width: 100%;
 	}
.bs_box_frame_3_menu td:nth-child(1){
	text-align: left;
 	}
.bs_box_frame_3_menu td:nth-last-child(1){
	text-align: right;
 	}
.bs_box_frame_3_menu{
	min-height: 40px;
 	}


/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */
/* Buttons */
/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */





.bs23_frame_3_button_right {
	border-bottom-left-radius: 2px;
	border-top-left-radius: 2px;
	border-bottom-right-radius: 5px;
	border-top-right-radius: 2px;
	}
.bs23_frame_3_button_left {
	border-bottom-left-radius: 5px;
	border-top-left-radius: 2px;
	border-bottom-right-radius: 2px;
	border-top-right-radius: 2px;
	}
.bs23_frame_3_button_1 {
	text-align: center;
	text-decoration: none;
	color: #FFFFFF;
    background:#1A6B95;
	border-left: 18px solid #1A6B95;
	border-right: 18px solid #1A6B95;
	border-bottom: 6px solid #1A6B95;
	border-top: 6px solid #1A6B95;
	margin-bottom: 0px;
	padding: 0px;
	}

.bs23_frame_3_button_1:hover{
  	background-color: #18648B; 
	border-color:#18648B; 
	box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
	color: #FFFFFF;
	}
.bs23_frame_3_button_1:disabled {
	min-width: 100px;
	text-align: center;
	color: #FFFFFF;
    background:#393939;
	border-left:18px solid #393939;
	border-right: 18px solid #393939;
	border-bottom: 6px solid #393939;
	border-top: 6px solid #393939;
	margin-bottom: 5px;
	text-decoration: none;
	padding: 0px;
	}
.bs23_frame_3_button_1_red {
	min-width: 100px;
	text-align: center;
	font-family: abel, sans-serif;
	text-decoration: none;
	color: #FFFFFF;
    background:#9B6262;
	border-left: 18px solid #9B6262;
	border-right: 18px solid #9B6262;
	border-bottom: 6px solid #9B6262;
	border-top: 6px solid #9B6262;
	margin-bottom: 0px;
	padding: 0px;
	}
.bs23_frame_3_button_1_red:hover{
  	background-color: #B48181; 
	border-color:#B48181; 
	box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
	color: #FFFFFF;
	}
.bs23_frame_3_button_1_green {
	min-width: 100px;
	text-align: center;
	font-family: abel, sans-serif;
	text-decoration: none;
	color: #FFFFFF;
    background:#6B9B62;
	border-left: 18px solid #6B9B62;
	border-right: 18px solid #6B9B62;
	border-bottom: 6px solid #6B9B62;
	border-top: 6px solid #6B9B62;
	margin-bottom: 0px;
	padding: 0px;
	}
.bs23_frame_3_button_1_green:hover{
  	background-color: #77B76B;
	border-color:#77B76B;
	box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
	color: #FFFFFF;
}
/* disabled green frame button: same dark grey as .bs23_frame_3_button_1:disabled (04.11.2026) */
.bs23_frame_3_button_1_green:disabled,
.bs23_frame_3_button_1_green:disabled:hover {
	background-color: #393939;
	border-color: #393939;
	box-shadow: none;
	color: #FFFFFF;
	cursor: not-allowed;
}
.bs23_frame_3_button_1_disabled {
	min-width: 100px;
	text-align: center;
	font-family: abel, sans-serif;
	text-decoration: none;
	color: #FFFFFF;
	background-color: #9A9A9A;
	background-image: repeating-linear-gradient(
		45deg,
		rgba(255,255,255,0.20) 0px,
		rgba(255,255,255,0.20) 6px,
		transparent 6px,
		transparent 12px
	);
	border: 0;
	padding: 6px 18px;
	margin-bottom: 0px;
	cursor: not-allowed;
	opacity: 0.85;
	}
.bs23_frame_3_button_1_disabled:hover{
	background-color: #9A9A9A;
	box-shadow: none;
	color: #FFFFFF;
	cursor: not-allowed;
}
.bs23_frame_3_button_2 {
	text-align: center;
	font-family: abel, sans-serif;
	text-decoration: none;
	color: #FFFFFF;
    background:#393939;
	border-left: 18px solid #393939;
	border-right: 18px solid #393939;
	border-bottom: 6px solid #393939;
	border-top: 6px solid #393939;
	margin-bottom: 0px;
	padding: 0px;
	
	}

.bs23_frame_3_button_2:hover{
  	background-color: #343434; 
	border-color:#343434; 
	box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
	color: #FFFFFF;
	}

.bs23_button_blue_1 {
	text-align: center;
	color: #FFFFFF;
    background:#168DCB;
	border-color:#168DCB;
	text-decoration: none;
	}
.bs23_button_blue_1:hover{
  	background-color: #37A9E5; 
	border-color:#37A9E5; 
	}
.bs23_button_blue_1:disabled {
	color: #FFFFFF;
    background:#393939;
	border-color:#393939;	
	}
.bs23_button_orange_1 {
	text-align: center;
	color: #FFFFFF;
    background:#FF931E;
	border-color:#FF931E;
	text-decoration: none;
	}
.bs23_button_orange_1:hover{
  	background-color: #DB9B56; 
	border-color:#DB9B56; 
	color: #FFFFFF;
	}
.bs23_button_orange_1:disabled {
	color: #FFFFFF;
    background:#393939;
	border-color:#393939;	
	}
.bs23_button_orange_1d {
	text-align: center;
	color: #FFFFFF;
    background:#FF931E;
	border-color:#FF931E;
	text-decoration: none;
	}
.bs23_button_green_1 {
	text-align: center;
	color: #FFFFFF;
    background:var(--bs_green_1);
	border-color:var(--bs_green_1);
	text-decoration: none;
	}
.bs23_button_green_1:hover{
	color: #FFFFFF;
  	background-color: #5a9a5c;
	border-color:#5a9a5c;
	}
.bs23_button_green_1:disabled {
	color: #FFFFFF;
    background:#393939;
	border-color:#393939;	
	}
.bs23_button_green_1d {
	color: #FFFFFF;
    background:#393939;
	border-color:#393939;	
	}

.bs23_button_green_2 {
	color: #FFFFFF;
    background:#72AE74;
	border-color:#72AE74;	
	}
.bs23_button_green_3 {
	text-align: center;
	color: #72AE74;
    background:rgba(255,255,255,1.00);
	border:1px dashed #72AE74;
	padding: 1px 5px 1px 5px;
	border-radius: 3px;
	text-decoration: none;
	}
.bs23_button_green_3:hover{
  	background-color: #72AE74;
	color: white;
	border:1px solid #72AE74;
	}
.bs23_button_green_4 {
	text-align: center;
	color: #72AE74;
    background:#eef5ef;
	border:1px dashed #72AE74;
	padding: 1px 5px 1px 5px;
	border-radius: 3px;
	text-decoration: none;
	}
.bs23_button_green_4:hover{
  	background-color: #72AE74;
	color: white;
	border:1px solid #72AE74;
	}
.bs23_button_black_1 {
	text-align: center;
	color: #FFFFFF;
    background:#393939;
	border-color:#393939;
	text-decoration: none;
	}
.bs23_button_black_1:hover{
  	background-color: #72AE74;
	border-color:#72AE74;
	}

.bs23_button_help_1 {
	text-align: center;
	color: #77B36B;
    background:none;
	border-color: rgba(0,0,0,0.00);
	text-decoration: none;
	}
.bs23_button_help_1:hover{
	color: #FFFFFF;
  	background-color: #77B76B; 
	border-color:#77B76B; 
	}
.bs23_button_red_1 {
	text-align: center;
	color: #FFFFFF;
    background:#9B6262;
	border-color:#9B6262;
	text-decoration: none;
	}
.bs23_button_red_1:hover{
  	background-color: #B48181; 
	border-color:#B48181; 
	}
.bs23_button_red_1:disabled {
	color: #FFFFFF;
    background:#393939;
	border-color:#393939;	
	}
.bs23_button_red_1d {
	color: #FFFFFF;
    background:#393939;
	border-color:#393939;
	}
.bs23_button_red_2 {
	text-align: center;
	color: #A05555;
    background:rgba(255,255,255,1.00);
	border:1px solid #A05555;
	padding: 1px 5px 1px 5px;
	border-radius: 3px;
	text-decoration: none;
	}
.bs23_button_red_2:hover{
  	background-color: #585858;
	color: white;
	border:1px solid #585858;
	}
.bs23_button_red_3 {
	text-align: center;
	color: #A05555;
    background:rgba(255,255,255,1.00);
	border:1px dashed #A05555;
	padding: 1px 5px 1px 5px;
	border-radius: 3px;
	text-decoration: none;
	}
.bs23_button_red_3:hover{
  	background-color: #A05555;
	color: white;
	border:1px solid #A05555;
	}
.bs23_button_white_1 {
	text-align: center;
	color: #77B36B;
    background:rgba(255,255,255,1.00);
	border:1px dashed #77B36B;
	padding: 1px 5px 1px 5px;
	border-radius: 3px;
	text-decoration: none;
	
	}
.bs23_button_white_1:hover{
  	background-color: #585858;
	color: white;
	border:1px solid #585858;
	}
.bs23_button_white_2 {
	text-align: center;
	color: #77B36B;
    background:rgba(255,255,255,1.00);
	border:1px solid #77B36B;
	padding: 1px 5px 1px 5px;
	border-radius: 3px;
	text-decoration: none;
	
	}
.bs23_button_white_2:hover{
  	background-color: #585858;
	color: white;
	border:1px solid #585858;
	}

.bs23_button_grey_1 {
	text-align: center;
	color: #FFFFFF;
    background:#393939;
	border-color:#393939;
	text-decoration: none;
	}
.bs23_button_grey_1:hover{
  	background-color: #72AE74;
	border-color:#72AE74;
	color: #FFFFFF;	
	}
.bs23_button_grey_1:disabled {
	color: #FFFFFF;
    background:#BCBCBC;
	border-color:#BCBCBC;	
	}
.bs23_button_grey_1d {
	text-align: center;
	color: #393939;
    background:#E2E2E2;
	border-color:#E2E2E2;
	text-decoration: none;
	}
.bs23_button_grey_2 {
	text-align: center;
	color: #FFFFFF;
    background:#838383;
	border-color:#838383;
	text-decoration: none;
	border-radius: 3px;
	}
.bs23_button_grey_2:hover{
  	background-color: #72AE74;
	border-color:#72AE74;
	color: #454545;	
	}
.bs23_button_grey_3 {
	text-align: center;
	color: #FFFFFF;
    background:#686868;
	border-color:#686868;
	text-decoration: none;
	border-radius: 3px;
	}
.bs23_button_grey_3:hover{
  	background-color: #72AE74;
	border-color:#FF931E; 
	color: #454545;	
	}
.bs23_button_grey_4 {
	text-align: center;
	color: #686868;
    background:rgba(255,255,255,1.00);
	border:1px dashed #686868;
	padding: 1px 5px 1px 5px;
	border-radius: 3px;
	text-decoration: none;
	}
.bs23_button_grey_4:hover{
  	background-color: #686868;
	color: white;
	border:1px solid #686868;
	}
.bs23_button_transparent_1 {
	text-align: center;
	color: #393939;
    background:rgba(255,255,255,0.00);
	border-color:rgba(255,255,255,0.00);
	text-decoration: none;
	}
.bs23_button_transparent_1:hover{
	color: #FFFFFF;
  	background-color: #FF931E; 
	border-color:#FF931E; 
	}








/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */
/* Image */
/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */

.bs23_image_3  {
	width:auto;
	height:180px;
	border-radius: 10px;	
	padding: 0px;
	margin: 0px;
	filter: drop-shadow(2px 2px 5px #909090);
}
.bs23_image_4  {
	width:130px;
	height:130px;
	border-radius: 100%;
	-moz-border-radius: 100%;
	-webkit-border-radius: 100%;
	border:1px solid #979CA9;
	padding: 0px;
	margin: 0px;
	filter: drop-shadow(2px 2px 5px #909090);
}
.bs23_image_5  {
	width: 50px;
	height:50px;
	border-radius: 100%;
	-moz-border-radius: 100%;
	-webkit-border-radius: 100%;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	border: 1px dotted grey;
}














/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */
/* Dialog */
/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */

.ui-widget-content{	
	background-color: rgba(255,255,255,1.00)!important;
}


.ui-widget-header span
{
	font-size: 23px!important;
	color: rgba(0,0,0,1.00)!important;
}
.ui-widget-content{
	font-size: 20px!important;
	color: #525252!important;
}
.ui-dialog-buttonset{
	font-size: 20px!important;
	border-style: solid!important;
	border-left-width: 10px!important;
	border-right-width: 10px!important;
	border-bottom-width: 3px!important;
	border-top-width: 3px!important;
	margin-bottom: 5px!important;
	margin-top: 5px!important;
	padding: 0px!important;
	border-radius: 3px!important;
	text-align: center!important;
	color: #FFFFFF!important;
    background:#838383!important;
	border-color:#838383!important;
	text-decoration: none!important;	
	}
.ui-dialog-buttonset:hover{
  	background-color: #FF931E!important; 
	border-color:#FF931E!important; 
	color: #454545!important;			
	}

.bs23_label_projectoverview_1_red {
	font-size: 14px;
	color: #FFFFFF!important; 
	text-decoration: none;
	background-color: #A63434;
	padding-left: 5px;
	padding-right: 5px;
	}
.bs23_label_projectoverview_1_grey {
	font-size: 14px;
	color: #FFFFFF!important; 
	text-decoration: none;
	background-color: #353535;
	padding-left: 5px;
	padding-right: 5px;
	}
.bs23_label_projectoverview_1_yellow {
	font-size: 14px;
	color: #FFFFFF!important; 
	text-decoration: none;
	background-color: #957200;
	padding-left: 5px;
	padding-right: 5px;
	}
.bs23_label_projectoverview_1_orange {
	font-size: 14px;
	color: #FFFFFF!important; 
	text-decoration: none;
	background-color: #FF931E;
	padding-left: 5px;
	padding-right: 5px;
	}
.bs23_label_projectoverview_1_blue {
	font-size: 14px;
	color: #FFFFFF!important; 
	text-decoration: none;
	background-color: #183C4E;
	padding-left: 5px;
	padding-right: 5px;
	}
.bs23_box_projectoverview_01 {
	border-radius: 10px;
	}
.bs23_box_projectoverview_01b {
	border-radius: 10px;
	}
.bs23_box_projectoverview_02 {
	position: absolute; 
	left: 0px; 
	top: 0px; 
	z-index: 99;
	border-radius: 10px;
	}
.bs23_box_projectoverview_02b {
	position: absolute; 
	left: 0px; 
	top: 0px; 
	width: 156px; 
	height: 110px;
	z-index: 99;
	}
.bs23_box_projectoverview_02c {
	position: absolute; 
	left: 0px; 
	top: 0px; 
	height: 100%;
	z-index: 99;
	border-radius: 10px;
	}
.bs23_box_projectoverview_03 {
	width: 100%; 
	height: 100%;
	background-repeat:no-repeat;
	background-position: center;
	background-size: cover;
	border-radius: 10px;
	text-align: center;
	}
.bs23_box_projectoverview_03 img {
    width:  100%!important;
    height: 100%!important;
	border-radius: 10px;
}
.bs23_box_projectoverview_03b {
	width: 100%; 
	height: 100%;
	background-repeat:no-repeat;
	background-position: center;
	background-size:   cover;
	border-radius: 10px;
	text-align: center;
	transition: all 0.5s ease-in-out;
	}
.bs23_box_projectoverview_03b img {
    width: 128px!important;
    height: 90px!important;
	border-radius: 10px;
}
/*
.bs23_box_projectoverview_03b:hover {
    background-image: url("/images/placeholder_company_info.png")!important;
	transition: all 0.5s ease-in-out;
}*/

.bs23_box_projectoverview_04 {
 	position: absolute; 
	top: 2px; 
	left: 7px;
	}
.bs23_box_projectoverview_04b {
 	position: absolute; 
	top: 5px; 
	right: 7px;
	z-index: 99;
	}
.bs23_box_projectoverview_05 {
	position: absolute;
	top: 3px; 
	z-index: 98;
	}
.bs23_box_projectoverview_05b {
	position: absolute;
	top: 3px; 
	z-index: 98; 
	height: calc(100% - 10px);
	}	
.bs23_box_projectoverview_06 {
	position: absolute;
	z-index: 98;
	text-align: right;
	
	}
@media (min-width: 0px){
.bs23_box_projectoverview_01 {
	min-height: 90px; 
	}
.bs_datatables_div_02c {
	min-height: 110px; 
	}
.bs23_box_projectoverview_date_1 {
	display: none;
	}
.bs23_box_projectoverview_02 {
	width: 128px; 
	height: 90px;
	}
.bs23_box_projectoverview_05 {
	left: 148px; 
	width: calc(100% - 168px); 
	height: 110px; 
	top: -5px;
	}		
.bs23_box_projectoverview_06 {
	right: 5px; 
	bottom: 5px;
	}	
	
}
@media (min-width: 500px){
.bs23_box_projectoverview_01 {
	min-height: 110px; 
	}
.bs_datatables_div_02c {
	min-height: 110px; 
	}
.bs23_box_projectoverview_date_1 {
	display: block;
	position: absolute; 
	top: -2px; 
	right:0px;
	}
.bs23_box_projectoverview_02 {
	width: 156px; 
	height: 110px;
	}	
.bs23_box_projectoverview_05 {
	left: 176px; 
	width: calc(100% - 196px); 
	height: 110px; 
	top: 0px;
	}	
.bs23_box_projectoverview_06 {
	right: 5px; 

	bottom: 5px;
	}	

}



.bs23_box_projectoverview_status_div_1 {
	position: relative; 
	width: 100%; 
	height: 100%;
	}
.bs23_box_projectoverview_status_div_2 {
	position: absolute; 
	right: 0px; 
	top:50%; 
	margin-top:-40px;
	}

.bs23_box_projectoverview_status_1 {
	position: relative; 
	width: 80px;
	height: 80px; 
	background-image: url(/images/button_managebkp_pending.gif);
	background-size:65%;
	background-repeat: no-repeat;
	background-position: center;
	}
.bs23_box_projectoverview_status_2 {
	position: relative; 
	width: 80px;
	height: 80px; 
	background-image: url(/images/button_provider_overview_2.svg)
	}
.bs23_box_projectoverview_status_3 {
	position: relative; 
	width: 80px;
	height: 80px; 
	background-image: url(/images/button_provider_overview_3.svg)
	}
.bs23_box_projectoverview_status_4 {
	position: relative; 
	width: 80px;
	height: 80px; 
	background-image: url(/images/button_provider_overview_4.svg)
	}
.bs23_box_projectoverview_status_5 {
	position: relative; 
	width: 80px;
	height: 80px; 
	background-image: url(/images/button_provider_overview_5.svg)
	}
.bs23_button_projectoverview_01 {
	text-align: center;
	font-size: 16px;
	text-decoration: none;
	color: #4A4A4A;
    background:rgba(255,255,255,0.00);
	border-left:1px solid #BDBDBD;
	border-right: 1px solid #BDBDBD;
	border-bottom: 1px solid #BDBDBD;
	border-top: 1px solid #BDBDBD;
	padding-left: 10px;
	padding-right: 10px;	
	padding-bottom: 2px;	
	padding-top: 2px;	
	margin-left: 2px;
	}
.bs23_button_projectoverview_01:hover{
  	background-color:  #FF931E;
	color: #454545;
	border-color:#FF931E;
	}
.bs23_button_projectoverview_01_activ{
  	background-color: rgba(255,255,255,0.00);
	}
.bs23_button_projectoverview_01_inactiv{
  	background-color: rgba(255,255,255,0.00);
	}
.bs23_button_projectoverview_01_wait{
	color: #FFFFFF!important;
  	background-color: rgba(174,137,63,1.00);
	}
.bs23_button_projectoverview_01_accept{
	color: #FFFFFF!important;
  	background-color: rgba(75,167,84,1.00);
	}
.bs23_button_projectoverview_01_declined{
	color: #FFFFFF!important;
  	background-color: rgba(171,96,97,1.00);
	}

.bs23_button_projectoverview_01d {
	text-align: center;
	font-size: 16px;
	text-decoration: none;
	color: #4A4A4A;
    background:rgba(255,255,255,0.00);
	border-left:1px solid #BDBDBD;
	border-right: 1px solid #BDBDBD;
	border-bottom: 1px solid #BDBDBD;
	border-top: 1px solid #BDBDBD;
	padding-left: 10px;
	padding-right: 10px;	
	padding-bottom: 2px;	
	padding-top: 2px;	
	margin-left: 2px;
	}




.bs23_input_1 {
	width: 100%;
	/*width: calc(100% - 5px);*/
	text-align: left;
	font-family: abel, sans-serif;
	color: #525252; 
    background:  rgba(255,255,255,0.17);
	/*box-shadow: rgba(0,0,0,0.19) 0px 4px 12px;*/
	border: 1px solid rgba(255,255,255,0.00);
	transition: all 0.3s ease-in-out;
	padding-left: 5px;	
	}
.bs23_input_1:visited{
    background:  rgba(255,255,255,0.17);
	}
.bs23_input_1:hover{
	border:1px solid #FF931E;
	transition: all 0.3s ease-in-out;
	}
.bs23_input_1[readonly]{
	color: #525252;
	background-color: #F5F5F5;
	
	}
.bs23_input_1:hover[readonly]{
	color: #525252; 
	border:1px solid rgba(255,255,255,0.00);
	}
.bs23_input_1:disabled{
	color: #525252; 
	background-color: #F5F5F5;
	
	}
.bs23_input_1:disabled:hover{
	color: #525252; 
	border:1px solid rgba(255,255,255,0.00);
	}
.bs23_input_1::placeholder{
	color: #525252; 
	font-style: italic;
	}
.bs23_input_1[readonly]::placeholder{
	vertical-align: bottom;
	color: #606060;
	}
.bs23_input_1:disabled:placeholder{
	vertical-align: bottom;
	color: #8F9398;
	}
.bs23_input_1:-webkit-autofill,
.bs23_input_1:-webkit-autofill:hover, 
.bs23_input_1:-webkit-autofill:focus, 
.bs23_input_1:-webkit-autofill:active{
    -webkit-box-shadow: 0 0 0 30px white inset !important;
	border: 1px solid rgba(255,255,255,0.00);
	color: rgba(23,23,23,1.00);
	-webkit-text-fill-color: rgba(23,23,23,1.00);
}
    
.bs23_input_1:-webkit-autofill:hover{
    -webkit-box-shadow: 0 0 0 30px white inset !important;
	border:1px solid #FF931E;
	transition: all 0.3s ease-in-out;
}

.bs23_input_1:read-only::-webkit-input-placeholder { /* WebKit browsers */
    color:    #A4A4A4;
}
.bs23_input_1:read-only:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
    color:    #A4A4A4;
}
.bs23_input_1:read-only::-moz-placeholder { /* Mozilla Firefox 19+ */
    color:    #A4A4A4;
}
.bs23_input_1:read-only:-ms-input-placeholder { /* Internet Explorer 10+ */
    color:    #A4A4A4;
}
.bs23_input_1_marked{
	border: 1px solid #C6C6C6; 
	border-radius: 3px;
	padding: 5px;
	}
.bs23_input_2_marked{
	border:1px solid #D97910;
	}
.bs23_input_3_marked{
	border:1px solid #D4D4D4;
	}
.bs23_input_1_marked:disabled{
	color: #232323;
	border:1px solid rgba(255,255,255,0.17);
	transition: all 0.3s ease-in-out;
	}

.bs23_input_1d {
	width: calc(100% - 5px);
	text-align: left;
    background:  rgba(255,255,255,0.17);
	/*box-shadow: rgba(0,0,0,0.19) 0px 4px 12px;*/
	border: 1px solid rgba(255,255,255,0.00);
	transition: all 0.3s ease-in-out;
	padding-left: 5px;	
	color: #525252; 
	background-color: #F5F5F5;
	}


.bs23_input_1_orange {
	width: 100%;
	/*width: calc(100% - 5px);*/
	text-align: left;
	font-family: abel, sans-serif;
	color: rgba(255,152,44,1.00);
    background:  rgba(255,255,255,0.17);
	/*box-shadow: rgba(0,0,0,0.19) 0px 4px 12px;*/
	border: 1px solid rgba(255,152,44,1.00);
	transition: all 0.3s ease-in-out;
	padding-left: 5px;	
	
	
	}
.bs23_input_1_orange:hover{
	border:1px solid #FF931E;
	transition: all 0.3s ease-in-out;
	}


.bs23_button_checkbox_3 {
  display: block;
  position: relative;
  padding-left: 15px;
  margin-bottom: 0px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
/* Hide the browser's default checkbox */
.bs23_button_checkbox_3 input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}
/* Create a custom checkbox */
.bs23_button_checkbox_3_check {
  	position: absolute;
  	top: -15px;
 	left: 0px;
  	height: 30px;
  	width: 30px;
  	margin-left: 0px;
	/*background-color: none;*/
	background-size: 120%;
	background-repeat: no-repeat;
	background-position:center; 
	transition: all 0.3s ease-in-out;
    background-color:  rgba(255,255,255,0.00);
	border: none;
	/*border-right: 1px solid #636363;
	border-top: 1px solid #636363;
	border-bottom: 1px solid #636363;
	border-left: 1px solid #636363;
	
	box-shadow: 1px 2px 5px 3px #3D3D3D;
	background-color:  #464646;
	
	
	*/
}

.bs23_button_checkbox_3_check {
	background-image: url("../images/checkbox_3d.svg");
}
/* On mouse-over, add a grey background color */
/*.bs23_button_checkbox_3:hover input:not(:checked) ~ .bs23_button_checkbox_3_check {
  	background-image: url("../images/checkbox_3a.svg");	
}*/
/* On mouse-over, add a grey background color */
/*.bs23_button_checkbox_3:hover input:checked ~ .bs23_button_checkbox_3_check {
  	background-image: url("../images/checkbox_3d.svg");	
}*/
/* When the checkbox is checked, add a blue background */
.bs23_button_checkbox_3 input:checked ~ .bs23_button_checkbox_3_check {
	background-image: url("../images/checkbox_3a.svg");
}

.bs23_button_checkbox_3 input:not(:checked)[readonly] ~ .bs23_button_checkbox_3_check {
	background-image: url("../images/checkbox_3e.svg");
}
.bs23_button_checkbox_3 input:disabled:not(:checked) ~ .bs23_button_checkbox_3_check {
	background-image: url("../images/checkbox_3e.svg");
}/*
.bs23_button_checkbox_3:hover input:not(:checked)[readonly] ~ .bs23_button_checkbox_3_check {
  	background-image: url("../images/checkbox_3e.svg");
}
.bs23_button_checkbox_3:hover input:disabled:not(:checked) ~ .bs23_button_checkbox_3_check {
  	background-image: url("../images/checkbox_3e.svg");
}*/


.bs23_button_checkbox_3 input:checked[readonly] ~ .bs23_button_checkbox_3_check {
	background-image: url("../images/checkbox_3b.svg");
}		
.bs23_button_checkbox_3 input:disabled:checked ~ .bs23_button_checkbox_3_check {
	background-image: url("../images/checkbox_3b.svg");
}/*	
.bs23_button_checkbox_3:hover input:checked[readonly] ~ .bs23_button_checkbox_3_check {
  	background-image: url("../images/checkbox_3b.svg");
}
.bs23_button_checkbox_3:hover input:disabled:checked ~ .bs23_button_checkbox_3_check {
  	background-image: url("../images/checkbox_3b.svg");
}*/


/* Create the checkmark/indicator (hidden when not checked) */
.bs23_button_checkbox_3_check:after {
  content: "";
  position: absolute;
  display: none;
}
/* Show the checkmark when checked */
.bs23_button_checkbox_3 input:checked ~ .bs23_button_checkbox_3_check:after {
  display: block;	
}
/* Style the checkmark/indicator */
.bs23_button_checkbox_3 .bs23_button_checkbox_3_check:after {
}

.bs23_box_group_1{
	background-color: #FF931E; 
	border-radius: 2px; 
	border-width: 2px 10px 2px 10px;
	border-color: #FF931E; 
	border-style: solid;
	color: #FFFFFF;	
	max-width: 100%;
	margin-top: 2px;
	margin-bottom: 5px;;
	padding:none;	
	width:auto;
	white-space: nowrap;
	overflow: hidden;
	text-overflow:ellipsis;	
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	display: -webkit-box;
	
}
.bs23_box_group_1:hover{
  	background-color: #DB9B56;
	border-color: #DB9B56;
}

















.bs23_box_tender_upload_1  {
	height: 100%;
	width: 100%;

	margin-bottom:20px;
	background-color: none; 
	/*box-shadow: 1px 2px 5px 3px #3D3D3D; */
	transition: 1s ease-in-out;	
	border: 0.5px dotted rgba(255,255,255,0.00);
}
.bs23_box_tender_upload_1 td:nth-child(1) {
	text-align: center;
	vertical-align: bottom;
	background-color: none; 
}
.bs23_box_tender_upload_1:hover  {
	/*background-color:rgba(208,224,206,1.00);
	box-shadow: 1px 2px 5px 3px #3D3D3D; */
	border: 0.5px dotted #FF931E;
}
.bs23_box_tender_upload_2  {
	height: 100%;
	width: 100%;

	margin-bottom:20px;
	background-color: none; 
	/*box-shadow: 1px 2px 5px 3px #3D3D3D; */
	transition: 1s ease-in-out;	
	border: 0.5px dotted rgba(163,163,163,1.00);
}
.bs23_box_tender_upload_2 td:nth-child(1) {
	text-align: center;
	vertical-align: bottom;
	background-color: none; 
}

.bs23_upload-box-container{
	position: relative;
	background-image: url("../images/button_upload_2.gif");
	background-size: 150px 150px;
	background-repeat: no-repeat;
	background-position: top center;
	text-align: center;
	vertical-align: bottom;
	background-color: none;
	color: #FF931E; 
	width: 100%;
	height: 160px;
	z-index: 99;
	}
.bs23_upload-box-container input{
	margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    outline: none;
    opacity: 0;
	z-index: 99;
}	
.bs23_upload-box-container label{
	position: absolute;
    width: 100%;
    left: 0;
    bottom: 5px;
    font-size: 14px;
    color: #A4A4A4;
    font-family: abel, sans-serif;
	z-index: 0;
}
.bs23_upload-box-container_2{
	position: relative;
	text-align: center;
	vertical-align: bottom;
	background-color: none;
	color: #FF931E; 
	width: 100%;
	height: 30px;
	z-index: 99;
	border: 1px solid red;
	}
.bs23_upload-box-container_2 input{
	margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    outline: none;
    opacity: 0;
	z-index: 99;
	background-color: green;
}	
.bs23_upload-box-container_2 label{
	position: absolute;
    width: 100%;
    left: 0;
    bottom: 5px;
    font-size: 14px;
    color: #515151;
    font-family: abel, sans-serif;
	z-index: 0;
}
.bs_button_cond_checkbox_2_example {
  background-image: url("../images/icon_checkbox_4.svg");	
}
.bs23_box_tender_documents_1  {
	background-color: #FF931E; 
	margin-bottom: 5px;
	border-radius: 5px;
	padding-left: 5px;
	
}
.bs23_box_tender_documents_1 td  {
	background-color: #FF931E; 
	color:#424141;

}

.bs23_box_tender_documents_1d  {
	background-color: #CFCFCF; 
	margin-bottom: 5px;
	border-radius: 5px;
	padding-left: 5px;
	
}
.bs23_box_tender_documents_1d td  {
	background-color: #CFCFCF; 
	color:#323232;

}
.bs23_box_tender_documents_1d label  {
	color:#323232!important;
}
.bs23_box_tender_documents_1d input  {
	color:#323232!important;
}


.bs23_box_tender_documents_2  {
	background-color:  #355574;
	margin-bottom: 5px;
	border-radius: 5px;
	padding-left: 5px;
}
.bs23_box_tender_documents_2 td  {
	background-color:  #355574;
	color:#FFFFFF;
}
.bs23_box_tender_documents_3  {
	background-color:  #4C4B4B;
	margin-bottom: 5px;
	border-radius: 5px;
	padding-left: 5px;
}
.bs23_box_tender_documents_3 td  {
	background-color:  #4C4B4B;
	color:#FFFFFF;
}
.bs23_box_tender_documents_3d  {
	background-color: #CFCFCF; 
	margin-bottom: 5px;
	border-radius: 5px;
	padding-left: 5px;
	
}
.bs23_box_tender_documents_3d td  {
	background-color: #CFCFCF; 
	color:#323232;

}
.bs23_box_tender_documents_3d label  {
	color:#323232!important;
}
.bs23_box_tender_documents_3d input  {
	color:#323232!important;
}

.bs_box_tender_uploaded_3  {
	display: block;
	padding: 30px;
	width: 100%;
	height: 100%;
	background-image: url("../images/button_download_2b.svg");
	background-size: 100%;
	background-repeat: no-repeat;
	background-position:center; 
	
}
.bs_box_tender_uploaded_3:hover  {
	background-image: url("../images/button_download_2d.svg");
}
.bs_box_tender_uploaded_3d  {
	display: block;
	padding: 30px;
	width: 100%;
	height: 100%;
	background-image: url("../images/button_download_2.svg");
	background-size: 100%;
	background-repeat: no-repeat;
	background-position:center; 
	
}
.bs_box_tender_uploaded_size_1  {	
    position: relative; /* Relative Positionierung notwendig für das Pseudo-Element */
    height: 35px;
    width: 35px;
    display: inline-block; /* Notwendig, um das Pseudo-Element korrekt zu positionieren */
    background-image: url("/images/button_offer_status_2.svg");
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: center;
}	

.bs_box_tender_uploaded_4  {
	background-image: url("../images/button_download_14.png")!important;
}
.bs_box_tender_uploaded_5  {
	background-image: url("../images/button_download_13.png")!important;
}
.bs_box_tender_uploaded_5_1  {
	background-image: url("../images/button_download_13.png")!important;
}
.bs_box_tender_uploaded_5_1:hover  {
	background-image: url("../images/button_download_15.png")!important;
}
.bs_box_tender_uploaded_6  {
	background-image: url("../images/button_download_14.png")!important;
}


.bs_box_tender_uploaded_7  {
	display: block;
	padding: 30px;
	width: 100%;
	height: 100%;
	background-image: url("../images/button_download_8.svg");
	background-size: 100%;
	background-repeat: no-repeat;
	background-position:center; 
}
.bs_box_tender_uploaded_cover_2  {
	width:100%; 
	height:100%; 
	position:absolute; 
	z-index:99; 
	background-image: url("../images/file_covered_1.svg");
	background-color:rgba(255,255,255,0.44); 
	background-size: 150px;
	background-repeat: no-repeat;
	background-position:center bottom; 
	text-align: center;
}
.bs_box_tender_uploaded_8  {
	display: block;
	padding: 30px;
	width: 100%;
	height: 100%;
	background-image: url("../images/button_download_2c.svg");
	background-size: 100%;
	background-repeat: no-repeat;
	background-position:center; 
	
}
.bs_box_tender_chat_1{
	display: block;
	padding: 30px;
	width: 100%;
	height: 100%;
	background-image: url("../images/button_download_chat_1.png");
	background-size: 100%;
	background-repeat: no-repeat;
	background-position:center; 
}
.bs_box_tender_chat_1:hover{
	background-image: url("../images/button_download_chat_1b.png");
}
.bs_box_tender_chat_2{
	display: block;
	padding: 30px;
	width: 100%;
	height: 100%;
	background-image: url("../images/button_download_chat_2.png");
	background-size: 100%;
	background-repeat: no-repeat;
	background-position:center; 
}
.bs_box_tender_uploaded_9 {
	background-image: url("../images/button_download_16.png");
}
.bs_box_tender_uploaded_9:hover {
	background-image: url("../images/button_download_15b.png");
}
.bs_box_tender_uploaded_10  {
	display: block;
	padding: 30px;
	width: 100%;
	height: 100%;
	background-image: url("../images/button_download_2c.svg");
	background-size: 100%;
	background-repeat: no-repeat;
	background-position:center; 
	
}

.bs_input_tender_1 {
	font-size: 16px;
	text-align: left;
	color: #FFFFFF; 
	text-decoration: none;
	border:0px;
	padding-left: 0px;
	}
.bs_input_tender_1:disabled{	
	color: #FFFFFF; 
	text-decoration: none;
	}
.bs_input_tender_1::placeholder {
	color: #FFFFFF; 
	text-decoration: none;
	}
.bs_dropdown_obligation_2 {
	-moz-appearance: none;
	-webkit-appearance: none;
	color: #FFFFFF;
	appearance: none;
	width: calc(100% - 48px);
  	height: 29px;
  	background: transparent;
	outline: none;
	text-align: left;
	padding: 0px;
	margin: 0px;
	border:1px solid transparent;
	transition: all 0.3s ease-in-out;	
    }
.bs_dropdown_obligation_2::placeholder {
	color: #606060;
	font-style: italic;
	font-weight: normal;
	background-color: white;
	padding-left: 5px;
    }
.bs_dropdown_obligation_2:hover {
	color: #606060;
	font-weight: normal;
	background-color: white;
	padding-left: 5px;
    }
.bs_dropdown_obligation_2:read-only:hover {
	-moz-appearance: none;
	-webkit-appearance: none;
	color: #FFFFFF;
	appearance: none;
	width: calc(100% - 48px);
  	height: 29px;
  	background: transparent;
	outline: none;
	text-align: left;
	padding: 0px;
	margin: 0px;
	border:1px solid transparent;
	transition: all 0.3s ease-in-out;	
    }



.bs23_dropdown_1 {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	font-family: 'Abel', sans-serif;
	font-size: 16px;
	color: #4d4d4d;
	background-color: #ffffff;
	background-image: url('/images/button_arrow_down_2.png');
	background-repeat: no-repeat;
	background-position: right 10px center;
	background-size: 10px;
	padding: 0 30px 0 12px;
	height: 36px;
	min-width: 180px;
	border: 1px solid #ebebeb;
	border-radius: 6px;
	cursor: pointer;
	outline: none;
	transition: border-color 0.2s ease-in-out, background-color 0.2s ease-in-out;
    }
.bs23_dropdown_1:hover {
	border-color: #72AE74;
	background-color: #f5f7f2;
	color: #4d4d4d;
    }
.bs23_dropdown_1:focus {
	border-color: #72AE74;
	background-color: #ffffff;
    }
.bs23_dropdown_1:disabled {
	opacity: 0.5;
	cursor: not-allowed;
    }

/* ============================================================
   bs23_dropdown_btn_*  —  Trigger-Button mit aufklappendem Menü
   Pattern: <div class="bs23_dropdown_btn_wrap [.open]">
              <button class="bs23_dropdown_btn">Label <svg class="bs23_dropdown_btn_chevron">…</svg></button>
              <div class="bs23_dropdown_btn_menu">
                <div class="bs23_dropdown_btn_item">…</div>
                <div class="bs23_dropdown_btn_item bs23_dropdown_btn_item_action">…</div>
              </div>
            </div>
   .open auf dem Wrap blendet das Menü ein (JS-Toggle).
   ============================================================ */
.bs23_dropdown_btn_wrap { position: relative; display: inline-block; }
.bs23_dropdown_btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 36px;
	padding: 0 14px;
	background: #fff;
	border: 1px solid #ebebeb;
	border-radius: 6px;
	font-family: abel, sans-serif;
	font-size: 16px;
	color: #4d4d4d;
	cursor: pointer;
	transition: border-color 0.2s, background-color 0.2s, color 0.2s;
}
.bs23_dropdown_btn:hover {
	border-color: #72AE74;
	background: #72AE74;
	color: #fff;
}
.bs23_dropdown_btn_chevron {
	width: 10px; height: 10px;
	transition: transform 0.2s;
}
.bs23_dropdown_btn_wrap.open .bs23_dropdown_btn_chevron { transform: rotate(180deg); }

.bs23_dropdown_btn_menu {
	display: none;
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	min-width: 280px;
	background: #fff;
	border: 1px solid #ebebeb;
	border-radius: 8px;
	box-shadow: rgba(0, 0, 0, 0.12) 0px 8px 24px, rgba(0, 0, 0, 0.06) 0px 0px 0px 1px;
	z-index: 100;
	padding: 6px;
}
.bs23_dropdown_btn_wrap.open .bs23_dropdown_btn_menu { display: block; }

.bs23_dropdown_btn_item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px 12px;
	margin: 0;
	border-radius: 6px;
	font-family: abel, sans-serif;
	font-size: 16px;
	color: #323232;
	cursor: pointer;
	text-decoration: none;
	transition: background-color 0.12s, color 0.12s;
}
.bs23_dropdown_btn_item + .bs23_dropdown_btn_item { margin-top: 1px; }
.bs23_dropdown_btn_item:hover {
	background: #eff5ef;
	color: #72AE74;
}
.bs23_dropdown_btn_item_empty {
	color: #999;
	font-style: italic;
	cursor: default;
	justify-content: center;
	padding: 14px 12px;
}
.bs23_dropdown_btn_item_empty:hover { background: transparent; color: #999; }

/* Badge links im Item (z.B. Kürzel "RB" für "Rohbau") */
.bs23_dropdown_btn_badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	min-width: 32px;
	height: 22px;
	padding: 0 7px;
	background: #f0f3ef;
	border: 1px solid #e0e6dc;
	border-radius: 5px;
	font-family: abel, sans-serif;
	font-size: 12px;
	font-weight: 600;
	color: #6B6B6B;
	text-align: center;
	transition: all 0.12s;
}
.bs23_dropdown_btn_item:hover .bs23_dropdown_btn_badge {
	background: #fff;
	border-color: #72AE74;
	color: #72AE74;
}

/* Hervorgehobenes Aktions-Item ("ändern / hinzufügen", "Neue Position", …)
   — visuell durch dünnen Trennstrich vom Rest abgegrenzt */
.bs23_dropdown_btn_item_action {
	margin-top: 6px;
	padding-top: 12px;
	color: #72AE74;
	font-weight: 600;
	position: relative;
}
.bs23_dropdown_btn_item_action::before {
	content: '';
	position: absolute;
	top: 4px;
	left: 12px;
	right: 12px;
	height: 1px;
	background: #ebebeb;
}
.bs23_dropdown_btn_item_action:hover { background: #eff5ef; color: #72AE74; }
.bs23_dropdown_btn_item_action svg { width: 16px; height: 16px; flex: 0 0 auto; }

.bs23_dropdown_upload_1 {
	-moz-appearance: none;
	-webkit-appearance: none;
	color: #FFFFFF;
	appearance: none;
  	height: 29px;
  	background: transparent;
	outline: none;
	text-align: left;
	padding: 0px;
	margin: 0px;
	border:0.5px dotted rgba(255,255,255,0.00);
	transition: all 0.3s ease-in-out;
	z-index: 99;
	width: calc(100% - 48px);

    }
.bs23_dropdown_upload_1::placeholder {
	color:#FF931E;
	font-style: italic;
	font-weight: normal;
	background-color: white;
	padding-left: 5px;
    }
.bs23_dropdown_upload_1:hover {
	color:#FF931E;
	font-weight: normal;
	background-color: white;
	padding-left: 5px;
	
    }
.bs23_box_tender_add_delete_1 {
	position: absolute; 
	top: -7px; 
	left: -11px;
}
.bs23_box_tender_add_delete_2 {
	position: absolute; 
	top: -5px; 
	left: -11px;
}
.bs23_box_tender_uploaded_1  {
	padding-left: 30px;
	padding-right: 30px;
	padding-top: 15px;
	padding-bottom: 15px;
	background-image: url("../images/button_download_9.svg");
	background-size: 100%;
	background-repeat: no-repeat;
	background-position: center;	
}
.bs23_box_tender_uploaded_1:hover  {
	background-image: url("../images/button_download_10.svg");
}
.bs23_box_tender_uploaded_3  {
	position: relative; 
	/*width: calc(100% - 100px);*/
	width: 100%;
}
.bs23_box_tender_uploaded_2  {
	padding-left: 30px;
	padding-right: 30px;
	padding-top: 15px;
	padding-bottom: 15px;
	background-image: url("../images/button_download_3.svg");
	background-size: 100%;
	background-repeat: no-repeat;
	background-position: center;	
}
.bs23_box_tender_uploaded_4  {
	padding-left: 30px;
	padding-right: 30px;
	padding-top: 15px;
	padding-bottom: 15px;
	background-image: url("../images/button_download_11.svg");
	background-size: 100%;
	background-repeat: no-repeat;
	background-position: center;	
}



.bs_button_cond_checkbox_2 {
  display: block;
  position: relative;
  padding-left: 15px;
  margin-bottom: 0px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* Hide the browser's default checkbox */
.bs_button_cond_checkbox_2 input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}


/* CSS Document */
.bs23_animation_scale_1 {
	-webkit-animation: bs23_animation_scale_1 1.6s cubic-bezier(0.390, 0.575, 0.565, 1.000) infinite both;
	        animation: bs23_animation_scale_1 1.6s cubic-bezier(0.390, 0.575, 0.565, 1.000) infinite both;
}
/* ----------------------------------------------
 * Generated by Animista on 2023-9-10 12:56:36
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation bs23_animation_scale_1
 * ----------------------------------------
 */
@-webkit-keyframes bs23_animation_scale_1 {
  0% {
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes bs23_animation_scale_1 {
  0% {
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}



.bs23_animation_slide_1 {
	-webkit-animation: bs23_animation_slide_1 1.8s cubic-bezier(0.250, 0.460, 0.450, 0.940) infinite both;
	        animation: bs23_animation_slide_1 1.8s cubic-bezier(0.250, 0.460, 0.450, 0.940) infinite both;
}

/* ----------------------------------------------
 * Generated by Animista on 2023-9-10 7:43:5
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation bs23_animation_slide_1
 * ----------------------------------------
 */
@-webkit-keyframes bs23_animation_slide_1 {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(15px);
            transform: translateX(15px);
  }
}
@keyframes bs23_animation_slide_1 {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(15px);
            transform: translateX(15px);
  }
}








/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% *//* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */
/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% *//* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */
/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% *//* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */
/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% *//* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */
/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% *//* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */
/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% *//* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */
/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% *//* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */



.bs23_frame_1_close_2{
	position: absolute;
	top:3px;
	right: 3px;
	z-index: 60;
 	}
.bs23_frame_1_close_2 a {
	background-image: url("../images/button_close_2b.svg");
	background-size: 18px 18px;
	background-repeat: no-repeat;
	background-color: transparent;
	background-position: right center;
	border: none;
	padding-left: 9px;
	padding-right: 9px;
	padding-bottom: 0px;
	padding-top:0px;
	}
.bs23_frame_1_close_2 a:hover{
	background-image: url("../images/button_close_4.svg");
	color:#FFFFFF;
	}


.bs_box_colgroup_5 tr:nth-child(1) {
	width: 300px
}
.bs_box_colgroup_5 tr:nth-child(2) {
	
	

}


.bs23_box_1{
	width: 100%;
	table-layout: fixed;
	text-align: left;
	border-collapse:collapse;
	margin-right: 5px;
	margin-top: 15px;
	/* background-color: #424141;
	border: 1px solid #343434; */
	border-radius: 3px;
 	}
.bs23_box_1 th label{
	padding-top: 0px;
  	padding-bottom: 0px;
	padding-left: 5px;
	padding-right: 5px;
	color: #FFFFFF;
	font-weight:normal;
	background-color: #686868;
	border-radius: 3px;
	margin-left: 4px;
	}
.bs23_box_1 td{
	padding-top: 2px;
  	padding-bottom: 2px;
	padding-left: 5px;
	padding-right: 5px;
	}

.bs23_box_1 tr {
	border-bottom: 0.5px solid #E7E7E7;
	/*border-bottom: 1px solid #343434; */
	}
.bs23_box_1 tr:nth-last-child(1) {
	/*border-bottom: 1px solid #343434; */
	}
.bs23_box_1 td:nth-child(2) {
	text-align: left
	}
.bs23_box_1 tr:nth-child(1) {
	text-align: left;
	color: white;
	/*background-color: #4B4B4B;
	border-left: 1px solid #4B4B4B;
	border-right: 1px solid #4B4B4B;
	border-top: 1px solid #4B4B4B;
	border-bottom: 1px solid #343434; */
	}
.bs23_box_1b{
	width: 100%;
	table-layout: fixed;
	text-align: left;
	border-collapse:collapse;
	margin-right: 5px;
	margin-top: 20px;
	/*background-color: #424141;
	border: 1px solid #343434;
	border-radius: 3px;*/
 	}
.bs23_box_1b th{
	padding-top: 2px;
  	padding-bottom: 2px;
	padding-left: 5px;
	padding-right: 5px;
	color: #FFFFFF;
	font-weight:normal;
	}
.bs23_box_1b td{
	padding-top: 2px;
  	padding-bottom: 2px;
	padding-left: 5px;
	padding-right: 5px;
	
	}
.bs23_box_1b tr {
	border-bottom: 0.5px solid #373737;
	/*border-bottom: 1px solid #343434;*/
	}
.bs23_box_1b tr:nth-last-child(1) {
	/*border-bottom: 1px solid #343434;*/
	}
.bs23_box_1b td:nth-child(2) {
	text-align: left
	}
.bs23_box_1c{
	width: 100%;
	table-layout: fixed;
	text-align: left;
	border-collapse:collapse;
	margin-right: 5px;
	margin-top: 15px;
	/*background-color: #424141;
	border: 1px solid #343434;*/
	border-radius: 3px;
 	}
.bs23_box_1c th label{
	padding-top: 2px;
  	padding-bottom: 2px;
	padding-left: 5px;
	padding-right: 5px;
	color: #FFFFFF;
	font-weight:normal;
	margin-left: 4px;
	}

.bs23_box_1c td{
	padding-top: 2px;
  	padding-bottom: 2px;
	padding-left: 5px;
	padding-right: 5px;
	
	}
.bs23_box_1c tr {
	border-bottom: 0.5px solid #373737;
	/*border-bottom: 1px solid #343434;*/
	}
.bs23_box_1c tr:nth-last-child(1) {
	/*border-top: 1px solid #343434;
	border-left: 1px solid #4B4B4B;
	border-right: 1px solid #4B4B4B;
	border-bottom: 1px solid #4B4B4B;
	background-color: #4B4B4B;*/
	
	}
.bs23_box_1c td:nth-child(2) {
	text-align: left
	}
.bs23_box_1c tr:nth-child(1) {
	text-align: left;
	color: white;
	/*background-color: #4B4B4B;
	border-left: 1px solid #4B4B4B;
	border-right: 1px solid #4B4B4B;
	border-top: 1px solid #4B4B4B;
	border-bottom: 1px solid #343434;*/
	}
.bs23_box_1d{
	width: 100%;
	table-layout: fixed;
	text-align: left;
	border-collapse:collapse;
	margin-right: 5px;
	margin-top: 15px;
	/* background-color: #424141;
	border: 1px solid #343434; */
	border-radius: 3px;
 	}
.bs23_box_1d th label{
	padding-top: 0px;
  	padding-bottom: 0px;
	padding-left: 5px;
	padding-right: 5px;
	color: #FFFFFF;
	font-weight:normal;
	background-color: #686868;
	border-radius: 3px;
	margin-left: 4px;
	}
.bs23_box_1d td{
	padding-top: 2px;
  	padding-bottom: 2px;
	padding-left: 5px;
	padding-right: 5px;
	}
.bs23_box_1d td:nth-child(2) {
	text-align: left
	}
.bs23_box_1d tr:nth-child(1) {
	text-align: left;
	color: white;
	}

.bs23_box_1e{
	width: 100%;
	table-layout: fixed;
	text-align: left;
	border-collapse:collapse;
	margin-right: 5px;
	margin-top: 15px;
	/* background-color: #424141;*/
	border: 0px solid #343434; 
	border-radius: 3px;
 	}
.bs23_box_1e th label{
	padding-top: 0px;
  	padding-bottom: 0px;
	padding-left: 5px;
	padding-right: 5px;
	color: #FFFFFF;
	font-weight:normal;
	background-color: #686868;
	border-radius: 3px;
	margin-left: 4px;
	}


.bs23_box_1e td{
	padding-top: 2px;
  	padding-bottom: 2px;
	padding-left: 5px;
	padding-right: 5px;
	}
.bs23_box_1e td:nth-child(2) {
	text-align: left
	}
.bs23_box_1e tr:nth-child(1) {
	text-align: left;
	color: white;
	}


.bs23_box_1_orange{
	width: 100%;
	table-layout: fixed;
	text-align: left;
	border-collapse:collapse;
	margin-right: 5px;
	margin-top: 15px;
	background-color: #424141;
	border: 1px solid #FF931E;
	border-radius: 3px;
 	}
.bs23_box_1_orange td{
	padding-top: 2px;
  	padding-bottom: 2px;
	padding-left: 5px;
	padding-right: 5px;
	}
.bs23_box_1_orange tr {
	border-bottom: 1px solid #343434;
	}
.bs23_box_1_orange tr:nth-last-child(1) {
	border-bottom: 1px solid #FF931E;
	}
.bs23_box_2{
	border-bottom: 1px solid #FF931E;
	}
.bs23_box_popup_1{
	width: 100%;
	table-layout: fixed;
	text-align: left;
	border-collapse:collapse;
	margin-right: 5px;
	margin-top: 15px;
	background-color: transparent;
	overflow:hidden;
	/*border: 1px solid #343434;
	border-radius: 3px;*/
 	}
.bs23_box_popup_1 th{
	padding-top: 2px;
  	padding-bottom: 2px;
	padding-left: 5px;
	padding-right: 5px;
	color: #FFFFFF;
	font-weight:normal;
	}
.bs23_box_popup_1 td{
	padding-top: 2px;
  	padding-bottom: 2px;
	padding-left: 5px;
	padding-right: 5px;
	}
.bs23_box_popup_1 tr {
	/*border-bottom: 0.5px solid #373737;
	border-bottom: 1px solid #343434;*/
	}
.bs23_box_popup_1 tr:nth-last-child(1) {
	/*border-bottom: 1px solid #343434;*/
	}
.bs23_box_popup_1 td:nth-child(2) {
	text-align: left
	}
.bs23_box_popup_1 tr:nth-child(1) {
	color: #FFFFFF;
	text-align: left;
	background-color: transparent;
	/*border-left: 1px solid #4B4B4B;
	border-right: 1px solid #4B4B4B;
	border-top: 1px solid #4B4B4B;
	border-bottom: 1px solid #4B4B4B;*/
	}
.bs23_box_popup_1 tr:nth-child(2) {
	text-align: left;
	background-color: transparent;
	/*border-left: 1px solid #4B4B4B;
	border-right: 1px solid #4B4B4B;
	border-top: 1px solid #4B4B4B;
	border-bottom: 1px solid #343434;*/
	}
.bs23_box_popup_2{
	width: 100%;
	text-align: left;
	border-collapse:collapse;
	margin-right: 5px;
	margin-top: 0px;
 	}
.bs23_box_popup_2 td{
	padding-top: 10px;
  	padding-bottom: 5px;
	padding-left: 5px;
	padding-right: 5px;
	}


.bs23_popup_1{
	left: 50%;   
	transform: translate(-50%,0);
	position: relative;
	background-color: #FFFFFF;
	padding: 5px 10px 10px 10px;
	width: auto;
	max-width: 800px;
	border-radius: 10px;
	overflow-x: hidden;
	overflow-y: auto;
	box-shadow: none;
	
}
.bs23_popup_2{
	background-color: #FFFFFF;
	padding: 5px 5px 5px 5px;
	max-width: 400px;
	box-shadow: rgba(14, 30, 37, 0.12) 0px 2px 4px 0px, rgba(14, 30, 37, 0.32) 0px 2px 16px 0px;
	border:none;
 	}
.bs23_popup_3{
	left: 50%;   
	transform: translate(-50%,0);
	position: relative;
	background-color: rgba(255,255,255,0.00);
	padding: 0px;
	width: auto;
	border-radius: 10px;
	overflow-x: hidden;
	overflow-y: auto;
	box-shadow: none;
}
.bs23_popup_4_top{
	background-color: #FFFFFF;
	padding: 5px 10px 10px 10px;
	width: auto;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	margin-bottom: 2px;
	overflow-x: hidden;
	overflow-y: hidden;
	box-shadow: none;
}
.bs23_popup_4_middle{
	background-color: #FFFFFF;
	padding: 5px 10px 10px 10px;
	width: auto;
	margin-bottom: 2px;
	overflow-x: hidden;
	overflow-y: hidden;
	box-shadow: none;
}
.bs23_popup_4_bottom{
	background-color: #FFFFFF;
	padding: 5px 10px 10px 10px;
	width: auto;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
	overflow-x: hidden;
	overflow-y: hidden;
	box-shadow: none;
}
.bs23_popup_help_1{
	max-width: 800px;
	box-shadow: 3px 5px 10px 0px #3D3D3D;
	overflow-y:auto;
	background-color: #526152;
 	}
.bs23_popup_video_1{
	background-color: #FFFFFF;
	padding: 10px 10px 10px 10px;
	max-width: 800px;
	max-height: 100%;
	box-shadow: 3px 5px 10px 0px #3D3D3D;
	border-radius: 5px;
 	}
.bs23_popup_video_1 table{
	max-height: 100%;
	height: 100%;
 	}
.bs_box_popup_success_1 {
	background-image: url("../images/popup_success_1.svg");
	background-size: auto;
	background-repeat: no-repeat;
	background-color: transparent;
	background-position: center ;
	width: 80px;
	height: 60px;
	border: none;
	}
.bs_box_popup_alert_1 {
	background-image: url("../images/popup_alert_1.svg");
	background-size: auto 100% ;
	background-repeat: no-repeat;
	background-color: transparent;
	background-position: center ;
	width: 80px;
	height: 60px;
	border: none;
	}	
.bs_box_popup_decision_1 {
	background-image: url("../images/popup_decision_1.gif");
	background-size: auto 100% ;
	background-repeat: no-repeat;
	background-color: transparent;
	background-position: center ;
	width: 80px;
	height: 60px;
	border: none;
	}	
.bs_box_popup_danger_1 {
	background-image: url("../images/popup_danger_1.svg");
	background-size: auto 100% ;
	background-repeat: no-repeat;
	background-color: transparent;
	background-position: center ;
	width: 80px;
	height: 60px;
	border: none;
	}	
.bs23_box_info_1{
	border: 0px solid #FF931E; 
	font-size: 14px;
	padding: 3px; 
	margin-bottom: 5px; 
	border-collapse: collapse;
	box-shadow: rgba(0, 0, 0, 0.03) 0px 4px 12px;
	}
.bs23_box_info_1 td:nth-child(1) label{
	 writing-mode: vertical-rl;
    line-height: 150%;
    white-space: pre;
    transform: rotate(180deg);
	text-align: center;
	font-weight: bold;
	text-transform: uppercase;
	color: #FFFFFF;
	min-width: 30px;
	}

.bs23_box_info_1 td:nth-child(1){
	background-color: rgba(143,129,100,1.00);
	border-radius: 5px 0px 0px 5px;
	padding: 10px 5px 5px 5px;
	vertical-align: middle;
	width: 40px;

	}
.bs23_box_info_1 td:nth-child(2){

	background-color: rgba(159,152,139,1.00);
	border-radius: 0px 5px 5px 0px;
	padding: 10px 10px 10px 10px;
	}
.bs23_box_info_1 label{
	color: rgba(255,255,255,1.00);
	}
.bs23_box_alert_1{
	font-size: 14px;
	padding: 3px;
	margin-bottom: 5px;
	border-collapse: collapse;
	box-shadow: rgba(0, 0, 0, 0.03) 0px 4px 12px;
	/* Meldung immer nach vorne: absolut positionierte Overlays (z.B. #canvas-map in
	   offering/searchproject) wuerden sonst darueber liegen, weil positionierte Elemente
	   grundsaetzlich ueber statischen gezeichnet werden. */
	position: relative;
	z-index: 1;
	}
.bs23_box_alert_1 td:nth-child(1) label{
	writing-mode: vertical-rl;
    line-height: 150%;
    white-space: pre;
    transform: rotate(180deg);
	text-align: center;
	font-weight: bold;
	text-transform: uppercase;
	color: #FFFFFF;
	}
.bs23_box_alert_1 td:nth-child(1){
	background-color: rgba(143,100,100,1.00);
	border-radius: 5px 0px 0px 5px;
	padding: 10px 5px 5px 5px;
	vertical-align: middle;
	width: 40px;
	}
.bs23_box_alert_1 td:nth-child(2){

	background-color: rgba(159,139,139,1.00);
	border-radius: 0px 5px 5px 0px;
	padding: 10px 10px 10px 10px;
	}
.bs23_box_alert_1 label{
	color: rgba(255,255,255,1.00);
	}
.bs_box_image_1{
	width: auto;
	height: 250px;
	font-family: abel, sans-serif;
	font-size: 14px;
	color: #FF931E; 
	text-decoration: none;
	border-radius: 10px;
}

.bs23_box_popup_close_1{
	position: absolute;
	top:5px;
	right: 5px;
 	}
.bs23_button_popup_close_1 {
	background-size: 36px 36px;
	background-repeat: no-repeat;
	background-color: transparent;
	width: 36px;
	height: 36px;
	border: none;
	padding-left: 18px;
	padding-right: 18px;
	padding-bottom: 18px;
	padding-top:0px;
	background-image: url("../images/button_close_3.svg");
	}
.bs23_button_popup_close_1:hover{
	background-image: url("../images/button_close_2b.svg");
	}



.bs_box_help_1{
	width: 100%;
	table-layout: fixed;
	text-align: left;
	border-collapse:collapse;
	padding-left: 20px;
	padding-right: 20px;
	padding-top: 20px;
	padding-bottom: 20px;
	background-color: #526152;
	border-bottom: 3px solid #414E41;
 	}
.bs_box_help_1 th{
	padding-top: 13px;

  	padding-bottom: 2px;
	padding-left: 10px;
	padding-right: 10px;
	color: #FFFFFF;
	font-size: 20px;
	font-weight:normal;
	}
.bs_box_help_1 td{
	padding-top: 10px;
  	padding-bottom: 10px;
	padding-left: 10px;
	padding-right: 10px;
	}
.bs_box_help_1 label{
	color:#D7D7D7;
	font-weight:normal;
	font-size: 20px;
	}
.bs_box_help_1 tr:nth-child(1){
	text-align: left;
	}
.bs_box_help_1 tr:nth-child(1) label {
	color: white;
	}
.bs_box_help_2{
	width: 100%;
	table-layout: fixed;
	text-align: left;
	border-collapse:collapse;
	background-color: #495749;
	font-size: 14px;
	padding-left: 5px;
	padding-right: 5px;
	padding-top: 0px!important;
	padding-bottom: 0px!important;	
 	}
.bs_box_help_2 td{
	padding-left: 4px;
	padding-right: 4px;
	padding-top: 2px;
	padding-bottom: 2px;
	}
.bs_box_help_3_1{
	position:relative;
	height:40px;
	padding-top: 10px;
	padding-left: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	text-align: left;
	color: #FFFFFF;
	font-size: 20px;
	font-weight:normal;
	background-color: #414E41;
	
 	}
.bs_box_help_3_2{
	position:absolute;
	right: 10px;
	top: 10px;
 	}
.bs_box_help_3_3{
	height:calc(100vh - 40px);
	position:relative;
 	}
.bs_box_help_3_4{
	max-height:100%;
	overflow:auto;
 	}
.bs_box_help_4{
	width: 100%;
 	}
.bs_box_help_4 td{
	padding-top: 2px;
  	padding-bottom: 2px;
	padding-left: 0px;
	padding-right: 0px;
	}

.bs23_datatables_table_01 {
	width: 100%;
	/*background-color: rgba(255,255,255,0.00)!important;*/
	border-collapse: collapse;
	}
.bs23_datatables_table_01 thead td {
	}
.bs23_datatables_table_01 tbody td{
	/*background-color: rgba(255,255,255,0.00)!important;*/
	}
.bs23_datatables_table_01 tbody tr{
	}
.bs23_datatables_table_01.dataTable.no-footer{

	}
.bs23_datatables_table_01.dataTable thead td {
	}
/* Plain log list (e.g. cost log): readable dark header on white instead of the DataTables default */
table.bs23_table_log_1 thead th,
table.bs23_table_log_1.dataTable thead th {
	background-color: #FFFFFF;
	color: #525252;
	font-weight: bold;
	text-align: left;
	padding: 8px 10px;
	border-bottom: 1px solid #C5C5C5;
	}
table.bs23_table_log_1.dataTable tbody td,
table.bs23_table_log_1 tbody td {
	padding: 6px 10px;
	border-bottom: 1px solid #EEEEEE;
	vertical-align: top;
	}
.bs23_box_log_1 {
	padding: 16px;
	}
.bs23_datatables_table_02 {
	width: calc(100% + 10px);
	/*background-color: rgba(255,255,255,0.00)!important;*/
	border-collapse: collapse;
	}
.bs23_datatables_div_01 {
	position: relative;
	box-shadow: rgba(14, 30, 37, 0.12) 0px 2px 4px 0px, rgba(14, 30, 37, 0.32) 0px 2px 16px 0px;
	margin-top: 3px;
	margin-bottom: 3px;
	z-index: 90;
	border-radius: 10px;
	transition: all 0.5s ease-in-out;
	width: 100%;
	}
.bs23_datatables_div_01:hover {
	box-shadow: rgba(14, 30, 37, 0.12) 0px 0px 30px 0px, rgba(14, 30, 37, 0.32) 0px 0px 30px 0px;
	transition: all 0.5s ease-in-out;
	}
.bs23_datatables_div_01b {
	position: relative;
	margin-top: 3px;
	margin-bottom: 3px;
	z-index: 90;
	}
.bs23_datatables_div_01c {
	position: relative;
	box-shadow: rgba(14, 30, 37, 0.12) 0px 2px 4px 0px, rgba(14, 30, 37, 0.32) 0px 2px 16px 0px;
	margin-top: 3px;
	margin-bottom: 3px;
	z-index: 90;
	border-radius: 5px;
	transition: all 0.5s ease-in-out;
	padding:10px;
	width: 100%;
	}
.bs23_datatables_div_01c:hover {
	box-shadow: rgba(14, 30, 37, 0.12) 0px 0px 30px 0px, rgba(14, 30, 37, 0.32) 0px 0px 30px 0px;
	transition: all 0.5s ease-in-out;
	}
.bs23_datatables_div_02 {
	position: relative;
	background-color: #FFFFFF!important;
	width: 100%;
	height: 100%;
	z-index: 91;
	transition: 600ms ease-in;
	left:0px;
	}
.bs23_datatables_div_02:hover {
	left: 0px;
	transition: 500ms ease-out;
	}
.bs23_datatables_div_02b {
	position: relative;
	/*background-color: #424141!important;*/
	width: 100%;
	height: 100%;
	z-index: 91;
	transition: 600ms ease-in;
	left:0px;
	border-bottom: 1px solid #232323;
	border-top: 1px solid #232323;
	}
.bs23_datatables_div_02b:hover {
	/*background-color: #CACACA!important;*/
	left: 2px;
	transition: 500ms ease-out;
	}
.bs23_datatables_div_02c {
	position: relative;
	background-color: #FFFFFF!important;
	width: 100%;
	height: 100%;
	z-index: 91;
	transition: 600ms ease-in;
	left:0px;
	}
.bs23_datatables_div_02c:hover {
	left: 0px;
	transition: 500ms ease-out;
	}
.bs23_datatables_div_02d {
	position: relative;
	/*background-color: #424141!important;*/
	width: 100%;
	height: 100%;
	z-index: 91;
	transition: 600ms ease-in;
	left:0px;
	}
.bs23_datatables_div_02d:hover {
	left: 2px;
	transition: 500ms ease-out;
	}
.bs23_datatables_div_03 {
	position: relative;
	box-shadow: rgba(14, 30, 37, 0.12) 0px 2px 2px 0px, rgba(14, 30, 37, 0.32) 0px 2px 8px 0px;
	margin-top: 3px;
	margin-bottom: 3px;
	z-index: 90;
	border-radius: 10px;
	transition: all 0.5s ease-in-out;

	}
.bs23_datatables_div_03:hover {
	/*box-shadow: 5px 3px 10px 2px #343434;*/
	box-shadow: rgba(14, 30, 37, 0.12) 0px 0px 30px 0px, rgba(14, 30, 37, 0.32) 0px 0px 30px 0px;
	transition: all 0.5s ease-in-out;
	}	
.bs23_datatables_div_04 {
	position: relative;
	/*background-color: #3D3D3D!important;*/
	width: 100%;
	height: 100%;
	z-index: 91;
	left:0px;
	}
.bs23_datatables_div_04:hover {
	/*background-color: #5F4B36!important;
	left: 2px;
	transition: 500ms ease-out;*/
	}
.bs23_datatables_div_05 {
	position: relative;
	transition: 600ms ease-in;
	left:0px;
	}
.bs23_datatables_div_05:hover {
	left: 2px;
	transition: 500ms ease-out;
	}

.bs23_datatables_div_02d {
	position: relative;
	/*background-color: #424141!important;*/
	width: 100%;
	height: 100%;
	z-index: 91;
	}
.bs_datatables_table_1 {
	min-height: 120px; 
	}
.bs_datatables_table_2 {
	position: absolute; 
	left: 0px; 
	top: 0px; 
	width: 100px; 
	height: 120px;
	/*box-shadow: 2px 3px 10px 2px #2B2B2B; */
	z-index: 99;
	}
.bs_datatables_table_3 {
 	position: absolute; 
	top: 0px; 
	left: 4px;
	}
.bs_datatables_table_4 {
	position: absolute;
	left: 110px; 
	top: 3px; 
	width: calc(100% - 120px); 
	height: 70px; 
	z-index: 98;
	}
.bs_datatables_table_5 {
	/*box-shadow: 5px 3px 10px 2px #343434;*/
	margin-top: 0px;
	margin-bottom: 0px;
	z-index: 90;
	width: 100%;
	height: 100%;
	transition: 600ms ease-in;
	/*background-color:#3D3D3D; */
	padding: 5px; 
	min-height: 50px
	}
.bs_datatables_table_5:hover {
	/*background-color: #5F4B36!important;*/
	}


.bs23_span_link_1 {
	width: 100%; 
	height: 100%; 
	position: absolute; 
	left: 0px; 
	top:0px;  
	z-index: 92;
	}

/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  */
/* Text & Labels */











/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */
/* Input & dropdowns*/
input  {
	font-family: abel, sans-serif;
	}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
/*transition: background-color 50000s ease-in-out 0s, color 5000s ease-in-out 0s;	*/
}


/* Chrome Anpassungen*/
input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  /*border: 1px solid #636363;
  -webkit-text-fill-color: #FF931E;
  -webkit-box-shadow: 0 0 0px 1000px #464646 inset;
  transition: background-color 5000s ease-in-out 0s;*/
}

progress {
	background-color: #424141;
	border: 1px solid #636363;
	}
progres::-moz-progress-bar {
  background-color: red;
}
textarea:focus, input:focus, button:focus{ 
    outline: none; 
}
*,
*::before,
*::after {
  box-sizing: border-box;
}

.bs_dropdown_1 {
	-moz-appearance: none;
	-webkit-appearance: none;
	color: rgba(23,23,23,1.00);
	appearance: none;
	width: 100%;
	/*width: calc(100% + 4px);*/
  	height: 29px;
	outline: none;
	text-align: left;
	padding-left: 5px;
	padding-right: 15px;
	padding-top: 2px;
	padding-bottom: 2px;
	margin: 0px;
    background:  rgba(255,255,255,0.17);
	/* box-shadow: rgba(0, 0, 0, 0.03) 0px 4px 12px;*/
	border: 1px solid rgba(255,255,255,0.00);
	transition: all 0.3s ease-in-out;
	/*z-index: 9999;*/
    }
.bs_dropdown_1::-ms-expand {
    display: none;
    }
.bs_dropdown_1 option {
	color: rgba(23,23,23,1.00)!important;
	background-color:rgba(255,255,255,1.00);
	border: none!important;
    }
.bs_dropdown_1 option:hover {

    }
.bs_dropdown_1 option:checked{

	}

.bs_dropdown_1 option:disabled {
	color: #525252!important;	
	background-color: #F5F5F5;
    }
.bs_dropdown_1:focus::-ms-value {
	background:  rgba(173,173,173,1.00);
    }
.bs_dropdown_1 {
      /* ... */
    cursor: pointer;
    }
.bs_dropdown_1:focus{
	transition: all 0.3s ease-in-out;
	}
.bs_dropdown_1:hover{
	border:1px solid #FF931E;
	}
.bs_dropdown_1[readonly]{
	color: #525252!important;	
	background-color: #F5F5F5;	
	}

.bs_dropdown_1:disabled{
	color: #525252!important;
	background-color: #F5F5F5;;
	}
.bs_dropdown_1:disabled:hover{
	border: 1px solid rgba(255,255,255,0.00);
	}
.bs_dropdown_1::hover[readonly]{
	border: 1px solid rgba(255,255,255,0.00);
	}
.bs_dropdown_1::placeholder[readonly]{
	color: #525252; 
	}
.bs_dropdown_1:disabled:placeholder{
	color: #525252; 
	}
.bs_dropdown_1:-webkit-autofill,
.bs_dropdown_1:-webkit-autofill:hover, 
.bs_dropdown_1:-webkit-autofill:focus, 
.bs_dropdown_1:-webkit-autofill:active{

  	-webkit-box-shadow: 0 0 0px 1000px #FFFFFF inset;
	border: 1px solid rgba(255,255,255,0.00);
	-webkit-text-fill-color:rgba(23,23,23,1.00);
}
.bs_dropdown_1:-webkit-autofill:hover{
  -webkit-box-shadow: 0 0 0px 1000px #FFFFFF inset;
	border:1px solid #FF931E;
	transition: all 0.3s ease-in-out;
}




.bs_dropdown_1::placeholder{
	vertical-align: bottom;
	color: rgba(23,23,23,1.00);
	}

.bs_dropdown_1[readonly]{
	border: 1px solid rgba(82,82,82,0.00)!important;
	}
.bs_dropdown_1:disabled{
	border: 1px solid rgba(82,82,82,0.00)!important;
	}
.bs_dropdown_marked_green {
	background-color: rgba(198,220,202,1.00)!important;
	}
.bs_dropdown_marked_red {
	background-color: rgba(220,198,198,1.00)!important;
	}
.bs_dropdown_marked_1 {
	border: 1px solid #525252!important;
	}
.bs_dropdown_marked_2 {
	border: 1px solid #525252!important;
	background-color: white;
	}
.bs_dropdown_1d {
	-moz-appearance: none;
	-webkit-appearance: none;
	color: #A4A4A4;
	appearance: none;
	width: calc(100% + 4px);
  	height: 25px;
  	background: #464646;
	outline: none;
	text-align: left;
	padding: 0px;
	padding-left: 5px;
	margin: 0px;
	border-right: 1px solid #636363;
	border-top: 1px solid #636363;
	border-bottom: 1px solid #636363;
	border-left: 1px solid #636363;
	padding-right: 15px;
	box-shadow: 1px 2px 5px 3px #3D3D3D;
    }
.bs_dropdown_1d option {
    color: #FFFFFF;
	background-color:#4B4B4B;
    }
.bs_dropdown_1d:focus::-ms-value {
   	background-color: #4B4B4B;
    }
.bs_dropdown_1d {
      /* ... */
    cursor: pointer;
    }
.bs_dropdown_1d:focus{
	border:1px solid #FF931E;
	transition: all 0.3s ease-in-out;
	}
.bs_dropdown_1d:hover{
	border:1px solid #FF931E;
	transition: all 0.3s ease-in-out;
	background-color: #7B6A58;
	color: #FFFFFF;
	}
.bs_dropdown_1d:disabled{
	transition: all 0.3s ease-in-out;
  	background: #464646;
	color: #A4A4A4; 
	}
.bs_dropdown_1d:disabled:hover{
	color: #A4A4A4; 
	border:1px solid #636363;
	transition: all 0.3s ease-in-out;
	background: #464646;
	}
.bs_dropdown_2 {
	-moz-appearance: none;
	-webkit-appearance: none;
	color: rgba(23,23,23,1.00);
	appearance: none;
	width: calc(100% + 3px);
  	height: 25px;
  	background: #464646;
	outline: none;
	text-align: left;
	padding: 0px;
	padding-left: 1px;
	margin: 0px;
	border-right: 1px solid #FF931E;
	border-top: 1px solid #FF931E;
	border-bottom: 1px solid #FF931E;
	border-left: 1px solid #FF931E;
	padding-right: 15px;
	box-shadow: 1px 2px 5px 3px #3D3D3D;
    }
.bs_dropdown_2::-ms-expand {
    display: none;
    }
.bs_dropdown_2 option {
    color: #FFFFFF;
	background-color:#4B4B4B;
    }
.bs_dropdown_2:focus::-ms-value {
   	background-color: #4B4B4B;
    }
.bs_dropdown_2 {
      /* ... */
    cursor: pointer;
    }
.bs_dropdown_2:focus{
	border:1px solid #FF931E;
	transition: all 0.3s ease-in-out;
	}
.bs_dropdown_2:hover{
	border:1px solid #FF931E;
	transition: all 0.3s ease-in-out;
	background-color: #7B6A58;
	color: #FFFFFF;
	}
.bs_dropdown_2:disabled{
	transition: all 0.3s ease-in-out;
  	background: #464646;
	color: #A4A4A4; 
	}
.bs_dropdown_2:disabled:hover{
	color: #A4A4A4; 
	border:1px solid #FF931E;
	transition: all 0.3s ease-in-out;
	background: #464646;
	}	
.bs_obligation_1::placeholder{
	background-image: url("/images/icon_obligation_1.svg");
	background-position: right top;
	background-repeat: no-repeat;
		background-size: 5px 5px;
	}
.bs_obligation_2 {
	position: relative; 
	height: 100%; 
	width: 100%; 
	}
.bs_obligation_input_1 {
	position: absolute;
	right: 2px; 
	top: 2px;
	width: 10px;
	height: 10px;
	background-image: url("/images/icon_obligation_1.svg")!important;
	background-position: right top!important;
	background-repeat: no-repeat!important;
	background-size: 5px 5px;
	}
.bs_obligation_select2_1 {
	position: absolute;
	right: -1px; 
	top: 2px;
	width: 10px;
	height: 10px;
	background-image: url("/images/icon_obligation_1.svg")!important;
	background-position: right top!important;
	background-repeat: no-repeat!important;
	background-size: 5px 5px;
	}
.bs_obligation_area_1 {
	position: absolute;
	right: -2px; 
	top: 2px;
	width: 10px;
	height: 10px;
	background-image: url("/images/icon_obligation_1.svg")!important;
	background-position: right top!important;
	background-repeat: no-repeat!important;
	background-size: 5px 5px;
	}
input[type=range].bs_range_1 {
  width: 100%;
  margin: 13.8px 0;
  background-color: transparent;
  -webkit-appearance: none;
}
input[type=range].bs_range_1:focus {
  outline: none;
}
input[type=range].bs_range_1::-webkit-slider-runnable-track {
  background: #464646;
  border: 0.2px solid #636363;
  border-radius: 1.3px;
  width: 100%;
  height: 8.4px;
  cursor: pointer;
}
input[type=range].bs_range_1::-webkit-slider-thumb {
  margin-top: -6.5px;
  width: 8px;
  height: 20px;
  background: #ff931e;
  border: 1px solid #ff931e;
  border-radius: 3px;
  cursor: pointer;
  -webkit-appearance: none;
}
input[type=range].bs_range_1:focus::-webkit-slider-runnable-track {
  background: #535353;
}
input[type=range].bs_range_1::-moz-range-track {
  background: #464646;
  border: 0.2px solid #636363;
  border-radius: 1.3px;
  width: 100%;
  height: 8.4px;
  cursor: pointer;
}
input[type=range].bs_range_1::-moz-range-thumb {
  width: 16px;
  height: 36px;
  background: #ff931e;
  border: 1px solid #ff931e;
  border-radius: 3px;
  cursor: pointer;
}
input[type=range].bs_range_1::-ms-track {
  background: transparent;
  border-color: transparent;
  border-width: 14.8px 0;
  color: transparent;
  width: 100%;
  height: 8.4px;
  cursor: pointer;
}
input[type=range].bs_range_1::-ms-fill-lower {
  background: #393939;
  border: 0.2px solid #636363;
  border-radius: 2.6px;
}
input[type=range].bs_range_1::-ms-fill-upper {
  background: #464646;
  border: 0.2px solid #636363;
  border-radius: 2.6px;
}
input[type=range].bs_range_1::-ms-thumb {
  width: 16px;
  height: 36px;
  background: #ff931e;
  border: 1px solid #ff931e;
  border-radius: 3px;
  cursor: pointer;
  margin-top: 0px;
  /*Needed to keep the Edge thumb centred*/
}
input[type=range].bs_range_1:focus::-ms-fill-lower {
  background: #464646;
}
input[type=range].bs_range_1:focus::-ms-fill-upper {
  background: #535353;
}
/*TODO: Use one of the selectors from https://stackoverflow.com/a/20541859/7077589 and figure out
how to remove the virtical space around the range input in IE*/
@supports (-ms-ime-align:auto) {
  /* Pre-Chromium Edge only styles, selector taken from hhttps://stackoverflow.com/a/32202953/7077589 */
  input[type=range].bs_range_1 {
    margin: 0;
    /*Edge starts the margin from the thumb, not the track as other browsers do*/
  }
}


.xdsoft_datetimepicker {
	box-shadow: 1px 2px 5px 3px #3D3D3D;
	background: #464646;
	border-bottom: 1px solid #3D3D3D;
	border-left: 1px solid #3D3D3D;
	border-right: 1px solid #3D3D3D;
	border-top: 1px solid #3D3D3D;
	color: #FFFFFF;
	font-family: abel, sans-serif;
	padding: 8px;
	padding-left: 0;
	padding-top: 2px;
	position: absolute;
	z-index: 9999;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	display: none;
}
.bs23_input_1_datapicker {
	width: calc(100% - 5px);
	text-align: left;
	font-family: abel, sans-serif;
	color: rgba(23,23,23,1.00);
    background:  #464646;
	border-right: 1px solid #636363;
	border-top: 1px solid #636363;
	border-bottom: 1px solid #636363;
	border-left: 1px solid #636363;
	transition: all 0.3s ease-in-out;
	padding-left: 5px;
	box-shadow: 1px 2px 5px 3px #3D3D3D;
	}

.bs_text_area_1 {
	width: calc(100% - 5px);
	height: auto;
	text-align: left;
	padding-left: 5px;
	resize: none;
	font-family: abel, sans-serif;
	color: rgba(23,23,23,1.00);
    background:  rgba(255,255,255,0.17);
	/*box-shadow: rgba(0,0,0,0.19) 0px 4px 12px;*/
	border: 1px solid #CDCCCC;
	border-radius: 3px;
	transition: all 0.3s ease-in-out;
	}
.bs_text_area_1:hover{
	border:1px solid #FF931E;
	transition: all 0.3s ease-in-out;
	}
.bs_text_area_1:focus{
	border:1px solid #FF931E;
	transition: all 0.3s ease-in-out;
	}
.bs_text_area_1:disabled{
	color: #606060;
	background-color: #F5F5F5;
	}
.bs_text_area_1[readonly]{
	color: #606060;
	background-color: #F5F5F5;
	}
.bs_text_area_1:disabled:hover{
	border: 1px solid #636363;
	}
.bs_text_area_1[readonly]:hover{
	border: 1px solid #636363;
	}
.bs_text_area_1:disabled:focus{
	border: 1px solid #636363;
	}
.bs_text_area_1[readonly]:focus{
	border: 1px solid #636363;
	}
.bs_text_area_1::placeholder{
	vertical-align: bottom;
	color: rgba(23,23,23,1.00);
	font-style: italic;
	}
.bs_text_area_1[readonly]::placeholder{
	color: #606060;

	}
	
.bs_text_area_1:disabled::-webkit-input-placeholder { /* WebKit browsers */
    color:    #606060;
}
.bs_text_area_1:disabled:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
    color:    #606060;
}
.bs_text_area_1:disabled::-moz-placeholder { /* Mozilla Firefox 19+ */
    color:    #606060;
}
.bs_text_area_1:disabled:-ms-input-placeholder { /* Internet Explorer 10+ */
    color:    #606060;
}
.bs_text_area_1_marked:disabled{
	color: #000000;
	}
.bs_text_area_1_red_marked{
	border-color: rgba(155,0,0,1.00)!important; 
	color: rgba(155,0,0,1.00)!important; 
	}
.bs_text_area_1_red_marked::placeholder{
	color: rgba(155,0,0,1.00)!important; 
	}
.bs_hidden {
	color: #4B4B4B;
	font-size:0px;
	}

/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */

.bs_button_image_1 button{
    color: inherit;
    border: 5px solid green;
    padding: 0;
    font: inherit;
    cursor: pointer;
    outline: inherit;
}

.bs_button_close_2 {
	background-image: url("../images/button_close_2.svg");
	background-size: 20px 20px;
	background-repeat: no-repeat;
	background-color: transparent;
	width: 20px;
	height: 20px;
	border: none;
	padding-left: 10px;
	padding-right: 10px;
	padding-bottom: 0px;
	padding-top:0px;
	}
.bs_button_close_2:hover{
	background-image: url("../images/button_close_2b.svg");
	background-color: transparent;
	}
.bs_button_close_2d {
	background-image: url("../images/button_close_2.svg");
	background-size: 18px 18px;
	background-repeat: no-repeat;
	background-color: transparent;
	width: 18px;
	height: 18px;
	border: none;
	padding-left: 9px;
	padding-right: 9px;
	padding-bottom: 0px;
	padding-top:0px;
	}
.bs_button_close_3 {
	background-image: url("../images/button_close_3.svg");
	background-size: 18px 18px;
	background-repeat: no-repeat;
	background-color: transparent;
	width: 18px;
	height: 18px;
	border: none;
	padding-left: 9px;
	padding-right: 9px;
	padding-bottom: 0px;
	padding-top:0px;
	}
.bs_button_close_3:hover{
	background-image: url("../images/button_close_3b.svg");
	}
.bs_button_close_4 {
	background-image: url("../images/button_close_4.svg");
	background-size: 18px 18px;
	background-repeat: no-repeat;
	background-color: transparent;
	width: 18px;
	height: 18px;
	border: none;
	padding-left: 9px;
	padding-right: 9px;
	padding-bottom: 0px;
	padding-top:0px;
	}
.bs_button_close_4:hover{
	background-image: url("../images/button_close_4b.svg");
	}
.bs_button_close_5 {
	background-image: url("../images/button_close_5.svg");
	background-size: 18px 18px;
	background-repeat: no-repeat;
	background-color: transparent;
	width: 18px;
	height: 18px;
	border: none;
	padding-left: 9px;
	padding-right: 9px;
	padding-bottom: 0px;
	padding-top:0px;
	}
.bs_button_close_5:hover{
	background-image: url("../images/button_close_5b.svg");
	}
.bs_button_reload_1 {
	background-image: url("../images/button_reload_1b.png");
	}
.bs_button_reload_1:hover{
	background-image: url("../images/button_reload_1c.png");
	}
.bs_button_reload_2 {
	background-image: url("../images/button_message_8.svg");	
	background-size: 18px 18px;
	background-repeat: no-repeat;
	background-color: transparent;
	background-position: center;
	width: 18px;
	height: 18px;
	padding-left: 9px;
	padding-right: 9px;
	padding-bottom: 0px;
	padding-top:0px;
	border: 1px solid #343434;
	}
.bs_button_reload_2:hover {
	background-color: #343434;
	}
.bs_button_more_1 {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
  	background-image: url("../images/button_menu_1.svg");
	background-size: auto;
	background-repeat: no-repeat;
	background-color: transparent;
	background-position: center;
	text-align: center;
	outline: none;
	margin: 0px;
	border: 1px solid #393939;
	padding:2px 20px 2px 20px;
	color: #FFFFFF;
	font-size: 12px;
	}
.bs_button_more_1:hover{
  	background-color: #37A9E5; 
	border-color:#37A9E5; 
  	background-image: url("../images/button_menu_2.svg");
	}
.bs_button_more_2 {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
  	background-image: url("../images/button_menu_2.svg");
	background-size: auto;
	background-repeat: no-repeat;
	background-color: rgba(255,255,255,0.00)!important;
	background-position: center;
	text-align: top;
	outline: none;
	margin: 0px;
	padding:15px!important;
	color: #FFFFFF;
	font-size: 15px;
	height: 15px!important;
	width: 15px!important;
	border: 1px solid transparent!important;
	}
.bs_button_more_2:hover{
  	background-image: url("../images/button_menu_4.svg");
	background-color: rgba(255,255,255,0.00)!important;
	border: 1px solid transparent!important;
	}
.bs_button_more_3 {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
  	background-image: url("../images/button_menu_2.svg");
	background-size: cover;
	background-repeat: no-repeat;
	background-color: rgba(255,255,255,0.00)!important;
	background-position: center;
	outline: none;
	margin: 0px;
	padding: 0px!important;
	color: #FFFFFF;
	font-size: 0px;
	height: 27px!important;
	width: 27px!important;
	border: 1px solid transparent!important;
	display: block;
	}
.bs_button_more_3:hover{
  	background-image: url("../images/button_menu_4.svg");
	background-color: rgba(255,255,255,0.00)!important;
	border: 1px solid transparent!important;
	}






.bs_button_popup_help_1 {
	text-align: center;
	font-family: abel, sans-serif;
	font-size: 16px;
	color: #FFFFFF;
    background:#393939;
	border-left:10px solid #393939;
	border-right: 10px solid #393939;
	border-bottom: 3px solid #393939;
	border-top: 3px solid #393939;
	border-radius: 0px;
	text-decoration: none;
	padding: 0px;	
	}
.bs_button_popup_help_1:hover{
  	background-color:#FF931E;
	color: #454545;
	border-color: #FF931E;
	}













.bs_button_11{
	font-family: abel, sans-serif;
	font-size: 10px;
	color: #A4A4A4;
	text-align: center;
    background:#4B4B4B;
	padding: 0px 7px 0px 7px;
	margin: 5px 2px 0px 0px;
	border-radius: 2px;
	text-decoration: none;
	border: 1px solid #343434;
	}
.bs_button_11:hover{
	color: #3A3A3A;
    background:#FF931E;
	border:1px solid #FF931E;
	}
.bs_button_project_1{
	background-image: url("../images/icon_project_1b.svg"); 
	background-repeat: no-repeat; 
	background-position: center; 
	padding-left: 20px;
	padding-right: 20px;
	padding-top: 30px;
	padding-bottom: 30px;
	}
.bs_button_project_1:hover{
  	background-image: url("../images/icon_project_1.svg"); 
	}
.bs_button_project_2{
	background-image: url("../images/icon_project_1b.svg"); 
	background-repeat: no-repeat; 
	background-position: center; 
	padding-left: 14px;
	padding-right: 14px;
	padding-top: 25px;
	padding-bottom: 25px;
	}
.bs_button_project_2:hover{
  	background-image: url("../images/icon_project_1.svg"); 
	}

.bs_button_info_2 {
	background-image: url("../images/button_info_3.svg");
	background-size: 14px 14px;
	background-repeat: no-repeat;
	background-color: transparent;
	background-position: center center;
	border: none;
	height: 14px;
	width: 14px;
	padding-left: 7px;
	padding-right: 7px;
	padding-bottom: 0px;
	padding-top:0px;
	}
.bs_button_info_3 {
	background-image: url("../images/button_info_3.svg");
	background-size: 16px 16px;
	background-repeat: no-repeat;
	background-color: transparent;
	background-position: center center;
	border: 0px;
	height: 16px;
	width: 16px;
	padding-left: 8px;
	padding-right: 8px;
	}
.bs_button_info_3:hover {
	background-image: url("../images/button_info_3b.svg");
	}
.bs_button_info_3d {
	background-image: url("../images/button_info_1c.svg");
	background-size: 16px 16px;
	background-repeat: no-repeat;
	background-color: transparent;
	background-position: center center;
	border: 0px;
	height: 16px;
	width: 16px;
	padding-left: 8px;
	padding-right: 8px;
	}
.bs_button_info_3d:hover {
	background-image: url("../images/button_info_1c.svg");
	}
.bs_button_questionmark_1 {
	background-image: url("../images/button_questionmark_1.svg");	
	background-size: 14px 14px;
	background-repeat: no-repeat;
	background-color: transparent;
	width: 14px;
	height: 14px;
	border: none;
	padding-left: 7px;
	padding-right: 7px;
	}
.bs_button_questionmark_1:hover{
	background-image: url("../images/button_questionmark_1b.svg");
	}
.bs_button_alert_1 {
	background-image: url("../images/button_alert_1.svg");	
	}
.bs_button_alert_2 {
	background-image: url("../images/button_alert_1.svg");	
	background-size: 60px 60px;
	background-repeat: no-repeat;
	background-color:transparent;
	background-position: center center;
	width: 60px;
	height: 60px;
	border: none;
	padding-left: 30px;
	padding-right: 30px;
	padding-bottom: 30px;
	padding-top:30px;
	}
.bs_button_alert_3 {
	background-image: url("../images/button_alert_2.svg");	
	background-size: 14px 14px;
	background-repeat: no-repeat;
	background-color:transparent;
	background-position: center center;
	width: 14px;
	height: 14px;
	border: none;
	padding-left: 7px;
	padding-right: 7px;
	padding-bottom: 0px;
	padding-top:0px;
	}
.bs_button_alert_4 {
	background-image: url("../images/button_alert_1.svg");	
	background-size: 16px 16px;
	background-repeat: no-repeat;
	background-color:transparent;
	background-position: center center;
	width: 16px;
	height: 16px;
	border: none;
	padding-left: 8px;
	padding-right: 8px;
	padding-bottom: 0px;
	padding-top:0px;
	}
.bs_button_success_1 {
	background-image: url("../images/button_success_1.svg");	
	}
.bs_button_success_2 {
	background-image: url("../images/button_success_2.svg");	
	background-size: 60px 60px;
	background-repeat: no-repeat;
	background-color:transparent;
	background-position: center center;
	width: 60px;
	height: 60px;
	border: none;
	padding-left: 30px;
	padding-right: 30px;
	padding-bottom: 30px;
	padding-top:30px;
	 
	}
.bs_button_plus_1 {
	background-image: url("../images/button_plus_1.svg");	
	background-size: 14px 14px;
	background-repeat: no-repeat;
	background-color: transparent;
	width: 14px;
	height: 14px;
	border: 0px;
	padding-left: 7px;
	padding-right: 7px;
	}
.button_plus_1:hover{
	background-image: url("../images/button_plus_1b.svg");
	}
.bs_button_plus_2 {
	background-image: url("../images/button_plus_2b.svg");	
	background-size: 16px 16px;
	background-repeat: no-repeat;
	background-color: transparent;
	width: 16px;
	height: 16px;
	border: 0px;
	padding-left: 8px;
	padding-right: 8px;
	}
.bs_button_plus_2:hover{
	background-image: url("../images/button_plus_3b.svg");
	}
.bs_button_add_1 {
	background-image: url("../images/button_add_1.svg");	
	background-size: 30px;
	background-repeat: no-repeat;
	background-color: #FF931E;
	background-position: center;
	width: 14px;
	height: 25px;
	border: 0px;
	padding-left: 25px;
	padding-right: 25px;
	border-radius: 1px;
	padding-top:1px;
	padding-bottom: 1px;
	}
.bs_button_add_1:hover{
	  	background-color:  #DB9B56;
	border-color: #DB9B56;
	}
.bs_button_add_2 {
	background-image: url("../images/button_add_3.svg");	
	background-size: 30px;
	background-repeat: no-repeat;
	background-color: #FFFFFF;
	background-position: center;
	border: 1px dashed #72AE74;
	border-radius: 3px;
	width: 14px;
	height: 25px;
	padding-left: 25px;
	padding-right: 25px;
	padding-top:1px;
	padding-bottom: 1px;
	}
.bs_button_add_2:hover{
	 background-color:  #72AE74;
	border-color: #72AE74;
	background-image: url("../images/button_add_5.svg");
	}
.bs_button_edit_1 {
	background-image: url("../images/button_edit_1.svg");
	background-size: 18px 18px;
	background-repeat: no-repeat;
	background-color: transparent;
	width: 18px;
	height: 18px;
	border: none;
	padding-left: 9px;
	padding-right: 9px;
	padding-bottom: 0px;
	padding-top:0px;
	}
.bs_button_edit_1:hover{
	background-image: url("../images/button_edit_1b.svg");
		}

.bs_button_popup_close_2 {
	background-image: url("../images/button_close_1c.svg");
	background-size: 18px 18px;
	background-repeat: no-repeat;
	background-color: transparent;
	width: 18px;
	height: 18px;
	border: none;
	padding-left: 9px;
	padding-right: 9px;
	padding-bottom: 0px;
	padding-top:0px;
	}
.bs_button_popup_close_2:hover{
	background-image: url("../images/button_close_2b.svg");
	}
.bs23_button_popup_video_close_1 {
	background-image: url("../images/button_close_3.svg");
	}
.bs23_button_popup_video_close_1:hover{
	background-image: url("../images/button_close_2b.svg");
	}
.bs_button_help_1{
	background-image: url("../images/button_help_1.svg");
	background-size: 100%;
	background-repeat: no-repeat;
	background-position: center center;
	border: 0px;
	height: 20px;
	width: 20px;
	padding-left: 10px;
	padding-right: 10px;
	position: absolute;

	}
.bs23_button_help_4 {
	background-image: url("../images/icon_help_1.svg");
	background-size: 12px 12px;
	background-repeat: no-repeat;
	background-color: transparent;
	width: 12px;
	height: 12px;
	border: none;
	padding-left: 6px;
	padding-right: 6px;
	padding-bottom: 0px;
	padding-top:0px;
	margin-left: 5px;
	margin-top: 3px;
	}
.bs23_button_help_4:hover{
	background-image: url("../images/icon_help_1b.svg");
	}
.bs_button_transparent_1 {
	background-color:transparent;
	background-position: center center;
	width: 14px;
	height: 14px;
	border: none;
	padding-left: 7px;
	padding-right: 7px;
	padding-bottom: 0px;
	padding-top:0px;
	}	


  /* Customize the label (the container) */
.bs_button_checkbox_1 {
  display: block;
  position: relative;
  padding-left: 35px;
  margin-bottom: 0px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* Hide the browser's default checkbox */
.bs_button_checkbox_1 input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

/* Create a custom checkbox */
.bs_button_checkbox_1_check {
  position: absolute;
  top: 0;
  left: 0;
  height: 25px;
  width: 25px; 
  background: rgba(255,255,255,0.00);
  border:1px solid #FF931E;
  margin-left: 0px;
	border-radius: 5px;
}

/* On mouse-over, add a grey background color */
.bs_button_checkbox_1:hover input ~ .bs_button_checkbox_1_check {
  
}

/* When the checkbox is checked, add a blue background */
.bs_button_checkbox_1 input:checked ~ .bs_button_checkbox_1_check {
  background-image: url("../images/checkbox_3a.svg");
}

/* Create the checkmark/indicator (hidden when not checked) */
.bs_button_checkbox_1_check:after {
  content: "";
  position: absolute;
  display: none;
}

/* Show the checkmark when checked */
.bs_button_checkbox_1 input:checked ~ .bs_button_checkbox_1_check:after {
  background-image: url("../images/checkbox_3a.svg");
}


.bs_button_checkbox_1 input:not(:checked)[readonly] ~ .bs_button_checkbox_1_check {
  	border:1px solid #A4A4A4;
	background-color: #F5F5F5;
}
.bs_button_checkbox_1 input:checked[readonly] ~ .bs_button_checkbox_1_check {
  	border:1px solid #A4A4A4;
	background-color: #464646;
}		
.bs_button_checkbox_1 input:disabled:not(:checked) ~ .bs_button_checkbox_1_check {
  	border:1px solid #A4A4A4;
	background: rgba(255,255,255,0.00);
}
.bs_button_checkbox_1 input:disabled:checked ~ .bs_button_checkbox_1_check {
  	border:1px solid #A4A4A4;
  	background: rgba(255,255,255,0.00);
	background-image: url("../images/checkbox_3b.svg");
}	

.bs_button_checkbox_1:hover input:not(:checked)[readonly] ~ .bs_button_checkbox_1_check {
  	border:1px solid #A4A4A4;
  	background: rgba(255,255,255,0.00);
}
.bs_button_checkbox_1:hover input:checked[readonly] ~ .bs_button_checkbox_1_check {
  	border:1px solid #A4A4A4;
  	background: rgba(255,255,255,0.00);
}

.bs_button_checkbox_1:hover input:disabled:not(:checked) ~ .bs_button_checkbox_1_check {
  	border:1px solid #A4A4A4;
  	background: rgba(255,255,255,0.00);
}
.bs_button_checkbox_1:hover input:disabled:checked ~ .bs_button_checkbox_1_check {
  	border:1px solid #A4A4A4;
  	background: rgba(255,255,255,0.00);
	background-image: url("../images/checkbox_3b.svg");
}


/* Style the checkmark/indicator */
.bs_button_checkbox_1 .bs_button_checkbox_1_check:after {
  left: 4px;
  top: 0px;
  width: 4px;
  height: 8px;
  border: solid white;
  border-width: 0 3px 3px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
} 
.bs_button_checkbox_2 {
  display: block;
  position: relative;
  padding-left: 15px;
  margin-bottom: 0px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
/* Hide the browser's default checkbox */
.bs_button_checkbox_2 input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}
/* Create a custom checkbox */
.bs_button_checkbox_2_check {
  	position: absolute;
  	top: -15px;
 	left: 0px;
  	height: 30px;
  	width: 30px;
  	background: #424141;
  	border:2px solid transparent;
  	margin-left: 0px;
	background-color: transparent;
	background-image: url("../images/checkbox_1b.svg");
	background-size: auto;
	background-repeat: no-repeat;
	background-position:center; 
}
.bs_button_checkbox_2 input:not(:checked)[readonly] ~ .bs_button_checkbox_2_check {
	background-image: url("../images/checkbox_1d.svg");
}
.bs_button_checkbox_2 input:checked[readonly] ~ .bs_button_checkbox_2_check {
	background-image: url("../images/checkbox_1d.svg");
}		
.bs_button_checkbox_2 input:disabled:not(:checked) ~ .bs_button_checkbox_2_check {
	background-image: url("../images/checkbox_1d.svg");
}
.bs_button_checkbox_2 input:disabled:checked ~ .bs_button_checkbox_2_check {
	background-image: url("../images/checkbox_1d.svg");
}	

/* On mouse-over, add a grey background color */
.bs_button_checkbox_2:hover input ~ .bs_button_checkbox_2_check {
  	border:2px solid #FC8815;	
}

/* When the checkbox is checked, add a blue background */
.bs_button_checkbox_2 input:checked ~ .bs_button_checkbox_2_check {
	background-image: url("../images/checkbox_1.svg");
}
/* Create the checkmark/indicator (hidden when not checked) */
.bs_button_checkbox_2_check:after {
  content: "";
  position: absolute;
  display: none;
}
/* Show the checkmark when checked */
.bs_button_checkbox_2 input:checked ~ .bs_button_checkbox_2_check:after {
  display: block;	
}
/* Style the checkmark/indicator */
.bs_button_checkbox_2 .bs_button_checkbox_2_check:after {
}

.bs_button_checkbox_4 {
  display: block;
  position: relative;
  padding-left: 15px;
  margin-bottom: 0px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* Hide the browser's default checkbox */
.bs_button_checkbox_4 input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

/* Create a custom checkbox */
.bs_button_checkbox_4_check {
  position: absolute;
  top: 0;
  left: 0;
  height: 15px;
  width: 15px;
  background: #464646;
  border:1px solid #5A9E5B; 
margin-left: 0px;
}

/* On mouse-over, add a grey background color */
.bs_button_checkbox_4:hover input ~ .bs_button_checkbox_4_check {
  background-color: #4F6F4F;
}

/* When the checkbox is checked, add a blue background */
.bs_button_checkbox_4 input:checked ~ .bs_button_checkbox_4_check {
  background-color: #5A9E5B; 
}
.bs_button_checkbox_4 input:not(:checked)[readonly] ~ .bs_button_checkbox_4_check {
  	border:1px solid #636363;
}

.bs_button_checkbox_4:hover input:not(:checked)[readonly] ~ .bs_button_checkbox_4_check {
  	background: #464646;
}
.bs_button_checkbox_4 input:checked[readonly] ~ .bs_button_checkbox_4_check {
 	border:1px solid #636363;
}	
/* Create the checkmark/indicator (hidden when not checked) */
.bs_button_checkbox_4_check:after {
  content: "";
  position: absolute;
  display: none;
}

/* Show the checkmark when checked */
.bs_button_checkbox_4 input:checked ~ .bs_button_checkbox_4_check:after {
  display: block;
}

/* Style the checkmark/indicator */
.bs_button_checkbox_4 .bs_button_checkbox_4_check:after {
  left: 4px;
  top: 0px;
  width: 4px;
  height: 8px;
  border: solid white;
  border-width: 0 3px 3px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
} 
.dt-button.bs_button_datatables_1 {
	text-align: center;
	font-family: abel, sans-serif;
	font-size: 12px;
	color: #FFFFFF;
    background:#393939;
	border-left:10px solid #393939;
	border-right: 10px solid #393939;
	border-bottom: 3px solid #393939;
	border-top: 3px solid #393939;
	border-radius: 1px;
	margin-bottom: 5px;
	text-decoration: none;
	padding: 0px;
	margin-top:5px;
	margin-left:5px;
	}
.dt-button.bs_button_datatables_1:hover{
  	background-color:#FF931E;
	color: #454545;
	border-color: #FF931E;
	}

.bs_image_1 {
  width: 400px;
height: 280px;
} 
.bs_image_2  {
	width: 110px;
	height:110px;
	border-radius: 100%;
	-moz-border-radius: 100%;
	-webkit-border-radius: 100%;
	box-shadow: 1px 3px 5px 3px #B4B4B4;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}


.bs_image_4  {
	max-width: 100%;
	max-height: 100%;
	background-color:white;
	background-repeat: no-repeat;
    background-position: center center;  
	background-size: 100%;
	border-radius: 5px;
	padding: 0px;
}
.bs_box_menu_1 {
	border-bottom: 1px solid #343434;
	border-top: 1px solid #4B4B4B;
}
.bs_box_menu_2 {
	border-left: 1px solid #343434;
	border-right: 1px solid #343434;
	border-top: 1px solid #343434;
	border-bottom:1px solid #424141; 
	background-color: #424141 !important;
}
.bs_box_menu_3 {
	border-left: 1px solid #3E3E3E;
	border-right: 1px solid #3E3E3E;
	border-top: 1px solid #3E3E3E;
	border-bottom:1px solid #343434; 
	background-color: #464646 !important;
}
.bs_box_menu_3:hover {
	border-left: 1px solid #343434;
	border-right: 1px solid #343434;
	border-top: 1px solid #343434;
	border-bottom:1px solid #343434; 
	background-color: #424141 !important;
}
.bs_box_menu_20 {
	width: 100%; 
	border-collapse: collapse;
	background-color:#424141;
	border-bottom:  none;
}
.bs_box_menu_30 {
	width: 100%; 
	background-color:#424141;
	border-collapse: collapse;
}
.bs_box_menu_30 th{
	background-color: #4B4B4B;
	font-weight: normal;
}
.bs_box_menu_30 td:nth-child(1){
	border-left: 1px solid #343434;
	border-right: 1px solid #343434;
	border-bottom:  none;
}
.bs_box_menu_50 {
	width: 100%!important; 
	background-color:#424141;
	border-collapse: collapse;
	border-left:1px solid #343434;
	border-right:1px solid #343434;
	border-bottom:1px solid #343434;
}
@media (min-width: 0px){
	.menu_size_1 {
		display:none;
	}
	.menu_size_2 {
		display:block;
	}	
	.menu_size_3 {
		display:block;
	}		
	.menu_size_company_1 {
		display:none;
	}
	.menu_size_company_2 {
		display:block;
	}	
}	
@media (min-width: 450px){
	.menu_size_1 {
		display:block;
	}
	.menu_size_2 {
		display:none;
	}
	.menu_size_3 {
		display:none;
	}	
}
@media (min-width: 740px){
	.menu_size_company_1 {
		display:block;
	}
	.menu_size_company_2 {
		display:none;
	}	
}


.bs_image_loading_1  {
	width: 100px;
	height:100px;
	background-image: url("../images/loading.svg");
	background-repeat: no-repeat;
    background-position: center center;  
	background-size: 100%;
}
.bs_load_1,
.bs_load_1:after {
  box-sizing: border-box;
}
.bs_load_1 {
  display: inline-block;
  width: 100%;
  height: 100%;
}
.bs_load_1:after {
  content: " ";
  display: block;
  width: 100%;
  height: 100%;
  margin: 0px;
  border-radius: 50%;
  border: 15px solid currentColor;
  border-color: #FF931E transparent #FF931E transparent;
  animation: bs_load_1 1.2s linear infinite;
  transition: 0.5s;
	transition-timing-function: ease-in;
	transition-timing-function: ease-out;
}

@keyframes bs_load_1 {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.bs_load_2,
.bs_load_2:after {
  box-sizing: border-box;
}
.bs_load_2 {
  display: inline-block;
  width: 100%;
  height: 100%;
}
.bs_load_2:after {
  content: " ";
  display: block;
  width: 100%;
  height: 100%;
  margin: 0px;
  border-radius: 50%;
  border: 15px solid currentColor;
  border-color: #AA1B1B transparent #AA1B1B transparent;
  animation: bs_load_1 1.2s linear infinite;
}

@keyframes bs_load_2 {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */
/* Div */
/* Verhindert roter Rahmen bei fehlender Eingabe */
:-moz-ui-invalid {
border:none;
  border: 1px solid #FF931E!important;	
}
/* Verhindert Pfeile bei Input mit zahlen */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Verhindert Pfeile bei Input mit zahlen */
input[type=number] {
  -moz-appearance: textfield;
}
span.select2-dropdown.select2-dropdown--below {
    z-index: 10000 !important;
}

.select2{
	width: calc(100% + 3px) !important;
	background:  rgba(255,255,255,1.00)!important;
	}



.select2.select2-container {
  width: 100% !important;
}

.select2.select2-container .select2-selection {
  border: 1px solid #ccc;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  height: 34px;
  /*margin-bottom: 15px;*/
  outline: none !important;
  transition: all .15s ease-in-out;
	
}

.select2.select2-container .select2-selection .select2-selection__rendered {
  color: #333;
  line-height: 32px;
  padding-right: 33px;
}

.select2.select2-container .select2-selection .select2-selection__arrow {
  background: #f8f8f8;
  border-left: 1px solid #ccc;
  -webkit-border-radius: 0 3px 3px 0;
  -moz-border-radius: 0 3px 3px 0;
  border-radius: 0 3px 3px 0;
  height: 32px;
  width: 33px;
}

.select2.select2-container.select2-container--open .select2-selection.select2-selection--single {
  background: #f8f8f8;
}

.select2.select2-container.select2-container--open .select2-selection.select2-selection--single .select2-selection__arrow {
  -webkit-border-radius: 0 3px 0 0;
  -moz-border-radius: 0 3px 0 0;
  border-radius: 0 3px 0 0;
}

.select2.select2-container.select2-container--open .select2-selection.select2-selection--multiple {
  border: 1px solid #34495e;
	
}

.select2.select2-container .select2-selection--multiple {
  height: auto;
  min-height: 34px;
}

.select2.select2-container .select2-selection--multiple .select2-search--inline .select2-search__field {
  margin-top: 0;
  height: 37px;
}

.select2.select2-container .select2-selection--multiple .select2-selection__rendered {
  display: block;
  padding: 0 4px;
  line-height: 34px;
}
/*@Marc1*/
.select2.select2-container .select2-selection--multiple .select2-selection__choice {
  background-color: #A7A7A7;
  border: 2px solid #A7A7A7;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  margin: 4px 4px 0 0;
  padding: 0 6px 0 25px;
  height: 28px;
  line-height: 24px;
  font-size: 20px;
  position: relative;
color: white;
	
}

.select2.select2-container .select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove {
  position: absolute;
  top: 0;
  left: 0;
  height: 22px;
  width: 22px;
  margin: 0;
  text-align: center;
  color: #FFFFFF;
  font-weight: bold;
  font-size: 20px;
}

.select2-container .select2-dropdown {
  background: transparent;
  border: none;
  margin-top: -5px;
}

.select2-container .select2-dropdown .select2-search {
  padding: 0;
}

.select2-container .select2-dropdown .select2-search input {
  outline: none !important;
  border: 1px solid #34495e !important;
  border-bottom: none !important;
  padding: 4px 6px !important;
}

.select2-container .select2-dropdown .select2-results {
  padding: 0;
}

.select2-container .select2-dropdown .select2-results ul {
  background: #fff;
  border: 1px solid #34495e;
	
}

.select2-container .select2-dropdown .select2-results ul .select2-results__option--highlighted[aria-selected] {
  background-color: #3498db;
}
/* editable-select2 Dropdown */
.es-list{
	background:  rgba(255,255,255,1.00)!important;
	box-shadow: rgba(0,0,0,0.20) 0px 4px 5px!important;
	color: rgba(23,23,23,1.00)!important;
	border: 1px solid black!important;
	}
/* editable-select2 Dropdown */
.es-list li{
	background-color: #F5F5F5!important;
	box-shadow: none!important;
	color: #525252!important;
	border: none!important;
	font-size: 20px!important;
	}
.es-list li:hover{
	color:white!important;
	background:  #3997D3!important;
	}






























table.dataTable{
	font-family: abel, sans-serif !important;
	}
.dataTables_paginate{
	font-family: abel, sans-serif !important;
	}
.bs_box_datatables_01 {
	border-collapse: collapse!important;
	}
.bs_box_datatables_01 thead td {
    
	
	}
.bs_box_datatables_01 tbody td{
	padding-top: 2px!important;
	padding-bottom: 2px!important;
	}
.bs_box_datatables_01.dataTable.no-footer{
	border-bottom: none!important;
	}
.bs_box_datatables_01.dataTable thead td {
	border-bottom: 1px solid #7B090B;
	}
.bs_box_datatables_02 {
width: 100%; 
	box-shadow: 1px 2px 5px 3px #3D3D3D;padding-left: 2px; padding-right: 2px; 
}
.clearfix::after {
  content: "";
  clear: both;
  display: table;
}
.submenu_0 {
	position: relative; 
	width: calc(100% + 20px);
	margin-top: -10px; 
	margin-left: -10px; 
	margin-bottom: 30px;
		border-radius: 5px;
}	
.submenu_1 {
	float: left; 
	padding: 5px; 
	text-align: center;
	font-size: 12px;
	color: #FFFFFF; 
	text-decoration: none;
}	
.submenu_1 a {
	color: #FFFFFF; 
}	
.submenu_1 a:visited {
	color: #FFFFFF; 
}
.submenu_1 a:hover {
	color: #FFFFFF; 
}	
.submenu_1 a:link:hover {
	color: #FFFFFF; 
}	
.submenu_1 a:visited:hover {
	color: #FFFFFF; 
}

.submenu_2 {
	float: left; 
	background-color: #313131; 
	padding: 5px; 
	text-align: center;
	font-size: 12px;
	color: #C0C0C0; 
	text-decoration: none;

}		
.submenu_2:hover {
	background-color: #575757; 
	color: #FFFFFF; 
}	
.submenu_2 a {
	color: #C0C0C0; 
}	
.submenu_2 a:visited {
	color: #C0C0C0; 
}
.submenu_2 a:visited {
	color: #C0C0C0; 
}
.submenu_2:hover a {
	color: #FFFFFF; 
}	
.bs_box_overview_1 {
	float: left; 
	left: 0px;
	top: 0px;
	width: 50px;
	padding-left: 10px;
	padding-right: 10px;
	padding-top: 5px;
	padding-bottom: 5px;
	}	
.bs_box_overview_2 {
	position: relative;
	z-index: 99;
	height: 100%;
	width: 100%;
	}	
.bs_box_overview_3 {
	float: left; 
	left: 50px;
	top: 0px;
	max-width: calc(100% - 150px);
	width: auto;
	padding: 5px;
	z-index: 99;
	}
.bs_box_overview_4 {
	position: absolute;
	background-position: center;
	background-size: 80%;
	background-repeat: no-repeat;
	right: 0px;
	top: 0px;
	width: 80px;
	height: calc(100% - 10px);
	padding: 5px;
	z-index: 99;
	}
.bs_box_overview_5 {
	position: relative;
	z-index: 99;
	}	
.setclear { 
	clear: both; 
}	


.bs_box_overview_project_1 {
 	min-height: 70px; 
}
.bs_box_overview_project_2 {
	position: absolute; 
	left: 0px; 
	top: 0px; 
	width: 100px; 
	height: 70px;
	box-shadow: 2px 3px 10px 2px #2B2B2B; 
	z-index: 99;
}
.bs_box_overview_project_2b {
	position: absolute; 
	left: 0px; 
	top: 0px; 
	width: 100px; 
	min-height: 70px;
	z-index: 99;
}
.bs_box_overview_project_3 {
	position: absolute; 
	width: 100%; 
	height: 100%; 
	left:0px; 
	top:0px; 
	z-index:5;
}
.bs_box_overview_project_4 {
	float: left;
	left: 0px;
	top: 0px;
	width: 100%; 
	height: 100%;
	background-size: auto 100%;
	background-position: center;
	background-image: url('/images/visu.jpg');
}
.bs_box_overview_project_4b {
	float: left;
	left: 0px;
	top: 0px;
	width: 100%; 
	height: 100%;
}
.bs_box_overview_project_5 {
	position: relative;
	z-index: 99;
	height: 100%;
	width: 100%;
	background-size: auto 100%;
	background-position: center;
}
.bs_box_overview_project_6 {
	position: absolute;
	left: 100px; 
	top: 0px; 
	width: calc(100% - 100px); 
	height: 70px; 
	z-index: 90;
}
.bs_box_overview_project_9 {
	position: absolute;
	background-position: center;
	background-size: 80%;
	background-repeat: no-repeat;
	right: 0px;
	top: 0px;
	width: 80px;
	height: calc(100% - 10px);
	padding: 5px;
	z-index: 99;
}
.bs_box_overview_project_10 {
	position: relative; 
	z-index: 5; 
	width: 100%; 
	height: 100%;
}
.bs_box_overview_project_11 {
	position: relative; 
	left: 10px; 
	top:10px;
}
.bs_box_overview_project_12 {
	white-space: nowrap; 
	overflow: hidden; 
	text-overflow: ellipsis; 
	margin: 0px; 
	width: calc(100% - 65px);
}
.bs_box_overview_project_13 {
	position: absolute; 
	z-index: 99; 
	width: auto;
	max-width: calc(100% - 75px);
}
.bs_box_overview_project_14 {
	white-space: nowrap; 
	overflow: hidden; 
	text-overflow: ellipsis; 
	margin: 0px; 
	width: calc(100%);
}
.bs_box_overview_image_1 {
	width: 100%; 
	height: 100%;
	border-radius: 100%;
	border: 0px;
	}
.bs_box_overview_image_1:hover{
	-webkit-filter: sepia(.5);
    filter: sepia(.5);
	transition: all 0.3s ease-in-out;
	}	
.bs_box_overview_image_2 {
	width: auto; 
	height: 100%;
	border: 0px;
	max-height: 40px;
	
	}
.bs_label_overview_1 {
	text-align: center;
	font-family: abel, sans-serif;
	font-size: 12px;
	text-decoration: none;
	color: #C0C0C0;
    background:#393939;
	border-left:5px solid #393939;
	border-right: 5px solid #393939;
	border-bottom: 0px solid #393939;
	border-top: 0px solid #393939;
	border-radius: 1px;
	padding: 0px;
	white-space: nowrap;
	}
.bs_label_overview_1:hover{
    background:#FF931E;
	border-color:#FF931E; 
	color: #202020;
	}
.bs_switch_1 {
  position: relative;
  display: inline-block;
  width: 52px;
  height: 22px;
}

.bs_switch_1 input {
  opacity: 0;
  width: 0;
  height: 0;
}

.bs_switch_slider_1 {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #bc6561;
  -webkit-transition: .4s;
  transition: .4s;
  border: 1px solid #bc6561;
}

.bs_switch_slider_1:before {
  position: absolute;
  content: "";
  height: 18px;
  width: 18px;
  left: 1.25px;
  bottom: 1.25px;
  background-color: white;
  -webkit-transition: .4s;
  transition: .4s;
  box-shadow: 1px 1px 5px 0px #424242;
}
.bs_switch_slider_1:hover {
  border: 1px solid #FF931E;
}



.bs_switch_slider_input_1:checked + .bs_switch_slider_1 {
  background-color: #74af74;
  border: 1px solid #74af74;
}
.bs_switch_slider_input_1:checked:disabled + .bs_switch_slider_1 {
  background-color: #ADADAD;
  border: 1px solid #ADADAD;
}

.bs_switch_slider_input_1:checked:hover + .bs_switch_slider_1 {
  border: 1px solid #FF931E;
}

.bs_switch_slider_input_1:checked + .bs_switch_slider_1:before {
  -webkit-transform: translateX(29.75px);
  -ms-transform: translateX(29.75px);
  transform: translateX(29.75px);
}
	
.bs_switch_slider_1.bs_switch_round_1 {
  border-radius: 24px;
}

.bs_switch_slider_1.bs_switch_round_1:before {
  border-radius: 50%;
}	
.bs_switch_slider_2 {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #525252;
  -webkit-transition: .4s;
  transition: .4s;
  border: 1px solid #6D6D6D;
	/*background-image: url("../images/frame_background_1.png");	
	background-size:  auto;
	background-position: top right;
	background-repeat: no-repeat;*/
}

.bs_switch_slider_2:before {
  position: absolute;
  content: "";
  height: 18px;
  width: 18px;
  left: 1.25px;
  bottom: 1.25px;
  background-color: #B3B3B3;
  -webkit-transition: .4s;
  transition: .4s;
  box-shadow: 1px 1px 5px 0px #424242;
}
.bs_switch_slider_input_2:checked + .bs_switch_slider_2:before {
  background-color: #FFFFFF;
}
.bs_switch_slider_2:hover {
}
.bs_switch_slider_input_2:checked + .bs_switch_slider_2 {
  background-color: #525252;
  border: 1px solid #B1B1B1;
}

.bs_switch_slider_input_2:checked:hover + .bs_switch_slider_2 {
  border: 1px solid #FFFFFF;
}

.bs_switch_slider_input_2:checked + .bs_switch_slider_2:before {
  -webkit-transform: translateX(29.75px);
  -ms-transform: translateX(29.75px);
  transform: translateX(29.75px);
}
.bs_switch_slider_input_3:checked + .bs_switch_slider_2:before {
  background-color: #FFFFFF;
}
.bs_switch_slider_input_3:checked + .bs_switch_slider_2 {
  background-color: #72AE74;
  border: 1px solid #72AE74;
}

.bs_switch_slider_input_3:checked:hover + .bs_switch_slider_2 {
  border: 1px solid #72AE74;
}

.bs_switch_slider_input_3:checked + .bs_switch_slider_2:before {
  -webkit-transform: translateX(29.75px);
  -ms-transform: translateX(29.75px);
  transform: translateX(29.75px);
}	
.bs_switch_slider_2.bs_switch_round_2 {
  border-radius: 24px;
}

.bs_switch_slider_2.bs_switch_round_2:before {
  border-radius: 50%;
}	
.ui-dialog-buttonset button{
	font-size: 23px!important;
	border-style: solid!important;
	border-left-width: 10px!important;
	border-right-width: 10px!important;
	border-bottom-width: 3px!important;
	border-top-width: 3px!important;
	margin-bottom: 5px!important;
	margin-top: 5px!important;
	padding: 0px!important;
	border-radius: 3px!important;
	text-align: center!important;
	color: #FFFFFF!important;
    background:#393939!important;
	border-color:#393939!important;
	text-decoration: none!important;
}	
.ui-dialog-buttonset button:hover{
  	background-color: #FF931E!important; 
	border-color:#FF931E!important;
	color: #454545!important;
	}
.ui-dialog-buttonset {
  	background: none!important; 
	border: none!important;
	}
.ui-dialog-buttonset:hover {
  	background: none!important;
	border: none!important;
	}
.ui-dialog {
	border-radius: 10px !important;
	overflow: visible !important;
	}
.ui-dialog .ui-dialog-titlebar {
	overflow: visible !important;
	margin-bottom: 10px !important;
	}
.ui-dialog .ui-dialog-content {
	padding: 10px !important;
	overflow: visible !important;
	}
.lity-content {
  	overflow-x: hidden;
	overflow-y: auto;
	}
.lity { z-index: 99990 !important; }
.lity-wrap { z-index: 99990 !important; }
.lity-container { z-index: 99992 !important; }
.lity-close { z-index: 99994 !important; }
.polipop { z-index: 9980 !important; }

/* Select2-Dropdown ueber lity-Popup (lity ist 99990+). Voraussetzung: select2
   muss mit dropdownParent: $(document.body) initialisiert werden, sonst
   clippt overflow-y:auto von .bs23_popup_1 / .lity-content das Dropdown. */
.select2-container--open { z-index: 100000 !important; }
	
img {
  display: block;
  max-width: 100%;
}
.modal-lg{
  max-width: 1000px !important;
}
/* The Modal (background) */
.modal {
  display: none; /* Hidden by default */
  position: fixed; /* Stay in place */
  z-index: 1; /* Sit on top */
  left: 0;
  top: 0;
  width: 100%; /* Full width */
  height: 100%; /* Full height */
  overflow: auto; /* Enable scroll if needed */
  background-color: rgba(255,255,255,0.63); /* Fallback color */
}


/* The Close Button */
.close {
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
}

.close:hover,
.close:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}
/* Modal Header */
.modal-header {
  	padding: 2px 16px;
  	background-color: #FFFFFF!important;
  	color: white;
	border-top-right-radius: 5px;
	border-top-left-radius: 5px;
	min-height: 40px;
}

/* Modal Body */
.modal-body {
	padding: 2px 16px;
  	background-color: #FFFFFF!important;

}

/* Modal Footer */
.modal-footer {
  	padding: 2px 16px;
  	background-color: #FFFFFF!important;
  	color: white;	
	border-bottom-right-radius: 5px!important;
	border-bottom-left-radius: 5px!important;
	min-height: 50px;
}

/* Modal Content */
.modal-content {
  position: relative;
  margin: auto;
  border: 1px solid #888;
  width: 80%;
  box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);
  animation-name: animatetop;
  animation-duration: 0.4s
}

/* Add Animation */
@keyframes animatetop {
  from {top: -300px; opacity: 0}
  to {top: 0; opacity: 1}
}
.slidecontainer {
  width: 100%; /* Width of the outside container */
}
.slider_base_2 {
  -webkit-appearance: none;  /* Override default CSS styles */
  appearance: none;
  width: 100%; /* Full-width */
  height: 15px; /* Specified height */
	background-color: white;
  outline: none; /* Remove outline */
transition: all 0.5s ease-in-out;
border-radius: 5px;
box-shadow: rgba(0, 0, 0, 0.05) 0px 6px 24px 0px, rgba(0, 0, 0, 0.08) 0px 0px 0px 1px;
		margin-top: 7px;

}

/* Mouse-over effects */
.slider_base_2:hover {
  opacity: 1; /* Fully shown on mouse-over */

}

/* The slider handle (use -webkit- (Chrome, Opera, Safari, Edge) and -moz- (Firefox) to override default look) */
.slider_base_2::-webkit-slider-thumb {
  	-webkit-appearance: none; /* Override default look */
  	appearance: none;
  	width: 20px; /* Set a specific slider handle width */
  	height: 20px; /* Slider handle height */
  	background: #FFFFFF; /* Green background */
  	cursor: pointer; /* Cursor on hover */
	border-radius: 20px;
	box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
	transition: all 0.2s ease-in-out;
	border: none;
}

.slider_base_2::-moz-range-thumb {
 	width: 30px; /* Set a specific slider handle width */
 	height: 30px; /* Slider handle height */
 	background: #6a9961; /* Green background */
 	cursor: pointer; /* Cursor on hover */
 	border-radius: 15px;
	border: none;
}
.bs23_datatables_image_div_1{
	position: relative;
	height: 105px; 
	width: 150px; 
	border-radius: 8px 0px 0px 8px; 
	border-right: 0.5px solid #E7E7E7;
	background-size:100%;
	background-repeat: no-repeat;
	background-position: center;
}
@media screen and (max-width: 500px) {
    /* Bildspalte (Projekt-Vorschau) ausblenden -> Breite auf 0 */
    .mobile_hide tr td:first-child,
    .mobile_hide_2 tr td:first-child {
        display: none !important;
    }
    .mobile_hide colgroup col:first-child,
    .mobile_hide_2 colgroup col:first-child {
        display: none !important;
    }

    /* 3-Spalten-Karten (mobile_hide): Text nimmt die volle Breite, rechts 55px
       fuer den Pfeil-Button reserviert. Behebt den frueheren Leerraum: die alte
       Rechnung "calc(100% - 270px)" zog die bereits versteckte 150px-Bildspalte
       nochmals ab, und die 120px-Badge-Spalte blieb leer reserviert.
       table-layout:fixed bleibt (verhindert Aufblaehen durch nowrap-Text). */
    .mobile_hide colgroup col:nth-child(2) {
        width: calc(100% - 55px) !important;
    }
    .mobile_hide colgroup col:nth-child(3) {
        width: 55px !important;
    }

    /* 2-Spalten-Karten (mobile_hide_2, z.B. "Projekt hinzufuegen"): Text volle Breite */
    .mobile_hide_2 colgroup col:nth-child(2) {
        width: 100% !important;
    }

    /* Firmen-/Angebots-Badge (3. Spalte, .external_info) ist auf Mobile ausgeblendet */
    .external_info {
        display: none !important;
    }

}

/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */
/* Mobile-Optimierung Tender-Forms (Phase 1)            */
/* Wirkung auf:                                          */
/*  - #createtender (create_tender.blade.php +           */
/*    edit_tender_before_publish.blade.php — beide       */
/*    nutzen denselben Form-ID)                          */
/*  - #edittender (edit_tender.blade.php)                */
/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */
@media (max-width: 1000px) {
    /* #1: Feste col-Breiten in Form-Tabellen aufheben — Tabellen reflowen */
    :is(#createtender, #edittender) table col {
        width: auto !important;
    }
    :is(#createtender, #edittender) table {
        table-layout: auto !important;
    }

    /* #2: Datetime-Picker und Dropdowns volle Breite (überschreibt inline width:150px) */
    :is(#createtender, #edittender) .datetimepicker {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }
    :is(#createtender, #edittender) select.bs_dropdown_1 {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }

    /* Inline width: calc(100% - 25px) auf bs23_input_1.datetimepicker neutralisieren */
    :is(#createtender, #edittender) input.bs23_input_1[style*="calc"] {
        width: 100% !important;
    }

    /* #5: Touch-Targets — Checkbox-Wrapper-Labels bekommen mehr Klickfläche */
    :is(#createtender, #edittender) label.bs23_button_checkbox_3,
    :is(#createtender, #edittender) label.bs23_button_checkbox_1,
    :is(#createtender, #edittender) label.bs23_button_checkbox_2 {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
    }

    /* Form-Inputs mit min-height für bessere Tap-Größe */
    :is(#createtender, #edittender) input[type="text"],
    :is(#createtender, #edittender) input[type="email"],
    :is(#createtender, #edittender) input[type="tel"],
    :is(#createtender, #edittender) input[type="number"],
    :is(#createtender, #edittender) textarea,
    :is(#createtender, #edittender) select {
        min-height: 40px;
        box-sizing: border-box;
    }

    /* Form-Container Innenabstand reduzieren auf Mobile (mehr Platz fürs Formular) */
    :is(#createtender, #edittender) .bs23_frame_2 {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
}

/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */
/* Mobile-Optimierung Tender-Forms (Phase 2)            */
/* Form-Tabellen via Flexbox: Label oben, Inputs flexibel darunter */
/* Sektionen: Titel, Vorgaben, Publikation, Anforderungen, Info, Kontakt */
/* Wirkung auf #createtender + #edittender (s. Phase 1) */
/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */
@media (max-width: 1000px) {
    /* Form-Tabellen werden zu Block-Layout */
    :is(#createtender, #edittender) table.bs23_box_1,
    :is(#createtender, #edittender) table.bs23_box_1d {
        display: block;
        width: 100% !important;
    }

    /* colgroup ausblenden — Spaltenbreiten irrelevant im Flex-Layout */
    :is(#createtender, #edittender) table.bs23_box_1 > colgroup,
    :is(#createtender, #edittender) table.bs23_box_1d > colgroup {
        display: none;
    }

    :is(#createtender, #edittender) table.bs23_box_1 > tbody,
    :is(#createtender, #edittender) table.bs23_box_1d > tbody {
        display: block;
        width: 100%;
    }

    /* Row als Flex-Container — Label bricht via flex-basis 100% um, Rest fliesst inline */
    :is(#createtender, #edittender) table.bs23_box_1 > tr,
    :is(#createtender, #edittender) table.bs23_box_1 > tbody > tr,
    :is(#createtender, #edittender) table.bs23_box_1d > tr,
    :is(#createtender, #edittender) table.bs23_box_1d > tbody > tr {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        column-gap: 8px;
        row-gap: 4px;
        width: 100%;
        margin-bottom: 6px;
        padding: 4px 0;
    }

    /* Default: Cell als Inline-Flex-Item, Auto-Breite */
    :is(#createtender, #edittender) table.bs23_box_1 > tr > td,
    :is(#createtender, #edittender) table.bs23_box_1 > tr > th,
    :is(#createtender, #edittender) table.bs23_box_1 > tbody > tr > td,
    :is(#createtender, #edittender) table.bs23_box_1 > tbody > tr > th,
    :is(#createtender, #edittender) table.bs23_box_1d > tr > td,
    :is(#createtender, #edittender) table.bs23_box_1d > tr > th,
    :is(#createtender, #edittender) table.bs23_box_1d > tbody > tr > td,
    :is(#createtender, #edittender) table.bs23_box_1d > tbody > tr > th {
        flex: 0 1 auto;
        width: auto !important;
        max-width: 100%;
        padding: 0 !important;
        text-align: left !important;
        box-sizing: border-box;
        min-width: 0;
    }

    /* Erste Cell = Label → eigene Zeile (volle Breite) */
    :is(#createtender, #edittender) table.bs23_box_1 > tr > td:first-child,
    :is(#createtender, #edittender) table.bs23_box_1 > tr > th:first-child,
    :is(#createtender, #edittender) table.bs23_box_1 > tbody > tr > td:first-child,
    :is(#createtender, #edittender) table.bs23_box_1 > tbody > tr > th:first-child,
    :is(#createtender, #edittender) table.bs23_box_1d > tr > td:first-child,
    :is(#createtender, #edittender) table.bs23_box_1d > tr > th:first-child,
    :is(#createtender, #edittender) table.bs23_box_1d > tbody > tr > td:first-child,
    :is(#createtender, #edittender) table.bs23_box_1d > tbody > tr > th:first-child {
        flex: 1 1 100%;
    }

    /* Wenn nur 2 Cells (Label + Input) — Input-Cell auch volle Breite */
    :is(#createtender, #edittender) table.bs23_box_1 > tr > td:nth-child(2):last-child,
    :is(#createtender, #edittender) table.bs23_box_1 > tbody > tr > td:nth-child(2):last-child,
    :is(#createtender, #edittender) table.bs23_box_1d > tr > td:nth-child(2):last-child,
    :is(#createtender, #edittender) table.bs23_box_1d > tbody > tr > td:nth-child(2):last-child {
        flex: 1 1 100%;
    }

    /* Bei Multi-Cell-Rows: letzte Cell darf wachsen, damit Inputs Platz haben */
    :is(#createtender, #edittender) table.bs23_box_1 > tr > td:nth-child(n+3):last-child,
    :is(#createtender, #edittender) table.bs23_box_1 > tbody > tr > td:nth-child(n+3):last-child,
    :is(#createtender, #edittender) table.bs23_box_1d > tr > td:nth-child(n+3):last-child,
    :is(#createtender, #edittender) table.bs23_box_1d > tbody > tr > td:nth-child(n+3):last-child {
        flex: 1 1 auto;
        min-width: 100px;
    }

    /* Section-Header (th mit colspan) volle Breite, hervorgehoben */
    :is(#createtender, #edittender) table.bs23_box_1 > tr > th[colspan],
    :is(#createtender, #edittender) table.bs23_box_1 > tbody > tr > th[colspan],
    :is(#createtender, #edittender) table.bs23_box_1d > tr > th[colspan],
    :is(#createtender, #edittender) table.bs23_box_1d > tbody > tr > th[colspan] {
        flex: 1 1 100%;
        padding: 4px 0 !important;
    }

    /* Leere th/td-Cells mit text-align: right verstecken (typische Action-Button-Slots
       mit auskommentierten Info-Buttons). :has() matcht nur Cells mit Funktion */
    :is(#createtender, #edittender) table.bs23_box_1 > tr > th[colspan]:not(:has(label, a, input, button, span, img)),
    :is(#createtender, #edittender) table.bs23_box_1 > tbody > tr > th[colspan]:not(:has(label, a, input, button, span, img)),
    :is(#createtender, #edittender) table.bs23_box_1d > tr > th[colspan]:not(:has(label, a, input, button, span, img)),
    :is(#createtender, #edittender) table.bs23_box_1d > tbody > tr > th[colspan]:not(:has(label, a, input, button, span, img)),
    :is(#createtender, #edittender) table.bs23_box_1 > tr > td[style*="text-align: right"]:not(:has(label, a, input, button, span, img, textarea, select)),
    :is(#createtender, #edittender) table.bs23_box_1 > tbody > tr > td[style*="text-align: right"]:not(:has(label, a, input, button, span, img, textarea, select)),
    :is(#createtender, #edittender) table.bs23_box_1d > tr > td[style*="text-align: right"]:not(:has(label, a, input, button, span, img, textarea, select)),
    :is(#createtender, #edittender) table.bs23_box_1d > tbody > tr > td[style*="text-align: right"]:not(:has(label, a, input, button, span, img, textarea, select)) {
        display: none !important;
    }

    /* Single-Input Cell (zweite und letzte Cell): Input füllt 100% */
    :is(#createtender, #edittender) table.bs23_box_1 > tr > td:nth-child(2):last-child input.bs23_input_1,
    :is(#createtender, #edittender) table.bs23_box_1 > tr > td:nth-child(2):last-child select.bs_dropdown_1,
    :is(#createtender, #edittender) table.bs23_box_1 > tr > td:nth-child(2):last-child textarea,
    :is(#createtender, #edittender) table.bs23_box_1 > tbody > tr > td:nth-child(2):last-child input.bs23_input_1,
    :is(#createtender, #edittender) table.bs23_box_1 > tbody > tr > td:nth-child(2):last-child select.bs_dropdown_1,
    :is(#createtender, #edittender) table.bs23_box_1 > tbody > tr > td:nth-child(2):last-child textarea,
    :is(#createtender, #edittender) table.bs23_box_1d > tr > td:nth-child(2):last-child input.bs23_input_1,
    :is(#createtender, #edittender) table.bs23_box_1d > tr > td:nth-child(2):last-child select.bs_dropdown_1,
    :is(#createtender, #edittender) table.bs23_box_1d > tr > td:nth-child(2):last-child textarea,
    :is(#createtender, #edittender) table.bs23_box_1d > tbody > tr > td:nth-child(2):last-child input.bs23_input_1,
    :is(#createtender, #edittender) table.bs23_box_1d > tbody > tr > td:nth-child(2):last-child select.bs_dropdown_1,
    :is(#createtender, #edittender) table.bs23_box_1d > tbody > tr > td:nth-child(2):last-child textarea {
        width: 100% !important;
        box-sizing: border-box;
    }

    /* Letzte Cell in Multi-Input-Zeilen (n+3): Input füllt 100% des verfügbaren Platzes */
    :is(#createtender, #edittender) table.bs23_box_1 > tr > td:nth-child(n+3):last-child input.bs23_input_1,
    :is(#createtender, #edittender) table.bs23_box_1 > tr > td:nth-child(n+3):last-child select.bs_dropdown_1,
    :is(#createtender, #edittender) table.bs23_box_1 > tbody > tr > td:nth-child(n+3):last-child input.bs23_input_1,
    :is(#createtender, #edittender) table.bs23_box_1 > tbody > tr > td:nth-child(n+3):last-child select.bs_dropdown_1,
    :is(#createtender, #edittender) table.bs23_box_1d > tr > td:nth-child(n+3):last-child input.bs23_input_1,
    :is(#createtender, #edittender) table.bs23_box_1d > tr > td:nth-child(n+3):last-child select.bs_dropdown_1,
    :is(#createtender, #edittender) table.bs23_box_1d > tbody > tr > td:nth-child(n+3):last-child input.bs23_input_1,
    :is(#createtender, #edittender) table.bs23_box_1d > tbody > tr > td:nth-child(n+3):last-child select.bs_dropdown_1 {
        width: 100% !important;
        box-sizing: border-box;
    }

    /* Mittlere Inputs in Multi-Cell-Rows (z.B. "112" in Titel, "exfrom" in Ausführung)
       — schmale, feste Breite, damit "112 - Altlasten" auf einer Zeile bleibt */
    :is(#createtender, #edittender) table.bs23_box_1 > tr > td:not(:first-child):not(:last-child) input.bs23_input_1,
    :is(#createtender, #edittender) table.bs23_box_1 > tbody > tr > td:not(:first-child):not(:last-child) input.bs23_input_1,
    :is(#createtender, #edittender) table.bs23_box_1d > tr > td:not(:first-child):not(:last-child) input.bs23_input_1,
    :is(#createtender, #edittender) table.bs23_box_1d > tbody > tr > td:not(:first-child):not(:last-child) input.bs23_input_1 {
        width: 100px !important;
        max-width: 100%;
        box-sizing: border-box;
    }

    /* Textareas füllen IMMER 100% (sind sowieso einzige in ihrer Cell) */
    :is(#createtender, #edittender) table.bs23_box_1 textarea,
    :is(#createtender, #edittender) table.bs23_box_1d textarea {
        width: 100% !important;
        box-sizing: border-box;
    }

    /* Versteckte Rows (display:none beibehalten — z.B. simap-Feld in Info) */
    :is(#createtender, #edittender) table.bs23_box_1 > tr[style*="display:none"],
    :is(#createtender, #edittender) table.bs23_box_1 > tr[style*="display: none"],
    :is(#createtender, #edittender) table.bs23_box_1 > tbody > tr[style*="display:none"],
    :is(#createtender, #edittender) table.bs23_box_1 > tbody > tr[style*="display: none"],
    :is(#createtender, #edittender) table.bs23_box_1d > tr[style*="display:none"],
    :is(#createtender, #edittender) table.bs23_box_1d > tr[style*="display: none"],
    :is(#createtender, #edittender) table.bs23_box_1d > tbody > tr[style*="display:none"],
    :is(#createtender, #edittender) table.bs23_box_1d > tbody > tr[style*="display: none"] {
        display: none !important;
    }

    /* Lock-Indikatoren bleiben inline */
    :is(#createtender, #edittender) .bs23_cond_lock_0 {
        display: inline-block;
        vertical-align: middle;
        margin-right: 6px;
    }

    /* offer_form-Row: spezielle 3-Cell-Struktur — Label | offer_form_focus Liste | Lock-Toggle (is_offer_form).
       Standard Phase-2-Layout: Label auf eigene Zeile, Liste+Lock daneben — Lock landet "schwebend" rechts.
       Fix: Label + Lock in oberster Zeile (wie Desktop), Liste in eigener Zeile DARUNTER via flex order. */
    :is(#createtender, #edittender) table.bs23_box_1 > tr:has(#offer_form_focus) > td:first-child,
    :is(#createtender, #edittender) table.bs23_box_1 > tbody > tr:has(#offer_form_focus) > td:first-child {
        flex: 1 1 0 !important;
        min-width: 0;
    }
    :is(#createtender, #edittender) table.bs23_box_1 > tr:has(#offer_form_focus) > td:has(#offer_form_focus),
    :is(#createtender, #edittender) table.bs23_box_1 > tbody > tr:has(#offer_form_focus) > td:has(#offer_form_focus) {
        flex: 1 1 100% !important;
        order: 2;
    }
    :is(#createtender, #edittender) table.bs23_box_1 > tr:has(#offer_form_focus) > td:has(label.bs_button_checkbox_2),
    :is(#createtender, #edittender) table.bs23_box_1 > tbody > tr:has(#offer_form_focus) > td:has(label.bs_button_checkbox_2) {
        flex: 0 0 auto !important;
        order: 1;
        text-align: right !important;
    }
    /* Inline `margin-top: 15px` aus dem Wrapper-Div neutralisieren */
    :is(#createtender, #edittender) table.bs23_box_1 > tr:has(#offer_form_focus) > td > div[style*="margin-top:15px"],
    :is(#createtender, #edittender) table.bs23_box_1 > tr:has(#offer_form_focus) > td > div[style*="margin-top: 15px"] {
        margin-top: 0 !important;
    }

    /* Erlaubte Angebotsarten — Checkbox-Liste (#offer_form_focus)
       Phase 1 hat auch hier col-Breiten resettet → Checkbox klebte am Label.
       Wiederherstellung der 35px-Checkbox-Spalte + Padding + Zeilen-Abstand */
    :is(#createtender, #edittender) #offer_form_focus {
        table-layout: fixed !important;
    }
    :is(#createtender, #edittender) #offer_form_focus col:first-child {
        width: 35px !important;
    }
    :is(#createtender, #edittender) #offer_form_focus td:first-child {
        width: 35px !important;
        padding-right: 8px !important;
        vertical-align: middle !important;
    }
    :is(#createtender, #edittender) #offer_form_focus td:nth-child(2) {
        padding-left: 4px !important;
        vertical-align: middle !important;
    }
    :is(#createtender, #edittender) #offer_form_focus tr {
        border-bottom: none;
    }
    :is(#createtender, #edittender) #offer_form_focus tr > td {
        padding-top: 6px !important;
        padding-bottom: 6px !important;
    }

    /* Toggle-Rows in Erweiterte Einstellungen: Label + Checkbox auf EINER Zeile.
       Override für Rows die einen `label.bs23_button_checkbox_3` (Toggle-Checkbox) enthalten.
       Ohne diesen Override würde das Label durch flex 1 1 100% auf eigene Zeile gehen. */
    :is(#createtender, #edittender) table.bs23_box_1 > tr:has(label.bs23_button_checkbox_3) > td:first-child,
    :is(#createtender, #edittender) table.bs23_box_1 > tbody > tr:has(label.bs23_button_checkbox_3) > td:first-child,
    :is(#createtender, #edittender) table.bs23_box_1d > tr:has(label.bs23_button_checkbox_3) > td:first-child,
    :is(#createtender, #edittender) table.bs23_box_1d > tbody > tr:has(label.bs23_button_checkbox_3) > td:first-child {
        flex: 1 1 0 !important;
        min-width: 0;
    }

    /* Checkbox-Cell (zweite Cell mit Toggle): rechts, content-sized.
       Als Flex-Container damit der innere 30x30 Toggle-Label vertikal mittig in der Cell sitzt. */
    :is(#createtender, #edittender) table.bs23_box_1 > tr:has(label.bs23_button_checkbox_3) > td:nth-child(2),
    :is(#createtender, #edittender) table.bs23_box_1 > tbody > tr:has(label.bs23_button_checkbox_3) > td:nth-child(2),
    :is(#createtender, #edittender) table.bs23_box_1d > tr:has(label.bs23_button_checkbox_3) > td:nth-child(2),
    :is(#createtender, #edittender) table.bs23_box_1d > tbody > tr:has(label.bs23_button_checkbox_3) > td:nth-child(2) {
        flex: 0 0 auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
    }

    /* Cell 3 (falls vorhanden, z.B. Datum-Input bei publish) → eigene Zeile darunter */
    :is(#createtender, #edittender) table.bs23_box_1 > tr:has(label.bs23_button_checkbox_3) > td:nth-child(3),
    :is(#createtender, #edittender) table.bs23_box_1 > tbody > tr:has(label.bs23_button_checkbox_3) > td:nth-child(3),
    :is(#createtender, #edittender) table.bs23_box_1d > tr:has(label.bs23_button_checkbox_3) > td:nth-child(3),
    :is(#createtender, #edittender) table.bs23_box_1d > tbody > tr:has(label.bs23_button_checkbox_3) > td:nth-child(3) {
        flex: 1 1 100% !important;
        min-width: 0;
    }

    /* Spezialfall managetemplate / edit_template: Cell 3 ist ein Lock-Toggle (bs_button_checkbox_2 — Schloss-Symbol).
       Soll INLINE rechts neben Cell 2 stehen (NICHT eigene Zeile wie das publish_option Datum-Input).
       Override des vorigen flex:1 1 100%. Flex-Container für vertikale Zentrierung des inneren Labels. */
    :is(#createtender, #edittender) table.bs23_box_1 > tr:has(label.bs23_button_checkbox_3) > td:nth-child(3):has(label.bs_button_checkbox_2),
    :is(#createtender, #edittender) table.bs23_box_1 > tbody > tr:has(label.bs23_button_checkbox_3) > td:nth-child(3):has(label.bs_button_checkbox_2),
    :is(#createtender, #edittender) table.bs23_box_1d > tr:has(label.bs23_button_checkbox_3) > td:nth-child(3):has(label.bs_button_checkbox_2),
    :is(#createtender, #edittender) table.bs23_box_1d > tbody > tr:has(label.bs23_button_checkbox_3) > td:nth-child(3):has(label.bs_button_checkbox_2) {
        flex: 0 0 auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
    }

    /* Mobile-only: ALLE Lock-Toggles (bs_button_checkbox_2) im Form normalisieren.
       Original-CSS positioniert das _check-Span mit `position: absolute; top: -12px` 12px ÜBER dem Label-Top —
       für Desktop-Tabellen-Cells designed (ragt in die Cell darüber).
       Im Mobile-Flex-Layout führt das zu schwebenden Schloss-Symbolen oberhalb von Sektionen
       (z.B. einsames Schloss vor "Erweiterte Einstellungen"-Header).
       Fix: Label bekommt explizite Größe (30x30 = touch-friendly), Span vertikal+horizontal zentriert. */
    :is(#createtender, #edittender) label.bs_button_checkbox_2 {
        display: inline-block !important;
        width: 30px;
        height: 30px;
        padding-left: 0 !important;
        vertical-align: middle;
        position: relative;
    }

    /* Identisch positioniert wie .bs23_button_checkbox_3_check (Wert-Toggle, top:0/left:0)
       — damit Schloss + Häkchen vertikal exakt auf gleicher Höhe sitzen.
       Border entfernen (Original hat `border: 2px solid transparent` für Hover) — der Border
       würde mit `background-size: 120%` die Image-Skalierung relativ zur padding-box
       verschieben (=26x26 statt 30x30 → SVG kleiner und an anderer Y-Position als Häkchen). */
    :is(#createtender, #edittender) label.bs_button_checkbox_2 > .bs_button_checkbox_2_check {
        top: 0 !important;
        left: 0 !important;
        transform: none !important;
        width: 30px !important;
        height: 30px !important;
        border: none !important;
        background-size: 120% !important;
        background-repeat: no-repeat;
        background-position: center;
    }

    /* Optische Korrektur: Schloss-SVG (checkbox_1*.svg, viewBox 300x200) hat anderes Aspect-Ratio
       als Häkchen-SVG (checkbox_3*.svg, viewBox 480x480) → optisch 5px tiefer.
       Override NUR für Erweiterte-Einstellungen-Toggles (Cell 3 in bs23_button_checkbox_3-Rows). */
    :is(#createtender, #edittender) table.bs23_box_1 > tr:has(label.bs23_button_checkbox_3) > td:nth-child(3) > label.bs_button_checkbox_2 > .bs_button_checkbox_2_check,
    :is(#createtender, #edittender) table.bs23_box_1 > tbody > tr:has(label.bs23_button_checkbox_3) > td:nth-child(3) > label.bs_button_checkbox_2 > .bs_button_checkbox_2_check,
    :is(#createtender, #edittender) table.bs23_box_1d > tr:has(label.bs23_button_checkbox_3) > td:nth-child(3) > label.bs_button_checkbox_2 > .bs_button_checkbox_2_check,
    :is(#createtender, #edittender) table.bs23_box_1d > tbody > tr:has(label.bs23_button_checkbox_3) > td:nth-child(3) > label.bs_button_checkbox_2 > .bs_button_checkbox_2_check {
        top: -5px !important;
    }

    /* Toggle-Rows kompakter (weniger vertikales Padding) */
    :is(#createtender, #edittender) table.bs23_box_1 > tr:has(label.bs23_button_checkbox_3),
    :is(#createtender, #edittender) table.bs23_box_1 > tbody > tr:has(label.bs23_button_checkbox_3),
    :is(#createtender, #edittender) table.bs23_box_1d > tr:has(label.bs23_button_checkbox_3),
    :is(#createtender, #edittender) table.bs23_box_1d > tbody > tr:has(label.bs23_button_checkbox_3) {
        padding: 6px 0;
        margin-bottom: 0;
        column-gap: 12px;
        min-height: 36px;
    }

    /* Toggle-Checkbox: Label braucht explizite 30x30 Größe für saubere Flex-Zentrierung,
       sonst kollabiert sie auf 0px (weil .bs23_button_checkbox_3_check position:absolute ist) */
    :is(#createtender, #edittender) table.bs23_box_1 > tr:has(label.bs23_button_checkbox_3) > td > label.bs23_button_checkbox_3,
    :is(#createtender, #edittender) table.bs23_box_1 > tbody > tr:has(label.bs23_button_checkbox_3) > td > label.bs23_button_checkbox_3,
    :is(#createtender, #edittender) table.bs23_box_1d > tr:has(label.bs23_button_checkbox_3) > td > label.bs23_button_checkbox_3,
    :is(#createtender, #edittender) table.bs23_box_1d > tbody > tr:has(label.bs23_button_checkbox_3) > td > label.bs23_button_checkbox_3 {
        display: inline-block !important;
        width: 30px;
        height: 30px;
        padding-left: 0 !important;
        margin: 0;
        vertical-align: middle;
    }

    /* Visual-Span (das X/✓-Icon) korrekt positionieren — top:-15px ist für klassisches
       table-cell-Layout, im Flex-Layout muss sie auf 0 (passt zur 30px Label-Höhe) */
    :is(#createtender, #edittender) table.bs23_box_1 .bs23_button_checkbox_3_check,
    :is(#createtender, #edittender) table.bs23_box_1d .bs23_button_checkbox_3_check {
        top: 0 !important;
    }

    /* publish_option Toggle-Row: Cell 3 (Datum-Input) nur sichtbar wenn Checkbox checked.
       Reaktiv via :checked-State — vermeidet Leerraum bei unchecked.
       AUSNAHME: in managetemplate/edit_template ist Cell 3 ein Lock-Toggle (bs_button_checkbox_2),
       NICHT der Datum-Input — dort soll das Schloss auch bei unchecked sichtbar bleiben.
       Daher `:not(:has(label.bs_button_checkbox_2))` ausschließen. */
    :is(#createtender, #edittender) table.bs23_box_1 > tr:has(input.is_publish_option:not(:checked)) > td:nth-child(3):not(:has(label.bs_button_checkbox_2)),
    :is(#createtender, #edittender) table.bs23_box_1 > tbody > tr:has(input.is_publish_option:not(:checked)) > td:nth-child(3):not(:has(label.bs_button_checkbox_2)),
    :is(#createtender, #edittender) table.bs23_box_1d > tr:has(input.is_publish_option:not(:checked)) > td:nth-child(3):not(:has(label.bs_button_checkbox_2)),
    :is(#createtender, #edittender) table.bs23_box_1d > tbody > tr:has(input.is_publish_option:not(:checked)) > td:nth-child(3):not(:has(label.bs_button_checkbox_2)) {
        display: none !important;
    }

    /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */
    /* Ausschreibungsunterlagen — Dokument-Tiles            */
    /* (statisch + dynamisch via JS appended in #showdocuments) */
    /* Strategie: Tabelle zu Flex umbauen via display:contents */
    /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */

    /* Tile als Flex-Container mit Wrap — Icons oben, Content darunter */
    :is(#createtender, #edittender) table.bs23_box_tender_documents_1,
    :is(#createtender, #edittender) table.bs23_box_tender_documents_1d,
    :is(#createtender, #edittender) table.bs23_box_tender_documents_2 {
        display: flex !important;
        flex-wrap: wrap;
        align-items: center;
        column-gap: 8px;
        row-gap: 0;
        padding: 14px !important;
        margin-top: 24px !important; /* mehr Platz oben für absolute Badge */
        margin-bottom: 8px !important;
        border-radius: 8px;
        position: relative;
        box-sizing: border-box;
    }

    /* colgroup ausblenden */
    :is(#createtender, #edittender) table.bs23_box_tender_documents_1 > colgroup,
    :is(#createtender, #edittender) table.bs23_box_tender_documents_1d > colgroup,
    :is(#createtender, #edittender) table.bs23_box_tender_documents_2 > colgroup {
        display: none !important;
    }

    /* tbody und tr durchlässig — Cells werden direkt zu Flex-Items */
    :is(#createtender, #edittender) table.bs23_box_tender_documents_1 > tbody,
    :is(#createtender, #edittender) table.bs23_box_tender_documents_1d > tbody,
    :is(#createtender, #edittender) table.bs23_box_tender_documents_2 > tbody,
    :is(#createtender, #edittender) table.bs23_box_tender_documents_1 tr,
    :is(#createtender, #edittender) table.bs23_box_tender_documents_1d tr,
    :is(#createtender, #edittender) table.bs23_box_tender_documents_2 tr {
        display: contents;
    }

    /* TD 1: Delete (X) — Cell nimmt keinen Platz, X wird absolut an der Tile-Ecke positioniert */
    :is(#createtender, #edittender) table.bs23_box_tender_documents_1 td:nth-child(1),
    :is(#createtender, #edittender) table.bs23_box_tender_documents_1d td:nth-child(1),
    :is(#createtender, #edittender) table.bs23_box_tender_documents_2 td:nth-child(1) {
        flex: 0 0 0 !important;
        width: 0 !important;
        min-width: 0;
        background: transparent !important;
        padding: 0 !important;
    }

    /* Inner Wrapper-Div mit inline `position: relative` neutralisieren —
       sonst hängt sich der absolute X-Button an diesen Wrapper statt an die Tile */
    :is(#createtender, #edittender) table.bs23_box_tender_documents_1 td:nth-child(1) > div,
    :is(#createtender, #edittender) table.bs23_box_tender_documents_1d td:nth-child(1) > div,
    :is(#createtender, #edittender) table.bs23_box_tender_documents_2 td:nth-child(1) > div {
        position: static !important;
    }

    /* TD 2 — orange Tile (Pflichtdokument): Download-Button direkt unter Datei, links ausgerichtet */
    :is(#createtender, #edittender) table.bs23_box_tender_documents_1 td:nth-child(2),
    :is(#createtender, #edittender) table.bs23_box_tender_documents_1d td:nth-child(2) {
        order: 99;
        flex: 0 0 100% !important;
        background: transparent !important;
        padding: 0 !important;
        margin-top: 0;
        margin-bottom: 0;
        text-align: left !important;
    }

    /* TD 2 — blaue Tile (Einzureichende Dokumente): icon hat keine Funktion → komplett ausblenden */
    :is(#createtender, #edittender) table.bs23_box_tender_documents_2 td:nth-child(2) {
        display: none !important;
    }

    /* TD 3: Hauptinhalt — VOLLE BREITE auf eigener Zeile (wraps via flex-basis 100%) */
    :is(#createtender, #edittender) table.bs23_box_tender_documents_1 td:nth-child(3),
    :is(#createtender, #edittender) table.bs23_box_tender_documents_1d td:nth-child(3),
    :is(#createtender, #edittender) table.bs23_box_tender_documents_2 td:nth-child(3) {
        flex: 1 1 100%;
        min-width: 0;
        max-width: none !important;
        background: transparent !important;
        padding: 0 !important;
        text-align: left !important;
        margin-top: 0;
    }

    /* Cloud-Icon ausblenden (Mobile) — bleibt als Anchor erhalten, aber visuell nur Button */
    /* Orange Tile (_1) UND graue Tile (_4) — Anchor wird zu kleinem Download-Button */
    :is(#createtender, #edittender) .bs23_box_tender_uploaded_1,
    :is(#createtender, #edittender) .bs23_box_tender_uploaded_4 {
        display: inline-block !important;
        width: auto !important;
        height: auto !important;
        padding: 3px 12px !important;
        margin: 0 !important;
        background-image: none !important;
        background-color: white !important;
        border-radius: 4px;
        text-decoration: none !important;
        font-weight: bold;
        font-size: 12px;
        line-height: 1.4;
        min-height: 0;
        min-width: 0;
        box-sizing: border-box;
    }
    /* Orange Tile: Button-Text orange */
    :is(#createtender, #edittender) .bs23_box_tender_uploaded_1 {
        color: #FF931E !important;
    }
    /* Graue Tile: Button-Text dunkelgrau (passt zu grauem Tile-Theme) */
    :is(#createtender, #edittender) .bs23_box_tender_uploaded_4 {
        color: #424141 !important;
    }
    :is(#createtender, #edittender) .bs23_box_tender_uploaded_1::before,
    :is(#createtender, #edittender) .bs23_box_tender_uploaded_4::before {
        content: "Download";
    }
    :is(#createtender, #edittender) .bs23_box_tender_uploaded_1:hover {
        background-color: #FFE9D2 !important;
        background-image: none !important;
    }
    :is(#createtender, #edittender) .bs23_box_tender_uploaded_4:hover {
        background-color: #E8E8E8 !important;
        background-image: none !important;
    }

    /* Blaue Tile-Icon (bs23_box_tender_uploaded_2) — wird mit Cell 2 versteckt, hier nochmal explizit */
    :is(#createtender, #edittender) .bs23_box_tender_uploaded_2 {
        display: none !important;
    }

    /* Cell 3 Wrapper-Div (orange Tile): column-reverse → Titel+Dropdown OBEN, Datei DARUNTER */
    :is(#createtender, #edittender) .bs23_box_tender_uploaded_3 {
        width: 100% !important;
        display: flex !important;
        flex-direction: column-reverse;
    }

    /* Blaue Tile (bs23_box_tender_documents_2): kein .bs23_box_tender_uploaded_3 Wrapper —
       Floats liegen direkt in TD3. column-reverse auf TD3 → Titel+Dropdown oben, Label darunter */
    :is(#createtender, #edittender) table.bs23_box_tender_documents_2 td:nth-child(3) {
        display: flex !important;
        flex-direction: column-reverse;
    }

    /* Float-Layout auflösen — alle direkten Float-Divs als Block (orange + blau) */
    :is(#createtender, #edittender) .bs23_box_tender_uploaded_3 > div,
    :is(#createtender, #edittender) .bs23_box_tender_uploaded_3 > p,
    :is(#createtender, #edittender) table.bs23_box_tender_documents_2 td:nth-child(3) > div {
        float: none !important;
        width: 100% !important;
        margin-bottom: 0 !important;
    }

    /* Datei-Label (visuell unten in column-reverse) — kein margin-bottom mehr.
       Auch direkt in TD3 der blauen Tile (edit_tender) für "Zwingend..."-Label */
    :is(#createtender, #edittender) .bs23_box_tender_uploaded_3 .bs23_label_size_1,
    :is(#createtender, #edittender) table.bs23_box_tender_documents_2 td:nth-child(3) > label.bs23_label_size_1 {
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Filename darf wrappen */
    :is(#createtender, #edittender) .bs23_box_tender_uploaded_3 .bs23_label_size_1 {
        word-break: break-word;
        white-space: normal;
    }

    /* Editable-Select Wrapper + Plugin-Input volle Breite (verhindert Truncation) */
    :is(#createtender, #edittender) .select-editable {
        position: relative;
        width: 100% !important;
        display: block;
    }
    :is(#createtender, #edittender) .select-editable input.es-input {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 32px;
        box-sizing: border-box !important;
        padding: 6px 24px 6px 8px !important;
        background-color: rgba(255,255,255,0.15);
        border: 1px solid rgba(255,255,255,0.3);
        border-radius: 4px;
        color: white;
    }

    /* Native Input/Select (in edit_tender) und native Select (allgemein) als Input-Look stylen.
       In create_tender ersetzt editableSelect → .es-input. In edit_tender bleibt nativer
       <input>/<select> sichtbar, daher hier zusätzliche Styling-Pass für Konsistenz.
       bs23_dropdown_upload_1 = orange Tile (Pflichtdokument)
       bs_dropdown_obligation_2 = blaue Tile (Einzureichende Dokumente) */
    :is(#createtender, #edittender) input.bs23_dropdown_upload_1,
    :is(#createtender, #edittender) select.bs23_dropdown_upload_1,
    :is(#createtender, #edittender) select.bs_dropdown_obligation_2 {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 32px;
        box-sizing: border-box !important;
        padding: 6px 8px !important;
        background-color: rgba(255, 255, 255, 0.15) !important;
        border: 1px solid rgba(255, 255, 255, 0.3) !important;
        border-radius: 4px;
        color: white !important;
        appearance: none;
        -webkit-appearance: none;
    }

    /* In edit_tender / edit_tender_before_publish ist der Titel im blauen Tile ein
       <label class="bs_dropdown_obligation_2"> (kein <select>) — als Input-Look stylen,
       damit es konsistent mit dem editierbaren .es-input aussieht.
       display:flex + align-items:center → Text vertikal zentriert */
    :is(#createtender, #edittender) label.bs_dropdown_obligation_2 {
        display: flex !important;
        align-items: center;
        width: 100% !important;
        min-height: 32px;
        box-sizing: border-box !important;
        padding: 6px 8px !important;
        margin: 4px 0 0 0 !important;
        background-color: rgba(255, 255, 255, 0.15);
        border: 1px solid rgba(255, 255, 255, 0.3);
        border-radius: 4px;
        color: white !important;
        font-weight: normal !important;
        line-height: 1.3;
    }
    /* Leere Labels ausblenden — Blade rendert für jeden $downloadlist-Eintrag ein <label>,
       aber nur das mit Category-Match hat Text. Alle anderen sind leer. */
    :is(#createtender, #edittender) label.bs_dropdown_obligation_2:empty {
        display: none !important;
    }

    /* In blauer Tile (edit_tender): <br> und leeres <p class="bs23_label_p"> entfernen,
       damit der Abstand zwischen Box und "Zwingend..."-Text gleich wie in create_tender ist */
    :is(#createtender, #edittender) table.bs23_box_tender_documents_2 td:nth-child(3) > br {
        display: none !important;
    }
    :is(#createtender, #edittender) table.bs23_box_tender_documents_2 td:nth-child(3) > p.bs23_label_p:empty,
    :is(#createtender, #edittender) table.bs23_box_tender_documents_2 td:nth-child(3) > p:empty {
        display: none !important;
    }
    :is(#createtender, #edittender) table.bs23_box_tender_documents_2 td:nth-child(3) > p {
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Pflichtdokument-Badge: absolute position relativ zum TILE (Tabelle), oben mittig/rechts —
       wie in der PC-Version. Dazu copy_1 auf static damit copy_2 sich an die Tabelle hängt. */
    :is(#createtender, #edittender) .bs_box_tender_copy_1 {
        position: static !important;
        margin: 0;
    }
    :is(#createtender, #edittender) .bs_box_tender_copy_2 {
        position: absolute !important;
        top: -14px !important;
        left: 0 !important;
        right: auto !important;
        padding: 3px 12px !important;
        font-size: 11px;
        z-index: 2;
    }

    /* Delete-X-Button: absolute relativ zum TILE (Tabelle), oben rechts in der Ecke (5px) */
    :is(#createtender, #edittender) table.bs23_box_tender_documents_1 .bs23_box_tender_add_delete_2,
    :is(#createtender, #edittender) table.bs23_box_tender_documents_1d .bs23_box_tender_add_delete_2,
    :is(#createtender, #edittender) table.bs23_box_tender_documents_2 .bs23_box_tender_add_delete_2 {
        position: absolute !important;
        top: 5px !important;
        right: 5px !important;
        left: auto !important;
        z-index: 3;
    }

    /* "Ungültig"-Badge auf grauer Tile (status=1) — visuell wie Pflichtdokument auf orange,
       oben links aus dem Tile rausragend. Reines CSS-Pseudo, ohne Funktion.
       Gleiches Grau wie die Tile (#CFCFCF), Schrift dunkel wie der Titel-Text */
    :is(#createtender, #edittender) table.bs23_box_tender_documents_1d::before {
        content: "Ungültig";
        position: absolute;
        top: -14px;
        left: 0;
        padding: 4px 12px;
        font-size: 11px;
        font-weight: normal;
        color: #323232;
        background-color: #CFCFCF;
        border: 2px solid #CFCFCF;
        border-top-left-radius: 5px;
        border-top-right-radius: 5px;
        z-index: 2;
        font-family: abel, sans-serif;
        line-height: 1.2;
    }
}

/* =========================================================
   Section-Kopfzeile — die weisse Titelzeile ueber einem Inhaltsblock
   Verwendet in: resources/views/lv/editor.blade.php (Leistungsverzeichnis),
                 resources/views/lv/measurement.blade.php (Ausmass)
   Beispiel-Markup:
     <div class="cg-section">
       <div class="cg-section-header cg-section-header-static open">
         <label>Ausmass</label>
         <div class="cg-section-header-actions"> … Icon-Knoepfe … </div>
       </div>
       <div class="cg-section-body"> … Inhalt … </div>
     </div>

   ⚠⚠ STAND BIS 18.09.2026 NUR IM <style>-BLOCK DES LV-EDITORS. Als das
   Ausmass dieselbe Zeile bekam, waere daraus eine zweite Kopie geworden —
   und zwei Kopien laufen auseinander. Darum hier, einmal, fuer beide.
   ⚠ `.cg-section` selbst ist NICHT hier: der Editor braucht darunter
   700px Luft fuer seine Dropdowns, das Ausmass nicht. Ein Abstand ist
   Sache der Seite, die Kopfzeile nicht.
   ========================================================= */
.cg-section-header {
    padding: 10px 15px;
    background: #fff;
    border-radius: 10px;
    box-shadow: rgba(0, 0, 0, 0.05) 0px 6px 24px 0px, rgba(0, 0, 0, 0.08) 0px 0px 0px 1px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    user-select: none;
    transition: all 0.3s ease-in-out;
}
.cg-section-header:hover { background: #FEFFFE; }
.cg-section-header.open {
    border-radius: 10px 10px 0 0;
    background: #FEFFFE;
}
.cg-section-header label {
    font-family: abel, sans-serif;
    font-size: 20px;
    color: #323232;
    cursor: pointer;
    /* ⚠ Der Klick gehoert der ZEILE (sie klappt auf), nicht der Beschriftung —
       sonst faengt ein Doppelklick auf den Titel an, Text zu markieren. */
    pointer-events: none;
}
.cg-section-body {
    display: none;
    padding: 15px;
    background: #fff;
    border-radius: 0 0 10px 10px;
    box-shadow: rgba(0, 0, 0, 0.05) 0px 6px 24px 0px, rgba(0, 0, 0, 0.08) 0px 0px 0px 1px;
}
/* Statischer Header (z.B. «Leistungsverzeichnis», «Ausmass») — kein Cursor,
   kein Hover, immer offen. */
.cg-section-header-static { cursor: default; }
.cg-section-header-static:hover { background: #fff; }
/* ⚠ Ohne diese Regel bliebe der Body auf `display:none` stehen, bis ein
   JS-Aufruf den Zustand aus dem localStorage liest — auf einer Seite ohne
   dieses JS (Ausmass) also fuer immer. */
.cg-section-header-static.open + .cg-section-body { display: block; }
/* Die Knoepfe rechts in der Kopfzeile, vertikal mittig. */
.cg-section-header-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
}
.cg-section-header-actions .lv-title-version-wrap { margin-left: 0; }

/* =========================================================
   LV-Topbar Buttons — Settings-Zahnrad und verwandte Trigger
   Verwendet in: resources/views/lv/editor.blade.php
   Beispiel-Markup:
     <button class="lv-topbar-btn lv-topbar-settings-btn">
        <svg class="lv-topbar-icon" ...>...</svg>
     </button>
   ========================================================= */
.lv-topbar-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    height: 38px;
    padding: 0 16px;
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 8px;
    font-family: abel, sans-serif;
    font-size: 16px;
    color: #4d4d4d;
    cursor: pointer;
    position: relative;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
    transition: border-color 0.18s, background-color 0.18s, color 0.18s, box-shadow 0.18s;
}
.lv-topbar-btn:hover {
    border-color: var(--bs_green_1, #72AE74);
    background: #f5faf5;
    color: var(--bs_green_1, #72AE74);
    box-shadow: 0 2px 6px rgba(114, 174, 116, 0.18);
}
.lv-topbar-btn .lv-topbar-icon {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    stroke: currentColor;
    color: #9ca3af;
    transition: color 0.18s, background-color 0.18s;
}
.lv-topbar-btn:hover .lv-topbar-icon { color: inherit; }

/* ---------------------------------------------------------------
   Die Maskenfassung des Topbar-Icons — ein leeres <span>, die Datei
   kommt aus --lv-icon.

   WARUM MASKE UND NICHT <img>: die Icons unter /images zeichnen mit
   `stroke="currentColor"`. In einem <img> ist das eine eigene, fremde
   Zeichnung — currentColor greift dort nicht, das Icon bleibt in seiner
   Dateifarbe stehen und macht den Hover nicht mit. Genau das war beim
   Zahnrad des LV-Editors der Fall: ein <img src="icon_settings_2.svg">
   mit fest eingebackenem #9ca3af, das als einziges der vier Icons beim
   Ueberfahren grau blieb.
   Eine Maske nimmt nur die Form; die Farbe kommt aus `background-color`,
   und mit `currentColor` haengt sie an derselben `color`-Kette wie ein
   echter <svg>-Knoten. Die Hover-Regel darueber gilt damit fuer beide
   Fassungen unveraendert.

   WARUM KEIN INLINE-SVG: siehe /design, Abschnitt 8b — inline erlaubt
   sind nur die 12 dort gefuehrten Muster (chevron, plus, trash, …). Alles
   andere gehoert als .svg unter /images, damit es in der Inventur steht
   und nicht in vier Blades vierfach gepflegt wird.
   --------------------------------------------------------------- */
.lv-topbar-btn span.lv-topbar-icon {
    display: block;
    background-color: currentColor;
    -webkit-mask: var(--lv-icon) no-repeat center / contain;
            mask: var(--lv-icon) no-repeat center / contain;
}
/* Welche Datei — je Bedeutung eine Klasse. Alle stammen aus der Inventur
   auf /design (Abschnitt 8c) und waren dort bis auf das Zahnrad unbenutzt.
   ⚠ Es gab kurz ein `.lv-topbar-icon-measurement` fuer einen vierten Knopf
   «zum Ausmass». Der Knopf ist am 18.09.2026 wieder entfernt worden — den
   Seitenwechsel macht der zentrierte Umschalter, nicht diese Leiste — und
   die Klasse mit ihm: eine Regel, die nichts mehr faerbt, liesse ihr Icon
   in der Inventur faelschlich als benutzt gelten. */
.lv-topbar-icon-history     { --lv-icon: url('/images/icon_history_1.svg'); }
.lv-topbar-icon-log         { --lv-icon: url('/images/icon_report_controlling.svg'); }
.lv-topbar-icon-settings    { --lv-icon: url('/images/icon_settings.svg'); }

/* Der quadratische Icon-Knopf: gleich hoch wie ein Knopf mit Beschriftung,
   aber genauso breit wie hoch. ⚠ `.lv-topbar-settings-btn` bleibt als
   zweiter Name bestehen — /design fuehrt ihn so, und die Inventur zeigt
   darauf. */
.lv-topbar-icon-btn,
.lv-topbar-settings-btn {
    width: 38px;
    padding: 0;
    justify-content: center;
    flex: 0 0 auto;
}

/* =========================================================
   LV-Settings-Popup (Lity-Popup mit Tabs + Sektionen)
   Verwendet in: resources/views/lv/editor.blade.php (#lv-settings-popup)
   Markup: <div class="lity-hide bs23_popup_1 lv-settings-popup" id="...">
             <div class="lv-settings-tabs"> ... </div>
             <div class="lv-settings-tab-pane is-active"> ... </div>
           </div>
   ========================================================= */
.lv-settings-popup {
    background: #fff;
    max-width: 560px;
    width: 90vw;
    padding: 24px 28px;
    border-radius: 10px;
}
.lv-settings-popup-title {
    margin: 0 0 18px;
    font-family: abel, sans-serif;
    font-size: 23px;
    font-weight: 600;
    color: #323232;
}
.lv-settings-row {
    display: grid;
    grid-template-columns: 180px 1fr;
    grid-template-rows: auto auto;
    gap: 8px 14px;
    align-items: center;
    padding: 14px 0;
    border-bottom: 1px solid #ebebeb;
}
.lv-settings-row:last-of-type { border-bottom: none; }
.lv-settings-label {
    font-family: abel, sans-serif;
    font-size: 16px;
    color: #323232;
    font-weight: 600;
}
.lv-settings-input { width: 120px; }
.lv-settings-input-wide { width: 100%; box-sizing: border-box; }
.lv-settings-hint {
    grid-column: 2 / 3;
    font-family: abel, sans-serif;
    font-size: 12px;
    color: #999;
}
.lv-settings-switch {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    justify-self: start;
}
.lv-settings-switch input[type="checkbox"] { display: none; }
.lv-settings-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 18px;
}

/* Tab-Navigation oben im Settings-Popup */
.lv-settings-tabs {
    display: flex;
    gap: 4px;
    border-bottom: 1px solid #e8e8e8;
    margin: -8px -8px 18px;
    padding: 0 8px;
}
.lv-settings-tab {
    background: transparent;
    border: 0;
    border-bottom: 2px solid transparent;
    padding: 10px 16px;
    margin-bottom: -1px;
    font-family: abel, sans-serif;
    font-size: 16px;
    color: #888;
    cursor: pointer;
    transition: color .15s, border-color .15s;
}
.lv-settings-tab:hover {
    color: #fff;
    background: var(--bs_green_1, #72AE74);
}
.lv-settings-tab.is-active {
    color: var(--bs_green_1, #72AE74);
    border-bottom-color: var(--bs_green_1, #72AE74);
    font-weight: 600;
}
.lv-settings-tab.is-active:hover {
    color: #fff;
    background: var(--bs_green_1, #72AE74);
}
.lv-settings-tab-pane { display: none; }
.lv-settings-tab-pane.is-active { display: block; }

/* Sektionen innerhalb eines Tab-Panes */
.lv-design-section {
    margin-top: 22px;
    padding-top: 12px;
    border-top: 1px solid #ebebeb;
}
.lv-design-section:first-of-type {
    margin-top: 14px;
    padding-top: 0;
    border-top: none;
}
.lv-design-section-title {
    margin: 0 0 10px;
    font-family: abel, sans-serif;
    font-size: 20px;
    font-weight: 600;
    color: var(--bs_green_1, #72AE74);
}

/* Toggle-Switch (track + handle via ::after) */
.lv-filter-switch-track {
    position: relative;
    display: inline-block;
    width: 32px;
    height: 18px;
    background: #ccc;
    border-radius: 9px;
    transition: background 0.15s;
    flex: 0 0 auto;
}
.lv-filter-switch-track::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 14px;
    height: 14px;
    background: #fff;
    border-radius: 50%;
    transition: left 0.15s;
    box-shadow: 0 1px 2px rgba(0,0,0,0.2);
}
input[type="checkbox"]:checked + .lv-filter-switch-track { background: var(--bs_green_1, #72AE74); }
input[type="checkbox"]:checked + .lv-filter-switch-track::after { left: 16px; }

/* ============================================================================
   Deaktivierter Button — gleiche Optik wie deaktivierte Menuepunkte:
   gestrichelter Rahmen + feine Schraffur, ausgegraut, nicht klickbar.
   Der Cursor bleibt zeigbar (pointer-events aktiv), damit der Microtip mit der
   Begruendung ("aktiv nur im Report") ueberhaupt erscheinen kann.
   Verwendung: <button class="... bs23_button_off_1" disabled aria-label="..."
                data-microtip-position="top" role="tooltip">
   ========================================================================== */
.bs23_button_off_1,
.bs23_button_off_1:hover,
.bs23_button_off_1:focus,
.bs23_button_off_1:active {
	color: #6a706c !important;
	background-color: #F2F4F3 !important;
	background-image: repeating-linear-gradient(-45deg, transparent 0, transparent 6px, rgba(107,155,98,.07) 6px, rgba(107,155,98,.07) 12px) !important;
	border: 1px dashed #C4C9C5 !important;
	opacity: .75;
	cursor: default;
	box-shadow: none;
	}
.bs23_button_off_1 svg { stroke: #6a706c; }

/* ==========================================================================
   Eingabefeld-Zustaende (Pruefergebnis direkt am Feld).
   Loesen die frueheren dunklen Flaechen (#603031 / #5B6858 mit weisser Schrift)
   ab — die stammten aus dem alten dunklen Design und wirkten im hellen Layout
   wie ein Fehler. Muster wie bei .phase-empty im Report: heller Grund, farbiger
   Rand, normale Textfarbe (bleibt lesbar, auch beim Tippen).
   Verwendung: Klasse zusaetzlich zu bs23_input_1 setzen/entfernen.
   ========================================================================== */
.bs23_input_1.bs23_input_state_error,
.bs23_input_1.bs23_input_state_error:focus {
	background-color: #FDF6F6;
	border-color: #9B6262;
	color: #4B4B4B;
	}
.bs23_input_1.bs23_input_state_ok,
.bs23_input_1.bs23_input_state_ok:focus {
	background-color: #F3F9F2;
	border-color: #6B9B62;
	color: #4B4B4B;
	}
/* Same error state for table-cell inputs without bs23_input_1 (e.g. submission list) */
input.bs23_input_state_error,
input.bs23_input_state_error:focus {
	background-color: #FDF6F6;
	border: 1px solid #9B6262;
	color: #4B4B4B;
	}

/* ---------------------------------------------------------------------------
   Fatal Error — Banner quer über die Seite
   Component: resources/views/components/fatal-error-banner.blade.php
   Vorlage: public/error_banner_mockup.html (Variante 1 "Vollfläche kräftig")

   Colours are the existing project error palette (components/info-box.blade.php,
   'error' style): #C62828 surface, #FBE9E9 muted text on red. No new colours.
   --------------------------------------------------------------------------- */
.bs23_fatal_error_1 {
	background-color: #C62828;
	color: #FFFFFF;
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 22px 26px;
	}
.bs23_fatal_error_1_icon {
	flex: none;
	display: flex;
	align-items: center;
	}
.bs23_fatal_error_1_icon img {
	display: block;
	}
.bs23_fatal_error_1_body {
	flex: 1;
	min-width: 0;
	}
.bs23_fatal_error_1_title {
	color: #FFFFFF;
	line-height: 1.25;
	margin: 0 0 4px 0;
	}
.bs23_fatal_error_1_text {
	color: #FBE9E9;
	line-height: 1.5;
	margin: 0;
	}
/* The support link is an <a>, so the global green button:hover does not reach it.
   Background and colour are still set explicitly here — should anyone turn this
   into a bare <button> later, the green hover would otherwise come back. */
.bs23_fatal_error_1_btn {
	background-color: #FFFFFF;
	color: #C62828;
	border: 1px solid #FFFFFF;
	border-radius: 6px;
	padding: 11px 20px;
	display: inline-flex;
	align-items: center;
	gap: 9px;
	flex: none;
	white-space: nowrap;
	text-decoration: none;
	cursor: pointer;
	}
.bs23_fatal_error_1_btn:hover {
	background-color: #FBE9E9;
	color: #C62828;
	text-decoration: none;
	}
.bs23_fatal_error_1_btn img {
	display: block;
	}
/* Icon and text stay on one line, the button wraps below and goes full width. */
@media (max-width: 700px) {
	.bs23_fatal_error_1 {
		flex-wrap: wrap;
		gap: 14px;
		padding: 18px 20px;
		}
	.bs23_fatal_error_1_btn {
		flex: 1 1 100%;
		justify-content: center;
		}
	}
/* `section-no-print` only exists inside report_formular.blade.php, so the banner
   carries its own print rule — it must never end up in a PDF. */
@media print {
	.bs23_fatal_error_1 {
		display: none !important;
		}
	}

/* ---------------------------------------------------------------------------
   Alert — farbiger Balken quer über die Seite, EINE Zeile hoch
   Component: resources/views/components/alert-banner.blade.php
   Lage im Rahmenlayout: public/styles/bs_menu_redesign.css (#bs_alert_bar)

   Betreiber-Meldung aus tbl_admin_setting.alert. Flach und ohne Knopf: sie
   meldet keinen Fehler, den jemand melden müsste.

   Drei Arten (Spalte alert_kind). Alle drei Töne sind im Projekt bereits in
   Gebrauch, es kommt KEINE neue Farbe dazu:
     _alert    #C62828  Fehlerpalette (components/info-box, fatal-error-banner)
     _warning  #D97910  --bs_orange_1
     _info     #168DCB  --bs_blue_1
   Weisser Text auf allen dreien — wie bei bs23_button_blue_1:hover etabliert.

   ⚠️ --alert-bar-h ist die EINZIGE Quelle der Bannerhöhe. bs_menu_redesign.css
   rechnet den Inhaltsbereich damit herunter — wer hier die Höhe ändert, ändert
   beides zugleich. Deshalb keine gemessene Höhe (wie --fatal-h) nötig: der Text
   bricht nicht um, die Höhe ist konstant.
   --------------------------------------------------------------------------- */
:root {
	--alert-bar-h: 38px;
	}
.bs23_alert_1 {
	background-color: #C62828;
	color: #FFFFFF;
	height: var(--alert-bar-h);
	box-sizing: border-box;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 0 26px;
	}
/* Art-Modifier — ändern NUR die Fläche. Aufbau, Höhe und weisse Schrift bleiben
   für alle drei gleich, damit der Balken immer als dasselbe Element erkennbar ist. */
.bs23_alert_1_alert {
	background-color: #C62828;
	}
.bs23_alert_1_warning {
	background-color: var(--bs_orange_1);
	}
.bs23_alert_1_info {
	background-color: var(--bs_blue_1);
	}
.bs23_alert_1_icon {
	flex: none;
	display: flex;
	align-items: center;
	}
.bs23_alert_1_icon img {
	display: block;
	}
/* Eine Zeile, Rest abgeschnitten. Der volle Wortlaut steht im title-Attribut —
   ein Umbruch würde die feste Bannerhöhe verletzen. */
.bs23_alert_1_text {
	flex: 1;
	min-width: 0;
	color: #FFFFFF;
	line-height: 1.3;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	}
/* Links im Meldungstext bleiben auf dem roten Grund lesbar. */
.bs23_alert_1_text a {
	color: #FFFFFF;
	text-decoration: underline;
	}
/* X ganz rechts — blendet den Balken für diesen Browser aus (Cookie, siehe AdminInfo).
   ⚠️ background und color MÜSSEN im :hover selbst gesetzt sein: ein nackter <button>
   wird sonst von der globalen Regel grün eingefärbt. Auf der farbigen Fläche wäre das
   ein Fremdkörper — hier hellt stattdessen ein weisser Schleier auf.
   ⚠️ Die Höhe ist bewusst kleiner als --alert-bar-h: der Knopf darf die feste
   Bannerhöhe nicht aufblähen, sonst stimmt der Versatz von #main_field_1 nicht mehr. */
.bs23_alert_1_close {
	flex: none;
	width: 26px;
	height: 26px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	margin-right: -6px;
	border: 0;
	border-radius: 4px;
	background: transparent;
	color: #FFFFFF;
	cursor: pointer;
	opacity: 0.85;
	transition: opacity 0.15s, background-color 0.15s;
	}
.bs23_alert_1_close:hover {
	background: rgba(255, 255, 255, 0.22);
	color: #FFFFFF;
	opacity: 1;
	}
.bs23_alert_1_close:focus-visible {
	outline: 2px solid #FFFFFF;
	outline-offset: 1px;
	}
.bs23_alert_1_close img {
	display: block;
	}
@media (max-width: 700px) {
	.bs23_alert_1 {
		gap: 9px;
		padding: 0 14px;
		}
	.bs23_alert_1_close {
		margin-right: -4px;
		}
	}
/* Wie beim Fatal-Error-Banner: gehört in keine Druckausgabe. */
@media print {
	.bs23_alert_1 {
		display: none !important;
		}
	}


/* ==========================================================================
   Cost cockpit (tendering/cockpit/{id}) — KPI tiles, chart card, grouped table
   ========================================================================== */
.bs23_cp_wrap { width: 100%; margin: 0; padding: 0 20px 60px; box-sizing: border-box; }
.bs23_cp_wrap * { box-sizing: border-box; }
.bs23_cp_chip { display: inline-flex; align-items: center; gap: 4px; border: 1px dashed #BDBDBD; background: #fff; border-radius: 16px;
	padding: 3px 11px; font-size: 16px; color: #525252; text-decoration: none; white-space: nowrap; }
.bs23_cp_chip:hover { background: #F1F7F1; color: #323232; border-color: var(--bs_green_1); }
.bs23_cp_chip b { color: #323232; font-weight: 600; }


.bs23_cp_kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 16px; }
.bs23_cp_kpi { background: #fff; border-radius: 8px; box-shadow: rgba(0,0,0,.08) 0 1px 4px; padding: 12px 14px; }
.bs23_cp_kpi_label { font-size: 16px; color: #A4A4A4; }
.bs23_cp_kpi_value { font-size: 23px; margin-top: 2px; font-variant-numeric: tabular-nums; color: #323232; }
.bs23_cp_kpi_sub { font-size: 12px; color: #525252; margin-top: 2px; }
.bs23_cp_kpi.is-good .bs23_cp_kpi_value { color: var(--bs_green_1); }
.bs23_cp_kpi.is-bad .bs23_cp_kpi_value { color: #C62828; }
.bs23_cp_meter { height: 6px; background: #F2F2F2; border-radius: 3px; margin-top: 8px; overflow: hidden; }
.bs23_cp_meter i { display: block; height: 100%; background: var(--bs_green_1); }

.bs23_cp_card { background: #fff; border-radius: 8px; box-shadow: rgba(0,0,0,.08) 0 1px 4px; padding: 14px 16px; margin-bottom: 16px; }
.bs23_cp_card_head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; flex-wrap: wrap; }
.bs23_cp_card_head h2 { margin: 0; font-size: 20px; font-weight: 400; color: #323232; }
.bs23_cp_legend { display: flex; gap: 14px; font-size: 12px; color: #525252; flex-wrap: wrap; }
.bs23_cp_legend i { display: inline-block; width: 16px; height: 3px; vertical-align: middle; margin-right: 5px; }
.bs23_cp_legend i.is-band { height: 10px; background: rgba(22,141,203,.12); border: 1px dashed rgba(22,141,203,.5); }
.bs23_cp_chart { position: relative; height: 240px; }

.bs23_cp_search { border: 1px solid #E7E7E7; border-radius: 6px; padding: 5px 10px; font-size: 16px; font-family: inherit; width: 220px; background: #fff; }
.bs23_cp_search:focus { outline: none; border-color: var(--bs_green_1); }

.bs23_cp_scroll { overflow-x: auto; }
table.bs23_cp_table { width: 100%; border-collapse: collapse; font-size: 16px; min-width: 900px; }
table.bs23_cp_table th { text-align: right; font-weight: 400; color: #A4A4A4; font-size: 16px; padding: 6px 8px; border-bottom: 1px solid #E7E7E7; white-space: nowrap; background: none; }
table.bs23_cp_table th.is-left, table.bs23_cp_table td.is-left { text-align: left; }
table.bs23_cp_table td { padding: 6px 8px; border-bottom: 1px solid #F1F1F1; text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; color: #323232; font-size: 16px; }
table.bs23_cp_table td.is-name { white-space: normal; }
table.bs23_cp_table .is-sep { border-left: 2px solid #E7E7E7; }
table.bs23_cp_table tr.bs23_cp_headgroups th { border-bottom: 0; padding-bottom: 0; }
table.bs23_cp_table th.bs23_cp_headgroup { text-align: left; color: #323232; font-size: 18px; padding-left: 10px; }
table.bs23_cp_table th.bs23_cp_headgroup::after { content: ""; display: block; height: 2px; background: var(--bs_green_1); margin-top: 4px; border-radius: 1px; }
table.bs23_cp_table tr.bs23_cp_row:hover td { background: #FAFAFA; }
table.bs23_cp_table tr.bs23_cp_group td { background: #F7F7F7; font-weight: 600; border-bottom: 1px solid #E7E7E7; cursor: pointer; user-select: none; }
table.bs23_cp_table tr.bs23_cp_group td .bs23_cp_twist { display: inline-block; width: 14px; color: #A4A4A4; }
/* long group names wrap instead of widening the number/name columns */
table.bs23_cp_table td.is-name { min-width: 180px; }
/* hierarchy: main group (band + green edge) > group (indented) > work type (guide line) */
table.bs23_cp_table td.bs23_cp_title { white-space: normal; max-width: 300px; }
table.bs23_cp_table tr.bs23_cp_group.is-main td { background: #EEF3EC; font-size: 18px; font-weight: 600; color: #323232; border-top: 10px solid #fff; border-bottom: 1px solid #D9E5D5; }
table.bs23_cp_table tr.bs23_cp_group.is-main td.bs23_cp_title { box-shadow: inset 4px 0 0 var(--bs_green_1); padding-left: 12px; }
table.bs23_cp_table tr.bs23_cp_group.is-sub td { background: #FAFAFA; font-weight: 600; color: #525252; border-bottom: 1px solid #EFEFEF; }
table.bs23_cp_table tr.bs23_cp_group.is-sub td.bs23_cp_title { padding-left: 30px;
	background: #FAFAFA linear-gradient(#C9D9C5, #C9D9C5) no-repeat 17px 0 / 2px 100%; }
table.bs23_cp_table td.bs23_cp_nr { padding-left: 50px; color: #525252;
	background: linear-gradient(#C9D9C5, #C9D9C5) no-repeat 17px 0 / 2px 100%, linear-gradient(#E3E3E3, #E3E3E3) no-repeat 36px 0 / 1px 100%; }
table.bs23_cp_table tr.bs23_cp_row.is-flat td.bs23_cp_nr { padding-left: 30px;
	background: linear-gradient(#C9D9C5, #C9D9C5) no-repeat 17px 0 / 2px 100%; }
table.bs23_cp_table tr.bs23_cp_row:hover td.bs23_cp_nr { background-color: #FAFAFA; }
table.bs23_cp_table tr.bs23_cp_total td { font-weight: 600; font-size: 18px !important; border-top: 2px solid #393939; border-bottom: 0; }
table.bs23_cp_table .is-muted { color: #C9C9C9; }
table.bs23_cp_table .is-pos { color: var(--bs_green_1); }
table.bs23_cp_table .is-neg { color: #C62828; }

/* fields edited in place: dashed underline shows they are editable */
.bs23_cp_kv, .bs23_cp_date { border: 1px solid transparent; border-bottom: 1px dashed #C4C9C5; border-radius: 4px; padding: 3px 6px;
	font-family: inherit; font-size: 16px; background: transparent; font-variant-numeric: tabular-nums; color: inherit; cursor: text;
	transition: background .3s, border-color .3s; }
.bs23_cp_kv { width: 120px; text-align: right; }
.bs23_cp_date { width: 104px; text-align: left; cursor: pointer; }
/* house rule input[type=text][readonly] disables the mouse; the date field is readonly only to force the picker */
input[type="text"][readonly].bs23_cp_date { pointer-events: auto; }
.bs23_cp_date::placeholder { color: #C9C9C9; }
.bs23_cp_kv:hover, .bs23_cp_date:hover { border-color: #D5D5D5; background: #fff; }
.bs23_cp_kv:focus, .bs23_cp_date:focus { outline: none; border-color: var(--bs_green_1); background: #fff; }
.bs23_cp_kv.is-saved, .bs23_cp_date.is-saved { background: #F1F7F1; border-color: var(--bs_green_1); }
.bs23_cp_kv.is-failed, .bs23_cp_date.is-failed { background: #FEF4F5; border-color: #C62828; }

.bs23_cp_pill { display: inline-flex; align-items: center; gap: 5px; border-radius: 10px; padding: 1px 8px; font-size: 12px; border: 1px dashed; text-decoration: none; white-space: nowrap; }
/* dot as its own element: microtip already uses ::before/::after on role="tooltip" */
.bs23_cp_dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; flex: 0 0 6px; }
a.bs23_cp_pill:hover { filter: brightness(.95); text-decoration: underline; }
.bs23_cp_pill.is-green  { color: var(--bs_green_1); background: #F1F7F1; border-color: #B8D3B3; }
.bs23_cp_pill.is-blue   { color: var(--bs_blue_1); background: #EEF6FB; border-color: #9CCBE6; }
.bs23_cp_pill.is-orange { color: var(--bs_orange_1); background: #FFF4E5; border-color: #F5C98A; }
.bs23_cp_pill.is-red    { color: #C62828; background: #FEF4F5; border-color: #EBA9A9; }
.bs23_cp_pill.is-grey   { color: #A4A4A4; background: #fff; border-color: #D5D5D5; }
.bs23_cp_offers { font-size: 12px; color: #525252; margin-left: 6px; }

.bs23_cp_dev { display: inline-flex; align-items: center; gap: 6px; justify-content: flex-end; }
.bs23_cp_dev_pct { display: inline-block; min-width: 58px; text-align: right; font-size: 12px; color: #7A7A7A; }
.bs23_cp_dev_bar { width: 46px; height: 5px; background: #F2F2F2; border-radius: 3px; position: relative; overflow: hidden; }
.bs23_cp_dev_bar i { position: absolute; top: 0; bottom: 0; }

table.bs23_cp_table .bs23_cp_act { width: 48px; padding: 0 6px 0 10px; text-align: center; border-left: 1px dashed #DADADA; }
button.bs23_cp_open { border: 1px solid #CFE2CB; background: #F1F7F1; width: 30px; height: 30px; border-radius: 50%; cursor: pointer;
	color: var(--bs_green_1); font-size: 18px; line-height: 1; padding: 0 0 2px 1px; transition: background .15s, color .15s, transform .15s; }
button.bs23_cp_open:hover { background: var(--bs_green_1); color: #fff; border-color: var(--bs_green_1); transform: translateX(2px); }
tr.bs23_cp_row:hover button.bs23_cp_open { border-color: var(--bs_green_1); }

.bs23_cp_foot { display: flex; justify-content: space-between; align-items: center; margin-top: 10px; gap: 10px; flex-wrap: wrap; }
a.bs23_cp_add { border: 1px dashed var(--bs_green_1); color: var(--bs_green_1); background: #fff; border-radius: 16px; padding: 4px 14px; font-size: 16px; text-decoration: none; }
a.bs23_cp_add:hover { background: #F1F7F1; color: #323232; }

/* Popup «Detailinformationen» of a cost row (cockpit.blade.php, #details)
   Mockup: mockups/cockpit_detailinformationen_baukosten_mockup_20261015.html */
.cp_dt_popup { max-width: 580px; }
.cp_dt_head { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin: -6px 0 14px; }
.cp_dt_head a { text-decoration: none; }
.cp_dt_chip { display: inline-flex; align-items: center; gap: 4px; border: 1px solid #E7E7E7; background: #fff; border-radius: 16px; padding: 2px 10px; font-size: 12px; color: #525252; white-space: nowrap; }
.cp_dt_chip b { font-weight: 400; color: #323232; }
a .cp_dt_chip:hover, a.cp_dt_chip:hover { background: #F1F7F1; border-color: var(--bs_green_1); color: #323232; }
.cp_dt_chip.is-off { color: #A4A4A4; }
.cp_dt_chip.is-dashed { border-style: dashed; border-color: #BDBDBD; }
.cp_dt_delete { margin-left: auto; }
.cp_dt_fields { display: grid; grid-template-columns: 130px 1fr; gap: 8px 14px; align-items: center; }
.cp_dt_fields .bs23_input_1 { width: 100%; box-sizing: border-box; }
.cp_dt_sec { font-size: 18px; color: #323232; margin: 16px 0 8px; }
.cp_dt_steps { display: flex; align-items: stretch; }
.cp_dt_st { flex: 1 1 0; min-width: 0; border: 1px solid #E7E7E7; border-radius: 6px; padding: 6px 8px; background: #fff; margin: 0; }
.cp_dt_st span { display: block; font-size: 12px; color: #A4A4A4; white-space: nowrap; }
.cp_dt_st b { font-weight: 400; font-variant-numeric: tabular-nums; }
.cp_dt_st.is-target { background: #F7F7F7; border-color: #BDBDBD; cursor: pointer; }
.cp_dt_st.is-target span::before { content: "⚑ "; }
.cp_dt_st.is-done { background: #F1F7F1; border-color: #CFE2CB; }
.cp_dt_st.is-done span::after { content: " ✓"; color: var(--bs_green_1); }
.cp_dt_st.is-empty { border-style: dashed; color: #C9C9C9; }
.cp_dt_st.is-late { background: #FEF4F5; border-color: #F3C5C5; }
.cp_dt_st.is-late b, .cp_dt_st.is-late input { color: #B23B3B; }
.cp_dt_st.is-late span::after { content: " !"; color: #B23B3B; }
.cp_dt_gap { flex: 0 0 14px; }
.cp_dt_line { flex: 0 0 14px; align-self: center; height: 2px; background: #E0E0E0; }
.cp_dt_line.is-done { background: #CFE2CB; }
/* the planned date is typed into the target tile itself */
input[type="text"].cp_dt_dateinput { width: 100%; border: 0; padding: 0; margin: 0; background: transparent; font: inherit; color: #323232; cursor: pointer; pointer-events: auto; }
input[type="text"].cp_dt_dateinput:focus { outline: none; }
.cp_dt_grid { display: grid; grid-template-columns: 100px 1fr 1.2fr; border: 1px solid #E7E7E7; border-radius: 8px; overflow: hidden; }
.cp_dt_grid > div { padding: 7px 10px; border-bottom: 1px solid #F1F1F1; min-height: 38px; display: flex; align-items: center; }
.cp_dt_grid > .is-r { justify-content: flex-end; font-variant-numeric: tabular-nums; }
.cp_dt_grid > .is-h { background: #F7F7F7; color: #A4A4A4; border-bottom-color: #E7E7E7; }
.cp_dt_grid > .is-h.is-r { color: #323232; }
.cp_dt_grid > .is-k { color: #525252; }
.cp_dt_grid > .is-tot { font-weight: 600; border-bottom: 0; background: #FAFAFA; }
.cp_dt_grid > .is-sep { border-left: 2px solid #E7E7E7; }
.cp_dt_grid .bs23_cp_kv { font-weight: inherit; max-width: 150px; width: 100%; }
.cp_dt_muted { color: #C9C9C9; }
.cp_dt_who { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; text-align: right; }
.cp_dt_who b { font-weight: 400; }
.cp_dt_who small, .cp_dt_ph small { display: block; font-size: 12px; color: #A4A4A4; }
.cp_dt_ph { width: 100%; text-align: center; color: #A4A4A4; border: 1px dashed #D5D5D5; border-radius: 6px; padding: 6px 8px; background: #FCFCFC; font-weight: 400; }
.cp_dt_diff { margin-top: 8px; padding: 10px 12px; border-radius: 8px; background: #F7F7F7; color: #525252; }
.cp_dt_dev_head { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.cp_dt_dev_val { margin-left: auto; font-weight: 400; font-size: 18px; font-variant-numeric: tabular-nums; }
.cp_dt_dev_val.is-green { color: #2E7D32; }
.cp_dt_dev_val.is-orange { color: var(--bs_orange_1); }
.cp_dt_dev_val.is-red { color: #C62828; }
.bs23_cp_pill.cp_dt_dev_pct { font-size: 16px; border-style: solid; }
.bs23_cp_pill.cp_dt_dev_pct.is-red { color: #C62828; background: #FEF4F5; border-color: #F3C5C5; }
.cp_dt_dev_row { display: grid; grid-template-columns: 70px 1fr 110px; gap: 10px; align-items: center; margin-top: 4px; }
.cp_dt_dev_row span { font-size: 12px; color: #A4A4A4; }
.cp_dt_dev_row b { font-weight: 400; text-align: right; font-variant-numeric: tabular-nums; }
.cp_dt_dev_track { position: relative; height: 12px; background: #fff; border-radius: 6px; }
.cp_dt_dev_track i { position: absolute; top: 0; bottom: 0; left: 0; border-radius: 6px; }
.cp_dt_dev_track i.is-kv { background: var(--bs_blue_1); opacity: .55; }
.cp_dt_dev_track i.is-offer { background: #9E9E9E; opacity: .55; }
.cp_dt_dev_track i.is-delta { border-radius: 0; opacity: .9; }
.cp_dt_dev_track i.is-delta.is-green { background: repeating-linear-gradient(45deg, #7DB874 0 4px, #CFE2CB 4px 8px); }
.cp_dt_dev_track i.is-delta.is-orange { background: #F5C98A; }
.cp_dt_dev_track i.is-delta.is-red { background: #E57373; }
/* accuracy of the KV: two dashed lines over the bar, hover shows the tooltip */
/* microtip turns [role=tooltip] into position:relative - keep the band absolute */
.cp_dt_dev_track .cp_dt_dev_band[role~="tooltip"] { position: absolute; display: block; }
.cp_dt_dev_band { position: absolute; top: -3px; bottom: -3px; background: rgba(14, 111, 163, .06); border-left: 1px dashed var(--bs_blue_1); border-right: 1px dashed var(--bs_blue_1); z-index: 2; }
.cp_dt_switch { display: flex; align-items: center; justify-content: space-between; margin-top: 14px; }
.cp_dt_note { width: 100%; box-sizing: border-box; resize: none; }
@media (max-width: 560px) {
	.cp_dt_steps { flex-wrap: wrap; gap: 8px; }
	.cp_dt_st { flex: 1 1 40%; }
	.cp_dt_gap, .cp_dt_line { display: none; }
	.cp_dt_fields { grid-template-columns: 1fr; }
	.cp_dt_grid { grid-template-columns: 80px 1fr 1fr; }
}

/* Column titles of the cost table: edited directly in the header (like the KV field in the rows) */
input.bs23_cp_coltitle { field-sizing: content; min-width: 3ch; max-width: 220px; border: 1px solid transparent; border-bottom: 1px dashed #D5D5D5;
	border-radius: 4px; padding: 1px 4px; margin: 0 -5px; font: inherit; color: inherit; text-align: inherit; background: transparent; cursor: text;
	transition: background .3s, border-color .3s; }
input.bs23_cp_coltitle:hover { border-color: #D5D5D5; background: #fff; }
input.bs23_cp_coltitle:focus { outline: none; border-color: var(--bs_green_1); background: #fff; color: #323232; }
input.bs23_cp_coltitle::placeholder { color: #C9C9C9; }
input.bs23_cp_coltitle.is-saved { background: #F1F7F1; border-color: var(--bs_green_1); }
input.bs23_cp_coltitle.is-failed { background: #FEF4F5; border-color: #C62828; }

@media (max-width: 800px) {
	.bs23_cp_kpis { grid-template-columns: 1fr; }
	.bs23_cp_search { width: 150px; }
}

/* ==========================================================================
   Share popup <x-share-link-popup> (rebuilt 16.10.2026, mockup share_link_popup_mockup_20261016.html)
   One card per link: link row, meta line, collapsible options; accesses in a second dialog.
   ========================================================================== */
.slp-ico { display: inline-block; width: 22px; height: 22px; flex-shrink: 0; background: currentColor;
	-webkit-mask: var(--slp-ico) no-repeat center / contain; mask: var(--slp-ico) no-repeat center / contain; }
.slp-ico-copy { --slp-ico: url(/images/icon_copy.svg); }
.slp-ico-mail { --slp-ico: url(/images/nav_button_sub_mail.svg); }
.slp-ico-trash { --slp-ico: url(/images/icon_trash_2.svg); }
.slp-ico-chev { --slp-ico: url(/images/icon_chevron_down.svg); width: 16px; height: 16px; transition: transform .2s; }
.slp-ico-history { --slp-ico: url(/images/icon_history_1.svg); }
.slp-ico-settings { --slp-ico: url(/images/icon_settings.svg); }
.slp-ico-check { --slp-ico: url(/images/icon_check.svg); width: 16px; height: 16px; }
.slp-ico-lupe { --slp-ico: url(/images/icon_lupe.svg); width: 18px; height: 18px; }

/* no own scroll area: the tooltips below the buttons would make it scroll; the dialog grows instead */
.slp-list { padding: 2px; }
.slp-card { border: 1px solid #E3E3E3; border-radius: 6px; padding: 12px; margin-bottom: 12px; background: #fff; }
.slp-card:last-child { margin-bottom: 0; }
.slp-card.is-new { animation: slpFlash 1.2s ease-out; }
@keyframes slpFlash { 0% { box-shadow: 0 0 0 3px rgba(114,174,116,.6); } 100% { box-shadow: 0 0 0 0 rgba(114,174,116,0); } }
.slp-linkrow { display: flex; gap: 8px; align-items: center; }
/* house rule makes readonly text inputs unclickable - the link must stay selectable */
input.slp-link-input[readonly] { pointer-events: auto; }
.slp-link-input { flex: 1; min-width: 0; height: 44px; padding: 0 14px; border: 1px solid #ccc; border-radius: 5px; color: #333; background: #fff; }
button.slp-iconbtn { width: 44px; height: 44px; padding: 0; border: 1px solid #ccc; border-radius: 5px; background: #fff; color: #555;
	display: flex; align-items: center; justify-content: center; cursor: pointer; flex-shrink: 0; }
button.slp-iconbtn:hover { background: #F0F0F0; color: var(--bs_green_1); border-color: #bbb; }
button.slp-iconbtn.is-done { color: var(--bs_green_1); border-color: var(--bs_green_1); }
button.slp-iconbtn.is-del:hover { background: #FDEDEC; color: #C0392B; border-color: #E6B0AA; }
button.slp-iconbtn.is-small { width: 36px; height: 36px; }
button.slp-iconbtn.is-small .slp-ico { width: 18px; height: 18px; }
button.slp-expand.is-open .slp-ico-chev { transform: rotate(180deg); }
.slp-meta { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 8px 2px 0; color: #7A7A7A; }
.slp-chip { display: inline-flex; align-items: center; gap: 5px; }
.slp-chip.is-title { color: #323232; }
.slp-chip.is-warn { color: #C0392B; }
.slp-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--bs_green_1); }
.slp-chip.is-warn .slp-dot { background: #C0392B; }
button.slp-chip-btn { font-size: inherit; font-family: inherit; background: transparent; border: 0; padding: 0; cursor: pointer; color: var(--bs_blue_1, #168DCB);
	display: inline-flex; align-items: center; gap: 4px; }
button.slp-chip-btn:hover { background: transparent; color: var(--bs_green_1); }
button.slp-chip-btn .slp-ico { width: 16px; height: 16px; }
button.slp-chip-btn[disabled] { color: #7A7A7A; cursor: default; }
.slp-expired { margin-top: 10px; padding: 8px 12px; border-radius: 5px; background: #FDEDEC; color: #C0392B;
	display: flex; align-items: center; justify-content: space-between; gap: 10px; }

.slp-panel { display: none; margin-top: 10px; padding: 10px 2px 4px; border-top: 1px solid #F0F0F0; }
.slp-panel.is-open { display: block; }
.slp-grid { display: grid; grid-template-columns: 140px 1fr; gap: 10px 14px; align-items: start; }
.slp-grid > .slp-label { padding-top: 6px; }
.slp-grid [hidden], .slp-inline[hidden] { display: none; }
.slp-switch { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; user-select: none; }
.slp-switch input { display: none; }
.slp-track { width: 38px; height: 22px; border-radius: 11px; background: #CFCFCF; position: relative; transition: background .2s; flex-shrink: 0; }
.slp-track::after { content: ''; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; transition: left .2s; }
.slp-switch input:checked + .slp-track { background: var(--bs_green_1); }
.slp-switch input:checked + .slp-track::after { left: 19px; }
.slp-stack { display: flex; flex-direction: column; gap: 6px; padding-top: 6px; }
.slp-inline { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.slp-inline .bs23_input_1 { flex: 1 1 160px; height: 36px; }
.slp-max { max-width: 160px; height: 36px; }
.slp-saveline { text-align: right; margin-top: 6px; min-height: 20px; }
.slp-saved { display: inline-flex; align-items: center; gap: 4px; color: var(--bs_green_1); opacity: 0; transition: opacity .3s; }
.slp-saved.is-shown { opacity: 1; }
.slp-created { border-top: 1px solid #F0F0F0; padding-top: 8px; color: #7A7A7A; }
.slp-empty, .slp-loading { padding: 24px 0; text-align: center; color: #7A7A7A; }

.slp-footer { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: 6px; padding-top: 12px; border-top: 1px solid #EEE; flex-wrap: wrap; }
button.slp-linkbtn { font-family: inherit; background: transparent; border: 0; color: var(--bs_blue_1, #168DCB); cursor: pointer; padding: 4px 2px;
	display: inline-flex; align-items: center; gap: 6px; }
button.slp-linkbtn:hover { background: transparent; color: var(--bs_green_1); }

/* accesses dialog */
.slp-search { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.slp-search-field { position: relative; flex: 1 1 220px; }
.slp-search-field .slp-ico { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); color: #9A9A9A; pointer-events: none; }
.slp-search-field .bs23_input_1 { height: 38px; padding-left: 36px; }
.slp-count { margin: 10px 2px 6px; color: #7A7A7A; }
.slp-log { max-height: 46vh; overflow-y: auto; border: 1px solid #EEE; border-radius: 5px; }
.slp-log-row { display: grid; grid-template-columns: 170px 1fr 1fr; gap: 8px; padding: 6px 10px; border-bottom: 1px solid #F3F3F3; }
.slp-log-row:last-child { border-bottom: 0; }
.slp-log-row .is-grey { color: #7A7A7A; }
.slp-log-head { position: sticky; top: 0; background: #F7F7F7; color: #7A7A7A; }
.slp-log mark { background: #FFF2C8; color: inherit; padding: 0 1px; border-radius: 2px; }
.slp-log-empty { padding: 20px; text-align: center; color: #7A7A7A; }

@media (max-width: 600px) {
	.slp-grid { grid-template-columns: 1fr; gap: 4px 0; }
	.slp-log-row { grid-template-columns: 1fr; gap: 0; }
	.slp-log-head { display: none; }
	button.slp-iconbtn { width: 38px; height: 38px; }
	.slp-link-input { height: 38px; padding: 0 8px; }
}

/* ==========================================================================
   Narrow Lity popup (e.g. project role of an external person, projectmembers) — 19.10.2026
   ========================================================================== */
.bs23_popup_narrow_1 { max-width: 460px; padding: 20px; }
.bs23_popup_narrow_1_row { margin: 16px 0 6px; }
.bs23_popup_narrow_1_row label { display: inline-block; margin-bottom: 4px; }
.bs23_popup_narrow_1_row .bs23_dropdown_1 { width: 100%; }
.bs23_popup_narrow_1_help { display: inline-block; width: 16px; height: 16px; margin-left: 4px; vertical-align: -2px; background: #767676;
	-webkit-mask: url(../images/icon_alert.svg) center / contain no-repeat; mask: url(../images/icon_alert.svg) center / contain no-repeat; }
.bs23_popup_narrow_1_foot { display: flex; justify-content: flex-end; gap: 10px; margin-top: 16px; flex-wrap: wrap; }

/* ==========================================================================
   Popup "Rechte im Projekt" <x-permissions.project-rights-popup> — 19.10.2026
   (mockup externe_projektrechte_mockup_20261019.html). Contrast, calculated:
   #9A5208 on #FFF1E0 = 5.28:1, #336B35 on #EAF4E9 = 5.65:1, #0E6FA3 on #EEF6FB = 5.03:1,
   #525252 on #F7F7F7 = 7.29:1, #767676 on white = 4.54:1.
   ========================================================================== */
.bs23_rights_pop { width: 760px; max-width: 94vw; padding: 20px 22px 16px; }
.bs23_rights_pop_title { display: block; padding-right: 40px; }
.bs23_rights_pop_sub { display: block; color: #525252; margin-top: 2px; }
.bs23_rights_pop_src { display: flex; gap: 12px; align-items: flex-start; border-radius: 8px; padding: 10px 12px; margin: 14px 0 8px; }
.bs23_rights_pop_src b { display: block; font-weight: 400; }
.bs23_rights_pop_src > span > span { display: block; color: #525252; }
.bs23_rights_pop_src.proj { background: #FFF1E0; color: #9A5208; }
.bs23_rights_pop_src.firm { background: #EAF4E9; color: #336B35; }
.bs23_rights_pop_src.def  { background: #EEF6FB; color: #0E6FA3; }
.bs23_rights_pop_src.adm  { background: #F7F7F7; color: #525252; }
.bs23_rights_pop_src_ic { flex: 0 0 22px; width: 22px; height: 22px; margin-top: 1px; background: currentColor;
	-webkit-mask: url(../images/icon_shield_admin_1.svg) center / contain no-repeat; mask: url(../images/icon_shield_admin_1.svg) center / contain no-repeat; }
.bs23_rights_pop_note { margin: 0 0 8px; color: #767676; }
.bs23_rights_pop_tools { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin: 6px 0 8px; }
.bs23_rights_pop_tools[hidden], .bs23_rights_pop_src[hidden], .bs23_rights_pop_note[hidden] { display: none; }
.bs23_rights_pop_seg { display: inline-flex; background: #EDEDED; border-radius: 16px; padding: 3px; }
.bs23_rights_pop_seg button { border: 0; background: transparent; padding: 4px 12px; border-radius: 13px; font-family: inherit;
	font-size: 16px; color: #6B6B6B; cursor: pointer; }
/* the global button:hover paints every bare button green */
.bs23_rights_pop_seg button:hover { background: #FFFFFF; color: #323232; }
.bs23_rights_pop_seg button.on { background: #EAF4E9; color: #323232; }
.bs23_rights_pop_count { color: #525252; }
.bs23_rights_pop_grp { border: 1px solid #E7E7E7; border-radius: 8px; margin: 8px 0; overflow: hidden; }
.bs23_rights_pop_grp_h { display: flex; justify-content: space-between; align-items: center; gap: 10px; background: #F7F7F7; padding: 6px 12px; }
.bs23_rights_pop_grp_h .bs23_label_size_0 { color: #525252; }
.bs23_rights_pop_grp ul { list-style: none; margin: 0; padding: 4px 0; columns: 2; column-gap: 0; }
.bs23_rights_pop_grp li { display: flex; align-items: center; gap: 8px; padding: 3px 12px; break-inside: avoid; font-size: 16px; }
.bs23_rights_pop_grp li .m { flex: 0 0 16px; width: 16px; height: 16px; background: currentColor; }
.bs23_rights_pop_grp li.y { color: #323232; }
.bs23_rights_pop_grp li.y .m { color: #72AE74;
	-webkit-mask: url(../images/icon_check.svg) center / contain no-repeat; mask: url(../images/icon_check.svg) center / contain no-repeat; }
.bs23_rights_pop_grp li.n { color: #767676; }
.bs23_rights_pop_grp li.n .m { color: #BDBDBD; flex: 0 0 10px; width: 10px; height: 2px; margin: 0 3px; }
.bs23_rights_pop_grp.off { opacity: .8; }
.bs23_rights_pop.only-yes .bs23_rights_pop_grp li.n { display: none; }
.bs23_rights_pop_foot { display: flex; justify-content: flex-end; gap: 10px; margin-top: 14px; flex-wrap: wrap; }
.bs23_rights_pop_foot [hidden] { display: none; }
.bs23_rights_pop_foot .bs23_rights_pop_remove { margin-right: auto; }
/* optional block of the opening page above the rights (project_members: role in this project, 19.10.2026) */
.bs23_rights_pop_extra { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 6px 0 10px; }
.bs23_rights_pop_extra[hidden] { display: none; }
@media (max-width: 700px) {
	.bs23_rights_pop_grp ul { columns: 1; }
}

/* Hover card of the component (bsProjectRights.hover, members matrix 19.10.2026): source, missing rights and all rights
   per group; the mouse can move onto it, the rights list scrolls. Text #323232 / #525252 on white = 12.82:1 / 7.81:1 (calculated). */
.bs23_rights_card { position: absolute; z-index: 10000; width: 360px; max-width: calc(100vw - 16px); max-height: 70vh;
	display: flex; flex-direction: column; overflow: hidden;
	background: #FFFFFF; border: 1px solid #E7E7E7; border-radius: 8px; box-shadow: 0 6px 24px rgba(0, 0, 0, .16); }
.bs23_rights_card[hidden], .bs23_rights_card_bridge[hidden] { display: none; }
/* white strip between cell and card, drawn over the card border so both look joined */
.bs23_rights_card_bridge { position: absolute; z-index: 10001; background: #FFFFFF; }
.bs23_rights_card_top { flex: 0 0 auto; padding: 10px 12px 6px; border-bottom: 1px solid #F1F1F1; }
.bs23_rights_card_body { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 4px 12px 10px; }
.bs23_rights_card_grp { margin-top: 6px; }
.bs23_rights_card_grp_h { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 4px 0 2px; }
.bs23_rights_card_grp_h b { font-weight: 400; font-size: 16px; color: #323232; }
.bs23_rights_card_grp_h span { font-size: 12px; color: #525252; }
.bs23_rights_card_grp li { display: flex; align-items: center; gap: 6px; padding: 2px 0; font-size: 12px; line-height: 1.35; }
.bs23_rights_card_grp li .m { flex: 0 0 12px; width: 12px; height: 12px; background: currentColor; }
.bs23_rights_card_grp li.y { color: #323232; }
.bs23_rights_card_grp li.y .m { color: #72AE74;
	-webkit-mask: url(../images/icon_check.svg) center / contain no-repeat; mask: url(../images/icon_check.svg) center / contain no-repeat; }
/* #A05555 on white = 5.35:1 (calculated) */
.bs23_rights_card_grp li.n { color: #A05555; }
.bs23_rights_card_grp li.n .m { color: #D9A3A3; flex: 0 0 8px; width: 8px; height: 2px; margin: 0 2px; }
.bs23_rights_card_h { color: #323232; }
.bs23_rights_card_src { margin: 6px 0 2px; padding: 4px 8px; border-radius: 6px; font-size: 16px; }
.bs23_rights_card_src.project { background: #FFF1E0; color: #9A5208; }
.bs23_rights_card_src.company { background: #EAF4E9; color: #336B35; }
.bs23_rights_card_src.external_default { background: #EEF6FB; color: #0E6FA3; }
.bs23_rights_card_src.admin { background: #F7F7F7; color: #525252; }
.bs23_rights_card_n { color: #525252; margin: 4px 0 6px; }
/* #A05555 on #FBF1F1 = 4.83:1 (calculated) */
.bs23_rights_card_no { margin: 0 0 6px; padding: 4px 8px; border-radius: 6px; background: #FBF1F1; color: #A05555; font-size: 12px; line-height: 1.35; }
.bs23_rights_card_no b { font-weight: 400; font-size: 16px; display: block; }
.bs23_rights_card ul { list-style: none; margin: 0; padding: 0; }

/* ==========================================================================
   Project rights page (permissions/project.blade.php), rebuilt 20.10.2026 after
   mockups/projektrechte_rollen_ideen_mockup_20261019.html (ideas I2, I3, I5, I8, I9, I10).
   Prefix pr- ; the shared pv- classes stay in permissions/_styles.blade.php.
   ========================================================================== */
.pr-ic { display: inline-block; width: 17px; height: 17px; flex: none; background: currentColor;
	-webkit-mask: var(--pr-i) center / contain no-repeat; mask: var(--pr-i) center / contain no-repeat; }
.pr-ic-add     { --pr-i: url(/images/icon_add.svg); }
.pr-ic-edit    { --pr-i: url(/images/icon_edit.svg); }
.pr-ic-search  { --pr-i: url(/images/icon_search_stroke_1.svg); }
.pr-ic-chevron { --pr-i: url(/images/icon_chevron_down_stroke_1.svg); transform: rotate(-90deg); transition: transform .15s ease; }
#main_field_1 .bph-btn .pr-ic { width: 19px; height: 19px; }

.pr-body { padding: 16px 18px 18px; }
.pr-leer { margin: 0 0 12px; line-height: 1.45; }
.pr-grau { color: #929292; }
.pr-flex { flex: 1; }
.pr-voll { width: 100%; box-sizing: border-box; }

/* role cards (I2) */
.pr-karten { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; margin-bottom: 16px; }
.pr-karte { display: flex; flex-direction: column; align-items: stretch; gap: 8px; text-align: left; min-width: 0;
	background: #FFF; border: 1px solid #E7E9E8; border-left: 4px solid #E7E9E8; border-radius: 10px; padding: 12px 14px;
	cursor: pointer; font-family: abel, sans-serif; color: #323232; }
.pr-karte:hover { background: #F7FBF7; border-color: #C7DFC5; }
.pr-karte.is-an { border-color: #72AE74; border-left-color: #72AE74; background: #EAF4E9; }
.pr-karte:focus-visible { outline: 2px solid #72AE74; outline-offset: 2px; }
.pr-karte-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pr-balken { display: block; height: 6px; border-radius: 3px; background: #EEF0EF; overflow: hidden; }
.pr-balken i { display: block; height: 100%; background: #72AE74; border-radius: 3px; transition: width .2s ease; }
.pr-karte-fuss { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: #6F6F6F; }
.pr-leute { display: inline-flex; align-items: center; }
.pr-ava { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%;
	margin-left: -5px; border: 2px solid #FFF; background: #DCEBDC; color: #3F6E41; line-height: 1; }
.pr-ava:first-child { margin-left: 0; }
.pr-ava-1 { background: #DCEAF5; color: #1F5F87; }
.pr-ava-2 { background: #F5E6D3; color: #8A5414; }
.pr-ava-3 { background: #ECE0F2; color: #6A3F80; }
.pr-ava-mehr { background: #EEF0EF; color: #525252; }
.pr-karte-neu { flex-direction: row; align-items: center; justify-content: center; border-style: dashed; border-left-width: 1px;
	color: #6F6F6F; min-height: 92px; }
.pr-karte-neu:hover { color: #3F6E41; }

/* editor of the selected role */
.pr-panel { border: 1px solid #E7E9E8; border-radius: 10px; padding: 14px 16px 6px; margin-bottom: 16px; }
.pr-panel-kopf { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
.pr-panel-kopf form { margin: 0; }
.pr-name-wrap { display: inline-flex; align-items: center; gap: 6px; min-width: 0; flex: 1 1 260px; }
.pr-name { color: #323232; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pr-name-eingabe { max-width: 360px; }
.pr-stift { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 15px;
	border: 0; background: transparent; color: #929292; cursor: pointer; padding: 0; }
.pr-stift:hover { background: #EAF4E9; color: #3F6E41; }
.pr-kopf-knoepfe { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.pr-tip-wrap { display: inline-flex; }
.pv-btn[disabled] { opacity: .5; cursor: not-allowed; }
.pv-btn[disabled], .pv-btn[disabled]:hover { background: #FFF; color: #6F6F6F; }
.pv-btn-warn[disabled], .pv-btn-warn[disabled]:hover { color: #856404; }

/* search (I8) */
.pr-werkzeug { margin-bottom: 12px; }
.pr-suche-wrap { position: relative; display: inline-flex; align-items: center; width: 100%; max-width: 320px; }
.pr-suche-wrap .pr-ic { position: absolute; left: 11px; width: 15px; height: 15px; color: #999; pointer-events: none; }
.pr-suche-wrap .pr-suche { width: 100%; padding-left: 34px; box-sizing: border-box; }
.pr-treffer-nein { display: none !important; }
.pr-nichts { color: #929292; margin: 4px 0 12px; }

/* groups folded with a switch (I8) */
.pr-gruppe { border: 1px solid #E7E9E8; border-radius: 10px; margin-bottom: 8px; overflow: hidden; }
.pr-gruppe-kopf { display: flex; align-items: center; gap: 10px; padding: 6px 12px 6px 6px; background: #F7F8F8; }
.pr-gruppe.is-offen .pr-gruppe-kopf { border-bottom: 1px solid #ebebeb; }
.pr-auf { flex: 1; min-width: 0; display: flex; align-items: center; gap: 8px; border: 0; background: transparent; cursor: pointer;
	padding: 6px; border-radius: 8px; color: #323232; font-family: abel, sans-serif; text-align: left; }
.pr-auf:hover { background: #EAF4E9; }
.pr-gruppe.is-offen .pr-auf .pr-ic-chevron { transform: rotate(0deg); }
.pr-zaehler { color: #6F6F6F; white-space: nowrap; }
.pr-schalter { position: relative; flex: none; width: 40px; height: 22px; border-radius: 11px; border: 0; padding: 0; cursor: pointer;
	background: #CFCFCF; transition: background .15s ease; }
/* The knob is its own span: microtip owns ::before/::after of the switch for the tooltip. */
.pr-knopf { position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #FFF;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .25); transition: left .15s ease; }
.pr-schalter.is-an { background: #72AE74; }
.pr-schalter.is-an .pr-knopf { left: 21px; }
.pr-schalter.is-teil { background: #B9D7BA; }
.pr-schalter.is-teil .pr-knopf { left: 12px; }
.pr-schalter:hover { background: #BDBDBD; }
.pr-schalter.is-an:hover { background: #5a9a5c; }
.pr-schalter.is-teil:hover { background: #A5CBA6; }
.pr-schalter[disabled] { cursor: default; opacity: .6; }
.pr-gruppe-inhalt { padding: 6px 6px 8px; }
/* The top node is the group itself: its checkbox is driven by the switch, its row stays hidden. */
.pr-gruppe-inhalt > [data-knoten] > .pv-zeile { display: none; }
.pr-gruppe-inhalt > [data-knoten] > [data-knoten] { margin-left: 0 !important; }

/* company roles only as templates, folded at the bottom (I10) */
.pr-firmen { border: 1px solid #E7E9E8; border-radius: 10px; overflow: hidden; }
.pr-firmen-kopf { display: flex; align-items: center; gap: 8px; padding: 12px 14px; background: #F7F8F8; cursor: pointer; list-style: none; color: #323232; }
.pr-firmen-kopf::-webkit-details-marker { display: none; }
.pr-firmen[open] .pr-firmen-kopf { border-bottom: 1px solid #ebebeb; }
.pr-firmen[open] .pr-firmen-kopf .pr-ic-chevron { transform: rotate(0deg); }
.pr-firma { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 10px 14px; border-bottom: 1px solid #F2F4F3; }
.pr-firma:last-child { border-bottom: 0; }
.pr-firma.is-an { background: #EAF4E9; }
.pr-firma-name { color: #323232; }
.pr-link { color: #6F6F6F; text-decoration: none; }
.pr-link:hover { color: #3F6E41; text-decoration: underline; }

/* popup "New role" (I3) */
.pr-start { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 6px; }
.pr-start-wahl { display: flex; align-items: flex-start; gap: 8px; border: 1px solid #E7E9E8; border-radius: 8px; padding: 8px 10px;
	cursor: pointer; line-height: 1.3; color: #323232; }
.pr-start-wahl:hover { background: #F7FBF7; }
.pr-start-wahl:has(input:checked) { border-color: #72AE74; background: #EAF4E9; }
.pr-start-wahl input { margin-top: 3px; accent-color: #72AE74; flex: none; }

@media (max-width: 760px) {
	.pr-start { grid-template-columns: minmax(0, 1fr); }
	.pr-body { padding: 12px; }
}

/* ============================================================
   bs-perm-off — control without the right (Marc 20.10.2026):
   visible but disabled, the tooltip names the missing right.
   Set by components/permission-ui (from @perm and data-perm).
   ============================================================ */
/* 24.10.2026 (decision E1): hatched like bs23_button_off_1, with a lock; the click opens the info popup
   (#bs_perm_info). The lock is a child span (.bs-perm-lock) — microtip owns ::before/::after. */
.bs-perm-off,
.bs-perm-off:hover,
.bs-perm-off:focus {
	color: #6a706c !important;
	background-color: #F2F4F3 !important;
	background-image: repeating-linear-gradient(-45deg, transparent 0, transparent 6px, rgba(107,155,98,.07) 6px, rgba(107,155,98,.07) 12px) !important;
	border-color: #C4C9C5 !important;
	border-style: dashed !important;
	opacity: .75;
	cursor: pointer !important;
	box-shadow: none;
	text-decoration: none;
	}
.bs-perm-off img, .bs-perm-off svg { filter: grayscale(1); }
.bs-perm-lock {
	display: inline-block; width: 1em; height: 1em; margin-right: .3em; vertical-align: -.12em; flex: none;
	background-color: currentColor;
	-webkit-mask: url(/images/icon_lock_1.svg) center / contain no-repeat;
	mask: url(/images/icon_lock_1.svg) center / contain no-repeat;
	}
/* Round icon chips of the task bar: the lock sits as a small badge in the corner instead of squeezing the icon
   (mockup sperren_statt_ausblenden, 11.11.2026) */
.bph-tbtn.bs-perm-off, #main_field_1 .bph-tbtn.ana.bs-perm-off { position: relative; overflow: visible; }
.bs23_menu_icon_0.bs-perm-off { position: relative; overflow: visible; }
.bs23_menu_icon_0.bs-perm-off > .bs-perm-lock,
.bph-tbtn.bs-perm-off > .bs-perm-lock { position: absolute; top: -3px; right: -3px; width: 14px; height: 14px; margin: 0; background-color: #6a706c; }
/* On small screens the text buttons of the task bar become round icons and hide their spans — keep the lock as a badge */
@media (max-width:1000px), (max-height:660px) {
	#main_field_1 .bph-btn.bs-perm-off { position: relative; overflow: visible; }
	#main_field_1 .bph-btn.bs-perm-off > .bs-perm-lock { display: inline-block; position: absolute; top: -3px; right: -3px; width: 14px; height: 14px; margin: 0; background-color: #6a706c; }
}
/* Group mode button brings its own lock icon (projectoverview) — no second one */
#pg_modus_gesperrt > .bs-perm-lock { display: none; }
/* Locked menu item (layouts/app.blade.php, data-perm-menu): the stripes come from bs-off, the click opens the popup */
.bs-nav[data-perm-menu] { cursor: pointer; }
/* Info popup of a locked control */
#bs_perm_info .bs-perm-info-text { margin: 12px 0 6px; }
.bs-perm-info-row { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 4px 12px; padding: 8px 0; border-bottom: 1px solid #F3F3F3; }
.bs-perm-info-row:last-of-type { border-bottom: 0; }
.bs-perm-info-person { display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; margin: 2px 0; }
.bs-perm-info-ava { width: 28px; height: 28px; border-radius: 50%; background: #DCEBD8; color: #3F6B37; display: flex; align-items: center; justify-content: center; flex: none; }
.bs-perm-info-msg:empty { display: none; }
@media (max-width: 600px) { .bs-perm-info-row { grid-template-columns: minmax(0, 1fr); } }

/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */
/* BETA mark in the left menu (24.10.2026, mockup proposal 2 "soft pill", uppercase): smaller and calmer
   than the title tag, right-aligned in the row (.sil / .nl take the free width). #3f6e43 on #EAF4E9 = 5.3:1.
   Hidden in the collapsed icon bar: bs_menu_redesign.css. */
.bs23_badge_beta_menu_1 {
	display: inline-flex; align-items: center; flex: none; margin-left: auto; padding: 2px 6px;
	line-height: 1; white-space: nowrap; letter-spacing: .04em; font-family: Abel, Helvetica, Arial, sans-serif;
	color: #3f6e43; background: #EAF4E9; border-radius: 999px;
	}
.bs-subitem.on .bs23_badge_beta_menu_1 { background: #fff; }

/* PILOT mark in the left menu (09.11.2026, mockups/pilot_user_liste_mockup_20261109.html): like BETA, in blue.
   #2C4870 on #E8F0F8 = 8.3:1. Hidden in the collapsed icon bar: bs_menu_redesign.css. */
.bs23_badge_pilot_menu_1 {
	display: inline-flex; align-items: center; flex: none; margin-left: auto; padding: 2px 6px;
	line-height: 1; white-space: nowrap; letter-spacing: .04em; font-family: Abel, Helvetica, Arial, sans-serif;
	color: #2C4870; background: #E8F0F8; border-radius: 999px;
	}
.bs-subitem.on .bs23_badge_pilot_menu_1 { background: #fff; }

/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */
/* BETA tag next to the page title (#bs_crumb) + bubble (24.10.2026, wissen/design.md).
   Pages: config/beta_pages.php. Mockup: mockups/beta_badge_titel_mockup_20261024.html.
   Colours: white on #4c8150 = 4.6:1, #3f6e43 on #EAF4E9 = 5.3:1 (12px text needs 4.5:1).
   z-index 140: above the crumb (110), top bar (120) and sidebar dropdowns (130), below every popup (Lity 200000). */
.bs23_badge_beta_1 {
	display: inline-flex; align-items: center; flex: none; line-height: 1; white-space: nowrap;
	font-weight: bold; letter-spacing: .06em; color: #fff; background: #4c8150;
	padding: 3px 8px 3px 12px; border-radius: 0 4px 4px 0; cursor: pointer; user-select: none;
	clip-path: polygon(7px 0, 100% 0, 100% 100%, 7px 100%, 0 50%);
}
.bs23_badge_beta_1::after {
	content: ""; border: 4px solid transparent; border-top-color: currentColor; margin: 4px 0 0 4px;
	transition: transform .16s;
}
.bs23_badge_beta_1:hover { background: #3f6e43; }
.bs23_badge_beta_1:focus-visible { outline: 2px solid #3f6e43; outline-offset: 2px; }
.bs23_badge_beta_1[aria-expanded="true"]::after { transform: rotate(180deg) translateY(4px); }

.bs23_beta_pop_1 {
	position: fixed; z-index: 140; width: 360px; max-width: calc(100vw - 16px); box-sizing: border-box;
	background: #fff; border: 1px solid #cfe5cd; border-top: 3px solid #4c8150; border-radius: 6px;
	box-shadow: 0 8px 24px rgba(0,0,0,.12); padding: 12px 14px; color: #242424; text-align: left;
	font-family: Abel, Helvetica, Arial, sans-serif;
	transform-origin: var(--ax, 24px) 0; transform: scaleY(.4) translateY(-6px); opacity: 0; visibility: hidden;
	transition: transform .16s ease-out, opacity .16s ease-out, visibility 0s .16s;
}
.bs23_beta_pop_1.is-open { transform: none; opacity: 1; visibility: visible; transition: transform .16s ease-out, opacity .16s ease-out; }
.bs23_beta_pop_1::before {
	content: ""; position: absolute; top: -10px; left: var(--ax, 24px); margin-left: -7px;
	border: 7px solid transparent; border-top: 0; border-bottom-color: #4c8150;
}
.bs23_beta_pop_1 .bs23_beta_pop_head { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.bs23_beta_pop_1 .bs23_beta_pop_head b { flex: 1; }
.bs23_beta_pop_1 .bs23_beta_pop_close {
	width: 24px; height: 24px; padding: 0; border: 0; border-radius: 4px; background: transparent; color: #6a706c;
	cursor: pointer; display: inline-flex; align-items: center; justify-content: center;
}
.bs23_beta_pop_1 .bs23_beta_pop_close::before {
	content: ""; width: 14px; height: 14px; background: currentColor;
	-webkit-mask: url(../images/alert_bar_close_1.svg) center/contain no-repeat; mask: url(../images/alert_bar_close_1.svg) center/contain no-repeat;
}
.bs23_beta_pop_1 .bs23_beta_pop_close:hover { background: #E7E9E8; color: #242424; }
.bs23_beta_pop_1 p { margin: 0 0 10px; color: #5c5c5c; line-height: 1.35; }
.bs23_beta_pop_1 .bs23_beta_pop_feedback { background: #EAF4E9; border-radius: 6px; padding: 10px 12px; margin: 0 0 10px; }
.bs23_beta_pop_1 .bs23_beta_pop_feedback b { color: #3f6e43; }
.bs23_beta_pop_1 .bs23_beta_pop_feedback p { margin: 4px 0 0; color: #242424; }
.bs23_beta_pop_1 .bs23_beta_pop_foot {
	display: flex; justify-content: space-between; align-items: center; gap: 8px;
	border-top: 1px solid #E7E9E8; padding-top: 10px;
}
.bs23_beta_pop_1 .bs23_beta_pop_ok { color: #4c8150; text-decoration: none; cursor: pointer; background: none; border: 0; padding: 0; font-family: inherit; }
.bs23_beta_pop_1 .bs23_beta_pop_ok:hover { text-decoration: underline; background: none; color: #3f6e43; }
.bs23_beta_pop_1 .bs23_beta_pop_send:hover { background: #5f9862; border-color: #5f9862; color: #fff; }
@media (prefers-reduced-motion: reduce) {
	.bs23_beta_pop_1, .bs23_beta_pop_1.is-open, .bs23_badge_beta_1::after { transition: none; }
}

/* LV compare (/lv/compare): note in a unit-price cell (0 / other unit / other quantity / calculation) and
   "n without price" next to a provider total in the chart legend — findings F1–F4, C2, C3 (24.10.2026) */
.bs23_lvcompare_note_1 { display: block; margin-top: 2px; line-height: 1.25; color: #b45309; white-space: normal; }
.bs23_lvcompare_missing_1 { margin-left: 6px; color: #b45309; white-space: nowrap; }

/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */
/* Mobile run Y0 (25.10.2026). jQuery UI dialogs: pages without style_screen.js have no dialogWidth_800 and open
   dialogs 800 px wide; on a phone they started at -205 px and widened the page. The cap keeps them on the
   screen (jQuery UI centres with the capped width). */
.ui-dialog {
	max-width: calc(100vw - 16px) !important;
	box-sizing: border-box;
	}
/* Phone landscape: an INFO dialog taller than the screen was docked off screen -> it fits and scrolls inside
   (only on low screens: elsewhere .ui-dialog-content keeps overflow visible for its dropdowns). */
@media (max-height: 500px) {
	.ui-dialog {
		max-height: calc(100vh - 16px);
		overflow-y: auto;
		}
	}
/* Help video popup (#helpvideo): the video shrinks to the screen height, so «verstanden» stays visible in
   landscape; the own x (stops the video) replaces the Lity close. */
.bs23_popup_video_1 video {
	display: block;
	width: auto;
	max-width: 100%;
	max-height: calc(100vh - 150px);
	margin: 0 auto;
	}
.lity:has(.lity-content .bs23_popup_video_1) .lity-close { display: none; }
/* Two-list selection (jQuery multiSelect, e.g. offer filter in tenderoverview): in portrait on a phone the lists
   stand one below the other, each with its own title; the common title row of the table is hidden there
   (run (e) Y0K P2, 26.10.2026). The fixed table layout keeps the 600px container from widening the popup. */
.bs23_ms_head_1 { display: none; text-align: center; margin: 6px 0 4px; }
@media (max-width: 600px) {
	.bs23_ms_table_1 { table-layout: fixed; }
	.bs23_ms_heads_1 { display: none; }
	.bs23_ms_table_1 .ms-container { width: 100%; background-image: none; }
	.bs23_ms_table_1 .ms-container .ms-selectable,
	.bs23_ms_table_1 .ms-container .ms-selection { float: none; width: 100%; }
	.bs23_ms_table_1 .ms-container .ms-list { height: 180px; }
	.bs23_ms_table_1 .bs23_ms_head_1 { display: block; }
	}

/* Two-tone icon «offer comparison» as CSS masks: green accent below, outline (currentColor) on top (26.10.2026). */
.bs23_icon_offer_compare_1 { position: relative; display: inline-block; width: 21px; height: 21px; flex: none; }
.bs23_icon_offer_compare_1::before,
.bs23_icon_offer_compare_1::after {
	content: ""; position: absolute; inset: 0;
	-webkit-mask-position: center; mask-position: center;
	-webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
	-webkit-mask-size: contain; mask-size: contain;
	}
.bs23_icon_offer_compare_1::before {
	background-color: #74AF74; /* same green as the PNG taskbar icons (icon_print_1.png) */
	-webkit-mask-image: url('/images/icon_offer_compare_1_accent.svg'); mask-image: url('/images/icon_offer_compare_1_accent.svg');
	}
.bs23_icon_offer_compare_1::after {
	background-color: #353535; /* same outline grey as the PNG taskbar icons */
	-webkit-mask-image: url('/images/icon_offer_compare_1.svg'); mask-image: url('/images/icon_offer_compare_1.svg');
	}

/* ==========================================================================
   bausync-Wissen LV (/ana/admin/knowledge, 31.10.2026) — prefix akw-
   Mockup: mockups/bausync-wissen-lv_mockup_20261031.html. The entry mask reuses the
   question mask of /lv/generator (gen-ov, gen-mod, qm-*) from lv_generator.css.
   ========================================================================== */
.akw-ic { display:inline-block; width:18px; height:18px; flex:none; background-color:currentColor;
	-webkit-mask:var(--akw-i) center/contain no-repeat; mask:var(--akw-i) center/contain no-repeat; }
.akw-ic-edit { --akw-i:url('/images/icon_akw_edit.svg'); }
.akw-ic-move { --akw-i:url('/images/icon_akw_move.svg'); }
.akw-ic-clock { --akw-i:url('/images/icon_akw_clock.svg'); }
.akw-ic-chev { --akw-i:url('/images/icon_akw_chev.svg'); }
.akw-ic-x { --akw-i:url('/images/icon_akw_x.svg'); }
.akw-ic-check { --akw-i:url('/images/icon_check_stroke_1.svg'); }
.akw-ic-kind-r { --akw-i:url('/images/icon_akw_kind_r.svg'); }
.akw-ic-kind-f { --akw-i:url('/images/icon_akw_kind_f.svg'); }
.akw-ic-kind-m { --akw-i:url('/images/icon_akw_kind_m.svg'); }
.akw-ic-kind-n { --akw-i:url('/images/icon_akw_kind_n.svg'); }
.akw-ic-kind-q { --akw-i:url('/images/icon_akw_kind_q.svg'); }
.akw-ic-kind-k { --akw-i:url('/images/icon_akw_kind_k.svg'); }
.akw-ic-kind-p { --akw-i:url('/images/icon_akw_kind_p.svg'); }
.akw-ic-kind-c { --akw-i:url('/images/icon_akw_kind_c.svg'); }
.akw-kind-ic { display:inline-flex; flex:none; }
.akn-chips .akw-ic { width:14px; height:14px; vertical-align:-2px; margin-right:4px; }

.akw-page { max-width:1280px; margin:0 auto; padding:0 16px 48px; box-sizing:border-box; color:#323232; }
.akw-grid { display:grid; grid-template-columns:310px minmax(0,1fr); gap:20px; align-items:start; margin-top:10px; }
.akw-side { display:flex; flex-direction:column; gap:10px; min-width:0; }
.akw-side .akw-full { width:100% !important; box-sizing:border-box; }
.akw-hits { color:#828282; padding:0 4px; }
.akw-hits a { font-size:12px; }
.akw-tree { background:#FAFAFA; border:1px solid #EEE; border-radius:10px; padding:8px; }
.akw-node { display:flex; align-items:center; gap:6px; padding:5px 8px; border-radius:8px; cursor:pointer; }
.akw-node:hover { background:#EEF5EC; }
.akw-node.on { background:#323232; color:#fff; }
.akw-node.on .akw-nr, .akw-node.on .akw-n { color:#fff; }
.akw-node .akw-tw, .akw-grph .akw-tw { width:14px; color:#9a9a9a; text-align:center; flex:none; }
.akw-nr { color:#1A6E9C; min-width:40px; }
.akw-node.gen .akw-nr { color:#6B4FA0; }
.akw-nm { flex:1; min-width:0; overflow-wrap:anywhere; }
.akw-n { color:#9a9a9a; }
.akw-kids { margin-left:14px; }
.akw-grph { display:flex; align-items:center; gap:8px; padding:8px; border-radius:8px; cursor:pointer; }
.akw-grph:hover { background:#EEF5EC; }
.akw-grph.on { background:#323232; color:#fff; }
.akw-grph.on .akw-n { color:#fff; }
.akw-grpsep { border-top:1px solid #E3E3E3; margin:4px; }
.akw-grpkids { margin-left:12px; padding-bottom:4px; }
.akw-more { padding:4px 8px 4px 28px; }
.akw-more a { font-size:12px; }
.akw-deleted-link { padding:2px 4px; }
/* active entry green, like the active menu entry and Firmenwissen (31.10.2026) */
#akw-tree .akw-node.on, #akw-tree .akw-grph.on { background:#6B9B62; color:#fff; }
#akw-tree .akw-node.on:hover, #akw-tree .akw-grph.on:hover { background:#5A8A51; }
/* search at the top of the table of contents (classes akn-search*, Firmenwissen) */
#akw-search .akn-search-x { position:absolute; top:50%; margin-top:-11px; width:22px; height:22px; right:5px; }
#akw-main .akn-chips { margin:4px 0 12px; }
.akw-deleted-link a { font-size:12px; color:#828282; }

.akw-ttlrow { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.akw-qmark { width:20px; height:20px; border-radius:50%; border:1px solid #BDBDBD; color:#828282; display:inline-flex;
	align-items:center; justify-content:center; cursor:help; flex:none; }
.akw-chain { color:#9a9a9a; margin:2px 0 12px; min-height:4px; }
.akw-chain a { font-size:12px; }
.akw-stack { position:relative; }
.akw-layer { position:relative; background:#fff; border:1px solid #E3E3E3; border-radius:10px; margin-bottom:10px; }
.akw-layer.own { border-color:#6B9B62; }
.akw-lh { display:flex; align-items:center; gap:8px; padding:8px 12px; cursor:pointer; }
.akw-layer.open .akw-lh { border-bottom:1px solid #F0F0F0; }
.akw-lh .akw-ic { width:14px; height:14px; color:#9a9a9a; transition:transform .15s; }
.akw-layer.open .akw-lh .akw-ic { transform:rotate(90deg); }
.akw-lh .akw-n { margin-left:auto; }
.akw-layer:not(.open) .akw-row, .akw-layer:not(.open) .akw-addrow, .akw-layer:not(.open) .akw-kgrp { display:none; }
.akw-kh { display:flex; align-items:center; gap:8px; padding:6px 12px 6px 24px; background:#FAFBFA; border-top:1px solid #F0F0F0; cursor:pointer; }
.akw-kh:hover { background:#F3F8F2; }
.akw-kh .akw-ic { width:14px; height:14px; }
.akw-kh .akw-ic-chev { color:#9a9a9a; transition:transform .15s; }
.akw-kgrp.open .akw-kh .akw-ic-chev { transform:rotate(90deg); }
.akw-kh .akw-n { margin-left:auto; }
.akw-kgrp .akw-row { padding-left:36px; }
.akw-typ { flex:0 0 150px; color:#6B6B6B; }
@media (max-width:760px) { .akw-typ { flex:none; } .akw-typ:empty { display:none; } }
.akw-row.open { background:#F7FAF6; align-items:flex-start; }
.akw-detail { display:flex; flex-direction:column; align-items:flex-start; gap:8px; padding:6px 0 4px; cursor:default; }
.akw-detail-x { white-space:pre-wrap; overflow-wrap:anywhere; }
.akw-row { display:flex; align-items:center; gap:8px; padding:8px 12px; border-top:1px solid #F0F0F0; cursor:pointer; }
.akw-row:hover { background:#F7FAF6; }
.akw-row .akw-t { flex:1; min-width:0; }
.akw-row.dim { opacity:.35; }
.akw-row .akw-rowsw { flex:none; display:inline-flex; margin-left:auto; opacity:0; }
.akw-row:hover .akw-rowsw, .akw-row:focus-within .akw-rowsw { opacity:1; }
.akw-row.off .akw-kind-ic, .akw-row.off .akw-t { opacity:.45; }
.akw-row.off .akw-tt { text-decoration:line-through; text-decoration-color:#BDBDBD; }
.akw-offtag { color:#828282; background:#F3F3F3; border-radius:10px; padding:0 8px; line-height:20px; white-space:nowrap; }
.akw-row .akw-act { opacity:0; display:flex; gap:4px; }
.akw-row:hover .akw-act, .akw-row:focus-within .akw-act { opacity:1; }
.akw-addrow { padding:8px 12px; border-top:1px solid #F0F0F0; }
.akw-addrow a { font-size:16px; }
.akw-empty { color:#828282; padding:12px; }
.akw-ibtn { width:28px; height:28px; border-radius:50%; border:1px solid #E3E3E3; background:#fff; color:#4B4B4B;
	display:inline-flex; align-items:center; justify-content:center; cursor:pointer; padding:0; }
.akw-ibtn:hover { background:#EEF5EC; border-color:#6B9B62; color:#4B4B4B; }
.akw-ibtn .akw-ic { width:14px; height:14px; }
.akw-kind { display:inline-flex; align-items:center; gap:5px; color:#525252; background:#F3F3F3; border-radius:10px;
	padding:0 8px; line-height:20px; white-space:nowrap; }
.akw-kind i { width:8px; height:8px; border-radius:50%; display:inline-block; }
.akw-bkp { display:inline-flex; align-items:center; gap:4px; color:#1A6E9C; background:#F0F8FE; border-radius:10px;
	padding:0 8px; line-height:22px; white-space:nowrap; }
.akw-muted { color:#828282; }
.akw-page mark, .akw-pop mark { background:#FFF3B0; color:inherit; border-radius:3px; padding:0 2px; }

/* entry mask — frame and sections from lv_generator.css (gen-ov / qm-*) */
#akw-ov .gen-mod { display:flex; flex-direction:column; max-height:calc(100vh - 52px); }
#akw-ov .gen-mhd, #akw-ov .gen-mft { flex:0 0 auto; }
#akw-ov .gen-mbd { flex:1 1 auto; min-height:0; overflow:auto; }
#akw-ov .gen-mhd .akw-mon { display:flex; align-items:center; gap:8px; font-size:16px; color:#6E7570; }
#akw-ov .bs-lock-banner { margin:0 0 6px; }
.qm.akw-qm { grid-template-columns:minmax(0,1fr); min-height:0; }
.akw-zwei { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; }
.akw-f { display:block; margin-bottom:12px; }
.akw-f > span { display:block; font-size:12px; color:#9AA09D; margin-bottom:4px; }
.akw-f .gen-in { width:100%; box-sizing:border-box; font-family:inherit; font-size:16px; }
.akw-f textarea.gen-in { min-height:130px; resize:vertical; }
.akw-bkplist { display:flex; flex-wrap:wrap; gap:6px; align-items:center; min-height:24px; }
.akw-bkplist .gen-chip { background:#F0F8FE; color:#1A6E9C; border:1px solid #CFE0EC; font-size:12px; }
.akw-bkplist .gen-chip a { font-size:12px; color:#1A6E9C; }
.akw-bkpadd { margin-top:6px; border:1px solid #E7E9E8; background:#fff; color:#6E7570; border-radius:3px;
	font-family:inherit; font-size:12px; padding:4px 10px; cursor:pointer; }
.akw-bkpadd:hover { border-color:#5D9660; color:#4F7A49; background:#F1F7F1; }
.akw-bkppick { margin-top:6px; }
.akw-kw { display:flex; flex-wrap:wrap; gap:5px; }
.akw-kw span { font-size:12px; color:#543C7A; background:#F4F0FA; border-radius:3px; padding:2px 8px; }
.akw-anabtn { margin-top:10px; border:1px solid #DCD2EC; background:#fff; color:#543C7A; border-radius:3px;
	font-family:inherit; font-size:12px; padding:7px 13px; cursor:pointer; }
.akw-anabtn:hover { background:#F4F0FA; border-color:#543C7A; color:#543C7A; }
.akw-anabtn[disabled] { opacity:.5; cursor:wait; }
.akw-ananote { margin-top:8px; font-size:12px; color:#543C7A; }
.gen-mft .st a.akw-hist { font-size:12px; }

/* other popups (Lity) */
.akw-pop { width:820px; max-width:calc(100vw - 32px); padding:20px 22px; box-sizing:border-box; position:relative; background:#fff; }
.akw-pop.schmal { width:600px; }
/* D2 (03.11.2026): built-in prompt section S1–S7, read only */
.akw-pre { white-space:pre-wrap; word-break:break-word; font-family:Consolas, monospace; background:#F7F8F7; border:1px solid #E7E9E8; border-radius:6px; padding:10px 12px; margin:10px 0 0; max-height:60vh; overflow:auto; color:#4B4B4B; }
.akw-pop h3 { margin:0 0 12px; font-weight:normal; padding-right:44px; }
.akw-popfoot { display:flex; gap:8px; align-items:center; margin-top:16px; flex-wrap:wrap; }
.akw-popfoot .akw-sp { flex:1; }
.akw-tr-err { color:#C62828; background:#FEF4F5; border:1px solid #E57373; border-radius:8px; padding:8px 10px; margin:10px 0; max-height:160px; overflow:auto; }
.akw-fld { margin-bottom:12px; }
.akw-fld > label, .akw-fld > .akw-lbl { display:block; color:#828282; margin-bottom:4px; }
.akw-fld .akw-full { width:100% !important; box-sizing:border-box; }
.akw-two { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; }
.akw-box { background:#FAFAFA; border-radius:8px; padding:10px 12px; }
.akw-ba { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px; }
.akw-ba .b { border-left:4px solid #E57373; background:#FDF6F6; border-radius:0 8px 8px 0; padding:8px 10px; white-space:pre-line; }
.akw-ba .g { border-left:4px solid #6B9B62; background:#F6FAF6; border-radius:0 8px 8px 0; padding:8px 10px; white-space:pre-line; }
.akw-testlist { border:1px solid #E3E3E3; border-radius:10px; max-height:300px; overflow:auto; }
.akw-testlist .akw-row { cursor:default; }
.akw-tl { border-collapse:collapse; width:100%; }
.akw-tl td, .akw-tl th { text-align:left; padding:7px 8px; border-bottom:1px solid #F0F0F0; vertical-align:top; font-size:16px; }
.akw-tl th { color:#9a9a9a; font-weight:normal; }
.akw-drop { border:2px dashed #BDBDBD; border-radius:10px; padding:18px; text-align:center; color:#828282; cursor:pointer; }
.akw-drop.on { border-color:#6B9B62; background:#F6FAF6; }
.akw-steps { display:flex; gap:6px; margin-bottom:12px; color:#9a9a9a; flex-wrap:wrap; }
.akw-steps b { color:#323232; font-weight:normal; }
.akw-busy { color:#543C7A; padding:10px 0; }

/* Ana panel on /ana/admin/knowledge (skill knowledge_edit, 31.10.2026) — fixed right column like the LV editor */
:root { --akw-ana-w:min(380px, 92vw); }
.akw-ana { position:fixed; top:0; right:0; height:100vh; width:var(--akw-ana-w); background:#F7F7F7; box-shadow:-8px 0 30px rgba(0,0,0,.16);
	transform:translateX(100%); transition:transform .28s ease; z-index:9998; display:flex; flex-direction:column; }
body.akw-ana-open .akw-ana { transform:translateX(0); }
body.akw-ana-open .akw-page { max-width:calc(1280px + var(--akw-ana-w)); padding-right:calc(var(--akw-ana-w) + 16px); }
.akw-ana-head { flex:none; display:flex; align-items:center; gap:10px; padding:10px 12px; background:#fff; border-bottom:1px solid #ECECEC; }
.akw-ana-avatar { width:30px; height:30px; border-radius:50%; flex:none; background:url('/images/portrait_ai.png') center 20%/cover no-repeat; }
.akw-ana-title { flex:1; color:#2A2A2A; }
.akw-ana-where { flex:none; display:flex; flex-direction:column; gap:6px; padding:10px 12px; background:#F5FBF4; border-bottom:1px solid #DDEBDA; }
.akw-ana-place, .akw-ana-entry { display:flex; align-items:center; gap:8px; min-width:0; }
.akw-ana-k { color:#6E7570; flex:none; }
.akw-ana-v { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#323232; }
.akw-ana-entry { background:#fff; border:1px solid #CFE3CB; border-radius:8px; padding:4px 4px 4px 8px; }
.akw-ana-hint { color:#828282; }
.akw-ana-frame { flex:1 1 auto; width:100%; border:0; background:#F7F7F7; }
.akw-row.ana-on { box-shadow:inset 3px 0 0 #6B9B62; background:#F5FBF4; }

@media (max-width:1000px) {
	.akw-grid { grid-template-columns:minmax(0,1fr); }
	.akw-row .akw-act, .akw-row .akw-rowsw { opacity:1; }
}
@media (max-width:700px) {
	.akw-two, .akw-ba, .akw-zwei { grid-template-columns:minmax(0,1fr); }
	.akw-row { flex-wrap:wrap; }
	.akw-row .akw-t { flex-basis:100%; order:3; }
}

/* ==========================================================================
   Firmenwissen (/ana/knowledge, 31.10.2026) — prefix akn-
   Mockup: mockups/firmenwissen_mockup_20261030.html. Sidebar, tree, rows and mask
   reuse the akw-* classes above; only what Firmenwissen has on top is here.
   ========================================================================== */
.akn-chips { display:flex; flex-wrap:wrap; gap:6px 3px; margin:10px 0 14px; }
.akn-chips .akw-n { color:#9a9a9a; }
.akn-meta { display:inline-flex; flex-wrap:wrap; gap:6px; align-items:center; margin-top:4px; }
.akn-prop { color:#856404; background:#FFFCF0; border:1px solid #F0C724; border-radius:10px; padding:0 8px; line-height:18px; white-space:nowrap; }
.akn-warn { color:#856404; }
.akw-node.akn-empty .akw-nm, .akw-node.akn-empty .akw-nr { color:#BDBDBD; }
.akw-node.akn-empty.on .akw-nm, .akw-node.akn-empty.on .akw-nr { color:#fff; }
/* active node green, like the active menu entry (Marc 31.10.2026) */
#akn-tree .akw-node.on { background:#6B9B62; color:#fff; }
#akn-tree .akw-node.on:hover { background:#5A8A51; }
select.gen-in.akn-proj { width:auto; max-width:100%; margin-left:8px; }
#akn-main .akw-layer:before { display:none; }
/* entry mask: head and footer stay, only the body scrolls (as #akw-ov) */
#akn-ov .gen-mod { display:flex; flex-direction:column; max-height:calc(100vh - 52px); }
#akn-ov .gen-mhd, #akn-ov .gen-mft { flex:0 0 auto; }
#akn-ov .gen-mbd { flex:1 1 auto; min-height:0; overflow:auto; }
#akn-ov .gen-mhd .akw-mon { display:flex; align-items:center; gap:8px; font-size:16px; color:#6E7570; }
#akn-ov .bs-lock-banner { margin:0 0 6px; }
/* «Speichern»: Ana checks the text — proposal, chat, confirm (31.10.2026) */
.akn-rv { padding:16px 22px 18px; }
.akn-rv-head { display:flex; align-items:center; gap:10px; margin-bottom:12px; }
.akn-rv-bub { width:34px; height:34px; border-radius:50%; background:#6B4FA0; color:#fff; display:inline-flex; align-items:center; justify-content:center; flex:none; }
.akn-rv-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); gap:14px; }
.akn-rv-l { display:block; font-size:12px; color:#9AA09D; margin-bottom:4px; }
.akn-rv-orig { background:#F7F8F7; border:1px solid #E7E9E8; border-radius:3px; padding:8px 10px; line-height:1.7; color:#6E7570; min-height:110px; white-space:pre-line; font-size:16px; }
textarea.gen-in.akn-rv-prop { width:100%; box-sizing:border-box; min-height:160px; resize:vertical; border-color:#DCD2EC; background:#FAF8FD; }
.akn-rv-note { margin-top:8px; border-left:3px solid #E0A800; background:#FFFCF0; padding:6px 10px; border-radius:0 6px 6px 0; color:#7A5A12; }
.akn-rv-chat { margin-top:14px; border-top:1px solid #F0F2F1; padding-top:12px; }
.akn-rv-msg { display:flex; margin-bottom:8px; }
.akn-rv-msg > span { background:#F4F0FA; color:#3A2C55; border-radius:12px; padding:6px 12px; max-width:80%; white-space:pre-line; }
.akn-rv-msg.me { justify-content:flex-end; }
.akn-rv-msg.me > span { background:#4B4B4B; color:#fff; }
.akn-rv-busy { opacity:.7; }
.akn-rv-in { display:flex; gap:8px; align-items:center; }
.akn-rv-in input[type=text] { flex:1; min-width:0; }
.akn-rv-wait { text-align:center; padding:60px 10px; color:#6B4FA0; }
.akn-rv-wait i { display:inline-block; width:22px; height:22px; border-radius:50%; border:3px solid #DCD2EC; border-top-color:#6B4FA0;
	animation:akn-rv-spin 1s linear infinite; vertical-align:middle; margin-right:8px; }
@keyframes akn-rv-spin { to { transform:rotate(360deg); } }
@media (max-width:760px) { .akn-rv-grid { grid-template-columns:minmax(0,1fr); } .akn-rv { padding:12px; } }
/* search top left (like lv/overview, green focus) */
.akn-search { position:relative; display:flex; align-items:center; }
.akn-search-ic { position:absolute; left:11px; width:14px; height:14px; background-color:#9a9a9a; pointer-events:none;
	-webkit-mask:url('/images/icon_akn_search.svg') center/contain no-repeat; mask:url('/images/icon_akn_search.svg') center/contain no-repeat; }
input.akn-search-in { flex:1 1 auto; min-width:0; margin:0; width:100%; box-sizing:border-box; height:32px; padding:0 30px 0 32px; border:1px solid #E3E3E3; border-radius:16px; background:#fff;
	font-family:Abel, Helvetica, Arial, sans-serif; color:#4B4B4B; box-shadow:0 1px 2px rgba(0,0,0,.04); transition:border-color .15s, box-shadow .15s; }
input.akn-search-in::placeholder { color:#BDBDBD; font-style:normal; }
input.akn-search-in:focus { outline:none; border-color:#6B9B62; box-shadow:0 0 0 3px rgba(107,155,98,.15); }
.akn-search:focus-within .akn-search-ic { background-color:#6B9B62; }
.akn-search-x { position:absolute; right:8px; width:24px; height:24px; border:0; border-radius:50%; background:transparent; color:#888;
	font-size:18px; line-height:1; cursor:pointer; display:none; align-items:center; justify-content:center; padding:0; }
.akn-search.has-text .akn-search-x { display:inline-flex; }
/* a global button rule sets position:relative — keep the × inside the field */
#akn-search .akn-search-x { position:absolute; top:50%; margin-top:-11px; width:22px; height:22px; right:5px; }
.akn-toc .akn-search { margin:0 0 6px; }
.akw-lang { display:block; margin:0 0 6px; }
.akw-lang select { width:100%; box-sizing:border-box; }
.akn-toc .akw-hits { padding:0 8px 4px; }
.akn-search-x:hover { background:#F0F0F0; color:#2F2F2F; }
/* delete = deactivate, trash icon in the row (31.10.2026) */
.akn-ic-trash { --akw-i:url('/images/icon_akn_trash.svg'); }
.akw-ibtn.akn-del:hover { background:#FDF3F3; border-color:#C46A6A; color:#8A3535; }


/* /support popup (topic freshdesk, 04.11.2026): slider design 2 + green info column 3.
   Markup resources/views/support_request.blade.php, JS public/js/support_request.js */
.bs23_popup_1.bs23_support_req { padding:0; width:700px; max-width:calc(100vw - 32px); display:grid; grid-template-columns:220px 1fr; box-sizing:border-box; --sr-u:#0E6FA3; }
.bs23_popup_1.bs23_support_req.lity-hide { display:none; }
.bs23_support_req button, .bs23_support_req select, .bs23_support_req input, .bs23_support_req textarea { font-family:inherit; }
.bs23_support_req_side { background:#6B9B62; color:#FFFFFF; padding:22px 18px; display:flex; flex-direction:column; gap:14px; }
.bs23_support_req_side b { display:block; color:#FFFFFF; }
.bs23_support_req_side a, .bs23_support_req_side a:hover { color:#FFFFFF; text-decoration:underline; }
.bs23_support_req_sla { display:grid; grid-template-columns:auto auto 1fr; gap:3px 7px; align-items:center; margin-top:4px; }
.bs23_support_req_sla span { opacity:.75; padding:2px 0; }
.bs23_support_req_sla span.on { opacity:1; font-weight:bold; }
.bs23_support_req_dot { width:9px; height:9px; border-radius:50%; border:1.5px solid #FFFFFF; box-sizing:border-box; }
.bs23_support_req_dot.on { background:#FFFFFF; }
.bs23_support_req_disc { opacity:.85; margin-top:8px; flex-basis:100%; }
.bs23_support_req_me { margin-top:auto; border-top:1px solid rgba(255,255,255,.35); padding-top:12px; }
.bs23_support_req_band { display:none; }
.bs23_support_req_main { padding:20px 22px 18px; position:relative; min-width:0; }
.bs23_support_req_main .bs23_box_popup_close_1 { top:8px; right:8px; }
.bs23_support_req_lbl { display:flex; justify-content:space-between; align-items:baseline; gap:8px; margin:14px 0 6px; color:#525252; }
.bs23_support_req_muted { color:#767676; }
.bs23_support_req select, .bs23_support_req input[type=text], .bs23_support_req input[type=email], .bs23_support_req input[type=tel] { width:100%; box-sizing:border-box; }
.bs23_support_req textarea { width:100%; min-height:90px; box-sizing:border-box; resize:vertical; }
.bs23_support_req_two { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.bs23_support_req_range { -webkit-appearance:none; appearance:none; width:100%; height:8px; border-radius:4px; outline:none; margin:6px 0 4px; padding:0; border:0;
	background:linear-gradient(90deg, #8C9A8E 0%, #0E6FA3 35%, #C77700 68%, #C0392B 100%); }
.bs23_support_req_range::-webkit-slider-thumb { -webkit-appearance:none; width:22px; height:22px; border-radius:50%; background:#FFFFFF; border:4px solid var(--sr-u); cursor:pointer; box-shadow:0 1px 4px rgba(0,0,0,.3); box-sizing:border-box; }
.bs23_support_req_range::-moz-range-thumb { width:14px; height:14px; border-radius:50%; background:#FFFFFF; border:4px solid var(--sr-u); cursor:pointer; }
.bs23_support_req_ticks { display:flex; justify-content:space-between; color:#767676; }
.bs23_support_req_ticks span { cursor:pointer; }
.bs23_support_req_ticks span.on { color:#323232; }
.bs23_support_req_uval { font-weight:bold; }
.bs23_support_req_hint { border-radius:8px; padding:6px 10px; margin-top:8px; background:#EEF6FB; color:#0B5A85; }
.bs23_support_req_att, .bs23_support_req_att:hover { color:#0E6FA3; cursor:pointer; }
.bs23_support_req_files { color:#767676; margin-top:4px; }
.bs23_support_req_err { border-radius:8px; padding:8px 10px; margin-top:12px; background:#FBF0EF; color:#A93226; }
.bs23_support_req_foot { display:flex; justify-content:flex-end; align-items:center; gap:8px; margin-top:16px; flex-wrap:wrap; }
.bs23_support_req_send { border:0; border-radius:8px; background:#6B9B62; color:#FFFFFF; padding:8px 16px; cursor:pointer; }
.bs23_support_req_send:hover { background:#5A8752; color:#FFFFFF; }
.bs23_support_req_send:disabled { opacity:.6; cursor:default; }
.bs23_support_req_cancel { border:1px solid #CFCFCF; border-radius:8px; background:#FFFFFF; color:#525252; padding:8px 14px; cursor:pointer; }
.bs23_support_req_cancel:hover { background:#F1F2F1; color:#323232; }
.bs23_support_req_done { text-align:center; padding:30px 10px; }
.bs23_support_req_ok { width:56px; height:56px; border-radius:50%; background:#EAF4E9; color:#336B35; display:flex; align-items:center; justify-content:center; margin:0 auto 10px; }
@media (max-width:620px) {
	.bs23_popup_1.bs23_support_req { grid-template-columns:1fr; }
	.bs23_support_req_side { display:none; }
	.bs23_support_req_band { display:flex; flex-wrap:wrap; gap:10px; align-items:center; background:#6B9B62; color:#FFFFFF; padding:12px 44px 12px 16px; }
	.bs23_support_req_band b { color:#FFFFFF; }
	.bs23_support_req_main { padding:16px; }
	.bs23_support_req_main .bs23_box_popup_close_1 { top:-46px; }
	.bs23_support_req_two { grid-template-columns:1fr; }
	.bs23_support_req_foot button { flex:1; }
}

/* Trial bar on the project overview: link to the subscription page (wissen/brevo.md, 05.11.2026) */
.menu_top_testing_1 a.bs23_trial_link_1 { color:#FFFFFF; text-decoration:underline; white-space:nowrap; }
.menu_top_testing_1 a.bs23_trial_link_1:hover { color:#FFFFFF; text-decoration:none; }

/* 07.11.2026: mode of a generator template (LV generator: card, page, profile) — template = questions + fixed texts, dynamic = «Vorlage + Wissen» */
.gen-mode { display:inline-flex; align-items:center; border-radius:10px; padding:1px 8px; white-space:nowrap; border:1px solid transparent; }
.gen-mode-template { background:#E8F1FB; color:#2F5F93; border-color:#B9D1EC; }
.gen-mode-dynamic { background:#EEF7EE; color:#3E7B3E; border-color:#9CC89C; }


/* ==========================================================================
   Speicherplatz (wissen/storage.md, 07.11.2026) — /company/storage, /admin/storage,
   page "Dateien archiviert". Font sizes come from bs23_label_size_* in the markup.
   ========================================================================== */
.bs23_storage_wrap { display: flex; flex-direction: column; gap: 14px; }
.bs23_storage_card { background: #FFFFFF; border-radius: 8px; padding: 16px 18px; box-sizing: border-box; }
.bs23_storage_row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.bs23_storage_row .bs23_storage_sp { flex: 1; }
.bs23_storage_muted { color: #5F5F5F; }
.bs23_storage_bar { display: flex; height: 22px; border-radius: 6px; overflow: hidden; background: #E9E9E9; margin: 10px 0 6px; position: relative; }
.bs23_storage_bar span { display: block; height: 100%; }
.bs23_storage_bar .bs23_storage_mark { position: absolute; top: 0; bottom: 0; width: 2px; background: #353535; }
.bs23_storage_legend { display: flex; flex-wrap: wrap; gap: 6px 16px; color: #323232; }
.bs23_storage_legend i { display: inline-block; width: 11px; height: 11px; border-radius: 3px; margin-right: 6px; vertical-align: -1px; }
.bs23_storage_kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
.bs23_storage_kpi { background: #F7F7F7; border-radius: 8px; padding: 10px 12px; color: #5F5F5F; }
.bs23_storage_kpi b { display: block; font-weight: normal; color: #323232; }
.bs23_storage_table_wrap { overflow-x: auto; }
.bs23_storage_table { width: 100%; border-collapse: collapse; }
.bs23_storage_table th { text-align: left; font-weight: normal; color: #5F5F5F; border-bottom: 1px solid #E5E5E5; padding: 7px 8px; white-space: nowrap; }
.bs23_storage_table td { border-bottom: 1px solid #E5E5E5; padding: 7px 8px; vertical-align: middle; }
.bs23_storage_table td.bs23_storage_n, .bs23_storage_table th.bs23_storage_n { text-align: right; white-space: nowrap; }
.bs23_storage_mini { display: inline-block; width: 90px; height: 8px; background: #E9E9E9; border-radius: 4px; overflow: hidden; vertical-align: middle; margin-right: 6px; }
.bs23_storage_mini span { display: block; height: 100%; background: #168DCB; }
.bs23_storage_chip { display: inline-block; padding: 1px 8px; border-radius: 10px; white-space: nowrap; }
.bs23_storage_chip_ok { background: #E8F0E5; color: #3F6339; }
.bs23_storage_chip_warn { background: #FBEEDD; color: #7A4306; }
.bs23_storage_chip_bad { background: #FBE7E7; color: #7D1A1A; }
.bs23_storage_chip_info { background: #E8F0F8; color: #2C4870; }
.bs23_storage_chip_grey { background: #EEEEEE; color: #555555; }
.bs23_storage_actions { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.bs23_storage_note { border-left: 5px solid #168DCB; background: #E8F0F8; color: #2C4870; padding: 9px 12px; border-radius: 6px; }
.bs23_storage_note_ok { border-color: #6B9B62; background: #E8F0E5; color: #3F6339; }
.bs23_storage_note_bad { border-color: #C62828; background: #FBE7E7; color: #7D1A1A; }
.bs23_storage_popup { width: 520px; max-width: calc(100vw - 32px); box-sizing: border-box; }
.bs23_storage_popup .bs23_storage_body { padding: 18px 22px; display: flex; flex-direction: column; gap: 12px; }
.bs23_storage_archived { max-width: 620px; margin: 40px auto; }
.bs23_storage_archived h1 { font-weight: normal; margin: 0 0 8px; color: #2C4870; }
.bs23_storage_icon { display: inline-block; width: 26px; height: 26px; background: currentColor; vertical-align: -5px; margin-right: 8px;
	-webkit-mask: url('../images/storage_archived_icon_1.svg') center / contain no-repeat; mask: url('../images/storage_archived_icon_1.svg') center / contain no-repeat; }
.bs23_storage_admin_grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
@media (max-width: 800px) {
	.bs23_storage_kpis, .bs23_storage_admin_grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* /admin/data-packages (Admin/data_packages*.blade.php) — uses the ".bs23_storage_*" block, plus: */
.bs23_dp_hidden { display: none !important; }
.bs23_dp_gap { margin-top: 10px; }
.bs23_dp_title { margin-bottom: 8px; }
.bs23_dp_pack { margin: 0; }
.bs23_dp_pick { position: relative; display: inline-flex; align-items: center; cursor: pointer; }
.bs23_dp_pick input[type=file] { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; }
.bs23_dp_progress { margin-top: 10px; }
.bs23_dp_bar_fill { background: #168DCB; width: 0; transition: width .2s; }
.bs23_dp_list { margin: 8px 0 0 18px; padding: 0; columns: 2; }

/* ==========================================================================
   CRB-Lizenzen (wissen/crb.md, CRB-LV Schritt 3, 08.11.2026) — /crb/licences and the
   lock banner of the NPK editor + measurement sheet. Same look as the ".bs23_storage_*" block
   (a near copy, deliberately not merged yet: other sessions edit this file); font sizes come
   from bs23_label_size_* in the markup.
   ========================================================================== */
.bs23_crblic_wrap { display: flex; flex-direction: column; gap: 14px; }
.bs23_crblic_card { background: #FFFFFF; border-radius: 8px; padding: 16px 18px; box-sizing: border-box; }
.bs23_crblic_head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
.bs23_crblic_head .bs23_crblic_sp { flex: 1; }
.bs23_crblic_row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.bs23_crblic_muted { color: #5F5F5F; }
.bs23_crblic_kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px; }
.bs23_crblic_kpi { background: #F7F7F7; border-radius: 8px; padding: 10px 12px; color: #5F5F5F; min-width: 0; overflow-wrap: anywhere; }
.bs23_crblic_kpi b { display: block; font-weight: normal; color: #323232; }
.bs23_crblic_table_wrap { overflow-x: auto; }
.bs23_crblic_table { width: 100%; border-collapse: collapse; }
.bs23_crblic_table th { text-align: left; font-weight: normal; color: #5F5F5F; border-bottom: 1px solid #E5E5E5; padding: 7px 8px; white-space: nowrap; }
.bs23_crblic_table td { border-bottom: 1px solid #E5E5E5; padding: 7px 8px; vertical-align: middle; }
.bs23_crblic_table td.bs23_crblic_act { text-align: right; white-space: nowrap; }
.bs23_crblic_assign { display: flex; align-items: stretch; gap: 10px; flex-wrap: wrap; margin-top: 12px; }
.bs23_crblic_assign select { min-width: 260px; }
.bs23_crblic_assign button { margin: 0; }   /* stretched to the 36px of bs23_dropdown_1 */
.bs23_crblic_limit { align-items: center; }
.bs23_crblic_limit label { color: #5F5F5F; }
.bs23_crblic_limit input { width: 90px; height: 36px; box-sizing: border-box; }   /* as high as the buttons */
.bs23_crblic_chip { display: inline-block; padding: 1px 8px; border-radius: 10px; white-space: nowrap; }
.bs23_crblic_chip_ok { background: #E8F0E5; color: #3F6339; }
.bs23_crblic_chip_warn { background: #FBEEDD; color: #7A4306; }
.bs23_crblic_chip_bad { background: #FBE7E7; color: #7D1A1A; }
.bs23_crblic_chip_grey { background: #EEEEEE; color: #555555; }
.bs23_crblic_note { border-left: 5px solid var(--bs_blue_1); background: #E8F0F8; color: #2C4870; padding: 9px 12px; border-radius: 6px; }
.bs23_crblic_note_ok { border-color: var(--bs_green_1); background: #E8F0E5; color: #3F6339; }
.bs23_crblic_note_bad { border-color: #C62828; background: #FBE7E7; color: #7D1A1A; }
.bs23_crblic_seats_result { margin-top: 10px; }
.bs23_crblic_seats_result:empty { display: none; }
.bs23_crblic_seats_list { margin-top: 6px; font-family: monospace; white-space: pre; color: #5F5F5F; overflow-x: auto; }
.bs23_crblic_popup { width: 520px; max-width: calc(100vw - 32px); box-sizing: border-box; }
.bs23_crblic_popup .bs23_crblic_body { padding: 18px 22px; display: flex; flex-direction: column; gap: 12px; }
.bs23_crblic_popup .bs23_crblic_body label { display: flex; flex-direction: column; gap: 4px; color: #5F5F5F; }
.bs23_crblic_popup .bs23_crblic_body input { height: 36px; box-sizing: border-box; }   /* as high as bs23_dropdown_1 */
.bs23_crblic_actions { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
@media (max-width: 800px) {
	.bs23_crblic_kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Lock banner (read mode) — ONE look for "you may only read here", used by the NPK editor and the
   NPK measurement sheet (crb/lv/editor.blade.php, crb/lv/measurement.blade.php). Information, not
   an error, hence no red. 6b5415 on FBF6E7 measures 6.9:1 — as a graphic well above the 3:1 a
   functional shape needs. The icon is the CSS mask of public/images/icon_lock_1.svg. */
.bs23_lock_banner_1 { display: flex; align-items: flex-start; gap: 12px; margin: 0 0 14px; padding: 12px 16px;
	border: 1px solid #E0D9C6; border-left: 3px solid #C9A227; border-radius: 8px; background: #FBF6E7; }
.bs23_lock_banner_1[hidden] { display: none; }
.bs23_lock_banner_1_icon { flex: 0 0 auto; width: 22px; height: 22px; background: #6b5415;
	-webkit-mask: url('../images/icon_lock_1.svg') center / contain no-repeat; mask: url('../images/icon_lock_1.svg') center / contain no-repeat; }
.bs23_lock_banner_1_text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.bs23_lock_banner_1_text b { color: #5C4A12; }
.bs23_lock_banner_1_text span { color: #6b5415; }
.bs23_lock_banner_1_btn { flex: 0 0 auto; margin-left: auto; align-self: center; }
.bs23_lock_banner_1_btn[hidden] { display: none; }

/* NPK-LV chapters (CRB-LV step 4, crb/lv/editor.blade.php) — one tab per NPK chapter above the
   tree, 102 always first; the active chapter's header (product + number, title, edition · version ·
   language). The document type of the LV sits in the LV header next to the version switch.
   Tab look = .lv-settings-tab (green underline, same values), see /design 7b; new here only the
   max width with ellipsis, the focus ring and the sticky bar.
   Icons are CSS masks: icon_add.svg (add), icon_trash_2.svg (remove), icon_search_stroke_1.svg. */
/* The bar stays in view while the LV scrolls: sticky right below the fixed navigation (top bar + #bs_crumb
   + banners, the same terms as .bph-barrow in bs_page_header.css) and the sticky task bar (.bph-barrow,
   68px high) = 155px without banners; z-index below their 22.
   Background = page background (body #EDEDED), so the tree slides under it. */
.bs23_crblv_chapbar { position: sticky; z-index: 20;
	top: calc(var(--top-h, 43px) + var(--crumb-h, 44px) + var(--alert-h, 0px) + var(--fatal-h, 0px) + 68px);
	display: flex; align-items: flex-end; flex-wrap: wrap; gap: 4px; padding: 0 4px;
	border-bottom: 1px solid #E8E8E8; background: #EDEDED; }
/* The sticky task bar row above (.bph-barrow) is transparent on purpose (bs_page_header.css). Here the
   chapter tabs stick right below it, so the LV and the catalogue would shine through between the
   breadcrumb and the tabs: page background for this page only; the band takes its clicks so nothing
   hidden behind it can be hit. */
#main_field_1:has(#crb-lv-chapbar) .bph-barrow { background: #EDEDED; pointer-events: auto; }
/* Narrow / low windows (the breakpoint of bs_style_main_small.css and bs_page_header.css): the task bar
   row is in the flow there, only top bar + breadcrumb stay fixed. Two things change for the tabs:
   - top = top bar + breadcrumb (+ banners), without the 68px of the task bar row — measured at 760px:
     with 155px the bar was pushed 155px below the top of its frame, over the LV header;
   - bs_style_main_small.css sets `overflow-x: hidden !important` on .bs23_frame_0 / .bs23_frame_2c, which
     makes both frames scroll containers that never scroll: sticky then counts from the frame, not from
     the window. `clip` cuts the same overflow without becoming a scroll container (page only). */
@media (max-width: 1000px), (max-height: 660px) {
	.bs23_crblv_chapbar { top: calc(var(--top-h, 43px) + var(--crumb-h, 38px) + var(--alert-h, 0px) + var(--fatal-h, 0px)); }
	#main_field_1 .bph-page:has(#crb-lv-chapbar),
	#main_field_1 .bph-page:has(#crb-lv-chapbar) > .bs23_frame_2c { overflow-x: clip !important; }
}
.bs23_crblv_chaptabs { display: contents; }
.bs23_crblv_chaptabs + .bs23_crblv_chapadd { margin-left: auto; }
.bs23_crblv_chaptab { display: inline-flex; align-items: center; gap: 6px; max-width: 280px; padding: 10px 16px; margin-bottom: -1px;
	background: transparent; border: 0; border-bottom: 2px solid transparent; color: #888; cursor: pointer;
	font-family: abel, sans-serif; transition: color .15s, border-color .15s; }
.bs23_crblv_chaptab b { color: inherit; font-weight: 600; }
.bs23_crblv_chaptab_title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bs23_crblv_chaptab:hover { color: #fff; background: var(--bs_green_1); }
.bs23_crblv_chaptab.is-active { color: var(--bs_green_1); border-bottom-color: var(--bs_green_1); font-weight: 600; }
.bs23_crblv_chaptab.is-active:hover { color: #fff; background: var(--bs_green_1); }
.bs23_crblv_chaptab:focus { outline: none; }
.bs23_crblv_chaptab:focus-visible,
.bs23_crblv_chapadd:focus-visible,
.bs23_crblv_removebtn:focus-visible,
.bs23_crblv_picker_row:focus-visible,
.bs23_crblv_cat_toggle:focus-visible,
.bs23_crblv_cat.is-collapsed .bs23_crblv_cat_rail:focus-visible,
.cg-btn-small.bs23_crblv_npk_btn_locked:focus-visible { outline: 2px solid var(--bs_green_1); outline-offset: -2px; }
/* «+ Kapitel» is an action, not a tab: green text, the soft hover of .lv-topbar-btn, at the right end */
.bs23_crblv_chapadd { display: inline-flex; align-items: center; gap: 6px; align-self: center; height: 34px; padding: 0 12px; margin: 4px 0;
	background: transparent; border: 1px solid transparent; border-radius: 8px; color: var(--bs_green_1); cursor: pointer;
	font-family: abel, sans-serif; transition: border-color .18s, background-color .18s; }
.bs23_crblv_chapadd:hover { background: #f5faf5; border-color: var(--bs_green_1); color: var(--bs_green_1); }
/* icons as child spans: ::before/::after of a button with aria-label belong to the microtip */
.bs23_crblv_icon { flex: 0 0 auto; display: inline-block; width: 16px; height: 16px; background: currentColor; }
.bs23_crblv_icon_add { width: 14px; height: 14px;
	-webkit-mask: url('../images/icon_add.svg') center / contain no-repeat; mask: url('../images/icon_add.svg') center / contain no-repeat; }
.bs23_crblv_chaphead { display: flex; align-items: center; gap: 10px 16px; flex-wrap: wrap; margin: 0 0 14px; padding: 10px 12px;
	border-bottom: 1px solid #E8E8E8; background: #FAFBFA; }
.bs23_crblv_chaphead[hidden] { display: none; }
.bs23_crblv_chaphead_main { color: var(--bs_black_1); }
.bs23_crblv_chaphead_main b { margin-right: 6px; }
.bs23_crblv_chaphead_meta { color: #5F5F5F; }
/* Remove = .lv-topbar-btn .lv-topbar-icon-btn (38px, border #E8E8E8) with the trash mask; hover red */
.bs23_crblv_removebtn { margin-left: auto; }
.bs23_crblv_icon_trash { --lv-icon: url('/images/icon_trash_2.svg'); }
/* .lv-topbar-btn:hover (green) is repeated in the editor's own <style> — two classes win over it */
.lv-topbar-btn.bs23_crblv_removebtn:hover { border-color: #9B6262; background: #FBF5F5; color: #9B6262; box-shadow: 0 2px 6px rgba(155, 98, 98, .18); }
/* Document type of the LV (header of the LV, next to the version switch) */
.bs23_crblv_doctype { display: inline-flex; align-items: center; gap: 8px; }
.bs23_crblv_doctype_label { color: #5F5F5F; white-space: nowrap; }
.bs23_crblv_doctype select { min-width: 200px; height: 38px; }
body.lv-readonly .bs23_crblv_chapadd,
body.lv-readonly .bs23_crblv_removebtn { display: none; }
/* Items of the other chapters stay in the one tree container, only hidden */
.cg-content-item.crb-chapter-hidden { display: none !important; }
#cg-content-container.crb-chapter-empty + .cg-content-empty { display: block; }
/* Confirm button of a dialog that deletes: red. `.ui-dialog-buttonset button` paints every dialog
   button #393939 with !important, so the plain .bs23_button_red_1 (and any .css() in `open`) loses. */
.ui-dialog-buttonset button.bs23_crblv_dialog_red { background: #9B6262 !important; border-color: #9B6262 !important; color: #fff !important; }
.ui-dialog-buttonset button.bs23_crblv_dialog_red:hover { background: #B48181 !important; border-color: #B48181 !important; color: #fff !important; }
.bs23_crblv_dialog_text { margin: 0; }
/* Chapter picker (Lity) */
.bs23_crblv_picker { width: 640px; max-width: calc(100vw - 32px); box-sizing: border-box; }
.bs23_crblv_picker_body { padding: 18px 22px; display: flex; flex-direction: column; gap: 12px; }
.bs23_crblv_picker_search { position: relative; }
.bs23_crblv_picker_search input { width: 100%; box-sizing: border-box; padding-left: 34px; }
.bs23_crblv_picker_search::before { content: ''; position: absolute; left: 10px; top: 50%; width: 16px; height: 16px; margin-top: -8px; background: #8A8A8A;
	-webkit-mask: url('../images/icon_search_stroke_1.svg') center / contain no-repeat; mask: url('../images/icon_search_stroke_1.svg') center / contain no-repeat; }
.bs23_crblv_picker_list { max-height: 340px; overflow-y: auto; border: 1px solid #E8E8E8; border-radius: 6px; }
.bs23_crblv_picker_row { display: flex; align-items: center; gap: 10px; width: 100%; padding: 8px 12px; border: 0; border-bottom: 1px solid #F0F0F0;
	background: #fff; color: var(--bs_black_1); text-align: left; cursor: pointer; font-family: abel, sans-serif; }
.bs23_crblv_picker_row:last-child { border-bottom: 0; }
.bs23_crblv_picker_row:hover { background: #F4F7F3; color: var(--bs_black_1); }
.bs23_crblv_picker_row.is-selected { background: #E8F0E5; color: var(--bs_black_1); box-shadow: inset 3px 0 0 var(--bs_green_1); }
.bs23_crblv_picker_row.is-off { color: #9A9A9A; cursor: not-allowed; }
.bs23_crblv_picker_row.is-off:hover { background: #fff; color: #9A9A9A; }
.bs23_crblv_picker_row b { min-width: 34px; }
.bs23_crblv_picker_row_title { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bs23_crblv_picker_chip { flex: 0 0 auto; padding: 2px 8px; border-radius: 10px; background: #EEEEEE; color: #555555; }
.bs23_crblv_picker_chip_in { background: #E8F0E5; color: #3F6339; }
.bs23_crblv_picker_empty { padding: 14px 12px; color: #6E6E6E; }
.bs23_crblv_picker_empty[hidden] { display: none; }
.bs23_crblv_picker_foot { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.bs23_crblv_picker_version { display: inline-flex; align-items: center; gap: 8px; }
.bs23_crblv_picker_version label { color: #5F5F5F; }
.bs23_crblv_picker_version select { min-width: 220px; }
.bs23_crblv_picker_foot .bs23_crblv_picker_actions { margin-left: auto; display: flex; align-items: center; gap: 6px; }
.bs23_crblv_picker_addtip { display: inline-flex; }

/* NPK-LV catalogue column (CRB-LV step 5, crb/lv/editor.blade.php) — tree + search of the ACTIVE
   chapter left of the LV, between the table of contents and the tree («Inhaltsverzeichnis · Katalog ·
   Arbeitsfläche», wissen/crb.md 18.09.). Sticky with its own scroll area so it never scrolls away
   with the LV (controls beside, not above the scrolling area). Collapsible to a 38px rail that
   carries the name. Box look = .lv-toc of the editor (white, #e8e8e8 border, radius 8).
   Icons are CSS masks on own spans: icon_list_dots_1.svg (catalogue), icon_search_stroke_1.svg,
   icon_chevron_down_stroke_1.svg (expand), icon_check_stroke_1.svg (in the LV), icon_add.svg (take
   over), icon_lock_1.svg (standard text, not changeable). */
.bs23_crblv_cat { position: sticky; top: 212px; align-self: flex-start; flex: 0 0 340px; width: 340px; box-sizing: border-box;
	max-height: calc(100vh - 228px); display: flex; flex-direction: column; background: #fff; border: 1px solid #e8e8e8;
	border-radius: 8px; padding: 12px 12px 8px; box-shadow: 0 1px 2px rgba(0, 0, 0, .03); font-family: abel, sans-serif; z-index: 5; }
.bs23_crblv_cat_head { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; padding-bottom: 6px; border-bottom: 1px solid #eee; }
.bs23_crblv_cat_toggle { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 28px; width: 28px; height: 28px; padding: 0;
	border: 1px solid transparent; border-radius: 5px; background: transparent; color: #4d4d4d; cursor: pointer; }
.bs23_crblv_cat_toggle:hover { background: #F5F5F5; border-color: #DDD; color: #2F2F2F; }
.bs23_crblv_cat_title { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #4d4d4d; font-weight: 600; }
.bs23_crblv_icon_catalogue { --crblv-icon: url('../images/icon_list_dots_1.svg'); }
.bs23_crblv_icon_check { --crblv-icon: url('../images/icon_check_stroke_1.svg'); }
.bs23_crblv_icon_lock { --crblv-icon: url('../images/icon_lock_1.svg'); }
.bs23_crblv_icon_chevron { --crblv-icon: url('../images/icon_chevron_down_stroke_1.svg'); }
.bs23_crblv_icon_catalogue, .bs23_crblv_icon_check, .bs23_crblv_icon_lock, .bs23_crblv_icon_chevron {
	-webkit-mask: var(--crblv-icon) center / contain no-repeat; mask: var(--crblv-icon) center / contain no-repeat; }
.bs23_crblv_cat_search { position: relative; margin-bottom: 8px; }
.bs23_crblv_cat_search input { width: 100%; box-sizing: border-box; padding-left: 34px; }
/* No native (blue) cancel cross: Escape clears the search */
.bs23_crblv_cat_search input[type=search]::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; display: none; }
.bs23_crblv_cat_search::before { content: ''; position: absolute; left: 10px; top: 50%; width: 16px; height: 16px; margin-top: -8px; background: #8A8A8A;
	-webkit-mask: url('../images/icon_search_stroke_1.svg') center / contain no-repeat; mask: url('../images/icon_search_stroke_1.svg') center / contain no-repeat; }
.bs23_crblv_cat_list { flex: 1 1 auto; min-height: 120px; overflow-y: auto; margin: 0 -4px; padding: 0 4px; }
.bs23_crblv_cat_state { padding: 10px 6px; color: #6E6E6E; }
.bs23_crblv_cat_state[hidden] { display: none; }
/* One node: caret · number · short text · marks · take over. Indent per catalogue depth (--crblv-depth). */
.bs23_crblv_cat_node { display: flex; align-items: flex-start; gap: 6px; padding: 4px 4px 4px calc(4px + var(--crblv-depth, 0) * 14px);
	border-radius: 4px; color: #3F3F3F; cursor: pointer; line-height: 1.35; }
.bs23_crblv_cat_node:hover { background: #F4F7F3; }
.bs23_crblv_cat_node.is-selected { background: #E8F0E5; box-shadow: inset 3px 0 0 var(--bs_green_1); }
.bs23_crblv_cat_node.is-in-lv .bs23_crblv_cat_nr,
.bs23_crblv_cat_node.is-in-lv .bs23_crblv_cat_text { color: #3F6339; }
.bs23_crblv_cat_node:focus { outline: none; }
.bs23_crblv_cat_node:focus-visible { outline: 2px solid var(--bs_green_1); outline-offset: -2px; }
.bs23_crblv_cat_caret { flex: 0 0 16px; display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 21px; color: #8A8A8A; }
.bs23_crblv_cat_caret .bs23_crblv_icon { width: 12px; height: 12px; transform: rotate(-90deg); transition: transform .15s; }
.bs23_crblv_cat_node.is-open > .bs23_crblv_cat_caret .bs23_crblv_icon { transform: none; }
.bs23_crblv_cat_nr { flex: 0 0 auto; min-width: 58px; color: #6E6E6E; font-variant-numeric: tabular-nums; white-space: nowrap; }
.bs23_crblv_cat_text { flex: 1 1 auto; min-width: 0; overflow-wrap: break-word; -webkit-hyphens: auto; hyphens: auto; }
.bs23_crblv_cat_node.is-group .bs23_crblv_cat_text { font-weight: 600; }
.bs23_crblv_cat_marks { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 4px; }
.bs23_crblv_cat_chip { display: inline-flex; align-items: center; gap: 3px; padding: 1px 6px; border-radius: 10px; background: #EEEEEE; color: #555555; white-space: nowrap; }
.bs23_crblv_cat_chip_in { background: #E8F0E5; color: #3F6339; }
.bs23_crblv_cat_chip_in .bs23_crblv_icon { width: 11px; height: 11px; }
.bs23_crblv_cat_take { flex: 0 0 26px; display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 24px; padding: 0;
	border: 1px solid #D6DCD3; border-radius: 5px; background: #fff; color: var(--bs_green_1); cursor: pointer; }
.bs23_crblv_cat_take:hover { background: var(--bs_green_1); border-color: var(--bs_green_1); color: #fff; }
.bs23_crblv_cat_take:focus-visible { outline: 2px solid var(--bs_green_1); outline-offset: 1px; }
.bs23_crblv_cat_take .bs23_crblv_icon { width: 12px; height: 12px; }
.bs23_crblv_cat_take[aria-disabled="true"] { color: #B0B0B0; border-color: #E4E4E4; cursor: not-allowed; }
.bs23_crblv_cat_take[aria-disabled="true"]:hover { background: #fff; color: #B0B0B0; border-color: #E4E4E4; }
/* Hint and drawing number at the node (6.1) — shown below the selected node */
.bs23_crblv_cat_detail { margin: 2px 0 6px calc(26px + var(--crblv-depth, 0) * 14px); padding: 8px 10px; border-left: 3px solid #D6DCD3;
	background: #FAFBFA; color: #4d4d4d; white-space: pre-line; }
.bs23_crblv_cat_detail b { display: block; margin-bottom: 2px; color: #3F3F3F; }
.bs23_crblv_cat_detail_drawing { margin-top: 4px; color: #5F5F5F; }
.bs23_crblv_cat_children[hidden] { display: none; }
/* Collapsed: a 38px rail carrying the name (so one knows what opens there) */
.bs23_crblv_cat_rail { display: none; }
.bs23_crblv_cat.is-collapsed { flex: 0 0 38px; width: 38px; padding: 0; overflow: visible; }
.bs23_crblv_cat.is-collapsed > :not(.bs23_crblv_cat_rail) { display: none; }
.bs23_crblv_cat.is-collapsed .bs23_crblv_cat_rail { display: flex; align-items: center; justify-content: flex-start; gap: 8px; flex-direction: column;
	width: 100%; min-height: 160px; padding: 10px 0; border: 0; border-radius: 7px; background: transparent; color: #4d4d4d; cursor: pointer; }
.bs23_crblv_cat.is-collapsed .bs23_crblv_cat_rail:hover { background: #F5F5F5; color: #2F2F2F; }
.bs23_crblv_cat_rail_label { writing-mode: vertical-rl; transform: rotate(180deg); white-space: nowrap; }
/* Narrow windows (< 1200px, crbLvCatalogue): always the rail; the rail opens the column on demand as an
   overlay over the LV. Full 340px (narrower squeezes the short texts to a few letters per line: measured
   at 260px), but only the 38px of the rail stay in the flow (margin-right -302px) */
.bs23_crblv_cat.is-peek { flex: 0 0 340px; width: 340px; max-width: calc(100vw - 60px); margin-right: -302px; z-index: 40;
	box-shadow: 0 6px 24px rgba(0, 0, 0, .16); }
/* Read mode: the catalogue can be read, nothing can be taken over */
body.lv-readonly .bs23_crblv_cat_take { display: none; }

/* NPK nodes in the LV tree (step 5): standard text read-only from the catalogue, lock, number as text */
.cg-content-item.bs23_crblv_npk .cg-gruppe-title-input.bs23_crblv_norm { white-space: pre-line; cursor: default; color: #3F3F3F; }
/* Size follows the design level of the row (like every other LV text) so editor and PDF match */
.bs23_crblv_norm_text { display: block; font-size: inherit; font-weight: 400; font-style: normal; color: #3F3F3F; line-height: 1.45; }
.bs23_crblv_norm_text.is-title { font-weight: 600; color: #2F2F2F; }
.bs23_crblv_normlock { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; color: #8A8A8A; align-self: flex-start; }
.bs23_crblv_normlock[role="tooltip"] { cursor: help; }
.bs23_crblv_normlock .bs23_crblv_icon { width: 14px; height: 14px; }
/* Locked delete: only the icon is faded (an opacity on the button would fade its tooltip too);
   hover stays neutral instead of the red danger look */
.cg-btn-small.bs23_crblv_npk_btn_locked { cursor: not-allowed !important; }
.cg-btn-small.bs23_crblv_npk_btn_locked > * { opacity: .4; }
.cg-btn-small.cg-btn-danger.bs23_crblv_npk_btn_locked:hover { background: #fff !important; border-color: #DDD !important; color: inherit !important; }
.cg-btn-small.cg-btn-danger.bs23_crblv_npk_btn_locked:hover img { filter: brightness(0) saturate(100%) invert(82%); }
.cg-lp-fields .cg-lp-unit-trigger.bs23_crblv_unit_locked { background: #F7F8F8; border-color: #E2E2E2; color: #3F3F3F; cursor: default; }
.cg-lp-fields .cg-lp-unit-trigger.bs23_crblv_unit_locked .cg-lp-unit-trigger-caret { visibility: hidden; }
/* CRB-LV step 6: variables of an NPK node below its standard text (4.11 / 4.17 / 5.4).
   Font family + size = the standard text of the same row (design level, set by varSyncFont; the rows
   inherit it explicitly, the global div rule would set abel);
   columns: mark («99», only in blocks with a variable 99) · number · group choice · text + value. */
.bs23_crblv_vars { --crblv-var-ut-bg: color-mix(in srgb, var(--bs_yellow_1) 18%, #fff); --crblv-var-off: #9A9A9A;
	display: flex; flex-direction: column; gap: 4px; margin: 6px 0 2px; padding: 6px 0 0; border-top: 1px dashed #E2E2E2; font-size: inherit; font-weight: 400; cursor: default; }
.bs23_crblv_var { font-family: inherit; display: grid; grid-template-columns: 26px 26px 44px minmax(0, 1fr); column-gap: 6px; align-items: baseline; min-height: 30px; color: #3F3F3F; line-height: 1.45; }
.bs23_crblv_vars:not(:has(.is-99)) .bs23_crblv_var { grid-template-columns: 26px 44px minmax(0, 1fr); }
.bs23_crblv_vars:not(:has(.is-99)) .bs23_crblv_var_mark { display: none; }
.bs23_crblv_var_mark { color: var(--bs_green_1); font-weight: 600; text-align: center; }
.bs23_crblv_var_nr { color: #8A8A8A; font-variant-numeric: tabular-nums; }
.bs23_crblv_var_pick { display: inline-flex; align-items: center; }
.bs23_crblv_var_radio { display: inline-flex; align-items: center; gap: 4px; cursor: pointer; }
.bs23_crblv_var_radio input { margin: 0; accent-color: var(--bs_green_1); cursor: pointer; }
.bs23_crblv_var_radio input:focus-visible { outline: 2px solid var(--bs_green_1); outline-offset: 2px; }
.bs23_crblv_var_group { min-width: 16px; padding: 0 4px; border-radius: 4px; background: #EEEEEE; color: #555555; text-align: center; }
.bs23_crblv_var_body { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; min-width: 0; }
.bs23_crblv_var_text { white-space: pre-line; overflow-wrap: anywhere; }
.bs23_crblv_var_field { display: inline-flex; max-width: 100%; }
.bs23_crblv_var_input.bs23_input_1 { font-family: inherit; font-size: inherit; width: calc(var(--crblv-var-ch, 30) * 1ch + 22px); max-width: 100%; height: 30px; padding: 2px 8px; box-sizing: border-box; }
.bs23_crblv_var_input:focus-visible { outline: 2px solid var(--bs_green_1); outline-offset: 0; }
.bs23_crblv_var_input::placeholder { font-family: inherit; font-size: inherit; color: #A8A8A8; }
body.lv-readonly .bs23_crblv_var_input::placeholder { color: transparent; }
.bs23_crblv_var_utbtn { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 26px; width: 26px; height: 26px; padding: 0; border: 1px solid #DDD; border-radius: 4px; background: #fff; color: #6E6E6E; cursor: pointer; align-self: center; }
.bs23_crblv_var_utbtn:hover { background: #F5F5F5; border-color: #BDBDBD; color: #2F2F2F; }
.bs23_crblv_var_utbtn:focus-visible { outline: 2px solid var(--bs_green_1); outline-offset: -2px; }
.bs23_crblv_var_utbtn[aria-pressed="true"] { background: #fff; border-color: var(--bs_green_1); color: #2F2F2F; }
.bs23_crblv_var_utbtn:disabled { opacity: .45; cursor: not-allowed; }
.bs23_crblv_var_utsym { font-weight: 700; line-height: 1; }
.bs23_crblv_var_utgroup { display: inline-flex; flex-wrap: nowrap; align-items: center; gap: 6px; max-width: 100%; }
.bs23_crblv_var_ut { display: inline-flex; flex-wrap: nowrap; align-items: baseline; gap: 2px; min-width: 0; }
/* Rows without an input: text in the middle of the 30px row like the text beside an input */
.bs23_crblv_var.is-closed .bs23_crblv_var_body { padding-block: max(0px, calc((30px - 1.45em) / 2)); }
.bs23_crblv_var_text .bs23_crblv_var_lock.bs23_crblv_normlock { display: inline-flex; width: 18px; height: 1em; margin-left: 4px; vertical-align: -0.1em; }
.bs23_crblv_var_utmark { padding: 0 4px; border-radius: 3px; background: var(--crblv-var-ut-bg); font-weight: 700; }
.bs23_crblv_var.is-off .bs23_crblv_var_body,
.bs23_crblv_var.is-off .bs23_crblv_var_nr { color: var(--crblv-var-off); }
.bs23_crblv_var.is-off .bs23_crblv_var_input { opacity: .55; }
body.lv-readonly .bs23_crblv_var_utbtn { display: none; }
body.lv-readonly .bs23_crblv_var_radio { cursor: not-allowed; }
.cg-content-item.bs23_crblv_flash { box-shadow: 0 0 0 2px var(--bs_green_1), rgba(0, 0, 0, .05) 0 6px 24px 0; transition: box-shadow .6s; }

/* ── CRB-LV step 7 «Teilmengen, Preise, Ausmass» (5.2, 5.3, 5.6, 5.7, E4, E5) ──────────────────
   Quantity row = partial quantity: [S][Ausmass][Menge][Σ][Einheit][Mengenart] + price block
   [Preisart][Preis][Total][calc][×] (wraps as a whole). Scoped to .bs23_crblv_fields (the quantity
   frame of the CRB-LV), the LV editor stays as it is. */
.bs23_crblv_icon_formula { --crblv-icon: url('../images/icon_sum_lines_1.svg');
	-webkit-mask: var(--crblv-icon) center / contain no-repeat; mask: var(--crblv-icon) center / contain no-repeat; }
.bs23_crblv_fields .cg-lp-entry { flex-wrap: wrap; row-gap: 4px; }
.bs23_crblv_priceblock { display: inline-flex; flex: 0 0 auto; flex-wrap: nowrap; align-items: stretch; gap: 4px; }
/* «Total» of the position under the quantity column: measured by crbLvAlignSummary() (rows wrap);
   this is only the first paint — Σ 30, unit 70, quantity type 46, price type 46, price 90, cost 100,
   calc 30, trash 20 + 8 gaps × 4 px = 464 */
.bs23_crblv_fields .cg-lp-summary { right: 464px; }
.bs23_crblv_sel, .bs23_crblv_pricewrap { display: inline-flex; align-items: center; flex: 0 0 auto; }
.bs23_crblv_fields .bs23_crblv_sel .cg-lp-select { height: 30px; color: var(--bs_black_1); }
.bs23_crblv_fields .cg-lp-select:disabled { background-color: #F7F8F8; border-color: #E2E2E2; color: #5F5F5F; cursor: not-allowed; opacity: 1; }
.bs23_crblv_fields .cg-lp-select:focus-visible,
.bs23_crblv_fields .cg-lp-input:focus-visible { outline: 2px solid var(--bs_green_1); outline-offset: 0; }
/* Quantity type / price type as Select2 (bs23_dropdown_1): closed = the code only, the list = full names */
.bs23_crblv_sel .select2.select2-container { width: 46px !important; flex: 0 0 46px; background: transparent !important; }
.bs23_crblv_sel .select2.select2-container .select2-selection { height: 30px; box-sizing: border-box; border: 1px solid #C6C6C6; border-radius: 3px; background: #fff; }
.bs23_crblv_sel .select2.select2-container .select2-selection .select2-selection__rendered { padding: 0 18px 0 8px; line-height: 28px;
	color: var(--bs_black_1); font-family: abel, sans-serif; font-size: 16px; }
.bs23_crblv_sel .select2.select2-container .select2-selection .select2-selection__arrow { top: 0; right: 2px; width: 16px; height: 28px; border-left: 0; background: transparent; }
.bs23_crblv_sel .select2.select2-container .select2-selection:hover { border-color: #9E9E9E; }
.bs23_crblv_sel .select2.select2-container.select2-container--open .select2-selection { border-color: var(--bs_green_1); background: #fff; }
.bs23_crblv_sel .select2.select2-container .select2-selection:focus-visible { outline: 2px solid var(--bs_green_1) !important; outline-offset: 0; }
.bs23_crblv_sel .select2.select2-container--disabled .select2-selection,
.bs23_crblv_sel .select2.select2-container--disabled .select2-selection:hover { background: #F7F8F8; border-color: #E2E2E2; cursor: not-allowed; }
.bs23_crblv_sel .select2.select2-container--disabled .select2-selection .select2-selection__rendered { color: #5F5F5F; }
.select2-container .select2-dropdown.bs23_crblv_s2drop { min-width: 200px; margin-top: 2px; overflow: hidden; background: #fff;
	border: 1px solid #D1D1D1; border-radius: 5px; box-shadow: 0 6px 20px rgba(0, 0, 0, .12); }
.select2-container .select2-dropdown.bs23_crblv_s2drop.select2-dropdown--above { margin-top: -2px; }
.select2-container .select2-dropdown.bs23_crblv_s2drop .select2-results ul { max-height: 340px; padding: 4px 0; border: 0; }
.select2-container .select2-dropdown.bs23_crblv_s2drop .select2-results__option { padding: 6px 12px; color: var(--bs_black_1); font-family: abel, sans-serif; font-size: 16px; white-space: nowrap; }
.select2-container .select2-dropdown.bs23_crblv_s2drop .select2-results__option[aria-selected="true"] { background: color-mix(in srgb, var(--bs_green_1) 6%, #fff); font-weight: 600; }
.select2-container .select2-dropdown.bs23_crblv_s2drop .select2-results ul .select2-results__option--highlighted[aria-selected] { background: color-mix(in srgb, var(--bs_green_1) 14%, #fff); color: var(--bs_black_1); }
.select2-container .select2-dropdown.bs23_crblv_s2drop .select2-results__option[aria-disabled="true"] { color: #B5B5B5; cursor: not-allowed; }
.bs23_crblv_s2opt { display: flex; align-items: baseline; gap: 12px; }
.bs23_crblv_s2opt b { flex: 0 0 auto; min-width: 16px; font-weight: 600; }
/* Locked price (document type, price type, position price) — also when empty: grey, no placeholder */
.bs23_crblv_fields.cg-lp-fields .bs23_crblv_pricewrap .cg-lp-input[data-field].bs23_crblv_price_locked { background-color: #F7F8F8; border-color: #E2E2E2 !important; color: #5F5F5F; cursor: not-allowed; }
.bs23_crblv_fields.cg-lp-fields .bs23_crblv_pricewrap .cg-lp-input[data-field].bs23_crblv_price_locked::placeholder { color: transparent; }
.bs23_crblv_fields .cg-lp-input.bs23_crblv_qty_detail { background-color: color-mix(in srgb, var(--bs_green_1) 6%, #fff); border-color: color-mix(in srgb, var(--bs_green_1) 36%, #fff);
	color: color-mix(in srgb, var(--bs_green_1) 60%, #000); cursor: default; }

/* Σ — detailed quantity of the partial quantity (formula lines → eG6) */
.bs23_crblv_detail_btn { display: inline-flex; align-items: center; justify-content: center; gap: 2px; flex: 0 0 30px; min-width: 30px; height: 30px; padding: 0 4px;
	box-sizing: border-box; border: 1px solid #C6C6C6; border-radius: 3px; background: #fff; color: #6E6E6E; cursor: pointer; }
.bs23_crblv_detail_btn .bs23_crblv_icon { width: 15px; height: 15px; }
.bs23_crblv_detail_btn:hover { background: #F5F5F5; border-color: #9A9A9A; color: #2F2F2F; }
.bs23_crblv_detail_btn.has-detail { border-color: var(--bs_green_1); color: color-mix(in srgb, var(--bs_green_1) 60%, #000); background: color-mix(in srgb, var(--bs_green_1) 6%, #fff); }
.bs23_crblv_detail_btn:focus-visible { outline: 2px solid var(--bs_green_1); outline-offset: 1px; }
.bs23_crblv_detail_btn:disabled { cursor: not-allowed; opacity: .55; }
.bs23_crblv_detail_btn:disabled:hover { background: #fff; border-color: #C6C6C6; color: #6E6E6E; }
.bs23_crblv_detail_btn.has-detail:disabled:hover { background: color-mix(in srgb, var(--bs_green_1) 6%, #fff); border-color: var(--bs_green_1); color: color-mix(in srgb, var(--bs_green_1) 60%, #000); }
.bs23_crblv_detail_count:empty { display: none; }
.bs23_crblv_detail { flex: 0 0 100%; order: 99; display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.bs23_crblv_detail[hidden] { display: none; }
.bs23_crblv_detail_toggle { display: inline-flex; align-items: center; gap: 6px; height: 24px; padding: 0 8px; margin-right: 162px; border: 0; border-radius: 3px;
	background: transparent; color: color-mix(in srgb, var(--bs_green_1) 60%, #000); cursor: pointer; font-family: abel, sans-serif; }
.bs23_crblv_detail_toggle:hover { background: color-mix(in srgb, var(--bs_green_1) 6%, #fff); color: color-mix(in srgb, var(--bs_green_1) 60%, #000); }
.bs23_crblv_detail_toggle:focus-visible { outline: 2px solid var(--bs_green_1); outline-offset: 0; }
.bs23_crblv_detail_toggle .bs23_crblv_icon { width: 12px; height: 12px; transform: rotate(-90deg); transition: transform .15s; }
.bs23_crblv_detail_toggle[aria-expanded="true"] .bs23_crblv_icon { transform: none; }
.bs23_crblv_detail_table { margin-right: 162px; border-collapse: collapse; color: #3F3F3F; font-family: abel, sans-serif; }
.bs23_crblv_detail_table td { padding: 3px 8px; border-bottom: 1px solid #EFEFEF; vertical-align: top; }
.bs23_crblv_detail_nr { color: #8A8A8A; font-variant-numeric: tabular-nums; white-space: nowrap; }
.bs23_crblv_detail_formula { min-width: 220px; max-width: 520px; overflow-wrap: anywhere; }
.bs23_crblv_detail_qty { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.bs23_crblv_detail_total td { border-bottom: 0; font-weight: 600; }

/* Price bar under the rows: price per partial quantity | position price (5.3), aligned under Preisart/Preis */
.bs23_crblv_pricebar { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 4px; padding-right: 162px; min-height: 30px; }
.bs23_crblv_pricebar[hidden] { display: none; }
.bs23_crblv_pricebar .is-off { visibility: hidden; }
.bs23_crblv_pricebar .cg-lp-input[data-field="pos_price"] { width: 90px; }
.bs23_crblv_pricemode { display: inline-flex; flex: 0 0 auto; margin-right: 8px; border: 1px solid #C6C6C6; border-radius: 3px; }
.bs23_crblv_pricemode_btn { height: 28px; padding: 0 10px; border: 0; background: #fff; color: var(--bs_grey_1); cursor: pointer; font-family: abel, sans-serif; white-space: nowrap; }
.bs23_crblv_pricemode_btn + .bs23_crblv_pricemode_btn { border-left: 1px solid #C6C6C6; }
.bs23_crblv_pricemode_btn:hover { background: #F5F5F5; color: #2F2F2F; }
.bs23_crblv_pricemode_btn[aria-pressed="true"],
.bs23_crblv_pricemode_btn[aria-pressed="true"]:hover { background: color-mix(in srgb, var(--bs_green_1) 16%, #fff); color: color-mix(in srgb, var(--bs_green_1) 60%, #000); font-weight: 600; }
.bs23_crblv_pricemode_btn:focus-visible { outline: 2px solid var(--bs_green_1); outline-offset: -2px; }
.bs23_crblv_pricemode_btn:disabled { cursor: not-allowed; }
.bs23_crblv_pricemode_btn:disabled:not([aria-pressed="true"]):hover { background: #fff; color: var(--bs_grey_1); }

/* Formula dialog (detailed quantity, 5.6) — buttons and inputs 16 px (the dialog sets 20 px), the sum 18 px */
.bs23_crblv_detdlg { display: flex; flex-direction: column; gap: 12px; }
.bs23_crblv_detdlg_groups { display: flex; flex-direction: column; gap: 12px; max-height: 55vh; overflow-y: auto; padding: 2px; }
.bs23_crblv_detdlg_group { border: 1px solid #E8E8E8; border-radius: 6px; padding: 8px 10px 10px; }
.bs23_crblv_detdlg_ghead { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; color: #3F3F3F; }
.bs23_crblv_detdlg_lines { display: flex; flex-direction: column; gap: 6px; }
.bs23_crblv_detdlg_line { display: grid; grid-template-columns: 26px minmax(0, 1fr) 130px 40px 24px; align-items: center; gap: 6px; }
.bs23_crblv_detdlg_nr { color: #8A8A8A; font-variant-numeric: tabular-nums; }
.bs23_crblv_detdlg_line .bs23_input_1 { width: 100%; height: 32px; box-sizing: border-box; }
.ui-dialog .bs23_crblv_detdlg .bs23_crblv_detdlg_line input.bs23_input_1,
.ui-dialog .bs23_crblv_detdlg .bs23_crblv_detdlg_line input.bs23_input_1::placeholder,
.ui-dialog .bs23_crblv_detdlg button.bs23_crblv_detdlg_add { font-size: 16px; }
.bs23_crblv_detdlg_qty { text-align: right; }
.bs23_crblv_detdlg_unit { color: #5F5F5F; }
.bs23_crblv_detdlg_line .bs23_input_1:focus-visible { outline: 2px solid var(--bs_green_1); outline-offset: 0; }
.bs23_crblv_detdlg_line .lp-required { border-color: #e53935 !important; box-shadow: 0 0 0 1px #e53935; }
.bs23_crblv_detdlg .cg-lp-entry-trash { position: static; }
.bs23_crblv_detdlg .bs23_crblv_detdlg_del:focus-visible { outline: 2px solid var(--bs_green_1); outline-offset: 1px; border-radius: 3px; }
.bs23_crblv_detdlg_add { display: inline-flex; align-items: center; height: 30px; margin-top: 8px; padding: 0 12px; box-sizing: border-box;
	background: #fff; border: 1px dashed var(--bs_green_1); border-radius: 5px; color: var(--bs_green_1); font-family: abel, sans-serif; white-space: nowrap; cursor: pointer; }
.bs23_crblv_detdlg_add:hover { border-color: var(--bs_green_1); background: color-mix(in srgb, var(--bs_green_1) 10%, #fff); color: color-mix(in srgb, var(--bs_green_1) 72%, #000); }
.bs23_crblv_detdlg_add:focus-visible { outline: 2px solid var(--bs_green_1); outline-offset: 1px; }
.bs23_crblv_detdlg_add:disabled, .bs23_crblv_detdlg_add:disabled:hover { opacity: .45; cursor: not-allowed; background: #fff; }
.bs23_crblv_detdlg_foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.bs23_crblv_detdlg_foot .bs23_crblv_detdlg_add { margin-top: 0; }
.bs23_crblv_detdlg_sum { color: var(--bs_black_1); font-weight: 600; font-variant-numeric: tabular-nums; }
.bs23_crblv_detdlg_msg { margin: 0; color: var(--bs_red_1); }
.bs23_crblv_detdlg_msg[hidden] { display: none; }

/* Measurement bridge: the sheet column has another unit than the catalogue position */
.bs23_crblv_ms_warn { margin: 8px 0 0; padding: 8px 10px; border-left: 3px solid var(--bs_yellow_1); border-radius: 4px;
	background: color-mix(in srgb, var(--bs_yellow_1) 14%, #fff); color: #6E5110; }

body.lv-readonly .bs23_crblv_pricemode_btn:not([aria-pressed="true"]) { opacity: .45; pointer-events: none; }

/* ── CRB-LV step 8 «Gliederungen, Vorbemerkungen, ABB» ───────────────────── */
/* NPK type of a structure: short tag (sidebar, S panel), fixed chip / select in the popup header */
.bs23_crblv_struct_tag { display: inline-block; margin-left: 6px; padding: 0 5px; border-radius: 3px; line-height: 16px;
	background: color-mix(in srgb, var(--bs_green_1) 12%, #fff); color: color-mix(in srgb, var(--bs_green_1) 65%, #000); font-weight: 600; letter-spacing: .02em; text-transform: none; vertical-align: middle; }
.lv-structures-sidebar-item.active .bs23_crblv_struct_tag { background: #fff; }
.bs23_crblv_struct_typebox { display: inline-flex; align-items: center; margin-left: 8px; }
.bs23_crblv_struct_fixed { display: inline-flex; align-items: center; height: 30px; padding: 0 10px; border-radius: 3px; box-sizing: border-box;
	background: color-mix(in srgb, var(--bs_green_1) 10%, #fff); color: color-mix(in srgb, var(--bs_green_1) 65%, #000); white-space: nowrap; }
.bs23_crblv_sel.bs23_crblv_struct_selwrap { max-width: 100%; }
.bs23_crblv_sel.bs23_crblv_struct_selwrap .select2.select2-container { width: min(210px, 100%) !important; flex: 0 1 210px; min-width: 0; }
.bs23_crblv_sel.bs23_crblv_struct_selwrap .select2.select2-container .select2-selection .select2-selection__rendered { font-family: abel, sans-serif; font-size: 16px; color: var(--bs_black_1); }
.bs23_crblv_struct_move { display: inline-flex; align-items: center; gap: 2px; margin-left: 6px; }
.lv-structures-header-action.bs23_crblv_struct_movebtn { opacity: 1; color: var(--bs_black_1); }
.lv-structures-header-action.bs23_crblv_struct_movebtn:disabled,
.lv-structures-header-action.bs23_crblv_struct_movebtn:disabled:hover { opacity: .45; cursor: default; background: transparent; color: var(--bs_black_1); }

/* Popup header: title row (name, rename, hint, remove list) + own row for NPK type and order */
.bs23_crblv_struct_hdr { flex-wrap: wrap; align-items: center; row-gap: 8px; min-width: 0; }
.bs23_crblv_struct_hdr > h3 { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; max-width: 100%; }
.bs23_crblv_struct_hdr > .lv-structures-builtin-hint { flex: 1 1 160px; min-width: 0; }
.bs23_crblv_struct_row { order: 10; flex: 1 0 100%; display: flex; align-items: center; flex-wrap: wrap; gap: 8px; min-width: 0; }
.bs23_crblv_struct_row[hidden] { display: none; }
.bs23_crblv_struct_row .bs23_crblv_struct_typebox, .bs23_crblv_struct_row .bs23_crblv_struct_move { margin-left: 0; max-width: 100%; }
.bs23_crblv_struct_hdr .lv-structures-remove-labeled { margin-left: auto; }

/* «+ Gliederung»: the limit shows as tooltip of the wrapper; the disabled button passes the hover on */
.bs23_crblv_struct_addwrap { display: inline-flex; align-self: flex-start; }
.bs23_crblv_struct_addwrap .lv-structures-sidebar-add:disabled { pointer-events: none; }

/* Read mode: the popup shows the structures, but changes nothing */
body.lv-readonly #lv-structures-popup .bs23_crblv_struct_typebox,
body.lv-readonly #lv-structures-popup .bs23_crblv_struct_move,
body.lv-readonly #lv-structures-popup .bs23_crblv_struct_addwrap,
body.lv-readonly #lv-structures-popup #lv-structures-add-variant,
body.lv-readonly #lv-structures-popup #lv-structures-rename-btn,
body.lv-readonly #lv-structures-popup #lv-structures-mode,
body.lv-readonly #lv-structures-popup #lv-structures-remove-btn { opacity: .45; pointer-events: none; }
.bs23_crblv_struct_movebtn:focus-visible { outline: 2px solid var(--bs_green_1); outline-offset: 1px; }
#lv-new-structure-dialog .lv-newstruct-row + .lv-newstruct-row { margin-top: 12px; }
/* «Neue Liste»: the type select as wide as the name field */
.bs23_crblv_sel.bs23_crblv_struct_newsel { display: flex; width: 100%; }
.bs23_crblv_sel.bs23_crblv_struct_newsel .select2.select2-container { width: 100% !important; flex: 1 1 auto; }

/* ABB switch 000.200 (4.4): chip above its two switch variables; same chip in the catalogue column */
.bs23_crblv_abb { margin: 6px 0 2px; }
.bs23_crblv_abb_chip { display: inline-flex; align-items: center; padding: 1px 7px; border-radius: 10px; white-space: nowrap;
	background: color-mix(in srgb, var(--bs_yellow_1) 22%, #fff); color: color-mix(in srgb, var(--bs_yellow_1) 43%, #000); font-weight: 600; }

/* CRB-LV step 9: R positions (own texts in the reserve, 1.5 / 4.6 / 7.1–7.3) and reserve chapters (2.8).
   «R» mark = small green badge (palette, row button); R rows carry a green bar on the left and «R» in
   front of the number (7.2). Drop zones show only while something is dragged. */
.bs23_crblv_icon_drag { --crblv-icon: url('../images/icon_drag.svg');
	-webkit-mask: var(--crblv-icon) center / contain no-repeat; mask: var(--crblv-icon) center / contain no-repeat; }
.bs23_crblv_rbtn_mark { display: inline-flex; align-items: center; justify-content: center; min-width: 18px; height: 18px; padding: 0 3px;
	border-radius: 4px; background: color-mix(in srgb, var(--bs_green_1) 16%, #fff); color: color-mix(in srgb, var(--bs_green_1) 55%, #000);
	font-weight: 700; line-height: 1; box-sizing: border-box; }
.bs23_crblv_rpal { margin: 0 0 8px; }
.bs23_crblv_rpal_item { display: flex; align-items: center; gap: 8px; width: 100%; padding: 6px 10px; box-sizing: border-box;
	border: 1px dashed color-mix(in srgb, var(--bs_green_1) 55%, #fff); border-radius: 6px; background: color-mix(in srgb, var(--bs_green_1) 5%, #fff);
	color: #3F3F3F; cursor: grab; font-family: abel, sans-serif; text-align: left; }
.bs23_crblv_rpal_item:hover { border-style: solid; background: color-mix(in srgb, var(--bs_green_1) 10%, #fff); color: #3F3F3F; }
.bs23_crblv_cat.is-reserve .bs23_crblv_cat_search { display: none; }
.bs23_crblv_rpal_item:active { cursor: grabbing; }
.bs23_crblv_rpal_item:focus-visible { outline: 2px solid var(--bs_green_1); outline-offset: 1px; }
.bs23_crblv_rpal_item .bs23_crblv_icon_drag { width: 14px; height: 14px; color: #8A8A8A; }
/* The tip «Ins LV ziehen» opens to the right (into the LV, not over the catalogue rows) and is gone while dragging */
body.bs23_crblv_rdragging .bs23_crblv_rpal_item[role~="tooltip"]::before,
body.bs23_crblv_rdragging .bs23_crblv_rpal_item[role~="tooltip"]::after { display: none !important; }
.bs23_crblv_cat_node.is-draggable { cursor: grab; }
.bs23_crblv_cat_node.is-draggable:active { cursor: grabbing; }
/* While dragging: every possible target row dashed, the one under the pointer green */
body.bs23_crblv_rdragging #cg-content-container > .cg-content-item[data-npk-ref]:not(.crb-chapter-hidden) { outline: 1px dashed color-mix(in srgb, var(--bs_green_1) 45%, #fff); outline-offset: -1px; }
/* Same selector chain as the rule above + .is-rdrop: it must win against the dashed one */
body.bs23_crblv_rdragging #cg-content-container > .cg-content-item[data-npk-ref]:not(.crb-chapter-hidden).is-rdrop { outline: 2px solid var(--bs_green_1); outline-offset: -2px;
	background-color: color-mix(in srgb, var(--bs_green_1) 7%, #fff); }
body.bs23_crblv_rdragging #cg-content-container > .cg-content-item[data-npk-ref]:not(.crb-chapter-hidden).is-rdrop > .cg-gruppe-preview { background-color: color-mix(in srgb, var(--bs_green_1) 7%, #fff); }
body.bs23_crblv_rdragging #cg-content-container.is-rdrop { outline: 2px dashed var(--bs_green_1); outline-offset: 4px; border-radius: 8px; min-height: 120px; }
/* R row: green bar left, «R» number, own fields instead of the standard text */
/* The bar is drawn above the white preview / entries (an inset shadow on the row was covered by them) */
.cg-content-item.bs23_crblv_r::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; z-index: 3;
	border-radius: 8px 0 0 8px; background: var(--bs_green_1); pointer-events: none; }
.cg-content-item.bs23_crblv_r .cg-gruppe-preview .cg-numbering { color: color-mix(in srgb, var(--bs_green_1) 55%, #000); font-weight: 600; }
.cg-content-item.bs23_crblv_r .cg-gruppe-title-input.bs23_crblv_rtitle { cursor: default; flex: 1 1 auto; min-width: 0; }
/* The title box clips (overflow hidden) — the R form holds selects and tips that must not be cut */
.cg-content-item.bs23_crblv_r > .cg-gruppe-preview .cg-gruppe-title-input.bs23_crblv_rtitle { overflow: visible; }
.bs23_crblv_rform { display: flex; flex-direction: column; gap: 6px; width: 100%; font-size: inherit; }
.bs23_crblv_rrow { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 6px 12px; }
.bs23_crblv_rfield { display: flex; flex-direction: column; gap: 2px; margin: 0; min-width: 0; }
.bs23_crblv_rfield.is-short { flex: 1 1 260px; max-width: 420px; }
/* Long text: as wide as one counted line of 30 columns (G3), so the lines seen are the lines counted.
   Abel: an average character of German text is 0.76 of «0» (measured 08.11.2026) → 30 characters ≈ 23ch */
.bs23_crblv_rfield.is-long { width: calc(23ch + 12px); max-width: 100%; }
.bs23_crblv_rfield.is-long > .bs23_crblv_rlabel { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.bs23_crblv_rcount { color: #8A8A8A; font-variant-numeric: tabular-nums; white-space: nowrap; }
.bs23_crblv_rcount.is-over { color: var(--bs_red_1); }
.bs23_crblv_rfield.is-unit .select2-container { width: 84px !important; }
.bs23_crblv_rlabel { color: #6E6E6E; font-weight: 400; font-family: abel, sans-serif; }
.bs23_crblv_rshort { width: 100%; box-sizing: border-box; font-size: inherit; }
.bs23_crblv_rlongwrap { display: block; width: 100%; }
.bs23_crblv_rlong { display: block; width: 100%; box-sizing: border-box; min-height: 60px; padding: 4px 5px; resize: vertical; font-family: inherit; font-size: inherit; line-height: 1.45; }
.bs23_input_1.bs23_crblv_rinvalid { border-color: var(--bs_red_1); }
.bs23_crblv_sel.bs23_crblv_rinvalid .select2-selection { border-color: var(--bs_red_1) !important; }
.bs23_crblv_rshort:focus-visible, .bs23_crblv_rlong:focus-visible { outline: 2px solid var(--bs_green_1); outline-offset: 0; }
/* Row button «R» (keyboard alternative to drag & drop) and its menu */
.cg-content-item[data-npk-ref] > .cg-gruppe-preview { position: relative; }
.cg-btn-small.bs23_crblv_rbtn { display: inline-flex; align-items: center; justify-content: center; }
.cg-btn-small.bs23_crblv_rbtn:hover { color: inherit; }
.cg-btn-small.bs23_crblv_rbtn:focus-visible { outline: 2px solid var(--bs_green_1); outline-offset: -2px; }
.bs23_crblv_rmenu { position: absolute; right: 44px; top: calc(100% - 4px); z-index: 60; display: flex; flex-direction: column; min-width: 220px; padding: 4px;
	background: #fff; border: 1px solid #E2E2E2; border-radius: 6px; box-shadow: 0 6px 24px rgba(0, 0, 0, .14); }
.bs23_crblv_rmenu_item { display: block; width: 100%; padding: 7px 10px; border: 0; border-radius: 4px; background: transparent; color: #3F3F3F;
	text-align: left; cursor: pointer; font-family: abel, sans-serif; }
.bs23_crblv_rmenu_item:hover, .bs23_crblv_rmenu_item:focus-visible { background: color-mix(in srgb, var(--bs_green_1) 10%, #fff); outline: none; }
/* ABB switch on 02: offer of the own version in the reserve 090 */
.bs23_crblv_roffer { display: inline-flex; align-items: center; gap: 4px; margin-left: 8px; padding: 1px 8px; border: 1px solid color-mix(in srgb, var(--bs_green_1) 55%, #fff);
	border-radius: 10px; background: #fff; color: color-mix(in srgb, var(--bs_green_1) 55%, #000); cursor: pointer; font-family: abel, sans-serif; }
.bs23_crblv_roffer:hover { background: color-mix(in srgb, var(--bs_green_1) 10%, #fff); }
.bs23_crblv_roffer:focus-visible { outline: 2px solid var(--bs_green_1); outline-offset: 1px; }
.bs23_crblv_roffer .bs23_crblv_icon_add { width: 10px; height: 10px; }
/* Chapter picker: the reserve chapter below the catalogue chapters */
.bs23_crblv_picker_reserve { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin: 14px 0; padding: 12px 0; border-top: 1px solid #EEEEEE; border-bottom: 1px solid #EEEEEE; }
.bs23_crblv_picker_reserve_head { flex: 0 0 auto; color: #4d4d4d; }
.bs23_crblv_picker_reserve input[type=text] { flex: 1 1 140px; min-width: 0; }
/* Microtips of the CRB-LV: after a click the bubble stays away until the pointer leaves / focus goes
   (bs23_crblv_tipoff, set by the editor script) — it covered what the click opened or changed */
[role~="tooltip"].bs23_crblv_tipoff::before,
[role~="tooltip"].bs23_crblv_tipoff::after { display: none !important; }
/* Read mode: R fields readable, nothing to drag, insert or change */
body.lv-readonly .bs23_crblv_rpal, body.lv-readonly .bs23_crblv_rbtn, body.lv-readonly .bs23_crblv_roffer { display: none; }
body.lv-readonly .bs23_crblv_rform input, body.lv-readonly .bs23_crblv_rform textarea { background: #F7F8F8; border-color: #E2E2E2; cursor: default; }

/* Preliminary remark with structures (5.5): the S button + pills below the standard text */
.bs23_crblv_scope { display: flex; align-items: center; gap: 6px; margin: 6px 0 2px; }
.bs23_crblv_scope_panel button.cg-lp-structures-item { width: 100%; border: 0; background: transparent; text-align: left; }
.bs23_crblv_scope_panel button.cg-lp-structures-item:hover { background: color-mix(in srgb, var(--bs_green_1) 7%, #fff); }
.bs23_crblv_scope_panel button.cg-lp-structures-item.selected { background: color-mix(in srgb, var(--bs_green_1) 15%, #fff); }
.bs23_crblv_scope_panel button.cg-lp-structures-item:focus-visible,
.bs23_crblv_scope .cg-lp-structures:focus-visible { outline: 2px solid var(--bs_green_1); outline-offset: -2px; }
body.lv-readonly [data-dev="remark-structures"] { opacity: .45; pointer-events: none; }
/* While its panel is open the S button hides its tooltip (it would cover the text) */
.bs23_crblv_scope .cg-lp-structures.is-open::before,
.bs23_crblv_scope .cg-lp-structures.is-open::after,
.bs23_crblv_scope .cg-lp-structures.is-open [role~="tooltip"]::before,
.bs23_crblv_scope .cg-lp-structures.is-open [role~="tooltip"]::after { opacity: 0 !important; visibility: hidden !important; }

/* CRB-LV step 10 «Anwendungshilfen und Anhänge» (crb/lv/partials/help.blade.php; 4.3, 6.1).
   Display options in the topbar (a menu below «Anwendungshilfen», switches = .lv-filter-switch-track),
   help rows at the NPK nodes (shown by body classes bs23_crblv_show_*), chapter links in the chapter
   header, «Wichtige Hinweise» as Lity popup. Look of the hint = .bs23_crblv_cat_detail (catalogue). */
.bs23_crblv_helpbar { position: relative; }
.bs23_crblv_help_menu { position: absolute; top: calc(100% + 6px); left: 0; z-index: 60; min-width: 220px; padding: 6px;
	background: #fff; border: 1px solid #e8e8e8; border-radius: 8px; box-shadow: 0 6px 20px rgba(0, 0, 0, .12); }
.bs23_crblv_help_menu[hidden] { display: none; }
.bs23_crblv_help_opt { position: relative; display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 6px;
	color: var(--bs_black_1); cursor: pointer; white-space: nowrap; }
.bs23_crblv_help_opt:hover { background: color-mix(in srgb, var(--bs_green_1) 6%, #fff); }
/* The checkbox stays focusable (keyboard), only invisible; the track shows its state and the focus */
.bs23_crblv_help_opt input[type="checkbox"] { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none; }
.bs23_crblv_help_opt input[type="checkbox"]:focus-visible + .lv-filter-switch-track { outline: 2px solid var(--bs_green_1); outline-offset: 2px; }
.bs23_crblv_help { display: flex; flex-direction: column; gap: 4px; margin: 6px 0 2px; }
.bs23_crblv_help_row { font-family: inherit; display: none; align-items: flex-start; gap: 10px; padding: 6px 10px; border-left: 3px solid #D6DCD3;
	background: #FAFBFA; color: #4d4d4d; line-height: 1.4; }
body.bs23_crblv_show_search_title .bs23_crblv_help_row.is-search_title,
body.bs23_crblv_show_hint .bs23_crblv_help_row.is-hint,
body.bs23_crblv_show_drawing .bs23_crblv_help_row.is-drawing { display: flex; }
/* one label column for all help rows (the longest label «Blickfangzeichnung» fits), the values aligned;
   font family + size come from the design level of the row (box style, varSyncFont) */
.bs23_crblv_help_label { flex: 0 0 10em; color: #5F5F5F; font-weight: 600; }
.bs23_crblv_help_text { flex: 1 1 auto; min-width: 0; overflow-wrap: break-word; }
/* narrow rows (small screens): the label above its value instead of a column eating half the row */
.bs23_crblv_help { container-type: inline-size; }
@container (max-width: 400px) { .bs23_crblv_help_row { flex-direction: column; gap: 2px; } .bs23_crblv_help_label { flex-basis: auto; } }
.bs23_crblv_help_text.is-hint { white-space: pre-line; font-style: italic; }
.bs23_crblv_help_drawing { font: inherit; display: inline-flex; align-items: center; gap: 8px; padding: 4px 10px 4px 6px; border: 1px dashed #C9CFC6;
	border-radius: 6px; background: #fff; color: #5F5F5F; text-decoration: none; }
.bs23_crblv_help_drawing:focus-visible { outline: 2px solid var(--bs_green_1); outline-offset: 2px; }
.bs23_crblv_help_drawing.has-image { border-style: solid; color: var(--bs_black_1); }
.bs23_crblv_help_drawing.has-image:hover { border-color: var(--bs_green_1); }
.bs23_crblv_help_drawing img { display: block; max-width: 160px; max-height: 110px; border-radius: 4px; }
.bs23_crblv_icon_drawing { width: 22px; height: 22px; color: #8A8A8A;
	-webkit-mask: url('../images/icon_drawing_1.svg') center / contain no-repeat; mask: url('../images/icon_drawing_1.svg') center / contain no-repeat; }
/* Chapter header: «Wichtige Hinweise» · «Anhang» · «Entscheidungsschema» (link look, not delivered = grey) */
.bs23_crblv_chaphelp { display: inline-flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.bs23_crblv_chaphelp[hidden] { display: none; }
.bs23_crblv_chaphelp_wrap { display: inline-flex; }
.bs23_crblv_chaphelp_btn { height: 30px; padding: 0 10px; border: 1px solid transparent; border-radius: 6px; background: transparent;
	color: var(--bs_green_1); font-family: abel, sans-serif; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
/* hover = one style: no underline, a soft green background (no border) */
.bs23_crblv_chaphelp_btn:hover { background: color-mix(in srgb, var(--bs_green_1) 6%, #fff); border-color: transparent; color: var(--bs_green_1); text-decoration: none; }
.bs23_crblv_chaphelp_btn:focus { outline: none; }
.bs23_crblv_chaphelp_btn:focus-visible { outline: 2px solid var(--bs_green_1); outline-offset: 1px; }
.bs23_crblv_chaphelp_btn[aria-disabled="true"] { color: #9A9A9A; text-decoration: none; cursor: not-allowed; }
.bs23_crblv_chaphelp_btn[aria-disabled="true"]:hover { background: transparent; border-color: transparent; color: #9A9A9A; }
/* greyed button: the reason (microtip on the wrapper) also on keyboard focus of the inner button;
   after a click the editor's bs23_crblv_tipoff keeps it quiet (display none !important) */
.bs23_crblv_chaphelp_wrap[aria-label][role~="tooltip"]:focus-within::before,
.bs23_crblv_chaphelp_wrap[aria-label][role~="tooltip"]:focus-within::after { opacity: 1; visibility: visible; transform: translate3d(-50%, 0, 0); }
/* CRB-LV editor only (the page with the chapter bar): visible keyboard focus of the topbar buttons */
body:has(#crb-lv-chapbar) .lv-topbar-btn:focus-visible { outline: 2px solid var(--bs_green_1); outline-offset: 2px; }
/* «Wichtige Hinweise» popup */
.bs23_crblv_notes { width: 760px; max-width: calc(100vw - 32px); box-sizing: border-box; padding: 18px 22px 16px; }
.bs23_crblv_notes_title { margin: 0 36px 4px 0; color: var(--bs_black_1); }
.bs23_crblv_notes_meta { margin: 0 0 12px; color: #5F5F5F; }
.bs23_crblv_notes_body { max-height: calc(100vh - 260px); overflow-y: auto; padding: 4px 14px 4px 2px; border-top: 1px solid #EEE; border-bottom: 1px solid #EEE; }
.bs23_crblv_notes_body:focus { outline: none; }
.bs23_crblv_notes_body:focus-visible { outline: 2px solid var(--bs_green_1); outline-offset: 2px; }
.bs23_crblv_notes_h { margin: 16px 0 6px; color: #2F2F2F; font-weight: 600; }
.bs23_crblv_notes_p { margin: 0 0 8px; padding-left: 18px; color: #3F3F3F; line-height: 1.5; white-space: pre-line; }
/* inline with a negative margin: a microtip makes its element position:relative */
.bs23_crblv_notes_star { display: inline-block; width: 18px; margin-left: -18px; color: var(--bs_green_1); font-weight: 600; cursor: help; }
/* the star sits at the left edge of the scrolling body (clips): the bubble starts at the star, not 7px left of it */
.bs23_crblv_notes_star[role~="tooltip"][data-microtip-position$="-right"]::after { left: 16px; }
.bs23_crblv_notes_foot { display: flex; justify-content: flex-end; margin-top: 14px; }
.bs23_crblv_notes_foot button:focus-visible { outline: 2px solid var(--bs_green_1); outline-offset: 2px; }
.bs23_crblv_help.is-below { margin: 0 15px 10px; }

/* ============================================================================================
   CRB-LV step 14 «Kontextdaten» (partials/context.blade.php; 8.1 PRD, 8.2 Eco-Devis, 8.3 corrections;
   picture H): marks as chips first in the help box of the row (green Eco-Devis, blue PRD, yellow
   «Korrigiert»; dashed = test data), a click shows the detail rows (step-10 help rows, class is-ctx).
   ============================================================================================ */
.bs23_crblv_ctx { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.bs23_crblv_ctx_chip { display: inline-flex; align-items: center; padding: 1px 8px; border: 1px solid transparent; border-radius: 10px;
	font-family: abel, sans-serif; font-weight: 600; line-height: 1.4; white-space: nowrap; cursor: pointer; }
.bs23_crblv_ctx_chip.is-eco, .bs23_crblv_ctx_chip.is-eco:hover { background: color-mix(in srgb, var(--bs_green_1) 14%, #fff); color: color-mix(in srgb, var(--bs_green_1) 55%, #000); }
.bs23_crblv_ctx_chip.is-prd, .bs23_crblv_ctx_chip.is-prd:hover { background: color-mix(in srgb, var(--bs_blue_1) 12%, #fff); color: color-mix(in srgb, var(--bs_blue_1) 58%, #000); }
.bs23_crblv_ctx_chip.is-correction, .bs23_crblv_ctx_chip.is-correction:hover { background: color-mix(in srgb, var(--bs_yellow_1) 22%, #fff); color: color-mix(in srgb, var(--bs_yellow_1) 43%, #000); }
.bs23_crblv_ctx_chip.is-stand, .bs23_crblv_ctx_chip.is-stand:hover { background: #EEEEEE; color: #555555; cursor: help; }
/* hover / open = a frame in the text colour (the global green button:hover must not reach the chips) */
button.bs23_crblv_ctx_chip:hover, button.bs23_crblv_ctx_chip[aria-expanded="true"] { border-color: currentColor; }
.bs23_crblv_ctx_chip.is-test { border-style: dashed; border-color: color-mix(in srgb, currentColor 45%, transparent); }
.bs23_crblv_ctx_chip.is-test:hover, .bs23_crblv_ctx_chip.is-test[aria-expanded="true"] { border-color: currentColor; }
.bs23_crblv_ctx_chip:focus { outline: none; }
.bs23_crblv_ctx_chip:focus-visible { outline: 2px solid var(--bs_green_1); outline-offset: 1px; }
/* details: hidden like every help row; shown per row (chip) or everywhere (option «Kontextdaten») */
body.bs23_crblv_show_context .bs23_crblv_help_row.is-ctx,
.bs23_crblv_help.is-ctx-open > .bs23_crblv_help_row.is-ctx { display: flex; }
.bs23_crblv_help_row.is-ctx-eco { border-left-color: color-mix(in srgb, var(--bs_green_1) 45%, #fff); }
.bs23_crblv_help_row.is-ctx-prd { border-left-color: color-mix(in srgb, var(--bs_blue_1) 40%, #fff); }
.bs23_crblv_help_row.is-ctx-correction { border-left-color: color-mix(in srgb, var(--bs_yellow_1) 60%, #fff); }
/* meta row below the detail text: «Testdaten», «Alte Fassung» — same place at every width */
.bs23_crblv_ctx_meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 2px; }
.bs23_crblv_ctx_body { display: block; }
.bs23_crblv_ctx_meta > .bs23_crblv_ctx_oldbtn:first-child { margin-left: -6px; }   /* its text on the text edge */
.bs23_crblv_ctx_testbadge { display: inline-block; margin-left: 0; padding: 0 6px; border: 1px dashed #9A9A9A; border-radius: 8px;
	color: #5F5F5F; font-family: abel, sans-serif; line-height: 1.4; white-space: nowrap; vertical-align: baseline; cursor: help; }
.bs23_crblv_ctx_testbadge:focus { outline: none; }
.bs23_crblv_ctx_testbadge:focus-visible { outline: 2px solid var(--bs_green_1); outline-offset: 1px; }
.bs23_crblv_ctx_link { color: var(--bs_green_1); text-decoration: underline; text-underline-offset: 3px; }
.bs23_crblv_ctx_link:hover { text-decoration: none; }
.bs23_crblv_ctx_link:focus-visible { outline: 2px solid var(--bs_green_1); outline-offset: 1px; }
/* «Alte Fassung»: link look like the chapter help links; the old wording below in a yellow-washed block */
.bs23_crblv_ctx_oldbtn { font: inherit; margin-left: 0; padding: 0 6px; border: 1px solid transparent; border-radius: 6px; background: transparent;
	color: var(--bs_green_1); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.bs23_crblv_ctx_oldbtn:hover { background: color-mix(in srgb, var(--bs_green_1) 6%, #fff); border-color: transparent; color: var(--bs_green_1); text-decoration: none; }
.bs23_crblv_ctx_oldbtn:focus { outline: none; }
.bs23_crblv_ctx_oldbtn:focus-visible { outline: 2px solid var(--bs_green_1); outline-offset: 1px; }
.bs23_crblv_ctx_old { display: block; margin-top: 6px; padding: 4px 10px; border-left: 3px solid color-mix(in srgb, var(--bs_yellow_1) 60%, #fff);
	background: color-mix(in srgb, var(--bs_yellow_1) 7%, #fff); color: #4d4d4d; }
.bs23_crblv_ctx_old[hidden] { display: none; }
.bs23_crblv_ctx_old_label { display: block; color: #5F5F5F; font-weight: 600; }
.bs23_crblv_ctx_old_text { display: block; white-space: pre-line; overflow-wrap: break-word; }
/* chapter header: «Stand n» + «Testdaten» */
.bs23_crblv_chapctx { display: inline-flex; align-items: center; gap: 6px; }
.bs23_crblv_chapctx[hidden] { display: none; }
.bs23_crblv_chapctx .bs23_crblv_ctx_testbadge { margin-left: 0; }

/* ============================================================================================
   CRB-LV step 11 «Konditionen» (resources/views/crb/lv/partials/conditions.blade.php): rows as in
   mockups/lv_konditionen_design_mockup_20261010.html — light pass (hairlines, no grey bands), value +
   unit in one frame, subtotal = a normal bold row, VAT block with a light green wash and a thin bar,
   reference chips «↳ V» / «↳ 02» / green «↳ 03», check as info box (colours of components/info-box).
   ============================================================================================ */
.bs23_crblv_cond { width: 1180px; max-width: calc(100vw - 32px); box-sizing: border-box; padding: 18px 22px 16px; position: relative;
	--crblv-cond-muted: color-mix(in srgb, var(--bs_black_1) 67%, #fff);
	--crblv-cond-quiet: color-mix(in srgb, var(--bs_black_1) 28%, #fff);
	--crblv-cond-err: color-mix(in srgb, var(--bs_red_1) 40%, #fff);
	--crblv-cond-minus: color-mix(in srgb, var(--bs_red_1) 28%, color-mix(in srgb, var(--bs_black_1) 59%, #fff)); }
/* Lity centres the container: a growing table would make the popup jump — keep it pinned to the top */
.lity-container:has(#crb-lv-cond-popup) { vertical-align: top; margin-top: 6vh; }
.lity-container:has(#crb-lv-cond-popup) .lity-content { max-height: 88vh; }
.bs23_crblv_cond_title { margin: 0 36px 12px 0; color: var(--bs_black_1); }
.bs23_crblv_cond_scroll { overflow-x: auto; }
.bs23_crblv_cond_table { width: 100%; min-width: 960px; border-collapse: collapse; table-layout: fixed; color: var(--bs_black_1); }
.bs23_crblv_cond_table col.c-grip { width: 34px; }
.bs23_crblv_cond_table col.c-stage { width: 46px; }
.bs23_crblv_cond_table col.c-value { width: 190px; }
.bs23_crblv_cond_table col.c-scope { width: 170px; }
.bs23_crblv_cond_table col.c-amount { width: 130px; }
.bs23_crblv_cond_table col.c-ref { width: 60px; }
.bs23_crblv_cond_table col.c-rm { width: 40px; }
.bs23_crblv_cond_table th { text-align: left; font-weight: normal; color: var(--crblv-cond-muted); padding: 0 8px 8px; border-bottom: 1px solid #F0F1F0; }
.bs23_crblv_cond_table td { padding: 8px; border-bottom: 1px solid #F3F4F3; vertical-align: middle; }
.bs23_crblv_cond_table .r { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.bs23_crblv_cond_table td.is-minus { color: var(--crblv-cond-minus); }
.bs23_crblv_cond_table td.is-plus { color: var(--bs_green_1); }
.bs23_crblv_cond_table td.bs23_crblv_cond_stage { color: #B4B8B5; font-weight: normal; font-variant-numeric: tabular-nums; }
.bs23_crblv_cond_fixlbl { display: block; line-height: 36px; padding: 0 11px; font-weight: bold; }
.bs23_crblv_cond_row.is-object td { font-weight: bold; }
.bs23_crblv_cond_row.is-gross td { font-size: 18px; border-top: 1px solid #E3E6E4; }
.bs23_crblv_cond_row.is-gross .bs23_crblv_cond_fixlbl { font-weight: normal; }
.bs23_crblv_cond_row.is-total td { font-weight: bold; }
.bs23_crblv_cond_row.is-final td { font-weight: bold; border-top: 1px solid #C9CDCA; border-bottom: 0; }
.bs23_crblv_cond_row.is-sub td, .bs23_crblv_cond_row.is-sub input { font-weight: bold; }
.bs23_crblv_cond_row.is-vat td { background: color-mix(in srgb, var(--bs_green_1) 6%, #fff); }
.bs23_crblv_cond_row.is-vat td:first-child { box-shadow: inset 2px 0 0 color-mix(in srgb, var(--bs_green_1) 55%, #fff); }
.bs23_crblv_cond_row.has-error td:first-child { box-shadow: inset 2px 0 0 var(--crblv-cond-err); }
/* 10: the empty value field of the faulty row (CRB 5242) */
.bs23_crblv_cond_row.has-error .bs23_crblv_cond_valunit, .bs23_crblv_cond_row.has-error .bs23_crblv_cond_valunit:hover { border-color: var(--crblv-cond-err); }
.bs23_crblv_cond_row.is-dragging { opacity: .45; }
.bs23_crblv_cond_row.is-over td { border-top: 2px solid var(--bs_green_1); }
.bs23_crblv_cond_table .bs23_input_1 { width: 100%; height: 36px; box-sizing: border-box; }
.bs23_crblv_cond_table .select2.select2-container .select2-selection { height: 36px; box-sizing: border-box; border: 1px solid #E9EBEA; border-radius: 3px; background: #fff; }
.bs23_crblv_cond_table .select2.select2-container .select2-selection .select2-selection__rendered { line-height: 34px; padding: 0 26px 0 10px; color: var(--bs_black_1); font-family: abel, sans-serif; font-size: 16px; }
.bs23_crblv_cond_table .select2.select2-container .select2-selection .select2-selection__arrow { height: 34px; width: 26px; border-left: 0; background: transparent; }
.bs23_crblv_cond_table .select2.select2-container .select2-selection:hover { border-color: color-mix(in srgb, var(--bs_green_1) 40%, #fff); }
.bs23_crblv_cond_table .select2.select2-container--open .select2-selection { border-color: var(--bs_green_1); }
.bs23_crblv_cond_table .select2.select2-container .select2-selection:focus-visible { outline: 2px solid var(--bs_green_1) !important; outline-offset: 0; }
.bs23_crblv_cond_table .select2.select2-container--disabled .select2-selection { background: #F7F8F8; cursor: not-allowed; }
/* Value + unit in one frame: number left, unit (% / CHF) right, hairline between */
.bs23_crblv_cond_valunit { display: flex; align-items: stretch; height: 36px; box-sizing: border-box; background: #fff; border: 1px solid #E9EBEA; border-radius: 3px; overflow: hidden; }
.bs23_crblv_cond_valunit:hover { border-color: color-mix(in srgb, var(--bs_green_1) 40%, #fff); }
.bs23_crblv_cond_valunit:focus-within { border-color: var(--bs_green_1); box-shadow: 0 0 0 3px color-mix(in srgb, var(--bs_green_1) 14%, transparent); }
.bs23_crblv_cond_valunit .bs23_input_1 { flex: 1 1 auto; min-width: 0; height: 34px; border: 0; border-radius: 0; padding: 0 10px; background: transparent; text-align: right; font-variant-numeric: tabular-nums; }
.bs23_crblv_cond_valunit .bs23_input_1:focus { outline: none; }
.bs23_crblv_cond_valunit .select2.select2-container { flex: 0 0 78px; width: 78px !important; min-width: 0; }
.bs23_crblv_cond_table .bs23_crblv_cond_valunit .select2.select2-container .select2-selection { height: 34px; border: 0; border-left: 1px solid #F0F1F0; border-radius: 0; background: #fff; }
.bs23_crblv_cond_table .bs23_crblv_cond_valunit .select2.select2-container .select2-selection .select2-selection__rendered { padding: 0 24px 0 10px; color: var(--crblv-cond-muted); }
.bs23_crblv_cond_table .bs23_crblv_cond_valunit .select2.select2-container .select2-selection .select2-selection__arrow { width: 22px; border-left: 0; background: transparent; }
.bs23_crblv_cond_valunit.is-vat .select2.select2-container { flex: 1 1 auto; width: auto !important; }
.bs23_crblv_cond_table .bs23_crblv_cond_valunit.is-vat .select2.select2-container .select2-selection { border-left: 0; background: transparent; }
.bs23_crblv_cond_table .bs23_crblv_cond_valunit.is-vat .select2.select2-container .select2-selection .select2-selection__rendered { text-align: right; color: var(--bs_black_1); }
.bs23_crblv_cond_table .bs23_input_1_marked { border-color: #E9EBEA; }
.bs23_crblv_cond_table .bs23_input_1_marked:hover { border-color: color-mix(in srgb, var(--bs_green_1) 40%, #fff); }
.bs23_crblv_cond_table .bs23_crblv_cond_subname { padding: 0 10px; }
.bs23_crblv_cond_table .bs23_crblv_cond_subname:focus { outline: none; border-color: var(--bs_green_1); box-shadow: 0 0 0 3px color-mix(in srgb, var(--bs_green_1) 14%, transparent); }
.bs23_crblv_cond_table td.is-pending { color: #B4B8B5; }
.bs23_crblv_cond_unit { flex: 0 0 78px; display: flex; align-items: center; padding: 0 10px; box-sizing: border-box; border-left: 1px solid #F0F1F0; color: var(--crblv-cond-muted); background: #fff; }
.bs23_crblv_cond_row.is-vat .bs23_crblv_cond_valunit { border-color: color-mix(in srgb, var(--bs_green_1) 22%, #fff); }
/* Grip + delete: quiet until the row is hovered; symbol as mask on an inner span (microtip owns ::after) */
.bs23_crblv_cond_tipwrap { display: inline-flex; }
.bs23_crblv_cond_grip, .bs23_crblv_cond_rm { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px;
	padding: 0; border: 0; border-radius: 6px; background: transparent; color: var(--crblv-cond-quiet); cursor: pointer; }
.bs23_crblv_cond_grip { cursor: grab; }
.bs23_crblv_cond_row:hover .bs23_crblv_cond_grip, .bs23_crblv_cond_grip:focus-visible { color: #616863; }
.bs23_crblv_cond_row:hover .bs23_crblv_cond_rm, .bs23_crblv_cond_rm:focus-visible { color: var(--bs_red_1); }
.bs23_crblv_cond_rm:hover { background: color-mix(in srgb, var(--bs_red_1) 8%, #fff); color: var(--bs_red_1); }
.bs23_crblv_cond_grip:hover { background: #F1F2F2; }
.bs23_crblv_cond_ico { display: inline-block; width: 16px; height: 16px; flex: 0 0 auto; background: currentColor;
	-webkit-mask: var(--crblv-cond-icon) center / contain no-repeat; mask: var(--crblv-cond-icon) center / contain no-repeat; }
.bs23_crblv_cond_ico_drag { --crblv-cond-icon: url('../images/icon_drag.svg'); }
.bs23_crblv_cond_ico_trash { --crblv-cond-icon: url('../images/icon_trash_3.svg'); }
.bs23_crblv_cond_ico_add { --crblv-cond-icon: url('../images/icon_add.svg'); width: 14px; height: 14px; margin-right: 6px; }
.bs23_crblv_cond_ico_ok { --crblv-cond-icon: url('../images/icon_check.svg'); width: 20px; height: 20px; color: #8CC68E; }
.bs23_crblv_cond_ico_warn, .bs23_crblv_cond_ico_err { width: 20px; height: 20px; }
.bs23_crblv_cond_ico_warn { --crblv-cond-icon: url('../images/alert_bar_warning_1.svg'); color: #E0B83A; }
.bs23_crblv_cond_ico_err { --crblv-cond-icon: url('../images/alert_bar_alert_1.svg'); color: var(--crblv-cond-err); }
.bs23_crblv_cond_row button:focus-visible, .bs23_crblv_cond_chip:focus-visible, .bs23_crblv_cond_add:focus-visible,
.bs23_crblv_cond_menuitem:focus-visible, .bs23_crblv_cond_done:focus-visible { outline: 2px solid var(--bs_green_1); outline-offset: 1px; }
/* Reference + scope chips */
.bs23_crblv_cond_chip { display: inline-flex; align-items: center; justify-content: center; min-width: 30px; max-width: 100%; box-sizing: border-box;
	padding: 1px 8px; border: 1px dashed #DADDDB; border-radius: 10px; background: #fff; color: #7A807C; white-space: nowrap; overflow: hidden;
	text-overflow: ellipsis; cursor: pointer; font-family: inherit; line-height: 20px; }
.bs23_crblv_cond_chip:hover:not(:disabled) { border-color: var(--bs_green_1); color: var(--bs_green_1); background: #fff; }
.bs23_crblv_cond_chip.is-set { border-style: solid; border-color: var(--bs_black_1); color: var(--bs_black_1); }
.bs23_crblv_cond_chip.is-bad { border-color: var(--crblv-cond-err); color: #A84343; }
.bs23_crblv_cond_chip.is-vat { border: 1px solid color-mix(in srgb, var(--bs_green_1) 45%, #fff); color: var(--bs_green_1); cursor: help; }
.bs23_crblv_cond_chip.is-scope, .bs23_crblv_cond_chip.is-scope:hover:not(:disabled) { border: 0; background: color-mix(in srgb, var(--bs_green_1) 10%, #fff); color: var(--bs_green_1); }
/* 6: read mode / no choice — the chip is a label, not a button */
.bs23_crblv_cond_table .bs23_crblv_cond_chip:disabled { cursor: default; opacity: .6; }
.bs23_crblv_cond_table .bs23_crblv_cond_chip:disabled:hover { background: #fff; border-color: #DADDDB; color: #7A807C; }
.bs23_crblv_cond_table .bs23_crblv_cond_chip.is-set:disabled:hover { border-color: var(--bs_black_1); color: var(--bs_black_1); }
.bs23_crblv_cond_table .bs23_crblv_cond_chip.is-bad:disabled:hover { border-color: var(--crblv-cond-err); color: #A84343; }
.bs23_crblv_cond_table .bs23_crblv_cond_chip.is-scope:disabled:hover { background: color-mix(in srgb, var(--bs_green_1) 10%, #fff); color: var(--bs_green_1); }
.bs23_crblv_cond_row td .bs23_crblv_cond_tipwrap { max-width: 100%; }
/* Actions + save state */
.bs23_crblv_cond_actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.bs23_crblv_cond_add { display: inline-flex; align-items: center; padding: 4px 12px; cursor: pointer; font-family: inherit; border-color: color-mix(in srgb, var(--bs_green_1) 45%, #fff); }
.bs23_crblv_cond_add:disabled { opacity: .5; cursor: not-allowed; }
.bs23_crblv_cond_grow { flex: 1 1 auto; }
.bs23_crblv_cond_state { color: var(--crblv-cond-muted); }
/* Check (info box: hairline frame, soft wash, accent on the left) */
.bs23_crblv_cond_check { display: flex; gap: 12px; align-items: flex-start; margin-top: 14px; padding: 10px 12px; border: 1px solid; border-left-width: 3px; border-radius: 6px; }
.bs23_crblv_cond_check.is-ok { background: #F8FCF8; border-color: #D5EBD5 #D5EBD5 #D5EBD5 #8CC68E; color: #3F7D44; }
.bs23_crblv_cond_check.is-warn { background: #FFFDF6; border-color: #F3E7B8 #F3E7B8 #F3E7B8 #EBCB5A; color: #7A6418; }
.bs23_crblv_cond_check.is-err { background: #FEF8F8; border-color: #F2D3D3 #F2D3D3 #F2D3D3 #E39A9A; color: #A84343; }
.bs23_crblv_cond_check_t { margin: 0 0 4px; font-weight: bold; }
.bs23_crblv_cond_check ul { margin: 0; padding: 0; list-style: none; }
.bs23_crblv_cond_check li { display: flex; gap: 8px; align-items: baseline; padding: 2px 0; color: var(--bs_black_1); }
.bs23_crblv_cond_dot { flex: 0 0 8px; width: 8px; height: 8px; border-radius: 50%; background: #8CC68E; transform: translateY(-1px); }
.bs23_crblv_cond_check li.is-warn .bs23_crblv_cond_dot { background: #EBCB5A; }
.bs23_crblv_cond_check li.is-err .bs23_crblv_cond_dot { background: #E39A9A; }
.bs23_crblv_cond_code { color: var(--crblv-cond-muted); white-space: nowrap; }
/* Popovers inside the popup: scope pairs, reference menu */
.bs23_crblv_cond_pop, .bs23_crblv_cond_menu { position: absolute; z-index: 5; background: #fff; border: 1px solid #D1D1D1; border-radius: 6px;
	box-shadow: 0 6px 20px rgba(0, 0, 0, .12); }
.bs23_crblv_cond_pop[hidden], .bs23_crblv_cond_menu[hidden] { display: none; }
.bs23_crblv_cond_pop { width: 520px; max-width: calc(100% - 24px); box-sizing: border-box; padding: 12px 14px; }
.bs23_crblv_cond_pop_h { margin: 0 0 8px; font-weight: bold; color: var(--bs_black_1); }
.bs23_crblv_cond_pop_f { display: flex; align-items: center; gap: 8px; margin-top: 8px; }
.bs23_crblv_cond_done { padding: 4px 14px; border-width: 1px; cursor: pointer; font-family: inherit; }
.bs23_crblv_cond_scoperow { display: grid; grid-template-columns: 1fr 1fr 32px; gap: 10px; align-items: end; padding: 6px 0; border-bottom: 1px solid #F3F4F3; }
.bs23_crblv_cond_scoperow label { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.bs23_crblv_cond_scoperow .select2.select2-container .select2-selection { height: 36px; border: 1px solid #E9EBEA; border-radius: 3px; }
.bs23_crblv_cond_scoperow .select2.select2-container .select2-selection .select2-selection__rendered { line-height: 34px; font-family: abel, sans-serif; font-size: 16px; color: var(--bs_black_1); }
.bs23_crblv_cond_scoperow .select2.select2-container .select2-selection .select2-selection__arrow { height: 34px; width: 26px; border-left: 0; background: transparent; }
.bs23_crblv_cond_menu { min-width: 220px; padding: 4px 0; }
.bs23_crblv_cond_menuitem { display: block; width: 100%; padding: 6px 14px; border: 0; background: transparent; text-align: left; cursor: pointer;
	font-family: inherit; color: var(--bs_black_1); }
.bs23_crblv_cond_menuitem:hover { background: color-mix(in srgb, var(--bs_green_1) 8%, #fff); }
.bs23_crblv_cond_menuitem[aria-checked="true"] { font-weight: bold; color: var(--bs_green_1); }
.bs23_crblv_cond.is-readonly .bs23_crblv_cond_addwrap, .bs23_crblv_cond.is-readonly .bs23_crblv_cond_grip, .bs23_crblv_cond.is-readonly .bs23_crblv_cond_rm { display: none; }
/* Read mode: every field greyed like the disabled Select2 */
.bs23_crblv_cond.is-readonly .bs23_crblv_cond_valunit, .bs23_crblv_cond.is-readonly .bs23_crblv_cond_unit,
.bs23_crblv_cond_table .bs23_crblv_cond_valunit .select2.select2-container--disabled .select2-selection,
.bs23_crblv_cond.is-readonly .bs23_crblv_cond_table .bs23_crblv_cond_subname { background: #F7F8F8; }
.bs23_crblv_cond.is-readonly .bs23_crblv_cond_valunit:hover, .bs23_crblv_cond.is-readonly .bs23_crblv_cond_table .bs23_input_1_marked:hover { border-color: #E9EBEA; }
/* Narrow screens: slimmer value + scope columns; below 700px scope + reference give way to the amount */
@media (max-width: 1100px) {
	.bs23_crblv_cond_table { min-width: 680px; }
	.bs23_crblv_cond_table col.c-scope { width: 96px; }
	.bs23_crblv_cond_table col.c-ref { width: 52px; }
	.bs23_crblv_cond_table col.c-value { width: 150px; }
}
@media (max-width: 700px) {
	.bs23_crblv_cond_table { min-width: 560px; }
	.bs23_crblv_cond_table col.c-scope, .bs23_crblv_cond_table col.c-ref,
	.bs23_crblv_cond_table tr > :nth-child(5), .bs23_crblv_cond_table tr > :nth-child(7) { display: none; }
	.bs23_crblv_cond { padding: 14px 12px; }
	.bs23_crblv_cond_pop { width: auto; left: 12px !important; right: 12px; }
	.bs23_crblv_cond_scoperow { grid-template-columns: 1fr 32px; }
	.bs23_crblv_cond_scoperow label:nth-child(2) { grid-column: 1; }
}

/* ============================================================================================
   CRB-LV step 12 «Ausgabe (PDF)» (resources/views/crb/lv/partials/print.blade.php): output popup as
   picture E of mockups/crb_zertifizierung_typ1_vorgehen_mockup_20261107.html — label column + choices,
   radios/checkboxes with the green accent and a visible focus ring, selection rows only for a partial
   output, disabled choices dimmed.
   ============================================================================================ */
.bs23_crblv_print { width: 640px; max-width: calc(100vw - 32px); box-sizing: border-box; padding: 18px 22px 16px; }
.bs23_crblv_print_title { margin: 0 36px 14px 0; color: var(--bs_black_1); }
.bs23_crblv_print_grid { display: grid; grid-template-columns: 110px 1fr; column-gap: 16px; row-gap: 12px; align-items: start; }
.bs23_crblv_print_label { color: var(--bs_black_1); font-weight: 600; padding-top: 2px; }
.bs23_crblv_print_label[hidden], .bs23_crblv_print_sel[hidden] { display: none; }
.bs23_crblv_print_opts { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; min-width: 0; }
.bs23_crblv_print_choice { display: inline-flex; align-items: center; gap: 6px; color: var(--bs_grey_1); cursor: pointer; white-space: nowrap; }
.bs23_crblv_print_choice input { margin: 0; accent-color: var(--bs_green_1); cursor: pointer; }
.bs23_crblv_print_choice input[type="radio"], .bs23_crblv_print_choice input[type="checkbox"] { width: 16px; height: 16px; flex: 0 0 auto; }
/* On/off options as switches (.lv-settings-switch + .lv-filter-switch-track); the checkbox stays focusable, only
   invisible (the editor's inline .lv-settings-switch input { display: none } is overridden by specificity) */
.bs23_crblv_print_switch { position: relative; gap: 8px; }
.bs23_crblv_print .bs23_crblv_print_switch input[type="checkbox"] { display: block; position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none; }
.bs23_crblv_print_switch input[type="checkbox"]:focus-visible + .lv-filter-switch-track { outline: 2px solid var(--bs_green_1); outline-offset: 2px; }
.bs23_crblv_print_switch input[type="checkbox"]:disabled + .lv-filter-switch-track { cursor: not-allowed; }
.bs23_crblv_print_choice input:focus-visible { outline: 2px solid var(--bs_green_1); outline-offset: 2px; }
.bs23_crblv_print_choice.is-off { opacity: 0.45; cursor: not-allowed; }
.bs23_crblv_print_choice.is-off input { cursor: not-allowed; }
.bs23_crblv_print_tipwrap { display: inline-flex; }
.bs23_crblv_print_tipwrap.is-locked .bs23_crblv_print_choice { opacity: 0.45; cursor: not-allowed; }
.bs23_crblv_print_sep { width: 1px; height: 18px; background: color-mix(in srgb, var(--bs_grey_1) 20%, #fff); }
.bs23_crblv_print_sel { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.bs23_crblv_print_selects { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.bs23_crblv_print_selects select { width: 100%; min-width: 0; }
.bs23_crblv_print_selects select:focus-visible { outline: 2px solid var(--bs_green_1); outline-offset: 1px; }
.bs23_crblv_print_foot { display: flex; justify-content: flex-end; margin-top: 18px; padding-top: 12px; border-top: 1px solid color-mix(in srgb, var(--bs_grey_1) 10%, #fff); }
.bs23_crblv_print_foot button:focus-visible { outline: 2px solid var(--bs_green_1); outline-offset: 2px; }
@media (max-width: 560px) {
	/* at least 16 px to the screen edge on each side: the global Lity cap (.lity-inline .lity-content > *,
	   100vw - 16px !important) leaves only ~8 px; % = the Lity box without scrollbar */
	.bs23_crblv_print { padding: 14px 12px; }
	.lity-inline .lity-content > .bs23_crblv_print { max-width: calc(100% - 40px) !important; }
	.bs23_crblv_print_grid { grid-template-columns: 1fr; row-gap: 6px; }
	.bs23_crblv_print_label { padding-top: 6px; }
	.bs23_crblv_print_selects { grid-template-columns: 1fr; }
}

/* ============================================================================================
   CRB-LV step 13 «Austausch: Export und Import» (resources/views/crb/lv/partials/exchange.blade.php):
   picture G of mockups/crb_zertifizierung_typ1_vorgehen_mockup_20261107.html. Builds on the output popup
   (.bs23_crblv_print_*): two tabs, the check line (green / yellow / red), the check report (notes of the
   takeover + findings with CRB number), the file choice. Taskbar icon in house style: green arrow heads
   (icon_exchange_1_fill.svg, ::before) below the #353535 contour (icon_exchange_1.svg, ::after), as
   .bs23_icon_offer_compare_1.
   ============================================================================================ */
.bs23_crblv_xchg { width: 700px; }
.bs23_crblv_xchg_icon { position: relative; display: block; width: 21px; height: 21px; flex: none; }
.bs23_crblv_xchg_icon::before, .bs23_crblv_xchg_icon::after { content: ""; position: absolute; inset: 0;
	-webkit-mask-position: center; mask-position: center; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-size: contain; mask-size: contain; }
.bs23_crblv_xchg_icon::before { background-color: #74AF74; -webkit-mask-image: url('/images/icon_exchange_1_fill.svg'); mask-image: url('/images/icon_exchange_1_fill.svg'); }
.bs23_crblv_xchg_icon::after { background-color: #353535; -webkit-mask-image: url('/images/icon_exchange_1.svg'); mask-image: url('/images/icon_exchange_1.svg'); }
body:has(#crb-lv-chapbar) .bph-tbtn:focus-visible { outline: 2px solid var(--bs_green_1); outline-offset: 2px; }
.bs23_crblv_xchg_tabs { display: flex; align-items: flex-end; gap: 4px; margin: 0 0 16px; border-bottom: 1px solid color-mix(in srgb, var(--bs_grey_1) 15%, #fff); }
.bs23_crblv_xchg_tab { background: none; border: 0; border-bottom: 2px solid transparent; margin: 0 0 -1px; padding: 6px 14px; color: var(--bs_grey_1); cursor: pointer; border-radius: 4px 4px 0 0; }
.bs23_crblv_xchg_tab:hover { background: color-mix(in srgb, var(--bs_green_1) 8%, #fff); color: var(--bs_black_1); }
.bs23_crblv_xchg_tab.is-active { color: var(--bs_black_1); font-weight: 600; border-bottom-color: var(--bs_green_1); }
.bs23_crblv_xchg_tab:focus-visible { outline: 2px solid var(--bs_green_1); outline-offset: 2px; }
.bs23_crblv_xchg_tab:disabled, .bs23_crblv_xchg_tab:disabled:hover { opacity: 0.45; cursor: not-allowed; background: none; color: var(--bs_grey_1); }
.bs23_crblv_xchg_pane[hidden], .bs23_crblv_xchg_report[hidden], .bs23_crblv_xchg_check[hidden], .bs23_crblv_xchg .is-this[hidden], .bs23_crblv_xchg .is-file[hidden] { display: none; }
.bs23_crblv_xchg_check { margin-top: 16px; padding: 10px 12px; border-radius: 6px; border: 1px solid color-mix(in srgb, var(--bs_grey_1) 15%, #fff); color: var(--bs_black_1); background: #fff; }
.bs23_crblv_xchg_check:empty { display: none; }
.bs23_crblv_xchg_check.is-busy { color: var(--bs_grey_1); }
.bs23_crblv_xchg_check.is-ok { background: color-mix(in srgb, var(--bs_green_1) 12%, #fff); border-color: color-mix(in srgb, var(--bs_green_1) 45%, #fff); }
.bs23_crblv_xchg_check.is-warn { background: color-mix(in srgb, var(--bs_yellow_1) 14%, #fff); border-color: color-mix(in srgb, var(--bs_yellow_1) 60%, #fff); }
.bs23_crblv_xchg_check.is-err { background: color-mix(in srgb, var(--bs_red_1) 7%, #fff); border-color: color-mix(in srgb, var(--bs_red_1) 40%, #fff); }
.bs23_crblv_xchg_check_main { font-weight: 600; }
.bs23_crblv_xchg_check_local { color: inherit; }
.bs23_crblv_xchg_report { margin-top: 10px; max-height: 280px; overflow: auto; padding: 8px 10px; border: 1px solid color-mix(in srgb, var(--bs_grey_1) 15%, #fff); border-radius: 6px; }
.bs23_crblv_xchg_report_title { color: var(--bs_black_1); font-weight: 600; margin: 4px 0 6px; }
.bs23_crblv_xchg_report_empty { color: var(--bs_grey_1); margin: 0 0 6px; }
.bs23_crblv_xchg_notes { list-style: none; margin: 0 0 10px; padding: 0; display: flex; flex-direction: column; gap: 4px; color: var(--bs_black_1); }
.bs23_crblv_xchg_notes li { display: flex; gap: 8px; align-items: baseline; }
.bs23_crblv_xchg_lvl { flex: 0 0 auto; min-width: 64px; text-align: center; padding: 0 6px; border-radius: 10px; background: color-mix(in srgb, var(--bs_grey_1) 10%, #fff); color: var(--bs_black_1); }
.is-err > .bs23_crblv_xchg_lvl, .is-A .bs23_crblv_xchg_lvl { background: color-mix(in srgb, var(--bs_red_1) 14%, #fff); color: var(--bs_red_1); }
.is-warn > .bs23_crblv_xchg_lvl, .is-B .bs23_crblv_xchg_lvl { background: color-mix(in srgb, var(--bs_yellow_1) 30%, #fff); }
.is-skipped .bs23_crblv_xchg_lvl { background: color-mix(in srgb, var(--bs_yellow_1) 30%, #fff); color: var(--bs_black_1); }
.bs23_crblv_xchg_table_wrap { overflow-x: auto; }
.bs23_crblv_xchg_table { width: 100%; border-collapse: collapse; color: var(--bs_black_1); }
.bs23_crblv_xchg_table th { text-align: left; font-weight: 600; padding: 4px 8px 4px 0; border-bottom: 1px solid color-mix(in srgb, var(--bs_grey_1) 15%, #fff); white-space: nowrap; }
.bs23_crblv_xchg_table td { padding: 4px 8px 4px 0; vertical-align: top; border-bottom: 1px solid color-mix(in srgb, var(--bs_grey_1) 7%, #fff); }
.bs23_crblv_xchg_table td.is-num { white-space: nowrap; font-variant-numeric: tabular-nums; }
.bs23_crblv_xchg_file { position: relative; display: inline-flex; cursor: pointer; }
.bs23_crblv_xchg_file input[type="file"] { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none; }
.bs23_crblv_xchg_file_btn { display: inline-block; padding: 3px 12px; border: 1px solid var(--bs_green_1); border-radius: 3px; color: var(--bs_green_1); background: #fff; }
.bs23_crblv_xchg_file:hover .bs23_crblv_xchg_file_btn { background: var(--bs_green_1); color: #fff; }
.bs23_crblv_xchg_file input[type="file"]:focus-visible + .bs23_crblv_xchg_file_btn { outline: 2px solid var(--bs_green_1); outline-offset: 2px; }
.bs23_crblv_xchg_file_name { color: var(--bs_grey_1); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.bs23_crblv_xchg_foot { gap: 10px; }
.bs23_crblv_xchg_foot button { min-height: 36px; }
.bs23_crblv_xchg_foot .bs23_button_white_2:disabled, .bs23_crblv_xchg_foot .bs23_button_white_2:disabled:hover { opacity: 0.45; cursor: not-allowed; background: #fff; color: #77B36B; border-color: #77B36B; }
.bs23_crblv_xchg .bs23_crblv_xchg_foot .bs23_button_green_1:disabled,
.bs23_crblv_xchg .bs23_crblv_xchg_foot .bs23_button_green_1:disabled:hover { background: var(--bs_green_1); border-color: var(--bs_green_1); color: #fff; opacity: 0.45; cursor: not-allowed; }
.bs23_crblv_xchg_foot .bs23_crblv_print_tipwrap { display: inline-flex; }
.bs23_crblv_xchg_foot button:focus-visible { outline: 2px solid var(--bs_green_1); outline-offset: 2px; }
.bs23_crblv_xchg .bs23_crblv_print_tipwrap.is-locked .bs23_crblv_xchg_tab { opacity: 0.45; }
@media (max-width: 560px) {
	.bs23_crblv_xchg_tab { padding: 6px 10px; }
	.bs23_crblv_xchg_lvl { min-width: 0; }
	.bs23_crblv_xchg_report { max-height: none; overflow: visible; }
	.bs23_crblv_xchg .bs23_crblv_xchg_foot { flex-direction: column-reverse; align-items: stretch; }
	.bs23_crblv_xchg .bs23_crblv_xchg_foot button, .bs23_crblv_xchg .bs23_crblv_xchg_foot .bs23_crblv_print_tipwrap { width: 100%; }
}

/* ============================================================================================
   CRB-LV step 15 «Siegel, Copyright, Begriffe» (1.1–1.3) — footer of the NPK-LV pages with the
   certification seal, «NPK-Daten © CRB», links to the copyright full text and the short guide;
   popups #crb-lv-copyright / #crb-lv-guide (resources/views/crb/lv/partials/formal.blade.php).
   The seal is an <img> on purpose (official mark, must keep its colours — no CSS mask).
   ============================================================================================ */
.bs23_crblv_formal { --crblv-formal-text: color-mix(in srgb, var(--bs_black_1) 75%, #fff);
	display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin: 24px 15px 0; padding: 10px 0 56px;
	border-top: 1px solid color-mix(in srgb, var(--bs_grey_1) 15%, #fff); color: var(--crblv-formal-text); }
/* bottom space (padding, not margin — the editor's frame swallowed a margin): the fixed «Gespeichert» indicator and
   the polipop toasts sit at the bottom — scrolled to the end, seal and links stay above them and clickable.
   ≤600 px the toast spans the full width (85 px + 10 px gap) → 100 px there. */
.bs23_crblv_formal_seal_wrap { display: inline-flex; flex: none; }
.bs23_crblv_formal_seal { display: block; width: 56px; height: 56px; }
.bs23_crblv_formal_text { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; min-width: 0; }
.bs23_crblv_formal_sep { color: color-mix(in srgb, var(--bs_black_1) 45%, #fff); }
.bs23_crblv_formal_link { color: color-mix(in srgb, var(--bs_green_1) 70%, #000); text-decoration: underline; text-underline-offset: 2px; border-radius: 3px; }
.bs23_crblv_formal_link:hover { color: var(--bs_black_1); }
.bs23_crblv_formal_link:focus-visible { outline: 2px solid var(--bs_green_1); outline-offset: 2px; }
.bs23_crblv_guide { width: 760px; max-width: calc(100vw - 32px); box-sizing: border-box; padding: 18px 22px 16px; }
.bs23_crblv_guide_title { margin: 0 36px 10px 0; color: var(--bs_black_1); }
.bs23_crblv_ms_warn.bs23_crblv_guide_draft { margin: 0 0 12px; } /* colours from .bs23_crblv_ms_warn */
.bs23_crblv_guide_body { --crblv-guide-line: color-mix(in srgb, var(--bs_black_1) 8%, #fff);
	max-height: calc(100vh - 240px); overflow-y: auto; padding: 4px 14px 4px 2px; border-top: 1px solid var(--crblv-guide-line); border-bottom: 1px solid var(--crblv-guide-line); }
.bs23_crblv_guide_body:focus { outline: none; }
.bs23_crblv_guide_body:focus-visible { outline: 2px solid var(--bs_green_1); outline-offset: 2px; }
.bs23_crblv_guide_lead { margin: 10px 0 8px; color: color-mix(in srgb, var(--bs_black_1) 90%, #fff); line-height: 1.5; }
.bs23_crblv_guide_toc { display: flex; flex-wrap: wrap; gap: 4px 6px; margin: 0 0 4px; padding: 0 0 10px; border-bottom: 1px solid var(--crblv-guide-line); }
.bs23_crblv_guide_toc_link { padding: 2px 8px; border: 1px solid color-mix(in srgb, var(--bs_black_1) 15%, #fff); border-radius: 12px;
	color: color-mix(in srgb, var(--bs_green_1) 70%, #000); text-decoration: none; white-space: nowrap; line-height: 18px; }
.bs23_crblv_guide_toc_link:hover { border-color: var(--bs_green_1); color: var(--bs_black_1); }
.bs23_crblv_guide_toc_link:focus-visible { outline: 2px solid var(--bs_green_1); outline-offset: 1px; }
.bs23_crblv_guide_h { margin: 20px 0 4px; padding-left: 8px; border-left: 3px solid var(--bs_green_1); color: color-mix(in srgb, var(--bs_black_1) 90%, #fff); font-weight: 600; scroll-margin-top: 4px; }
.bs23_crblv_guide_p { margin: 0 0 8px; color: color-mix(in srgb, var(--bs_black_1) 80%, #fff); line-height: 1.5; }
#crb-lv-guide .bs23_crblv_guide_p { padding-left: 11px; } /* aligned under the heading text (3 px bar + 8 px) */
.bs23_crblv_guide_foot { display: flex; justify-content: flex-end; margin-top: 14px; }
.bs23_crblv_guide_foot button:focus-visible { outline: 2px solid var(--bs_green_1); outline-offset: 2px; }
/* task bar button «Kurzanleitung NPK-LV» — house style: two masks, green fill + dark stroke */
.bs23_crblv_guide_icon { position: relative; display: block; width: 21px; height: 21px; flex: none; }
.bs23_crblv_guide_icon::before, .bs23_crblv_guide_icon::after { content: ""; position: absolute; inset: 0;
	-webkit-mask-position: center; mask-position: center; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-size: contain; mask-size: contain; }
.bs23_crblv_guide_icon::before { background-color: #74AF74; -webkit-mask-image: url('/images/icon_guide_1_fill.svg'); mask-image: url('/images/icon_guide_1_fill.svg'); }
.bs23_crblv_guide_icon::after { background-color: #353535; -webkit-mask-image: url('/images/icon_guide_1.svg'); mask-image: url('/images/icon_guide_1.svg'); }
.bph-tbtn[data-dev="npk-guide"]:focus-visible { outline: 2px solid var(--bs_green_1); outline-offset: 2px; }
/* NPK-LV pages (all four carry #crb-lv-formal): Lity hands the focus back to the button that opened a popup — the
   microtip then stayed open after closing. Mouse focus hides it; keyboard focus (:focus-visible) and hover still show it. */
body:has(#crb-lv-formal) :is(.bph-bar, #crb-lv-formal) [aria-label][role~="tooltip"]:focus:not(:focus-visible):not(:hover)::before,
body:has(#crb-lv-formal) :is(.bph-bar, #crb-lv-formal) [aria-label][role~="tooltip"]:focus:not(:focus-visible):not(:hover)::after { opacity: 0; visibility: hidden; }
/* close «X» of the global Lity frame: focus ring on the NPK-LV pages (CRB popups only live there) */
body:has(#crb-lv-formal) .lity-close:focus-visible { outline: 2px solid var(--bs_green_1); outline-offset: 2px; }
@media (max-width: 600px) {
	.bs23_crblv_formal { margin: 20px 16px 0; padding-bottom: 100px; }
	.bs23_crblv_guide { padding: 16px; }
}

/* ── CRB-LV 3.6: chapters + version per chapter when creating an NPK-LV (crb/lv/overview.blade.php).
   Same rows as the step-4 picker (.bs23_crblv_picker_*), version as Select2 (jQuery 3.3.1, body dropdown). */
.bs23_crblv_newchap { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.bs23_crblv_newchap_add { display: flex; min-width: 0; }
.bs23_crblv_newchap_add select { width: 100%; }
.bs23_crblv_newchap_list { max-height: 300px; overflow-y: auto; border: 1px solid #E8E8E8; border-radius: 6px; }
.bs23_crblv_newchap_list:empty { display: none; }
.bs23_crblv_newchap_row { display: flex; align-items: center; gap: 10px; padding: 6px 8px 6px 12px; border-bottom: 1px solid #F0F0F0; color: var(--bs_black_1); }
.bs23_crblv_newchap_row:last-child { border-bottom: 0; }
.bs23_crblv_newchap_row b { min-width: 34px; }
.bs23_crblv_newchap_version { display: inline-flex; flex: 0 0 auto; }
.bs23_crblv_newchap_version select { width: 210px; }
.bs23_crblv_newchap_remove { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; padding: 0;
	border: 1px solid #E8E8E8; border-radius: 5px; background: #fff; color: #6E6E6E; cursor: pointer; }
.bs23_crblv_newchap_remove:hover { border-color: #9B6262; background: #FBF5F5; color: #9B6262; }
.bs23_crblv_newchap_remove:focus-visible { outline: 2px solid var(--bs_green_1); outline-offset: 1px; }
.bs23_crblv_icon_trash_mask { width: 16px; height: 16px;
	-webkit-mask: url('../images/icon_trash_2.svg') center / contain no-repeat; mask: url('../images/icon_trash_2.svg') center / contain no-repeat; }
.bs23_crblv_newchap .select2.select2-container { background: transparent !important; }
.bs23_crblv_newchap .select2.select2-container .select2-selection { height: 32px; box-sizing: border-box; border: 1px solid #C6C6C6; border-radius: 3px; background: #fff; }
.bs23_crblv_newchap .select2.select2-container .select2-selection .select2-selection__rendered { padding: 0 24px 0 10px; line-height: 30px;
	color: var(--bs_black_1); font-family: abel, sans-serif; font-size: 16px; }
.bs23_crblv_newchap .select2.select2-container .select2-selection .select2-selection__placeholder { color: #6E6E6E; }
.bs23_crblv_newchap .select2.select2-container .select2-selection .select2-selection__arrow { top: 0; right: 4px; height: 30px; border-left: 0; background: transparent; }
.bs23_crblv_newchap .select2.select2-container .select2-selection:hover { border-color: #9E9E9E; }
.bs23_crblv_newchap .select2.select2-container.select2-container--open .select2-selection { border-color: var(--bs_green_1); }
.bs23_crblv_newchap .select2.select2-container .select2-selection:focus-visible { outline: 2px solid var(--bs_green_1) !important; outline-offset: 0; }
.select2-container .select2-dropdown.bs23_crblv_s2drop .select2-search__field { font-family: abel, sans-serif; font-size: 16px; }
@media (max-width: 700px) {
	.bs23_crblv_newchap_row { flex-wrap: wrap; }
	.bs23_crblv_newchap_version { flex: 1 1 100%; order: 3; }
	.bs23_crblv_newchap_version select, .bs23_crblv_newchap_version .select2.select2-container { width: 100% !important; }
}

/* Tutorials (topic tutorials, /tutorials): overview and the help page of one screen */
.tu-page { --tu-green:#4B7344; --tu-green-m:#72ae74; --tu-green-bg:#E8F0E5; --tu-line:#E8E8E8; --tu-txt:#323232; --tu-mut:#6c6c70; }
.tu-h { display:block; margin:0 0 12px; }
.tu-p { margin:0 0 10px; line-height:1.4; }
.tu-search { width:240px; max-width:52vw; }
.tu-over { display:grid; grid-template-columns:205px minmax(0,1fr); gap:16px; clear:both; padding:10px 0 24px; }
.tu-areas { background:#fff; border-radius:9px; padding:7px; align-self:start; box-shadow:rgba(14,30,37,.1) 0 2px 8px 0; }
.tu-area { display:flex; width:100%; align-items:center; gap:9px; padding:8px; border:0; border-radius:6px; background:transparent; color:#525252; font-family:inherit; text-align:left; cursor:pointer; }
.tu-area:hover { background:#F5F5F5; color:#2F2F2F; }
.tu-area.on, .tu-area.on:hover { background:var(--tu-green-bg); color:var(--tu-green); }
.tu-area-icon { width:22px; height:22px; flex:none; background-size:contain; background-repeat:no-repeat; background-position:center; }
.tu-area-name { flex:1; }
.tu-cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:12px; }
.tu-card-link { display:block; background:#fff; border-radius:9px; overflow:hidden; color:var(--tu-txt); text-decoration:none; box-shadow:rgba(14,30,37,.12) 0 2px 6px 0; }
.tu-card-link[hidden] { display:none; }
.tu-card-link:hover { color:var(--tu-txt); box-shadow:rgba(14,30,37,.22) 0 3px 12px 0; }
.tu-thumb { display:block; aspect-ratio:16/9; overflow:hidden; background:#eef0ee; }
.tu-thumb img { width:100%; display:block; }
.tu-card-title { display:block; padding:9px 11px 11px; }
.tu-art { display:grid; grid-template-columns:190px minmax(0,1fr); gap:18px; align-items:start; clear:both; padding:10px 0 24px; }
.tu-title { margin:0 0 14px; }
.tu-toc-back { white-space:nowrap; display:block; padding:7px 9px 10px; margin:0 0 6px; border-bottom:1px solid #eee; color:#525252; text-decoration:none; }
.tu-toc-back:hover { color:var(--tu-green); }
.tu-sec-icon { width:22px; height:22px; flex:none; background:currentColor; -webkit-mask:var(--tu-icon) center/contain no-repeat; mask:var(--tu-icon) center/contain no-repeat; }
.tu-sec-title { display:flex; align-items:center; gap:10px; }
.tu-sec-title .tu-sec-icon { color:var(--tu-green); }
.tu-toc { position:sticky; top:96px; background:#fff; border-radius:10px; padding:10px; box-shadow:rgba(14,30,37,.1) 0 2px 8px 0; }
.tu-toc button { white-space:nowrap; display:flex; align-items:center; gap:9px; width:100%; text-align:left; background:transparent; border:0; font-family:inherit; color:#525252; padding:7px 9px; border-radius:6px; cursor:pointer; }
.tu-toc button:hover { background:#F5F5F5; color:#2F2F2F; }
.tu-toc button.on, .tu-toc button.on:hover { background:var(--tu-green-bg); color:var(--tu-green); }
.tu-sec { background:#fff; border-radius:10px; padding:18px 20px 20px; margin:0 0 14px; box-shadow:rgba(14,30,37,.1) 0 2px 8px 0; scroll-margin-top:96px; }
.tu-flow { display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
.tu-flow-item { background:#F1F2F4; border-radius:8px; padding:9px 13px; }
.tu-flow-item.on { background:var(--tu-green); color:#fff; }
.tu-flow-arrow { color:#7d837d; }
.tu-stage { position:relative; overflow:hidden; border-radius:10px; border:1px solid #DFE1DF; background:#ececec; line-height:0; }
.tu-stage img { display:block; width:100%; height:auto; }
.tu-spot { position:absolute; display:none; border-radius:8px; outline:2px solid var(--tu-green-m); outline-offset:3px; box-shadow:0 0 0 2400px rgba(25,28,25,.46); transition:all .28s ease; pointer-events:none; z-index:2; }
.tu-dot, .tu-dot[aria-label][role~="tooltip"] { position:absolute; z-index:3; width:26px; height:26px; margin:-11px 0 0 -11px; padding:0; border-radius:50%; background:var(--tu-green); color:#fff; border:2px solid #fff; box-shadow:0 2px 7px rgba(0,0,0,.35); display:flex; align-items:center; justify-content:center; cursor:pointer; font-family:inherit; line-height:1; }
.tu-dot:hover, .tu-dot.on, .tu-dot.on:hover { background:#2F5B2B; color:#fff; }
.tu-dot.on { transform:scale(1.15); }
.tu-num { flex:none; width:26px; height:26px; border-radius:50%; background:var(--tu-green); color:#fff; display:flex; align-items:center; justify-content:center; }
@media (max-width:820px) {
	.tu-over, .tu-art { grid-template-columns:minmax(0,1fr); }
	.tu-toc { position:static; display:flex; flex-wrap:wrap; gap:2px; }
	.tu-toc button { width:auto; }
	.tu-stage-scroll { overflow-x:auto; }
	.tu-stage { min-width:640px; }
	.tu-sec { padding:14px; }
	.tu-dot, .tu-dot[aria-label][role~="tooltip"] { width:22px; height:22px; margin:-9px 0 0 -9px; }
}
@media (prefers-reduced-motion:reduce) {
	.tu-spot { transition:none; }
}

/* Tutorials: popup at the explained button */
.tu-pop { scroll-margin-top:96px; position:absolute; z-index:6; width:min(350px, calc(100% - 16px)); background:#fff; border-radius:10px; padding:12px 14px 14px; box-shadow:0 10px 32px rgba(0,0,0,.32); line-height:1.35; }
.tu-pop[hidden] { display:none; }
.tu-pop::before { content:''; position:absolute; left:var(--tu-arrow, 24px); top:-7px; width:14px; height:14px; margin-left:-7px; background:#fff; transform:rotate(45deg); border-radius:2px; }
.tu-pop.above::before { top:auto; bottom:-7px; }
.tu-pop-head { position:relative; display:flex; align-items:center; gap:9px; margin:0 0 8px; }
.tu-pop-title { flex:1; min-width:0; }
.tu-pop-close { flex:none; width:28px; height:28px; padding:0; border:0; border-radius:50%; background:transparent; color:#6c6c70; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.tu-pop-close:hover { background:#F1F2F4; color:#2F2F2F; }
.tu-pop-close span { width:14px; height:14px; background:currentColor; -webkit-mask:url('/images/button_close_1.svg') center/contain no-repeat; mask:url('/images/button_close_1.svg') center/contain no-repeat; }
.tu-pop-list { position:relative; margin:0; padding:0 0 0 18px; color:var(--tu-txt); }
.tu-pop-list li { margin:0 0 6px; }
.tu-pop-list li:last-child { margin-bottom:0; }

/* Tutorials: section "Gut zu wissen" as accordion */
.tu-acc { border:1px solid var(--tu-line); border-radius:8px; margin:0 0 6px; }
.tu-acc:last-child { margin:0; }
.tu-acc summary { display:flex; align-items:center; gap:10px; padding:10px 12px; cursor:pointer; list-style:none; }
.tu-acc summary::-webkit-details-marker { display:none; }
.tu-acc summary:hover { color:var(--tu-green); }
.tu-acc-icon { width:22px; height:22px; flex:none; background:currentColor; -webkit-mask:var(--tu-icon) center/contain no-repeat; mask:var(--tu-icon) center/contain no-repeat; }
.tu-acc-sign { margin-left:auto; color:#7d837d; transition:transform .2s; }
.tu-acc[open] .tu-acc-sign { transform:rotate(45deg); }
.tu-acc p { margin:0; padding:0 12px 12px 44px; color:#55555a; line-height:1.35; }
.tu-acc.plain p { padding-left:12px; }

/* Tutorials: section "Team", two ways of working together */
.tu-team { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.tu-way { border:1px solid var(--tu-line); border-radius:9px; padding:14px 16px 16px; }
.tu-way-sub { display:block; margin:12px 0 4px; color:var(--tu-green); }
.tu-way p { margin:0; line-height:1.35; }
.tu-way ol, .tu-way ul { margin:0; padding:0; line-height:1.35; }
.tu-marks { margin:0; padding:0; }
.tu-way ol { padding-left:20px; }
.tu-way ol li { margin:0 0 5px; }
.tu-marks { list-style:none; }
.tu-marks li { position:relative; padding-left:24px; margin:0 0 5px; }
.tu-marks li::before { content:''; position:absolute; left:0; top:1px; width:17px; height:17px; background:var(--tu-green); -webkit-mask:url('/images/tutorial_icon_check.svg') center/contain no-repeat; mask:url('/images/tutorial_icon_check.svg') center/contain no-repeat; }
.tu-marks.minus li::before { background:#A5493B; -webkit-mask-image:url('/images/tutorial_icon_minus.svg'); mask-image:url('/images/tutorial_icon_minus.svg'); }
@media (max-width:820px) { .tu-team { grid-template-columns:minmax(0,1fr); } }

/* Tutorials: introduction as lead sentence and three short blocks */
.tu-intro-lead { margin:0 0 14px; line-height:1.3; }
.tu-intro { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.tu-intro-block { background:#F6F8F6; border-radius:9px; padding:14px 16px 12px; line-height:1.3; }
.tu-intro-head { display:flex; align-items:center; gap:10px; margin:0 0 10px; }
.tu-intro-icon { width:36px; height:36px; flex:none; border-radius:50%; background:var(--tu-green-bg); color:var(--tu-green); display:flex; align-items:center; justify-content:center; }
@media (max-width:820px) { .tu-intro { grid-template-columns:minmax(0,1fr); } }

/* admin dashboard: menu tiles (09.11.2026) */
.admin-tiles { display:grid; grid-template-columns:repeat(auto-fill, minmax(180px, 1fr)); gap:12px; }
.admin-tile { box-sizing:border-box; margin:0; aspect-ratio:1 / 1; }
.admin-tile a { display:block; height:100%; }
.admin-tile-row { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; height:100%; text-align:center; overflow-wrap:anywhere; }
.admin-tile-icon { width:48px; height:48px; flex:none; color:var(--bs_grey_1); }

/* Help and support page (/support, layout S1 from 09.11.2026). */
.su-page { --su-green:#4B7344; --su-green-dark:#3f6239; --su-green-bg:#E8F0E5; --su-line:#E8E8E8; --su-muted:#55555a; clear:both; display:flex; flex-direction:column; gap:14px; padding:10px 0 24px; color:#323232; }
.su-box { background:#fff; border-radius:12px; padding:22px 24px; box-shadow:rgba(14,30,37,.1) 0 2px 8px 0; box-sizing:border-box; }
.su-search label { display:block; margin:0 0 10px; }
.su-field { position:relative; }
.su-field .su-icon { position:absolute; left:12px; top:50%; transform:translateY(-50%); width:20px; height:20px; color:#7d837d; }
.su-field input { width:100%; max-width:none; box-sizing:border-box; padding-left:40px !important; }
.su-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.su-card { display:flex; flex-direction:column; }
.su-card .su-ic { width:56px; height:56px; margin:0 0 14px; color:var(--su-green); background:var(--su-green-bg); }
.su-card .su-text { margin:6px 0 16px; }
.su-card .su-btn { margin-top:auto; align-self:flex-start; }
.su-text { margin:2px 0 0; line-height:1.35; color:var(--su-muted); }
.su-line { display:flex; align-items:center; gap:14px; flex-wrap:wrap; padding:14px 24px; }
.su-line-text { flex:1; min-width:220px; }
.su-ic { display:flex; align-items:center; justify-content:center; flex:none; overflow:hidden; border-radius:50%; }
.su-ic-grey { width:42px; height:42px; color:#5b5b60; background:#F1F2F4; }
.su-ic img { width:100%; height:100%; object-fit:cover; }
.su-icon { display:inline-block; width:26px; height:26px; flex:none; background:currentColor; -webkit-mask:var(--su-icon) center/contain no-repeat; mask:var(--su-icon) center/contain no-repeat; }
.su-ic-grey .su-icon { width:22px; height:22px; }
.su-icon-search { --su-icon:url(../images/support_icon_search.svg); }
.su-icon-tutorials { --su-icon:url(../images/tutorial_icon_intro.svg); }
.su-icon-ticket { --su-icon:url(../images/support_icon_ticket.svg); }
.su-icon-admin { --su-icon:url(../images/support_icon_admin.svg); }
.su-icon-feedback { --su-icon:url(../images/support_icon_feedback.svg); }
.su-btn { display:inline-flex; align-items:center; height:42px; padding:0 16px; background:#fff; border:1px solid var(--su-line); border-radius:8px; color:#525252; font-family:inherit; cursor:pointer; line-height:1; text-decoration:none; white-space:nowrap; box-sizing:border-box; }
.su-btn:hover { background:#F5F5F5; border-color:#ddd; color:#2F2F2F; }
.su-btn-primary, .su-btn-primary:hover { color:#fff; background:var(--su-green); border-color:var(--su-green); }
.su-btn-primary:hover { background:var(--su-green-dark); border-color:var(--su-green-dark); }
@media (max-width:760px) {
	.su-cards { grid-template-columns:minmax(0,1fr); }
	.su-box { padding:16px; }
}

/* 09.11.2026: tabs per kind, LV structure in the tab «Musterposition» */
.akw-tabs { flex-wrap:wrap; gap:2px; margin:6px 0 14px; padding:0 4px; border-bottom:1px solid #D9D9D9; }
.akw-tabs .lv-settings-tab { display:inline-flex; align-items:center; gap:6px; background:#F3F3F3; color:#6B6B6B; border:1px solid #E3E3E3; border-bottom:0; border-radius:8px 8px 0 0; padding:8px 14px; margin:0; font-weight:normal; position:relative; }
.akw-tabs .lv-settings-tab:hover { background:#EEF4EC; color:#42683C; }
.akw-tabs .lv-settings-tab.is-active, .akw-tabs .lv-settings-tab.is-active:hover { background:#fff; color:#42683C; border-color:#D9D9D9; top:1px; padding-bottom:9px; }
.akw-tabs .akw-ic { width:16px; height:16px; }
.akw-tabs .akw-n { color:#9a9a9a; }
.akw-ic-plus { --akw-i:url('/images/icon_akw_plus.svg'); }
.akw-ic-grip { --akw-i:url('/images/icon_paragraph.svg'); }
/* tab «Musterposition»: the look of the LV editor (.cg-content-item, .cg-depth-line) */
.akw-lv-list { position:relative; padding:10px; min-height:50px; }
.akw-lv-line { position:absolute; top:0; bottom:0; width:0; margin-left:10px; border-left:1px dashed #BDBDBD; pointer-events:none; z-index:0; }
.akw-lv-item { position:relative; z-index:1; margin-bottom:5px; border-radius:10px; background:#fff; box-shadow:rgba(0,0,0,.05) 0 6px 24px 0, rgba(0,0,0,.08) 0 0 0 1px; }
.akw-lv-item[data-depth="1"] { margin-left:20px; }
.akw-lv-item[data-depth="2"] { margin-left:40px; }
.akw-lv-head, .akw-row.akw-lv-row { display:flex; align-items:flex-start; gap:10px; padding:10px 15px; border:0; border-radius:10px; min-height:36px; }
.akw-lv-item.is-none .akw-lv-head { align-items:center; justify-content:space-between; color:#6B6B6B; background:#F3F3F3; }
.akw-lv-grip { display:flex; align-items:center; justify-content:center; width:28px; height:28px; flex:none; color:#9a9a9a; cursor:grab; }
.akw-lv-grip:active { cursor:grabbing; }
.akw-lv-nr { display:inline-block; flex:none; min-width:48px; box-sizing:border-box; height:28px; line-height:26px; padding:0 6px; text-align:center; font-weight:700; color:#525252; background:#fff; border:1px solid #C6C6C6; border-radius:6px; }
.akw-lv-item.is-none ~ .akw-lv-item .akw-lv-nr { visibility:hidden; }
.akw-lv-div { width:2px; align-self:stretch; background:#EDEDED; flex:none; }
.akw-lv-title { flex:1; min-width:0; min-height:28px; box-sizing:border-box; padding:4px 6px; border:1px solid transparent; border-radius:5px; background:transparent; outline:none; color:#323232; font-family:inherit; }
.akw-lv-title:hover, .akw-lv-title:focus { border-color:#C6C6C6; }
.akw-lv-item[data-kind="t"] .akw-lv-title { font-weight:700; }
.akw-lv-item.is-empty .akw-lv-title { color:#9A9A9A; }
.akw-lv-row .akw-t { padding-top:4px; }
.akw-lv-unit { flex:none; min-width:24px; padding-top:4px; text-align:right; color:#6B6B6B; }
.akw-lv-row .akw-typ { padding-top:6px; }
.akw-lv-head .akw-n { align-self:center; }
.akw-lv-acts { display:flex; gap:4px; flex:none; opacity:0; }
.akw-lv-item:hover .akw-lv-acts, .akw-lv-item:focus-within .akw-lv-acts { opacity:1; }
.akw-lv-carry { display:none; color:#fff; background:#72AE74; border-radius:10px; padding:0 8px; align-self:center; flex:none; }
.akw-lv-item.is-carrying .akw-lv-carry { display:inline-block; }
.akw-lv-placeholder { border:2px dashed #72AE74; border-radius:10px; background:#eff5ef; margin-bottom:5px; min-height:40px; visibility:visible !important; }
.akw-layer:not(.open) .akw-lv-list { display:none; }
.akw-builds .qm-art { white-space:normal; text-align:left; height:auto; }
#akw-ov #apm-add, #akw-ov .apm-del, #akw-ov .apm-key, #akw-ov .akw-f:has(#apm-note) { display:none; }
.lvp-section { padding:8px 4px 4px; color:#42683C; }
@media (max-width:700px) { .akw-lv-head, .akw-row.akw-lv-row { flex-wrap:wrap; } .akw-lv-acts { opacity:1; } .akw-lv-item[data-depth="1"] { margin-left:8px; } .akw-lv-item[data-depth="2"] { margin-left:16px; } .akw-lv-line { display:none; } }

/* 09.11.2026: Ana on the knowledge page — change an entry or add to a group (panel and chat) */
.ana-mode { display:inline-block; flex:none; border-radius:6px; padding:1px 8px; white-space:nowrap; }
.ana-mode.change { background:#E3EEF7; color:#1A6E9C; }
.ana-mode.new { background:#E8F0E5; color:#4B7344; }
.ana-mode-tag { display:block; margin-bottom:4px; }
.ana-mode-line { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px; color:#6B6B6B; text-align:center; }
.akw-ana-entry.ana-sel { align-items:flex-start; padding:7px 4px 7px 8px; }
.ana-sel .akw-ana-v { white-space:normal; overflow:visible; display:block; }
.ana-sel-nr { flex:none; font-weight:700; color:#525252; }
.ana-sel-txt { flex:1; min-width:0; }
.ana-sel-path { display:block; color:#828282; }
.akw-lv-item.ana-on > .akw-lv-head { box-shadow:inset 3px 0 0 #6B9B62; background:#F5FBF4; }
body.akw-ana-open .akw-lv-head { cursor:pointer; }

/* 09.11.2026: what Ana saved stays marked until the first click on it */
.akw-row.ana-marked, .akw-row.akw-lv-row.ana-marked { box-shadow:inset 3px 0 0 #E0A800; background:#FFF8E1; }

/* 09.11.2026: knowledge «Ausmass» */
.akw-lv-art { flex:none; display:inline-block; border-radius:6px; padding:1px 8px; margin-top:5px; background:#F3F3F3; color:#6B6B6B; }

/* 09.11.2026: /admin/sales/offers */
.bs23_soff_layout { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:14px; align-items:start; }
.bs23_soff_view { display:flex; flex-direction:column; gap:12px; }
.bs23_soff_pdf { height:calc(100vh - 210px); min-height:560px; padding:12px; box-sizing:border-box; overflow-y:auto; border:1px solid #E2E2E2; border-radius:4px; background:#F4F4F4; color:#5F5F5F; }
.bs23_soff_pdf canvas { display:block; width:100%; margin-bottom:12px; background:#FFFFFF; box-shadow:rgba(14,30,37,.16) 0 1px 4px 0; }
.bs23_soff_list { display:flex; flex-direction:column; gap:8px; position:sticky; top:10px; }
.bs23_soff_list input[type=search] { width:100%; box-sizing:border-box; }
.bs23_soff_scroll { max-height:calc(100vh - 230px); min-height:300px; overflow-y:auto; }
.bs23_soff_row { display:flex; flex-wrap:wrap; align-items:center; gap:3px 8px; padding:8px; border-top:1px solid #E9E9E9; color:#323232; text-decoration:none; }
.bs23_soff_row:hover { background:#F5F7F2; color:#323232; }
.bs23_soff_row.is-active { background:#E8F0E5; box-shadow:inset 3px 0 0 var(--bs_green_1); }
.bs23_soff_name { flex:1 0 100%; font-weight:700; overflow-wrap:anywhere; }
.bs23_soff_older summary { padding:2px 8px 8px; color:#5F5F5F; cursor:pointer; }
.bs23_soff_older .bs23_soff_row { padding-left:18px; }
.bs23_soff_grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.bs23_soff_grid label { display:flex; flex-direction:column; gap:3px; min-width:0; }
.bs23_soff_grid input, .bs23_soff_grid select { width:100% !important; box-sizing:border-box; }
.bs23_soff_text { display:block; width:100%; min-height:130px; margin-top:3px; padding:6px; box-sizing:border-box; resize:vertical; font-family:inherit; line-height:1.3; }
@media (max-width:900px) {
	.bs23_soff_layout { grid-template-columns:minmax(0,1fr); }
	.bs23_soff_list { position:static; }
	.bs23_soff_scroll { max-height:320px; min-height:0; }
	.bs23_soff_pdf { height:70vh; min-height:0; }
}

/* Switch LV <-> measurement waits for the save (09.11.2026, lv.partials.ms_switch) */
.lv-ms-wait { position:fixed; inset:0; z-index:100000; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.55); cursor:wait; }
.lv-ms-wait-box { display:flex; align-items:center; gap:12px; padding:14px 24px; background:#fff; border:1px solid #E3E3E3; border-radius:10px; color:#4B4B4B; box-shadow:0 10px 30px -12px rgba(0,0,0,.25); }
.lv-ms-wait-dot { width:12px; height:12px; flex:none; border-radius:50%; background:var(--bs_green_1, #72AE74); animation:lv-ms-wait-pulse 1s ease-in-out infinite; }
@keyframes lv-ms-wait-pulse { 0%, 100% { opacity:.35; transform:scale(.8); } 50% { opacity:1; transform:scale(1); } }

/* Tutorials: guide without a page of its own (type=guide) */
.tu-thumb-guide { display: flex; align-items: center; justify-content: center; }
.tu-guide-chapter { margin-bottom: 16px; }
.tu-guide-scroll { overflow-x: auto; }
.tu-guide-table { width: 100%; border-collapse: collapse; margin-top: 8px; }
.tu-guide-table th, .tu-guide-table td { padding: 6px 8px; border-bottom: 1px solid #dfdfdf; text-align: left; vertical-align: top; }

/* ==================== Search projects (offering/searchprojects): list + map side by side ==================== */
.bs23_searchproject_split_1 {
	display: grid;
	grid-template-columns: minmax(360px, 560px) minmax(0, 1fr);
	gap: 14px;
	height: 640px;
	margin-top: 10px;
}
.bs23_searchproject_list_1 {
	min-width: 0;
	overflow-y: auto;
	padding-right: 4px;
}
.bs23_searchproject_list_1 .bs23_datatables_table_01 {
	width: 100% !important; /* DataTables sets a pixel width; long titles must not widen the list */
	table-layout: fixed;
}
.bs23_searchproject_list_1 .bs23_datatables_table_01 tbody td {
	padding: 0 0 8px 0;
	border: none;
}
.bs23_searchproject_map_1 {
	position: relative;
	min-width: 0;
	border-radius: 10px;
	overflow: hidden;
	background-color: #ECEEEA;
}
.bs23_searchproject_map_1 #canvas-map {
	position: absolute;
	inset: 0;
}
.bs23_searchproject_row_1 {
	display: flex;
	gap: 12px;
	align-items: center;
	padding: 10px;
	background-color: #FFFFFF;
	border: 2px solid #EBEBEB;
	border-radius: 10px;
	text-decoration: none;
	transition: border-color .15s, box-shadow .15s;
}
.bs23_searchproject_row_1:hover,
.bs23_searchproject_row_1.is-active {
	border-color: var(--bs_green_1);
	box-shadow: 0 4px 14px rgba(0, 0, 0, .08);
	text-decoration: none;
}
.bs23_searchproject_image_1 {
	flex: none;
	width: 96px;
	height: 72px;
	border-radius: 8px;
	overflow: hidden;
	background-color: #F5F5F5;
}
.bs23_searchproject_image_1 img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.bs23_searchproject_text_1 {
	display: flex;
	flex-direction: column;
	min-width: 0;
	flex: 1;
}
.bs23_searchproject_line_1 {
	display: block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	line-height: 1.35;
}
.bs23_searchproject_bkp_1 {
	display: inline-block;
	padding: 0 8px;
	margin-right: 4px;
	border-radius: 11px;
	line-height: 20px;
	vertical-align: 2px;
	background-color: #343434;
	color: #FFFFFF;
}
@media (max-width: 900px) {
	.bs23_searchproject_split_1 {
		grid-template-columns: minmax(0, 1fr);
		height: auto;
	}
	.bs23_searchproject_map_1 {
		order: -1;
		height: 280px;
	}
	.bs23_searchproject_list_1 {
		overflow: visible;
		padding-right: 0;
	}
	.bs23_searchproject_image_1 {
		width: 72px;
		height: 56px;
	}
}

/* Flash warning above a page (approval overview, 11.11.2026) */
.bs23_flash_warning { color: #8a6d00; background: #fbf6e0; border-radius: 6px; padding: 6px 10px; margin-bottom: 10px; }

/* Mail log /admin/email-posted (tbl_email_posted, 11.11.2026) — builds on the ".bs23_storage_*" blocks */
.bs23_ep_filter { gap: 8px; }
.bs23_ep_search { width: 280px; max-width: 100%; box-sizing: border-box; }
.bs23_ep_reset { color: #5F5F5F; }
.bs23_ep_reset:hover { color: #323232; }
.bs23_ep_chip_ok { background: #E8F0E5; color: #3F6339; }
.bs23_ep_chip_warn { background: #FBEEDD; color: #7A4306; }
.bs23_ep_chip_fail { background: #FBE7E7; color: #7D1A1A; }
.bs23_ep_chip_info, .bs23_ep_chip_run { background: #E8F0F8; color: #2C4870; }
a.bs23_storage_chip { text-decoration: none; }
.bs23_ep_table tr, .bs23_ep_table th, .bs23_ep_table td { font-size: inherit; }
.bs23_ep_table td { vertical-align: top; }
.bs23_ep_row { cursor: pointer; }
.bs23_ep_row:hover td { background: #F3F8F2; }
.bs23_ep_nowrap { white-space: nowrap; }
.bs23_ep_link { color: #2C4870; text-decoration: none; }
.bs23_ep_link:hover { text-decoration: underline; }
.bs23_ep_detail { cursor: help; margin-left: 4px; }
.bs23_ep_pages { margin-top: 10px; }
.bs23_ep_grid { display: grid; grid-template-columns: minmax(320px, 2fr) 3fr; gap: 14px; align-items: start; }
.bs23_ep_h { margin-bottom: 8px; }
.bs23_ep_mt { margin-top: 18px; }
.bs23_ep_kv { display: grid; grid-template-columns: minmax(110px, max-content) 1fr; gap: 4px 14px; }
.bs23_ep_break { overflow-wrap: anywhere; }
.bs23_ep_btnlink { display: inline-flex; align-items: center; text-decoration: none; }
.bs23_ep_tabs { display: flex; gap: 4px; flex-wrap: wrap; margin-bottom: 12px; }
.bs23_ep_tabs button { font-family: inherit; font-size: inherit; background: #F3F3F3; color: #5F5F5F; border: 1px solid #E5E5E5; border-radius: 6px; padding: 5px 12px; cursor: pointer; }
.bs23_ep_tabs button:hover { background: #E9E9E9; color: #323232; }
.bs23_ep_tabs button.on, .bs23_ep_tabs button.on:hover { background: #6B9B62; border-color: #6B9B62; color: #FFFFFF; }
.bs23_ep_dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-left: 4px; vertical-align: 1px; }
.bs23_ep_dot_warn { background: #E0A040; }
.bs23_ep_dot_fail { background: #C62828; }
.bs23_ep_pane { display: none; }
.bs23_ep_pane.on { display: flex; flex-direction: column; gap: 10px; }
.bs23_ep_frame { width: 100%; height: 720px; border: 1px solid #E5E5E5; border-radius: 6px; background: #FFFFFF; }
.bs23_ep_src { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; background: #FAFAFA; border: 1px solid #EEEEEE; border-radius: 6px; padding: 10px; max-height: 720px; overflow: auto; font-family: inherit; }
@media (max-width: 900px) {
	.bs23_ep_grid { grid-template-columns: 1fr; }
	.bs23_ep_kv { grid-template-columns: 1fr; gap: 0 12px; }
	.bs23_ep_search { width: 100%; }
	.bs23_ep_frame { height: 560px; }
}
