@font-face {
	font-family: "Helvetica Now Regular";
	src:url(../fonts/HelveticaNowDisplay-Regular.otf) format("opentype");
}
@font-face {
	font-family: "Helvetica Now Regular Italic";
	src:url(../fonts/HelveticaNowDisplay-RegularIta.otf) format("opentype");
}
@font-face {
	font-family: "Helvetica Now Bold";
	src:url(../fonts/HelveticaNowDisplay-Bold.otf) format("opentype");
}


html {
	min-height: 100vh;
}
body {
	min-height: 100vh;
	font-family: "Helvetica Now Regular", sans-serif;
    line-height: 1.3;
}
main {
	min-height: calc(100vh - 120px);
	margin-top: -110px;
}

body {
  background-color: hsl(0, 0%, 97%);
}
@media (min-width: 1400px) {
  main,
  header,
  footer,
  #main-navbar {
    /* padding-left: 240px; */
	padding-left: 70px;
  }
}

.text-light {
  color: #9FA6B2 !important;
}

.text-lightgray {
	color: lightgray !important;
  }

.text-dhsand {
	color: #C7AE85 !important;
}

.bg-darkblue {
    background-color: darkblue !important;
}

.bg-lightgray {
	background-color: lightgray !important;
}
.bg-darkgray {
	background-color: #b3b3b3 !important;
}
.bg-darkergray {
	background-color: #646464 !important;
}
.border-darkergray {
	border-color: #646464 !important;
}
.bg-darkred {
	background-color: darkred !important;
}
.bg-green {
	background-color: rgba(30, 126, 52, 0.784) !important;
}
.bg-darkblue {
	background-color: rgba(0, 0, 128, 0.784) !important;
}
.bg-dhbrown {
	background-color: rgba(199, 174, 133, 1) !important;
}
.bg-dhlightbrown {
	background-color: rgba(227, 215, 196, 1) !important;
}
.bg-dhwhitebrown {
	background-color: rgba(245, 238, 225, 1);
}
.bg-whitesmoke {
	background-color: #F4F4F4;
}
.bg-softgray {
	background-color: #E8E8E8;
}
.bg-white {
	background-color: #FFFFFF !important;
}
.bg-black {
	background-color: #000000 !important;
}


.c-white { color: white; }
.c-red { color: red; }
.c-darkred { color: darkred; }
.c-green { color: green; }
.c-orange { color: orange; }
.c-gray { color: gray; }
.c-lightgray { color: lightgray; }
.c-darkgray { color: darkgray; }
.c-dhbrown{color: rgba(199, 174, 133, 1);}
.c-dhlightbrown{color: rgba(227, 215, 196, 1)}


.cursor-pointer {
	cursor: pointer !important;
}

.cursor-grab {
	cursor: grab !important;
}

.cursor-grab:active {
	cursor: grabbing !important;
}

.ws-nw {
	white-space: nowrap;
}

i.fas {
	pointer-events: none;
}

/**************************************
	- Responsive Spacing
**************************************/
.spc-address {
	min-width: 230px;
}
.spc-contact {
	min-width: 180px;
}
.spc-companyname {
	min-width: 150px;
}
.spc-jobtitle {
	min-width: 300px;
	width: 300px;
}
.spc-tags {
	min-width: 150px;
}
.spc-venuename {
	min-width: 200px;
}
.spc-fullname {
	min-width: 140px;
}
.spc-firstname {
	min-width: 100px;
}
.spc-lastname {
	min-width: 100px;
}
.spc-datetime {
	min-width: 140px;
}
.spc-actions-2 {
	min-width: 120px;
	width: 120px;
}
.spc-actions-3 {
	min-width: 170px;
	width: 170px;
}
.spc-actions-4 {
	min-width: 180px;
	width: 180px;
}
.spc-card-header-actions-2 {
	min-width: 100px;
	width: 100px;
}
.spc-card-header-actions-3 {
	min-width: 140px;
	width: 140px;
}

.contacts-icon {
  width: 20px;
}




.page-headline {
	color: white;
	font-size: 1.5rem;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}


/**************************************
	-- Navigation
**************************************/
#main-sidenav .logo-dh {  
	display: inline-block;
	width: 2.25em;
	height: 1.5em;
	stroke-width: 0;
	stroke: currentColor;
	fill: #9d9d9d;
	margin-left: 2px;
}
#main-sidenav .companyname {  
	font-size: 24px;
	font-size: 19px;
	line-height: 1;
	line-height: 24px;
	font-family: ivyjournal;
	margin-top: -2px;
	white-space: nowrap;
	
}
#main-navbar .logo-dh {  
	display: inline-block;
	width: 2.25em;
	height: 1.5em;
	stroke-width: 0;
	stroke: currentColor;
	fill: #9d9d9d;
	margin-left: 5px;
}

/* #main_navbar {
	padding-left: 70px;
} */

.flex-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative; 
}

.flex-header .center {
    position: absolute;
    left: 50%; 
    transform: translateX(-50%); 
    text-align: center;
}
.rotate-icon {
	right: -5px;
}
.sidenav-collapse .sidenav-link {
	padding-left: 3.4rem;
}
.sidenav-link.current {
	background-color: hsla(0,0%,97.6%,.05);
}

.card-header-tabs {
	flex-wrap: nowrap;
	overflow-x: auto;
	overflow-y: hidden;
}
.card-header-tabs .nav-link {
	white-space: nowrap;
}

.card-header-tabs + .card-header-actions {
	margin-left: 1rem !important;
}

.multi-row-nav-link {
	padding:8px!important;
	padding-top:8px!important;
	padding-left:16px!important;
	padding-right:16px!important;
}

/* Anpassungen - Fixierung */

.tooltip-reset[data-mdb-tooltip-init] {
    all: unset !important;
    display: list-item !important;
    position: relative !important;
    padding: 0 !important;
    margin: 0 !important;
    background-color: transparent !important;
    color: inherit !important;
    box-shadow: none !important;
    border: none !important;
}

.tooltip-reset[data-mdb-tooltip-init] a {
    display: flex;
    align-items: center;
    padding: 0 !important;
    margin: 0 !important;
    background-color: transparent !important;
    color: inherit !important;
    text-decoration: none !important;
}

.tooltip-reset[data-mdb-tooltip-init] .btn {
    background-color: inherit !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
}

.tooltip-reset[data-mdb-tooltip-init] .btn i {
	font-size: .89rem;
    margin-left: 17px !important; 
    margin-right: 22px !important; 
    padding: 0 !important;
    display: inline-block !important;
}

.tooltip-reset[data-mdb-tooltip-init]:hover, 
.tooltip-reset[data-mdb-tooltip-init] .active,
.tooltip-reset[data-mdb-tooltip-init] .current  {
    cursor: pointer;
	background-color: #383636 !important;
	border-radius: 3px!important; ;
}

.tooltip-reset .tooltip {
    transform: translate(-50%, 25px) !important;

    background-color: rgba(0, 0, 0, 0.7) !important;
    border-radius: 0.25rem;
    color: #fff !important;
}

.sidenav {
    width: 70px !important; /* Stellt sicher, dass die Sidenav nicht erweitert wird */
    transition: none !important; /* Verhindert Übergangseffekte */
}

.sidenav.sidenav-expanded {
    width: 70px !important; /* Verhindert die Expansion */
}









/**************************************
	-- Global Search
**************************************/
#globalsearchcontent {
	position: absolute;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 0;
	padding-right: 0;
	width: calc(100% - 1.5rem);
	right: 0.75rem;
	max-height: 19rem;
	overflow-y: auto;
	overflow-x: hidden;
  
	top:50px;
	background-color: #fff;
	background-clip: padding-box;
	border-radius: .25rem;
	z-index: 1050;
  
	display:none;
}
#globalsearchcontent.show {
    display: block;
}
@media (min-width: 576px) {
  #globalsearchcontent {
    position: absolute;
    width: auto;
    min-width: 18.75rem;
    left: calc(70px + 0.375rem);
	right: auto;
  }
  #globalsearchcontent .dropdown-globalsearch-item .dropdown-globalsearch-item-content .dropdown-globalsearch-item-content-text {
    max-width: 13rem;
  }
}
#globalsearchcontent .dropdown-globalsearch-item {
  padding: .5rem;
  border-bottom: 1px solid #e3e6ec;
}
#globalsearchcontent .dropdown-globalsearch-item .dropdown-globalsearch-item-content .dropdown-globalsearch-item-content-text {
  font-size: 0.9rem;
  font-weight: 300;
  max-width: calc(100vw - 8.5rem);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#globalsearchcontent .dropdown-globalsearch-item .dropdown-globalsearch-item-content .dropdown-globalsearch-item-content-text i.fas {
	width: 20px;
	text-align:center;
}
#globalsearchcontent .dropdown-globalsearch-footer {
	display: flex;
    -webkit-box-align: center;
    align-items: center;

  -webkit-box-pack: center;
          justify-content: center;
  font-size: 0.8rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  color: #a2acba;
  cursor: pointer;
}
#globalsearchcontent .dropdown-globalsearch-footer:active {
  color: #fff;
}




/**************************************
	-- Modal
**************************************/
.modal .modal-footer .btn {
	box-shadow: none !important;
}

/* custom modal type modal-maxw */
.modal-dialog.modal-maxw {
    max-width: calc(100% - 4rem); 
    margin: 1rem auto; 
}

.modal-dialog.modal-maxw .modal-content {
    border-radius: 0.5rem;
	padding-bottom: 1rem; 
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2); 
    max-height: calc(100vh - 2rem); 
    overflow-y: auto; 
}

.modal-maxw button {
	box-shadow: none;
}



/**************************************
	-- Tables
**************************************/
.table-responsive a {
	color: inherit;
}

.table-responsive tr th,
.table-responsive tr td {
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}
:not(.content-card) > .table-responsive > .table > :not(caption) > * > * {
	padding-left: 0.4rem;
	padding-right: 0.4rem;
}

.table-responsive tbody td.actions a:not(:first-of-type) {
	margin-left: .375rem;
}

@media (max-width: 991px) {
	.content-card > .table-responsive > .table,
	.tbl-budgetversions-overview {
		white-space: nowrap;
	}
}

.containerLivesearch {
	margin-bottom: .5rem;
}
.containerLivesearch > div:first-of-type {
	width: 100px;
}
.containerLivesearch > div:last-of-type {
	width: 40%;
	max-width: 150px;
}


.tbl-expand-rows .fas {
	-webkit-transition: -webkit-transform .25s ease-in-out;
		-ms-transition: -ms-transform .25s ease-in-out;
			transition: transform .25s ease-in-out;  
}
.show .tbl-expand-rows .fas {
	-webkit-transform: rotate(90deg);
			transform: rotate(90deg);
}


.sticky-col {
	position: -webkit-sticky;
	position: sticky;
	left: 0;
}
.table-striped > tbody > tr:nth-of-type(even) > td.sticky-col {
	background-color: #ffffff;
}
.table-striped > tbody > tr:nth-of-type(odd) > td.sticky-col {
	background-color: #fafafa;
}
.table-striped > thead > tr.bg-dhbrown > th.sticky-col {
	background-color: rgba(199, 174, 133, 1) !important;
}



/**************************************
	-- Cards
**************************************/
.card-header-actions {
	padding-top: .25rem;
}
.card-header-actions .btn {
	box-shadow: none;
}

.content-card {
	box-shadow: none;
	border: 1px solid rgba(0,0,0,0.16);
}
.content-card .card-header {
	padding: .5rem 1.5rem;
	background-color: lightgray;
}
.content-card .card-header a:not(.btn) {
	color: inherit;
}
.content-card .card-header-actions {
	padding-top: 0px;
}
.content-card .card-header-actions .btn {
	box-shadow: none;
}

.content-card > .table-responsive tr th,
.content-card > .table-responsive tr td {
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}

.content-card > .table-responsive .table-y-sm tr th,
.content-card > .table-responsive .table-y-sm tr td,
.tr-y-sm th,
.tr-y-sm td {
	padding-top: 0.1rem !important;
	padding-bottom: 0.1rem !important;
	vertical-align: middle;
}

.content-card > .table-responsive tbody tr:last-of-type td {
	border-bottom: 0;
}

.faded-card-header {
	background-color: #f7f7f7!important;
}



/**************************************
	-- Forms
**************************************/
.select-wrapper .select-arrow::before {
	font-family: "Font Awesome 5 Free";
	content: "\f0dc";
	font-weight: 900;
}
.select-wrapper .select-arrow {
	top: 9px;
}

.form-control.is-valid,
.form-control.is-invalid {
	margin-bottom:0px;
}

.search-table-itemsperpage .select-input {
	height: 29.5px;
}
.search-table-itemsperpage .select-wrapper .select-arrow {
	top: 7px;
}

.input-small {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}
.select-small .form-control.select-input {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}
.select-small .select-wrapper .select-arrow {
	top: 5px;
}

.form-control.is-editing {
	border: yellow !important;
	
  }
    
  .form-control.is-saving {
	border: orange !important ;
}


/**************************************
	-- Button
**************************************/

.secButton{
	background-color: #ffffff;
	border: 1px solid lightgray;

}

.secButton:hover,
.secButton:active,
.secButton.active {
	background-color: #F4F4F4;
	border: 1px solid lightgray
}



.login-logo .logo-dh {  
	display: inline-block;
	width: 3em;
	height: 2em;
	stroke-width: 0;
	stroke: currentColor;
	fill: #000;
}
.login-logo .companyname, .companyname {  
	font-size: 26px;
	line-height: 1;
	font-family: ivyjournal;
	margin-top: -1px;
	color: #000;
}

.companyname {
	color: lightgray;
}




.calendar .calendar-tools .select-wrapper:last-of-type {
	width: 200px;
	margin-right: 0px;
}




.slim-persons-profilbild {
	max-width: 214px;
	margin-left: calc(50% - 107px);
}




.tbl-tour-avails thead th:not(:first-child) {
    width:35px;
}
.tbl-tour-avails tbody tr td:first-of-type div {
	float: right;
}
.tbl-tour-avails tbody td.availability {
	cursor: pointer;
	font-variant-numeric: ordinal;
}
.tbl-tour-avails tbody td {
	position: relative;
	overflow: hidden;
	background-clip: padding-box;
}



.tbl-api-venueavails tbody td.availability {
	cursor: pointer;
	font-variant-numeric: ordinal;
	position: relative;
	overflow: hidden;
	background-clip: padding-box;
}
.tbl-api-venueavails thead th:not(:first-child) {
    width:45px;
}
.tbl-api-venueavails tbody td.corner-comment {
	
}

td.corner-comment::before,
td.corner-curfew::after {
	content: "";
	position: absolute;
	top: -5px;
	width: 0;
	height: 0;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
}

td.corner-comment::before {
	left: -5px;
	transform: rotate(90deg);
	border-bottom: 10px solid #ffffff;
}

td.corner-curfew::after {
	right: -5px;
	transform: rotate(-90deg);
	border-bottom: 10px solid #ffffff;
}
.tbl-tour-avails tbody td.availability.editmode .avails-editbtn,
.tbl-api-venueavails tbody td.availability .avails-editbtn {
	opacity: 0;
	position: absolute;
	top: 0px;
	left: calc(50% - 6.3px);
	height: 12.6px;
	line-height: 1;
	
	/* transition:opacity 0.5s; */
	transform: scale(1);
	transition: 0.25s all ease;
}
.tbl-tour-avails tbody td.availability.editmode:hover,
.tbl-api-venueavails tbody td.availability:hover {
	padding-top: 0.9rem;
	padding-bottom: 0.2rem;
}
.tbl-tour-avails tbody td.availability.editmode:hover .avails-editbtn,
.tbl-api-venueavails tbody td.availability:hover .avails-editbtn {
	opacity: 1;
}


#modalEditVenueExpenses .div-editexpenses .form-control:not(:disabled) {
	background-color: #fff;
}
#modalEditVenueExpenses .table-responsive .table-y-sm tr th,
#modalEditVenueExpenses .table-responsive .table-y-sm tr td {
	padding-top: 0.1rem;
	padding-bottom: 0.1rem;
	vertical-align: middle;
}


.calendar table .events-wrapper {
	max-height: none;
}


#modalEditBudgetPLAll .div-editplall .form-control:not(:disabled) {
	background-color: #fff;
}
#modalEditBudgetPLAll .div-editplall thead tr th,
#modalEditBudgetPLAll .div-editplall tbody tr td {
	vertical-align: middle;
}


#modalEditVenueGrossPotential .div-editgrosspotential .form-control:not(:disabled) {
	background-color: #fff;
}
#modalEditVenueGrossPotential .div-editgrosspotential thead tr th,
#modalEditVenueGrossPotential .div-editgrosspotential tbody tr td {
	vertical-align: middle;
}


/**************************************
	-- TourRep
**************************************/


#calendartourrep{
	position: fixed;
	top: 370px;
	left: 82px;
	right: 10px;
	bottom: 40px;
	overflow: auto;
	/*scrollbar-width: none;*/
	background-color: #FFFFFF;
  } 

  #calendartourrep::-webkit-scrollbar {
	/*display: none;*/
  }

  #calendarHeader {
	width:100%;
	position: fixed;
	top:338px;
	left:82px;
	margin-left:-1px;
	overflow: auto;
	display: flex;
	scrollbar-width: none;
	background-color: #fff;
	z-index: 10;
	
  }

  #calendarHeader::-webkit-scrollbar {
	display: none;
  }

  .calendarHeaderElement{
	display:flex;
	font-size: 0.65rem;
  }

  .jobProd, .jobRep, .jobAcc, .tour-sec-vip-header {
    height: 100%;
    box-sizing: border-box;
    margin: 0;
  }
  .jobProd, .jobRep, .jobAcc {
    border-top: 1px solid #eee;
    padding-bottom: 0;
  }
  .tour-sec-vip-header {
    border-top: 1px solid #eee;
    border-left: 1px solid #eee;
    border-bottom: 1px solid #eee;
    border-right: 1px solid #eee;
  }

  .jobDate {
	color: rgba(0,0,0,.6);
	border-top: 1px solid #eee;
	border-bottom: 1px solid #eee;
	padding-bottom: 4px;
  }
  

  .dayGroup {
	display: grid;
	grid-auto-flow: column;
	width: max-content; 
	margin-bottom: 0px; 
	height: 44px;
  }
  
  .daycell {
	margin-right:0px;
	border-top: 1px solid #eee;
	border-right: 1px solid #eee;
	box-sizing: border-box;
	display: flex;
	justify-content: center; 
	align-items: center;
	z-index: 5;
  }
  
  .daycellDate{
	height: 100%;
	width: 100%;
	color: rgba(0,0,0,.6);
	font-size: 12px;
  }
  
  #persons {
	position:fixed;
	top:243px;
	left:82px;
	width:100%;
	height: 100px;
	overflow: hidden;
	display: flex; 
	align-items: center;
	justify-content: flex-start;
	padding-left:40px;
	padding-right:40px;
	padding-top:0;
	padding-bottom:0;
	scrollbar-width: none; 
	background-color: #fff !important;
	font-size: 0.9rem;
	line-height:1.4rem;
	z-index:25;
  }
  
  #persons::-webkit-scrollbar {
	display: none;
  }
  
  .singlePerson{
	cursor: pointer;
	font-size: 0.85rem;
	margin:4px;
	padding-top: 5px!important;
	padding-bottom: 5px!important;
	padding-left: 9px!important;
	padding-right: 9px!important;
	border: none;
	outline: none;
	box-shadow: none;
	text-shadow: none;
	border-radius: 25px 25px 25px 25px;
  }
  
  .allPersons{
	position: fixed;
	top:0px;
	left:0px;
	display: block; 
	overflow-x: auto; 
	width: 100%; 
	z-index:20;
  }

  #toolbar{
	position:fixed;
	top:199px;
	left:82px;
	width:100%;
	height: 45px;
	overflow: auto;
	display: flex; 
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-start;
	padding-left:40px;
	scrollbar-width: none; 
	background-color: #e3d7c4 !important;
	font-size: 0.9rem;
	line-height:1.4rem;
	z-index:25;
  }

  #calendartourrepPreviousDateRange {
	margin-left: -34px;
  }

  .toolbox-holder {
	display: flex;
	width: 200px;
	padding-top:5px;
	flex-grow: 0;
  }

  .toolbox-control{
	flex-grow:1;
	margin-left:15px;;
	/* text-align: right; */
	padding-right:20px;
	
  }

  #calendartourrepDateRange{
	font-size: 0.9rem;
	line-height: 2.1rem;
	padding-left:5px;
	padding-right:5px;
  }
  
  /**** Tour ****/
  
  .tour-sec-vip-container{
	overflow:hidden;
  }

  .tour-sec-act {
	font-size: 0.65rem;
	color: #F2F2F2;
	background-color: #2E2E2E;
	border:4px #fff solid;
	border-bottom:2px #fff solid;
  }

  .tour-sec {
	font-size: 0.65rem;
	color: #262626;
	background-color: #F2F2F2;
	border:4px #fff solid;
	border-bottom:2px #fff solid;
  }

  .tour-vip-act{
	font-size: 0.65rem;
	color:#fff;
	background-color: #2E2E2E;
	border:4px #fff solid;
	border-top:2px #fff solid;
  }

  .tour-vip{
	font-size: 0.65rem;
	color:#262626;
	background-color: #F2F2F2;
	border:4px #fff solid;
	border-top:2px #fff solid;
  }

  .testTour {
	position: absolute;
	top: 0;
	left: 0;
	/*width:296px;*/
	border: #c7ae85 2px solid;
	height:180px;
	z-index: 10;
	pointer-events: none;
	margin-top:-7px!important;
  }
  
  .tourProd{
	display: flex;
	align-items: center;
	justify-content: center;
  }
  
  .tourRep {
	display: flex;
	align-items: center;
	justify-content: center;
  }
  
  .tourAcc {
	position:relative;
	top:0;
	left:0;
	display: flex;
	align-items: center;
	justify-content: center;  
  }

  .notConfirmed{
	border-bottom: #4d4d4d 7px solid;
  }
  
  .showInfo{
	display: flex;
	align-items: center;
	justify-content: center;
	z-index:15;
	background-color: none;
	opacity: 70;
	font-size:14px;
	cursor: pointer;
	height: 44px;
  }

  .dayName{
	text-align:right;
	font-size: 0.8rem;
	line-height: 35px;
  }

  .dayDate{
	text-align:left;
	font-size: 0.8rem;
	line-height: 35px;
  }

  .showInfo:hover {
	color:#000000;
	font-weight:bold;
  }

  .tourRepFestival{
	font-size: 0.8rem;
	background: rgb(0, 183, 74);
	color: rgb(245, 245, 245);
  }

  .tourRepWeekend{
	background:#f6f6f6;
  }

  #tourRepNotesHolder {
	position:absolute;
	top: 0;
	left:0;
	z-index: 1;
	display: flex; 
	justify-content: center;
	align-items: center; 
	background-color: #e3d7c4;
	border: #bfb3a1 2px solid;
	color: #000;
	font-size: 0.8rem;
	text-align: center;
	line-height: 1.2rem;
	width:250px;
	height:auto;
	min-height:80px;
	padding:15px;
  }

  #showStatisticInfoBox {
	position:absolute;
	top: 0;
	left:0;
	z-index: 1;
	display: flex; 
	justify-content: center;
	align-items: center; 
	background-color: #e3d7c4;
	border: #bfb3a1 2px solid;
	color: #000;
	font-size: 0.8rem;
	text-align: center;
	height:30px;
	padding: 5px 10px;
  }

  .tourRepNotesHolderHidden {
	opacity: 0;
    max-height: 0;
    overflow: hidden;
    transition: opacity 0.5s, max-height 0.5s;
  }

  .tourRepNotesHolderVisible {
	opacity: 1;
   	height:auto;
	min-height:80px;
    transition: opacity 0.5s, max-height 0.5s;
  }

  .showStatisticInfoBoxHidden {
	opacity: 0;
    overflow: hidden;
    transition: opacity 0.5s, max-height 0.5s;
  }

  .showStatisticInfoBoxVisible {
	opacity: 1;
	min-height: 50px;
	padding: 5px 10px;
    transition: opacity 0.5s;
  }

  /**** Modal ****/	
  .tourrep-modal-text{
	font-size: 0.9rem;
	line-height: 1.5em;
  }
  
  /**** Drag and Drop Tour Rep ****/
  
  .hide {
	display: none;
  }
  
  .dragover-highlight {
	background-color: #CCC;
	z-index: 16;
  }

  .sortable-ghost {
    opacity: 0.3;
    background-color: #f0f0f0;
    border: 2px dashed #ccc;
    transition: all 0.2s ease; 
	}

  .sortable-chosen {
    background-color: #e9ecef;
    box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.2);
    transform: scale(1.00); 
    cursor: grabbing;
  }
  .sortable-drag {
    opacity: 1;
    background-color: #ffffff;
    box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.2);
    transform: scale(1.02); /* Ganz leicht größer für bessere UX */
    cursor: grabbing;
  }

  .handle {
	cursor: grab;
  }


  /**** Preloader ****/
  #preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.9); 
    display: none;
    justify-content: center; 
    align-items: center; 
    z-index: 9999; 
 }

/**** Show Statistic ****/
.shows-this-day{
	background-color: #ddd;
	opacity: 0.75;
	color: #000;
	float: right;
	padding: 5px;
	width:25px;
	margin-top:6px;
	margin-right:8px;
	border-radius: 50%;
	line-height: 15px;
	cursor: pointer;
	text-align: center;
	font-size: 0.6rem;
}

.shows-this-day:hover{
	background-color: #dfd1bc;
	opacity:1;

}


/**************************************
	-- Settlement
**************************************/

  .supportact {
	  transition: all 0.5s ease;
  }



 /**************************************
	-- Status / Symbols
**************************************/

.green-dot {
	height: 10px;
	width: 10px;
	background-color: #00FF00;
	border-radius: 50%;
	display: inline-block;
}

.red-dot {
	height: 10px;
	width: 10px;
	background-color: #FF0000;
	border-radius: 50%;
	display: inline-block;
}

.yellow-dot {
	height: 10px;
	width: 10px;
	background-color: #FFFF00;
	border-radius: 50%;
	display: inline-block;
}



 /**************************************
	-- Ticketsales 
**************************************/

#ticketsalesholder {
    border-collapse: separate;
    overflow: hidden; 
    border-spacing: 0;
    border-radius: 6px;
  }

  #ticketsalesholder thead th:first-child {
    border-top-left-radius: 5px!important;
  }

  #ticketsalesholder tr:last-child {
    border-bottom-right-radius: 6px;
    border-bottom-left-radius: 6px;
	border: lightgray 1px solid;
  } 

  #ticketsalesholder tr:last-child td:first-child {
	border-bottom-left-radius: 6px!important;
  }

  #ticketsalesholder tr:last-child td:last-child,
  tr.presales_header_row th:last-child  {
	border-bottom-right-radius: 6px;
  }

  #ticketsalesholder td {
	border-bottom: lightgray 1px solid;
	border-left: lightgray 1px solid;
	border-right: lightgray 1px solid;
  }

  tr.presales_header_row th {
	border-top: lightgray 1px solid;
	background-color: rgba(199, 174, 133, 1);
  }

  tr.presales_header_row th:first-child {
	border-top-left-radius: 5px!important;
	border-top: lightgray 1px solid;
  }


  tr.presales_header_row th:last-child {
	border-top-right-radius: 5px!important;
	border-bottom-right-radius: 0px!important;
  }

  tr.presales_footer_row td:first-child {
	border-bottom-left-radius: 5px!important;
  }

  tr.presales_footer_row td:last-child {
	border-bottom-right-radius: 5px!important;
  }





/* Fading Preloader Klasse */
.fading-background {
	animation: fadeInOut 2s infinite;
}
  
/* Keyframes für die Fading-Animation */
@keyframes fadeInOut {
	0%, 100% {
	  background-color: transparent; /* Start und Ende mit transparenter Farbe */
	}
	50% {
	  background-color: rgba(191, 179, 161, 0.65); /* Farbe in der Mitte der Animation */
	}
}

.text-ellipsis {
	/* width:100px!important; */
	white-space: nowrap!important;
	overflow: hidden;
	text-overflow: ellipsis;
}

.text-width-60 {
	width:60px!important;
}

.text-width-80 {
	width:80px!important;
}

.text-width-100 {
	width:100px!important;
}

.text-width-120 {
	width:120px!important;
}

.prevsales {
	font-size:0.7rem; 
	color:#bbb;
}

/** Legal Tab **/

#legaltab {
	margin-left:0!important; 
}

#legaltab .align-self-end a.treeview-category {
    display: flex;
    align-items: center;
    line-height: 1.5; /* Anpassung der Zeilenhöhe */
    height: 1.5em; /* Stellt sicher, dass die Höhe dem Icon entspricht */
}

#legaltab .align-self-end i.fas {
    line-height: 1.5em; /* Stellt sicher, dass die Icons dieselbe Höhe wie der Text haben */
    font-size: 1.2em; /* Anpassung der Größe der Icons */
}



/** Animation **/

@keyframes blink {
    0% { background-color:  rgba(227, 215, 196, 2); }
    50% { background-color: transparent; }
    100% { background-color: rgba(227, 215, 196, 2);  }
}

.blink-row {
    animation: blink 1.5s linear infinite;
}


/**************************************
	-- Dropdown Menue 
**************************************/
.dropdown-air{
    position: absolute;
    top: 100%; 
    left: 0;
	margin-left:-20px!important;
    display: none; 
    list-style-type: none;
    padding: 0;
    margin: 0;
    background-color: #fff;
    border: 1px solid lightgray;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
    z-index: 1000;
}

.dropdown-air li {
    padding: 8px 16px!important;
}

.dropdown-air li a {
    text-decoration: none;
    color: black;
}


/**************************************
	-- Sonstiges, Helper 
**************************************/

.no-break {
    white-space: nowrap; /* Verhindert Zeilenumbrüche */
}

.icon-with-title-tooltip {
	pointer-events: auto!important; /* Ermöglicht Interaktionen */
	overflow: visible;    /* Stellt sicher, dass nichts abgeschnitten wird */
	display: inline-block; /* Behandelt das Icon korrekt für den Tooltip */
  }

.rounded-bottom-no-border {
    border-bottom: none !important;
    border-bottom-left-radius: 0.375rem !important;
    border-bottom-right-radius: 0.375rem !important;
}

/* TALENT GRID */
#talentgrid {
	display: flex;
	flex-wrap: nowrap;       /* Artist Table bleibt immer rechts oben */
	align-items: flex-start;
	gap: 1rem;
	overflow: hidden;        /* Verhindert Scrolling des Wrappers - nur #talentgrid-cards scrollt */
	/* OPTION 2 (JavaScript): Height is set dynamically via setupTalentGridCardsHeight() */
	/* This ensures the height adapts to Developer Tools opening/closing */
  }
  
  /* Container für alle Card-Rows - gemeinsames horizontales Scrollen */
  #talentgrid-cards {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;  /* Rows untereinander */
	gap: 1rem;
	overflow-y: auto;        /* vertikal scrollen */
	overflow-x: auto;        /* horizontal scrollen für alle Bühnen gemeinsam */
	/* OPTION 2 (JavaScript): Height is set dynamically via setupTalentGridCardsHeight() */
	/* This ensures the scrollable area adapts to window size changes (including Developer Tools) */
	padding-right: 0.5rem;
	/* Verhindert automatisches Scrollen während Drag & Drop */
	scroll-behavior: auto;
	overscroll-behavior: contain;
  }
  
  /* Jede Row mit Cards - kein eigenes Scrollen mehr */
  .talentgrid-cards-row {
	display: flex;
	flex-wrap: nowrap;       /* Cards bleiben nebeneinander */
	gap: 1rem;
	overflow-x: visible;     /* Kein eigenes Scrollen - wird vom Parent gehandelt */
	overflow-y: visible;
  }
  
  /* Cards selbst */
  .talentgrid-cards-row .card {
	flex: 1 1 800px;         /* darf wachsen, aber Basis = 900px (ca. 40% breiter) */
	min-width: 800px;        /* Mindestbreite fix - 35-50% breiter für 3 Artists */
	max-width: 100%;
	box-shadow: none;        /* kein Schatten */
  }

  /* Grand Total Card - keep rounded corners (default border-radius from .card class) */
  
/* Artist Table rechts fix */
#artist-table {
	flex: 0 0 770px;          /* feste Breite */
	max-width: 770px;
	/* Verhindert automatisches Scrollen während Drag & Drop */
	overscroll-behavior: contain;
	/* Smooth transition for width changes */
	transition: width 0.3s ease, max-width 0.3s ease, flex 0.3s ease, opacity 0.3s ease;
}

/* Artist Table Hidden State */
#artist-table.artist-table-hidden {
	display: none !important;
	width: 0 !important;
	max-width: 0 !important;
	flex: 0 0 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	opacity: 0;
}

/* TalentGrid Cards Expanded (when artist table is hidden) */
#talentgrid-cards {
	/* Smooth transition for width changes */
	transition: width 0.3s ease, max-width 0.3s ease, flex 0.3s ease;
}

#talentgrid-cards.talentgrid-cards-expanded {
	/* Flexbox takes full width automatically when sibling is hidden */
	/* No explicit width needed - flex: 1 1 auto handles it */
	/* This class is used to mark the expanded state, actual width is handled by flexbox */
}

.status-indicator {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-weight: 500;
	white-space: nowrap;
}

.status-indicator .fas {
	font-size: 0.55rem;
}

.text-orange {
	color: #fd7e14 !important;
}


/* TalentGrid-spezifische Drag & Drop Scroll-Verhinderung */
#talentgrid {
	/* Verhindert automatisches Scrollen während Drag & Drop */
	overscroll-behavior: contain;
}

/* Empty slot styling for visual alignment */
.empty-slot {
    cursor: default !important; /* No dropzone functionality */
    pointer-events: none !important; /* No hover effects */
    height: 34px !important; /* Same height as normal dropzones */
    box-sizing: border-box !important;
    padding: 0.25rem !important; /* Same padding as normal dropzones */
    /* Subtle diagonal hatch pattern background */
    background-image: repeating-linear-gradient(
        45deg,
        transparent,
        transparent 6px,
        rgba(0, 0, 0, 0.05) 6px,
        rgba(0, 0, 0, 0.05) 8px
    );
}

/* Empty slot tier cell styling */
.empty-slot-tier {
    cursor: default !important;
    pointer-events: none !important;
    height: 34px !important;
    box-sizing: border-box !important;
    /* Remove right border to connect with artist area */
    border-right: none !important;
    /* Subtle diagonal hatch pattern over background color */
    background-image: repeating-linear-gradient(
        45deg,
        transparent,
        transparent 6px,
        rgba(0, 0, 0, 0.05) 6px,
        rgba(0, 0, 0, 0.05) 8px
    );
    /* Ensure hatch pattern is layered over background color */
    background-blend-mode: normal;
}

/* No hover effects for empty slots */
.empty-slot:hover {
    opacity: 1 !important;
}

/* Unlinked running order set styling */
.unlinked-running-order {
    background-color: #f8f9fa;
    background-image: repeating-linear-gradient(
        45deg,
        transparent,
        transparent 4px,
        rgba(0, 0, 0, 0.02) 4px,
        rgba(0, 0, 0, 0.02) 8px
    );
    border: 1px solid #CDCDCD;
    border-left: none;
    width: 100%;
    min-height: 200px; /* Adjust based on your needs */
    pointer-events: none !important;
}

.unlinked-running-order-tier {
    background-color: #f8f9fa;
    background-image: repeating-linear-gradient(
        45deg,
        transparent,
        transparent 2px,
        rgba(0, 0, 0, 0.05) 2px,
        rgba(0, 0, 0, 0.05) 6px
    );
    border-right: none !important;
    background-blend-mode: normal;
    min-height: 200px; /* Match the content area */
    pointer-events: none !important;
}

/* Empty fee row styling */
.empty-fee-row {
    background-color: #f8f9fa !important;
    background-image: repeating-linear-gradient(
        45deg,
        transparent,
        transparent 4px,
        rgba(0, 0, 0, 0.02) 4px,
        rgba(0, 0, 0, 0.02) 8px
    ) !important;
    background-blend-mode: normal !important;
}

#talentgrid-cards-row {
	/* Verhindert automatisches Scrollen während Drag & Drop */
	overscroll-behavior: contain;
}

.tg-slot-row, 
#artist-table table td,
#artist-table table th {
	height:36px;              /* fixe Zeilenhöhe */
	padding-top: 0.5rem;       /* entspricht deinen Slot-Divs */
	padding-bottom: 0.5rem;    /* entspricht deinen Slot-Divs */
	padding-left: 0.5rem;
	padding-right: 0.5rem;
	line-height: 1.2;          /* normaler Textfluss */
	vertical-align: middle;    /* Text mittig */
}
  

.talentgrid-runningorder {
    width: 100%;
    border-collapse: collapse;
}

.talentgrid-runningorder th,
.talentgrid-runningorder td {
    padding: 0.5rem;
    text-align: left;
    border: 1px solid #CDCDCD;
}

.talentgrid-runningorder .festival-header {
    background-color: #CDCDCD;
    color: #464646;
    font-weight: bold;
    text-align: center;
    padding: 0.75rem;
}

.talentgrid-runningorder .festival-header .festival-name {
    font-size: 1.1rem;
    text-transform: uppercase;
}

.talentgrid-runningorder .festival-header .stage-name {
    font-weight: 600;
    text-transform: none;
}

.talentgrid-runningorder .slot-header {
    background-color: #000000;
    color: #FFFFFF;
    font-weight: bold;
    text-align: center;
    padding: 0.5rem;
}

.talentgrid-runningorder .slot-row:nth-child(even) {
    background-color: #f8f9fa;
}

.talentgrid-runningorder .slot-row:nth-child(odd) {
    background-color: #ffffff;
}

.talentgrid-runningorder .slot-row td {
    padding: 0.5rem;
    vertical-align: middle;
}

.talentgrid-runningorder .slot-info {
    font-weight: 500;
}

.talentgrid-runningorder .artist-info {
    font-weight: 400;
}

.dropzone.dragover {
	border: 1px dashed #000 !important;
	background-color: #f0f0f0;
	box-sizing: border-box;
}

/* Neue Container für Sortable */
.sortable-left-container-neu,
.sortable-right-container-neu {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 120px; /* kannst du anpassen */
}

/* Einzelne Slots */
.sortable-left-neu,
.sortable-right-neu {
  min-height: 36px;
  border-bottom: 1px solid #CFCFCF;
  padding: 0.5rem;
  display: flex;
  align-items: center;
}

.artist-draggable {
	cursor: grab;
}

.artist-draggable:active {
	cursor: grabbing;
}

.dropzone {
	cursor: pointer;
	height: 34px; /* same as artist-item */
	border: 1px dashed transparent;
	box-sizing: border-box;
	padding: 0.25rem; /* Add padding to dropzone */
	transition: all 0.2s ease;
}

/* Drag & Drop Visual Feedback */
.dropzone.dragover {
	border: 1px dashed #007bff;
	background-color: rgba(0, 123, 255, 0.1);
}

.artist-draggable {
	transition: opacity 0.2s ease;
}

.artist-draggable:active {
	opacity: 0.5;
}

/* Tier Column Cells - Same height as dropzones */
.tier-cell {
	height: 34px; /* same as artist-item */
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}

/* Artist Slot Container - Dynamic Width & Text Truncation */
.artist-slot-container {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	border: none;
	gap: 0.5rem;
	width: 100%;
	box-sizing: border-box;
	padding: 0.25rem !important;
}


/* Artist Item Layout */
.artist-item {
	display: flex;
	align-items: center;
	gap: 0.25rem;
	flex: 1;
	min-width: 0; /* Allow shrinking */
	padding: 4px!important; /* Vertical and horizontal padding */
	border: 1px solid transparent;
	border-radius: 4px;
	transition: all 0.2s ease;
	cursor: grab;
	background-color: rgba(0, 0, 0, 0.02);
	height: 34px; /* Smaller height */
	box-sizing: border-box;
	margin: 0.25rem;
	margin: 4px; /* adds spacing between border and surrounding container */
}

.artist-item:hover {
	background-color: rgba(0, 0, 0, 0.05);
	box-shadow: 0 0 0 1px #007bff inset; /* inner border effect */
  	border-color: transparent; /* remove outer border overlap */
}

.artist-item:active {
	cursor: grabbing;
}

/* Drag Handle */
.artist-drag-handle {
	font-size: 0.6rem;
	color: #6c757d;
	line-height: 1;
}

/* Status Icon */
.artist-status {
	font-size: 0.5rem;
	line-height: 1;
}

/* Artist Name Truncation */
.artist-name {
	flex: 1;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	font-size: 0.875rem;
	font-weight: 500;
	min-width: 0; /* Allow shrinking */
	line-height: 1.2;
	max-width: 100%; /* Ensure it doesn't exceed container */
}

/* Artist Table Container Drop Zone */
#artist-table-container {
	transition: all 0.2s ease;
	box-shadow: 0 2px 6px rgba(0,0,0,0.15);  /* dezenter Schatten */
}

#artist-table {
	transition: all 0.2s ease;
}

#artist-table tbody {
	transition: all 0.2s ease;
}

#artist-table tr {
	transition: all 0.2s ease;
}

#artist-table td {
	transition: all 0.2s ease;
}

#artist-table-container.dragover {
	background-color: rgba(0, 123, 255, 0.1) !important;
	border: 2px dashed #007bff !important;
	border-radius: 8px !important;
	box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.3) !important;
}

/* Artist Table Drop Zone Styling */
#artist-table.dragover {
	background-color: rgba(0, 123, 255, 0.1) !important;
	border: 2px dashed #007bff !important;
	border-radius: 8px !important;
	box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.3) !important;
}

#artist-table tbody.dragover {
	background-color: rgba(0, 123, 255, 0.1) !important;
	border: 2px dashed #007bff !important;
	border-radius: 8px !important;
	box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.3) !important;
}

/* Artist Table Row Drop Zone Styling */
#artist-table tr.dragover {
	background-color: rgba(0, 123, 255, 0.1) !important;
	border: 2px dashed #007bff !important;
	border-radius: 4px !important;
	box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.3) !important;
}

#artist-table td.dragover {
	background-color: rgba(0, 123, 255, 0.1) !important;
	border: 2px dashed #007bff !important;
	border-radius: 4px !important;
	box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.3) !important;
}

/* Artist Table Header Drop Zone Styling */
#artist-table thead.dragover {
	background-color: rgba(0, 123, 255, 0.1) !important;
	border: 2px dashed #007bff !important;
	border-radius: 4px !important;
	box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.3) !important;
}

#artist-table thead th.dragover {
	background-color: rgba(0, 123, 255, 0.1) !important;
	border: 2px dashed #007bff !important;
	border-radius: 4px !important;
	box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.3) !important;
}

/* Additional Artist Table Elements Drop Zone Styling */
#artist-table table.dragover {
	background-color: rgba(0, 123, 255, 0.1) !important;
	border: 2px dashed #007bff !important;
	border-radius: 8px !important;
	box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.3) !important;
}

#artist-table .table.dragover {
	background-color: rgba(0, 123, 255, 0.1) !important;
	border: 2px dashed #007bff !important;
	border-radius: 8px !important;
	box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.3) !important;
}

/* Generic dragover styling for any element */
.dragover {
	background-color: rgba(0, 123, 255, 0.1) !important;
	border: 2px dashed #007bff !important;
	border-radius: 4px !important;
	box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.3) !important;
}

/* ============================================================
   NUMBER FORMATTING INPUT STYLING
   ============================================================ */

/* Fee input fields with number formatting */
input[data-format-number="true"] {
    font-family: inherit;
    text-align: right;
}

/* Ensure edit fee inputs use the same typography */
#edit_artist_rar_fee,
#edit_artist_rip_fee {
    font-family: inherit;
    text-align: right;
}

/* Focus state for number inputs */
input[data-format-number="true"]:focus {
    border-color: #007bff;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

/* Placeholder styling for number inputs */
input[data-format-number="true"]::placeholder {
    color: #6c757d;
    font-style: italic;
}

/* ============================================================
   POPOVER STYLING
   ============================================================ */

/* MDB Popover Border and Styling */
.popover,
.popover.show,
.popover[data-mdb-popper-placement] {
	border: 2px solid #495057 !important;
	border-radius: 8px !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

/* Popover Arrow Styling */
.popover .popover-arrow {
	border-color: #495057 !important;
}

/* Popover Header Styling */
.popover .popover-header {
	background-color: #f8f9fa !important;
	border-bottom: 1px solid #dee2e6 !important;
	border-radius: 6px 6px 0 0 !important;
	font-weight: 600;
}

/* Popover Body Styling */
.popover .popover-body {
	background-color: #ffffff !important;
	border-radius: 0 0 6px 6px !important;
	padding: 12px 16px !important;
}

/* TalentGrid Artist Popover Specific Styling */
.popover[data-mdb-popper-placement] {
	/* Use default border from .popover class */
	box-shadow: 0 6px 16px rgba(0, 123, 255, 0.2) !important;
}

/* Artist Popover Content Styling */
.popover .popover-body strong {
	color: #007bff !important;
	font-size: 1.1em;
}

/* Fee Information Styling in Popover */
.popover .popover-body br + br {
	margin-top: 4px;
}

/* Artist Table Sticky Header */
#artist-table table {
	table-layout: fixed;
	width: 100%;
}

/* Sticky header styling */
#artist-table thead {
	position: sticky;
	top: 0;
	z-index: 10;
	background-color: #000000;
}

#artist-table thead th {
	background-color: #000000 !important;
	color: #FFFFFF !important;
	border-bottom: 2px solid #dee2e6;
	box-shadow: 0 2px 4px rgba(0,0,0,0.1);
	position: sticky;
	top: 0;
	z-index: 10;
}

/* Empty header cells (Edit and Actions columns) */
#artist-table thead th:nth-child(1),
#artist-table thead th:nth-child(8) {
	background-color: #000000 !important;
	color: #000000 !important; /* Hide text by making it same color as background */
	border: none;
	text-indent: -9999px; /* Alternative: hide text completely */
	overflow: hidden;
}

/* Ensure proper table structure */
#artist-table tbody tr {
	background-color: #FFFFFF;
}

#artist-table tbody tr:nth-child(even) {
	background-color: #F5F5F5;
}

/* Artist name column styling for long names */
#artist-table tbody td:nth-child(2) {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 0; /* Forces the column to respect the width constraint */
	position: relative;
	padding: 8px 12px;
}

/* Tooltip for truncated artist names */
#artist-table tbody td:nth-child(2):hover {
	background-color: #f8f9fa;
}

/* Ensure artist name cell has proper styling */
#artist-table tbody td.artist-draggable {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 0;
	padding: 8px 12px;
	cursor: grab !important;
}

/* Dragging state */
#artist-table tbody td.artist-draggable:active {
	cursor: grabbing !important;
}

/* Override any conflicting cursor styles */
#artist-table tbody td.artist-draggable:hover {
	cursor: grab !important;
}

/* Responsive text sizing for artist names */
#artist-table tbody td.artist-draggable {
	font-size: 14px;
	line-height: 1.4;
}

/* Ensure drag icon doesn't interfere with text */
#artist-table tbody td.artist-draggable i {
	margin-right: 8px;
	flex-shrink: 0;
}

/* Empty table message styling */
#artist-table tbody tr td[colspan] {
	background-color: #f8f9fa !important;
	border: none !important;
	font-size: 16px;
	line-height: 1.5;
}

#artist-table tbody tr td[colspan] i {
	font-size: 18px;
}

/* Alternative: Fixed header for better browser support */
#artist-table.fixed-header thead th {
	position: fixed;
	top: 0;
	width: 100%;
	background-color: #f8f9fa !important;
	z-index: 1000;
}

/* Adjust table body when using fixed header */
#artist-table.fixed-header tbody {
	margin-top: 40px; /* Adjust based on header height */
}