/*
*********************************************************************************************************************
General
*********************************************************************************************************************
*/

body{
	padding-top:90px;
	padding-bottom:60px;
}

.firstHeading{
	font-size: 2.0em;
	font-weight: 700;
	line-height: 120%;
	margin-bottom: 30px;
	font-family: 'Lato', sans-serif;
	-ms-word-break: break-all;
	word-break: break-word;
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	hyphens: auto;
}


/*
*********************************************************************************************************************
Login Form
*********************************************************************************************************************
*/
.form-login{
	max-width:400px;
	padding:15px;
	margin:0 auto;
}

.form-login label{
	font-size:12px;
}
.form-login input,
.form-login select{
	margin-bottom:15px;
	box-sizing: border-box;
}

.form-login button[type="submit"]{
	margin-bottom:5px;
	cursor:pointer;
}

.form-login .forgot-password{
	color: rgb(104, 145, 162);
	text-decoration:none;
}

.form-login .forgot-password:hover,
.form-login .forgot-password:active,
.form-login .forgot-password:focus{
    color: rgb(12, 97, 33);
}



/*
*********************************************************************************************************************
Tabs
*********************************************************************************************************************
*/
.tab-pane {
  padding-top: 20px;
  padding-bottom: 10px;
}


/*
*********************************************************************************************************************
DataTables
*********************************************************************************************************************
*/
.mytable-headersearch th{
	/*font-size:10px;*/
	font-size: 0.9em;
}
.mytable-headersearch th input{
	font-size: 9px;
	max-width: 80px;
}

.mytable-headersearch td{
	font-size: 0.9em;
	/*
	font-size:12px;
	padding-top:1px;
	padding-bottom:1px;
	*/
}

.mytable-headersearch tr.even:hover, .mytable tr.even:hover, .mytable-light tr.even:hover {
	background-color: #d5edfa;
}

.mytable-headersearch tr.odd:hover, .mytable tr.odd:hover, .mytable-light tr.odd:hover {
	background-color: #d5edfa;
}

.mytable-headersearch tbody > tr.selected,
.mytable-headersearch tbody > tr > .selected,
.mytable-headersearch tbody > tr.selected:hover,
.mytable-headersearch tbody > tr > .selected:hover {
  background-color: #e3eed7; /*var(--bs-success);/*#0d6efd;*/
}

.dataTables_length label, .dataTables_filter label{
	font-size:12px;
}
.dataTables_length select, .dataTables_filter input{
	font-size:12px;
}

.dataTables_paginate, .dataTables_info{
	font-size:12px;
}

/*
*********************************************************************************************************************
Credits
*********************************************************************************************************************
*/
.credits.no-padding { font-size: 0.8rem; }

.credits-inner {
	padding: 15px 0 3%;
	border-top: 2px solid rgba(255,255,255,0.1);
	/* text-transform: uppercase; */
	letter-spacing: 1px;
}

.credits,
.credits a {
	color: #ffffff;
	text-decoration: none;
}

.credits-left {
	float: left;
	margin: 0px;
}
.credits-right {
	float: right;
	margin: 0px;
}



/*
*********************************************************************************************************************
Select Information
*********************************************************************************************************************
*/
.select-info-renter-name{
	font-weight:bold;
}

.select-info-building-title{
	font-weight:bold;
}


/*
*********************************************************************************************************************
Calendar
*********************************************************************************************************************
*/
.month-container{
	margin-bottom:30px;
	padding-left:20px;
	padding-right:20px;
}



@media (min-width: 768px) {
  .modal-xl {
	width: 90%;
	max-width:1200px;
  }
}


/*
*********************************************************************************************************************
Inhaltsbreite: mehr Platz, mit Obergrenze fuer grosse Bildschirme
*********************************************************************************************************************
*/
@media (min-width: 1200px) {
	.container { max-width: 1560px; }
}
/* Tablet/Handy: volle Breite nutzen (mehr Platz fuer Tabellenspalten) */
@media (max-width: 1024px) {
	.container { max-width: 100%; }
}


/*
*********************************************************************************************************************
Modern Tables / Cards (global refresh)
*********************************************************************************************************************
*/

/* --- Cards: weicher, mit dezentem Schatten --- */
.card {
	border: 1px solid #edf0f3;
	border-radius: 14px;
	box-shadow: 0 1px 2px rgba(16,24,40,.04), 0 4px 14px rgba(16,24,40,.05);
	margin-bottom: 24px;
	/* KEIN overflow:hidden -> wuerde breite/responsive Tabellen abschneiden */
}

.card > .card-header {
	background: #fff;
	border-bottom: 1px solid #eef0f3;
	border-top-left-radius: 13px;
	border-top-right-radius: 13px;
	font-weight: 600;
	font-size: 1.02rem;
	letter-spacing: .01em;
	color: #1f2937;
	padding: 15px 20px;
}

.card > .card-body {
	padding: 10px 16px 14px;
}

/* --- Tabellen-Grundgeruest --- */
.card table.table {
	border-collapse: separate !important;
	border-spacing: 0;
	margin-bottom: 4px;
}

/* Kopfzeile(n) */
.card table.table thead th {
	background: #f7f8fa !important;
	color: #6b7280 !important;
	font-weight: 600;
	font-size: .78rem !important;
	text-transform: uppercase;
	letter-spacing: .04em;
	border: 0 !important;
	border-bottom: 1px solid #e9ecf0 !important;
	padding: 11px 12px;
	vertical-align: middle;
	white-space: nowrap;
}

/* abgerundete Ecken oben */
.card table.table thead tr:first-child th:first-child { border-top-left-radius: 10px; }
.card table.table thead tr:first-child th:last-child  { border-top-right-radius: 10px; }

/* Such-Inputs in der Kopfzeile modern */
.mytable-headersearch thead th input {
	max-width: 100% !important;
	width: 100% !important;
	box-sizing: border-box;
	font-size: .8rem !important;
	font-weight: 400;
	text-transform: none;
	letter-spacing: normal;
	border: 1px solid #dfe3e8;
	border-radius: 7px;
	padding: 4px 9px;
	background: #fff;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.mytable-headersearch thead th input:focus {
	outline: none;
	border-color: #93c5fd;
	box-shadow: 0 0 0 3px rgba(59,130,246,.15);
}

/* Datenzellen */
.card table.table tbody td {
	border: 0 !important;
	border-bottom: 1px solid #f1f3f5 !important;
	padding: 11px 12px;
	vertical-align: middle;
	font-size: .9rem;
	color: #374151;
}
.card table.table tbody tr:last-child td { border-bottom: 0 !important; }

/* Zebra entfernen zugunsten ruhiger Optik + sanfter Hover */
.card table.table.table-striped > tbody > tr:nth-of-type(odd) > * {
	--bs-table-accent-bg: transparent;
	background: transparent;
}
.card table.table tbody tr:hover td,
.mytable-headersearch tr.even:hover, .mytable-headersearch tr.odd:hover,
.mytable tr.even:hover, .mytable tr.odd:hover {
	background-color: #f3f8ff !important;
}

/* --- Buttons in Tabellen: etwas runder, klarer --- */
.card table.table .btn-sm,
.card table.table .btn-group > .btn {
	border-radius: 7px;
}
.card table.table .btn-group > .btn:not(:last-child) {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}
.card table.table .btn-group > .btn:not(:first-child) {
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}

/* Aktions-/Icon-Spalten: nie umbrechen, kleiner Abstand zwischen Buttons */
.card table.table td .action-icons {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	white-space: nowrap;
}

/* --- Badges etwas weicher --- */
.card table.table .badge {
	font-weight: 600;
	font-size: .72rem;
	padding: .4em .6em;
	border-radius: 7px;
}

/* --- DataTables Steuerleiste (Suchen/Anzahl/Info/Paginierung) --- */
.dataTables_wrapper .dataTables_filter input {
	border: 1px solid #dfe3e8;
	border-radius: 7px;
	padding: 5px 10px;
	font-size: .85rem;
}
.dataTables_wrapper .dataTables_length select {
	border: 1px solid #dfe3e8;
	border-radius: 7px;
	padding: 3px 8px;
}
.dataTables_wrapper .dataTables_paginate .paginate_button {
	border-radius: 7px !important;
}


/*
*********************************************************************************************************************
DataTables Responsive (dtr-) — fehlte in der aktiv geladenen datatables.min.css
-> Aufklapp-Steuerung (+/-) und Detailzeile fuer schmale Screens (Tablet/Handy)
*********************************************************************************************************************
*/
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control,
table.dataTable.dtr-inline.collapsed > tbody > tr > th.dtr-control {
	position: relative;
	padding-left: 32px;
	cursor: pointer;
}
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control:before,
table.dataTable.dtr-inline.collapsed > tbody > tr > th.dtr-control:before {
	top: 50%;
	left: 6px;
	height: 1em;
	width: 1em;
	margin-top: -0.6em;
	display: block;
	position: absolute;
	color: #fff;
	border: 0.15em solid #fff;
	border-radius: 1em;
	box-shadow: 0 0 0.2em #444;
	box-sizing: content-box;
	text-align: center;
	text-indent: 0 !important;
	font-family: "Courier New", Courier, monospace;
	line-height: 1em;
	content: "+";
	background-color: #0d6efd;
}
table.dataTable.dtr-inline.collapsed > tbody > tr.parent > td.dtr-control:before,
table.dataTable.dtr-inline.collapsed > tbody > tr.parent > th.dtr-control:before {
	content: "-";
	background-color: #d33333;
}
/* Detailzeile (aufgeklappte, ausgeblendete Spalten) */
table.dataTable > tbody > tr.child:hover { background: transparent !important; }
table.dataTable > tbody > tr.child ul.dtr-details {
	display: inline-block;
	list-style-type: none;
	margin: 0;
	padding: 4px 0;
	width: 100%;
}
table.dataTable > tbody > tr.child ul.dtr-details > li {
	border-bottom: 1px solid #f1f3f5;
	padding: 6px 0;
}
table.dataTable > tbody > tr.child ul.dtr-details > li:last-child { border-bottom: none; }
table.dataTable > tbody > tr.child span.dtr-title {
	display: inline-block;
	min-width: 130px;
	font-weight: 600;
	color: #6b7280;
}
