html, body {
  overscroll-behavior: none;
}

.modal {
  display: none;
  position: fixed;
  z-index: 999;
  left: 0; top: 0;
  width: 100%; height: 100%;
  overflow: auto;
  background-color: rgba(0,0,0,0.5);
}
.modal-content {
  background-color: #fff;
  margin: 10% auto;
  padding: 20px;
  border-radius: 8px;
  width: 90%;
  max-width: 600px;
  box-shadow: 0 0 10px rgba(0,0,0,0.3);
}
.close {
  float: right;
  font-size: 24px;
  font-weight: bold;
  cursor: pointer;
}
	
#notizLogbuch {
  margin-top: 20px;
  max-height: 200px;
  overflow-y: auto;
}
.log-eintrag {
  background: #f9f9f9;
  padding: 10px;
  border-left: 4px solid #04AA6D;
  margin-bottom: 10px;
  font-size: 0.95rem;
  white-space: pre-wrap;
}
	

.max-200-table .resp-table-row > .table-body-cell:first-child {
  max-width: 130px;
  width: 130px; /* optional: erzwingt feste Breite */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/*
input[type="file"] {
  display: none;
}
*/
.checkbox-label {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  font-size: 1.2em;
  cursor: pointer;
  user-select: none;
}

.checkbox-label input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: #007bff; /* moderne Browser */
}

.footer {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	background: #f8f9fa;
	padding: 5px 0;
	box-shadow: 2px 2px 2px rgba(0.1, 0.1, 0.1, 0.1);
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 10px 0;
}

.footer button {
	background: none;
	border: none;
	font-size: 20px;
	margin: 0 20px;
	cursor: pointer;
}

.footer button:active {
	opacity: 0.6;
}

.navbar {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background: #f8f9fa;
	padding: 5px 0;
	box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1);
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 1000;
}
.navbar table {
	border-collapse: collapse;
}
.navbar td {
	padding: 0 2px;
}
.content {
	margin-top: 45px; /* Platz für fixierte Navigation */
	padding: 5px;
	padding-bottom: 100px; /* Platz für fixierten Footer, damit nichts überlappt */
}

/* Setze die Schriftart für die gesamte Webseite */
body {
    font-family: 'Helvetica', 'Arial'; /* Falls 'Arial' nicht verfügbar ist, wird eine generische sans-serif Schriftart verwendet */
}

.rahmen {
	border: 1px solid black; /* Rahmenstärke, -stil und -farbe */
	padding: 5px; /* Innenabstand */
	display: inline-block; /* Damit der Rahmen korrekt angezeigt wird */
}

.custom-file-upload {
  border: 1px solid #ccc;
  display: inline-block;
  padding: 6px 12px;
  cursor: pointer;
}

input.spaltigtextbox {
  width: 120px;	
}
input.messwerte {
  width: 120px;	
}

input[type=text],[type=number],input[type=password], select {
  padding: 12px 20px;
  margin: 8px 0;
  display: inline-block;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
  font-size: 16px;
  width: 200px;
}

div {
 font-size: 16px;	
}

input[type=text]:focus {
  background-color: lightblue;
}
input[type=number]:focus {
  background-color: lightblue;
}


textarea {
  width: 100%;
  height: 150px;
  padding: 12px 20px;
  box-sizing: border-box;
  border: 2px solid #ccc;
  border-radius: 4px;
  background-color: #f8f8f8;
  resize: none;
  font-size: 16px;
}



.button {
background-color: #04AA6D; /* Green */
border: none;
border-radius: 10px;
color: white;
padding: 10px 10px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
font-weight: bolder;
}

.button:hover {
background-color: #00CC00; /* Green */
color: white;
}

/* The container must be positioned relative: */
.custom-select {
  position: relative;
  font-family: Arial;
}

.custom-select select {
  display: none; /*hide original SELECT element: */
}

.select-selected {
  background-color: DodgerBlue;
}

/* Style the arrow inside the select element: */
.select-selected:after {
  position: absolute;
  content: "";
  top: 14px;
  right: 10px;
  width: 0;
  height: 0;
  border: 6px solid transparent;
  border-color: #fff transparent transparent transparent;
}

/* Point the arrow upwards when the select box is open (active): */
.select-selected.select-arrow-active:after {
  border-color: transparent transparent #fff transparent;
  top: 7px;
}

/* style the items (options), including the selected item: */
.select-items div,.select-selected {
  color: #ffffff;
  padding: 8px 16px;
  border: 1px solid transparent;
  border-color: transparent transparent rgba(0, 0, 0, 0.1) transparent;
  cursor: pointer;
}

/* Style items (options): */
.select-items {
  position: absolute;
  background-color: DodgerBlue;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 99;
}

/* Hide the items when the select box is closed: */
.select-hide {
  display: none;
}

.select-items div:hover, .same-as-selected {
  background-color: rgba(0, 0, 0, 0.1);
}

.resp-table {
	width: 100%;
	display: table;
	border-spacing: 1px;
	
}

.resp-table-caption{
display: table-caption;
text-align: center;
font-size: 20px;
font-weight: bold;
}

.resp-table-header{
display: table-header-group;
background-color: gray;
font-weight: bold;
font-size: 15px;
}

.table-header-cell{
display: table-cell;
padding: 10px;
text-align: justify;
border-bottom: 1px solid black;
	
}

.resp-table-body{
display: table-row-group;
}

.resp-table-row{
display: table-row;

}

.table-body-cell{
	display: table-cell;
	padding: 2px;
	vertical-align: middle;
}

.scroll {
background: #FFFFFF;
height: 400px;
overflow: auto;
overflow-y: auto;
width: 90vw;
border: 1px solid #000;
padding: 10px;
white-space: nowrap;
}


.tooltip {cursor: help;}

/* Aussehen für Tooltip Fenster */
.tooltip span { 
   position: absolute;
   width: 240px;
   color: #000000;
   margin-top: 20px;
   padding: 15px;
   background-color: #FFFFFF;
   border: 1px solid #343434;
   visibility: hidden;z-index:1900; }

/* bei Mauskontakt sichtbar */
.tooltip:hover span { visibility: visible; }


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

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

/* Create a custom radio button */
.checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 25px;
  width: 25px;
  background-color: #eee;
  border-radius: 50%;
}

/* On mouse-over, add a grey background color */
.container:hover input ~ .checkmark {
  background-color: #ccc;
}

/* When the radio button is checked, add a blue background */
.container input:checked ~ .checkmark {
  background-color: #2196F3;
}

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

/* Show the indicator (dot/circle) when checked */
.container input:checked ~ .checkmark:after {
  display: block;
}

/* Style the indicator (dot/circle) */
.container .checkmark:after {
  top: 9px;
  left: 9px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: white;
}

.table-auftraege {
  width: 100%;
  border-collapse: collapse;
  font-family: sans-serif;
}
.table-auftraege th,
.table-auftraege td {
  border: 1px solid #ccc;
  padding: 10px;
  vertical-align: middle;
  text-align: center;
}
.table-auftraege thead {
  background-color: #ddd;
}
.table-auftraege tbody tr:nth-child(even) {
  background-color: #f9f9f9;
}

/* Hervorhebung für Aufträge vom aktuellen Tag */
.table-auftraege tbody tr.heute {
  background-color: #b6fcb6 !important;
}
.icon-button {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}
.table-auftraege img {
  max-height: 40px;
}
.messung-buttons {
  display: flex;
  gap: 6px;
  justify-content: center;
}
.messung-buttons button {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}

@keyframes rowFlashGreen {
  0% { background-color: #b3ffb3; }
  100% { background-color: inherit; }
}
@keyframes rowFlashRed {
  0% { background-color: #ffb3b3; }
  100% { background-color: inherit; }
}
.row-flash-green {
  animation: rowFlashGreen 0.7s linear;
}
.row-flash-red {
  animation: rowFlashRed 0.7s linear;
}

/* Info-Bild-Popup (zentral für alle Info-Icons) */
.info-image-modal {
  display: none;
  position: fixed;
  z-index: 99999;
  left: 0; top: 0;
  width: 100vw; height: 100vh;
  background: rgba(0,0,0,0.7);
  justify-content: center;
  align-items: center;
}
.info-image-modal.active {
  display: flex;
}
.info-image-modal-content {
  position: relative;
  max-width: 90vw;
  max-height: 90vh;
}
.info-image-modal-content img {
  max-width: 90vw;
  max-height: 90vh;
  box-shadow: 0 0 20px #000;
  border-radius: 8px;
  display: block;
}
.info-image-modal-close {
  position: absolute;
  top: 8px;
  right: 12px;
  font-size: 2.2em;
  color: #fff;
  cursor: pointer;
  font-weight: bold;
  background: rgba(0,0,0,0.4);
  border-radius: 50%;
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Footer-Icons gleich groß und mittig */
.footer-icon {
  width: 35px;
  height: 35px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  object-fit: contain;
}