:root{
	--dark-color: #2A2C32;
	--grey-color: #333;
	--gray-color: #888;
	--light-color: #E6E7F5;
	--green-color: #0CAC64;
	--light-green-color: #e9fff3;
	--amber-color: #E07F00;
	--yellow-color: #E7A61A;
	/*--red-color: #B81200;*/
	--red-color: #D32335;
	--mailred-color: #DC3545;
	--pink-color: #FF9185;
	--platinum-color: #E5E4E2;
	--platinum-border-color: #ddd;
	--whitesmoke-color: #F5F5F5;
	--white-color: #fff;
	--darkblue-color: #2C3E50;
	--azure-color: #007BFF;
	--saphire-color: #0056B3;
	/*005566 jolie*/
	--purple-color: #8E5EA2;

}

.mwPreview,
.itemsPreview,
.itemsActionsPreview,
.standaloneUploadPreview{
	position: relative !important;
	width: 120px !important;
	height: 120px !important;
	margin: 0 auto !important;
	display: grid !important;
	place-items: center !important;
	overflow: hidden !important;
	border-radius: 6px !important;
	background: var(--whitesmoke-color) !important;
	border: 1px solid var(--platinum-border-color) !important;
	box-sizing: border-box !important;
}

.mwPreview img,
.itemsPreview img,
.itemsActionsPreview img,
#displayBill,
#displayPhotoSubprop{
	width: 120px !important;
	height: 120px !important;
	max-width: 120px !important;
	max-height: 120px !important;
	object-fit: cover !important;
	border-radius: 6px !important;
	background: var(--whitesmoke-color) !important;
	border: 0 !important;
	box-sizing: border-box !important;
}

.mwPreview img[src$="add.png"],
.itemsPreview img[src$="add.png"],
.itemsActionsPreview img[src$="add.png"],
#displayBill[src$="add.png"],
#displayPhotoSubprop[src$="add.png"]{
	opacity: 0 !important;
}

.mwPreview::after,
.itemsPreview::after,
.itemsActionsPreview::after,
.standaloneUploadPreview::after{
	content: "+" !important;
	position: absolute !important;
	left: 50% !important;
	top: 50% !important;
	z-index: 2 !important;
	width: 44px !important;
	height: 44px !important;
	border-radius: 999px !important;
	background: rgba(230,231,245,0.9) !important;
	color: var(--dark-color) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 32px !important;
	line-height: 1 !important;
	font-weight: 700 !important;
	transform: translate(-50%, -50%) !important;
	transition: background 160ms ease, transform 160ms ease !important;
	pointer-events: none !important;
}

.mwPick .button,
.filePick .button,
.itemsActionsPick .button,
#subpropPhotoFormContent .parent-div .button,
#sectionUpload .parent-div .button{
	min-width: 150px !important;
	padding: 10px 14px !important;
	border-radius: 6px !important;
	background: var(--dark-color) !important;
	color: var(--light-color) !important;
}
html, body{
	margin: 0px;
	padding: 0px;
	outline: 0px;
	height: 100%;
  /*min-width: 750px;*/
	font-family: Roboto, Accidental Presidency, Arial;
  	background-size: cover;
	background-color: var(--dark-color);
}

.pwaInstallBanner{
	position: fixed;
	left: 50%;
	bottom: calc(12px + env(safe-area-inset-bottom));
	z-index: 1500;
	width: min(92vw, 520px);
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr) auto 32px;
	align-items: center;
	gap: 10px;
	padding: 10px;
	border: 1px solid rgba(42,44,50,0.14);
	border-radius: 8px;
	background: rgba(255,255,255,0.96);
	box-shadow: 0 12px 32px rgba(0,0,0,0.22);
	color: var(--dark-color);
	font-family: Roboto, Accidental Presidency, Arial;
	box-sizing: border-box;
	opacity: 0;
	transform: translate(-50%, 18px);
	transition: opacity 180ms ease, transform 180ms ease;
}

.pwaInstallBanner.is-visible{
	opacity: 1;
	transform: translate(-50%, 0);
}

.pwaInstallBanner.is-hiding{
	pointer-events: none;
}

.pwaInstallBannerIcon{
	width: 44px;
	height: 44px;
	display: grid;
	place-items: center;
	overflow: hidden;
	border-radius: 8px;
	background: var(--light-color);
}

.pwaInstallBannerIcon img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.pwaInstallBannerText{
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
	line-height: 1.25;
}

.pwaInstallBannerText strong{
	font-size: 14px;
	color: var(--dark-color);
}

.pwaInstallBannerText span{
	font-size: 12px;
	color: var(--grey-color);
}

.pwaInstallBannerAction,
.pwaInstallBannerClose{
	border: 0;
	border-radius: 6px;
	font: inherit;
	-webkit-tap-highlight-color: transparent;
}

.pwaInstallBannerAction{
	min-width: 44px;
	padding: 9px 12px;
	background: var(--green-color);
	color: var(--white-color);
	font-size: 13px;
	font-weight: 700;
}

.pwaInstallBannerClose{
	width: 32px;
	height: 32px;
	display: grid;
	place-items: center;
	background: transparent;
	color: var(--gray-color);
	font-size: 24px;
	line-height: 1;
}

@media (max-width: 420px){
	.pwaInstallBanner{
		grid-template-columns: 38px minmax(0, 1fr) 32px;
		gap: 8px;
		padding: 9px;
	}

	.pwaInstallBannerIcon{
		width: 38px;
		height: 38px;
	}

	.pwaInstallBannerAction{
		grid-column: 2 / 3;
		justify-self: start;
		padding: 7px 12px;
	}

	.pwaInstallBannerClose{
		grid-column: 3 / 4;
		grid-row: 1 / 2;
	}
}

input[type="checkbox" i], input[type="radio" i]{
    accent-color: var(--dark-color);
    cursor: pointer;
}

select, .customSelect {
  /* supprime l’UI native */
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  /* enlève le fond et la bordure par défaut, tu pourras les redéfinir */
  background: transparent;
  border: 1px solid #ccc;
  padding: 0.5em;
  padding-right: 25px !important;
  /* place un arrow personnalisé via background */
  background-image: url("data:image/svg+xml;charset=US-ASCII,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6'><path fill='%23666' d='M0 0l5 6 5-6z'/></svg>");
  background-repeat: no-repeat;
  background-position: right 0.5em center;
  background-size: 10px 6px;
  /* un peu de radius si souhaité */
  border-radius: 4px;
  /* évite un décalage du texte sur iOS */
  text-indent: 0.01px;
  text-overflow: "";
}

button{
	font-family: Roboto, Accidental Presidency, Arial;
	cursor: pointer;
}

table, th, td{
	/*border: solid 1px black;
	border-collapse: collapse;*/
	text-align: center;
}

textarea{
	min-height: 50px;
	padding: 10px;
	font-size: 16px;
	line-height: 1.5;
	resize: none; /* disable resizing */
}

textarea:invalid {
  	border: 2px dashed red;
}

textarea:valid {
  	border: 2px solid lightskyblue;
}

.tableProCustomer{
	border: solid 1px var(--dark-color);
	border-collapse: collapse;
	text-align: center;
}

.link{
	color: black;
	text-decoration: none;
	font-family: Roboto, Accidental Presidency, Arial;
	font-weight: bold;
}
.link:hover{
	text-decoration: underline;
}

.header{
	top: 0;
	width: 100%;
	display: flex;
	align-items: center;
	position: sticky;
	position: -webkit-sticky;
	position: -moz-sticky;
	height: 80px;
	font-size: 30px;
	background-color: var(--light-color);
	-webkit-box-shadow: 0px 0px 13px 0px rgba(54,54,54,1);
	-moz-box-shadow: 0px 0px 13px 0px rgba(54,54,54,1);
	box-shadow: 0px 0px 13px 0px rgba(54,54,54,1);
}

.header_section{
	width: 90%;
	max-width: 1600px;
	margin: auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-weight: bold;
	z-index: 10;
}

.header_section_title{
	color: var(--dark-color);
}

#title{
	color: black;
	text-decoration: none;
}

.headerBrandDesktop{
	display: inline;
}

.headerBrandMobile{
	display: none;
}

.headerBrandDesktop i,
.headerBrandMobile i{
	font-weight: normal;
}

@media (max-width: 600px){
	.headerBrandDesktop{
		display: none;
	}

	.headerBrandMobile{
		display: inline;
	}
}

.header_section_right{
	display: flex;
	align-items: center;
	justify-content: center;
}

.header_link_text {
    display: inline-block;
    font-size: clamp(0.9rem, 1.8vw, 1.2rem);
    margin: 0 1rem;
}

#topMessage{
	color: white;
	font-weight: normal;
	border-radius: 5px;
	-webkit-box-shadow: 0px 0px 5px 0px rgba(54,54,54,1);
	-moz-box-shadow: 0px 0px 5px 0px rgba(54,54,54,1);
	box-shadow: 0px 0px 5px 0px rgba(54,54,54,1);
	height: 40px; width: 100px;
	font-size: 15px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	margin: auto;
}

#slogan{
	font-family: "Source Code Pro", monospace;
	position: relative;
	width: max-content;
	color: var(--dark-color);
}

#slogan::before, #slogan::after{
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

#slogan::before{
	background-color: var(--light-color);
	animation: typewriter 4s steps(15) 1s forwards;
}

#slogan::after{
	width: 0.125em;
	background-color: var(--dark-color);
	animation:
		typewriter 4s steps(15) 1s forwards,
		blink 750ms steps(15) infinite;
}

@keyframes typewriter{
	to{
		left: 100%;
	}
}

@keyframes blink{
	to{
		background-color: transparent;
	}
}

.button{
	cursor: pointer;
	border: none;
	outline: none;
	font-weight: bold;
	background: none;
	border-radius: 3px;
	padding: 12px;
	font-size: 15px;
	color: var(--light-color);
	background-color: var(--dark-color);
	transition: all 0.5s ease-out;
	border: solid 1px var(--dark-color);
}

.buttonSmall{
	cursor: pointer;
	border: none;
	outline: none;
	font-weight: bold;
	background: none;
	border-radius: 3px;
	padding: 6px;
	font-size: 12px;
	color: var(--light-color);
	background-color: var(--dark-color);
	transition: all 0.5s ease-out;
	border: solid 1px var(--dark-color);
}

.button:hover, .button:focus, .buttonSmall:hover .buttonSmall:focus{
	color: var(--dark-color);
	background-color: var(--light-color);
	transition: all 0.5s ease-out;
}

.newCustomerDetailsDocs{
	cursor: pointer;
}

.body{
	position: static;
	width: 100%;
	display: block;
	align-items: center;
}

.body_section{
	width: 100%;
	max-width: 1600px;
	margin: auto;
	display: block;
	align-items: center;
	justify-content: space-between;
}

.body_section_user{
	min-height: 100%;
	width: 100%;
	max-width: 1600px;
	margin: auto;
	display: block;
	align-items: center;
	justify-content: space-between;
	margin-top: -72px;
	/*margin-top: 25vh; poussé de la moitié de hauteur de viewport */
 	/*transform: translateY(-25%); tiré de la moitié de sa propre hauteur */
}

.body_section_under{
	display: flex;
	align-items: center;
	justify-content: space-around;
	height: 75%;
	width: 90%;
	top: 50%;
	left: 50%;
	position: relative;
	transform: translate(-50%, 50%) scale(1);
}

.body_section_under_right{
	-webkit-box-shadow: 0px 0px 13px 0px rgba(54,54,54,1);
	-moz-box-shadow: 0px 0px 13px 0px rgba(54,54,54,1);
	box-shadow: 0px 0px 13px 0px rgba(54,54,54,1);
	background-color: var(--light-color);
	border-radius: 5px;
	min-width: 250px;
	width: 30%;
	min-height: 200px;
	height: 230px;
	max-height: 350px;
	display: flex;
	align-items: center;
	justify-content: space-around;
	padding: 0px 10px 0px 10px;
	text-align: center;
}

.body_section_section{
	height: 50%;
	width: 90%;
	margin: 70px auto;
	background-color: white;
	padding: 10px;
	-webkit-box-shadow: 0px 0px 7px 0px rgba(54,54,54,1);
	-moz-box-shadow: 0px 0px 7px 0px rgba(54,54,54,1);
	box-shadow: 0px 0px 7px 0px rgba(54,54,54,1);
}

.settings-labels{
	font-weight: bold;
	margin: 10% 10px;
}

.formSettings{
	width: 100%; 
	margin: 20px auto 0 auto; 
	padding-top: 5px; 
	text-align: center;
}

.modal_body_settings{
	text-align: center;
	margin: 10px auto;
}

#mainDiv, #topDiv{
	margin: 20px 0 0 0;
	align-items: center;
	font-weight: bold;
	font-size: 15px;
	grid-gap: 10px;
}

#mainDivTitle{
	grid-column: 1 / 4;
	grid-row: 1;
}

#actions{
	display: inline-flex;
	align-items: flex-start;
	flex-direction: column;
	flex-wrap: wrap;
	margin: 1dvh 0 1dvh 5%;
    width: 95%;
}

.actionsImages{
	width: 30px;
}

.forecastToggleButton{
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.forecastToggleImage{
	display: block;
	width: 30px;
	height: 30px;
	object-fit: contain;
}

@media (max-width: 600px) {
	#actions{
		margin: 1dvh auto;
		width: 100%;
	}
	#actions div:not(.topActionsRow):not(.appCompanySwitcher){
		display: grid;
		width: 100%;
		grid-template-columns: repeat(1, 1fr 1fr 1fr 1fr 1fr);
		justify-items: start;
		align-items: start;
		justify-content: center;
		gap: 5vw;
	}

	.actionsImages{
		width: 100%;
	}
}

.billsList, .invoicesList{
	width: 100%;
	font-weight: bold;
	font-size: 15px;
}

.billHistoryContentSection, .invoiceHistoryContentSection, .contractSectionContent{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	background-color: var(--light-color);
	color: var(--dark-color);
	width: 95%;
	margin: 20px auto;
	height: 105px;
	border-radius: 3px;
	-webkit-box-shadow: 0px 0px 3px 0px rgba(0,0,0,0.75);
	-moz-box-shadow: 0px 0px 3px 0px rgba(0,0,0,0.75);
	box-shadow: 0px 0px 3px 0px rgba(0,0,0,0.75);
}

.contractSection{
	width: 95%;
	margin: 20px auto;
}

.contractSectionTest{
	margin: 20px auto;
}

.contractSectionContentMain{
	display: grid;
	grid-template-columns: 27fr 27fr 23fr 15fr 5fr;
	column-gap: 5px; /* ajuste */
	background-color: var(--light-color);
	height: 40px;
	border-radius: 3px;
	-webkit-box-shadow: 0px 0px 3px 0px rgba(0,0,0,0.75);
	-moz-box-shadow: 0px 0px 3px 0px rgba(0,0,0,0.75);
	box-shadow: 0px 0px 3px 0px rgba(0,0,0,0.75);
	overflow: hidden; 
	padding-left: 2.5px;
	box-sizing: border-box;
}


.contractSectionContentMain a,
.contractSectionContentMain span{
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.contractSectionContentMainDiv{
	display: inline-block;
	text-align: left;
	margin: auto 0;
	overflow: hidden;
}

.billStatsContentSection, .invoiceStatsContentSection{
	background-color: var(--light-color);
	width: 95%;
	margin: 20px auto;
	height: 105px;
	border-radius: 3px;
	-webkit-box-shadow: 0px 0px 3px 0px rgba(0,0,0,0.75);
	-moz-box-shadow: 0px 0px 3px 0px rgba(0,0,0,0.75);
	box-shadow: 0px 0px 3px 0px rgba(0,0,0,0.75);
}

.propertyContentDiv{
	display: grid;
	justify-content: center;
	text-align: center;
	align-content: center;
	grid-template-columns: repeat(3, 1fr);
	background-color: var(--light-color);
	width: 95%;
	margin: 30px auto 0 auto;
	height: 50px;
	border-radius: 3px;
	-webkit-box-shadow: 0px 0px 3px 0px rgba(0,0,0,0.75);
	-moz-box-shadow: 0px 0px 3px 0px rgba(0,0,0,0.75);
	box-shadow: 0px 0px 3px 0px rgba(0,0,0,0.75);
}

.contractDetails{
	display: block;
	margin-bottom: 10px;
}

#modal_body_section_add_image, #modal_body_section_add_invoice, #modal_body_section_update_invoice{
	width: 100%;
}

.section-default-signup-form{
	text-align: center;
}

.modal_body_section_add_details{
	text-align: center;
	align-items: center;
	justify-content: center;
}

.formText{
	padding: 10px;
	border-radius: 3px;
	border: solid 1px var(--dark-color);
	font-size: 15px;
	margin: 0 0 10px 0;
	width: 194px;
	font-family: Roboto, Accidental Presidency, Arial;
	font-weight: bold;
	background-color: var(--light-color);
	box-sizing: border-box;
    height: 45px;
}

.customerForm{
	border-radius: 5px;
	-webkit-box-shadow: 0px 0px 3px 0px rgba(0,0,0,0.75);
	-moz-box-shadow: 0px 0px 3px 0px rgba(0,0,0,0.75);
	box-shadow: 0px 0px 3px 0px rgba(0,0,0,0.75);
	padding: 1px;
	margin: 10px auto;
	padding-inline: 10px;
}

.dataSubprop{
	display: flex;
	align-items: center;
	justify-content: space-around;
	text-align: center;
	width: 100%;
	padding: 1vh 0;
	border: solid 1px #E5E4E2;
	border-top: none;
	border-radius: 0 0 3px 3px;
	width: 93%;
	margin: auto;
}

.subReceiptAction{
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	place-content: center space-around;
	flex-direction: row;
	justify-content: space-around;
	text-align: center;
	width: 100%;
	padding: 1vh 0;
	border: solid 1px #E5E4E2;
	border-top: none;
	border-radius: 0 0 3px 3px;
	margin: auto;
	justify-items: center;
    align-items: center;
}

.invoiceFormFields, .estimateFormFields{
	padding-top: 10px;
	min-width: min-content;
	background-color: white;
	border-radius: 5px;
	-webkit-box-shadow: 0px 0px 3px 0px rgba(0,0,0,0.75);
	-moz-box-shadow: 0px 0px 3px 0px rgba(0,0,0,0.75);
	box-shadow: 0px 0px 3px 0px rgba(0,0,0,0.75);
	margin-bottom: 5px;
}

.contractFormFields{
	padding-top: 10px;
	min-width: min-content;
	border-radius: 5px;
	border: 1px solid var(--dark-color);
	margin-bottom: 5px;
}

.parent-div{
	display: inline-block;
	position: relative;
	overflow: hidden;
}
.parent-div input[type=file] {
	left: 0;
	top: 0;
	opacity: 0;
	position: absolute;
	font-size: 90px;
	min-width: 110px;
	max-width: 200px;
}

.button{
	cursor: pointer;
	border: none;
	outline: none;
	font-weight: bold;
	background: none;
	border-radius: 3px;
	padding: 12px;
	font-size: 15px;
	color: var(--light-color);
	background-color: var(--dark-color);
	transition: all 0.5s ease-out;
	border: solid 1px var(--dark-color);
}

/*overlay img*/
/* Conteneur principal */
.overlay-image {
	position: relative;
	width: 50%;
	z-index: 2;
}
/* Image originale */
.overlay-image .image {
	display: block;
	width: 50%;
	height: auto;
	z-index: 2;
}
/* Texte original*/
.overlay-image .text {
	color: #fff;
	font-size: 30px;
	line-height: 1.5em;
	text-shadow: 2px 2px 2px #000;
	text-align: center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	background-color: white;
	height: 100%;
	opacity: .9;
	z-index: 2;
}

/* Overlay */
.overlay-image .hover {
	position: absolute;
	top: 0;
	height: 100%;
	width: 100%;
	opacity: 0;
	transition: .5s ease;
	z-index: 2;
}
/* Apparition overlay sur passage souris */
.overlay-image:hover .hover {
	opacity: 1;
}
/* ends overlay */

/* START POP UP */
.modal{
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) scale(0);
	transition: 200ms ease-in-out;
	border-radius: 5px;
	z-index: 2010;
	background-color: var(--light-color);
	color: var(--dark-color);

	/* >>> plus “desktop friendly” */
	width: min(95vw, 1200px);
	max-height: 90vh;
	overflow: auto;
	-webkit-box-shadow: 0px 0px 15px 5px rgba(0,0,0,0.75);
	-moz-box-shadow: 0px 0px 15px 5px rgba(0,0,0,0.75);
	box-shadow: 0px 0px 15px 5px rgba(0,0,0,0.75);
}

.modal.active {
	transform: translate(-50%, -50%) scale(1);
}

.modal-header {
	padding: 10px 15px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-bottom: solid 1px lightgrey;
	margin-bottom: 15px;
	font-weight: bold;
}

.modal-header .title {
	font-size: 1.25rem;
	font-weight: bold;
}

.modal-header .close-button {
	cursor: pointer;
	border: none;
	outline: none;
	background: none;
	font-size: 1.25rem;
	font-weight: bold;
}

.modal_body {
	padding: 10px 15px;
}

.modal_body-clr{
	display: flex;
	align-items: center;
	justify-content: space-between;
}

#overlay {
	position: fixed;
	z-index: 2000;
	opacity: 0;
	transition: 200ms ease-in-out;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, .5);
	pointer-events: none;
}

#overlay.active {
	opacity: 1;
	pointer-events: all;
}

#overlay.active.isMessagesKeyboardOverlay {
	bottom: -140px;
	background-color: rgba(13, 14, 18, 0.84);
	backdrop-filter: blur(2px);
}

/* END POP UP */

.dropdown{
	position: relative;
	display: inline-block;
	width: 200px;
}

/* Bouton de la liste */
.dropdown-btn{
	padding: 10px;
	border: 1px solid var(--dark-color);;
	width: 100%;
	background-color: var(--light-color);;
	cursor: pointer;
	text-align: left;
	box-sizing: border-box;
	border-radius: 3px;
	font-weight: bold;
	color: var(--dark-color);;
}

/* Contenu de la liste */
.dropdown-content{
	display: none;
	position: absolute;
	background-color: var(--light-color);;
	border: 1px solid var(--dark-color);;
	max-height: 150px;
	overflow-y: auto;
	width: 100%;
	z-index: 1;
	box-sizing: border-box;
	padding: 10px;
	border-radius: 3px;
}

/* Style de chaque option avec case à cocher */
.dropdown-content label{
	display: flex;
	align-items: center;
	padding: 5px;
	cursor: pointer;
}

/* Coche et étiquette des options */
.dropdown-content input[type="checkbox"]{
	margin-right: 10px;
}

/* Affiche la liste au clic */
.dropdown.active .dropdown-content{
	display: block;
	height: auto;
}

/* Conteneur pour gérer le positionnement relatif */
.fieldset-input {
	position: relative;
	display: inline-block;
	/* ajustez la largeur comme vous le souhaitez */
	width: 260px;
}

/* Le “legend” placé au-dessus de l’input */
.fieldset-input label {
	position: absolute;
	top: 0; 
	left: 0.6em;
	transform: translateY(-50%);
	background: white;        /* pour masquer la bordure derrière */
	padding: 0 0.25em;         /* petit espace autour du texte */
	font-size: 0.8em;          /* plus petit que l’input */
	color: #555;
	pointer-events: none;      /* le clic passe à l’input */
	border-radius: 5px;
}

/* Grille responsive des formulaires (propriétés) */
.propertyFormRow{
	display: grid;
    gap: 12px;
    align-items: center;
    width: 100%;
    justify-items: start;
    justify-content: start;
    grid-template-columns: repeat(1, 1fr 1fr 1fr 1fr 1fr 1fr);
}

/* ==========================
   Customer identity layout
   3 cas: PC / mobile portrait / mobile paysage
   ========================== */

   .customerIdentityGrid{
	display: grid;
	gap: 12px;
	width: 100%;
	align-items: start;
}

body.immoPage #customers .customerCreateStack{
	display: grid;
	gap: 14px;
	width: min(100%, 920px);
	margin: 0 auto;
}

body.immoPage #customers .customerCreateSection{
	border: 1px solid rgba(230, 231, 245, 0.18);
	border-radius: 7px;
	background: rgba(230, 231, 245, 0.045);
	padding: 14px;
	box-sizing: border-box;
}

body.immoPage #customers #newCustomerDetailsCompany,
body.immoPage #customers #newCustomerDetailsCompanyDocs,
body.immoPage #customers #customerMinorSection,
body.immoPage #customers #legalRepresentativeSection,
body.immoPage #customers #minorEmancipationProofWrap{
	display: none;
}

body.immoPage #customers .customerSectionHeader{
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
	color: var(--light-color);
}

body.immoPage #customers .customerSectionHeader strong{
	font-size: 0.98rem;
	font-weight: 900;
}

body.immoPage #customers .customerSectionHeader span,
body.immoPage #customers .customerToggleLine em{
	color: rgba(246, 247, 255, 0.66);
	font-size: 0.74rem;
	font-style: normal;
	font-weight: 700;
}

body.immoPage #customers .customerToggleLine{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	width: 100%;
	color: var(--light-color);
	cursor: pointer;
}

body.immoPage #customers .customerToggleLine > span:first-child{
	display: grid;
	gap: 2px;
	min-width: 0;
}

body.immoPage #customers .customerSwitchChoice{
	display: inline-flex !important;
	align-items: center;
	gap: 9px;
	white-space: nowrap;
}

body.immoPage #customers .customerSwitchChoice span{
	color: rgba(246, 247, 255, 0.84);
	font-weight: 850;
}

body.immoPage #customers .customerTenantTypeSwitch{
	position: relative;
	gap: 12px;
}

body.immoPage #customers .customerTenantTypeSwitch .customerSwitchText{
	color: rgba(246, 247, 255, 0.58);
	transition: color 0.18s ease;
}

body.immoPage #customers .customerTenantTypeSwitch .customerSwitchTextPersonal{
	color: var(--light-color);
}

body.immoPage #customers .customerTenantTypeSwitch:has(.customerSwitchInput:checked) .customerSwitchTextPersonal{
	color: rgba(246, 247, 255, 0.58);
}

body.immoPage #customers .customerTenantTypeSwitch:has(.customerSwitchInput:checked) .customerSwitchTextCompany{
	color: var(--light-color);
}

body.immoPage #customers .customerSwitchInput{
	position: absolute;
	width: 1px !important;
	height: 1px !important;
	opacity: 0;
	pointer-events: none;
}

body.immoPage #customers .customerSwitchTrack{
	position: relative;
	display: inline-block;
	width: 48px;
	height: 26px;
	flex: 0 0 48px;
	border-radius: 999px;
	border: 1px solid rgba(230, 231, 245, 0.28);
	background: rgba(230, 231, 245, 0.16);
	box-sizing: border-box;
	transition: background-color 0.18s ease, border-color 0.18s ease;
}

body.immoPage #customers .customerSwitchTrack::before{
	content: "";
	position: absolute;
	top: 3px;
	left: 3px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: var(--light-color);
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.28);
	transition: transform 0.18s ease, background-color 0.18s ease;
}

body.immoPage #customers .customerSwitchInput:checked + .customerSwitchTrack{
	border-color: rgba(124, 180, 141, 0.72);
	background: rgba(124, 180, 141, 0.36);
}

body.immoPage #customers .customerSwitchInput:checked + .customerSwitchTrack::before{
	transform: translateX(22px);
	background: #c8f1da;
}

body.immoPage #customers .customerSwitchInput:focus-visible + .customerSwitchTrack{
	outline: 2px solid rgba(246, 247, 255, 0.55);
	outline-offset: 3px;
}

body.immoPage #customers .customerToggleLine input[type="checkbox"]{
	width: 42px;
	height: 22px;
	flex: 0 0 auto;
	accent-color: #7cb48d;
}

body.immoPage #customers .customerOptionGrid{
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.immoPage #customers .customerMinorOptions{
	grid-template-columns: minmax(0, 1fr);
}

body.immoPage #customers .customerMinorToggleLine{
	align-items: center;
}

body.immoPage #customers .customerMinorMainLabel{
	min-width: 0;
	color: var(--light-color);
	cursor: pointer;
}

body.immoPage #customers .customerMinorActionGroup{
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
	margin-left: auto;
	min-width: 0;
}

body.immoPage #customers .customerInlineDoc.customerEmancipationProofInline{
	order: 1;
	cursor: default;
}

body.immoPage #customers .customerEmancipationProofInline span{
	order: 1;
}

body.immoPage #customers .customerMinorActionGroup > #customerEmancipatedMinor{
	order: 2;
}

body.immoPage #customers .customerInlineDoc{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	width: fit-content;
	color: rgba(246, 247, 255, 0.86);
	font-size: 0.8rem;
	font-weight: 850;
	cursor: pointer;
}

body.immoPage #customers .customerInlineDoc input[type="checkbox"]{
	width: 16px;
	height: 16px;
	flex: 0 0 auto;
	accent-color: #7cb48d;
}

body.immoPage #customers .customerContactGrid{
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.immoPage #customers .customerLegalSource{
	margin-bottom: 12px;
}

body.immoPage #customers .customerContactGrid .fieldset-input,
body.immoPage #customers .customerCreateSection .fieldset-input{
	width: 100% !important;
	min-width: 0;
}

body.immoPage #customers .customerContactGrid .fieldset-input input,
body.immoPage #customers .customerCreateSection .fieldset-input input,
body.immoPage #customers .customerCreateSection .fieldset-input select{
	width: 100% !important;
	box-sizing: border-box;
}

body.immoPage #customers .customerBirthdayHint{
	min-height: 18px;
	margin: 6px 0 0;
	color: rgba(246, 247, 255, 0.66);
	font-size: 0.72rem;
	font-weight: 850;
	line-height: 1.25;
}

body.immoPage #customers .customerBirthdayHint.is-minor{
	color: #ffe0aa;
}

body.immoPage #customers .customerBirthdayHint.is-adult{
	color: #c8f1da;
}

body.immoPage #customers .customerMinorSection.is-active{
	border-color: rgba(221, 164, 72, 0.38);
	background: rgba(117, 82, 33, 0.16);
}

body.immoPage #customers .customerGuarantorCards{
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.immoPage #customers .customerGuarantorsSection{
	border-color: transparent;
	background: transparent;
	padding: 0;
}

body.immoPage #customers .customerGuarantorsSection > .customerSectionHeader{
	display: none !important;
}

body.immoPage #customers .customerGuarantorCard{
	display: grid;
	gap: 12px;
	align-content: start;
	align-items: start;
	border: 1px solid rgba(230, 231, 245, 0.18);
	border-radius: 7px;
	background: rgba(230, 231, 245, 0.045);
	padding: 12px;
}

body.immoPage #customers .customerGuarantorCard > .customerToggleLine{
	align-items: flex-start;
}

body.immoPage #customers .customerGuarantorDetails{
	display: none;
	gap: 12px;
}

body.immoPage #customers .customerDocsGroups{
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
}

body.immoPage #customers .customerDocsGroup{
	min-width: 0;
	border: 1px solid rgba(230, 231, 245, 0.16);
	border-radius: 7px;
	background: rgba(17, 19, 28, 0.14);
	padding: 12px;
	color: var(--light-color);
}

body.immoPage #customers .customerDocsGroup legend{
	padding: 0 6px;
	color: rgba(246, 247, 255, 0.82);
	font-size: 0.78rem;
	font-weight: 900;
}

body.immoPage #customers .customerDocsGrid{
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.immoPage #customers .customerDocsGrid label{
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-width: 0;
	color: rgba(246, 247, 255, 0.86);
	font-size: 0.78rem;
	font-weight: 800;
	line-height: 1.2;
	cursor: pointer;
}

body.immoPage #customers .customerDocsGrid input[type="checkbox"]{
	width: 15px;
	height: 15px;
	flex: 0 0 auto;
	accent-color: #7cb48d;
}

body.immoPage #customers .customerDocMissing{
	color: #ffc7c7 !important;
}

body.immoPage #customers .customerDocMissing input{
	outline: 2px solid rgba(225, 94, 94, 0.65);
	outline-offset: 2px;
}

@media (max-width: 900px){
	body.immoPage #customers .customerGuarantorCards,
	body.immoPage #customers .customerDocsGroups{
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px){
	body.immoPage #customers .customerCreateSection{
		padding: 12px;
	}

	body.immoPage #customers .customerGuarantorCards{
		width: calc(100% + 24px);
		margin-left: -12px;
		margin-right: -12px;
	}

	body.immoPage #customers .customerGuarantorCard{
		width: 100%;
		box-sizing: border-box;
	}

	body.immoPage #customers .customerSectionHeader,
	body.immoPage #customers .customerToggleLine{
		align-items: flex-start;
		flex-direction: column;
	}

	body.immoPage #customers .customerOptionGrid,
	body.immoPage #customers .customerContactGrid,
	body.immoPage #customers .customerDocsGrid{
		grid-template-columns: 1fr;
	}

	body.immoPage #customers .customerMinorToggleLine{
		align-items: center;
		flex-direction: row;
		gap: 10px;
	}

	body.immoPage #customers .customerMinorMainLabel{
		flex: 1 1 auto;
	}

	body.immoPage #customers .customerMinorActionGroup{
		gap: 8px;
		margin-left: 0;
	}

	body.immoPage #customers .customerMinorActionGroup > #customerEmancipatedMinor{
		order: 1;
	}

	body.immoPage #customers .customerEmancipationProofInline{
		order: 2;
	}

	body.immoPage #customers .customerEmancipationProofInline span{
		order: 1;
		white-space: normal;
	}
}

/* On neutralise ton width:260px uniquement ici */
.customerIdentityGrid .fieldset-input{
	width: 100% !important;
	min-width: 0;
	display: block;
}

.customerIdentityGrid .fieldset-input input,
.customerIdentityGrid .fieldset-input select{
	width: 100% !important;
	box-sizing: border-box;
}

body.immoPage #customers .customerPhoneGroup{
	display: grid;
	grid-template-columns: 74px minmax(0, 1fr);
	align-items: center;
	width: 100%;
	height: 45px;
	border: 1px solid rgba(230, 231, 245, 0.34);
	border-radius: 7px;
	background: rgba(230, 231, 245, 0.06);
	box-sizing: border-box;
	overflow: hidden;
}

body.immoPage #customers .customerPhoneGroup .formText{
	height: 100%;
	margin: 0;
	border: 0 !important;
	border-radius: 0;
	background: transparent;
}

body.immoPage #customers .customerPhonePrefix{
	text-align: center;
	border-right: 1px solid rgba(230, 231, 245, 0.22) !important;
	color: rgba(246, 247, 255, 0.82);
}

body.immoPage #customers .customerPhoneNumber{
	padding-left: 12px;
}

/* Largeur "petit champ" (Genre) */
:root{
	--customerSmallCol: 110px;
}

/* ========= PC (desktop) =========
   1 ligne / wrap automatique : très bien en flex, donc on le reproduit en grid fluide */
@media (min-width: 1001px){
	.customerIdentityGrid{
		grid-template-columns: var(--customerSmallCol) minmax(280px, 1fr) minmax(240px, 1fr) minmax(240px, 1fr);
		grid-template-areas:
			"genre name firstname email"
			"birthday birthday phone phone";
	}

	.fieldGenre{ grid-area: genre; }
	.fieldName{ grid-area: name; }
	.fieldFirstname{ grid-area: firstname; }
	.fieldEmail{ grid-area: email; }
	.fieldBirthday{ grid-area: birthday; }
	.fieldPhone{ grid-area: phone; }
	.fieldPhoneCombined{ grid-area: phone; }
}

/* ========= Mobile PORTRAIT =========
   - Genre + Nom sur 1 ligne (100%)
   - Prénom seul (ligne)
   - E-mail seul (ligne)
   - Téléphone combiné sur 1 ligne (100%) */
@media (max-width: 700px){
	.customerIdentityGrid{
		grid-template-columns: var(--customerSmallCol) 1fr;
		grid-template-areas:
			"genre name"
			"firstname firstname"
			"birthday birthday"
			"email email"
			"phone phone";
	}

	.fieldGenre{ grid-area: genre; }
	.fieldName{ grid-area: name; }
	.fieldFirstname{ grid-area: firstname; }
	.fieldEmail{ grid-area: email; }
	.fieldBirthday{ grid-area: birthday; }
	.fieldPhone{ grid-area: phone; }
	.fieldPhoneCombined{ grid-area: phone; }
}

/* ========= Mobile PAYSAGE =========
   - Genre + Nom sur 1 ligne (même largeur totale que ligne suivante)
   - Prénom + E-mail sur 1 ligne
   - Téléphone combiné sur 1 ligne */
@media (min-width: 701px) and (max-width: 1000px){
	.customerIdentityGrid{
		grid-template-columns: var(--customerSmallCol) 1fr 1fr;
		grid-template-areas:
			"genre name name"
			"firstname birthday birthday"
			"email email email"
			"phone phone phone";
	}

	.fieldGenre{ grid-area: genre; }
	.fieldName{ grid-area: name; }
	.fieldFirstname{ grid-area: firstname; }
	.fieldEmail{ grid-area: email; }
	.fieldBirthday{ grid-area: birthday; }
	.fieldPhone{ grid-area: phone; }
	.fieldPhoneCombined{ grid-area: phone; }
}

/* ==========================
   Customer company layout
   PC / mobile portrait / mobile paysage
   ========================== */

   .customerCompanyGrid{
	display: grid;
	gap: 12px;
	width: 100%;
	align-items: start;
}

/* Neutralise le width fixe .fieldset-input uniquement ici */
.customerCompanyGrid .fieldset-input{
	width: 100% !important;
	min-width: 0;
	display: block;
}

.customerCompanyGrid .fieldset-input input{
	width: 100% !important;
	box-sizing: border-box;
}

/* PC : 3 colonnes */
@media (min-width: 1001px){
	.customerCompanyGrid{
		grid-template-columns: 1fr 1fr 1fr;
		grid-template-areas: "name vat siret";
	}
	.companyName{ grid-area: name; }
	.companyVat{ grid-area: vat; }
	.companySiret{ grid-area: siret; }
}

/* Mobile paysage : 2 colonnes (2 + 1) */
@media (min-width: 701px) and (max-width: 1000px){
	.customerCompanyGrid{
		grid-template-columns: 1fr 1fr;
		grid-template-areas:
			"name vat"
			"siret siret";
	}
	.companyName{ grid-area: name; }
	.companyVat{ grid-area: vat; }
	.companySiret{ grid-area: siret; }
}

/* Mobile portrait : 1 colonne */
@media (max-width: 700px){
	.customerCompanyGrid{
		grid-template-columns: 1fr;
		grid-template-areas:
			"name"
			"vat"
			"siret";
	}
	.companyName{ grid-area: name; }
	.companyVat{ grid-area: vat; }
	.companySiret{ grid-area: siret; }
}

/* Harmonise select + dropdown avec le rendu "fieldset-input" */
.fieldset-input select,
.fieldset-input .dropdown-btn{
	border: 1px solid var(--dark-color);
	border-radius: 4px;
	padding: 1.2em 0.6em 0.6em;
	width: 100%;
	box-sizing: border-box;
	background-color: var(--light-color);
	height: 45px;
}

/* Les dropdown prennent toute la largeur du fieldset */
.fieldset-input .dropdown{
	width: 100%;
}

/* Mobile */
@media (max-width: 1000px){
	.propertyFormRow{
		grid-template-columns: repeat(1, 1fr 1fr);
	}
}

@media (max-width: 700px){
	.propertyFormRow .propertyRentModeField,
	.propertyFormRow .propertyFurnishedField,
	.propertyFormRow .propertyWaterField,
	.propertyFormRow .propertyHeatField,
	.propertyFormRow .propertyDestinyField,
	.propertyFormRow .propertyLawStatusField{
		flex: 1 1 calc(50% - 5px);
		width: calc(50% - 5px) !important;
		min-width: 0;
	}
}

/* Connected property workspace */
.appPropertyHeader #title{
	display: inline-block;
	max-width: min(760px, 62vw);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	vertical-align: middle;
}

.appPropertyHeaderActions{
	flex: 0 0 auto;
}

.appPropertyHeaderActions #contractAddButton{
	min-height: 44px;
	padding: 10px 14px;
	border-radius: 6px;
	background: rgba(240, 241, 255, 0.92);
	color: var(--dark-color);
	border-color: rgba(240, 241, 255, 0.2);
}

.appImmoHeaderActions #financialDashboardButton{
	min-height: 40px;
	height: 40px;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	padding: 0 16px;
	border-radius: 999px;
	background: rgba(240, 241, 255, 0.07);
	color: rgba(230, 231, 245, 0.9);
	border: 1px solid rgba(240, 241, 255, 0.16);
	box-shadow: none;
	text-decoration: none;
	font-size: 0.9rem;
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1;
	transition: transform 160ms ease, border-color 160ms ease, background-color 160ms ease, color 160ms ease;
}

.appImmoHeaderActions #financialDashboardButton::before{
	content: "";
	width: 8px;
	height: 8px;
	flex: 0 0 auto;
	border-radius: 999px;
	background: #6fa7ff;
	box-shadow: 0 0 0 4px rgba(111, 167, 255, 0.12);
}

.financialDashboardMobileIcon{
	display: none;
}

.appImmoHeaderActions #financialDashboardButton.financialDashboardUpsell{
	background: rgba(224, 127, 0, 0.1);
	border-color: rgba(224, 127, 0, 0.34);
	color: rgba(255, 234, 205, 0.96);
}

.appImmoHeaderActions #financialDashboardButton.financialDashboardUpsell::before{
	background: var(--amber-color);
	box-shadow: 0 0 0 4px rgba(224, 127, 0, 0.14);
}

.appImmoHeaderActions #financialDashboardButton:hover,
.appImmoHeaderActions #financialDashboardButton:focus{
	transform: translateY(-1px);
	background: rgba(111, 167, 255, 0.12);
	border-color: rgba(111, 167, 255, 0.42);
	color: var(--light-color);
}

.appImmoHeaderActions #financialDashboardButton.financialDashboardUpsell:hover,
.appImmoHeaderActions #financialDashboardButton.financialDashboardUpsell:focus{
	background: rgba(224, 127, 0, 0.16);
	border-color: rgba(224, 127, 0, 0.52);
	color: rgba(255, 241, 224, 0.98);
}

.appPropertySurface .receiptsList{
	min-width: 0 !important;
	width: 100%;
}

.appPropertySurface .appPropertyContext{
	width: 100%;
	max-width: 100%;
	padding: 2px 2px 0;
	box-sizing: border-box;
}

.appPropertySurface .appPropertyContext span{
	display: block;
	min-width: 0;
	max-width: 100%;
	color: var(--light-color);
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.25;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	opacity: 0.9;
}

.appPropertySurface .mainSection{
	width: 100%;
	min-width: 0;
}

.appPropertySurface .receiptsList > div:first-child,
.appPropertySurface .topMainButton,
.appPropertySurface .contractsDispButton,
.appPropertySurface .gaugesDispButton,
.appPropertySurface .itemsDispButton{
	border-radius: 6px !important;
}

.appPropertySurface .topMainButton,
.appPropertySurface .contractsDispButton,
.appPropertySurface .gaugesDispButton,
.appPropertySurface .itemsDispButton{
	min-height: 44px;
	border: 1px solid rgba(240, 241, 255, 0.14);
	transition: transform 160ms ease, background-color 160ms ease, color 160ms ease;
}

.appPropertySurface .topMainButton:hover,
.appPropertySurface .contractsDispButton:hover,
.appPropertySurface .gaugesDispButton:hover,
.appPropertySurface .itemsDispButton:hover{
	transform: translateY(-1px);
}

.appPropertySurface .propertyFormRow,
.appPropertySurface .invoiceTopNav,
.appPropertySurface .invoiceFieldsGrid{
	width: 100%;
	box-sizing: border-box;
	padding: 12px;
	border-radius: 6px;
	background: rgba(240, 241, 255, 0.08);
	border: 1px solid rgba(240, 241, 255, 0.12);
}

.appPropertySurface .propertyGrid{
	width: 100%;
	box-sizing: border-box;
}

.appPropertySurface table.tableProCustomer,
.appPropertySurface .tableProCustomer,
.appPropertySurface table.gaugesTable,
.appPropertySurface .tableImmoInventory,
.appPropertySurface .tableImmoInvoice{
	border-color: rgba(42, 46, 56, 0.12);
}

.appPropertySurface tr.tableImmoInventory,
.appPropertySurface tr.tableImmoInvoice{
	background: var(--white-color);
}

.appPropertySurface tr.tableImmoInventory:nth-child(even),
.appPropertySurface tr.tableImmoInvoice:nth-child(even){
	background: var(--whitesmoke-color);
}

.appPropertySurface tr.tableImmoInventory th,
.appPropertySurface tr.tableImmoInvoice th,
.appPropertySurface tr.tableImmoInvoice td{
	padding: 11px 10px;
	border-bottom: 1px solid var(--platinum-border-color);
	text-align: left;
}

.appPropertySurface .modal .propertyFormRow,
.appPropertySurface .modal .invoiceTopNav,
.appPropertySurface .modal .invoiceFieldsGrid{
	background: transparent;
	border-color: rgba(42, 46, 56, 0.12);
}

.appPropertySurface #invoices.invoiceModal{
	max-width: min(1100px, calc(100vw - 20px)) !important;
	border-radius: 8px;
	background: var(--white-color);
}

.appPropertySurface #invoices .modal-header{
	position: sticky;
	top: 0;
	z-index: 5;
	background: var(--white-color);
	border-bottom: 1px solid var(--platinum-border-color);
}

.appPropertySurface #invoices .modal_body{
	padding: 14px;
}

.invoiceModalTabs{
	gap: 10px;
	padding: 12px 14px 8px;
	background: transparent;
	border-bottom: 0;
	box-sizing: border-box;
}

.invoiceModalTabs .invoicesDispButton{
	margin: 0 !important;
	min-height: 0;
	padding: 12px;
	border: 1px solid var(--dark-color) !important;
	border-radius: 3px !important;
	background: var(--dark-color) !important;
	color: var(--light-color) !important;
	box-shadow: none !important;
	font-size: 15px;
	font-weight: bold;
	line-height: normal;
	text-align: center;
	white-space: normal;
	transition: background-color 0.5s ease-out, color 0.5s ease-out, border-color 0.5s ease-out;
}

.invoiceModalTabs .invoicesDispButton:hover{
	background: var(--light-color) !important;
	color: var(--dark-color) !important;
}

.invoiceModalTabs .invoicesDispButton.is-active{
	background: var(--light-color) !important;
	color: var(--dark-color) !important;
	border-color: var(--dark-color) !important;
}

.invoiceModalSection{
	width: 100%;
	box-sizing: border-box;
	margin: 0 auto 12px auto;
}

.invoicePanel,
.invoiceDetailsPanel,
.invoiceGenerateControls,
.invoiceGeneratedDetails,
.invoiceLibraryPanel{
	border: 1px solid var(--platinum-border-color);
	border-radius: 8px;
	background: var(--whitesmoke-color);
	box-sizing: border-box;
}

.invoiceModeBar{
	border: 0 !important;
	background: transparent !important;
	padding: 12px !important;
	gap: 12px !important;
	align-items: center !important;
	justify-items: center !important;
}

.invoiceModeBar > *,
.invoiceFieldsGrid > .invoiceReinvoiceSwitch,
.invoiceFieldsGrid > .invoiceChargesSwitch{
	justify-self: center;
	align-self: center;
}

.invoiceSwitchCard{
	position: relative;
	display: flex !important;
	align-items: center;
	justify-content: center;
	min-height: 45px;
	padding: 6px 10px;
	border-radius: 4px;
	background: var(--white-color);
	border: 1px solid var(--platinum-border-color);
	box-sizing: border-box;
}

.invoiceSwitchCard > label{
	position: absolute;
	top: 0;
	left: 0.6em;
	transform: translateY(-50%);
	background: var(--white-color);
	padding: 0 0.25em;
	font-size: 0.8em;
	color: #555;
	pointer-events: none;
}

.invoiceSwitchCard p{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: fit-content;
	max-width: 100%;
	margin: 0;
	font-weight: 400;
	color: var(--dark-color);
}

.invoiceSwitchCard strong{
	font-weight: 400;
	white-space: nowrap;
}

.invoiceSwitchCard span{
	white-space: nowrap;
}

.invoiceReinvoiceSwitch p,
.invoiceChargesSwitch p{
	justify-content: center;
	gap: 10px;
}

.invoiceReinvoiceSwitch,
.invoiceChargesSwitch{
	border-color: var(--dark-color);
	background: var(--light-color);
}

.invoiceReinvoiceSwitch > label,
.invoiceChargesSwitch > label{
	background: var(--light-color);
}

.invoiceChargesSwitch.is-disabled{
	opacity: 0.58;
}

.invoiceChargesSwitch.is-disabled,
.invoiceChargesSwitch.is-disabled .switch,
.invoiceChargesSwitch.is-disabled span{
	cursor: not-allowed;
}

#sectionUploadInvoice.invoicePanel,
#sectionGenerateInvoice.invoicePanel{
	padding: 12px;
}

.invoiceFindPanel{
	width: 100%;
	gap: 10px;
	padding: 10px;
	border-radius: 6px;
	background: var(--white-color);
	border: 1px solid var(--platinum-border-color);
	box-sizing: border-box;
	grid-template-columns: 1fr !important;
	align-content: start !important;
}

.invoiceUploadDropzone{
	padding: 16px;
	border-radius: 8px;
	background: var(--white-color);
	border: 1px dashed rgba(42, 46, 56, 0.28);
	box-sizing: border-box;
	cursor: pointer;
	display: flex !important;
	flex-direction: column;
	align-items: stretch;
	position: relative;
	overflow-y: auto !important;
	overflow-x: hidden !important;
	transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

.invoiceUploadDropzone p{
	margin: 0;
}

.invoiceUploadDropzone:hover,
.invoiceUploadDropzone:focus-within{
	border-color: rgba(166, 202, 255, 0.62);
	background: rgba(166, 202, 255, 0.06);
	box-shadow: inset 0 0 0 1px rgba(166, 202, 255, 0.16);
}

.invoiceUploadDropzone .parent-div,
.invoiceUploadDropzone .parent-div *{
	cursor: pointer;
}

.invoiceUploadDropzone .standaloneUploadPreview{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	height: auto !important;
	min-height: 0;
	flex: 1 1 220px;
	margin: 0 auto;
	overflow-y: auto !important;
	overflow-x: hidden !important;
}

#sectionUpload.invoiceUploadDropzone > p{
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 3;
	transform: translate(-50%, -76px);
	pointer-events: none;
}

#displayBill{
	border-radius: 6px;
	object-fit: contain;
}

#sectionUpload.invoiceUploadDropzone .standaloneUploadPreview{
	max-width: none !important;
	max-height: none !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	transform: none !important;
}

#sectionUpload.invoiceUploadDropzone.has-upload-file .standaloneUploadPreview{
	align-items: stretch !important;
	justify-content: stretch !important;
	place-items: stretch !important;
}

#sectionUpload.invoiceUploadDropzone #displayBill:not([src$="add.png"]),
#sectionUpload.invoiceUploadDropzone #displayPdfBill{
	width: 100% !important;
	height: auto !important;
	max-width: none !important;
	max-height: none !important;
}

#sectionUpload.invoiceUploadDropzone #displayBill:not([src$="add.png"]){
	object-fit: contain !important;
	position: relative !important;
	z-index: 1 !important;
}

#sectionUpload.invoiceUploadDropzone #displayPdfBill{
	height: 100% !important;
	min-height: 220px;
	overflow-y: auto !important;
	overflow-x: hidden !important;
}

#sectionUpload.invoiceUploadDropzone #displayPdfBill embed{
	width: 100% !important;
	height: 100% !important;
	min-height: 220px;
	display: block;
	border: 0;
}

#sectionUpload.invoiceUploadDropzone.has-upload-file > p{
	display: none !important;
}

#sectionUpload.invoiceUploadDropzone.has-upload-file .standaloneUploadPreview::after{
	left: auto !important;
	right: 14px !important;
	top: 14px !important;
	width: 34px !important;
	height: 34px !important;
	font-size: 26px !important;
	z-index: 9 !important;
	transform: none !important;
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.28) !important;
}

#sectionUpload.invoiceUploadDropzone > article{
	display: none !important;
}

.invoiceDetailsPanel,
.invoiceGenerateControls{
	padding: 12px !important;
	gap: 12px !important;
}

.invoiceDetailsPanel .fieldset-input,
.invoiceGenerateControls .fieldset-input{
	box-sizing: border-box;
}

.invoiceGeneratedDetails{
	width: 100%;
	padding: 12px;
	margin-top: 12px;
}

.invoiceTableWrap{
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	background: var(--white-color);
	border: 1px solid var(--platinum-border-color);
	border-radius: 6px;
	box-sizing: border-box;
}

.invoiceTenantTableWrap,
.invoiceCommentsWrap{
	margin-top: 18px;
}

.invoiceCommentsWrap{
	margin-bottom: 12px;
}

.invoiceTableWrap table{
	border-top: 0 !important;
	margin-top: 0 !important;
}

.invoiceTableWrap th{
	background: var(--whitesmoke-color);
}

.invoiceTableWrap th,
.invoiceTableWrap td{
	border-bottom: 1px solid var(--platinum-border-color);
}

.invoiceCustomerTable{
	min-width: 900px;
	table-layout: fixed !important;
}

.invoiceProductTable{
	min-width: 900px;
	table-layout: fixed !important;
}

.invoiceProductTable th:nth-child(1),
.invoiceProductTable td:nth-child(1){ width: 14% !important; }

.invoiceProductTable th:nth-child(2),
.invoiceProductTable td:nth-child(2){ width: 23% !important; }

.invoiceProductTable th:nth-child(3),
.invoiceProductTable td:nth-child(3){ width: 12% !important; }

.invoiceProductTable th:nth-child(4),
.invoiceProductTable td:nth-child(4){ width: 8% !important; }

.invoiceProductTable th:nth-child(5),
.invoiceProductTable td:nth-child(5){ width: 8% !important; }

.invoiceProductTable th:nth-child(6),
.invoiceProductTable td:nth-child(6){ width: 12% !important; }

.invoiceProductTable th:nth-child(7),
.invoiceProductTable td:nth-child(7){ width: 8% !important; }

.invoiceProductTable th:nth-child(8),
.invoiceProductTable td:nth-child(8){ width: 15% !important; }

.invoiceCustomerTable th:nth-child(1),
.invoiceCustomerTable td:nth-child(1),
#tableBodyInvoiceCustomer td:nth-child(1){
	width: 7% !important;
	text-align: center;
}

.invoiceCustomerTable th:nth-child(2),
.invoiceCustomerTable td:nth-child(2),
#tableBodyInvoiceCustomer td:nth-child(2){
	width: 28% !important;
}

.invoiceCustomerTable th:nth-child(3),
.invoiceCustomerTable td:nth-child(3),
#tableBodyInvoiceCustomer td:nth-child(3){
	width: 24% !important;
}

.invoiceCustomerTable th:nth-child(4),
.invoiceCustomerTable td:nth-child(4),
#tableBodyInvoiceCustomer td:nth-child(4){
	width: 8% !important;
	text-align: center;
}

.invoiceCustomerTable th:nth-child(5),
.invoiceCustomerTable td:nth-child(5),
#tableBodyInvoiceCustomer td:nth-child(5){
	width: 33% !important;
}

#tableBodyInvoiceCustomer .customerIdentity{
	white-space: normal !important;
	line-height: 1.18;
}

#tableBodyInvoiceCustomer .customerPrice .fieldset-input{
	width: min(92%, 190px) !important;
	min-width: 0 !important;
	max-width: 190px !important;
}

#tableBodyInvoiceCustomer .customerPrice,
#tableBodyInvoiceCustomer .invoiceTenantInfoCell{
	padding-top: 16px !important;
	padding-bottom: 10px !important;
	vertical-align: middle;
}

#tableBodyInvoiceCustomer .customerPrice .formText,
#tableBodyInvoiceCustomer .tenantReguDelay{
	height: 38px;
	padding: 8px 10px;
	font-size: 14px;
}

#tableBodyInvoiceCustomer .fieldset-input label{
	font-size: 0.72em;
	line-height: 1.05;
	white-space: nowrap;
}

#tableBodyInvoiceCustomer .invoiceTenantSelectCell .formText,
#tableBodyInvoiceCustomer .invoiceTenantPaidCell .formText{
	width: 22px !important;
	height: 22px;
	margin: 0;
	padding: 0;
}

#tableBodyInvoiceCustomer .invoiceTenantInfoCell > .tenantRegu,
#tableBodyInvoiceCustomer .invoiceTenantInfoCell > .tenantPayMethod{
	grid-template-columns: minmax(92px, 0.8fr) minmax(96px, 1fr) !important;
	gap: 8px;
	align-items: center !important;
}

#tableBodyInvoiceCustomer .invoiceTenantInfoCell .fieldset-input.tenantRegu,
#tableBodyInvoiceCustomer .invoiceTenantInfoCell .fieldset-input.tenantPayMethod{
	width: 100% !important;
	min-width: 0 !important;
}

#tableBodyInvoiceCustomer .tenantReguDate{
	display: block;
	text-align: center;
	line-height: 38px;
	white-space: nowrap;
}

.existingInvoice{
	border-radius: 6px;
	border: 1px solid transparent;
	transition: border-color 140ms ease, background-color 140ms ease, transform 140ms ease;
}

.existingInvoice:hover{
	background: var(--whitesmoke-color);
	border-color: var(--platinum-border-color);
	transform: translateY(-1px);
}

.existingInvoice.is-selected{
	background: var(--light-color);
	border-color: var(--dark-color);
}

.invoiceFindRow{
	display: grid;
	grid-template-columns: minmax(120px, 1.4fr) minmax(90px, 0.8fr) minmax(90px, 0.8fr);
	align-items: center;
	gap: 12px;
	width: 100%;
	min-height: 48px;
	background: var(--white-color);
	box-sizing: border-box;
	text-align: left;
}

.invoiceFindName,
.invoiceFindDate,
.invoiceFindAmount{
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.invoiceFindDate,
.invoiceFindAmount{
	text-align: right;
}

.invoiceSubmitBar{
	bottom: 0;
	z-index: 3;
	display: flex;
	justify-content: center;
	padding: 10px 0 2px;
}

.invoiceSubmitBar #invoiceMainButton{
	min-width: 180px;
	min-height: 42px;
	margin: 0 auto !important;
}

.invoiceLibraryPanel{
	width: 100% !important;
	padding: 12px !important;
}

.invoiceLibraryCustomerSelect{
	gap: 10px;
	padding: 4px 0;
}

.invoiceLibraryActions{
	gap: 10px;
	padding-bottom: 4px;
}

.invoiceLibraryActions .button{
	min-height: 40px;
}

.globalInvoiceModal .modal_body{
	padding: 14px;
}

.globalInvoiceForm{
	display: grid;
	gap: 12px;
}

.globalInvoiceModeBar{
	margin-bottom: 12px;
}

.globalInvoiceSourceBar{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-bottom: 12px;
}

body.immoPage #invoices .globalInvoiceModeBar,
body.immoPage #invoices .globalInvoiceSourceBar{
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 10px !important;
	width: 100% !important;
	padding: 0 !important;
	margin: 0 0 12px !important;
	box-sizing: border-box !important;
	background: transparent !important;
}

body.immoPage #invoices .globalInvoiceModeButton,
body.immoPage #invoices .globalInvoiceSourceButton{
	width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
}

.globalInvoiceSourceButton{
	min-height: 44px;
	border: 1px solid var(--platinum-border-color);
	border-radius: 8px;
	background: var(--whitesmoke-color);
	color: var(--dark-color);
	font-weight: 800;
	cursor: pointer;
}

.globalInvoiceSourceButton.is-active{
	border-color: rgba(94, 126, 172, 0.72);
	background: rgba(94, 126, 172, 0.16);
}

.globalInvoicePanel{
	border: 1px solid var(--platinum-border-color);
	border-radius: 8px;
	background: var(--whitesmoke-color);
	padding: 12px;
	box-sizing: border-box;
}

.globalInvoiceGrid{
	display: grid;
	grid-template-columns: repeat(3, minmax(180px, 1fr));
	gap: 12px;
	align-items: start;
}

.globalInvoiceGrid .fieldset-input{
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
}

.globalInvoiceUploadLayout{
	display: grid;
	grid-template-columns: minmax(220px, 0.8fr) minmax(260px, 1.2fr);
	gap: 14px;
	align-items: stretch;
}

.globalInvoiceUploadDropzone{
	min-height: 222px;
	height: auto !important;
	margin: 0 !important;
}

.globalInvoiceUploadFields{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	align-content: start;
}

.globalInvoiceUploadFields .fieldset-input{
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
}

.globalInvoiceUploadFields .globalInvoiceReinvoiceChoice{
	grid-column: 1 / -1;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
}

.globalInvoicePanelTitle{
	font-weight: 700;
	margin-bottom: 10px;
	color: var(--dark-color);
	text-align: left;
}

.invoiceCompliancePanel{
	width: 100%;
}

.invoiceComplianceGrid{
	display: grid;
	grid-template-columns: repeat(4, minmax(150px, 1fr));
	gap: 12px;
	align-items: stretch;
}

.invoiceComplianceGrid > .fieldset-input,
.invoiceComplianceGrid > .invoiceSwitchCard{
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	box-sizing: border-box;
}

.invoiceComplianceSwitch{
	min-height: 45px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(94, 126, 172, 0.08);
	border-color: rgba(94, 126, 172, 0.38);
}

.invoiceComplianceSwitch > label{
	background: #34363d !important;
}

.invoiceComplianceDelivery{
	grid-column: 1 / -1;
}

.globalInvoiceChoices,
.globalInvoiceComments{
	display: grid;
	gap: 8px;
}

.globalInvoiceChoices{
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.globalInvoicePropertyChoice,
.globalInvoiceComments label{
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px;
	border: 1px solid var(--platinum-border-color);
	border-radius: 6px;
	background: var(--white-color);
	box-sizing: border-box;
	cursor: pointer;
	text-align: left;
}

.globalInvoiceCommentAdd{
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr);
	gap: 10px;
	align-items: stretch;
	margin-top: 10px;
}

.globalInvoiceCommentAdd .buttonSmall{
	width: 56px;
	min-width: 56px;
	height: 80px;
	padding: 0;
	border: 0;
	background: var(--dark-color);
	font-size: 22px;
	font-weight: 700;
}

.globalInvoiceManager{
	padding: 12px;
	border: 1px solid var(--platinum-border-color);
	border-radius: 8px;
	background: var(--whitesmoke-color);
	box-sizing: border-box;
}

.globalInvoiceManagerTop{
	display: grid;
	grid-template-columns: minmax(220px, 1fr) auto;
	gap: 12px;
	align-items: center;
	margin-bottom: 12px;
}

#globalInvoiceManagerCount,
.globalInvoiceManagerCount{
	color: var(--gray-color);
	white-space: nowrap;
}

.globalInvoiceManagerList{
	display: grid;
	gap: 8px;
	max-height: 430px;
	overflow: auto;
}

.globalInvoiceManagerRow{
	display: grid;
	grid-template-columns: minmax(140px, 1.3fr) minmax(180px, 1.2fr) minmax(110px, 0.8fr) auto;
	gap: 12px;
	align-items: center;
	padding: 10px;
	border: 1px solid var(--platinum-border-color);
	border-radius: 6px;
	background: var(--white-color);
	text-align: left;
	box-sizing: border-box;
}

.globalInvoiceManagerMain,
.globalInvoiceManagerMeta,
.globalInvoiceManagerAmount{
	display: grid;
	gap: 2px;
	min-width: 0;
}

.globalInvoiceManagerMain strong,
.globalInvoiceManagerMain span,
.globalInvoiceManagerMeta span,
.globalInvoiceManagerAmount strong,
.globalInvoiceManagerAmount span{
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.globalInvoiceManagerMain span,
.globalInvoiceManagerMeta span,
.globalInvoiceManagerAmount span,
.globalInvoiceManagerEmpty{
	color: var(--gray-color);
}

.globalInvoiceManagerActions{
	display: flex;
	gap: 8px;
	justify-content: flex-end;
}

.globalInvoiceManagerActions .buttonSmall{
	min-width: 54px;
	margin: 0;
	text-align: center;
	text-decoration: none;
}

@media (max-width: 700px){
	.appPropertyHeader .appHeaderSection{
		gap: 10px;
	}

	.appPropertyHeader #title{
		max-width: calc(100vw - 104px);
		font-size: clamp(1.45rem, 8vw, 2.35rem);
	}

	.appPropertyHeaderActions #contractAddButton{
		width: 44px;
		height: 44px;
		min-height: 44px;
		padding: 0;
		font-size: 0;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.appImmoHeaderActions #financialDashboardButton{
		width: 44px;
		height: 44px;
		min-height: 44px;
		padding: 0;
		font-size: 0;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		background: transparent;
		border: 0;
		border-radius: 10px;
		box-shadow: none;
	}

	.appImmoHeaderActions #financialDashboardButton::before{
		display: none;
		content: none;
	}

	.financialDashboardLabel{
		display: none;
	}

	.financialDashboardMobileIcon{
		display: block;
		width: 38px;
		height: 38px;
		object-fit: contain;
	}

	.appPropertySurface .propertyFormRow,
	.appPropertySurface .invoiceTopNav,
	.appPropertySurface .invoiceFieldsGrid{
		padding: 10px;
	}

	.appPropertySurface .topMainButton,
	.appPropertySurface .contractsDispButton,
	.appPropertySurface .gaugesDispButton,
	.appPropertySurface .itemsDispButton{
		min-height: 40px;
		font-size: 0.78rem;
		padding: 8px;
	}

	.appPropertySurface #invoices .modal_body{
		padding: 10px;
	}

	.invoiceModalTabs{
		gap: 8px;
		padding: 10px;
	}

	.invoiceModalTabs .invoicesDispButton{
		min-height: 38px;
		font-size: 0.82rem;
		line-height: 1.15;
		padding: 8px 7px;
		overflow-wrap: anywhere;
	}

	#sectionUploadInvoice.invoicePanel,
	#sectionGenerateInvoice.invoicePanel,
	.invoiceGeneratedDetails,
	.invoiceLibraryPanel{
		padding: 10px !important;
	}

	.invoiceSwitchCard{
		min-height: 45px;
		padding: 6px 8px;
	}

	.invoiceSwitchCard p{
		gap: 8px;
		font-size: 0.84rem;
	}

	.invoiceModeBar > *,
	.invoiceFieldsGrid > .invoiceReinvoiceSwitch,
	.invoiceFieldsGrid > .invoiceChargesSwitch{
		width: 90% !important;
		max-width: 243.5px !important;
		min-width: 150px !important;
		justify-self: center !important;
		align-self: center !important;
	}

	.invoiceReinvoiceSwitch p,
	.invoiceChargesSwitch p{
		justify-content: center;
	}

	.invoiceUploadDropzone{
		height: auto !important;
		min-height: 230px;
	}

	.globalInvoiceSourceBar{
		gap: 8px;
	}

	.globalInvoiceUploadLayout{
		grid-template-columns: 1fr;
	}

	.globalInvoiceUploadFields{
		grid-template-columns: 1fr;
	}

	.invoiceFindPanel{
		height: auto !important;
		max-height: 320px;
		grid-template-columns: 1fr !important;
	}

	.invoiceFindRow{
		grid-template-columns: minmax(0, 1fr) auto auto;
		gap: 8px;
		min-height: 44px;
		font-size: 0.9rem;
	}

	body.immoPage #invoices .invoiceCommentsWrap{
		overflow: visible !important;
		padding: 12px !important;
		border-radius: 8px !important;
		background: rgba(230, 231, 245, 0.055) !important;
		box-sizing: border-box !important;
	}

	body.immoPage #invoices .invoiceCommentsWrap::before{
		content: "Commentaires";
		display: block;
		margin: 0 0 10px;
		text-align: left;
		color: var(--light-color);
		font-size: 16px;
		font-weight: 700;
		line-height: normal;
	}

	body.immoPage #invoices #invoiceCommentsTable,
	body.immoPage #invoices #invoiceCommentsTable tbody,
	body.immoPage #invoices #invoiceCommentsTable tfoot{
		display: block !important;
		width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
	}

	body.immoPage #invoices #invoiceCommentsTable thead{
		display: none !important;
	}

	body.immoPage #invoices #invoiceCommentsTable tbody{
		display: grid !important;
		gap: 9px !important;
	}

	body.immoPage #invoices #invoiceCommentsTable tr{
		display: flex !important;
		align-items: center !important;
		gap: 10px !important;
		width: 100% !important;
		min-width: 0 !important;
		padding: 10px !important;
		border: 1px solid rgba(230, 231, 245, 0.14) !important;
		border-radius: 7px !important;
		background: rgba(230, 231, 245, 0.055) !important;
		box-sizing: border-box !important;
	}

	body.immoPage #invoices #invoiceCommentsTable td{
		display: flex !important;
		align-items: center !important;
		width: auto !important;
		min-width: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		box-sizing: border-box !important;
	}

	body.immoPage #invoices #invoiceCommentsTable tbody td:first-child{
		flex: 0 0 auto !important;
		align-self: stretch !important;
		align-items: center !important;
		justify-content: center !important;
		min-height: 100% !important;
	}

	body.immoPage #invoices #invoiceCommentsTable td:last-child{
		flex: 1 1 auto !important;
		justify-content: flex-start !important;
		text-align: left !important;
	}

	body.immoPage #invoices #invoiceCommentsTable input[type="checkbox"]{
		-webkit-appearance: checkbox !important;
		appearance: auto !important;
		width: 13px !important;
		height: 13px !important;
		min-width: 13px !important;
		min-height: 13px !important;
		margin: 0 !important;
		padding: 0 !important;
		flex: 0 0 13px !important;
		border-radius: 2px !important;
		box-shadow: none !important;
	}

	body.immoPage #invoices #invoiceCommentsTable label{
		display: block !important;
		width: 100% !important;
		min-width: 0 !important;
		color: rgba(246, 247, 255, 0.95) !important;
		font-size: 16px !important;
		font-weight: 400 !important;
		line-height: normal !important;
		white-space: normal !important;
		overflow-wrap: anywhere !important;
		word-break: normal !important;
	}

	body.immoPage #invoices #invoiceCommentsTable q{
		font-weight: 400 !important;
		line-height: normal !important;
	}

	body.immoPage #invoices #invoiceCommentsTable q::before,
	body.immoPage #invoices #invoiceCommentsTable q::after{
		content: none !important;
	}

	body.immoPage #invoices #invoiceCommentsTable tfoot{
		margin-top: 9px !important;
	}

	body.immoPage #invoices #invoiceCommentsTable tfoot tr{
		display: grid !important;
		grid-template-columns: 56px minmax(0, 1fr) !important;
		align-items: stretch !important;
		min-height: 80px !important;
		gap: 10px !important;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
	}

	body.immoPage #invoices #invoiceCommentsTable tfoot td:first-child,
	body.immoPage #invoices #invoiceCommentsTable tfoot td:last-child{
		min-height: 80px !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-sizing: border-box !important;
	}

	body.immoPage #invoices #invoiceCommentsTable tfoot td:first-child{
		position: relative !important;
		width: 56px !important;
		justify-content: center !important;
		border: 1px solid rgba(230, 231, 245, 0.16) !important;
		border-radius: 7px !important;
		background: rgba(230, 231, 245, 0.10) !important;
	}

	body.immoPage #invoices #invoiceCommentsTable tfoot td:last-child{
		padding: 0 !important;
	}

	body.immoPage #invoices #invoiceCommentsTable tfoot img{
		width: 100% !important;
		height: 100% !important;
		opacity: 0 !important;
	}

	body.immoPage #invoices #invoiceCommentsTable tfoot td:first-child::before{
		content: "+" !important;
		position: absolute !important;
		inset: 0 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		color: var(--light-color) !important;
		font-size: 22px !important;
		font-weight: 700 !important;
		line-height: normal !important;
		pointer-events: none !important;
	}

	body.immoPage #invoices #invoiceCommentsTable tfoot .formText{
		width: 100% !important;
		height: 80px !important;
		margin: 0 !important;
		padding: 10px !important;
		border: 1px solid rgba(230, 231, 245, 0.22) !important;
		border-radius: 7px !important;
		background: rgba(230, 231, 245, 0.08) !important;
		box-shadow: none !important;
		font-size: 15px !important;
		font-weight: 700 !important;
		line-height: normal !important;
	}

	.invoiceLibraryCustomerSelect,
	.invoiceLibraryActions{
		flex-wrap: wrap !important;
	}

	.invoiceLibraryActions .button{
		width: auto !important;
		flex: 1 1 140px;
		margin: 0 !important;
	}

	.globalInvoiceModal .modal_body{
		padding: 10px;
	}

	.globalInvoicePanel{
		padding: 10px;
	}

	.globalInvoiceGrid{
		grid-template-columns: 1fr 1fr;
		gap: 10px;
	}

	.invoiceComplianceGrid{
		grid-template-columns: 1fr 1fr;
		gap: 10px;
	}

	.globalInvoiceChoices{
		grid-template-columns: 1fr;
	}

	.globalInvoiceManagerTop,
	.globalInvoiceManagerRow{
		grid-template-columns: 1fr;
	}

	.globalInvoiceManagerActions{
		justify-content: flex-start;
	}
}

@media (max-width: 420px){
	.globalInvoiceGrid,
	.invoiceComplianceGrid{
		grid-template-columns: 1fr;
	}
}

@media (max-width: 500px){
	.propertyFormRow{
		display: flex;
		flex-wrap: wrap;
		align-items: flex-end;
		width: 100%;
		gap: 10px;
	}

	.propertyFormRow .fieldset-input{
		width: 100% !important;
		max-width: none !important;
	}

	/* Dropdown: on évite que ça dépasse */
	.dropdown-content{
		width: 100%;
	}
}

.footer{
	width: 100%;
	color: var(--light-color);
	bottom: 0;
	display: flex;
	position: fixed;
}

.footerIndex{
	width: 100%;
	color: var(--light-color);
}

#footer{
	bottom: 0;
	padding-top: 10px;
	height: 50px;
	color: var(--light-color);
	margin: auto;
	width: 100%;
	max-width: 1600px;
	bottom: 0px;
	display: flex;
	justify-content: space-evenly;
	align-items: center;
}

/* Conteneur pour gérer le positionnement relatif */
.fieldset-input {
	position: relative;
	display: inline-block;
	/* ajustez la largeur comme vous le souhaitez */
	/*width: 260px;*/
}

/* Votre input stylisé façon fieldset */
.fieldset-input input {
	border: 1px solid var(--dark-color);
	border-radius: 4px;
	/* on augmente le padding-top pour laisser de la place au label */
	padding: 1.2em 0.6em 0.6em;
	width: 100%;
	font-size: 1em;
	box-sizing: border-box;
	/* optionnel : ombre intérieure pour le relief */
	box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
}

/* Harmonisation iOS : input date/heure comme les autres champs */
.fieldset-input input[type="date"],
.fieldset-input input[type="datetime-local"],
.fieldset-input input[type="time"]{
	-webkit-appearance: none;
	appearance: none;

	background-color: var(--light-color);
	border: 1px solid var(--dark-color);
	border-radius: 4px;

	height: 45px;
	line-height: 45px;

	font-family: Roboto, Accidental Presidency, Arial;
	font-weight: bold;
	font-size: 15px;

	/* même “fieldset padding” que tes autres champs */
	padding: 1.2em 0.6em 0.6em;
	box-sizing: border-box;

	/* iOS met parfois une ombre/relief */
	box-shadow: none;
}

/* iOS : aligne correctement la valeur affichée */
.fieldset-input input[type="date"]::-webkit-date-and-time-value,
.fieldset-input input[type="datetime-local"]::-webkit-date-and-time-value,
.fieldset-input input[type="time"]::-webkit-date-and-time-value{
	text-align: center; /* mets left si tu préfères */
	line-height: normal;
}


/* Le “legend” placé au-dessus de l’input */
.fieldset-input label {
	position: absolute;
	top: 0; 
	left: 0.6em;
	transform: translateY(-50%);
	background: var(--light-color);        /* pour masquer la bordure derrière */
	padding: 0 0.25em;         /* petit espace autour du texte */
	font-size: 0.8em;          /* plus petit que l’input */
	color: #555;
	pointer-events: none;      /* le clic passe à l’input */
}

.thumbnail-carousel img{
	display:inline-block;
	width:60px;
	height:auto;
	margin:0 5px;
	cursor:pointer;
	border:2px solid transparent;
}
.thumbnail-carousel img.selected{
border-color:#007BFF;
}

/* The switch - the box around the slider */
.switch {
	position: relative;
	display: inline-block;
	width: 40px;
	height: 20px;
  }
  
  /* Hide default HTML checkbox */
  .switch input {
	opacity: 0;
	width: 0;
	height: 0;
  }
  
  /* The slider */
  .slider {
	position: absolute;
	cursor: pointer;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #ccc;
	-webkit-transition: .4s;
	transition: .4s;
  }
  
  .slider:before {
	position: absolute;
	content: "";
	height: 16px;
	width: 16px;
	left: 2px;
	bottom: 2px;
	background-color: white;
	-webkit-transition: .4s;
	transition: .4s;
  }
  
  input:checked + .slider {
	background-color: var(--azure-color);
  }
  
  input:focus + .slider {
	box-shadow: 0 0 1px var(--azure-color);
  }
  
  input:checked + .slider:before {
	-webkit-transform: translateX(20px);
	-ms-transform: translateX(20px);
	transform: translateX(20px);
  }
  
  /* Rounded sliders */
  .slider.round {
	border-radius: 20px;
  }
  
  .slider.round:before {
	border-radius: 50%;
  }

body.immoPage .contractSwitchChoice:has(.switch),
body.immoPage .invoiceSwitchCard p:has(.switch),
body.immoPage .settingsSwitchField:has(.switch),
body.immoPage .settingsStructureToggle:has(.switch){
	position: relative !important;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
	align-items: center !important;
	gap: 0 !important;
	width: 100% !important;
	min-width: 180px !important;
	min-height: 40px !important;
	margin: 0 !important;
	padding: 5px !important;
	border: 1px solid rgba(230, 231, 245, 0.14) !important;
	border-radius: 999px !important;
	background: rgba(230, 231, 245, 0.05) !important;
	box-shadow: inset 0 0 0 1px rgba(230, 231, 245, 0.04) !important;
	box-sizing: border-box !important;
	overflow: hidden !important;
}

body.immoPage .contractSwitchChoice:has(.switch) > span,
body.immoPage .invoiceSwitchCard p:has(.switch) > span,
body.immoPage .settingsSwitchField:has(.switch) > span,
body.immoPage .settingsStructureToggle:has(.switch) > span{
	position: relative;
	z-index: 2;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 0 !important;
	min-height: 30px !important;
	padding: 5px 10px !important;
	border: 1px solid transparent !important;
	border-radius: 999px !important;
	color: rgba(230, 231, 245, 0.72) !important;
	font-size: 0.86rem !important;
	font-weight: 950 !important;
	line-height: 1.05 !important;
	text-align: center !important;
	white-space: nowrap !important;
	box-sizing: border-box !important;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease !important;
}

body.immoPage .contractSwitchChoice:has(.switch) > span:first-child,
body.immoPage .invoiceSwitchCard p:has(.switch) > span:first-child,
body.immoPage .settingsSwitchField:has(.switch) > span:first-child,
body.immoPage .settingsStructureToggle:has(.switch) > span:first-child,
body.immoPage .contractSwitchChoice:has(.switch input:checked) > span:last-child,
body.immoPage .invoiceSwitchCard p:has(.switch input:checked) > span:last-child,
body.immoPage .settingsSwitchField:has(.switch input:checked) > span:last-child,
body.immoPage .settingsStructureToggle:has(.switch input:checked) > span:last-child{
	border-color: rgba(169, 205, 253, 0.34) !important;
	background: rgba(169, 205, 253, 0.13) !important;
	color: var(--white-color) !important;
	box-shadow: inset 0 0 0 1px rgba(169, 205, 253, 0.18) !important;
}

body.immoPage .contractSwitchChoice:has(.switch input:checked) > span:first-child,
body.immoPage .invoiceSwitchCard p:has(.switch input:checked) > span:first-child,
body.immoPage .settingsSwitchField:has(.switch input:checked) > span:first-child,
body.immoPage .settingsStructureToggle:has(.switch input:checked) > span:first-child{
	border-color: transparent !important;
	background: transparent !important;
	color: rgba(230, 231, 245, 0.72) !important;
	box-shadow: none !important;
}

body.immoPage .contractSwitchChoice:has(.switch) .switch,
body.immoPage .invoiceSwitchCard p:has(.switch) .switch,
body.immoPage .settingsSwitchField:has(.switch) .switch,
body.immoPage .settingsStructureToggle:has(.switch) .switch{
	position: absolute !important;
	inset: 0 !important;
	z-index: 5 !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	opacity: 1 !important;
	cursor: pointer !important;
}

body.immoPage .contractSwitchChoice:has(.switch) .switch input,
body.immoPage .invoiceSwitchCard p:has(.switch) .switch input,
body.immoPage .settingsSwitchField:has(.switch) .switch input,
body.immoPage .settingsStructureToggle:has(.switch) .switch input{
	position: absolute !important;
	inset: 0 !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	opacity: 0 !important;
	cursor: pointer !important;
}

body.immoPage .contractSwitchChoice:has(.switch) .slider,
body.immoPage .invoiceSwitchCard p:has(.switch) .slider,
body.immoPage .settingsSwitchField:has(.switch) .slider,
body.immoPage .settingsStructureToggle:has(.switch) .slider{
	display: none !important;
}

body.immoPage #properties .propertiesDispButton.is-active,
body.immoPage #customers .customersDispButton.is-active,
body.immoPage #documents .documentsDispButton.is-active,
body.immoPage #gauges .gaugesDispButton.is-active,
body.immoPage #items .itemsDispButton.is-active,
body.immoPage #invoices .invoicesDispButton.is-active,
body.immoPage #invoices .globalInvoiceModeButton.is-active,
body.immoPage #addContract .contractsDispButton.is-active{
	border-color: rgba(169, 205, 253, 0.34) !important;
	background: rgba(169, 205, 253, 0.13) !important;
	background-color: rgba(169, 205, 253, 0.13) !important;
	background-image: none !important;
	color: var(--white-color) !important;
	box-shadow: none !important;
}

body.immoPage #invoices .globalInvoiceModeBar.modalTabBar{
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	width: calc(100% - 48px) !important;
	max-width: none !important;
	margin: 10px auto 12px !important;
	gap: 6px !important;
	padding: 6px !important;
	border: 1px solid rgba(230, 231, 245, 0.18) !important;
	border-radius: 8px !important;
	background: rgba(230, 231, 245, 0.05) !important;
	box-sizing: border-box !important;
}

body.immoPage #invoices .globalInvoiceModeBar.modalTabBar .globalInvoiceModeButton{
	height: 40px !important;
	min-height: 40px !important;
	max-height: 40px !important;
	padding: 5px 10px !important;
	border: 1px solid rgba(230, 231, 245, 0.32) !important;
	border-radius: 6px !important;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	color: rgba(230, 231, 245, 0.72) !important;
	box-shadow: none !important;
	font-size: 0.82rem !important;
	font-weight: 950 !important;
	line-height: 1.05 !important;
	transform: none !important;
}

body.immoPage #invoices .globalInvoiceModeBar.modalTabBar .globalInvoiceModeButton.is-active{
	border-color: rgba(169, 205, 253, 0.34) !important;
	background: rgba(169, 205, 253, 0.13) !important;
	background-color: rgba(169, 205, 253, 0.13) !important;
	background-image: none !important;
	color: var(--white-color) !important;
	box-shadow: none !important;
}

@media (max-width: 700px){
	body.immoPage #invoices .globalInvoiceModeBar.modalTabBar{
		width: calc(100% - 24px) !important;
		margin: 8px auto 10px !important;
	}
}

body.immoPage #properties .propertiesDispButton.is-active,
body.immoPage #customers .customersDispButton.is-active,
body.immoPage #documents .documentsDispButton.is-active,
body.immoPage #gauges .gaugesDispButton.is-active,
body.immoPage #items .itemsDispButton.is-active,
body.immoPage #invoices .invoicesDispButton.is-active,
body.immoPage #invoices .globalInvoiceModeButton.is-active,
body.immoPage #addContract .contractsDispButton.is-active{
	border-color: rgba(169, 205, 253, 0.34) !important;
	background: rgba(169, 205, 253, 0.13) !important;
	background-color: rgba(169, 205, 253, 0.13) !important;
	background-image: none !important;
	color: var(--white-color) !important;
	box-shadow: none !important;
}

/* Final modal tab normalization: dashboard-style compact segmented buttons. */
body.immoPage .modal:not(.settingsModal) .modalTabBar,
body.immoPage .modal:not(.settingsModal) .invoiceModalTabs,
body.immoPage .modal:not(.settingsModal) > div[style*="justify-content: space-around"],
body.immoPage .modal:not(.settingsModal) .modal_body > div[style*="justify-content: space-around"]{
	width: calc(100% - 48px) !important;
	max-width: none !important;
	margin: 10px auto 12px !important;
	gap: 6px !important;
	padding: 6px !important;
	border: 1px solid rgba(230, 231, 245, 0.18) !important;
	border-radius: 8px !important;
	background: rgba(230, 231, 245, 0.05) !important;
	box-sizing: border-box !important;
}

body.immoPage .modal:not(.settingsModal) .modalTabBar .button,
body.immoPage .modal:not(.settingsModal) .invoiceModalTabs .button,
body.immoPage .modal:not(.settingsModal) > div[style*="justify-content: space-around"] .button,
body.immoPage .modal:not(.settingsModal) .modal_body > div[style*="justify-content: space-around"] .button{
	height: 40px !important;
	min-height: 40px !important;
	max-height: 40px !important;
	padding: 5px 10px !important;
	border: 1px solid rgba(230, 231, 245, 0.28) !important;
	border-radius: 6px !important;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	color: rgba(230, 231, 245, 0.72) !important;
	box-shadow: none !important;
	font-size: 0.82rem !important;
	font-weight: 950 !important;
	line-height: 1.05 !important;
	transform: none !important;
}

body.immoPage .modal:not(.settingsModal) .modalTabBar .button.is-active,
body.immoPage .modal:not(.settingsModal) .invoiceModalTabs .button.is-active,
body.immoPage .modal:not(.settingsModal) .documentsDispButton.is-active,
body.immoPage .modal:not(.settingsModal) .gaugesDispButton.is-active,
body.immoPage .modal:not(.settingsModal) .itemsDispButton.is-active,
body.immoPage .modal:not(.settingsModal) .contractsDispButton.is-active,
body.immoPage .modal:not(.settingsModal) .propertiesDispButton.is-active,
body.immoPage .modal:not(.settingsModal) .customersDispButton.is-active,
body.immoPage .modal:not(.settingsModal) .globalInvoiceModeButton.is-active,
body.immoPage .modal:not(.settingsModal) .invoicesDispButton.is-active{
	border-color: rgba(169, 205, 253, 0.34) !important;
	background: rgba(169, 205, 253, 0.13) !important;
	background-color: rgba(169, 205, 253, 0.13) !important;
	background-image: none !important;
	color: var(--white-color) !important;
	box-shadow: none !important;
}

body.immoPage #addContract .contractModalTabBar .button{
	height: 40px !important;
	min-height: 40px !important;
	max-height: 40px !important;
	padding: 5px 6px !important;
	font-size: 0.78rem !important;
	line-height: 1.05 !important;
}

@media (max-width: 700px){
	body.immoPage .modal:not(.settingsModal) .modalTabBar,
	body.immoPage .modal:not(.settingsModal) .invoiceModalTabs,
	body.immoPage .modal:not(.settingsModal) > div[style*="justify-content: space-around"],
	body.immoPage .modal:not(.settingsModal) .modal_body > div[style*="justify-content: space-around"]{
		width: calc(100% - 24px) !important;
		margin: 8px auto 10px !important;
	}
}

body.immoPage .modal:not(.settingsModal) .modalTabBar,
body.immoPage .modal:not(.settingsModal) .invoiceModalTabs,
body.immoPage .modal:not(.settingsModal) > div[style*="justify-content: space-around"],
body.immoPage .modal:not(.settingsModal) .modal_body > div[style*="justify-content: space-around"]{
	gap: 6px !important;
	padding: 6px !important;
	border-radius: 8px !important;
}

body.immoPage .modal:not(.settingsModal) .modalTabBar .button,
body.immoPage .modal:not(.settingsModal) .invoiceModalTabs .button,
body.immoPage .modal:not(.settingsModal) > div[style*="justify-content: space-around"] .button,
body.immoPage .modal:not(.settingsModal) .modal_body > div[style*="justify-content: space-around"] .button{
	height: 40px !important;
	min-height: 40px !important;
	max-height: 40px !important;
	padding: 5px 10px !important;
	font-size: 0.82rem !important;
	line-height: 1.05 !important;
}

body.immoPage #addContract .contractModalTabBar .button{
	height: 40px !important;
	min-height: 40px !important;
	max-height: 40px !important;
	padding: 5px 6px !important;
	font-size: 0.78rem !important;
	line-height: 1.05 !important;
}

body.immoPage .modal:not(.settingsModal) .modalTabBar,
body.immoPage .modal:not(.settingsModal) .invoiceModalTabs,
body.immoPage .modal:not(.settingsModal) > div[style*="justify-content: space-around"],
body.immoPage .modal:not(.settingsModal) .modal_body > div[style*="justify-content: space-around"]{
	width: calc(100% - 48px) !important;
	max-width: none !important;
	margin: 10px auto 12px !important;
}

body.immoPage .modal:not(.settingsModal) .modalTabBar .button,
body.immoPage .modal:not(.settingsModal) .invoiceModalTabs .button,
body.immoPage .modal:not(.settingsModal) > div[style*="justify-content: space-around"] .button,
body.immoPage .modal:not(.settingsModal) .modal_body > div[style*="justify-content: space-around"] .button{
	border-color: rgba(230, 231, 245, 0.18) !important;
}

body.immoPage .modal:not(.settingsModal) .modalTabBar .button.is-active,
body.immoPage .modal:not(.settingsModal) .invoiceModalTabs .button.is-active,
body.immoPage .modal:not(.settingsModal) .documentsDispButton.is-active,
body.immoPage .modal:not(.settingsModal) .gaugesDispButton.is-active,
body.immoPage .modal:not(.settingsModal) .itemsDispButton.is-active,
body.immoPage .modal:not(.settingsModal) .contractsDispButton.is-active,
body.immoPage .modal:not(.settingsModal) .propertiesDispButton.is-active,
body.immoPage .modal:not(.settingsModal) .customersDispButton.is-active,
body.immoPage .modal:not(.settingsModal) .globalInvoiceModeButton.is-active,
body.immoPage .modal:not(.settingsModal) .invoicesDispButton.is-active{
	border-color: rgba(169, 205, 253, 0.34) !important;
}

@media (max-width: 700px){
	body.immoPage .modal:not(.settingsModal) .modalTabBar,
	body.immoPage .modal:not(.settingsModal) .invoiceModalTabs,
	body.immoPage .modal:not(.settingsModal) > div[style*="justify-content: space-around"],
	body.immoPage .modal:not(.settingsModal) .modal_body > div[style*="justify-content: space-around"]{
		width: calc(100% - 24px) !important;
		margin: 8px auto 10px !important;
	}
}

body.immoPage .modal:not(.settingsModal) .modalTabBar,
body.immoPage .modal:not(.settingsModal) .invoiceModalTabs,
body.immoPage .modal:not(.settingsModal) > div[style*="justify-content: space-around"],
body.immoPage .modal:not(.settingsModal) .modal_body > div[style*="justify-content: space-around"]{
	gap: 6px !important;
	padding: 6px !important;
	border-radius: 8px !important;
}

body.immoPage .modal:not(.settingsModal) .modalTabBar .button,
body.immoPage .modal:not(.settingsModal) .invoiceModalTabs .button,
body.immoPage .modal:not(.settingsModal) > div[style*="justify-content: space-around"] .button,
body.immoPage .modal:not(.settingsModal) .modal_body > div[style*="justify-content: space-around"] .button{
	height: 40px !important;
	min-height: 40px !important;
	max-height: 40px !important;
	padding: 5px 10px !important;
	font-size: 0.82rem !important;
	line-height: 1.05 !important;
}

body.immoPage #addContract .contractModalTabBar .button{
	height: 40px !important;
	min-height: 40px !important;
	max-height: 40px !important;
	padding: 5px 6px !important;
	font-size: 0.78rem !important;
	line-height: 1.05 !important;
}

  #sectionUploadInvoice, #sectionGenerateInvoice {
    transition: opacity 0.25s ease;
}

.companyCard {
	grid-template-columns: minmax(0, 3fr) minmax(0, 7fr);
	cursor: pointer;
	transition: transform .08s ease;
	display: grid; 
	width: 100%; 
	justify-items: stretch; 
	align-items: start; 
	border-bottom: solid 1px var(--dark-color);
	padding: 1dvh 0;
}

.companyCard .compagnies_logo{
	display: flex;
	align-items: center;
	justify-content: center;
}

.companyCard .compagnies_info{
	min-width: 0;
}

.companyCard:hover {
	background: var(--gray-color);
	color: var(--light-color);
}
.companyCard.is-current {
	outline: 1px solid var(--green-color);
	background: #e9fff3;
}
.companyCard.is-loading {
	opacity: .6;
	pointer-events: none;
}

.companyCard > div{ 
	min-width: 0;
  }

/* ============================
   Landing page index responsive
   ============================ */

/* Mise en forme générale du main */
#main_landing {
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
}

/* ============================
   Héros titres index (haut & bas)
   ============================ */

/* Sections de type "Une nouvelle façon..." / "Une vie simplifiée..." */
section[style*="height: 60dvh"] {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center;
    padding: 0 6vw;
}

/* Le conteneur interne */
section[style*="height: 60dvh"] > div {
    width: min(70%, 900px);
    margin: 0 auto;
}

/* Le H2 : texte fluide */
section[style*="height: 60dvh"] h2 {
    margin: 0;
    line-height: 1.2;
    color: var(--light-color);
    /* taille fluide : minimum 2.2rem, max 4rem, adapté à la largeur */
    font-size: clamp(2.2rem, 4vw + 0.5rem, 4rem);
}

/* Animation d'apparition au scroll */
.heroTitle {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.heroTitleVisible {
    opacity: 1;
    transform: translateY(0);
}

/* --------- MOBILE / TABLETTE --------- */
@media (max-width: 900px) {
    /* Section image + pièces */

    #images {
        /* on casse tes 1% 69% 29% 1% pour passer en une seule colonne */
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-template-rows: auto auto !important;
        max-height: none !important;
        row-gap: 3dvh;
        padding: 3dvh 4vw;
    }

    /* On masque les colonnes "spacer" gauche/droite */
    #images > article:first-child,
    #images > article:last-child {
        display: none !important;
    }

    /* Image principale : full largeur, hauteur auto */
    #images img {
        max-width: 100% !important;
        height: auto !important;
    }

    /* Colonne avec les pièces (ton 3e <article>) */
    #images > article:nth-child(3) {
        align-content: stretch !important;
        row-gap: 1.5dvh;
    }

    #images > article:nth-child(3) > div {
        /* on garde les 3 colonnes mais plus souples et un peu plus d'air */
        grid-template-columns: 1fr 1fr 1fr !important;
        font-size: 14px;
        padding: 1.5dvh 0 !important;
    }

    /* Héros texte haut/bas : on réduit un peu la hauteur sur mobile */
    section[style*="height: 60dvh"] {
        height: 45dvh !important;
        padding: 0 6vw;
    }

    section[style*="height: 60dvh"] h2 {
        font-size: 4dvh !important;
    }
}


/* Bouton "Nous essayer gratuitement" */
#prices > .button {
    display: block;
    margin: 0 auto 4dvh auto !important;
    width: min(60%, 380px);
    padding: 1.6dvh 0 !important;
    border-radius: 15px;
    border: 1px solid var(--dark-color);
    text-align: center;
    box-shadow: 0px 0px 5px 2px rgba(24, 24, 24, 0.8);
}

/* Conteneur des offres payantes : carrousel horizontal */
#paidOptions {
    /* on écrase le display: grid inline */
    display: flex !important;
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 2rem;
    color: var(--light-color);
    padding: 3dvh 5vw 5dvh 5vw !important;

    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
}

/* Optionnel : cacher la scrollbar visuelle sur WebKit */
#paidOptions::-webkit-scrollbar {
    display: none;
}

/* Cartes Basic / Premium / Partage */
#paidOptions > div {
    background-color: var(--dark-color);
    border-radius: 18px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.25);
    padding: 3dvh 2.5dvw !important;

    display: flex !important;
    flex-direction: column;
    justify-content: space-between;
    text-align: left;

    min-width: 260px;
    max-width: 360px;

    /* base pour mobile : carte large, carrousel visible */
    flex: 0 0 85%;
    scroll-snap-align: center;
}

/* Titres des cartes */
#paidOptions h3 {
    margin: 0 0 1.6dvh 0;
    text-align: center;
    font-weight: bold;
    font-size: clamp(1.6rem, 1.1vw + 1rem, 2.1rem);
}

/* Listes internes : style plus fin */
#paidOptions span {
    margin: 0 0 2dvh 0;
}

#paidOptions li {
    list-style: none;
    position: relative;
    padding: 0.4dvh 0 0.4dvh 1.8em;
    font-size: 16px;
    line-height: 1.4;
}

/* Bouton dans les cartes */
#paidOptions .button {
    align-self: center;
    margin: 2dvh 0 0 0 !important;
}

/* ========== Tablette / Desktop moyen ========== */
@media (min-width: 700px) and (max-width: 1199px) {
    #paidOptions {
        padding-left: 6vw !important;
        padding-right: 6vw !important;
    }

    #paidOptions > div {
        flex: 0 0 55%;   /* 2 cartes visibles, petite partie de la troisième */
        max-width: 420px;
    }
}

/* ========== Desktop large ========== */
@media (min-width: 1200px) {
    #paidOptions {
        justify-content: center;
        padding-left: 8vw !important;
        padding-right: 8vw !important;
    }

    #paidOptions > div {
        flex: 0 0 30%;
        max-width: 360px;
    }
}

@keyframes searchPulseAnim{
	0%   { opacity: .55; transform: scale(.995); }
	100% { opacity: 1;   transform: scale(1); }
  }
  
.searchPulse{
	animation: searchPulseAnim 160ms ease;
	will-change: transform, opacity;
}


/* Grille alignée Totaux <-> Pièces */
.propertyGrid{
	display: grid;
    gap: 12px;
    align-items: center;
    justify-items: start;
    justify-content: start;
    grid-template-columns: repeat(1, 1fr 1fr 1fr 1fr 1fr 1fr 1fr);
	background-color: var(--darkblue-color);
	border-radius: 10px;
    padding: 1.5vh 1vw 0.5vh 1vw;
	margin: 1vh auto;
}

.invoiceTopNav{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 10px;
	align-items: center;
	justify-items: stretch;   /* <-- important : chaque colonne prend toute la largeur */
}

/* tous les enfants remplissent leur colonne */
.invoiceTopNav > *{
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
}

/* si tu veux garder une largeur max “propre” */
.invoiceTopNav .fieldset-input{
	max-width: 320px;         /* ajuste si tu veux */
}

.invoiceFieldsGrid{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
	justify-items: center;
	align-items: center;
}

@media (max-width: 1000px){
	.propertyGrid{
		grid-template-columns: repeat(1, 1fr 1fr 1fr 1fr);
	}
}

.contractListSectionActionMenu{
	border-bottom: var(--platinum-color) 1px solid; 
	display: inline-flex; 
	width: 100%; 
	justify-content: space-around; 
	align-items: center; 
	flex-direction: row;
}

@media (max-width: 700px){
	.btnIconMobile{
		background-color: transparent !important; /* enlève var(--red-color) inline */
		background: transparent !important;       /* au cas où */
		border: none !important;
		box-shadow: none !important;
		width: 42px !important; /* override width inline (ex 90%) */
		height: 42px;
		padding: 0;
		border-radius: 10px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		font-size: 0;
		line-height: 0;
	}

	.btnIconMobile::before{
		content: "";
		width: 28px;
		height: 28px;
		display: block;
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;
	}

	/* 1 icône par action */
	.btnIconMobile.iconInvoiceView::before{
		background-image: url("../images/invoiceView.png");
	}
	.btnIconMobile.iconInvoiceUpdate::before{
		background-image: url("../images/invoiceUpdate.png");
	}
	.btnIconMobile.iconInvoiceSend::before{
		background-image: url("../images/invoiceSend.png");
	}
	.btnIconMobile.iconInvoiceReimburse::before{
		background-image: url("../images/invoiceReimburse.png");
	}
	.btnIconMobile.iconInvoicePaid::before{
		background-image: url("../images/invoicePaid.png");
	}
	.btnIconMobile.iconInvoiceCancel::before{
		background-image: url("../images/invoiceCancel.png");
	}
	.btnIconMobile.iconInvoiceDownload::before{
		background-image: url("../images/invoiceDownload.png");
	}
	.btnIconMobile.iconInvoiceStatus::before{
		background-image: url("../images/einvoice_status/not_transmitted.svg");
	}
	.btnIconMobile.iconActions::before{
		background-image: url("../images/actions.png");
	}
	.btnIconMobile.iconContractAdd::before{
		width: 43px;
		height: 43px;
		background-image: url("../images/contract.png");
	}
	.btnIconMobile.iconCustomersDocsResend::before{
		background-image: url("../images/resend.png");
	}
	.btnIconMobile.iconCustomersDocsRenew::before{
		background-image: url("../images/doc_renew.png");
	}
	.btnIconMobile.iconCustomersDocsOk::before{
		background-image: url("../images/doc_ok.png");
	}
	.btnIconMobile.iconCustomersDelete::before{
		background-image: url("../images/cancel.png");
	}

	/* Force le bouton "Renvoyer" à rester caché même si le CSS mobile affiche les .btnIconMobile */
	.docTenantResendBtn{
		display: none !important;
	}

	.docTenantResendBtn.isVisible{
		display: inline-flex !important; /* ou block si tu préfères */
	}

	.docTenantResendBtn[hidden]{
		display: none !important;
	}

	.btnIconMobile.iconCustomerDocsStatusResend::before{
		background-image: url("../images/doc_status_pending.png");
	}
	.btnIconMobile.iconCustomerDocsStatusChecked::before{
		background-image: url("../images/verified.png");
	}
	.btnIconMobile.iconCustomerDocsStatusCheck::before{
		background-image: url("../images/doc_status_checking.png");
	}
	.btnIconMobile.iconCustomerDocsStatusWait::before{
		background-image: url("../images/doc_status_pending.png");
	}

	.btnIconMobile.iconAddSysItems::before{
		background-image: url("../images/items_add.png");
	}

	/* .btnIconMobile.iconAddDocs::before{
		width: 43px;
		height: 43px;
		background-image: url("../images/doc_add.png");
	}
	.btnIconMobile.iconMyDocs::before{
		width: 43px;
		height: 43px;
		background-image: url("../images/doc_folder.png");
	}

	.btnIconMobile.iconAddItems::before{
		width: 43px;
		height: 43px;
		background-image: url("../images/items_add.png");
	}
	.btnIconMobile.iconMyItems::before{
		width: 43px;
		height: 43px;
		background-image: url("../images/items_inventory.png");
	} */



	.btnIconMobile.iconContractCreate::before{
		width: 43px;
		height: 43px;
		background-image: url("../images/contract_creation.png");
	}
	.btnIconMobile.iconContractPrepared::before{
		width: 43px;
		height: 43px;
		background-image: url("../images/contract_preparation.png");
	}
	.btnIconMobile.iconContractRunning::before{
		width: 43px;
		height: 43px;
		background-image: url("../images/contract_running.png");
	}
	.btnIconMobile.iconContractArchive::before{
		width: 43px;
		height: 43px;
		background-image: url("../images/contract_archive.png");
	}

	.link, .contractSectionContentMain, .contractListSectionActionMenu, .spanPaidDate, .fromBoldToNormal{
		font-weight: normal;
	}

	/* ===== Top actions : garder les grosses images + label dessous ===== */
	.topActionMobile{
		display: inline-flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 4px;
		padding: 0 !important;              /* on garde ton look actuel */
		background-color: var(--white-color) !important; /* respecte ton inline */
		border-radius: 12px;               /* plus “bouton” en mobile */
	}

	/* IMPORTANT : on ne force PAS une petite taille, on garde la taille d’avant */
	.topActionMobile .actionsImages{
		display: block;
		width: 52px;   /* ajuste ici si tu veux (ex: 56px) */
		height: 52px;
	}

	/* label */
	.topActionMobile::after{
		content: attr(data-label);
		display: block;
		font-size: 12px;
		line-height: 1;
		font-weight: 700;
		color: var(--grey-color);
		padding-bottom: 2px;
	}

	@media (max-width: 600px){
		.topActionMobile[data-mobile-label]::after{
			content: attr(data-mobile-label) !important;
		}
	}

	.topActionsRow{
		display: flex;
		justify-content: space-between; /* répartit sans gros trous */
		align-items: flex-start;
		gap: 6px;                       /* petit écart minimal */
	}
	
	.topActionsRow .topActionMobile{
		flex: 1 1 0;
		margin: 0 !important;           /* annule tes margin inline (0 3px) */
		padding: 0 !important;
		min-width: 0;                   /* permet de réduire */
	}
	
	/* icônes un poil plus compactes si besoin */
	.topActionsRow .topActionMobile .actionsImages{
		width: 48px;
		height: 48px;
	}
	
	/* label : évite qu’il élargisse trop */
	.topActionsRow .topActionMobile::after{
		font-size: 11px;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis; /* si trop long */
		max-width: 70px;         /* ajuste */
		text-align: center;
	}

	/* ===== Lock label sous l'icône (mobile) ===== */
	.btnIconMobile.btnIconMobileLabel{
		display: inline-flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 2px;
		height: auto !important;
		overflow: visible !important;
	}

	/* icône */
	.btnIconMobile.btnIconMobileLabel::before{
		display: block !important;
	}

	/* label */
	.btnIconMobile.btnIconMobileLabel::after{
		content: attr(data-label) !important;  /* <- crucial */
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;

		font-size: 10px !important;            /* <- crucial */
		line-height: 1.1 !important;
		/* font-weight: 700; */
		text-align: center;
		white-space: nowrap;
		color: var(--grey-color) !important;
	}

	.iconCustomerDocsStatusResend.btnIconMobileLabel::after,
	.iconCustomerDocsStatusChecked.btnIconMobileLabel::after,
	.iconCustomerDocsStatusCheck.btnIconMobileLabel::after,
	.iconCustomerDocsStatusWait.btnIconMobileLabel::after{
		margin-top: 3px;
		max-width: 76px;
		white-space: normal;
		color: var(--dark-color) !important;
	}

	.contractsDispButton.btnIconMobile.btnIconMobileLabel::after{
		font-size: 12.5px !important;
		line-height: 1.15 !important;
	}

	.btnIconMobileLabelBlock{
		display: inline-flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 2px;
		height: auto !important;
		overflow: visible !important;
	}
	
	/* label sous le contenu */
	.btnIconMobileLabelBlock::after{
		content: attr(data-label) !important;
		display: block !important;
		visibility: visible !important;
		opacity: 0.9 !important;
	
		font-size: 10px !important;
		line-height: 1.1 !important;
		/* font-weight: 700; */
		text-align: center;
		white-space: nowrap;
		color: var(--white-color) !important;
		margin: 0 !important; /* le gap gère l’espace */
	}

	/* ===== Grilles 3 colonnes -> 1 colonne en mobile ===== */

	.invoiceTopNav{
		grid-template-columns: 1fr 1fr !important;
		row-gap: 12px;
		column-gap: 10px;
		justify-items: stretch !important;
	}
	
	/* Nom facture full width */
	.invoiceTopNav > :nth-child(1){
		grid-column: 1 / -1;
	}
	
	/* si trop étroit : tout en 1 colonne */
	@media (max-width: 380px){
		.invoiceTopNav{
			grid-template-columns: 1fr !important;
		}
		.invoiceTopNav > :nth-child(1){
			grid-column: auto;
		}
	}

	.invoiceGrid3{
		grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
		row-gap: 12px;
		column-gap: 10px;
		justify-items: stretch !important;
		row-gap: 10px;
	}

	.invoiceGrid3 > div{
		display: flex;
		justify-content: center;
	}

	/* chaque bloc prend toute la largeur */
	.invoiceGrid3 > *{
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
	}

	/* tes fieldset-input en plein large */
	.invoiceGrid3 .fieldset-input{
		width: 100% !important;
	}

	/* ===== Tables : scroll horizontal (safe) ===== */
	.invoiceTableWrap{
		width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		border-top: solid 1px var(--dark-color);
	}

	.invoiceTable{
		min-width: 800px;              /* force un vrai tableau lisible */
		width: 100%;
		border-collapse: collapse;
		table-layout: auto !important; /* évite l’écrasement */
	}

	.invoiceCustomerTable{
		min-width: 900px;
		table-layout: fixed !important;
	}

	.invoiceCustomerTable th:nth-child(1),
	.invoiceCustomerTable td:nth-child(1){
		width: 7% !important;
	}

	.invoiceCustomerTable th:nth-child(2),
	.invoiceCustomerTable td:nth-child(2){
		width: 28% !important;
	}

	.invoiceCustomerTable th:nth-child(3),
	.invoiceCustomerTable td:nth-child(3){
		width: 24% !important;
	}

	.invoiceCustomerTable th:nth-child(4),
	.invoiceCustomerTable td:nth-child(4){
		width: 8% !important;
	}

	.invoiceCustomerTable th:nth-child(5),
	.invoiceCustomerTable td:nth-child(5){
		width: 33% !important;
	}

	.invoiceCustomerTable .customerIdentity{
		white-space: normal !important;
		line-height: 1.18;
	}

	.invoiceCustomerTable .customerPrice .fieldset-input{
		width: min(92%, 190px) !important;
		min-width: 0 !important;
		max-width: 190px !important;
	}

	.invoiceCustomerTable .customerPrice,
	.invoiceCustomerTable .invoiceTenantInfoCell{
		padding-top: 16px !important;
		padding-bottom: 10px !important;
		vertical-align: middle;
	}

	.invoiceCustomerTable .customerPrice .formText,
	.invoiceCustomerTable .tenantReguDelay{
		height: 38px;
		padding: 8px 10px;
		font-size: 14px;
	}

	.invoiceCustomerTable .fieldset-input label{
		font-size: 0.72em;
		line-height: 1.05;
		white-space: nowrap;
	}

	.invoiceTenantSelectCell,
	.invoiceTenantPaidCell{
		text-align: center;
	}

	.invoiceTenantSelectCell .formText,
	.invoiceTenantPaidCell .formText{
		height: 20px;
		margin: 0;
	}

	.invoiceTenantInfoCell > .tenantRegu,
	.invoiceTenantInfoCell > .tenantPayMethod{
		grid-template-columns: minmax(92px, 0.8fr) minmax(96px, 1fr) !important;
		gap: 8px;
		align-items: center !important;
	}

	.invoiceTenantInfoCell .fieldset-input.tenantRegu,
	.invoiceTenantInfoCell .fieldset-input.tenantPayMethod{
		width: 100% !important;
		min-width: 0 !important;
	}

	.invoiceTenantInfoCell .tenantReguDate{
		display: block;
		text-align: center;
		line-height: 38px;
		white-space: nowrap;
	}

	/* Option : cellules un peu plus compactes */
	.invoiceTable th,
	.invoiceTable td{
		padding: 6px 8px !important;
		white-space: nowrap;
	}

	/* Image preview : un peu plus petit sur mobile */
	#displayBill{
		max-width: 120px !important;
		max-height: 120px !important;
	}

	/* par défaut : 2 colonnes en mobile “large” */
	.invoiceFieldsGrid{
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 10px;
		justify-items: stretch !important;
	}

	.invoiceFieldsGrid > *{
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
	}

	/* très petit écran / portrait serré : 1 colonne */
	@media (max-width: 420px){
		.invoiceFieldsGrid{
			grid-template-columns: 1fr !important;
		}
	}

	.invoiceFieldsGrid > .invoiceReinvoiceSwitch,
	.invoiceFieldsGrid > .invoiceChargesSwitch{
		grid-column: 1 / -1;
		display: flex;
		justify-content: center;
	}
	
	/* mobile “large” : 2 colonnes */
	/* ---------- MOBILE LARGE (>=420px) ---------- */
	@media (min-width: 420px){

		/* ===== 1) Grille principale des champs facture ===== */
		.invoiceFieldsGrid{
			grid-template-columns: 1fr 1fr !important;
			grid-template-areas:
				"supplier product"
				"amount   vat"
				"number   number"
				"date     status";
			gap: 10px;
			justify-items: stretch !important;
		}

		.invoiceFieldSupplier{ grid-area: supplier; }
		.invoiceFieldProduct { grid-area: product; }
		.invoiceFieldAmount  { grid-area: amount; }
		.invoiceFieldVat     { grid-area: vat; }
		.invoiceFieldNumber  { grid-area: number; }
		.invoiceFieldDate    { grid-area: date; }
		.invoiceFieldStatus  { grid-area: status; }

		/* neutralise tes widths inline */
		.invoiceFieldsGrid > *{
			width: 100% !important;
			max-width: none !important;
			min-width: 0 !important;
		}

		/* ===== 2) Bloc "Date de facturation" + "Produits à inclure" ===== */
		#sectionGenerateInvoice .invoiceGrid3{
			grid-template-columns: 1fr 1fr !important;
			justify-items: stretch !important;
			column-gap: 10px;
			row-gap: 10px;
		}

		#sectionGenerateInvoice .invoiceGrid3 > *{
			width: 100% !important;
			max-width: none !important;
			min-width: 0 !important;
		}

		.invoiceGenDate{ grid-column: 1; }
		.invoiceGenQty { grid-column: 2; }

		/* ===== 3) Bloc paiement (billPayInfo) : moyen + date côte à côte ===== */
		.billPayMethod{ grid-column: 1; }
		.billPayDate{ grid-column: 2; }

		.invoiceFieldsGrid .billPayInfo{
			width: 100% !important;
			max-width: none !important;
			min-width: 0 !important;
		}
	}

	/* ---------- PETIT MOBILE (<420px) ---------- */
	@media (max-width: 419px){

		/* on RESTE en 2 colonnes même sur petit écran */
		.invoiceFieldsGrid{
			grid-template-columns: 1fr 1fr !important;
			grid-template-areas:
				"supplier product"
				"amount   vat"
				"number   number"
				"date     status";
			gap: 8px;
			justify-items: stretch !important;
		}
	
		/* neutralise les widths inline */
		.invoiceFieldsGrid > *{
			width: 100% !important;
			max-width: none !important;
			min-width: 0 !important;
		}
	
		/* champ Numéro en full width */
		.invoiceFieldNumber{ grid-column: 1 / -1; }
	
		.invoiceFieldsGrid > .invoiceReinvoiceSwitch,
		.invoiceFieldsGrid > .invoiceChargesSwitch{
			grid-column: 1 / -1;
		}
	
		/* ===== Génération (Date facturation + Produits) reste côte à côte ===== */
		#sectionGenerateInvoice .invoiceGrid3{
			grid-template-columns: 1fr 1fr !important;
			column-gap: 8px;
			row-gap: 8px;
			justify-items: stretch !important;
		}
	
		#sectionGenerateInvoice .invoiceGrid3 > *{
			width: 100% !important;
			max-width: none !important;
			min-width: 0 !important;
		}
	}

	.invoiceModeBar.invoiceGrid3 > *,
	.invoiceFieldsGrid > .invoiceReinvoiceSwitch,
	.invoiceFieldsGrid > .invoiceChargesSwitch{
		width: 90% !important;
		max-width: 243.5px !important;
		min-width: 150px !important;
		justify-self: center !important;
		align-self: center !important;
	}

	.invoiceModeBar.invoiceGrid3{
		justify-items: center !important;
		align-items: center !important;
	}

	.subpropToggleClick{
		display: flex;
		align-items: center;
		gap: 6px;
		min-width: 0;
	}

	/* Seul le texte ellipsera */
	.subpropToggleText{
		flex: 1 1 auto;
		min-width: 0;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	/* La flèche ne bouge jamais */
	.subpropToggleTriangle{
		flex: 0 0 auto;
	}
}

.inputOk{
	box-shadow: 0 0 0 2px var(--green-color);
}

.inputKo{
	box-shadow: 0 0 0 2px var(--red-color);
	background: var(--pink-color);
}

/* --- Échéancier preview : compact/expand --- */
.scheduleItem.isHidden{
	display:none;
}

.scheduleList{
	position:relative;
}

.scheduleFade{
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	height:32px;
	pointer-events:none;
	background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,1));
}

.scheduleList{
	display: grid;
	grid-template-columns: 1fr;
	gap: 6px;
}

.scheduleScroll{
	width: 100%;
	max-height: clamp(220px, 45vh, 520px);
	overflow: auto;
	border: 1px solid var(--platinum-border-color);
	border-radius: 8px;
	padding: 6px;
	background: var(--white-color);
}

/* optionnel: un peu plus grand sur grands écrans */
@media (min-width: 900px){
	.scheduleScroll{
		max-height: clamp(260px, 55vh, 680px);
	}
}

/* =========================
Schedule preview: anti overflow
========================= */
#schedulePreview,
#schedulePreview *{
	box-sizing: border-box;
	max-width: 100%;
}

/* le header en flex : autorise le wrap sur petits écrans */
#schedulePreview > div:first-child{
	flex-wrap: wrap;
	gap: 8px;
}

/* zone scroll : jamais plus large que le parent */
#scheduleScroll{
	overflow-x: hidden;     /* important */
	overflow-y: auto;
	min-width: 0;           /* important en flex/grid */
}

/* la grille doit pouvoir rétrécir */
#scheduleList{
	min-width: 0;
	grid-template-columns: 1fr; /* au cas où un inline style saute */
}

/* chaque item doit pouvoir casser ses lignes */
.scheduleItem{
	min-width: 0;
	overflow: hidden;
}

.scheduleItem div,
.scheduleItem span{
	overflow-wrap: anywhere;
	word-break: break-word;
}

.loginBody{
    height: 100vh;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background-color: var(--dark-color);
}

.loginBody .footer{
    position: relative;
    flex: 0 0 auto;
    width: 100%;
    min-height: 64px;
    background-color: var(--dark-color);
}

.loginBody #footer{
    max-width: none;
    min-height: 64px;
    height: auto;
    padding: 0 16px;
    box-sizing: border-box;
}

.loginMain{
    flex: 1 1 auto;
    width: 100%;
    min-height: 0;
    display: grid;
    place-items: center;
    padding: clamp(1rem, 3vh, 2.4rem) 16px;
    box-sizing: border-box;
    overflow: hidden;
    background:
        radial-gradient(circle at 18% 12%, rgba(230,231,245,0.08), transparent 32%),
        var(--dark-color);
}

.loginShell{
    width: min(1040px, 100%);
    max-height: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
    gap: clamp(1.2rem, 4vw, 3rem);
    align-items: center;
    min-height: 0;
}

.loginVisual{
    color: var(--light-color);
}

.loginVisual img{
    width: min(100%, 560px);
    max-height: min(42vh, 420px);
    object-fit: contain;
    display: block;
    filter: drop-shadow(0 24px 42px rgba(0,0,0,0.28));
}

.loginVisual p{
    max-width: 520px;
    margin: 1.2rem 0 0;
    color: var(--light-color);
    font-size: clamp(1.05rem, 2vw, 1.25rem);
    line-height: 1.6;
}

.loginCard{
    background-color: var(--light-color);
    border: 1px solid rgba(255,255,255,0.32);
    border-radius: 4px;
    padding: clamp(1.2rem, 4vw, 2rem);
    width: 100%;
    max-height: 100%;
    overflow: auto;
    box-sizing: border-box;
    box-shadow: 0 22px 42px rgba(0,0,0,0.32);
}

.loginIntro{
    margin-bottom: 1.3rem;
}

.authEyebrow{
    display: inline-flex;
    margin-bottom: 0.75rem;
    color: var(--grey-color);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.loginIntro h1{
    margin: 0;
    color: var(--darkblue-color);
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.05;
}

.loginIntro p{
    margin: 0.8rem 0 0;
    color: var(--grey-color);
    line-height: 1.6;
}

.loginInner,
.authForm{
    display: grid;
    gap: 1rem;
    align-items: stretch;
}

.authField{
    width: 100%;
    max-width: none;
    margin: 0;
    display: grid;
    gap: 0;
    text-align: left;
    color: var(--light-color);
    font-weight: 800;
    position: relative;
}

.authField label,
.authField > span{
    justify-self: start;
    margin: 0 0 -1.05rem 0.85rem;
    padding: 0 0.36rem;
    color: var(--light-color);
    background: #2f3138;
    border-radius: 5px;
    font-size: 0.82rem;
    font-weight: 900;
    line-height: 1.18;
    position: relative;
    z-index: 1;
}

.authField .formText,
.loginField{
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    min-width: 0;
    border-radius: 7px;
    border: 1px solid rgba(230, 231, 245, 0.22);
    background-color: rgba(230, 231, 245, 0.08);
    color: var(--light-color);
}

.authField .formText::placeholder,
.loginField::placeholder{
	color: rgba(230, 231, 245, 0.52);
}

.authField .formText:focus,
.loginField:focus{
	border-color: rgba(166, 204, 255, 0.55);
	background-color: rgba(230, 231, 245, 0.11);
	outline: none;
}

.loginCard .authField{
	gap: 0.35rem;
	color: var(--dark-color);
}

.loginCard .authField label,
.loginCard .authField > span{
	margin: 0;
	padding: 0;
	color: var(--dark-color);
	background: transparent;
	border-radius: 0;
	font-size: 0.9rem;
	line-height: normal;
}

.loginCard .authField .formText,
.loginCard .loginField{
	border-color: rgba(42,44,50,0.24);
	background-color: var(--white-color);
	color: var(--dark-color);
}

.authModal .authField select.formText option,
.authModal .authField select.formText optgroup{
	background-color: #f7f8fc;
	color: #1f232b;
}

.loginCard .authField .formText::placeholder,
.loginCard .loginField::placeholder{
	color: rgba(42, 44, 50, 0.48);
}

.authPasswordStrength,
.authLiveStatus{
	width: 100%;
	min-height: 45px;
	box-sizing: border-box;
	border: 1px solid rgba(230, 231, 245, 0.22);
	border-radius: 7px;
	background: rgba(230, 231, 245, 0.08);
	color: var(--light-color);
	font-weight: 850;
}

.authPasswordStrength{
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-rows: auto 9px;
	align-content: start;
	align-items: center;
	gap: 7px 10px;
	min-height: 60px;
	padding: 9px 10px 12px;
}

.authPasswordStrength span,
.authPasswordStrength strong{
	display: block;
	font-size: 0.78rem;
	font-weight: 900;
	line-height: 1;
}

.authPasswordStrength span{
	grid-column: 1;
	grid-row: 1;
	text-align: left;
}

.authPasswordStrength strong{
	grid-column: 2;
	grid-row: 1;
	color: rgba(230, 231, 245, 0.72);
	text-align: right;
	white-space: nowrap;
}

.authPasswordStrengthTrack{
	grid-column: 1 / -1;
	grid-row: 2;
	height: 9px;
	overflow: hidden;
	border-radius: 999px;
	background: rgba(22, 24, 30, 0.62);
	margin-bottom: 1px;
}

.authPasswordStrengthTrack i{
	display: block;
	width: var(--strength-width, 0%);
	height: 100%;
	border-radius: inherit;
	background: var(--strength-color, rgba(42, 44, 50, 0.24));
	transition: width 180ms ease, background-color 180ms ease;
}

.authLiveStatus{
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10px 14px;
	font-size: 0.86rem;
	line-height: 1.2;
	text-align: center;
}

.authLiveStatus:empty::before{
	content: " ";
}

.authLiveStatus.is-ok{
	border-color: rgba(13, 178, 113, 0.55);
	background: rgba(13, 178, 113, 0.11);
	color: #64efb7;
}

.authLiveStatus.is-error{
	border-color: rgba(220, 53, 69, 0.55);
	background: rgba(220, 53, 69, 0.10);
	color: #ff8895;
}

.authLiveStatus.is-warn{
	border-color: rgba(250, 180, 70, 0.62);
	background: rgba(250, 180, 70, 0.13);
	color: #ffd27d;
}

.loginRemember{
    display: flex;
    gap: 0.55rem;
    align-items: center;
    color: var(--dark-color);
    font-weight: 800;
}

.loginActions{
    width: 100%;
    display: flex;
    gap: 0.8rem;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 0.3rem;
}

.loginLinkBtn{
    color: var(--dark-color);
    background-color: transparent;
    border: none;
    padding: 0;
    font-size: 15px;
    font-weight: 800;
    cursor: pointer;
}

.loginBtn,
.authSubmit{
    min-width: 170px;
    border-radius: 7px;
}

.authSubmit{
	border: 1px solid rgba(230, 231, 245, 0.24);
	background: rgba(230, 231, 245, 0.10);
	color: var(--light-color);
	min-height: 45px;
	box-shadow: none;
}

.authSubmit:hover,
.authSubmit:focus-visible{
	border-color: rgba(166, 204, 255, 0.46);
	background: rgba(230, 231, 245, 0.16);
	color: var(--light-color);
	outline: none;
}

.authModal{
    max-width: 560px;
    width: min(94vw, 560px);
    margin: 0;
    max-height: 88vh;
    overflow: auto;
    color: var(--light-color);
    border: 1px solid rgba(230, 231, 245, 0.18);
    border-radius: 10px;
    background: #2f3138;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.48);
}

.authModalHeader{
    margin-bottom: 0;
    padding: 0.9rem 1rem;
    border-bottom: 1px solid rgba(230, 231, 245, 0.14);
    color: var(--light-color);
    font-size: 1.08rem;
    background: rgba(22, 24, 30, 0.18);
}

.authModal .close-button,
.authModal .modal-header .close-button{
	width: 42px !important;
	height: 42px !important;
	min-width: 42px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 !important;
	border: 1px solid rgba(230, 231, 245, 0.22) !important;
	border-radius: 10px !important;
	background: rgba(230, 231, 245, 0.08) !important;
	color: var(--light-color) !important;
	font-size: 22px !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	box-shadow: none !important;
}

.authModal .modal_body{
    padding: 1.15rem;
}

.authModalLead{
    margin: 0 0 0.3rem;
    color: rgba(230, 231, 245, 0.76);
    line-height: 1.55;
    text-align: left;
}

.authPreSignupNotice{
	margin: 0.55rem 0 0.95rem;
	padding: 0.75rem 0.85rem;
	border: 1px solid rgba(12, 172, 100, 0.32);
	border-radius: 8px;
	background: rgba(12, 172, 100, 0.1);
	color: rgba(230, 231, 245, 0.9);
	font-size: 0.92rem;
	font-weight: 700;
	line-height: 1.45;
}

.authCaptcha{
    display: grid;
    justify-items: center;
    min-width: 0;
    overflow: auto;
}

.authLegal{
    margin: 0;
    color: rgba(230, 231, 245, 0.72);
    font-size: 0.86rem;
    line-height: 1.45;
    text-align: left;
}

.authLegal a{
    color: #a6ccff;
    font-weight: 900;
}

.authSubmit{
    width: 100%;
}

@media (max-width: 760px){
    .loginShell{
        grid-template-columns: 1fr;
    }

    .loginVisual{
        display: none;
    }

    .loginMain{
        min-height: 0;
        padding: clamp(0.8rem, 2vh, 1.4rem) 12px;
    }

    .loginActions{
        align-items: stretch;
    }

    .loginBtn,
    .loginLinkBtn{
        width: 100%;
    }
}

.tenantDocsBody{
	background:
		radial-gradient(circle at 14% 6%, rgba(80, 113, 145, 0.14), transparent 34rem),
		var(--dark-color);
	color: var(--light-color);
	min-height: 100vh;
}

.tenantDocsPage{
	width: min(1180px, calc(100% - 32px));
	margin: 0 auto;
	padding: clamp(1.2rem, 3vw, 2.4rem) 0 2.2rem;
	box-sizing: border-box;
}

.tenantDocsHero{
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(220px, 300px);
	gap: 1rem;
	align-items: end;
	margin-bottom: 1rem;
}

.tenantDocsEyebrow{
	margin: 0 0 0.65rem;
	color: rgba(230, 231, 245, 0.72);
	font-size: 0.78rem;
	font-weight: 900;
	text-transform: uppercase;
}

.tenantDocsHero h1{
	margin: 0;
	color: var(--light-color);
	font-size: clamp(2rem, 4vw, 3.3rem);
	line-height: 1.02;
	letter-spacing: 0;
}

.tenantDocsLead{
	max-width: 680px;
	margin: 0.8rem 0 0;
	color: rgba(230, 231, 245, 0.78);
	font-size: 1rem;
	line-height: 1.6;
}

.tenantDocsTimerCard{
	display: grid;
	gap: 0.35rem;
	padding: 1rem;
	border: 1px solid rgba(230, 231, 245, 0.16);
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.07);
	box-sizing: border-box;
}

.tenantDocsTimerCard span,
.tenantDocsTimerCard em{
	color: rgba(230, 231, 245, 0.72);
	font-size: 0.86rem;
	font-style: normal;
	font-weight: 800;
}

.tenantDocsTimerCard strong{
	color: var(--light-color);
	font-size: 1.5rem;
	line-height: 1.1;
}

.tenantDocsNotice{
	margin: 0 0 1rem;
	padding: 1rem;
	border-radius: 6px;
	border: 1px solid rgba(211, 35, 53, 0.32);
	background: rgba(211, 35, 53, 0.12);
	color: var(--light-color);
}

.tenantDocsNotice strong{
	display: block;
	margin-bottom: 0.5rem;
	color: var(--pink-color);
}

.tenantDocsNotice ul{
	margin: 0;
	padding-left: 1.2rem;
}

.tenantDocsForm{
	display: grid;
	gap: 1rem;
}

.tenantDocsGrid{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 0.85rem;
	padding-bottom: 0.5rem;
}

.tenantDocsCard{
	display: grid;
	grid-template-columns: 94px minmax(0, 1fr);
	gap: 0.9rem;
	align-items: center;
	min-height: 128px;
	padding: 0.8rem;
	border-radius: 6px;
	background: var(--light-color);
	color: var(--dark-color);
	box-sizing: border-box;
	border: 1px solid rgba(255, 255, 255, 0.35);
	box-shadow: 0 16px 28px rgba(0, 0, 0, 0.22);
	transition: border-color 160ms ease, transform 160ms ease;
}

.tenantDocsCard.is-ready{
	border-color: rgba(12, 172, 100, 0.65);
}

.tenantDocsPreview{
	display: grid;
	place-items: center;
	width: 94px;
	height: 94px;
	border-radius: 6px;
	background: var(--white-color);
	border: 1px solid rgba(42, 44, 50, 0.12);
	overflow: hidden;
	position: relative;
	cursor: pointer;
}

.tenantDocsPreview img{
	display: block;
	width: 58px;
	height: 58px;
	object-fit: contain;
}

.tenantDocsPreview::after{
	content: "+";
	position: absolute;
	right: 8px;
	top: 8px;
	z-index: 3;
	width: 26px;
	height: 26px;
	border-radius: 999px;
	display: grid;
	place-items: center;
	background: rgba(230, 231, 245, 0.92);
	color: var(--dark-color);
	font-size: 22px;
	font-weight: 900;
	line-height: 1;
	pointer-events: none;
}

.tenantDocsPreview.is-upload-invalid::after{
	background: rgba(255, 95, 95, 0.95);
	color: #fff;
}

.tenantDocsPdfPreview{
	display: none;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.tenantDocsCardContent{
	min-width: 0;
	display: grid;
	gap: 0.45rem;
}

.tenantDocsCardContent p{
	margin: 0;
	color: var(--darkblue-color);
	font-size: 1rem;
	font-weight: 900;
	line-height: 1.2;
}

.tenantDocsFileName{
	min-height: 18px;
	color: var(--grey-color);
	font-size: 0.84rem;
	font-weight: 800;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.tenantDocsChoose{
	justify-self: start;
	min-width: 112px;
	border-radius: 4px;
	padding: 0.55rem 0.9rem;
}

.tenantDocsFileInput{
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.tenantDocsSubmitBar{
	position: sticky;
	bottom: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.85rem;
	border-radius: 6px;
	background: rgba(42, 44, 50, 0.94);
	border: 1px solid rgba(230, 231, 245, 0.16);
	box-shadow: 0 -12px 28px rgba(0, 0, 0, 0.24);
	z-index: 5;
}

.tenantDocsSubmitBar span{
	color: rgba(230, 231, 245, 0.82);
	font-weight: 900;
}

.tenantDocsSubmit{
	min-width: 220px;
	border-radius: 4px;
	background: var(--light-color);
	color: var(--dark-color);
}

@media (max-width: 760px){
	.tenantDocsPage{
		width: calc(100% - 20px);
		padding-top: 1rem;
	}

	.tenantDocsHero{
		grid-template-columns: 1fr;
	}

	.tenantDocsGrid{
		grid-template-columns: 1fr;
	}

	.tenantDocsSubmitBar{
		align-items: stretch;
		flex-direction: column;
	}

	.tenantDocsSubmit{
		width: 100%;
		min-width: 0;
	}
}

.fileUpload{
	display:flex;
	align-items:center;
	gap:10px;
	width:100%;
	padding:10px 12px;
	border:1px solid var(--platinum-border-color);
	border-radius:10px;
	background: var(--white-color);
	box-sizing:border-box;
}

.fileUploadInput{
	position:absolute;
	left:-9999px;
	width:1px;
	height:1px;
	opacity:0;
}

.fileUploadBtn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:8px 12px;
	border-radius:8px;
	background: var(--dark-color);
	color: var(--light-color);
	cursor:pointer;
	user-select:none;
	white-space:nowrap;
	font-size:14px;
	border:1px solid var(--dark-color);
}

.fileUploadBtn:hover{
	background: var(--grey-color);
	border-color: var(--grey-color);
}

.fileUploadName{
	flex:1;
	min-width:0;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
	color: var(--gray-color);
	font-size:14px;
}

.docItem{
	display:flex;
	align-items:center;
	gap:8px;
	margin: 4px 0;
}

.docItem.docItemDisabled{
	opacity: 0.55;
}

.docItem.docItemDisabled label{
	color: var(--gray-color) !important;
	cursor: not-allowed !important;
}

.docItem.docItemDisabled input{
	cursor: not-allowed;
}

/*Image logo change*/

.logoPicker{
	position: relative;
	width: 120px;
	height: 120px;
	margin: 0 auto;
	border-radius: 6px;
	overflow: hidden;
	background: var(--whitesmoke-color);
	border: 1px solid var(--platinum-border-color);
}

.logoPickerImg{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.logoPickerOverlay{
	position: absolute;
	inset: 0;
	border: 0;
	background: rgba(42,44,50,0);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .15s ease;
}

.logoPicker:hover .logoPickerOverlay{
	background: rgba(42,44,50,0.35);
}

.logoPickerPlus{
	width: 44px;
	height: 44px;
	border-radius: 999px;
	background: rgba(230,231,245,0.9);
	color: var(--dark-color);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 32px;
	line-height: 1;
	font-weight: 700;
}

.logoPickerInput{
	display: none;
}

.logoActions{
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	margin: 12px 0 0 0;
}

.logoNotice{
	margin-top: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
}

.logoNoticeIcon{
	width: 20px;
	margin: 0;
}

.logoNoticeText{
	color: var(--yellow-color);
}

/* Upload previews */
.mwPreview,
.itemsPreview,
.itemsActionsPreview{
	position: relative;
	width: 120px;
	height: 120px;
	margin: 0 auto;
	display: grid;
	place-items: center;
	gap: 0;
	overflow: hidden;
	border-radius: 6px;
	background: var(--whitesmoke-color);
	border: 1px solid var(--platinum-border-color);
}

.mwPreview::after,
.itemsPreview::after,
.itemsActionsPreview::after,
.standaloneUploadPreview::after{
	content: "+";
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 2;
	width: 44px;
	height: 44px;
	border-radius: 999px;
	background: rgba(230,231,245,0.9);
	color: var(--dark-color);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 32px;
	line-height: 1;
	font-weight: 700;
	transform: translate(-50%, -50%);
	pointer-events: none;
}

.mwPreview img,
.itemsPreview img,
.itemsActionsPreview img,
#displayBill,
#displayPhotoSubprop{
	width: 120px !important;
	height: 120px !important;
	max-width: 120px !important;
	max-height: 120px !important;
	display: block;
	object-fit: cover;
	border-radius: 6px;
	background: var(--whitesmoke-color);
	border: 1px solid var(--platinum-border-color);
	box-sizing: border-box;
}

#displayBill,
#displayPhotoSubprop{
	margin: 0 auto;
}

.standaloneUploadPreview{
	position: relative;
	width: 120px;
	height: 120px;
	margin: 0 auto;
	display: grid;
	place-items: center;
	overflow: hidden;
	border-radius: 6px;
	background: var(--whitesmoke-color);
	border: 1px solid var(--platinum-border-color);
	box-sizing: border-box;
}

.mwPdfPreview,
.itemsPdfPreview,
.itemsActionsPdf,
#displayPdfBill{
	width: 120px !important;
	height: 120px !important;
	max-width: 120px !important;
	max-height: 120px !important;
	overflow: hidden;
	border-radius: 6px;
	background: var(--whitesmoke-color);
	border: 1px solid var(--platinum-border-color);
	box-sizing: border-box;
}

.mwPick .button,
.filePick .button,
.itemsActionsPick .button,
#subpropPhotoFormContent .parent-div .button,
#sectionUpload .parent-div .button{
	min-width: 150px;
	padding: 10px 14px;
	border-radius: 6px !important;
	background: var(--dark-color) !important;
	color: var(--light-color) !important;
}


/* 1) Un peu d’espace entre les blocs (vertical) */
.itemsForm{
	display: flex;
	flex-direction: column;
	gap: 14px; /* ajuste 10–20px selon ton goût */
  }
  
  /* 2) Supprimer la border tout en haut (celle du bloc actions) */
  .itemsActions{
	border-top: none !important;
	padding-top: 0 !important;
	margin-top: 0 !important;
  }
  
  /* 3) Textarea pleine largeur de leur bloc */
  .itemsForm textarea.formText{
	width: 100% !important;
	box-sizing: border-box;
	resize: vertical; /* optionnel */
  }
  
  /* 4) Supprimer la border interne du bloc dégâts
	 (tu as des .itemsCard imbriqués dans #itemsDamageBlock) */
  #itemsDamageBlock .itemsCard{
	border: none !important;
	background: transparent;
	padding: 0; /* tu peux laisser si tu veux garder du padding */
  }

  #itemsDamageBlock .itemsDamageFields{
	padding: 0;
	min-width: 0;
	height: 260px;
	min-height: 260px;
	max-height: 260px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 36px;
  }

  #itemsDamageBlock .damageGrid{
	align-items: stretch !important;
  }

  #itemsDamageBlock .itemsDamageFields > .fieldset-input,
  #itemsDamageBlock .itemsDamageFields > .itemsRow{
	margin: 0 !important;
  }

  #itemsDamageBlock .itemsDamageFields > .itemsRow{
	display: block;
  }

  #itemsDamageBlock > .itemsCardTitle{
	display: none !important;
  }

  #itemsDamageBlock .damageValueFull{
	grid-column: 1 / -1;
  }
  #itemsDamageBlock .damageValueFull #itemDegradedValue{
	width: 100% !important;
	box-sizing: border-box;
  }

  .itemsGrid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
  }
  
  .itemsCard {
	border: 1px solid var(--dark-color);
	border-radius: 8px;
	padding: 12px;
	background: rgba(255,255,255,0.02);
	margin: 10px 0; 
  }
  
  .itemsCardTitle {
	font-weight: 700;
	text-align: center;
	margin: 0 0 10px 0;
  }
  
  .itemsRow {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 12px;
	align-items: end;
  }
  
  .itemsField {
	width: 100%;
  }
  
  .itemsPreview {
	display: grid;
	place-items: center;
	gap: 8px;
  }
  
  .itemsPreview img {
	width: 100%;
	max-width: 180px;
	max-height: 180px;
	object-fit: contain;
	border-radius: 6px;
	border: 1px solid rgba(255,255,255,0.15);
  }
  
  .itemsPdfPreview {
	display: none;
	width: 100%;
	max-width: 360px;
	max-height: 360px;
	overflow: hidden;
  }

  .itemsUploadCard{
	position: relative;
	height: 260px !important;
	min-height: 260px;
	max-height: 260px;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: center;
	cursor: pointer;
	overflow: hidden !important;
  }

  .itemsUploadCard .itemsCardTitle{
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 3;
	margin: 0;
	transform: translate(-50%, -76px);
	pointer-events: none;
  }

  .itemsUploadCard .itemsPreview{
	width: 100% !important;
	height: 100% !important;
	min-height: 220px;
	max-height: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	transform: none !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
  }

  .itemsUploadCard .itemsPreview::before{
	background: transparent !important;
  }

  .itemsUploadCard .itemsPreview img:not([src$="add.png"]),
  .itemsUploadCard .itemsPdfPreview{
	width: 100% !important;
	height: auto !important;
	max-width: none !important;
	max-height: none;
	object-fit: contain !important;
  }

  .itemsUploadCard.has-upload-file .itemsCardTitle{
	display: none !important;
  }

  .itemsUploadCard.has-upload-file .itemsPreview{
	align-items: stretch !important;
	justify-content: stretch !important;
	place-items: stretch !important;
  }

  .itemsUploadCard.has-upload-file .itemsPreview::after{
	left: auto !important;
	right: 14px !important;
	top: 14px !important;
	width: 34px !important;
	height: 34px !important;
	font-size: 26px !important;
	z-index: 5 !important;
	transform: none !important;
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.28) !important;
  }

  .itemsUploadCard .filePick{
	display: none !important;
  }

  .itemsUploadCard .itemsPdfPreview embed{
	width: 100% !important;
	height: 100% !important;
	min-height: 220px;
	display: block;
	border: 0;
  }
  
  .filePick {
	display: flex;
	justify-content: center;
  }
  
  .filePick .parent-div {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
  }
  
  .filePick input[type="file"] {
	position: absolute;
	inset: 0;
	opacity: 0;
	cursor: pointer;
  }
  
  .itemsSubmit {
	display: flex;
	justify-content: center;
	margin-top: 14px;
  }
  
  /* Responsive */
  @media (max-width: 820px) {
	.itemsGrid {
	  grid-template-columns: 1fr;
	}
	.itemsRow {
	  grid-template-columns: 1fr;
	}
	.itemsPreview img {
	  max-width: 220px;
	}

	.damageGrid{ grid-template-columns: 1fr !important; }
  	.damageGrid > .itemsCard{ margin-bottom: 12px; }
  }


  /* Wrapper global du contenu du form dans la modale */
.itemsActionsWrap{
	display: flex;
	flex-direction: column;
	gap: 14px;
	text-align: center;
  }
  
  /* Cartes */
  .itemsActionsCard{
	border: 1px solid var(--dark-color);
	border-radius: 8px;
	padding: 12px;
  }
  
  /* Grilles */
  .itemsActionsGrid2{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	align-items: start;
  }
  
  .itemsActionsGrid3{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 12px;
	align-items: end;
  }
  
  /* Preview */
  .itemsActionsPreview{
	display: grid;
	place-items: center;
	gap: 8px;
  }
  
  .itemsActionsPreview img{
	width: 100%;
	max-width: 180px;
	max-height: 180px;
	object-fit: contain;
	border-radius: 6px;
  }

  .itemsActionsUploadCard{
	position: relative;
	height: 260px !important;
	min-height: 260px !important;
	max-height: 260px !important;
	cursor: pointer;
	overflow: hidden !important;
  }

  .itemsActionsUploadCard > p{
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 3;
	margin: 0;
	transform: translate(-50%, -76px);
	pointer-events: none;
  }

  .itemsActionsUploadCard .itemsActionsPreview{
	width: 100% !important;
	height: 100% !important;
	min-height: 260px !important;
	max-height: 260px !important;
	margin: 0 !important;
	border: 1px dashed rgba(230, 231, 245, 0.22) !important;
	border-radius: 8px !important;
	background: rgba(230, 231, 245, 0.07) !important;
	box-shadow: none !important;
	transform: none !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
  }

  .itemsActionsUploadCard .itemsActionsPreview::before{
	background: transparent !important;
  }

  .itemsActionsUploadCard .itemsActionsPreview img:not([src$="add.png"]),
  .itemsActionsUploadCard .itemsActionsPdf{
	width: 100% !important;
	height: auto !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: contain !important;
  }

  .itemsActionsUploadCard.has-upload-file > p{
	display: none !important;
  }

  .itemsActionsUploadCard.has-upload-file .itemsActionsPreview::after{
	left: auto !important;
	right: 14px !important;
	top: 14px !important;
	width: 34px !important;
	height: 34px !important;
	font-size: 26px !important;
	z-index: 5 !important;
	transform: none !important;
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.28) !important;
  }

  .itemsActionsUploadCard .itemsActionsPick{
	display: none !important;
  }
  
  /* PDF preview */
  .itemsActionsPdf{
	display: none;
	width: 100%;
	max-width: 360px;
	max-height: 360px;
	overflow: hidden;
  }
  
  /* File picker (ton système parent-div) */
  .itemsActionsPick{
	display: flex;
	justify-content: center;
	margin-top: 10px;
  }
  
  .itemsActionsPick .parent-div{
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
  }
  
  .itemsActionsPick input[type="file"]{
	position: absolute;
	inset: 0;
	opacity: 0;
	cursor: pointer;
  }
  
  /* Champs larges */
  .itemsActionsWide{
	width: 100%;
	max-width: 650px;
	margin: 0 auto;
  }

  .itemsActionsFullRow{
	grid-column: 1 / -1;
  }
  
  .itemsActionsFullRow textarea.formText{
	width: 100% !important;
	box-sizing: border-box;
  }
  
  .itemsActionsWide textarea.formText{
	width: 100% !important;
	box-sizing: border-box;
	resize: vertical;
  }

/* Forcer le vrai 50/50 en haut (Dégât / Description) */
.itemsActionsDamageTop{
	grid-template-columns: 1fr 1fr;
	align-items: stretch;
  }
  
  .itemsActionsDamageTop > div{
	width: 100%;
	justify-self: stretch;
  }
  
  /* Le wrapper "wide" ne doit pas limiter la cellule */
  .itemsActionsDamageTop .itemsActionsWide{
	width: 100%;
	max-width: none;
	margin: 0;
  }
  
  /* Important : dans cette zone, fieldset-input doit prendre toute la largeur */
  .itemsActionsDamageTop .fieldset-input{
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
  }
  
  /* Et le textarea aussi */
  .itemsActionsDamageTop textarea.formText{
	width: 100% !important;
	box-sizing: border-box;
	min-height: 120px; /* optionnel, juste plus confortable */
  }

  /* Colonne droite en flex pour étirer le champ */
.itemsActionsDamageTop > div:last-child{
	display: flex;
	flex-direction: column;
	height: 100%;
  }
  
  /* Le fieldset et la textarea s'étirent */
  .itemsActionsDamageTop > div:last-child .fieldset-input{
	display: flex;
	flex-direction: column;
	flex: 1;
  }
  
  .itemsActionsDamageTop > div:last-child textarea.formText{
	flex: 1;
	min-height: 180px; /* ajuste selon ton rendu */
  }
  
  /* Mobile */
  @media (max-width: 820px){
	.itemsActionsGrid2{ grid-template-columns: 1fr; }
	.itemsActionsGrid3{ grid-template-columns: 1fr; }
	.itemsActionsPreview img{ max-width: 220px; }
	.itemsActionsDamageTop{ grid-template-columns: 1fr; }
	
	/* Les grilles passent déjà en 1 colonne, on centre le contenu */
	.itemsActionsGrid2,
	.itemsActionsGrid3{
	  justify-items: center;
	}
  
	/* Chaque champ occupe toute la largeur (mais reste centré) */
	.itemsActionsGrid2 .fieldset-input,
	.itemsActionsGrid3 .fieldset-input{
	  width: 100%;
	  max-width: 520px;   /* ajuste (480–620) selon ton design */
	  margin: 0 auto;
	}
  
	/* Inputs / selects / textarea plein width dans leur champ */
	.itemsActionsGrid2 .formText,
	.itemsActionsGrid3 .formText{
	  width: 100% !important;
	  box-sizing: border-box;
	}
  
	/* Si tu as des textarea dans itemsActionsWide */
	.itemsActionsWide{
	  width: 100%;
	  max-width: 520px;
	  margin: 0 auto;
	}
  }

  /* Description nouvel objet : pleine largeur réelle */
#itemsActionsNewFormContent .itemsActionsWide{
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	display: block !important;
	text-align: left; /* pour éviter l’effet “centré” */
  }
  
  /* Le wrapper fieldset ne doit pas être inline-block ici */
  #itemsActionsNewFormContent .itemsActionsWide .fieldset-input{
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
  }
  
  /* Le textarea prend tout l'espace */
  #itemsActionsNewFormContent .itemsActionsWide textarea#itemNewDescription{
	display: block !important;
	width: 100% !important;
	box-sizing: border-box;
  }

#itemsActionsNewFormContent .fieldset-input{
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

#itemsActionsNewFormContent textarea.formText{
  width: 100% !important;
  box-sizing: border-box;
}


#itemsActionsNewFormContent .itemsActionsWide{
	display: block;
  }

  /* Alignement hauteur droite = hauteur gauche (desktop) */
.itemsActionsGrid2.itemNewDegradationDetails{
	align-items: stretch;
  }
  
  /* Colonne droite en flex pour étirer la textarea */
  .itemsActionsGrid2.itemNewDegradationDetails > .itemsActionsWide{
	display: flex !important;
	flex-direction: column;
	height: 100%;
	width: 100%;
	max-width: none;  /* au cas où */
	margin: 0;
	text-align: left;
  }
  
  /* La textarea prend tout l’espace restant */
  .itemsActionsGrid2.itemNewDegradationDetails > .itemsActionsWide textarea#itemNewDefaultDescription{
	flex: 1;
	min-height: 180px; /* optionnel pour un minimum agréable */
	width: 100% !important;
	box-sizing: border-box;
	resize: vertical;
  }

  @media (min-width: 821px){

	/* Le bloc 2 colonnes prend la même hauteur */
	.itemsActionsGrid2.itemNewDegradationDetails{
	  align-items: stretch;
	}
  
	/* Colonne gauche en flex (image + bouton) */
	.itemsActionsGrid2.itemNewDegradationDetails > div:first-child{
	  display: flex;
	  flex-direction: column;
	  height: 100%;
	}
  
	/* Le bloc preview prend l’espace, le bouton reste en bas */
	.itemsActionsGrid2.itemNewDegradationDetails > div:first-child .itemsActionsPreview{
	  flex: 1;
	  display: grid;
	  place-items: center;
	}
  
	.itemsActionsGrid2.itemNewDegradationDetails > div:first-child .itemsActionsPick{
	  margin-top: auto;   /* pousse le bouton en bas */
	}
  
	/* Colonne droite déjà en flex (comme on avait fait) */
	.itemsActionsGrid2.itemNewDegradationDetails > .itemsActionsWide{
	  display: flex !important;
	  flex-direction: column;
	  height: 100%;
	}
  
	/* La textarea remplit tout le reste */
	.itemsActionsGrid2.itemNewDegradationDetails > .itemsActionsWide textarea#itemNewDefaultDescription{
	  flex: 1;
	  min-height: 180px;
	}
  }
  
  #itemsActionsDamageCard .itemsActionsGrid3{
	justify-items: stretch;
  }
  #itemsActionsDamageCard .itemsActionsGrid3 .fieldset-input{
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
  }
  #itemsActionsDamageCard .itemsActionsGrid3 .formText{
	width: 100% !important;
	box-sizing: border-box;
  }


  /* ---------- Modal tabs (2 boutons en haut) ---------- */
.mwModalTabs{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	padding: 10px 12px 0 12px;
  }
  
  .mwTabBtn{
	width: 100%;
  }
  
  /* ---------- Form layout ---------- */
  .mwFormWrap{
	display: flex;
	flex-direction: column;
	gap: 14px;
	text-align: center;
  }
  
  .mwGrid2{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	align-items: start;
  }
  
  .mwCard{
	border: 1px solid var(--dark-color);
	border-radius: 8px;
	padding: 12px;
  }
  
  .mwWide{
	width: 100%;
  }
  
  .mwWide .formText{
	width: 100% !important;
	box-sizing: border-box;
  }
  
  .mwPreview{
	display: grid;
	place-items: center;
	gap: 8px;
  }
  
  .mwPreview img{
	width: 100%;
	max-width: 180px;
	max-height: 180px;
	object-fit: contain;
	border-radius: 6px;
  }
  
  .mwPdfPreview{
	display: none;
	width: 100%;
	max-width: 360px;
	max-height: 360px;
	overflow: hidden;
  }
  
  /* ton pattern parent-div (file input invisible) */
  .mwPick{
	display: flex;
	justify-content: center;
	margin-top: 10px;
  }
  
  .mwPick .parent-div{
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
  }
  
  .mwPick input[type="file"]{
	position: absolute;
	inset: 0;
	opacity: 0;
	cursor: pointer;
  }

  .gaugeUploadCard{
	position: relative;
	cursor: pointer;
	overflow: hidden;
  }

  .gaugeUploadCard > p{
	position: absolute;
	left: 50%;
	top: 142px;
	z-index: 3;
	margin: 0;
	transform: translate(-50%, -76px);
	pointer-events: none;
  }

  .gaugeUploadCard .mwPreview{
	width: 100% !important;
	height: 260px !important;
	min-height: 260px;
	max-height: 260px;
	margin: 0 0 14px !important;
	border: 1px dashed rgba(230, 231, 245, 0.22) !important;
	border-radius: 8px !important;
	background: rgba(230, 231, 245, 0.07) !important;
	box-shadow: none !important;
	transform: none !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
  }

  .gaugeUploadCard .mwPreview::before{
	background: transparent !important;
  }

  .gaugeUploadCard .mwPreview img:not([src$="add.png"]){
	width: 100% !important;
	height: auto !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: contain !important;
  }

  .gaugeUploadCard.has-upload-file > p{
	display: none !important;
  }

  .gaugeUploadCard.has-upload-file .mwPreview::after{
	left: auto !important;
	right: 14px !important;
	top: 14px !important;
	width: 34px !important;
	height: 34px !important;
	font-size: 26px !important;
	z-index: 5 !important;
	transform: none !important;
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.28) !important;
  }

  .gaugeUploadCard .mwPick{
	display: none !important;
  }
  
  /* zone actions (send/delete) */
  .mwActionsRow{
	display: flex;
	gap: 10px;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	margin-top: 10px;
  }
  
  .mwActionsRow .button{
	min-width: fit-content;
  }
  
  /* Table wrapper */
  .mwTableWrap{
	width: 95%;
	margin: 0 auto;
	overflow-x: auto; /* mobile */
  }
  
  /* Mobile */
  @media (max-width: 820px){
	.mwModalTabs{ grid-template-columns: 1fr; }
	.mwGrid2{ grid-template-columns: 1fr; }
	.mwPreview img{ max-width: 220px; }
  }

/* ===== Logs ===== */
.logRow{
	width: 100%;
	display: grid;
	grid-template-columns: minmax(135px, 0.9fr) minmax(130px, 1.2fr) minmax(0, 1.4fr);
	gap: 10px;
	align-items: center;
	padding: 12px 14px;
	box-sizing: border-box;
	border: 1px solid rgba(42, 44, 50, 0.1);
	border-radius: 6px;
	background: var(--white-color);
	color: var(--dark-color);
	overflow: hidden;
	min-width: 0;
}

.logRow + .logRow{
	margin-top: 10px;
}

.logRow:hover{
	border-color: rgba(42, 44, 50, 0.24);
	background: var(--whitesmoke-color);
}

.logCell{
	min-width: 0;
	overflow-wrap: anywhere;
	line-height: 1.35;
	max-width: 100%;
	word-break: break-word;
}

.logDate,
.logTenant{
	color: var(--grey-color);
	font-size: 0.86rem;
	font-weight: 400;
	overflow: hidden;
	text-overflow: clip;
	white-space: normal;
	overflow-wrap: anywhere;
}

.logAction{
	color: var(--dark-color);
	font-weight: 400;
	overflow: hidden;
	text-overflow: clip;
	white-space: normal;
	overflow-wrap: anywhere;
	max-width: 100%;
}

.logEmpty,
#noLogsMatch{
	width: 100%;
	padding: 18px;
	box-sizing: border-box;
	border: 1px dashed rgba(42, 44, 50, 0.22);
	border-radius: 6px;
	background: var(--whitesmoke-color);
	color: var(--grey-color);
	font-weight: 900;
	text-align: center;
}

@media (max-width: 900px){
	.settingsLogsPanel .logRow{
		grid-template-columns: 1fr;
		gap: 8px;
		padding: 12px;
	}

	.settingsLogsPanel .logDate,
	.settingsLogsPanel .logAction,
	.settingsLogsPanel .logTenant{
		white-space: normal;
		text-overflow: clip;
		overflow-wrap: anywhere;
	}

	.settingsLogsPanel .logDate::before,
	.settingsLogsPanel .logAction::before,
	.settingsLogsPanel .logTenant::before{
		display: block;
		margin-bottom: 2px;
		color: rgba(42, 44, 50, 0.58);
		font-size: 0.72rem;
		font-weight: 900;
		text-transform: uppercase;
	}

	.settingsLogsPanel .logDate::before{ content: "Date"; }
	.settingsLogsPanel .logAction::before{ content: "Evenement"; }
	.settingsLogsPanel .logTenant::before{ content: "Locataire"; }
}

	@media (max-width: 700px){
		.settingsLogsPanel .settingsLogsTop{
			grid-template-columns: minmax(0, 1fr);
			gap: 8px;
			margin-bottom: 12px;
		}

		.settingsLogsPanel .formText{
			height: 42px;
			min-height: 42px;
			padding: 8px 10px;
			font-size: 0.9rem;
		}

		.settingsLogsPanel .fieldset-input label{
			font-size: 0.68rem;
		}

	.logRow{
		grid-template-columns: 1fr;
		gap: 8px;
		padding: 12px;
	}

	.logDate,
	.logAction,
	.logTenant{
		white-space: normal;
		text-overflow: clip;
	}

	.logDate::before,
	.logAction::before,
	.logTenant::before{
		display: block;
		margin-bottom: 2px;
		color: rgba(42, 44, 50, 0.58);
		font-size: 0.72rem;
		font-weight: 900;
		text-transform: uppercase;
	}

	.logDate::before{ content: "Date"; }
	.logAction::before{ content: "Evenement"; }
	.logTenant::before{ content: "Locataire"; }
}

/* ===== Contracts : mobile ===== */
@media (max-width: 700px){
	#createContractsFormContent .invoiceTopNav{
		display:flex !important;
		flex-direction:column !important;
		align-items:stretch !important;
		gap:10px !important;
	}

	#createContractsFormContent .invoiceTopNav > .fieldset-input,
	#createContractsFormContent .invoiceTopNav > .contractDetails,
	#createContractsFormContent .invoiceTopNav > section,
	#createContractsFormContent .invoiceTopNav > div{
		width:100% !important;
		max-width:100% !important;
		min-width:0 !important;
		flex:none !important;
	}

	#createContractsFormContent .invoiceTopNav .fieldset-input{
		width:100% !important;
		max-width:100% !important;
		min-width:0 !important;
		flex:none !important;
	}

	#createContractsFormContent #autoIndexRevWrap{
		width:100% !important;
		align-self:stretch !important;
	}

	#createContractsFormContent #sectionContractsDatesDetails,
	#createContractsFormContent .sectionContractsDatesDetails{
		display:flex !important;
		flex-direction:column !important;
		gap:10px !important;
		width:100% !important;
	}

	#createContractsFormContent #sectionContractsDatesDetails .fieldset-input,
	#createContractsFormContent .sectionContractsDatesDetails .fieldset-input{
		width:100% !important;
		max-width:100% !important;
		min-width:0 !important;
	}
}

.contractDocsRow{
	display:grid;
	grid-template-columns: 1fr 1fr;
	gap:12px;
	align-items:start;
}

.contractDocsRow > div{
	min-width:0;
	width:100%;
}

.contractDocsRow .fieldset-input{
	min-width:0;
	width:100%;
}

.contractDocsRow .fileUpload{
	width:100%;
	max-width:100%;
}

.contractDocsRow .fileUploadName{
	min-width:0;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}

.paymentDetailsStack{
	display:grid;
	grid-template-columns: 1fr;
	gap:10px;
}

.paymentDetailsStack > .fieldset-input{
	width:100%;
	max-width:100%;
	min-width:0;
}


.paymentTopRow{
	display:grid;
	grid-template-columns: 1fr 1fr;
	gap:12px;
}

.paymentBottomRow{
	display:grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap:12px;
}

.paymentTopRow > .fieldset-input,
.paymentBottomRow > .fieldset-input{
	min-width:0;
	width:100%;
}

@media screen and (max-width:700px){
	.paymentTopRow{
		grid-template-columns: 1fr 1fr;
	}

	.paymentBottomRow{
		grid-template-columns: 1fr;
	}
}


.tenantTopRow{
	display:grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap:10px;
	align-items:end;
	margin-bottom:10px;
}

.tenantTopField{
	min-width:0;
	width:100%;
}

.tenantTopFieldFull{
	grid-column: span 1;
}

#contractNbTenantWrap{
	grid-column: span 1;
}
.tenantUnifiedRow{
	display:grid;
	grid-template-columns: minmax(0, 2fr) minmax(180px, 1fr) minmax(180px, 1fr);
	gap:10px;
	align-items:start;
	margin-bottom:10px;
}

.tenantLocField,
.tenantMoneyField{
	min-width:0;
	width:100%;
}

.tenantTotalRow{
	display:grid;
	grid-template-columns: minmax(0, 2fr) minmax(180px, 1fr) minmax(180px, 1fr);
	gap:10px;
	align-items:end;
	margin-top:10px;
}

.tenantTotalSpacer{
	min-width:0;
}

#rentSupplementToggleWrap{
	line-height:1.2;
}

#rentSupplementToggle{
	font-size:0.95rem;
	color:var(--gray-color);
}

#rentSupplementToggle:hover{
	color:var(--dark-color);
}

.tenantBlock{
	margin-bottom:10px;
}

.tenantSupplementFields{
	display:none;
}

.tenantSupplementFields .tenantMoneyField{
	min-width:0;
}


.tenantSupplementToggle{
	cursor:pointer;
	color:var(--gray-color);
	text-decoration:underline;
}

.tenantSupplementToggle:hover{
	color:var(--dark-color);
}

.tenantSupplementToggleWrap{
	display:flex;
	align-items:center;
	height:100%;
	margin: 0 0 10px 0;
}

.tenantSupplementToggle{
	cursor:pointer;
	color:var(--gray-color);
	text-decoration:underline;
}

.tenantSupplementToggle:hover{
	color:var(--dark-color);
}
@media screen and (max-width:700px){
	.tenantTopRow{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tenantTopField,
	#contractNbTenantWrap{
		min-width:0;
		width:100%;
	}

	.tenantUnifiedRow{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tenantUnifiedRow .tenantLocField{
		grid-column: 1 / -1;
	}

	.tenantUnifiedRow .tenantMoneyField{
		grid-column: span 1;
		min-width:0;
	}

	.tenantTotalRow{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tenantTotalSpacer{
		display:none;
	}

	.tenantTotalRow .tenantMoneyField{
		grid-column: span 1;
		min-width:0;
	}
}


.settingsModal{
	max-width: 1200px;
	width: min(95vw, 1200px);
	margin: 0;
	min-height: 50px;
	max-height: 90dvh;
	overflow-y: auto;
	overflow-x: hidden;
}

.settingsHeaderIcon{
	margin: -7px 0;
	width: 30px;
}

.settingsShell{
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr);
	align-items: start;
	width: 100%;
	box-sizing: border-box;
	min-height: 60dvh;
}

.settingsShell > .modal_article_all{
	grid-column: 2 / -1;
	grid-row: 1;
	width: auto;
	min-width: 0;
	margin: 16px;
	max-width: calc(100% - 32px);
	max-height: calc(90dvh - 112px);
	overflow: hidden;
	box-sizing: border-box;
}

.settingsNav{
	display: grid;
	align-content: start;
	border-right: solid 1px var(--platinum-border-color);
	background-color: var(--whitesmoke-color);
	height: 100%;
}
.settingsNavItem{
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	padding: 14px 16px;
	border: none;
	border-bottom: solid 1px var(--platinum-border-color);
	background-color: transparent;
	color: var(--dark-color);
	cursor: pointer;
	text-align: left;
	font-weight: bold;
	min-height: 56px;
	justify-content: flex-start;
}

.settingsNavItem.isActive{
	background-color: var(--light-color);
}

.settingsNavIcon{
	width: 24px;
	height: 24px;
	object-fit: contain;
	flex: 0 0 24px;
	display: inline-block;
}

.settingsNavItem::before{
	display: none;
}

.settingsContent{
	min-width: 0;
	width: 100%;
	box-sizing: border-box;
	padding: 2dvh;
	overflow-x: hidden;
}

.settingsPanel{
	width: 100%;
	max-width: 100%;
	min-width: 0;
	gap: 16px;
}

.settingsStorageUsage{
	display: grid;
	gap: 10px;
	width: 100%;
	margin: 0 0 16px;
	padding: 14px 16px;
	box-sizing: border-box;
	border: 1px solid rgba(42, 44, 50, 0.12);
	border-radius: 6px;
	background: var(--white-color);
	color: var(--dark-color);
}

.settingsStorageHeader{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	font-size: 0.95rem;
	line-height: 1.3;
}

.settingsStorageHeader span{
	color: var(--grey-color);
	font-weight: 800;
	white-space: nowrap;
}

.settingsStorageTrack{
	position: relative;
	width: 100%;
	height: 10px;
	overflow: hidden;
	border-radius: 999px;
	background: rgba(42, 44, 50, 0.12);
}

.settingsStorageTrack span{
	display: block;
	height: 100%;
	min-width: 0;
	border-radius: inherit;
	background: linear-gradient(90deg, var(--azure-color), var(--saphire-color));
}

.settingsReferralCard{
	display: grid;
	grid-template-columns: minmax(220px, 0.7fr) minmax(280px, 1fr);
	grid-template-areas:
		"hero link"
		"benefit benefit";
	gap: 14px;
	align-items: end;
	width: 100%;
	margin: 0 0 16px;
	padding: 16px;
	box-sizing: border-box;
	border: 1px solid rgba(230, 231, 245, 0.16);
	border-radius: 7px;
	background: rgba(230, 231, 245, 0.055);
	color: rgba(246, 247, 255, 0.92);
}

.settingsReferralHero{
	grid-area: hero;
}

.settingsReferralCard span{
	display: block;
	margin-bottom: 6px;
	color: rgba(170, 207, 255, 0.92);
	font-weight: 900;
	text-transform: uppercase;
	font-size: 0.78rem;
	letter-spacing: 0;
}

.settingsReferralCard strong{
	display: block;
	color: rgba(246, 247, 255, 0.98);
	font-size: 1.25rem;
	line-height: 1.1;
}

.settingsReferralCard p{
	margin: 8px 0 0;
	color: rgba(246, 247, 255, 0.68);
	font-weight: 800;
	line-height: 1.35;
}

.settingsReferralField{
	grid-area: link;
	width: 100% !important;
	margin: 0 !important;
}

.settingsReferralField label{
	background: #34363d !important;
}

.settingsReferralField .formText{
	width: 100% !important;
}

.settingsReferralBenefit{
	grid-area: benefit;
	padding: 14px;
	border: 1px solid rgba(39, 184, 114, 0.28);
	border-radius: 7px;
	background: rgba(39, 184, 114, 0.075);
	box-sizing: border-box;
}

.settingsReferralBenefit span{
	color: rgba(157, 225, 190, 0.94);
}

.settingsReferralBenefit strong{
	font-size: 1.08rem;
}

.settingsReferralBenefit p{
	margin-top: 7px;
}

.settingsReferralPanel{
	align-content: start;
	gap: 14px;
}

.settingsReferralRules{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	width: 100%;
	box-sizing: border-box;
}

.settingsReferralRules article{
	min-width: 0;
	padding: 14px;
	border: 1px solid rgba(169, 205, 253, 0.18);
	border-radius: 7px;
	background: rgba(169, 205, 253, 0.045);
	box-sizing: border-box;
	color: rgba(246, 247, 255, 0.9);
}

.settingsReferralRules article strong{
	display: block;
	margin-bottom: 8px;
	color: rgba(246, 247, 255, 0.96);
	font-size: 1rem;
	font-weight: 950;
	line-height: 1.1;
}

.settingsReferralRules article span,
.settingsReferralRules article small{
	display: block;
	color: rgba(230, 231, 245, 0.72);
	font-weight: 850;
	line-height: 1.35;
}

.settingsReferralRules article small{
	margin-top: 8px;
	color: rgba(169, 205, 253, 0.82);
}

.settingsSectionTitle{
	margin: 0;
	padding: 0;
}

.settingsSectionTitle li{
	cursor: pointer;
	font-weight: bold;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	list-style: none;
	width: 100%;
	padding: 14px 16px;
	box-sizing: border-box;
	border: 1px solid rgba(42, 44, 50, 0.12);
	border-radius: 6px;
	background: var(--white-color);
	color: var(--dark-color);
	text-align: left;
}

.settingsSectionTitle li:hover,
.settingsSectionTitle li:focus-visible{
	background: var(--light-color);
}

.settingsSectionTitle .triangle{
	display: inline-grid;
	place-items: center;
	min-width: 30px;
	height: 30px;
	border-radius: 4px;
	background: var(--dark-color);
	color: var(--light-color);
	font-size: 0.82rem;
	text-decoration: none;
}

.triangle,
a.triangle,
body.immoPage .modal a.triangle,
body.immoPage .settingsModal a.triangle{
	display: inline-grid;
	place-items: center;
	min-width: 30px;
	height: 30px;
	padding: 0 8px;
	box-sizing: border-box;
	border-radius: 6px;
	background: rgba(24, 26, 32, 0.52) !important;
	color: rgba(230, 231, 245, 0.96) !important;
	text-decoration: none !important;
	line-height: 1;
}

.triangle:hover,
a.triangle:hover,
.triangle:focus-visible,
a.triangle:focus-visible{
	background: rgba(24, 26, 32, 0.72) !important;
	color: rgba(255, 255, 255, 0.98) !important;
	outline: none;
}

.settingsContent .formSettings,
.settingsBusinessForm{
	width: 100%;
	min-width: 0;
	margin: 0 0 16px;
	padding: 16px;
	box-sizing: border-box;
	border: 1px solid rgba(42, 44, 50, 0.12);
	border-radius: 6px;
	background: var(--whitesmoke-color);
	color: var(--dark-color);
	text-align: left;
}

.settingsContent .formSettings{
	display: none;
}

.settingsContent .formSettings .fieldset-input,
.settingsBusinessForm .fieldset-input{
	width: min(100%, 320px) !important;
	max-width: 100% !important;
	min-width: 0;
	margin: 10px 10px 10px 0;
	vertical-align: top;
	box-sizing: border-box;
}

.settingsContent .formSettings .fieldset-input label,
.settingsBusinessForm .fieldset-input label{
	background: var(--whitesmoke-color);
}

.settingsContent .formSettings .formText,
.settingsBusinessForm .formText{
	width: 100% !important;
	min-width: 0;
	background-color: var(--white-color);
}

.settingsContent .formSettings .button,
.settingsBusinessForm .button{
	border-radius: 4px;
}

.settingsFormGrid{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
	gap: 14px;
	align-items: start;
	min-width: 0;
}

.settingsFormHint{
	margin: 2px 0 16px;
	color: var(--grey-color);
	font-size: 0.92rem;
	line-height: 1.45;
	font-weight: 800;
}

.accountDeletionForm{
	border-color: rgba(220, 53, 69, 0.24) !important;
	background: rgba(220, 53, 69, 0.045) !important;
}

.accountDeletionHint{
	color: var(--dark-color);
}

.settingsCheckLine{
	display: grid;
	grid-template-columns: 20px minmax(0, 1fr);
	gap: 10px;
	align-items: start;
	margin: 0 0 16px;
	font-size: 0.92rem;
	line-height: 1.45;
	font-weight: 800;
}

.settingsCheckLine input{
	width: 18px !important;
	height: 18px;
	margin-top: 2px;
	accent-color: #dc3545;
}

.settingsCheckLine span{
	min-width: 0;
	overflow-wrap: anywhere;
}

.accountDeletionButton{
	background: rgba(220, 53, 69, 0.18) !important;
	border-color: rgba(220, 53, 69, 0.42) !important;
	color: #ffd6d6 !important;
}

.accountDeletionButton:hover,
.accountDeletionButton:focus{
	background: rgba(220, 53, 69, 0.28) !important;
	border-color: rgba(220, 53, 69, 0.62) !important;
	color: #ffffff !important;
}

.accountDeletionTitle .accountDeletionToggle{
	border-color: rgba(42, 44, 50, 0.12) !important;
	background: var(--white-color) !important;
	color: var(--dark-color) !important;
}

.accountDeletionTitle .accountDeletionToggle .triangle{
	color: var(--light-color) !important;
}

.accountDeletionVerifyNotice{
	margin: 0 0 18px;
	padding: 12px;
	border: 1px solid rgba(220, 53, 69, 0.28);
	border-radius: 6px;
	background: rgba(220, 53, 69, 0.06);
	color: var(--dark-color);
	font-weight: 800;
	line-height: 1.45;
}

.settingsUnavailableNote{
	display: grid;
	gap: 8px;
	padding: 14px;
	border: 1px dashed rgba(42, 44, 50, 0.24);
	border-radius: 6px;
	background: var(--white-color);
	color: var(--grey-color);
	font-weight: 800;
}

.settingsChoiceBand{
	position: relative;
	margin: 0 0 16px;
	padding: 16px 16px;
	border: 1px solid rgba(42, 44, 50, 0.12);
	border-radius: 6px;
	background: var(--white-color);
}

.settingsChoiceBand p{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin: 0;
	font-weight: 900;
	color: var(--dark-color);
}

.settingsStructureSwitch{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	min-height: 45px;
	color: var(--light-color);
}

.settingsStructureLabel{
	position: absolute;
	top: 0;
	left: 0.85rem;
	transform: translateY(-50%);
	z-index: 1;
	padding: 0 0.32rem;
	border-radius: 5px;
	background: #34363d;
	color: rgba(246, 247, 255, 0.82);
	font-size: 0.82rem;
	font-weight: 400;
	line-height: 1.18;
}

.settingsStructureToggle{
	display: grid;
	grid-template-columns: minmax(92px, auto) auto minmax(118px, auto);
	align-items: center;
	justify-content: center;
	gap: 10px;
}

.settingsStructureOption{
	color: var(--light-color);
	font-weight: 800;
	line-height: 1.1;
	white-space: nowrap;
}

.settingsBusinessForm{
	display: grid;
	gap: 16px;
}

.settingsBusinessForm .business_add_all,
.settingsBusinessForm .common-fields{
	gap: 12px;
	align-items: start;
}

.settingsBusinessForm #business_add_pro,
.settingsBusinessForm .common-fields{
	display: grid;
	grid-template-columns: repeat(3, minmax(180px, 1fr));
}

.settingsBusinessForm #business_add_perso{
	grid-template-columns: repeat(2, minmax(180px, 1fr));
}

.settingsBusinessForm #taxChoice{
	grid-column: auto;
	margin: 10px 0 !important;
}

.settingsBusinessForm #taxChoice:empty{
	display: none;
}

.settingsBusinessForm p{
	margin: 6px 0 12px;
	color: var(--dark-color);
	font-weight: 800;
}

.settingsBusinessForm .settingsBusinessVatGroup{
	display: contents;
}

.settingsBusinessForm .settingsInlineChoiceField{
	position: relative;
	width: 100%;
	min-height: 45px;
	box-sizing: border-box;
	margin: 10px 0;
	border: 1px solid rgba(230, 231, 245, 0.22);
	border-radius: 7px;
	background: rgba(230, 231, 245, 0.08);
	color: var(--light-color);
}

.settingsBusinessForm .settingsInlineChoiceField > label{
	position: absolute;
	top: 0;
	left: 0.85rem;
	transform: translateY(-50%);
	z-index: 1;
	padding: 0 0.32rem;
	border-radius: 5px;
	background: #34363d;
	color: rgba(246, 247, 255, 0.94);
	font-size: 0.82rem;
	font-weight: 400;
	line-height: 1.18;
}

.settingsBusinessForm .settingsSwitchField{
	min-height: 43px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 6px 12px;
	box-sizing: border-box;
	color: var(--light-color);
	font-weight: 600;
	line-height: 1.1;
}

.settingsBusinessForm .settingsSwitchField span{
	color: var(--light-color);
	white-space: nowrap;
}

.settingsBusinessForm .settingsSwitchFieldStatic{
	justify-content: center;
	padding-left: 12px;
}

.settingsBusinessForm .fieldset-input{
	width: 100% !important;
	margin: 10px 0;
}

.settingsBusinessForm small.fieldError{
	display: block;
	margin-top: -6px;
	font-size: 0.78rem;
}

.settingsSubmitRow{
	display: flex;
	justify-content: flex-end;
	gap: 10px;
}

.settingsSubmitRow .button,
.intervenantSubmitRow .button{
	min-width: 180px;
}

.settingsFormGridSecurity{
	grid-template-columns: repeat(2, minmax(240px, 1fr));
	align-items: start;
}

.settingsSubmitRowWithStatus{
	display: grid;
	grid-template-columns: minmax(240px, 1fr) minmax(240px, 1fr);
	align-items: stretch;
	gap: 14px;
}

.settingsSubmitRowWithStatus .button,
.settingsLiveStatus{
	width: 100% !important;
	min-width: 0 !important;
	min-height: 48px;
	box-sizing: border-box;
}

.settingsLiveStatus{
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10px 14px;
	border: 1px solid rgba(230, 231, 245, 0.16);
	border-radius: 7px;
	background: rgba(230, 231, 245, 0.055);
	color: rgba(246, 247, 255, 0.72);
	font-size: 0.86rem;
	font-weight: 850;
	line-height: 1.2;
	text-align: center;
}

.settingsLiveStatus:empty::before{
	content: " ";
}

.settingsLiveStatus.is-ok{
	border-color: rgba(13, 178, 113, 0.55);
	background: rgba(13, 178, 113, 0.12);
	color: rgba(225, 255, 242, 0.96);
}

.settingsLiveStatus.is-error{
	border-color: rgba(220, 53, 69, 0.62);
	background: rgba(220, 53, 69, 0.14);
	color: rgba(255, 232, 235, 0.98);
}

.settingsLiveStatus.is-warn{
	border-color: rgba(250, 180, 70, 0.58);
	background: rgba(250, 180, 70, 0.12);
	color: rgba(255, 244, 220, 0.96);
}

.settingsPasswordStrength{
	width: min(100%, 320px);
	max-width: 100%;
	height: 45px;
	min-height: 45px;
	margin: 10px 10px 10px 0;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-rows: auto 9px;
	align-content: center;
	align-items: center;
	gap: 5px 10px;
	padding: 7px 14px;
	border: 1px solid rgba(230, 231, 245, 0.16);
	border-radius: 7px;
	background: rgba(230, 231, 245, 0.055);
	box-sizing: border-box;
	color: rgba(246, 247, 255, 0.82);
}

.settingsPasswordStrength span,
.settingsPasswordStrength strong{
	display: block;
	font-size: 0.78rem;
	font-weight: 900;
	line-height: 1;
}

.settingsPasswordStrength strong{
	color: rgba(246, 247, 255, 0.72);
	text-align: right;
}

.settingsPasswordStrengthTrack{
	grid-column: 1 / -1;
	grid-row: 2;
	height: 9px;
	overflow: hidden;
	border-radius: 999px;
	background: rgba(20, 22, 28, 0.38);
}

.settingsPasswordStrengthTrack i{
	display: block;
	width: var(--strength-width, 0%);
	height: 100%;
	border-radius: inherit;
	background: var(--strength-color, rgba(246, 247, 255, 0.24));
	transition: width 180ms ease, background-color 180ms ease;
}

#modal_article_general,
#modal_article_intervenants,
#modal_article_business_add,
[id^="modal_article_"].settingsPanel{
	align-content: start;
}

.settingsLogsPanel{
	width: 100%;
	max-width: 100%;
	min-width: 0;
	align-content: start;
}

.settingsShell > #modal_article_logs.settingsLogsPanel{
	max-height: none;
	overflow: visible;
}

.settingsLogsPanel .settingsLogsCard{
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin: 0;
	padding: 16px;
	box-sizing: border-box;
	border: 1px solid rgba(42, 44, 50, 0.12);
	border-radius: 6px;
	background: var(--whitesmoke-color);
	color: var(--dark-color);
	overflow: hidden;
	min-height: 0;
	display: flex;
	flex-direction: column;
	max-height: calc(90dvh - 150px);
}

#modal_article_intervenants .formSettings{
	display: none;
}

#modal_article_intervenants .formSettings[style*="display: block"]{
	display: block;
}

#modal_article_intervenants .fieldset-input{
	width: 100% !important;
	max-width: 100% !important;
}

#modal_article_intervenants .formText{
	width: 100% !important;
	background: rgba(230, 231, 245, 0.08) !important;
	border-color: rgba(230, 231, 245, 0.22) !important;
	color: rgba(230, 231, 245, 0.9) !important;
	box-shadow: none !important;
}

#modal_article_intervenants input[type="date"].formText,
#modal_article_intervenants input[type="datetime-local"].formText,
#modal_article_intervenants input[type="time"].formText{
	background: rgba(230, 231, 245, 0.08) !important;
	border-color: rgba(230, 231, 245, 0.22) !important;
	color: rgba(230, 231, 245, 0.9) !important;
	-webkit-text-fill-color: rgba(230, 231, 245, 0.9);
}

#modal_article_intervenants input[type="date"].formText::-webkit-date-and-time-value,
#modal_article_intervenants input[type="datetime-local"].formText::-webkit-date-and-time-value,
#modal_article_intervenants input[type="time"].formText::-webkit-date-and-time-value{
	color: rgba(230, 231, 245, 0.9);
	text-align: left;
}

#modal_article_intervenants input[type="date"].formText::-webkit-datetime-edit,
#modal_article_intervenants input[type="date"].formText::-webkit-datetime-edit-fields-wrapper,
#modal_article_intervenants input[type="date"].formText::-webkit-datetime-edit-text,
#modal_article_intervenants input[type="date"].formText::-webkit-datetime-edit-month-field,
#modal_article_intervenants input[type="date"].formText::-webkit-datetime-edit-day-field,
#modal_article_intervenants input[type="date"].formText::-webkit-datetime-edit-year-field{
	color: rgba(230, 231, 245, 0.9);
}

#modal_article_intervenants input[type="date"].formText::-webkit-calendar-picker-indicator,
#modal_article_intervenants input[type="datetime-local"].formText::-webkit-calendar-picker-indicator,
#modal_article_intervenants input[type="time"].formText::-webkit-calendar-picker-indicator{
	filter: invert(1) opacity(0.75);
}

.intervenantFormLayout{
	padding-top: 2px;
}

.settingsLogsTop{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	align-items: end;
	width: 100%;
	min-width: 0;
	margin-bottom: 20px;
}

.settingsLogsTop .fieldset-input{
	width: 100% !important;
	max-width: 100% !important;
	margin: 0;
}

.settingsLogsTop .fieldset-input label{
	background: var(--light-color);
}

.settingsLogsTop .formText{
	width: 100% !important;
	background: var(--white-color);
}

.settingsLogsBody{
	display: block;
	min-width: 0;
	flex: 1 1 auto;
	min-height: 0;
	overflow: hidden;
	width: 100%;
	max-width: 100%;
	margin: 0;
	box-sizing: border-box;
}

.settingsLogsBody #listLogsQueryDisplay{
	width: 100%;
	height: clamp(180px, calc(90dvh - 330px), 520px);
	min-height: 140px;
	display: block;
	padding: 14px;
	box-sizing: border-box;
	overflow: auto;
	overflow-x: hidden;
	background-color: var(--whitesmoke-color);
	border: solid 1px var(--platinum-border-color);
	border-radius: 6px;
}

.settingsLogsPanel .settingsLogsTop{
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.settingsLogsPanel .logsLookup{
	min-width: 0;
}

.settingsLogsPanel .fieldset-input label{
	max-width: calc(100% - 16px);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.settingsLogsPanel #tenantFilter{
	min-width: 0;
}

.settingsUpgradePanel{
	gap: 18px;
}

.settingsUpgradeHero{
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(180px, 240px);
	gap: 18px;
	align-items: stretch;
	padding: 20px;
	border-radius: 6px;
	background: var(--dark-color);
	color: var(--light-color);
	box-sizing: border-box;
}

.settingsUpgradeEyebrow{
	margin: 0 0 8px;
	color: rgba(230, 231, 245, 0.72);
	font-size: 0.78rem;
	font-weight: 900;
	text-transform: uppercase;
}

.settingsUpgradeHero h3{
	margin: 0;
	color: var(--light-color);
	font-size: clamp(1.5rem, 3vw, 2.25rem);
	line-height: 1.05;
}

.settingsUpgradeHero p{
	margin: 10px 0 0;
	color: rgba(230, 231, 245, 0.78);
	line-height: 1.55;
}

.settingsUpgradeBadge{
	display: grid;
	align-content: center;
	gap: 6px;
	padding: 16px;
	border: 1px solid rgba(230, 231, 245, 0.18);
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.07);
}

.settingsUpgradeBadge span{
	color: rgba(230, 231, 245, 0.72);
	font-size: 0.82rem;
	font-weight: 900;
}

.settingsUpgradeBadge strong{
	color: var(--light-color);
	font-size: 1.4rem;
}

.settingsUpgradeLocked,
.settingsUpgradePlanGrid{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.settingsUpgradePlanGridSingle{
	grid-template-columns: minmax(0, 1fr);
	max-width: 620px;
	margin: 0 auto;
	width: 100%;
}

.settingsUpgradeLocked article,
.settingsUpgradePlanGrid article{
	padding: 16px;
	border: 1px solid rgba(42, 44, 50, 0.12);
	border-radius: 6px;
	background: var(--light-color);
	color: var(--dark-color);
	box-sizing: border-box;
}

.settingsUpgradeLocked strong,
.settingsUpgradeLocked span{
	display: block;
}

.settingsUpgradeLocked strong{
	color: var(--darkblue-color);
	margin-bottom: 6px;
}

.settingsUpgradeLocked span,
.settingsUpgradePlanGrid p,
.settingsUpgradePlanGrid li{
	color: var(--grey-color);
	line-height: 1.45;
}

.settingsUpgradePlans{
	display: grid;
	gap: 16px;
	padding-top: 18px;
	border-top: 1px solid rgba(42, 44, 50, 0.16);
}

.settingsUpgradeActionHeader{
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
	gap: 16px;
	align-items: center;
	padding: 16px;
	border: 1px solid rgba(42, 44, 50, 0.12);
	border-radius: 6px;
	background: var(--white-color);
	color: var(--dark-color);
}

.settingsUpgradeActionHeader h4{
	margin: 0;
	color: var(--darkblue-color);
	font-size: 1.15rem;
}

.settingsUpgradeActionHeader span{
	display: block;
	margin-top: 6px;
	color: var(--grey-color);
	font-weight: 900;
}

.settingsUpgradeActionHeader .settingsUpgradeEyebrow{
	color: var(--grey-color);
}

.settingsUpgradePeriods{
	display: flex;
	gap: 8px;
	justify-content: flex-end;
	padding: 4px;
	border-radius: 6px;
	background: rgba(42, 44, 50, 0.08);
	border: 1px solid rgba(42, 44, 50, 0.12);
}

.settingsUpgradePeriods .button{
	min-width: 140px;
	border-radius: 4px;
	background: var(--dark-color);
	color: var(--light-color);
	box-shadow: none;
	white-space: normal;
}

.settingsUpgradePeriods .button.isActive{
	background: var(--light-color);
	color: var(--dark-color);
	border-color: var(--light-color);
}

.settingsUpgradePlanGrid h4{
	margin: 0;
	color: var(--darkblue-color);
	font-size: 1.35rem;
}

.settingsUpgradePlanHead{
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 8px;
}

.settingsUpgradePlanHead span{
	color: var(--grey-color);
	font-size: 0.82rem;
	font-weight: 900;
}

.settingsUpgradePrice{
	display: grid;
	gap: 2px;
	margin: 0 0 10px;
	padding: 10px;
	border: 1px solid rgba(42, 44, 50, 0.12);
	border-radius: 6px;
	background: var(--whitesmoke-color);
}

.settingsUpgradePrice strong{
	color: var(--dark-color);
	font-size: 1.28rem;
	line-height: 1.1;
}

.settingsUpgradePrice span{
	color: var(--grey-color);
	font-size: 0.82rem;
	font-weight: 900;
}

.settingsUpgradePlanGrid p{
	margin: 8px 0 10px;
}

.settingsUpgradePlanGrid ul{
	margin: 0 0 18px;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.42rem;
}

.settingsUpgradePlanGrid li{
	display: flex;
	gap: 0.48rem;
	align-items: baseline;
}

.settingsUpgradePlanGrid li::before{
	content: "✓";
	min-width: 1em;
	color: var(--green-color);
	font-weight: 900;
}

.settingsUpgradePlanGrid li.unavailable::before{
	content: "✕";
	color: var(--red-color);
}

.settingsUpgradePlanGrid li.neutral::before{
	content: "";
	min-width: 0;
}

.settingsUpgradePlanGrid article{
	display: flex;
	flex-direction: column;
}

.settingsUpgradePlanFeatured{
	border-color: rgba(42, 44, 50, 0.34) !important;
	box-shadow: inset 0 0 0 1px rgba(42, 44, 50, 0.18);
}

.settingsUpgradePlanGrid .button{
	width: 100%;
	margin-top: auto;
	border-radius: 4px;
}

body.immoPage #dashboardUpsell.dashboardUpsellModal{
	width: min(980px, calc(100% - 28px)) !important;
	max-width: 980px !important;
	margin: 0 !important;
	overflow: auto !important;
}

body.immoPage #dashboardUpsell .modal-header span{
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

body.immoPage #dashboardUpsell .dashboardUpsellHeaderIcon{
	width: 30px;
	height: 30px;
	object-fit: contain;
}

body.immoPage #dashboardUpsell .dashboardUpsellBody{
	display: grid;
	gap: 16px;
	padding: 16px;
	box-sizing: border-box;
}

body.immoPage #dashboardUpsell .dashboardUpsellHero{
	display: grid;
	grid-template-columns: minmax(0, 1fr) 128px;
	gap: 18px;
	align-items: center;
	padding: 20px;
	border: 1px solid rgba(169, 205, 253, 0.16);
	border-radius: 8px;
	background: rgba(240, 241, 255, 0.045);
	color: var(--light-color);
	box-sizing: border-box;
}

body.immoPage #dashboardUpsell .dashboardUpsellHero h3{
	margin: 0;
	color: var(--light-color);
	font-size: clamp(1.45rem, 3vw, 2.2rem);
	line-height: 1.08;
}

body.immoPage #dashboardUpsell .dashboardUpsellHero p:not(.settingsUpgradeEyebrow){
	margin: 10px 0 0;
	color: rgba(230, 231, 245, 0.78);
	line-height: 1.5;
}

body.immoPage #dashboardUpsell .dashboardUpsellPreview{
	display: grid;
	place-items: center;
	min-height: 112px;
	border: 1px solid rgba(169, 205, 253, 0.16);
	border-radius: 8px;
	background: rgba(169, 205, 253, 0.08);
}

body.immoPage #dashboardUpsell .dashboardUpsellPreview img{
	width: 82px;
	height: 82px;
	object-fit: contain;
}

body.immoPage #dashboardUpsell .dashboardUpsellCharts{
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.9fr) minmax(0, 0.9fr);
	gap: 12px;
}

body.immoPage #dashboardUpsell .dashboardUpsellChartCard{
	min-height: 136px;
	padding: 14px;
	display: grid;
	grid-template-rows: auto minmax(0, 1fr);
	gap: 12px;
	border: 1px solid rgba(169, 205, 253, 0.14);
	border-radius: 8px;
	background: linear-gradient(145deg, rgba(240, 241, 255, 0.055), rgba(240, 241, 255, 0.025));
	box-sizing: border-box;
	overflow: hidden;
}

body.immoPage #dashboardUpsell .dashboardUpsellChartTop{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

body.immoPage #dashboardUpsell .dashboardUpsellChartTop span{
	color: rgba(230, 231, 245, 0.68);
	font-size: 0.76rem;
	font-weight: 900;
	text-transform: uppercase;
}

body.immoPage #dashboardUpsell .dashboardUpsellChartTop strong{
	color: rgba(169, 205, 253, 0.96);
	font-size: 0.94rem;
}

body.immoPage #dashboardUpsell .dashboardUpsellLineChart{
	position: relative;
	min-height: 72px;
	border-bottom: 1px solid rgba(230, 231, 245, 0.12);
	background:
		linear-gradient(to top, rgba(230, 231, 245, 0.08) 1px, transparent 1px) 0 0 / 100% 33%,
		linear-gradient(to right, rgba(230, 231, 245, 0.06) 1px, transparent 1px) 0 0 / 20% 100%;
}

body.immoPage #dashboardUpsell .dashboardUpsellLineChart::before{
	content: "";
	position: absolute;
	inset: 20% 6% 16% 5%;
	border-radius: 999px;
	background: linear-gradient(105deg, transparent 0 9%, rgba(169, 205, 253, 0.7) 9% 20%, transparent 20% 25%, rgba(169, 205, 253, 0.72) 25% 38%, transparent 38% 43%, rgba(36, 196, 127, 0.68) 43% 58%, transparent 58% 63%, rgba(36, 196, 127, 0.72) 63% 80%, transparent 80%);
	transform: skewY(-10deg);
	height: 4px;
	top: 48%;
}

body.immoPage #dashboardUpsell .dashboardUpsellLineChart i{
	position: absolute;
	left: var(--point-x);
	top: var(--point-y);
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: rgba(169, 205, 253, 0.96);
	box-shadow: 0 0 0 4px rgba(169, 205, 253, 0.12);
}

body.immoPage #dashboardUpsell .dashboardUpsellLineChart span{
	position: absolute;
	right: 8px;
	bottom: 8px;
	width: 34%;
	height: 38%;
	border-radius: 999px 999px 0 0;
	background: linear-gradient(to top, rgba(36, 196, 127, 0.2), transparent);
}

body.immoPage #dashboardUpsell .dashboardUpsellBarChart{
	min-height: 74px;
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 8px;
	align-items: end;
	padding-top: 8px;
	border-bottom: 1px solid rgba(230, 231, 245, 0.12);
}

body.immoPage #dashboardUpsell .dashboardUpsellBarChart i{
	display: block;
	height: var(--bar-height);
	min-height: 18px;
	border-radius: 999px 999px 4px 4px;
	background: linear-gradient(to top, rgba(169, 205, 253, 0.42), rgba(169, 205, 253, 0.92));
	box-shadow: inset 0 -10px 18px rgba(42, 44, 50, 0.18);
}

body.immoPage #dashboardUpsell .dashboardUpsellBarChart i:nth-child(4),
body.immoPage #dashboardUpsell .dashboardUpsellBarChart i:nth-child(6){
	background: linear-gradient(to top, rgba(36, 196, 127, 0.34), rgba(36, 196, 127, 0.86));
}

body.immoPage #dashboardUpsell .dashboardUpsellDonutChart{
	min-height: 78px;
	display: grid;
	grid-template-columns: 74px minmax(0, 1fr);
	gap: 12px;
	align-items: center;
}

body.immoPage #dashboardUpsell .dashboardUpsellDonutChart > div{
	width: 70px;
	height: 70px;
	border-radius: 999px;
	background:
		radial-gradient(circle at center, #34363d 0 42%, transparent 43%),
		conic-gradient(rgba(36, 196, 127, 0.86) 0 58%, rgba(169, 205, 253, 0.76) 58% 86%, rgba(224, 127, 0, 0.76) 86% 100%);
	box-shadow: inset 0 0 0 1px rgba(230, 231, 245, 0.14);
}

body.immoPage #dashboardUpsell .dashboardUpsellDonutChart ul{
	margin: 0;
	padding: 0;
	display: grid;
	gap: 6px;
	list-style: none;
	color: rgba(230, 231, 245, 0.72);
	font-size: 0.78rem;
	font-weight: 850;
}

body.immoPage #dashboardUpsell .dashboardUpsellDonutChart li{
	display: flex;
	align-items: center;
	gap: 7px;
	min-width: 0;
	white-space: nowrap;
}

body.immoPage #dashboardUpsell .dashboardUpsellDonutChart li span{
	width: 9px;
	height: 9px;
	border-radius: 999px;
	background: rgba(36, 196, 127, 0.86);
}

body.immoPage #dashboardUpsell .dashboardUpsellDonutChart li:nth-child(2) span{
	background: rgba(169, 205, 253, 0.76);
}

body.immoPage #dashboardUpsell .dashboardUpsellDonutChart li:nth-child(3) span{
	background: rgba(224, 127, 0, 0.76);
}

body.immoPage #dashboardUpsell .dashboardUpsellBenefits{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

body.immoPage #dashboardUpsell .dashboardUpsellBenefits article{
	padding: 14px;
	border: 1px solid rgba(230, 231, 245, 0.12);
	border-radius: 8px;
	background: rgba(240, 241, 255, 0.035);
	color: var(--light-color);
	box-sizing: border-box;
}

body.immoPage #dashboardUpsell .dashboardUpsellBenefits strong,
body.immoPage #dashboardUpsell .dashboardUpsellBenefits span{
	display: block;
}

body.immoPage #dashboardUpsell .dashboardUpsellBenefits strong{
	margin-bottom: 6px;
	color: rgba(169, 205, 253, 0.96);
}

body.immoPage #dashboardUpsell .dashboardUpsellBenefits span{
	color: rgba(230, 231, 245, 0.72);
	line-height: 1.42;
}

body.immoPage #dashboardUpsell .dashboardUpsellPlans{
	display: grid;
	gap: 14px;
}

body.immoPage #dashboardUpsell .dashboardUpsellActionHeader,
body.immoPage #dashboardUpsell .dashboardUpsellPlanGrid article{
	background: rgba(240, 241, 255, 0.055);
	border-color: rgba(230, 231, 245, 0.14);
	color: var(--light-color);
}

body.immoPage #dashboardUpsell .dashboardUpsellActionHeader h4,
body.immoPage #dashboardUpsell .dashboardUpsellPlanGrid h4{
	color: var(--light-color);
}

body.immoPage #dashboardUpsell .dashboardUpsellActionHeader span,
body.immoPage #dashboardUpsell .dashboardUpsellPlanGrid p,
body.immoPage #dashboardUpsell .settingsUpgradePlanHead span{
	color: rgba(230, 231, 245, 0.72);
}

body.immoPage #dashboardUpsell .settingsUpgradePrice{
	background: rgba(42, 44, 50, 0.34);
	border-color: rgba(230, 231, 245, 0.12);
}

body.immoPage #dashboardUpsell .settingsUpgradePrice strong{
	color: var(--light-color);
}

body.immoPage #dashboardUpsell .settingsUpgradePrice span{
	color: rgba(230, 231, 245, 0.68);
}

body.immoPage #dashboardUpsell .settingsUpgradePeriods{
	background: rgba(42, 44, 50, 0.28);
	border-color: rgba(230, 231, 245, 0.12);
}

body.immoPage #dashboardUpsell .settingsUpgradePeriods .button{
	border-radius: 6px;
	background: rgba(240, 241, 255, 0.055);
	color: rgba(230, 231, 245, 0.88);
	border-color: rgba(230, 231, 245, 0.14);
}

body.immoPage #dashboardUpsell .settingsUpgradePeriods .button.isActive{
	background: rgba(169, 205, 253, 0.14);
	border-color: rgba(169, 205, 253, 0.38);
	color: var(--light-color);
}

body.immoPage #dashboardUpsell .dashboardUpsellPlanGrid .button{
	border-radius: 999px;
}

body.immoPage #messages .modal-header span{
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

body.immoPage #messages .messagesHeaderIcon{
	width: 30px;
	height: 30px;
	object-fit: contain;
}

body.immoPage #messages.settingsModal.immoMessagesModal{
	width: min(95vw, 1200px) !important;
	max-width: 1200px !important;
	max-height: 90dvh !important;
	margin: 0 !important;
	overflow: hidden !important;
	--messages-visual-height: 100dvh;
	--messages-visual-center-y: 50%;
	--messages-keyboard-gap-cover: 64px;
	--messages-header-row-height: 88px;
	--messages-separator-color: rgba(230, 231, 245, 0.12);
}

body.immoPage #messages .messagesShell{
	min-height: min(68dvh, 660px);
	height: min(68dvh, 660px);
	overflow: hidden;
}

body.immoPage #messages .messagesNav{
	grid-template-rows: auto minmax(0, 1fr);
	overflow: hidden;
	border-right-color: var(--messages-separator-color);
}

body.immoPage #messages .messagesSearchCard{
	width: 100%;
	min-width: 0;
	height: var(--messages-header-row-height);
	min-height: var(--messages-header-row-height);
	position: relative;
	display: grid;
	align-content: center;
	gap: 5px;
	margin: 0;
	padding: 8px 12px 10px;
	border: 0;
	border-bottom: 1px solid var(--messages-separator-color);
	border-radius: 0;
	background: transparent;
	box-sizing: border-box;
}

body.immoPage #messages .messagesSearchToggle{
	display: none;
}

body.immoPage #messages .messagesSearchToggleIcon{
	position: relative;
	width: 19px;
	height: 19px;
	border: 3px solid currentColor;
	border-radius: 50%;
	box-sizing: border-box;
	transform: translate(-4px, -3px);
}

body.immoPage #messages .messagesSearchToggleIcon::after{
	content: "";
	position: absolute;
	width: 9px;
	height: 3px;
	right: -8px;
	bottom: -5px;
	border-radius: 999px;
	background: currentColor;
	transform: rotate(45deg);
	transform-origin: center;
}

body.immoPage #messages .messagesSearchToggleText{
	display: none;
}

body.immoPage #messages .messagesSearchCard .fieldset-input{
	width: 100%;
	min-width: 0;
	margin: 0;
}

body.immoPage #messages .messagesSearchCard input{
	height: 43px;
	min-height: 43px;
	width: 100%;
	min-width: 0;
	padding: 0 12px;
	font-size: 0.92rem;
	box-sizing: border-box;
}

body.immoPage #messages .messagesSearchCounter{
	position: absolute;
	left: 14px;
	bottom: 5px;
	color: rgba(230, 231, 245, 0.66) !important;
	font-size: 0.62rem;
	font-weight: 800;
	line-height: 1;
	opacity: 0.72;
}

body.immoPage #messages .messagesConversationList{
	min-height: 0;
	padding: 12px;
	display: grid;
	align-content: start;
	gap: 8px;
	overflow-y: auto;
	overflow-x: hidden;
	box-sizing: border-box;
}

body.immoPage #messages .messagesConversationItem{
	width: 100%;
	min-width: 0;
	padding: 12px;
	display: grid;
	gap: 7px;
	border: 1px solid rgba(230, 231, 245, 0.14);
	border-radius: 8px;
	background: rgba(230, 231, 245, 0.055);
	color: var(--light-color);
	text-align: left;
	cursor: pointer;
	box-sizing: border-box;
	position: relative;
	transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
}

body.immoPage #messages .messagesConversationItem::before{
	display: none;
}

body.immoPage #messages .messagesConversationItem.isFilteredOut{
	display: none !important;
}

body.immoPage #messages .messagesConversationItem:hover,
body.immoPage #messages .messagesConversationItem:focus-visible{
	background: rgba(230, 231, 245, 0.12);
	border-color: rgba(230, 231, 245, 0.28);
	transform: translateY(-1px);
}

body.immoPage #messages .messagesConversationItem.isActive{
	background: rgba(169, 205, 253, 0.14);
	border-color: rgba(169, 205, 253, 0.46);
	box-shadow: inset 0 0 0 1px rgba(169, 205, 253, 0.12);
}

body.immoPage #messages .messagesConversationItem.hasNotifications{
	border-color: rgba(222, 52, 65, 0.32);
}

body.immoPage #messages .messagesConversationBadge{
	position: absolute;
	top: 7px;
	right: 8px;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: rgba(211, 35, 53, 0.94);
	color: var(--light-color);
	border: 2px solid #34363d;
	box-sizing: border-box;
	font-size: 0.64rem;
	font-weight: 950;
	line-height: 1;
	z-index: 3;
	box-shadow: 0 6px 14px rgba(0, 0, 0, 0.24);
}

body.immoPage #messages .messagesConversationTop{
	display: grid;
	gap: 3px;
}

body.immoPage #messages .messagesConversationTop strong{
	display: flex;
	align-items: baseline;
	gap: 6px;
	min-width: 0;
	color: var(--light-color);
	font-size: 0.95rem;
	line-height: 1.12;
	overflow: hidden;
	white-space: nowrap;
}

body.immoPage #messages .messagesConversationName{
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

body.immoPage #messages .messagesConversationTop small,
body.immoPage #messages .messagesConversationMeta,
body.immoPage #messages .messagesConversationPreview{
	color: rgba(230, 231, 245, 0.66);
	font-weight: 800;
	line-height: 1.2;
}

body.immoPage #messages .messagesConversationTop small{
	flex: 0 0 auto;
	color: rgba(169, 205, 253, 0.86);
	font-size: 0.7rem;
	text-transform: none;
}

body.immoPage #messages .messagesConversationMeta,
body.immoPage #messages .messagesConversationPreview{
	font-size: 0.78rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

body.immoPage #messages .messagesConversationPreview{
	color: rgba(230, 231, 245, 0.48);
}

body.immoPage #messages .messagesConversationEmpty{
	display: grid;
	gap: 6px;
	padding: 14px;
	border: 1px dashed rgba(230, 231, 245, 0.18);
	border-radius: 8px;
	background: rgba(230, 231, 245, 0.04);
	color: rgba(230, 231, 245, 0.72);
}

body.immoPage #messages .messagesConversationEmpty[hidden],
body.immoPage #messages .messagesNoConversation[hidden]{
	display: none !important;
}

body.immoPage #messages .messagesContent{
	min-height: 0;
	height: 100%;
	padding: 0;
	box-sizing: border-box;
	overflow: hidden;
}

body.immoPage #messages .messagesThreadPanel{
	height: 100%;
	min-height: 0;
	display: grid;
	grid-template-rows: auto minmax(0, 1fr) auto;
	border: 0;
	border-radius: 0;
	background: transparent;
	overflow: hidden;
}

body.immoPage #messages .messagesKeyboardToggle{
	display: none;
	width: 100%;
	height: 28px;
	min-height: 28px;
	padding: 0;
	border: 0;
	border-bottom: 1px solid var(--messages-separator-color);
	background: rgba(230, 231, 245, 0.055);
	color: rgba(230, 231, 245, 0.76);
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-sizing: border-box;
}

body.immoPage #messages .messagesKeyboardToggle::before{
	content: "";
	width: 10px;
	height: 10px;
	border-right: 3px solid currentColor;
	border-bottom: 3px solid currentColor;
	transform: rotate(45deg) translate(-2px, -2px);
	box-sizing: border-box;
}

body.immoPage #messages.isMessagesKeyboardMenuOpen .messagesKeyboardToggle::before{
	transform: rotate(225deg) translate(-2px, -2px);
}

body.immoPage #messages .messagesThreadHeader{
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr);
	gap: 12px;
	align-items: center;
	min-height: var(--messages-header-row-height);
	padding: 10px 14px;
	border-bottom: 1px solid var(--messages-separator-color);
	box-sizing: border-box;
}

body.immoPage #messages .messagesContactAvatar{
	width: 52px;
	height: 52px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
	border: 1px solid rgba(169, 205, 253, 0.38);
	background: rgba(169, 205, 253, 0.12);
	color: var(--light-color);
	font-weight: 950;
}

body.immoPage #messages .messagesThreadIdentity{
	min-width: 0;
	display: grid;
	gap: 4px;
}

body.immoPage #messages .messagesThreadIdentity span{
	color: rgba(169, 205, 253, 0.86) !important;
	font-size: 0.78rem;
	font-weight: 900;
	text-transform: uppercase;
}

body.immoPage #messages .messagesThreadIdentity strong{
	color: var(--light-color) !important;
	font-size: 1.18rem;
	line-height: 1.15;
	overflow-wrap: anywhere;
}

body.immoPage #messages .messagesThreadIdentity small{
	color: rgba(230, 231, 245, 0.62);
	font-size: 0.85rem;
	font-weight: 800;
	overflow-wrap: anywhere;
}

body.immoPage #messages .messagesThreadBody{
	min-height: 0;
	padding: 16px;
	overflow: auto;
	box-sizing: border-box;
}

body.immoPage #messages .messagesMockThread{
	width: 100%;
	min-height: 100%;
	display: grid;
	align-content: end;
	gap: 10px;
	box-sizing: border-box;
}

body.immoPage #messages .messagesMockThread.isEmpty{
	align-content: center;
	justify-items: center;
}

body.immoPage #messages .messagesMockMessage{
	width: 100%;
	display: flex;
	min-width: 0;
}

body.immoPage #messages .messagesMockMessage.isContact{
	justify-content: flex-start;
}

body.immoPage #messages .messagesMockMessage.isOwner{
	justify-content: flex-end;
}

body.immoPage #messages .messagesMockBubble{
	width: fit-content;
	max-width: min(640px, 78%);
	padding: 10px 12px;
	border: 1px solid rgba(230, 231, 245, 0.13);
	border-radius: 8px;
	background: rgba(230, 231, 245, 0.055);
	color: rgba(230, 231, 245, 0.86);
	box-sizing: border-box;
}

body.immoPage #messages .messagesMockMessage.isContact .messagesMockBubble{
	border-color: rgba(169, 205, 253, 0.24);
	background: rgba(169, 205, 253, 0.08);
	border-bottom-left-radius: 0;
}

body.immoPage #messages .messagesMockMessage.isOwner .messagesMockBubble{
	border-color: rgba(12, 172, 100, 0.26);
	background: rgba(12, 172, 100, 0.08);
	border-bottom-right-radius: 0;
}

body.immoPage #messages .messagesMockMeta{
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 5px;
}

body.immoPage #messages .messagesMockMeta strong{
	min-width: 0;
	color: var(--light-color);
	font-size: 0.76rem;
	font-weight: 900;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

body.immoPage #messages .messagesMockMeta small{
	flex: 0 0 auto;
	color: rgba(230, 231, 245, 0.52);
	font-size: 0.66rem;
	font-weight: 800;
}

body.immoPage #messages .messagesMockBubble p{
	margin: 0;
	color: rgba(230, 231, 245, 0.76) !important;
	font-size: 0.86rem;
	font-weight: 750;
	line-height: 1.36;
	overflow-wrap: anywhere;
}

body.immoPage #messages .messagesMockDelivery{
	min-height: 12px;
	margin-top: 6px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	color: rgba(230, 231, 245, 0.48);
	font-size: 0.68rem;
	font-weight: 950;
	line-height: 1;
}

body.immoPage #messages .messagesMockDelivery span{
	display: inline-flex;
	min-width: 14px;
	justify-content: flex-end;
	letter-spacing: 0;
}

body.immoPage #messages .messagesMockDelivery.is-delivered{
	color: rgba(230, 231, 245, 0.64);
}

body.immoPage #messages .messagesMockDelivery.is-read{
	color: rgba(169, 205, 253, 0.92);
}

body.immoPage #messages .messagesEmptyBubble{
	justify-self: center;
	align-self: center;
	width: min(100%, 520px);
	padding: 18px 20px;
	border: 0;
	border-radius: 0;
	background: transparent;
	text-align: center;
	color: var(--light-color);
	box-sizing: border-box;
}

body.immoPage #messages .messagesEmptyBubble strong{
	display: block;
	color: rgba(230, 231, 245, 0.88);
	font-size: 0.98rem;
	font-weight: 900;
	line-height: 1.25;
}

body.immoPage #messages .messagesEmptyBubble span{
	display: block;
	margin-top: 6px;
	color: rgba(230, 231, 245, 0.58) !important;
	font-size: 0.82rem;
	font-weight: 750;
	line-height: 1.35;
	text-transform: none;
}

body.immoPage #messages .messagesComposer{
	display: grid;
	grid-template-columns: minmax(0, 1fr) 132px;
	gap: 10px;
	align-items: end;
	padding: 14px;
	border-top: 1px solid rgba(230, 231, 245, 0.12);
	box-sizing: border-box;
}

body.immoPage #messages .messagesComposer textarea{
	width: 100%;
	min-width: 0;
	height: 56px;
	min-height: 56px;
	max-height: 120px;
	margin: 0 !important;
	padding: 10px 12px;
	resize: none;
	box-sizing: border-box;
	line-height: 1.28;
	font-size: 0.88rem;
	border: 1px solid rgba(230, 231, 245, 0.18) !important;
	background: rgba(230, 231, 245, 0.055) !important;
	color: var(--light-color) !important;
}

body.immoPage #messages .messagesComposer textarea::placeholder{
	color: rgba(230, 231, 245, 0.48) !important;
	opacity: 1;
}

body.immoPage #messages .messagesComposer .button{
	height: 56px;
	margin: 0;
}

body.immoPage #messages .messagesComposerFeedback{
	grid-column: 1 / -1;
	min-height: 1.1em;
	margin: -2px 0 0;
	color: rgba(169, 205, 253, 0.86);
	font-size: 0.72rem;
	font-weight: 850;
}

body.immoPage #messages .messagesComposerFeedback.isError{
	color: rgba(255, 178, 188, 0.92);
}

body.immoPage #messages .messagesComposer textarea:disabled,
body.immoPage #messages .messagesComposer .button:disabled{
	opacity: 0.58;
	cursor: not-allowed;
}

.tenantConversationBody{
	--tenant-conversation-line: rgba(230, 231, 245, 0.14);
	--tenant-conversation-muted: rgba(230, 231, 245, 0.62);
	--tenant-conversation-page-gap: clamp(14px, 2vh, 24px);
	--tenant-conversation-header-height: 80px;
	min-height: 100dvh;
	background: #282b31;
	color: var(--light-color);
}

.tenantConversationPage{
	width: min(980px, calc(100vw - 32px));
	height: calc(100dvh - var(--tenant-conversation-header-height) - (var(--tenant-conversation-page-gap) * 2));
	max-height: calc(100dvh - var(--tenant-conversation-header-height) - (var(--tenant-conversation-page-gap) * 2));
	margin: var(--tenant-conversation-page-gap) auto;
	min-height: 0;
}

.tenantConversationPanel{
	display: grid;
	grid-template-rows: auto minmax(0, 1fr) auto;
	height: 100%;
	min-height: 0;
	max-height: 100%;
	border: 1px solid rgba(230, 231, 245, 0.18);
	border-radius: 8px;
	background: linear-gradient(180deg, rgba(230, 231, 245, 0.07), rgba(230, 231, 245, 0.035));
	box-shadow: 0 22px 60px rgba(0, 0, 0, 0.18);
	overflow: hidden;
	box-sizing: border-box;
}

.tenantConversationHeader{
	display: grid;
	grid-template-columns: 60px minmax(0, 1fr);
	gap: 14px;
	align-items: center;
	padding: 20px 22px;
	border-bottom: 1px solid var(--tenant-conversation-line);
	background: rgba(230, 231, 245, 0.025);
}

.tenantConversationAvatar{
	width: 60px;
	height: 60px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
	border: 1px solid rgba(169, 205, 253, 0.42);
	background: rgba(169, 205, 253, 0.14);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
	font-weight: 950;
	font-size: 1rem;
}

.tenantConversationHeader span{
	display: block;
	color: rgba(169, 205, 253, 0.86);
	font-size: 0.78rem;
	font-weight: 900;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.tenantConversationHeader h1{
	margin: 4px 0 0;
	color: var(--light-color);
	font-size: clamp(1.2rem, 4vw, 1.8rem);
	line-height: 1.12;
}

.tenantConversationNotice{
	margin: 0;
	padding: 10px 12px;
	border: 1px solid rgba(169, 205, 253, 0.26);
	border-radius: 8px;
	background: rgba(169, 205, 253, 0.08);
	color: rgba(230, 231, 245, 0.82);
	font-weight: 850;
}

.tenantConversationNotice.isError{
	border-color: rgba(211, 35, 53, 0.32);
	background: rgba(211, 35, 53, 0.08);
}

.tenantConversationAccess{
	grid-row: 2 / -1;
	min-height: 0;
	padding: clamp(24px, 7vh, 64px) 18px;
	display: grid;
	align-content: start;
	justify-items: center;
	overflow: auto;
	box-sizing: border-box;
}

.tenantConversationAccessCard{
	width: min(540px, 100%);
	padding: 18px;
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	gap: 14px;
	align-items: center;
	border: 1px solid rgba(230, 231, 245, 0.14);
	border-radius: 8px;
	background: rgba(230, 231, 245, 0.055);
	box-shadow: 0 16px 36px rgba(0, 0, 0, 0.14);
	box-sizing: border-box;
}

.tenantConversationAccessCard.isError{
	border-color: rgba(211, 35, 53, 0.34);
	background: rgba(211, 35, 53, 0.08);
}

.tenantConversationAccessIcon{
	width: 42px;
	height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
	border: 1px solid rgba(211, 35, 53, 0.38);
	background: rgba(211, 35, 53, 0.11);
	color: rgba(230, 231, 245, 0.92);
	font-weight: 950;
}

.tenantConversationAccessCard h2{
	margin: 0;
	color: var(--light-color);
	font-size: 1.05rem;
	font-weight: 950;
	line-height: 1.15;
}

.tenantConversationAccessCard p{
	margin: 4px 0 0;
	color: rgba(230, 231, 245, 0.72);
	font-size: 0.88rem;
	font-weight: 780;
	line-height: 1.36;
}

.tenantConversationCodeForm{
	width: min(440px, 100%);
	margin: 0 auto;
	padding: 18px;
	display: grid;
	gap: 14px;
	align-self: start;
	border: 1px solid rgba(230, 231, 245, 0.14);
	border-radius: 8px;
	background: rgba(230, 231, 245, 0.055);
	box-shadow: 0 16px 36px rgba(0, 0, 0, 0.14);
	box-sizing: border-box;
}

.tenantConversationCodeForm label{
	display: grid;
	gap: 7px;
	color: rgba(230, 231, 245, 0.82);
	font-weight: 900;
}

.tenantConversationCodeForm .formText{
	width: 100%;
	height: 58px;
	margin: 0;
	text-align: center;
	letter-spacing: 0.28em;
	border: 1px solid rgba(230, 231, 245, 0.16);
	border-radius: 8px;
	background: rgba(230, 231, 245, 0.09);
	color: var(--light-color);
	font-size: 1.1rem;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.tenantConversationCodeForm .formText::placeholder{
	color: rgba(230, 231, 245, 0.42);
}

.tenantConversationCodeForm .formText:focus{
	border-color: rgba(169, 205, 253, 0.58);
	outline: none;
	box-shadow: 0 0 0 3px rgba(169, 205, 253, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.tenantConversationCodeForm .button{
	height: 56px;
	margin: 0;
	border-color: rgba(169, 205, 253, 0.36);
	border-radius: 8px;
	background: rgba(230, 231, 245, 0.09);
	color: var(--light-color);
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.14);
	transition: background 180ms ease, border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.tenantConversationCodeForm .button:hover,
.tenantConversationCodeForm .button:focus{
	border-color: rgba(169, 205, 253, 0.58);
	background: rgba(169, 205, 253, 0.16);
	color: var(--light-color);
	box-shadow: 0 14px 28px rgba(0, 0, 0, 0.18);
	transform: translateY(-1px);
}

.tenantConversationMessages{
	min-height: 0;
	padding: 20px 22px;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 12px;
	overflow: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	box-sizing: border-box;
	scrollbar-color: rgba(230, 231, 245, 0.24) transparent;
}

.tenantConversationMessages::before{
	content: "";
	margin-top: auto;
}

.tenantConversationMessage{
	display: flex;
	min-width: 0;
}

.tenantConversationMessage.isOwner{
	justify-content: flex-start;
}

.tenantConversationMessage.isTenant{
	justify-content: flex-end;
}

.tenantConversationMessage > div{
	width: fit-content;
	max-width: min(620px, 74%);
	padding: 12px 14px;
	border: 1px solid rgba(230, 231, 245, 0.13);
	border-radius: 8px;
	background: rgba(230, 231, 245, 0.055);
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
	box-sizing: border-box;
}

.tenantConversationMessage.isOwner > div{
	border-color: rgba(169, 205, 253, 0.28);
	background: rgba(169, 205, 253, 0.11);
	border-bottom-left-radius: 0;
}

.tenantConversationMessage.isTenant > div{
	border-color: rgba(230, 231, 245, 0.20);
	background: rgba(230, 231, 245, 0.085);
	border-bottom-right-radius: 0;
}

.tenantConversationMessage header{
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 5px;
}

.tenantConversationMessage strong{
	color: var(--light-color);
	font-size: 0.76rem;
	font-weight: 900;
}

.tenantConversationMessage small{
	color: var(--tenant-conversation-muted);
	font-size: 0.66rem;
	font-weight: 800;
	white-space: nowrap;
}

.tenantConversationMessage p{
	margin: 0;
	color: rgba(230, 231, 245, 0.76);
	font-size: 0.9rem;
	font-weight: 750;
	line-height: 1.36;
	overflow-wrap: anywhere;
}

.tenantConversationDelivery{
	min-height: 14px;
	margin-top: 6px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	color: rgba(230, 231, 245, 0.52);
	font-size: 0.72rem;
	font-weight: 950;
	line-height: 1;
}

.tenantConversationDelivery span{
	display: inline-flex;
	min-width: 14px;
	align-items: center;
	justify-content: flex-end;
	letter-spacing: 0;
}

.tenantConversationDelivery.is-delivered{
	color: rgba(230, 231, 245, 0.66);
}

.tenantConversationDelivery.is-read{
	color: rgba(169, 205, 253, 0.92);
}

.tenantConversationReply{
	display: grid;
	grid-template-columns: minmax(0, 1fr) 136px;
	gap: 12px;
	align-items: stretch;
	padding: 16px 18px;
	border-top: 1px solid var(--tenant-conversation-line);
	background: rgba(28, 30, 36, 0.64);
	box-sizing: border-box;
}

.tenantConversationReply textarea,
.tenantConversationReply textarea:invalid,
.tenantConversationReply textarea:valid{
	width: 100%;
	height: 62px;
	min-height: 62px;
	margin: 0 !important;
	resize: none;
	border: 1px solid rgba(230, 231, 245, 0.16);
	border-radius: 8px;
	background: rgba(230, 231, 245, 0.09);
	color: var(--light-color);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
	box-sizing: border-box;
}

.tenantConversationReply textarea::placeholder{
	color: rgba(230, 231, 245, 0.48);
}

.tenantConversationReply textarea:focus{
	border-color: rgba(169, 205, 253, 0.58);
	outline: none;
	box-shadow: 0 0 0 3px rgba(169, 205, 253, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.tenantConversationReply .button{
	height: 62px;
	margin: 0;
	border-color: rgba(230, 231, 245, 0.18);
	border-radius: 8px;
	background: rgba(230, 231, 245, 0.09);
	background-color: rgba(230, 231, 245, 0.09);
	color: var(--light-color);
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.14);
	transition: background 180ms ease, border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.tenantConversationReply .button:hover,
.tenantConversationReply .button:focus{
	border-color: rgba(230, 231, 245, 0.30);
	background: rgba(230, 231, 245, 0.14);
	background-color: rgba(230, 231, 245, 0.14);
	color: var(--light-color);
	box-shadow: 0 14px 28px rgba(0, 0, 0, 0.18);
	transform: translateY(-1px);
}

body.tenantConversationBody .tenantConversationMessage.isTenant > div{
	border-color: rgba(230, 231, 245, 0.20) !important;
	background: rgba(230, 231, 245, 0.085) !important;
}

body.tenantConversationBody .tenantConversationReply button.tenantConversationSendButton{
	border-color: rgba(230, 231, 245, 0.18) !important;
	background: rgba(230, 231, 245, 0.09) !important;
	background-color: rgba(230, 231, 245, 0.09) !important;
	color: var(--light-color) !important;
}

body.tenantConversationBody .tenantConversationReply button.tenantConversationSendButton:hover,
body.tenantConversationBody .tenantConversationReply button.tenantConversationSendButton:focus{
	border-color: rgba(230, 231, 245, 0.30) !important;
	background: rgba(230, 231, 245, 0.14) !important;
	background-color: rgba(230, 231, 245, 0.14) !important;
}

@media screen and (max-width: 820px){
	.tenantConversationPage{
		width: calc(100vw - 18px);
		height: calc(100dvh - var(--tenant-conversation-header-height) - 18px);
		max-height: calc(100dvh - var(--tenant-conversation-header-height) - 18px);
		margin: 9px auto;
	}

	.tenantConversationPanel{
		min-height: 0;
	}

	.tenantConversationHeader{
		grid-template-columns: 50px minmax(0, 1fr);
		gap: 12px;
		padding: 14px;
	}

	.tenantConversationAvatar{
		width: 50px;
		height: 50px;
	}

	.tenantConversationHeader h1{
		font-size: 1.28rem;
	}

	.tenantConversationAccess{
		padding: 18px 12px;
	}

	.tenantConversationAccessCard,
	.tenantConversationCodeForm{
		padding: 14px;
	}

	.tenantConversationAccessCard{
		grid-template-columns: 36px minmax(0, 1fr);
		gap: 10px;
	}

	.tenantConversationAccessIcon{
		width: 36px;
		height: 36px;
	}

	.tenantConversationCodeForm .formText{
		height: 52px;
		font-size: 0.98rem;
	}

	.tenantConversationCodeForm .button{
		height: 52px;
	}

	.tenantConversationMessages{
		padding: 12px;
		gap: 8px;
	}

	.tenantConversationMessage > div{
		max-width: 88%;
		padding: 8px 10px;
	}

	.tenantConversationMessage strong{
		font-size: 0.68rem;
	}

	.tenantConversationMessage small{
		font-size: 0.58rem;
	}

	.tenantConversationMessage p{
		font-size: 0.74rem;
		line-height: 1.28;
	}

	.tenantConversationReply{
		grid-template-columns: minmax(0, 1fr) 52px;
		gap: 8px;
		padding: 10px;
	}

	.tenantConversationReply textarea,
	.tenantConversationReply textarea:invalid,
	.tenantConversationReply textarea:valid{
		height: 50px;
		min-height: 50px;
		font-size: 0.78rem;
		line-height: 1.18;
	}

	.tenantConversationReply .button{
		width: 52px;
		min-width: 52px;
		height: 50px;
		padding: 0;
		font-size: 0;
		background-image: url("../images/send.png");
		background-repeat: no-repeat;
		background-position: center;
		background-size: 25px 25px;
	}

	body.tenantConversationBody .tenantConversationReply button.tenantConversationSendButton{
		background-color: rgba(230, 231, 245, 0.09) !important;
		background-image: url("../images/send.png") !important;
		background-repeat: no-repeat !important;
		background-position: center !important;
		background-size: 25px 25px !important;
	}

	body.tenantConversationBody .tenantConversationReply button.tenantConversationSendButton:hover,
	body.tenantConversationBody .tenantConversationReply button.tenantConversationSendButton:focus{
		background-color: rgba(230, 231, 245, 0.14) !important;
		background-image: url("../images/send.png") !important;
	}
}

@media screen and (max-width: 520px){
	.tenantConversationMessage > div{
		max-width: 92%;
	}

	.tenantConversationMessage header{
		display: grid;
		gap: 2px;
	}

	.tenantConversationMessage small{
		white-space: normal;
	}
}

@media screen and (max-width: 820px){
	body.immoPage #dashboardUpsell .dashboardUpsellHero,
	body.immoPage #dashboardUpsell .dashboardUpsellCharts,
	body.immoPage #dashboardUpsell .dashboardUpsellBenefits,
	body.immoPage #dashboardUpsell .dashboardUpsellPlanGrid{
		grid-template-columns: 1fr;
	}

	body.immoPage #dashboardUpsell .dashboardUpsellChartCard{
		min-height: 126px;
	}

	body.immoPage #dashboardUpsell .dashboardUpsellPreview{
		min-height: 92px;
	}

	body.immoPage #dashboardUpsell .dashboardUpsellPreview img{
		width: 68px;
		height: 68px;
	}

	body.immoPage #messages.settingsModal.immoMessagesModal{
		width: calc(100% - 18px) !important;
		max-width: calc(100% - 18px) !important;
		max-height: 100dvh !important;
	}

	body.immoPage #messages.settingsModal.immoMessagesModal.isMessagesKeyboardOpen{
		display: grid !important;
		grid-template-rows: auto minmax(0, 1fr) !important;
		top: var(--messages-visual-center-y, 50%) !important;
		height: var(--messages-visual-height, 100dvh) !important;
		max-height: var(--messages-visual-height, 100dvh) !important;
		overflow: hidden !important;
		box-shadow: 0 22px 60px rgba(0, 0, 0, 0.48), 0 var(--messages-keyboard-gap-cover) 0 #2a2c32 !important;
	}

	body.immoPage #messages .messagesShell{
		display: grid !important;
		grid-template-columns: 1fr !important;
		grid-template-rows: auto minmax(0, 1fr) !important;
		height: calc(100dvh - 96px) !important;
		min-height: 0 !important;
	}

	body.immoPage #messages.isMessagesKeyboardOpen .messagesShell{
		align-self: stretch !important;
		height: 100% !important;
		max-height: none !important;
	}

	body.immoPage #messages.isMessagesKeyboardOpen.isMessagesComposerFocus:not(.isMessagesKeyboardMenuOpen) .messagesShell{
		grid-template-rows: minmax(0, 1fr) !important;
	}

	body.immoPage #messages.isMessagesKeyboardOpen.isMessagesComposerFocus .messagesKeyboardToggle{
		display: inline-flex !important;
	}

	body.immoPage #messages.isMessagesKeyboardOpen.isMessagesComposerFocus:not(.isMessagesKeyboardMenuOpen) .messagesNav,
	body.immoPage #messages.isMessagesKeyboardOpen.isMessagesComposerFocus:not(.isMessagesKeyboardMenuOpen) .messagesThreadHeader{
		display: none !important;
	}

	body.immoPage #messages.isMessagesKeyboardOpen.isMessagesComposerFocus:not(.isMessagesKeyboardMenuOpen) .messagesThreadPanel{
		grid-template-rows: 28px minmax(0, 1fr) auto !important;
	}

	body.immoPage #messages.isMessagesKeyboardOpen.isMessagesComposerFocus.isMessagesKeyboardMenuOpen .messagesThreadPanel{
		grid-template-rows: 28px auto minmax(0, 1fr) auto !important;
	}

	body.immoPage #messages .messagesNav{
		display: flex !important;
		align-items: center !important;
		gap: 8px !important;
		height: auto !important;
		max-height: 104px !important;
		padding: 8px !important;
		border-right: 0 !important;
		border-bottom: 1px solid rgba(230, 231, 245, 0.12) !important;
		overflow: hidden !important;
	}

	body.immoPage #messages .messagesSearchCard{
		flex: 0 0 52px !important;
		width: 52px !important;
		height: 52px !important;
		min-width: 52px !important;
		min-height: 52px !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 1px solid rgba(230, 231, 245, 0.14) !important;
		border-radius: 8px !important;
		background: rgba(230, 231, 245, 0.055) !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 8px !important;
		overflow: hidden !important;
		transition: flex-basis 180ms ease, width 180ms ease, padding 180ms ease, border-color 180ms ease, background 180ms ease, transform 160ms ease !important;
	}

	body.immoPage #messages .messagesSearchCard:hover,
	body.immoPage #messages .messagesSearchCard:focus-within{
		transform: translateY(-1px) !important;
		border-color: rgba(169, 205, 253, 0.38) !important;
		background: rgba(230, 231, 245, 0.09) !important;
	}

	body.immoPage #messages.isMessagesSearchOpen .messagesSearchCard{
		flex: 0 0 min(240px, calc(100% - 60px)) !important;
		width: min(240px, calc(100% - 60px)) !important;
		max-width: min(240px, calc(100% - 60px)) !important;
		padding: 5px 7px !important;
		align-items: center !important;
		justify-content: stretch !important;
	}

	body.immoPage #messages .messagesSearchToggle{
		width: 50px !important;
		height: 50px !important;
		min-width: 50px !important;
		padding: 0 !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		border: 0 !important;
		background: transparent !important;
		color: rgba(230, 231, 245, 0.86) !important;
		cursor: pointer !important;
	}

	body.immoPage #messages.isMessagesSearchOpen .messagesSearchToggle{
		width: 36px !important;
		height: 40px !important;
		min-width: 36px !important;
	}

	body.immoPage #messages .messagesSearchCard .fieldset-input{
		display: none !important;
		margin: 0 !important;
		flex: 1 1 auto !important;
		min-width: 0 !important;
	}

	body.immoPage #messages.isMessagesSearchOpen .messagesSearchCard .fieldset-input{
		display: flex !important;
		align-items: center !important;
		transform: translateY(5px) !important;
	}

	body.immoPage #messages .messagesSearchCard .fieldset-input label{
		display: none !important;
	}

	body.immoPage #messages .messagesSearchCard input{
		height: 40px !important;
		min-height: 40px !important;
		font-size: 16px !important;
		padding: 0 7px !important;
		line-height: 40px !important;
	}

	body.immoPage #messages .messagesSearchCounter{
		display: none !important;
	}

	body.immoPage #messages .messagesConversationList{
		display: flex !important;
		flex: 1 1 auto !important;
		width: auto !important;
		min-width: 52px !important;
		max-width: 100% !important;
		align-items: center !important;
		align-content: stretch !important;
		gap: 8px !important;
		max-height: 88px !important;
		margin: -1px 0 !important;
		padding: 1px 0 !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
	}

	body.immoPage #messages .messagesConversationItem{
		flex: 0 0 52px !important;
		width: 52px !important;
		height: 52px !important;
		min-width: 52px !important;
		min-height: 52px !important;
		padding: 5px 4px !important;
		display: inline-grid !important;
		grid-template-rows: auto auto !important;
		align-content: center !important;
		align-items: center !important;
		justify-items: center !important;
		gap: 1px !important;
		overflow: hidden !important;
		position: relative !important;
		z-index: 1 !important;
		transform: none !important;
		transition: background 160ms ease, border-color 160ms ease, transform 160ms ease !important;
	}

	body.immoPage #messages .messagesConversationItem:hover,
	body.immoPage #messages .messagesConversationItem:focus-visible{
		transform: translateY(-1px) !important;
	}

	body.immoPage #messages .messagesConversationItem.isActive{
		z-index: 2 !important;
	}

	body.immoPage #messages .messagesConversationItem::before{
		content: attr(data-initials);
		width: auto;
		height: auto;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		color: var(--light-color);
		font-size: 1.15rem;
		font-weight: 950;
		line-height: 1;
		align-self: center;
	}

	body.immoPage #messages .messagesConversationItem::after{
		content: attr(data-role-short);
		display: block;
		max-width: 100%;
		color: rgba(169, 205, 253, 0.92);
		font-size: 0.56rem;
		font-weight: 950;
		line-height: 1;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		align-self: center;
	}

	body.immoPage #messages .messagesConversationItem > span{
		display: none !important;
	}

	body.immoPage #messages .messagesConversationItem > .messagesConversationBadge{
		top: 3px !important;
		right: 3px !important;
		min-width: 15px !important;
		height: 15px !important;
		padding: 0 4px !important;
		display: inline-flex !important;
		font-size: 0.5rem !important;
		border-width: 1px !important;
	}

	body.immoPage #messages .messagesConversationItem.isExpanded{
		flex: 0 0 min(188px, 58vw) !important;
		width: min(188px, 58vw) !important;
		height: auto !important;
		min-height: 58px !important;
		padding: 8px !important;
		display: grid !important;
		align-items: stretch !important;
		justify-content: stretch !important;
		gap: 5px !important;
	}

	body.immoPage #messages .messagesConversationItem.isExpanded::before{
		display: none !important;
	}

	body.immoPage #messages .messagesConversationItem.isExpanded .messagesConversationTop{
		display: grid !important;
		gap: 2px !important;
	}

	body.immoPage #messages .messagesConversationItem.isExpanded .messagesConversationTop strong{
		font-size: 0.82rem !important;
		line-height: 1.05 !important;
	}

	body.immoPage #messages .messagesConversationItem.isExpanded .messagesConversationTop small{
		font-size: 0.62rem !important;
		line-height: 1.05 !important;
	}

	body.immoPage #messages .messagesConversationItem.isExpanded .messagesConversationMeta,
	body.immoPage #messages .messagesConversationItem.isExpanded .messagesConversationPreview{
		display: block !important;
		font-size: 0.66rem !important;
		line-height: 1.08 !important;
	}

	body.immoPage #messages .messagesConversationItem.isExpanded .messagesConversationPreview{
		display: none !important;
	}

	body.immoPage #messages .messagesConversationMeta,
	body.immoPage #messages .messagesConversationPreview{
		white-space: nowrap !important;
	}

	body.immoPage #messages .messagesNoConversation:not([hidden]){
		flex: 0 0 min(188px, 58vw) !important;
		min-height: 52px !important;
		align-content: center !important;
	}

	body.immoPage #messages .messagesContent{
		min-height: 0 !important;
		height: 100% !important;
		padding: 0 !important;
	}

	body.immoPage #messages .messagesThreadHeader{
		grid-template-columns: 44px minmax(0, 1fr) !important;
		padding: 12px !important;
	}

	body.immoPage #messages .messagesContactAvatar{
		width: 44px !important;
		height: 44px !important;
	}

	body.immoPage #messages .messagesThreadBody{
		padding: 12px !important;
	}

	body.immoPage #messages.isMessagesKeyboardOpen .messagesThreadBody{
		min-height: 96px !important;
	}

	body.immoPage #messages .messagesMockThread{
		gap: 8px !important;
		align-content: end !important;
	}

	body.immoPage #messages .messagesMockBubble{
		max-width: 88% !important;
		padding: 8px 10px !important;
	}

	body.immoPage #messages .messagesMockMeta{
		gap: 8px !important;
		margin-bottom: 4px !important;
	}

	body.immoPage #messages .messagesMockMeta strong{
		font-size: 0.68rem !important;
	}

	body.immoPage #messages .messagesMockMeta small{
		font-size: 0.58rem !important;
	}

	body.immoPage #messages .messagesMockBubble p{
		font-size: 0.72rem !important;
		line-height: 1.28 !important;
	}

	body.immoPage #messages .messagesComposer{
		grid-template-columns: minmax(0, 1fr) 52px !important;
		gap: 8px !important;
		padding: 10px !important;
		align-items: stretch !important;
	}

	body.immoPage #messages .messagesComposer textarea{
		height: 48px !important;
		min-height: 48px !important;
		max-height: 74px !important;
		padding: 8px 10px !important;
		font-size: 16px !important;
		line-height: 1.22 !important;
		resize: none !important;
	}

	body.immoPage #messages .messagesComposer .button{
		width: 52px !important;
		min-width: 52px !important;
		height: 48px !important;
		padding: 0 !important;
		font-size: 0 !important;
		background-image: url("../images/send.png") !important;
		background-repeat: no-repeat !important;
		background-position: center !important;
		background-size: 25px 25px !important;
	}
}

.appUpgradeSwitchButton + .appCompanySwitchName{
	cursor: pointer;
	color: var(--light-color);
	font-weight: 900;
}

@media screen and (max-width: 980px){
	.settingsUpgradeActionHeader,
	.propertyUpgradeHeader{
		grid-template-columns: 1fr;
	}

	.settingsUpgradePeriods{
		flex-direction: column;
		justify-content: stretch;
		width: 100%;
		box-sizing: border-box;
	}

	.settingsUpgradePeriods .button{
		width: 100%;
		min-width: 0;
	}

	.settingsBusinessForm #business_add_pro{
		grid-template-columns: repeat(3, minmax(150px, 1fr));
	}

	.settingsBusinessForm .common-fields{
		grid-template-columns: repeat(2, minmax(180px, 1fr));
	}
}

@media screen and (max-width: 700px){
	.settingsShell{
		grid-template-columns: 100%;
		align-content: start;
		min-height: auto;
	}

	.settingsShell > .modal_article_all{
		grid-column: 1 / -1;
		grid-row: auto;
		margin: 12px;
	}

	.settingsNav{
		display: flex;
		flex-wrap: nowrap;
		gap: 8px;
		overflow-x: auto;
		border-right: none;
		border-bottom: solid 1px var(--platinum-border-color);
		padding: 10px;
		background-color: var(--white-color);
		justify-items: center;
        justify-content: space-around;
	}

	.settingsNavItem{
		flex-direction: column;
		justify-content: center;
		gap: 6px;
		min-width: 88px;
		padding: 10px 8px;
		border: solid 1px var(--platinum-border-color);
		border-radius: 12px;
		background-color: var(--whitesmoke-color);
	}

	.settingsNavItem.isActive{
		background-color: var(--light-color);
		border-color: var(--dark-color);
	}

	.settingsNavIcon{
		width: 24px;
		height: 24px;
	}

	.settingsNavLabel{
		display: none;
	}

	.settingsContent{
		padding: 8px 14px 14px;
		align-self: start;
	}

	.settingsContent > .settingsPanel{
		align-content: start !important;
		align-items: start;
		grid-auto-rows: max-content;
		gap: 10px;
	}

	.settingsUpgradeHero,
	.settingsUpgradeLocked,
	.settingsUpgradePlanGrid{
		grid-template-columns: 1fr;
	}

	.settingsUpgradeActionHeader{
		grid-template-columns: 1fr;
	}

	.settingsUpgradePeriods{
		flex-direction: column;
		justify-content: stretch;
	}

	.logsLookup{
		width: stretch;
	}
}

@media screen and (max-width: 620px){
	.settingsContent{
		padding: 12px;
	}

	.settingsReferralCard{
		grid-template-columns: 1fr;
		grid-template-areas:
			"hero"
			"link"
			"benefit";
		gap: 12px;
		padding: 14px;
	}

	.settingsReferralCard strong{
		font-size: 1.05rem;
	}

	.settingsReferralRules{
		grid-template-columns: 1fr;
	}

	.settingsSectionTitle li{
		padding: 13px 14px;
	}

	.settingsContent .formSettings,
	.settingsBusinessForm{
		padding: 14px;
	}

	.settingsContent .formSettings .fieldset-input,
	.settingsBusinessForm .fieldset-input{
		width: 100% !important;
		margin: 10px 0;
	}

	.settingsFormGrid{
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.settingsBusinessForm #business_add_pro,
	.settingsBusinessForm #business_add_perso,
	.settingsBusinessForm .common-fields,
	.intervenantLine1,
	.intervenantLine2,
	.intervenantLine3,
	.intervenantLine4,
	.intervenantType,
	.intervenantDatesLine{
		grid-template-columns: 1fr !important;
	}

	.settingsChoiceBand p{
		display: grid;
		grid-template-columns: 1fr auto 1fr;
		align-items: center;
	}

	.settingsStructureSwitch{
		display: flex;
		justify-items: center;
		gap: 8px;
		min-height: 43px;
	}

	.settingsStructureLabel{
		width: auto;
		text-align: left;
		font-size: 0.8rem;
	}

	.settingsStructureToggle{
		width: 100%;
		grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
		gap: 8px;
	}

	.settingsStructureOption{
		text-align: center;
		font-size: 0.92rem;
	}

	.settingsSubmitRow,
	.intervenantSubmitRow{
		display: grid;
	}

	.settingsSubmitRow .button,
	.intervenantSubmitRow .button{
		width: 100%;
		min-width: 0;
	}

	.settingsFormGridSecurity,
	.settingsSubmitRowWithStatus{
		grid-template-columns: 1fr;
	}
}

.settingsContent > .settingsPanel{
	width: 100%;
	max-width: 100%;
}

@media screen and (max-width: 700px){
	#settings .settingsNav{
		display: grid;
		grid-template-columns: repeat(5, minmax(0, 1fr));
		gap: 10px;
		padding: 12px 16px 8px 16px;
		border: none;
		background-color: var(--light-color);
		overflow: hidden;
		justify-items: center;
        justify-content: space-around;
	}

	#settings .settingsContent{
		display: block;
		padding-top: 8px !important;
	}

	#settings .settingsContent > .settingsPanel{
		margin-top: 0 !important;
		align-content: start !important;
		justify-content: stretch !important;
	}

	#settings #modal_article_general{
		align-content: start !important;
		grid-auto-rows: max-content;
	}

	#settings .settingsNavItem{
		width: 100%;
		min-width: 0;
		min-height: auto;
		padding: 0;
		border: none;
		border-radius: 0;
		background: transparent;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: flex-start;
		gap: 6px;
		box-shadow: none;
	}

	#settings .settingsNavItem::before{
		content: "";
		display: block;
		width: 43px;
		height: 43px;
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;
		margin: 0 auto 6px auto;
	}

	#settings .settingsNavItem.isActive{
		background: transparent;
		border: none;
	}

	#settings .settingsNavIcon{
		display: none;
	}

	#settings .btnIconMobile.iconSettingsGeneral::before{
		width: 43px;
		height: 43px;
		background-image: url("../images/settingsGen.png");
	}

	#settings .btnIconMobile.iconSettingsPersonal::before{
		width: 43px;
		height: 43px;
		background-image: url("../images/settingsUsers.png");
	}

	#settings .btnIconMobile.iconSettingsLogs::before{
		width: 43px;
		height: 43px;
		background-image: url("../images/logs.png");
	}

	#settings .btnIconMobile.iconSettingsPersons::before{
		width: 43px;
		height: 43px;
		background-image: url("../images/settingsTeam.png");
	}

	#settings .btnIconMobile.iconSettingsBusiness::before{
		width: 43px;
		height: 43px;
		background-image: url("../images/settingsOffices.png");
	}

	#settings .btnIconMobile.btnIconMobileLabel::after{
		font-size: 12.5px !important;
		line-height: 1.15 !important;
	}
}







.intervenantFormLayout{
	display:grid;
	gap:14px;
}

.intervenantFormSection{
	display: grid;
	gap: 14px;
	padding: 16px;
	border: 1px solid rgba(230, 231, 245, 0.13);
	border-radius: 8px;
	background: rgba(20, 22, 28, 0.18);
	box-sizing: border-box;
}

.intervenantFormSectionHeader{
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	padding-bottom: 6px;
	border-bottom: 1px solid rgba(230, 231, 245, 0.08);
	color: rgba(230, 231, 245, 0.92);
}

.intervenantFormSectionHeader strong{
	font-size: 1rem;
	font-weight: 900;
	line-height: 1.2;
}

.intervenantFormSectionHeader span{
	color: rgba(230, 231, 245, 0.52);
	font-size: 0.78rem;
	font-weight: 800;
	line-height: 1.25;
	text-align: right;
}

.intervenantFormSection .fieldset-input{
	margin: 0;
}

.intervenantLine1{
	display:grid;
	grid-template-columns:minmax(260px, 340px);
	gap:14px;
	justify-content:start;
}

.intervenantLine3{
	display:grid;
	grid-template-columns:repeat(3, minmax(220px, 1fr));
	gap:14px 16px;
	align-items:start;
}

.intervenantLine4{
	display:grid;
	grid-template-columns:minmax(260px, 1.2fr) minmax(220px, 1fr) minmax(220px, 1fr) minmax(220px, 1fr);
	gap:14px 16px;
	align-items:start;
}

.intervenantLine2{
	display:grid;
	grid-template-columns:minmax(260px, 1fr) minmax(220px, 1fr);
	gap:14px 16px;
	align-items:start;
}

.intervenantFieldGroup{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	align-items: start;
	min-width: 0;
}

.intervenantFieldGroup .fieldset-input{
	width: 100% !important;
	max-width: 100% !important;
	margin: 0;
}

.intervenantTypeGroup,
.intervenantPhoneGroup,
.intervenantStreetGroup,
.intervenantCityGroup{
	grid-column: span 2;
}

.intervenantPhoneGroup{
	grid-template-columns: minmax(82px, 0.35fr) minmax(180px, 1fr);
}

.intervenantStreetGroup{
	grid-template-columns: minmax(82px, 0.35fr) minmax(220px, 1fr);
}

.intervenantCityGroup{
	grid-template-columns: minmax(120px, 0.5fr) minmax(180px, 1fr);
}

.intervenantPhoneLine{
	display:grid;
	grid-template-columns:110px minmax(220px, 1fr);
	gap:12px;
	align-items:start;
	max-width:520px;
}

.intervenantDatesLine{
	display:grid;
	grid-template-columns:repeat(2, minmax(220px, 320px));
	gap:14px 16px;
	align-items:start;
	justify-content:start;
}

.intervenantPermissionsSurface{
	border-color: rgba(169, 205, 253, 0.22);
	background: rgba(169, 205, 253, 0.035);
	box-sizing: border-box;
}

.intervenantPermissionsSurfaceTitle{
	margin-bottom: 10px;
	color: rgba(230, 231, 245, 0.9);
	font-size: 1rem;
	font-weight: 900;
	line-height: 1.2;
}

.intervenantPropertiesPermissionsWrap{
	display: grid;
	gap: 10px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-sizing: border-box;
}

.intervenantPanelSurface{
	min-height: 96px;
	padding: 2px 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-sizing: border-box;
	overflow: hidden;
	display: grid;
	gap: 10px;
}

.intervenantEmptyState{
	color: rgba(230, 231, 245, 0.58);
	font-weight: 800;
	line-height: 1.35;
	padding: 10px 2px;
}

.intervenantPermissionEmptyState{
	padding: 14px;
	border: 1px solid rgba(230, 231, 245, 0.14);
	border-radius: 8px;
	background: rgba(230, 231, 245, 0.045);
	color: rgba(230, 231, 245, 0.72);
	font-weight: 850;
	line-height: 1.35;
	box-sizing: border-box;
}

.intervenantSelectedFeedback{
	color: rgba(169, 205, 253, 0.9);
	font-weight: 900;
	text-align: left;
	line-height: 1.35;
}

.intervenantResultCard{
	padding: 12px;
	border: 1px solid rgba(230, 231, 245, 0.14);
	border-radius: 8px;
	background: rgba(169, 205, 253, 0.045);
	cursor: pointer;
	transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.intervenantResultCard:last-child{
	border-bottom: 1px solid rgba(230, 231, 245, 0.14);
}

.intervenantResultCard:hover{
	border-color: rgba(169, 205, 253, 0.36);
	background: rgba(169, 205, 253, 0.08);
	transform: translateY(-1px);
}

.intervenantResultCard.isSelected{
	border-color: rgba(169, 205, 253, 0.46);
	background: rgba(169, 205, 253, 0.12);
}

.intervenantManageCard{
	cursor: default;
}

.intervenantResultHead{
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	color: rgba(230, 231, 245, 0.9);
	font-weight: 900;
}

.intervenantResultName{
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.intervenantResultActions{
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	flex: 0 0 auto;
}

.intervenantResultCode,
.intervenantResultMeta{
	color: rgba(230, 231, 245, 0.58);
}

.intervenantResultCode{
	font-size: 11px;
	white-space: nowrap;
}

.intervenantResultMeta{
	margin-top: 2px;
	font-size: 12px;
	line-height: 1.35;
}

.intervenantResultPrices{
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 8px;
}

.intervenantResultPriceBadge{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 26px;
	padding: 0 9px;
	border: 1px solid rgba(169, 205, 253, 0.24);
	border-radius: 999px;
	background: rgba(169, 205, 253, 0.075);
	color: rgba(230, 231, 245, 0.84);
	font-size: 11px;
	font-weight: 850;
	line-height: 1;
	white-space: nowrap;
}

.intervenantResultPriceBadge strong{
	color: rgba(169, 205, 253, 0.95);
	font-size: 10px;
	font-weight: 950;
	text-transform: uppercase;
	letter-spacing: 0;
}

.intervenantStatusBadge{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 26px;
	padding: 0 10px;
	border-radius: 999px;
	background: rgba(230, 231, 245, 0.08);
	color: rgba(230, 231, 245, 0.78);
	font-size: 11px;
	font-weight: 900;
	line-height: 1;
	white-space: nowrap;
}

.intervenantStatusBadge.isActive{
	background: rgba(62, 207, 142, 0.12);
	color: rgba(178, 238, 208, 0.94);
}

.intervenantStatusBadge.isPending{
	background: rgba(250, 180, 70, 0.13);
	color: rgba(255, 221, 164, 0.96);
}

.intervenantStatusBadge.isMuted{
	background: rgba(230, 231, 245, 0.08);
	color: rgba(230, 231, 245, 0.62);
}

.intervenantResultMessageButton{
	min-height: 30px;
	padding: 0 12px;
	border: 1px solid rgba(169, 205, 253, 0.36);
	border-radius: 999px;
	background: rgba(169, 205, 253, 0.08);
	color: rgba(230, 231, 245, 0.9);
	font-size: 12px;
	font-weight: 900;
	line-height: 1;
	cursor: pointer;
	transition: background 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.intervenantResultMessageButton:hover,
.intervenantResultMessageButton:focus-visible{
	border-color: rgba(169, 205, 253, 0.58);
	background: rgba(169, 205, 253, 0.16);
	color: var(--light-color);
	transform: translateY(-1px);
}

.intervenantResultToggleButton{
	width: 32px;
	min-width: 32px;
	height: 30px;
	border: 1px solid rgba(230, 231, 245, 0.24);
	border-radius: 8px;
	background: rgba(230, 231, 245, 0.06);
	color: rgba(230, 231, 245, 0.86);
	font-size: 18px;
	font-weight: 900;
	line-height: 1;
	cursor: pointer;
	transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.intervenantResultToggleButton:hover,
.intervenantResultToggleButton:focus-visible{
	border-color: rgba(169, 205, 253, 0.5);
	background: rgba(169, 205, 253, 0.12);
	color: var(--light-color);
	transform: translateY(-1px);
}

.intervenantResultDetails{
	display: none;
	grid-template-columns: repeat(4, minmax(140px, 1fr));
	gap: 8px;
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid rgba(230, 231, 245, 0.1);
}

.intervenantResultCard.isExpanded .intervenantResultDetails{
	display: grid;
}

.intervenantResultDetails span{
	display: grid;
	gap: 2px;
	min-width: 0;
	color: rgba(230, 231, 245, 0.72);
	font-size: 12px;
	font-weight: 800;
	line-height: 1.25;
}

.intervenantResultDetails strong{
	color: rgba(169, 205, 253, 0.9);
	font-size: 10px;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 0;
}

/* .intervenantPropertiesHead,
.intervenantPropertyRow{
	display:grid;
	grid-template-columns:minmax(220px, 1fr) minmax(320px, 1.4fr);
	gap:12px;
	align-items:start;
}

.intervenantPropertiesHead{
	margin-bottom:10px;
	font-weight:bold;
	color:var(--dark-color);
}

.intervenantPropertyRow{
	padding:12px;
	background:var(--white-color);
	border:1px solid var(--platinum-border-color);
	border-radius:10px;
}

.intervenantPermissionsGrid{
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:8px 12px;
} */

.intervenantPropertiesLayout{
	display:grid;
	grid-template-columns:minmax(260px, 0.9fr) minmax(340px, 1.3fr);
	gap:14px;
	align-items:start;
}

.intervenantPropertiesColumn{
	border:1px solid rgba(230, 231, 245, 0.14);
	border-radius:8px;
	background:rgba(230, 231, 245, 0.045);
	overflow:hidden;
}

.intervenantPropertiesColumnTitle{
	padding:12px 14px;
	font-weight:bold;
	color:rgba(230, 231, 245, 0.88);
	background:rgba(230, 231, 245, 0.055);
	border-bottom:1px solid rgba(230, 231, 245, 0.12);
}

.intervenantPropertiesList{
	display:grid;
	gap:0;
}

.intervenantPropertyRow{
	display: grid;
	gap: 10px;
	padding: 12px;
	border: 1px solid rgba(230, 231, 245, 0.14);
	border-radius: 6px;
	background: rgba(230, 231, 245, 0.055);
	cursor: pointer;
}

.intervenantPropertyRow + .intervenantPropertyRow{
	margin-top: 10px;
}

.intervenantPropertyRow:hover{
	border-color: rgba(169, 205, 253, 0.34);
	background: rgba(169, 205, 253, 0.08);
}

.intervenantPropertyRow label{
	display: flex;
	gap: 10px;
	align-items: flex-start;
	text-align: left;
	color: rgba(230, 231, 245, 0.88);
	font-weight: 900;
	cursor: pointer;
}

.intervenantPropertyRow .intervenantPermissionsBlock{
	padding: 12px;
	border: 1px solid rgba(230, 231, 245, 0.12);
	border-radius: 6px;
	background: rgba(42, 44, 50, 0.36);
}

.intervenantPropertyItem{
	padding:12px 14px;
	border-bottom:1px solid rgba(230, 231, 245, 0.12);
	background:rgba(230, 231, 245, 0.045);
}

.intervenantPropertyItem:last-child{
	border-bottom:none;
}

.intervenantPropertyItem.isActive{
	background:rgba(169, 205, 253, 0.08);
}

.intervenantPropertyLabel{
	display:flex;
	align-items:flex-start;
	gap:10px;
	cursor:pointer;
}

.intervenantPropertyText{
	text-align:left;
}

.intervenantPropertyName{
	display:block;
	font-weight:bold;
	color:rgba(230, 231, 245, 0.9);
}

.intervenantPropertyMeta{
	display:block;
	color:rgba(230, 231, 245, 0.58);
	font-size:13px;
	margin-top:2px;
}

.intervenantPermissionsPanel{
	padding:14px;
	min-height:220px;
}

.intervenantPermissionsEmpty{
	color:rgba(230, 231, 245, 0.58);
}

.intervenantPermissionsBlock{
	display:none;
}

.intervenantPermissionsBlock.isVisible{
	display:block;
}

.intervenantPermissionsGrid{
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:8px 12px;
}

@media (max-width: 980px){
	.intervenantPropertiesLayout{
		grid-template-columns:1fr;
	}
}

@media (max-width: 720px){
	.intervenantPermissionsGrid{
		grid-template-columns:1fr;
	}
}

.intervenantSubmitRow{
	display:flex;
	justify-content:flex-end;
	gap:12px;
	flex-wrap:wrap;
}

@media (max-width: 1200px){
	.intervenantLine3,
	.intervenantLine4{
		grid-template-columns:repeat(2, minmax(220px, 1fr));
	}

	.intervenantTypeGroup,
	.intervenantPhoneGroup,
	.intervenantStreetGroup,
	.intervenantCityGroup{
		grid-column: 1 / -1;
	}

	.intervenantPropertiesHead,
	.intervenantPropertyRow{
		grid-template-columns:1fr;
	}

	.intervenantResultDetails{
		grid-template-columns: repeat(2, minmax(140px, 1fr));
	}
}

@media (max-width: 720px){
	.intervenantResultHead{
		align-items: flex-start;
		flex-wrap: wrap;
	}

	.intervenantResultActions{
		width: 100%;
		justify-content: space-between;
	}

	.intervenantResultCard{
		padding: 10px;
	}

	.intervenantResultDetails{
		grid-template-columns: 1fr;
	}

	.intervenantLine1,
	.intervenantLine2,
	.intervenantLine3,
	.intervenantLine4,
	.intervenantPermissionsGrid{
		grid-template-columns:1fr;
		max-width:none;
	}

	.intervenantType, .intervenantDatesLine{
		grid-template-columns:repeat(2, minmax(0, 1fr));
		gap:12px;
		max-width:none;
	}

	.intervenantFormSection{
		padding: 12px;
		gap: 12px;
	}

	.intervenantFormSectionHeader{
		display: grid;
		gap: 4px;
	}

	.intervenantFormSectionHeader span{
		text-align: left;
		font-size: 0.74rem;
	}

}

@media (max-width: 360px){
	.intervenantTypeGroup,
	.intervenantPhoneGroup,
	.intervenantStreetGroup,
	.intervenantCityGroup{
		grid-template-columns: 1fr;
	}
}

.tenantPayeur{
	background: var(--green-color);
	color: white;
	border-radius: 8px;
	position: relative;
}

.tenantPayeur::after{
	content: "Payeur";
	position: absolute;
	top: 5px;
	right: 10px;
	font-size: 12px;
	background: white;
	color: var(--green-color);
	padding: 2px 6px;
	border-radius: 4px;
}

.lockedField {
	background-color: var(--platinum-color);
	cursor: not-allowed;
}


.globalSupplementRow{
	width:100%;
	display:flex;
	flex-direction:column;
	gap:12px;
}

.globalSupplementLine{
	width:100%;
	display:grid;
	grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
	gap:12px;
	align-items:end;
}

.globalHalfField{
	width:100%;
	min-width:0;
}

.globalHalfField .formText{
	width:100%;
	box-sizing:border-box;
}

.globalToggleField{
	display:flex;
	flex-direction:column;
	justify-content:flex-end;
}

.globalSupplementToggleWrap{
	height:100%;
	display:flex;
	align-items:center;
}

#globalSupplementFieldsRow{
	width:100%;
}

#globalSupplementRow .tenantSupplementToggleWrap{
	height:46px;
	margin:0;
	display:flex;
	align-items:center;
}

@media screen and (max-width: 700px){
	.globalSupplementLine{
		grid-template-columns:100%;
	}
}



/* =========================
CONTRACT SIGNED - ALIGNEMENT FORMULAIRE
========================= */

#replaceTenantContainer,
#singlePayerReplaceContainer,
#noticePeriodContainer,
#contractSignedActionWrap{
	max-width: 420px;
	margin: 10px auto;
	text-align: center;
}

/* Harmonisation des textes */
#replaceTenantContainer p,
#singlePayerReplaceContainer p,
#noticePeriodContainer p{
	margin: 0 0 10px 0;
	text-align: center;
	font-size: 14px;
}

/* Bouton plus cohérent avec les autres forms */
#contractSignedButton{
	display: block;
	margin: 10px auto;
}

.contractActionSelectField{
	width: 100%;
}

.contractActionSelectField label{
	top: 0;
	left: 14px;
	transform: translateY(-50%);
	z-index: 1;
}

.contractActionSelectField .formText{
	margin: 0;
}

/* =========================
	MOBILE ONLY (léger)
	========================= */

@media (max-width: 768px){
	#contractSignedButton{
		width: 100%;
	}

	/* Centrage propre du formulaire contract signed */

	#contractSignedAction,
	#replaceTenantContainer,
	#singlePayerReplaceContainer,
	#noticePeriodContainer,
	#contractSignedActionWrap{
		margin-left: auto;
		margin-right: auto;
	}

	/* Centre aussi le contenu interne (notamment le select Actions) */
	#contractSignedAction select{
		text-align: center;
		text-align-last: center;
	}

	/* Optionnel mais propre pour homogénéité */
	#contractSignedButton{
		margin-left: auto;
		margin-right: auto;
	}

	/* Centrage réel du formulaire sous contrats signés */

	#replaceTenantContainer,
	#singlePayerReplaceContainer,
	#noticePeriodContainer,
	#contractSignedActionWrap{
		width: 100%;
		max-width: 420px;
		margin: 10px auto;
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	#replaceTenantContainer .fieldset-input,
	#singlePayerReplaceContainer .fieldset-input,
	#noticePeriodContainer .fieldset-input,
	#contractSignedActionWrap .fieldset-input{
		width: 100%;
	}

	#replaceTenantContainer p,
	#singlePayerReplaceContainer p,
	#noticePeriodContainer p{
		width: 100%;
		text-align: center;
	}

	#contractSignedAction{
		width: 100%;
		max-width: 420px;
		margin: 10px auto 0 auto;
	}

	#contractSignedButton{
		display: block;
		width: 100%;
		max-width: 420px;
		margin: 10px auto;
	}
}

.gaugeRequestChecks{
	display:flex;
	flex-direction:column;
	gap:10px;
	width:100%;
}

.gaugeRequestCheckItem{
	display:flex;
	align-items:center;
	gap:10px;
	padding:10px 12px;
	border:1px solid var(--platinum-border-color);
	border-radius:10px;
	background:var(--white-color);
	cursor:pointer;
}

.gaugeRequestCheckItem input[type="checkbox"]{
	width:18px;
	height:18px;
	margin:0;
	accent-color:var(--dark-color);
}

.gaugeRequestCheckItem span{
	color:var(--dark-color);
	font-size:14px;
	line-height:1.4;
}

.gaugeValidateWrap{
	display:flex;
	flex-direction:column;
	gap:8px;
}

.gaugeValidateRow{
	display:flex;
	align-items:baseline;
	justify-content: space-evenly;
}

.gaugeValidateInput{
	min-width:90px;
	max-width:140px;
	padding:8px 10px;
}

.gaugeValidateButton,
.gaugeRejectButton{
	min-width:36px;
	height:36px;
	padding:0;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	font-weight:bold;
}

.gaugePendingText{
	color:var(--gray-color);
	font-style:italic;
}

.gaugeValueText{
	font-weight:bold;
	color:var(--dark-color);
}

.gaugePhotoMiniLink{
	font-size:13px;
}

.contractIndexSoon30 th,
.contractIndexSoon30 td{
	color: var(--amber-color);
}

.contractIndexSoon15 th,
.contractIndexSoon15 td,
.contractIndexLate th,
.contractIndexLate td,
.contractIndexLost th,
.contractIndexLost td{
	color: var(--red-color);
}

.contractIndexSoon30 td .button,
.contractIndexSoon15 td .button,
.contractIndexLate td .button,
.contractIndexLost td .button{
	color: inherit;
}

.contractIndexSoon30 td img,
.contractIndexSoon15 td img,
.contractIndexLate td img,
.contractIndexLost td img{
	filter: none;
}







/* =========================
   Tables modal immo
   ========================= */

   .mwTableWrap{
	width: 100%;
	overflow-x: auto;
	border: 1px solid var(--platinum-border-color);
	border-radius: 12px;
	background: var(--white-color);
	box-shadow: 0 10px 24px rgba(0,0,0,0.06);
}

.mwTableWrap table{
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed;
	background: var(--white-color);
}

.mwTableWrap .modalTable{
	min-width: 620px;
}

.mwTableWrap .modalTableDocs{
	min-width: 680px;
}

.mwTableWrap .modalTableGauges{
	min-width: 620px;
}

.mwTableWrap .modalTableInventory{
	min-width: 820px;
}

.mwTableWrap .modalTable th,
.mwTableWrap .modalTable td{
	box-sizing: border-box;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	vertical-align: middle;
}

.mwTableWrap thead.tableImmoDoc,
.mwTableWrap thead.tableImmoGauge,
.mwTableWrap thead.tableImmoInventory{
	background: var(--dark-color);
	color: var(--light-color);
	position: sticky;
	top: 0;
	z-index: 2;
}

.mwTableWrap thead.tableImmoDoc th,
.mwTableWrap thead.tableImmoGauge th,
.mwTableWrap thead.tableImmoInventory th{
	padding: 14px 12px;
	font-size: 13px;
	font-weight: 700;
	text-align: left;
	border-bottom: 1px solid rgba(255,255,255,0.08);
	line-height: 1.15;
	white-space: normal;
}

.mwTableWrap tbody.tableImmoDoc tr,
.mwTableWrap tbody.tableImmoGauge tr,
.mwTableWrap tbody.tableImmoInventory tr,
tr.tableImmoContract{
	background: var(--white-color);
	transition: background-color 0.18s ease, box-shadow 0.18s ease;
}

.mwTableWrap tbody.tableImmoDoc tr:nth-child(even),
.mwTableWrap tbody.tableImmoGauge tr:nth-child(even),
.mwTableWrap tbody.tableImmoInventory tr:nth-child(even),
tr.tableImmoContract:nth-child(even){
	background: var(--whitesmoke-color);
}

.mwTableWrap tbody.tableImmoDoc tr:hover,
.mwTableWrap tbody.tableImmoGauge tr:hover,
.mwTableWrap tbody.tableImmoInventory tr:hover,
tr.tableImmoContract:hover{
	background: #f8f9ff;
}

.mwTableWrap tbody.tableImmoDoc th,
.mwTableWrap tbody.tableImmoGauge th,
.mwTableWrap tbody.tableImmoInventory th,
.mwTableWrap tbody.tableImmoInventory td,
tr.tableImmoContract th,
tr.tableImmoContract td{
	padding: 12px 12px;
	vertical-align: middle;
	text-align: left;
	border-bottom: 1px solid var(--platinum-border-color);
	font-size: 14px;
}

.contractMainPriceCell,
tr.tableImmoContract .contractMainPriceCell{
	text-align:center !important;
}

.contractMainPriceCell a{
	display:inline-block;
	text-align:center;
	line-height:1.35;
}

.mwTableWrap tbody.tableImmoDoc th[style*="font-weight: normal"],
.mwTableWrap tbody.tableImmoGauge th[style*="font-weight: normal"],
.mwTableWrap tbody.tableImmoInventory th[style*="font-weight: normal"],
.mwTableWrap tbody.tableImmoInventory td,
tr.tableImmoContract td{
	font-weight: 400;
	color: var(--grey-color);
}

.mwTableWrap .modalTableDocs tr > th:nth-child(1),
.mwTableWrap .modalTableDocs tr > td:nth-child(1),
.mwTableWrap .modalTableGauges tr > th:nth-child(1),
.mwTableWrap .modalTableGauges tr > td:nth-child(1){
	width: 58px !important;
	text-align: center;
}

.mwTableWrap .modalTableDocs tr > th:nth-child(2),
.mwTableWrap .modalTableDocs tr > td:nth-child(2){
	width: 18% !important;
}

.mwTableWrap .modalTableDocs tr > th:nth-child(3),
.mwTableWrap .modalTableDocs tr > td:nth-child(3){
	width: 28% !important;
}

.mwTableWrap .modalTableDocs tr > th:nth-child(4),
.mwTableWrap .modalTableDocs tr > td:nth-child(4){
	width: 18% !important;
}

.mwTableWrap .modalTableDocs tr > th:nth-child(5),
.mwTableWrap .modalTableDocs tr > td:nth-child(5){
	width: 14% !important;
}

.mwTableWrap .modalTableDocs tr > th:nth-child(6),
.mwTableWrap .modalTableDocs tr > td:nth-child(6){
	width: 16% !important;
}

.mwTableWrap .modalTableDocsSimple{
	min-width: 560px;
}

.mwTableWrap .modalTableDocsSimple tr > th:nth-child(1),
.mwTableWrap .modalTableDocsSimple tr > td:nth-child(1){
	width: 58px !important;
}

.mwTableWrap .modalTableDocsSimple tr > th:nth-child(2),
.mwTableWrap .modalTableDocsSimple tr > td:nth-child(2){
	width: 22% !important;
}

.mwTableWrap .modalTableDocsSimple tr > th:nth-child(3),
.mwTableWrap .modalTableDocsSimple tr > td:nth-child(3){
	width: 38% !important;
}

.mwTableWrap .modalTableDocsSimple tr > th:nth-child(4),
.mwTableWrap .modalTableDocsSimple tr > td:nth-child(4){
	width: 30% !important;
}

.mwTableWrap .modalTableInventory thead th,
.mwTableWrap .modalTableInventory tbody th,
.mwTableWrap .modalTableInventory tbody td{
	text-align: center;
}

.mwTableWrap .modalTableInventory tr > th:nth-child(1),
.mwTableWrap .modalTableInventory tr > td:nth-child(1){
	width: 13% !important;
}

.mwTableWrap .modalTableInventory tr > th:nth-child(2),
.mwTableWrap .modalTableInventory tr > td:nth-child(2){
	width: 13% !important;
}

.mwTableWrap .modalTableInventory tr > th:nth-child(3),
.mwTableWrap .modalTableInventory tr > td:nth-child(3){
	width: 16% !important;
}

.mwTableWrap .modalTableInventory tr > th:nth-child(4),
.mwTableWrap .modalTableInventory tr > td:nth-child(4),
.mwTableWrap .modalTableInventory tr > th:nth-child(5),
.mwTableWrap .modalTableInventory tr > td:nth-child(5),
.mwTableWrap .modalTableInventory tr > th:nth-child(6),
.mwTableWrap .modalTableInventory tr > td:nth-child(6){
	width: 12% !important;
}

.mwTableWrap .modalTableInventory tr > th:nth-child(7),
.mwTableWrap .modalTableInventory tr > td:nth-child(7){
	width: 22% !important;
}

.mwTableWrap a.link,
tr.tableImmoContract a.link{
	color: var(--darkblue-color);
	font-weight: 600;
	text-decoration: none;
}

.mwTableWrap a.link:hover,
tr.tableImmoContract a.link:hover{
	color: var(--azure-color);
	text-decoration: underline;
}

/* cases à cocher / radio plus propres */
.mwTableWrap input[type="checkbox"],
.mwTableWrap input[type="radio"],
tr.tableImmoContract input[type="checkbox"],
tr.tableImmoContract input[type="radio"]{
	transform: scale(1.08);
	cursor: pointer;
}

/* valeurs compteur */
.gaugeValueText{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 72px;
	padding: 6px 10px;
	border-radius: 999px;
	background: rgba(12, 172, 100, 0.10);
	color: var(--green-color);
	font-weight: 700;
}

.gaugePendingText{
	display: inline-flex;
	align-items: center;
	padding: 6px 10px;
	border-radius: 999px;
	background: rgba(224, 127, 0, 0.10);
	color: var(--amber-color);
	font-weight: 600;
}

/* ligne de validation compteur */
.gaugeValidateButton,
.gaugeRejectButton,
.gaugeResendButton{
	min-width: 42px;
	padding: 8px 10px;
}

/* =========================
   Sous-lignes contrat
   ========================= */

.contractActionRow{
	background: transparent !important;
}

.contractActionRow > td{
	padding: 0 0 10px !important;
	border: 0 !important;
	background: transparent !important;
}

.contractActionTableDesktop{
	width: 100%;
	table-layout: fixed;
	border-collapse: separate !important;
	border-spacing: 0;
	margin: 0 0 6px 0;
	background: #f7f8fb;
	border: 1px solid var(--platinum-border-color);
	border-top: 0;
	border-radius: 0 0 8px 8px;
	overflow: hidden;
}

.contractActionMobileSplit .contractActionTableMobile{
	width: 100%;
	table-layout: fixed;
	border-collapse: separate !important;
	border-spacing: 0;
	background: #f7f8fb;
	border: 1px solid var(--platinum-border-color);
	border-top: 0;
	overflow: hidden;
}

.contractActionTableDesktop tr:first-child td,
.contractActionMobileSplit .contractActionTableMobile tr:first-child td{
	background: rgba(42, 44, 50, 0.04);
	font-size: 11px;
	font-weight: 700;
	color: var(--dark-color);
	text-transform: uppercase;
	letter-spacing: 0;
	padding-top: 7px !important;
	padding-bottom: 7px !important;
	border-bottom: 1px solid var(--platinum-border-color);
}

.contractActionTableDesktop tr:last-child td,
.contractActionMobileSplit .contractActionTableMobile tr:last-child td{
	padding-top: 8px !important;
	padding-bottom: 8px !important;
	vertical-align: top;
	color: var(--grey-color);
	font-size: 13px;
	line-height: 1.35;
}

.contractActionTableDesktop td,
.contractActionMobileSplit .contractActionTableMobile td{
	border-right: 1px solid rgba(221,221,221,0.8);
}

.contractActionTableDesktop td:last-child,
.contractActionMobileSplit .contractActionTableMobile td:last-child{
	border-right: 0;
}

.contractActionRow > td > table td:last-child{
	border-right: 0;
}

.contractIndexSummaryBar{
	display:flex;
	align-items:center;
	gap:8px;
	flex-wrap:wrap;
	padding:7px 10px;
	background:#fbfcff;
	border:1px solid var(--platinum-border-color);
	border-bottom:0;
	border-radius:8px 8px 0 0;
}

.contractIndexSummaryBarFlatTop{
	border-top-left-radius:0;
	border-top-right-radius:0;
	border-bottom-left-radius:8px;
	border-bottom-right-radius:8px;
	border-bottom:1px solid var(--platinum-border-color);
}

.contractIndexModeBadge,
.contractIndexStatusBadge,
.contractIndexAutoNote{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:22px;
	padding:4px 8px;
	border-radius:999px;
	font-size:11px;
	font-weight:700;
	line-height:1;
	white-space:nowrap;
}

.contractIndexModeAuto{
	background:rgba(12, 172, 100, 0.12);
	color:var(--green-color);
}

.contractIndexModeManual{
	background:rgba(0, 123, 255, 0.10);
	color:var(--azure-color);
}

.contractIndexStatusBadge{
	background:rgba(42, 44, 50, 0.08);
	color:var(--dark-color);
}

.contractIndexSummaryText{
	margin-left:auto;
	color:var(--grey-color);
	font-size:12px;
	line-height:1.35;
}

.contractIndexSummaryNotice{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:22px;
	padding:4px 8px;
	border-radius:999px;
	background:rgba(42, 44, 50, 0.08);
	color:var(--dark-color);
	font-weight:700;
	white-space:nowrap;
}

.contractIndexSummaryLate{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:22px;
	padding:4px 8px;
	border-radius:999px;
	background:rgba(255, 161, 67, 0.14);
	color:#ffb15f;
	font-weight:700;
	white-space:nowrap;
}

.contractIndexSummaryText.is-hidden{
	display:none;
}

.contractIndexSummaryError{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:24px;
	padding:4px 9px;
	border-radius:999px;
	background:rgba(220, 53, 69, 0.10);
	color:var(--red-color);
	font-weight:700;
	white-space:nowrap;
}

.contractIndexActions{
	display:grid;
	grid-auto-flow:column;
	align-items:center;
	justify-content:center;
	gap:10px;
	margin-top:4px;
}

.contractIndexActionCell{
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:34px;
}

.contractActionIconButton{
	width:32px;
	height:32px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:0;
	border:1px solid rgba(230, 231, 245, 0.18);
	border-radius:6px;
	background:rgba(230, 231, 245, 0.06);
	color:rgba(246, 247, 255, 0.86);
	font-size:21px;
	font-weight:800;
	line-height:1;
	cursor:pointer;
	transition:background-color 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

.contractActionIconButton:hover{
	transform:translateY(-1px);
}

.contractIndexValidateButton{
	border-color:rgba(88, 214, 141, 0.38);
	background:rgba(88, 214, 141, 0.12);
	color:#c8f7d6;
}

.contractIndexValidateButton:hover{
	border-color:rgba(88, 214, 141, 0.62);
	background:rgba(88, 214, 141, 0.18);
}

.contractIndexRejectButton{
	border-color:rgba(255, 116, 116, 0.38);
	background:rgba(255, 116, 116, 0.12);
	color:#ffd0d0;
}

.contractIndexRejectButton:hover{
	border-color:rgba(255, 116, 116, 0.62);
	background:rgba(255, 116, 116, 0.18);
}

.contractIndexAutoNote{
	margin-top:4px;
	background:rgba(12, 172, 100, 0.10);
	color:var(--green-color);
}

.contractActionToggle.button{
	width:34px;
	height:34px;
	min-width:34px;
	min-height:34px;
	padding:0 !important;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	border-radius:7px;
	font-size:15px;
	line-height:1;
}

.contractActionToggleIcon{
	display:block;
	line-height:1;
}

/* montant révisé */
.contractIndexNewAmountValue{
	display: inline-block;
	font-size: 15px;
	font-weight: 700;
	color: var(--green-color);
	line-height: 1.1;
}

.contractIndexNewAmountCurrency{
	font-size: 12px;
	font-weight: 600;
	color: var(--gray-color);
	margin-left: 4px;
}

/* champ charges révisées */
.contractChargesRevisedInput{
	min-height: 30px;
	height: 30px;
	border-radius: 7px;
	padding: 4px 8px;
	font-size: 13px;
	font-weight: 700;
	text-align: center;
	background: #fff;
}

.contractChargesReadonly{
	display:inline-flex;
	align-items:center;
	min-height:24px;
	color:var(--grey-color);
	font-size:13px;
	font-weight:600;
}

/* ligne principale contrat avec sous-ligne */
tr.tableImmoContract:has(+ .contractActionRow){
	box-shadow: inset 0 -1px 0 rgba(0,0,0,0.02);
}

.gaugeValidateRow{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

.gaugeValidateInput{
	flex: 1 1 100%;
	min-width: 0;
}

.gaugeValidateButton,
.gaugeRejectButton{
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* =========================
   Mobile
   ========================= */

@media screen and (max-width: 700px){
	.mwTableWrap thead.tableImmoDoc th,
	.mwTableWrap thead.tableImmoGauge th,
	.mwTableWrap thead.tableImmoInventory th,
	.mwTableWrap tbody.tableImmoDoc th,
	.mwTableWrap tbody.tableImmoGauge th,
	.mwTableWrap tbody.tableImmoInventory th,
	.mwTableWrap tbody.tableImmoInventory td,
	tr.tableImmoContract th,
	tr.tableImmoContract td{
		padding: 10px 8px;
		font-size: 13px;
	}

	.mwTableWrap{
		border-radius: 10px;
	}

	.mwTableWrap .modalTable{
		min-width: 600px;
	}

	.mwTableWrap .modalTableDocs{
		min-width: 700px;
	}

	.mwTableWrap .modalTableDocsSimple{
		min-width: 560px;
	}

	.mwTableWrap .modalTableGauges{
		min-width: 470px !important;
	}

	body.immoPage #gauges .modalTableGauges th,
	body.immoPage #gauges .modalTableGauges td{
		padding-left: 6px !important;
		padding-right: 6px !important;
	}

	body.immoPage #gauges .modalTableGauges tr > th:nth-child(1),
	body.immoPage #gauges .modalTableGauges tr > td:nth-child(1){
		width: 44px !important;
	}

	body.immoPage #gauges .modalTableGauges tr > th:nth-child(2),
	body.immoPage #gauges .modalTableGauges tr > td:nth-child(2){
		width: 26% !important;
	}

	body.immoPage #gauges .modalTableGauges tr > th:nth-child(3),
	body.immoPage #gauges .modalTableGauges tr > td:nth-child(3){
		width: 48% !important;
	}

	body.immoPage #gauges .modalTableGauges tr > th:nth-child(4),
	body.immoPage #gauges .modalTableGauges tr > td:nth-child(4){
		width: 58px !important;
		text-align: center !important;
	}

	body.immoPage #gauges .gaugeValidateRow{
		display: grid !important;
		grid-template-columns: 92px 34px 34px !important;
		gap: 6px !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
	}

	body.immoPage #gauges .gaugeValidateInput{
		width: 92px !important;
		min-width: 0 !important;
		max-width: 92px !important;
		height: 38px !important;
		padding: 8px 10px !important;
		margin: 0 !important;
	}

	body.immoPage #gauges .gaugeValidateButton,
	body.immoPage #gauges .gaugeRejectButton{
		width: 34px !important;
		min-width: 34px !important;
		height: 34px !important;
		min-height: 34px !important;
		padding: 0 !important;
		border: 1px solid rgba(230, 231, 245, 0.16) !important;
		border-radius: 8px !important;
		background: rgba(230, 231, 245, 0.08) !important;
		box-shadow: none !important;
		transform: none !important;
		opacity: 1;
		font-size: 20px !important;
		font-weight: 800 !important;
		line-height: 1 !important;
	}

	body.immoPage #gauges .gaugeValidateButton{
		border-color: rgba(64, 171, 119, 0.42) !important;
		background: rgba(29, 111, 72, 0.20) !important;
		color: #c8f1da !important;
	}

	body.immoPage #gauges .gaugeRejectButton{
		border-color: rgba(225, 94, 94, 0.38) !important;
		background: rgba(225, 94, 94, 0.10) !important;
		color: #ffd6d6 !important;
	}

	.mwTableWrap .modalTableInventory{
		min-width: 820px;
	}

	.mwTableWrap .modalTable thead th{
		line-height: 1.12;
	}

	#signedContractsFormContent thead.tableImmoContract th:nth-child(1),
	#signedContractsFormContent tbody.tableImmoContract tr.tableImmoContract > th:nth-child(1),
	#signedContractsFormContent tbody.tableImmoContract tr.tableImmoContract > td:nth-child(1){
		width:7% !important;
		padding-left:0 !important;
		padding-right:0 !important;
		text-align:center !important;
	}

	#signedContractsFormContent thead.tableImmoContract th:nth-child(2),
	#signedContractsFormContent tbody.tableImmoContract tr.tableImmoContract > th:nth-child(2),
	#signedContractsFormContent tbody.tableImmoContract tr.tableImmoContract > td:nth-child(2){
		width:34% !important;
	}

	#signedContractsFormContent thead.tableImmoContract th:nth-child(3),
	#signedContractsFormContent tbody.tableImmoContract tr.tableImmoContract > th:nth-child(3),
	#signedContractsFormContent tbody.tableImmoContract tr.tableImmoContract > td:nth-child(3){
		width:17% !important;
	}

	#signedContractsFormContent thead.tableImmoContract th:nth-child(4),
	#signedContractsFormContent tbody.tableImmoContract tr.tableImmoContract > th:nth-child(4),
	#signedContractsFormContent tbody.tableImmoContract tr.tableImmoContract > td:nth-child(4){
		width:25% !important;
	}

	#signedContractsFormContent thead.tableImmoContract th:nth-child(5),
	#signedContractsFormContent tbody.tableImmoContract tr.tableImmoContract > th:nth-child(5),
	#signedContractsFormContent tbody.tableImmoContract tr.tableImmoContract > td:nth-child(5){
		width:17% !important;
		padding-left:4px !important;
		padding-right:4px !important;
	}

	.contractActionTableDesktop{
		min-width: 760px;
	}

	.contractActionMobileSplit .contractActionTableMobile{
		min-width: 0 !important;
	}
	.gaugeValidateRow{
		flex-direction: row;
		align-items: center;
	}

	.gaugeValidateInput{
		flex: 1 1 100%;
		width: 100%;
	}

	body.immoPage #gauges .gaugeValidateRow{
		display: grid !important;
		grid-template-columns: 92px 34px 34px !important;
		gap: 6px !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
	}

	body.immoPage #gauges .gaugeValidateInput{
		width: 92px !important;
		min-width: 0 !important;
		max-width: 92px !important;
		height: 38px !important;
		padding: 8px 10px !important;
		margin: 0 !important;
	}

	body.immoPage #gauges .gaugeValidateButton,
	body.immoPage #gauges .gaugeRejectButton{
		width: 34px !important;
		min-width: 34px !important;
		height: 34px !important;
		min-height: 34px !important;
		padding: 0 !important;
		border: 1px solid rgba(230, 231, 245, 0.16) !important;
		border-radius: 8px !important;
		background: rgba(230, 231, 245, 0.08) !important;
		box-shadow: none !important;
		transform: none !important;
		opacity: 1;
		font-size: 20px !important;
		font-weight: 800 !important;
		line-height: 1 !important;
	}

	body.immoPage #gauges .gaugeValidateButton{
		border-color: rgba(64, 171, 119, 0.42) !important;
		background: rgba(29, 111, 72, 0.20) !important;
		color: #c8f1da !important;
	}

	body.immoPage #gauges .gaugeRejectButton{
		border-color: rgba(225, 94, 94, 0.38) !important;
		background: rgba(225, 94, 94, 0.10) !important;
		color: #ffd6d6 !important;
	}

}

/* table gauges : largeurs fixes de colonnes */
table.gaugesTable,
.gaugesTable{
	width: 100%;
	table-layout: fixed;
}

.gaugesTable tr > th:nth-child(1),
.gaugesTable tr > td:nth-child(1){
	width: 10%;
}

.gaugesTable tr > th:nth-child(2),
.gaugesTable tr > td:nth-child(2){
	width: 30%;
}

.gaugesTable tr > th:nth-child(3),
.gaugesTable tr > td:nth-child(3){
	width: 40%;
}

.gaugesTable tr > th:nth-child(4),
.gaugesTable tr > td:nth-child(4){
	width: 20%;
}

.contractActionMobileSplit{
	display:none;
}

@media screen and (max-width: 700px){
	.contractActionTableDesktop{
		display:none !important;
	}

	.contractActionMobileSplit{
		display:block !important;
		width:100%;
	}

	.contractIndexSummaryBar{
		border-radius:8px 8px 0 0;
		padding:7px 8px;
		gap:6px;
	}

	.contractIndexSummaryText{
		flex:0 1 auto;
		margin-left:auto;
		font-size:12px;
	}

	.contractIndexSummaryError{
		min-height:22px;
		padding:4px 8px;
		font-size:11px;
	}

	.contractActionMobileSplit .contractActionTableMobile{
		display:grid !important;
		width:100% !important;
		grid-template-columns:repeat(3, minmax(0, 1fr));
		border-collapse:separate !important;
		margin:0 !important;
		border-top:0;
	}

	.contractActionMobileSplit .contractActionTableMobile tbody,
	.contractActionMobileSplit .contractActionTableMobile tr{
		display:contents;
	}

	.contractActionMobileSplit .contractActionTableMobile td{
		display:block !important;
		width:auto !important;
		min-width:0 !important;
		padding:7px 8px !important;
		text-align:left !important;
		vertical-align: top !important;
		white-space:normal !important;
		word-break:normal !important;
		overflow-wrap:anywhere !important;
		font-size:12px !important;
		line-height:1.3 !important;
	}

	.contractActionMobileSplit .contractActionTableMobile tr:first-child td{
		font-size:11px !important;
		padding-top:7px !important;
		padding-bottom:6px !important;
	}

	.contractActionMobileSplit .contractActionTableMobile tr:last-child td{
		padding-top:7px !important;
		padding-bottom:8px !important;
	}

	.contractIndexNewAmountValue{
		font-size:14px;
	}

	.contractChargesRevisedInput{
		min-height:30px;
		height:30px;
		max-width:84px !important;
		font-size:13px;
	}

	.contractIndexActions{
		justify-content:flex-start;
		gap:8px;
		margin-top:0;
	}

	.contractActionIconButton{
		width:30px;
		height:30px;
		font-size:20px;
	}

	.tableImmoContractInventory td{
		padding:7px 8px;
		font-size:12px;
	}

	.contractInventoryLabel{
		font-size:13px;
	}

	.contractInventoryStatus{
		font-size:12px;
	}

	.contractInventoryActions .button{
		min-height:30px;
		padding:5px 8px;
		font-size:12px;
		border-radius:6px;
	}
}

.contractInventoryLabel{
	font-weight: 700;
	color: var(--dark-color);
	text-align: left;
	font-size: 13px;
	min-width:0;
}

.contractInventoryStatus{
	text-align: left;
	color: var(--grey-color);
	font-size: 13px;
	min-width:0;
}

.contractInventoryActions{
	text-align:right;
	white-space:nowrap;
	min-width:0;
}

.contractInventoryGrid{
	display:grid;
	grid-template-columns:minmax(110px, 1.25fr) minmax(90px, 0.95fr) minmax(0, 1.8fr);
	align-items:center;
	gap:0;
	width:100%;
}

.inventoryActionsInner{
	display:flex;
	align-items:center;
	justify-content:flex-end;
	gap:6px;
	width:100%;
}

.inventoryActionForm{
	display:inline-flex;
	margin:0;
	vertical-align:middle;
}

.tableImmoContractInventory td{
	background: #f7f8fb;
	border-top: 1px solid var(--platinum-border-color);
	padding: 7px 10px;
	vertical-align: middle;
}

.tableImmoContractInventory .contractInventoryCell{
	padding:7px 12px;
}

.contractInventoryActions .button{
	margin-left: 0;
	min-height: 32px;
	min-width: auto;
	padding: 6px 10px;
	border-radius: 7px;
	font-size: 13px;
	line-height: 1.1;
}

.contractInventoryActions .inventoryActionButton{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:6px;
	box-sizing:border-box;
	flex:0 0 78px;
	width:78px !important;
	min-width:78px !important;
	max-width:78px !important;
	height:30px !important;
	min-height:30px !important;
	max-height:30px !important;
	padding:0 8px !important;
	border-radius:8px;
	line-height:1 !important;
	text-decoration:none;
	vertical-align:middle;
}

.contractInventoryActions .inventoryActionIconWrap{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:0;
	white-space:nowrap;
}

.contractInventoryActions .inventoryActionIconWrap img{
	display:none;
	width:16px;
	height:16px;
	object-fit:contain;
	filter:none;
}

.contractInventoryActions .inventoryActionIconWrap span{
	font-size:12px;
	font-weight:700;
	line-height:1;
}

.contractInventoryActions .inventoryActionCreate{
	width:78px !important;
	min-width:78px !important;
}

tr.tableImmoContractInventory{
	box-shadow: inset 3px 0 0 rgba(42, 44, 50, 0.08);
}

tr.tableImmoContractInventory + tr.tableImmoContractInventory td{
	border-top-style: dashed;
}

@media screen and (max-width: 700px){
	.contractActionToggle.button{
		width:32px;
		height:32px;
		min-width:32px;
		min-height:32px;
		font-size:14px;
	}

	.tableImmoContractInventory td{
		padding:6px 8px !important;
		font-size:12px !important;
	}

	.contractInventoryLabel{
		font-size:12px !important;
		font-weight:700;
	}

	.contractInventoryStatus{
		font-size:12px !important;
	}

	.contractInventoryGrid{
		grid-template-columns:minmax(86px, 1.2fr) minmax(74px, 0.9fr) minmax(0, 1.75fr);
		gap:0;
	}

	.contractInventoryActions .button{
		min-height:28px !important;
		padding:4px 8px !important;
		font-size:12px !important;
		border-radius:6px !important;
	}

	.inventoryActionForm{
		margin:0;
	}

	.inventoryActionsInner{
		gap:4px;
	}

	.contractInventoryActions .inventoryActionButton{
		flex:0 0 46px;
		width:46px !important;
		min-width:46px !important;
		max-width:46px !important;
		height:44px !important;
		min-height:44px !important;
		max-height:44px !important;
		padding:4px 3px !important;
		border-radius:7px !important;
	}

	.contractInventoryActions .inventoryActionIconWrap{
		flex-direction:column;
		gap:4px;
	}

	.contractInventoryActions .inventoryActionIconWrap img{
		display:block;
		width:16px;
		height:16px;
	}

	.contractInventoryActions .inventoryActionIconWrap span{
		position:static;
		width:auto;
		height:auto;
		overflow:visible;
		clip:auto;
		white-space:nowrap;
		font-size:9px;
		font-weight:700;
		line-height:1;
	}

	.contractInventoryActions .inventoryActionCreate{
		width:46px !important;
		min-width:46px !important;
	}
}

/* Connected immo workspace */
.appHeader{
	height: auto;
	min-height: 74px;
	background: var(--dark-color);
	box-shadow: none;
	border-bottom: 1px solid rgba(240, 241, 255, 0.12);
	z-index: 20;
}

.appHeaderSection{
	width: min(1180px, calc(100% - 32px));
	padding: 12px 0;
}

.appHeader #title{
	color: var(--light-color);
	font-size: clamp(1.9rem, 3vw, 3.2rem);
	line-height: 0.9;
	letter-spacing: 0;
}

.appHeader #title sub{
	font-size: 0.42em;
	font-weight: 500;
}

.appHeaderSection{
	position: relative;
}

.appHeaderStatus{
	position: absolute;
	left: 50%;
	top: 50%;
	max-width: min(460px, calc(100vw - 420px));
	min-height: 34px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 0.35rem 0.85rem;
	box-sizing: border-box;
	border: 1px solid rgba(230, 231, 245, 0.18);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.07);
	color: rgba(230, 231, 245, 0.82);
	font-size: 0.88rem;
	font-weight: 900;
	line-height: 1.2;
	text-align: center;
	transform: translate(-50%, -50%);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.appHeaderStatus::before{
	content: "";
	width: 8px;
	height: 8px;
	flex: 0 0 auto;
	border-radius: 50%;
	background: currentColor;
}

.appHeaderStatus.is-info{
	color: rgba(230, 231, 245, 0.84);
}

.appHeaderStatus.is-processing{
	color: var(--azure-color);
	border-color: rgba(0, 123, 255, 0.38);
	background: rgba(0, 123, 255, 0.12);
}

.appHeaderStatus.is-ok{
	color: var(--green-color);
	border-color: rgba(12, 172, 100, 0.42);
	background: rgba(12, 172, 100, 0.14);
}

.appHeaderStatus.is-warning{
	color: #ffcc66;
	border-color: rgba(255, 204, 102, 0.42);
	background: rgba(255, 204, 102, 0.12);
}

.appHeaderStatus.is-error{
	color: var(--pink-color);
	border-color: rgba(211, 35, 53, 0.42);
	background: rgba(211, 35, 53, 0.14);
}

.appHeaderStatus.is-hidden{
	display: none;
}

.publicHeader{
	height: auto;
	min-height: 80px;
	align-items: stretch;
}

.publicHeaderSection{
	position: relative;
	flex-wrap: wrap;
	gap: 0.45rem 1rem;
	padding: 0.55rem 0;
}

.publicHeaderStatus{
	position: static;
	order: 3;
	flex: 1 0 100%;
	width: 100%;
	max-width: 100%;
	min-height: 30px;
	padding: 0.28rem 0.75rem;
	font-size: 0.78rem;
	transform: none;
	white-space: normal;
}

.propertyUpgradePrompt{
	width: min(780px, calc(100% - 24px));
	margin: 18px auto;
	padding: 22px;
	box-sizing: border-box;
	border: 1px solid rgba(230, 231, 245, 0.16);
	border-radius: 8px;
	background: rgba(20, 22, 26, 0.96);
	color: var(--light-color);
	text-align: left;
	box-shadow: 0 20px 42px rgba(0, 0, 0, 0.22);
}

.propertyUpgradeEyebrow{
	margin: 0 0 8px;
	color: var(--green-color);
	font-size: 0.78rem;
	font-weight: 900;
	text-transform: uppercase;
}

.propertyUpgradePrompt h3{
	margin: 0;
	color: var(--white-color);
	font-size: clamp(1.35rem, 2.4vw, 1.9rem);
	line-height: 1.15;
}

.propertyUpgradePrompt > p:not(.propertyUpgradeEyebrow){
	margin: 10px 0 0;
	color: rgba(230, 231, 245, 0.78);
	line-height: 1.5;
}

.propertyUpgradeGrid{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin-top: 18px;
}

.propertyUpgradeForm{
	display: grid;
	gap: 14px;
}

.propertyUpgradeHeader{
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
	gap: 12px;
	align-items: center;
	margin-top: 24px;
	padding: 16px 14px;
	border: 1px solid rgba(230, 231, 245, 0.16);
	border-radius: 6px;
	background: rgba(42, 44, 50, 0.86);
}

.propertyUpgradeHeader > span{
	color: rgba(230, 231, 245, 0.8);
	font-weight: 900;
}

.propertyUpgradeGrid article{
	display: flex;
	flex-direction: column;
	padding: 16px;
	border: 1px solid rgba(230, 231, 245, 0.12);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.06);
}

.propertyUpgradeGrid h4{
	margin: 0 0 10px;
	color: var(--white-color);
	font-size: 1.05rem;
}

.propertyUpgradeGrid ul{
	margin: 0 0 16px;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.42rem;
	color: rgba(230, 231, 245, 0.78);
	font-size: 0.92rem;
	line-height: 1.45;
}

.propertyUpgradeGrid li{
	display: flex;
	gap: 0.48rem;
	align-items: baseline;
}

.propertyUpgradeGrid li::before{
	content: "✓";
	min-width: 1em;
	color: var(--green-color);
	font-weight: 900;
}

.propertyUpgradeGrid li.unavailable::before{
	content: "✕";
	color: var(--red-color);
}

.propertyUpgradeGrid li.neutral::before{
	content: "";
	min-width: 0;
}

.propertyUpgradeGrid .settingsUpgradePrice{
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(230, 231, 245, 0.12);
}

.propertyUpgradeGrid .settingsUpgradePrice strong,
.propertyUpgradeGrid .settingsUpgradePrice span{
	color: var(--light-color);
}

.propertyUpgradeGrid .button{
	width: 100%;
	margin-top: auto;
	border-radius: 4px;
	background: var(--light-color);
	color: var(--dark-color);
	border-color: var(--light-color);
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.18);
}

.propertyUpgradeGrid .button:hover,
.propertyUpgradeGrid .button:focus{
	background: var(--white-color);
	color: var(--dark-color);
	border-color: var(--white-color);
}

.propertyUpgradeActions{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 18px;
}

.propertyUpgradeActions .button{
	width: auto;
	min-width: 160px;
}

.propertyUpdateActions{
    display: grid;
    grid-template-columns: minmax(150px, 0.75fr) minmax(240px, 1fr) minmax(180px, 0.85fr);
    align-items: end;
    column-gap: 12px;
    row-gap: 10px;
    margin-top: 10px;
}

.propertyUpdateActions .button{
    width: 100%;
    min-width: 160px;
    min-height: 46px;
    margin: 0;
}

.propertyDeleteButton{
	border-color: var(--red-color) !important;
	background: rgba(211, 35, 53, 0.12) !important;
	color: var(--red-color) !important;
}

.propertyDeleteButton:hover,
.propertyDeleteButton:focus-visible{
	background: var(--red-color) !important;
	color: var(--white-color) !important;
}

.propertyDeleteConfirm{
    width: 100%;
    min-width: 0;
}

.propertyDeleteConfirm .formText{
    width: 100%;
    margin: 0;
    box-sizing: border-box;
}

.appBody{
	background:
		radial-gradient(circle at 18% 0%, rgba(80, 113, 145, 0.12), transparent 32rem),
		var(--dark-color);
	min-height: calc(100vh - 74px);
	color: var(--light-color);
}

.appBodyUser{
	max-width: none;
	margin-top: 0;
}

.appMainSurface{
	width: min(1180px, calc(100% - 32px));
	margin: 0 auto;
	padding: 18px 0 44px;
	background: transparent;
	box-shadow: none;
}

.appMainSurface #actions{
	width: 100%;
	margin: 0 auto 18px;
	gap: 10px;
}

.appMainSurface .topActionsRow{
	width: calc(100% - 18px);
	box-sizing: border-box;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(92px, max-content));
	gap: 8px;
	align-items: stretch;
	justify-content: start;
	padding: 8px;
	border-radius: 6px;
	background: rgba(240, 241, 255, 0.08);
	border: 1px solid rgba(240, 241, 255, 0.12);
}

.appMainSurface .topActionMobile,
.appMainSurface #actions button{
	min-height: 54px;
	min-width: 92px;
	border-radius: 6px !important;
	border: 1px solid rgba(240, 241, 255, 0.14) !important;
	background: rgba(240, 241, 255, 0.9) !important;
	box-shadow: none;
	cursor: pointer;
	transition: transform 160ms ease, border-color 160ms ease, background-color 160ms ease;
}

.appMainSurface .topActionMobile:hover,
.appMainSurface #actions button:hover{
	transform: translateY(-1px);
	border-color: rgba(240, 241, 255, 0.3) !important;
	background: var(--white-color) !important;
}

.appMainSurface .actionsImages{
	width: 30px;
	height: 30px;
	object-fit: contain;
}

#actions .appCompanySwitcher{
	grid-template-columns: 44px minmax(0, 1fr) !important;
	gap: 12px;
	width: 100%;
	max-width: 100%;
	padding: 4px 2px 0;
	box-sizing: border-box;
}

#actions .appCompanySwitcher .appCompanySwitchButton{
	width: 44px !important;
	min-width: 44px !important;
	max-width: 44px !important;
	min-height: 44px !important;
	height: 44px !important;
	max-height: 44px !important;
	padding: 0 !important;
	border-radius: 6px !important;
	box-shadow: none;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	flex: 0 0 44px;
}

#actions .appCompanySwitcher .appCompanySwitchButton img{
	width: 26px !important;
	height: 26px !important;
	object-fit: contain;
}

#actions .appCompanySwitcher .appCompanySwitchName{
	min-width: 0;
	max-width: 100%;
	align-self: center;
	color: var(--light-color);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	line-height: 1.2;
}

.appMainSurface .receiptContractOverview{
	width: calc(100% - 18px);
	margin: 12px auto 14px;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	box-sizing: border-box;
}

.appMainSurface .receiptContractOverviewCard{
	min-width: 0;
	min-height: 86px;
	padding: 14px 16px;
	display: grid;
	align-content: center;
	gap: 6px;
	box-sizing: border-box;
	border: 1px solid rgba(230, 231, 245, 0.16);
	border-radius: 8px;
	background: rgba(240, 241, 255, 0.045);
	color: var(--light-color);
}

.appMainSurface .receiptContractOverviewCard--current{
	border-color: rgba(169, 205, 253, 0.26);
	background: rgba(169, 205, 253, 0.065);
}

.appMainSurface .receiptContractOverviewCard--tenants{
	border-color: rgba(64, 171, 119, 0.30);
	background: rgba(29, 111, 72, 0.12);
}

.appMainSurface .receiptContractOverviewCard--paid{
	border-color: rgba(64, 171, 119, 0.30);
	background: rgba(29, 111, 72, 0.12);
}

.appMainSurface .receiptContractOverviewCard--ending{
	border-color: rgba(224, 127, 0, 0.34);
	background: rgba(224, 127, 0, 0.10);
}

.appMainSurface .receiptContractOverviewCard--upcoming{
	border-color: rgba(139, 120, 190, 0.34);
	background: rgba(139, 120, 190, 0.11);
}

.appMainSurface .receiptContractOverviewCard--unpaid{
	border-color: rgba(202, 58, 74, 0.34);
	background: rgba(118, 38, 50, 0.13);
}

.appMainSurface .receiptContractOverviewLabel{
	color: rgba(230, 231, 245, 0.72);
	font-size: 0.72rem;
	font-weight: 950;
	line-height: 1.1;
	text-transform: uppercase;
}

.appMainSurface .receiptContractOverviewCard strong{
	color: rgba(246, 247, 255, 0.96);
	font-size: 1.7rem;
	font-weight: 950;
	line-height: 0.95;
}

.appMainSurface .receiptContractOverviewMeta{
	min-width: 0;
	color: rgba(230, 231, 245, 0.66);
	font-size: 0.72rem;
	font-weight: 850;
	line-height: 1.15;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.appMainSurface .receiptFeedFilter{
	width: calc(100% - 18px);
	margin: 2px auto 14px;
	padding: 0;
	display: grid;
	grid-template-columns: minmax(260px, 520px) auto;
	gap: 10px 14px;
	align-items: center;
	box-sizing: border-box;
	border: 0;
	background: transparent;
	color: var(--light-color);
}

.appMainSurface .receiptFeedFilterField{
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
}

.appMainSurface .receiptFeedFilterField label,
.appMainSurface .receiptFeedTypeMobile label{
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.appMainSurface .receiptFeedFilterField .formText{
	width: 100% !important;
	height: 52px !important;
	margin: 0 !important;
	padding: 0 18px !important;
	background: rgba(240, 241, 255, 0.055) !important;
	border: 1px solid rgba(169, 205, 253, 0.28) !important;
	color: var(--light-color) !important;
	border-radius: 8px !important;
	font-size: 0.92rem !important;
	font-weight: 900 !important;
}

.appMainSurface .receiptFeedFilterField .formText:focus{
	border-color: rgba(169, 205, 253, 0.6) !important;
	box-shadow: 0 0 0 2px rgba(169, 205, 253, 0.14) !important;
	outline: none !important;
}

.appMainSurface .receiptFeedTypeDesktop{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
	white-space: nowrap;
}

.appMainSurface .receiptFeedTypeButton{
	min-width: 72px;
	min-height: 44px;
	margin: 0;
	padding: 0 14px;
	border-radius: 999px;
	border: 1px solid rgba(169, 205, 253, 0.26);
	background: rgba(240, 241, 255, 0.035);
	color: rgba(230, 231, 245, 0.86);
	font-size: 0.78rem;
	font-weight: 900;
	line-height: 1;
	cursor: pointer;
	transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.appMainSurface .receiptFeedTypeButton:hover,
.appMainSurface .receiptFeedTypeButton:focus-visible{
	transform: translateY(-1px);
	border-color: rgba(169, 205, 253, 0.46);
	background: rgba(169, 205, 253, 0.1);
	color: var(--light-color);
	outline: none;
}

.appMainSurface .receiptFeedTypeButton.is-active{
	border-color: rgba(169, 205, 253, 0.62);
	background: rgba(169, 205, 253, 0.12);
	color: var(--light-color);
}

.appMainSurface .receiptFeedTypeMobile{
	display: none;
	min-width: 0 !important;
	margin: 0 !important;
}

.appMainSurface .receiptFeedTypeMobile .formText{
	height: 52px !important;
	margin: 0 !important;
	padding: 0 34px 0 12px !important;
	border-radius: 8px !important;
	border: 1px solid rgba(169, 205, 253, 0.28) !important;
	background: rgba(240, 241, 255, 0.055) !important;
	color: var(--light-color) !important;
	font-size: 0.78rem !important;
	font-weight: 900 !important;
}

.appMainSurface .receiptFeedFilterEmpty{
	grid-column: 1 / -1;
	margin: 0;
	padding: 0 2px;
	color: rgba(255, 179, 190, 0.95);
	font-size: 0.78rem;
	font-weight: 850;
	line-height: 1.25;
}

.appMainSurface .receiptFeedEmptyState{
	width: calc(100% - 18px);
	min-height: 62px;
	margin: 10px auto 14px;
	padding: 14px 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	box-sizing: border-box;
	border: 1px solid rgba(169, 205, 253, 0.18);
	border-radius: 8px;
	background: rgba(240, 241, 255, 0.035);
	color: var(--light-color);
}

.appMainSurface .receiptFeedEmptyMark{
	width: 8px;
	height: 8px;
	flex: 0 0 8px;
	border-radius: 999px;
	background: rgba(169, 205, 253, 0.78);
	box-shadow: 0 0 0 5px rgba(169, 205, 253, 0.08);
}

.appMainSurface .receiptFeedEmptyText{
	display: grid;
	gap: 2px;
	text-align: left;
	min-width: 0;
}

.appMainSurface .receiptFeedEmptyText strong{
	color: rgba(246, 247, 255, 0.92);
	font-size: 0.9rem;
	font-weight: 900;
	line-height: 1.15;
}

.appMainSurface .receiptFeedEmptyText span{
	color: rgba(230, 231, 245, 0.58);
	font-size: 0.72rem;
	font-weight: 760;
	line-height: 1.2;
}

@media (max-width: 900px){
	.appMainSurface .receiptFeedFilter{
		width: calc(100% - 12px);
		max-width: calc(100% - 12px);
		grid-template-columns: minmax(0, 7fr) minmax(0, 3fr);
		gap: 7px;
		margin-bottom: 10px;
		overflow: hidden;
	}

	.appMainSurface .receiptFeedFilterField,
	.appMainSurface .receiptFeedTypeMobile{
		min-width: 0 !important;
		width: 100% !important;
	}

	.appMainSurface .receiptFeedTypeDesktop{
		display: none;
	}

	.appMainSurface .receiptFeedTypeMobile{
		display: block;
	}

	.appMainSurface .receiptFeedFilterField .formText,
	.appMainSurface .receiptFeedTypeMobile .formText{
		height: 46px !important;
		width: 100% !important;
		min-width: 0 !important;
		font-size: 0.74rem !important;
	}
}

@media (max-width: 700px){
	.appMainSurface .receiptContractOverview{
		width: calc(100% - 12px);
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 7px;
		margin: 8px auto 10px;
	}

	.appMainSurface .receiptContractOverviewCard{
		min-height: 64px;
		padding: 10px 11px;
		gap: 4px;
	}

	.appMainSurface .receiptContractOverviewLabel{
		font-size: 0.58rem;
	}

	.appMainSurface .receiptContractOverviewCard strong{
		font-size: 1.25rem;
	}

	.appMainSurface .receiptContractOverviewMeta{
		font-size: 0.58rem;
	}

	.appMainSurface .receiptFeedFilter{
		width: calc(100% - 12px);
		max-width: calc(100% - 12px);
		grid-template-columns: minmax(0, 7fr) minmax(0, 3fr);
		gap: 7px;
		margin-bottom: 10px;
		overflow: hidden;
	}

	.appMainSurface .receiptFeedFilterField,
	.appMainSurface .receiptFeedTypeMobile{
		min-width: 0 !important;
		width: 100% !important;
	}

	.appMainSurface .receiptFeedTypeDesktop{
		display: none;
	}

	.appMainSurface .receiptFeedTypeMobile{
		display: block;
	}

	.appMainSurface .receiptFeedFilterField .formText,
	.appMainSurface .receiptFeedTypeMobile .formText{
		height: 44px !important;
		width: 100% !important;
		min-width: 0 !important;
		font-size: 0.72rem !important;
	}

	.appMainSurface .receiptFeedEmptyState{
		width: calc(100% - 12px);
		min-height: 54px;
		margin: 8px auto 12px;
		padding: 12px 14px;
		justify-content: flex-start;
	}

	.appMainSurface .receiptFeedEmptyText strong{
		font-size: 0.76rem;
	}

	.appMainSurface .receiptFeedEmptyText span{
		font-size: 0.64rem;
	}
}

.appMainSurface #mainDiv,
.appMainSurface #topDiv{
	width: 100%;
	margin: 0 auto;
	color: var(--light-color);
}

.appMainSurface .contractSection{
	width: 100%;
	margin: 14px auto;
}

.appMainSurface .contractSectionTest{
	margin: 8px auto;
}

.appMainSurface .contractSectionContentMain{
	display: grid;
	grid-template-columns: 1.7fr 1.55fr 1.1fr 1fr 38px;
	min-height: 46px;
	height: auto;
	align-items: center;
	column-gap: 10px;
	border-radius: 8px;
	border: 1px solid rgba(230, 231, 245, 0.14);
	box-shadow: none;
	padding: 8px 8px 8px 12px;
	transition: transform 160ms ease, background-color 160ms ease, border-color 160ms ease;
}

.appMainSurface .contractSectionToggleRow{
	cursor: pointer;
}

.appMainSurface .contractSectionContentMainDiv > a.link{
	display: inline-block;
	width: auto;
	max-width: 100%;
	vertical-align: middle;
}

.appMainSurface .contractFeedPropertyCell > a.link,
.appMainSurface .contractFeedTenantCell > a.link{
	color: rgba(169, 205, 253, 0.95) !important;
	font-weight: 900;
}

.appMainSurface .contractFeedAmountCell,
.appMainSurface .receiptReminderSummary{
	display: grid;
	gap: 1px;
	align-content: center;
}

.appMainSurface .contractFeedAmountValue,
.appMainSurface .receiptReminderDate{
	color: rgba(246, 247, 255, 0.94) !important;
	font-weight: 950;
	line-height: 1.05;
}

.appMainSurface .contractFeedAmountType,
.appMainSurface .receiptReminderCount{
	color: rgba(230, 231, 245, 0.62) !important;
	font-size: 0.74rem;
	font-weight: 900;
	line-height: 1.05;
}

.appMainSurface .contractFeedToggleCell{
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin: 0;
	padding: 0;
}

.appMainSurface .contractFeedToggleButton{
	width: 30px;
	height: 30px;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(230, 231, 245, 0.24);
	border-radius: 8px;
	background: rgba(230, 231, 245, 0.06);
	color: rgba(230, 231, 245, 0.86);
	font-size: 1rem;
	font-weight: 950;
	line-height: 1;
	cursor: pointer;
	transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.appMainSurface .contractFeedToggleButton:hover,
.appMainSurface .contractFeedToggleButton:focus-visible{
	border-color: rgba(169, 205, 253, 0.5);
	background: rgba(169, 205, 253, 0.12);
	color: var(--light-color);
	transform: translateY(-1px);
	outline: none;
}

.appMainSurface .contractSectionContentMain:hover{
	transform: translateY(-1px);
	border-color: rgba(169, 205, 253, 0.36);
	background-color: rgba(169, 205, 253, 0.08) !important;
}

.appMainSurface .contractSectionContentMain,
.appMainSurface .contractSectionContentMain a,
.appMainSurface .contractSectionContentMain span,
.appMainSurface .contractSectionContentMain i{
	color: inherit !important;
}

.appMainSurface .contractSectionContentMain .contractFeedAmountValue,
.appMainSurface .contractSectionContentMain .receiptReminderDate{
	color: rgba(246, 247, 255, 0.94) !important;
}

.appMainSurface .contractSectionContentMain .contractFeedAmountType,
.appMainSurface .contractSectionContentMain .receiptReminderCount{
	color: rgba(230, 231, 245, 0.62) !important;
}

.appMainSurface .contractSectionContentMainDiv{
	padding: 0 3px;
	font-size: 0.9rem;
	line-height: 1.25;
}

.appMainSurface .receiptReminderSummaryInner{
	display: grid;
	gap: 1px;
	align-items: center;
}

.appMainSurface .receiptReminderDate::after{
	content: none;
	margin-left: 0;
}

.appMainSurface .receiptEInvoiceStatusSummary{
	justify-self: end;
	text-align: right;
	max-width: 240px;
}

.appMainSurface .receiptEInvoiceStatusSummary span{
	display: block;
	font-size: 11px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.appMainSurface .receiptEInvoiceStatusSummary .receiptReminderDate::after{
	content: "";
	margin-left: 0;
}

.appMainSurface .contractListSectionActionMenu{
	margin-top: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.appMainSurface .subReceiptAction{
	width: 98%;
	box-sizing: border-box;
	color: var(--light-color);
	border: 1px solid rgba(240, 241, 255, 0.2);
	border-top: none;
	border-radius: 0 0 6px 6px;
	margin: 0 auto;
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	gap: 10px;
	align-items: center;
}

.appMainSurface .subReceiptAction .contractListSectionActionMenu{
	width: 100%;
	box-sizing: border-box;
	color: var(--light-color) !important;
	border-bottom: 1px solid rgba(240, 241, 255, 0.2);
	flex-wrap: nowrap;
	gap: 18px;
	padding: 0 16px;
}

.appMainSurface .subReceiptAction .contractListSectionActionMenu > .buttonSmall,
.appMainSurface .subReceiptAction .contractListSectionActionMenu > .pdfActionMenuWrap{
	flex: 1 1 0;
	width: auto !important;
	min-width: 0;
	margin: 1px 0 !important;
}

.appMainSurface .subReceiptAction .contractListSectionActionMenu > .buttonSmall{
	white-space: nowrap;
}

.appMainSurface .subReceiptAction .receiptInstallmentRow{
	display: grid;
	grid-template-columns: minmax(72px, 0.55fr) minmax(90px, 0.75fr) minmax(30px, 0.25fr) minmax(0, 3.45fr);
	align-items: center;
	column-gap: 14px;
	padding: 0 18px;
}

.appMainSurface .subReceiptAction .receiptInstallmentMeta{
	min-width: 0;
	white-space: nowrap;
	text-align: center;
	overflow: hidden;
	text-overflow: ellipsis;
}

.appMainSurface .subReceiptAction .receiptActionButtons{
	flex-wrap: nowrap;
	gap: 10px;
	min-width: 0;
	width: 100%;
}

.appMainSurface .subReceiptAction .receiptActionButtons > .buttonSmall,
.appMainSurface .subReceiptAction .receiptActionButtons > .pdfActionMenuWrap{
	flex: 1 1 0;
	width: auto !important;
	min-width: 0;
	margin: 1px 0 !important;
	white-space: nowrap;
}

.appMainSurface .subReceiptAction .invoiceActionEStatus{
	min-width: 0;
	width: 90%;
	margin: 1px 5px;
	box-sizing: border-box;
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 0;
	cursor: default;
	border: none;
	text-align: center;
	overflow: hidden;
}

.appMainSurface .subReceiptAction .invoiceActionEStatus::before{
	content: "";
	width: 30px;
	height: 30px;
	display: none;
	background-image: url("../images/einvoice_status/not_transmitted.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.appMainSurface .subReceiptAction .invoiceActionEStatus.eInvoiceStatusIcon--not_transmitted::before{
	background-image: url("../images/einvoice_status/not_transmitted.svg");
}

.appMainSurface .subReceiptAction .invoiceActionEStatus.eInvoiceStatusIcon--not_applicable::before{
	background-image: url("../images/einvoice_status/not_applicable.svg");
}

.appMainSurface .subReceiptAction .invoiceActionEStatus.eInvoiceStatusIcon--pending::before{
	background-image: url("../images/eInvoicePending.png");
}

.appMainSurface .subReceiptAction .invoiceActionEStatus.eInvoiceStatusIcon--exported::before{
	background-image: url("../images/eInvoicePending.png");
}

.appMainSurface .subReceiptAction .invoiceActionEStatus.eInvoiceStatusIcon--processing::before{
	background-image: url("../images/eInvoicePending.png");
}

.appMainSurface .subReceiptAction .invoiceActionEStatus.eInvoiceStatusIcon--deposited::before{
	background-image: url("../images/eInvoiceAccepted.png");
}

.appMainSurface .subReceiptAction .invoiceActionEStatus.eInvoiceStatusIcon--delivered::before{
	background-image: url("../images/eInvoiceAccepted.png");
}

.appMainSurface .subReceiptAction .invoiceActionEStatus.eInvoiceStatusIcon--rejected::before{
	background-image: url("../images/eInvoiceRejected.png");
}

.appMainSurface .subReceiptAction .invoiceActionEStatus.eInvoiceStatusIcon--refused::before{
	background-image: url("../images/eInvoiceRejected.png");
}

.appMainSurface .subReceiptAction .invoiceActionEStatus.eInvoiceStatusIcon--cashed::before{
	background-image: url("../images/einvoice_status/cashed.svg");
}

.appMainSurface .subReceiptAction .invoiceActionEStatus.eInvoiceStatusIcon--partially_cashed::before{
	background-image: url("../images/einvoice_status/partially_cashed.svg");
}

.appMainSurface .subReceiptAction .invoiceActionEStatus.eInvoiceStatusIcon--cancelled::before{
	background-image: url("../images/einvoice_status/cancelled.svg");
}

.appMainSurface .subReceiptAction .invoiceActionEStatus.eInvoiceStatusIcon--error::before{
	background-image: url("../images/eInvoiceRejected.png");
}

.appMainSurface .subReceiptAction .invoiceActionEStatus span{
	display: none;
	max-width: 100%;
	font-size: 0.68rem;
	font-weight: 800;
	opacity: 0.72;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.appMainSurface .subReceiptAction .invoiceActionEStatus strong{
	max-width: 100%;
	font-size: inherit;
	font-weight: inherit;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.appMainSurface .subReceiptAction span,
.appMainSurface .subReceiptAction a,
.appMainSurface .subReceiptAction .link{
	color: var(--light-color) !important;
}

.appMainSurface .subReceiptAction .buttonSmall{
	background-color: rgba(240, 241, 255, 0.14);
	color: var(--light-color) !important;
	border: 1px solid rgba(240, 241, 255, 0.16);
	border-radius: 6px;
	transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.appMainSurface .subReceiptAction .buttonSmall:hover{
	background-color: rgba(240, 241, 255, 0.22);
	color: var(--white-color) !important;
	transform: translateY(-1px);
}

.appMainSurface .subReceiptAction .buttonSmall.invoiceActionEStatus{
	border: none;
}

.appMainSurface .subReceiptAction .btnIconMobile.btnIconMobileLabel::after{
	color: var(--light-color) !important;
}

.appMainSurface .pdfActionMenuWrap{
	position: relative;
	width: 90%;
	margin: 1px 5px;
	display: inline-flex;
	justify-content: center;
}

.appMainSurface .pdfActionTrigger{
	width: 100% !important;
	margin: 0 !important;
	border: none !important;
}

.appMainSurface .pdfActionMenu{
	position: absolute;
	left: 50%;
	bottom: calc(100% + 10px);
	z-index: 20;
	min-width: 132px;
	padding: 6px;
	border: 1px solid rgba(240, 241, 255, 0.22);
	border-radius: 6px;
	background: rgba(42, 46, 56, 0.98);
	box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
	transform: translate(-50%, 8px);
	opacity: 0;
	pointer-events: none;
	transition: opacity 150ms ease, transform 150ms ease;
}

.appMainSurface .pdfActionMenu::after{
	content: "";
	position: absolute;
	left: 50%;
	top: 100%;
	width: 12px;
	height: 12px;
	background: rgba(42, 46, 56, 0.98);
	border-right: 1px solid rgba(240, 241, 255, 0.22);
	border-bottom: 1px solid rgba(240, 241, 255, 0.22);
	transform: translate(-50%, -6px) rotate(45deg);
}

.appMainSurface .pdfActionMenuWrap.open .pdfActionMenu{
	opacity: 1;
	pointer-events: auto;
	transform: translate(-50%, 0);
}

.appMainSurface .pdfActionMenu form{
	margin: 0;
	width: 100%;
}

.appMainSurface .pdfActionMenu button{
	width: 100%;
	min-height: 34px;
	border: 0;
	border-radius: 4px;
	background: transparent;
	color: var(--light-color);
	font-weight: 800;
	cursor: pointer;
}

.appMainSurface .pdfActionMenu button:hover,
.appMainSurface .pdfActionMenu button:focus-visible{
	background: rgba(240, 241, 255, 0.14);
	outline: none;
}

.appMainSurface .pdfActionMenu .eInvoiceStatusBadge{
	box-sizing: border-box;
	width: 100%;
	min-height: 32px;
	padding: 8px 9px;
	margin: 0 0 4px 0;
	border: 1px solid rgba(240, 241, 255, 0.24);
	border-radius: 4px;
	background: rgba(240, 241, 255, 0.08);
	color: var(--light-color);
	font-size: 11px;
	line-height: 1.2;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.appMainSurface .billHistoryContentSection,
.appMainSurface .invoiceHistoryContentSection,
.appMainSurface .contractSectionContent,
.appMainSurface .billStatsContentSection,
.appMainSurface .invoiceStatsContentSection,
.appMainSurface .propertyContentDiv{
	width: 100%;
	height: auto;
	min-height: 86px;
	border-radius: 6px;
	border: 1px solid rgba(42, 46, 56, 0.1);
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
}

.appMainSurface .propertyGrid{
	width: 100%;
	box-sizing: border-box;
	border-radius: 6px;
	background: rgba(42, 46, 56, 0.92);
	border: 1px solid rgba(240, 241, 255, 0.14);
	padding: 14px;
}

.appMainSurface .formText,
.appMainSurface select,
.appMainSurface textarea{
	border-radius: 6px;
	border-color: rgba(42, 46, 56, 0.24);
}

@media (max-width: 700px){
	.appHeader{
		min-height: 72px;
	}

	.appHeaderSection{
		width: calc(100% - 24px);
		padding: 12px 0;
	}

	.appHeaderStatus{
		position: static;
		max-width: 100%;
		width: 100%;
		margin-top: 8px;
		transform: none;
		white-space: normal;
	}

	.propertyUpgradeGrid{
		grid-template-columns: 1fr;
	}

	.propertyUpgradeHeader{
		grid-template-columns: 1fr;
	}

	.propertyUpgradeActions{
		display: grid;
	}

	.propertyUpgradeActions .button{
		width: 100%;
	}

	.propertyUpdateActions{
		grid-template-columns: 1fr;
	}

	.appHeader #title{
		font-size: clamp(2rem, 13vw, 3.25rem);
	}

	.appMainSurface{
		width: calc(100% - 18px);
		padding-top: 16px;
	}

	.appMainSurface .topActionsRow{
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(64px, 1fr));
		gap: 6px;
	}

	.appMainSurface .topActionMobile,
	.appMainSurface #actions button{
		min-height: 66px;
		box-shadow: 0 10px 22px rgba(0, 0, 0, 0.18);
	}

	.appMainSurface .topActionsRow .topActionMobile .actionsImages{
		width: 34px;
		height: 34px;
	}

	.appMainSurface .topActionsRow .topActionMobile::after{
		max-width: 100%;
		font-size: 12px;
		line-height: 1.15;
	}

	#actions .appCompanySwitcher{
		grid-template-columns: 40px minmax(0, 1fr) !important;
		gap: 10px;
	}

	#actions .appCompanySwitcher .appCompanySwitchButton{
		width: 40px !important;
		min-width: 40px !important;
		max-width: 40px !important;
		min-height: 40px !important;
		height: 40px !important;
		max-height: 40px !important;
		flex-basis: 40px;
	}

		.appMainSurface .contractSectionContentMain{
			grid-template-columns: 1.22fr 1.16fr 0.86fr 0.78fr 30px;
			min-height: 54px;
			column-gap: 6px;
			padding: 7px 6px 7px 8px;
		}

	.appMainSurface .contractSectionContentMainDiv{
		font-size: 0.78rem;
		padding: 0;
		line-height: 1.12;
			max-height: none;
		}

		.appMainSurface .contractSectionContentMainDiv a,
		.appMainSurface .contractSectionContentMainDiv span,
		.appMainSurface .contractSectionContentMainDiv i{
			white-space: nowrap;
			line-height: inherit;
			max-height: none;
			overflow: hidden;
			text-overflow: ellipsis;
		}

		.appMainSurface .contractFeedAmountType,
		.appMainSurface .receiptReminderCount{
			font-size: 0.62rem;
		}

		.appMainSurface .contractFeedToggleButton{
			width: 28px;
			height: 28px;
			border-radius: 8px;
		}

	.appMainSurface .receiptReminderSummary{
		max-height: none;
	}

		.appMainSurface .receiptReminderSummaryInner{
			display: grid;
			gap: 1px;
			max-height: none;
		}

	.appMainSurface .receiptReminderSummary .receiptReminderDate,
	.appMainSurface .receiptReminderSummary .receiptReminderCount{
		display: block;
		max-height: none;
		white-space: nowrap;
		overflow: visible;
	}

	.appMainSurface .receiptEInvoiceStatusSummary{
		max-width: 120px;
		grid-column: span 1;
	}

	.appMainSurface .receiptEInvoiceStatusSummary span{
		white-space: nowrap;
		font-size: 10px;
	}

	.appMainSurface .receiptReminderDate::after{
		content: "";
		margin-left: 0;
	}

	.appMainSurface .contractListSectionActionMenu{
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		justify-content: flex-start;
		gap: 10px;
		padding: 0;
	}

	.appMainSurface .subReceiptAction .receiptInstallmentRow{
		grid-template-columns: minmax(64px, 0.7fr) minmax(78px, 0.85fr) minmax(24px, 0.28fr) minmax(0, 3.2fr);
		column-gap: 6px;
		padding: 0 8px;
		overflow-x: hidden;
	}

	.appMainSurface .subReceiptAction .receiptInstallmentMeta{
		font-size: 0.8rem;
	}

	.appMainSurface .subReceiptAction .contractListSectionActionMenu > .buttonSmall,
	.appMainSurface .subReceiptAction .contractListSectionActionMenu > .pdfActionMenuWrap{
		flex: 0 0 auto;
		margin: 1px 5px !important;
	}

	.appMainSurface .subReceiptAction .receiptActionButtons{
		gap: 6px;
		justify-content: space-between !important;
		overflow-x: visible;
	}

	.appMainSurface .subReceiptAction .receiptActionButtons > .buttonSmall,
	.appMainSurface .subReceiptAction .receiptActionButtons > .pdfActionMenuWrap{
		flex: 1 1 0;
		min-width: 0;
		margin: 1px 0 !important;
	}

	.appMainSurface .subReceiptAction .invoiceActionEStatus{
		width: auto;
		min-width: 58px;
		min-height: 43px;
		padding: 0 3px;
		flex: 0 0 auto;
		border: none;
		background: transparent;
		gap: 2px;
	}

	.appMainSurface .subReceiptAction .invoiceActionEStatus:hover{
		background: transparent;
		transform: none;
	}

	.appMainSurface .subReceiptAction .invoiceActionEStatus::before{
		display: block !important;
		width: 28px;
		height: 28px;
	}

	.appMainSurface .subReceiptAction .invoiceActionEStatus span,
	.appMainSurface .subReceiptAction .invoiceActionEStatus strong{
		display: none;
	}

	.appMainSurface .subReceiptAction .invoiceActionEStatus.btnIconMobile.btnIconMobileLabel::after{
		max-width: 64px;
		overflow: hidden;
		text-overflow: ellipsis;
		font-size: 10px !important;
		font-weight: 900;
		color: var(--light-color) !important;
	}

	.appMainSurface .subReceiptAction .invoiceActionEStatus span{
		font-size: 0.58rem;
	}

	.appMainSurface .subReceiptAction .invoiceActionEStatus strong{
		font-size: 0.68rem;
	}

.appMainSurface .subReceiptAction{
	width: 100%;
	border: 1px solid rgba(240, 241, 255, 0.2);
	border-top: none;
	border-radius: 0 0 6px 6px;
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	gap: 6px;
}

	.appMainSurface .propertyGrid{
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}
}

/* Final property workspace overrides */
.appPropertyHeader #title{
	max-width: min(760px, 62vw);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.appPropertySurface .appPropertyContext span{
	display: block;
	color: var(--light-color);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.appPropertySurface .topActionsRow{
	width: calc(100% - 18px);
	box-sizing: border-box;
	margin: 0 auto;
	grid-template-columns: repeat(auto-fit, minmax(92px, max-content));
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	scroll-snap-type: x proximity;
}

.appPropertySurface .topActionMobile{
	min-width: 0;
	scroll-snap-align: start;
}

.appPropertySurface .topActionsRow .topActionMobile{
	width: auto !important;
}

.appPropertySurface .propertyContentDiv{
	width: 100%;
	box-sizing: border-box;
	display: grid;
	grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) minmax(180px, 1fr);
	align-items: center;
	justify-content: stretch;
	margin: 18px 0 0;
	min-height: 48px;
	padding: 0;
	border: 1px solid rgba(240, 241, 255, 0.2);
	border-radius: 0;
	background: rgba(240, 241, 255, 0.055);
	color: var(--light-color);
	box-shadow: none;
	overflow: hidden;
}

.appPropertySurface .propertyContentDiv:hover{
	background: rgba(240, 241, 255, 0.085);
	border-color: rgba(240, 241, 255, 0.32);
}

.appPropertySurface .propertyContentDiv .subpropToggleClick{
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 12px 14px;
	border-color: rgba(240, 241, 255, 0.12) !important;
	color: var(--light-color);
	text-align: center;
	overflow: hidden;
}

.appPropertySurface .propertyContentDiv .subpropToggleText{
	display: block;
	min-width: 0;
	color: var(--light-color);
	font-size: clamp(0.92rem, 1.25vw, 1.08rem);
	font-weight: 850;
	line-height: 1.15;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.appPropertySurface .propertyContentDiv .subpropToggleTriangle{
	flex: 0 0 auto;
	display: inline-grid;
	place-items: center;
	min-width: 30px;
	height: 30px;
	padding: 0 8px;
	box-sizing: border-box;
	border-radius: 6px;
	border: 1px solid rgba(230, 231, 245, 0.18);
	background: rgba(240, 241, 255, 0.055);
	color: rgba(230, 231, 245, 0.96);
	font-size: 0.85rem;
	line-height: 1;
	opacity: 1;
}

.appPropertySurface .dataSubprop{
	width: calc(100% - 18px);
	box-sizing: border-box;
	display: grid;
	grid-template-columns: 4fr 2fr 3fr 3fr;
	gap: 10px;
	align-items: center;
	justify-items: stretch;
	margin: 0 auto;
	padding: 4px 12px;
	border: 1px solid rgba(240, 241, 255, 0.18);
	border-top: none;
	border-radius: 0;
	background: rgba(240, 241, 255, 0.055);
	color: var(--light-color);
	box-shadow: none;
	text-align: left;
}

.appPropertySurface article[id^="dataSubprop"][id$="-disp"]{
	grid-template-columns: 3fr 1fr 1fr;
}

.appPropertySurface article[id^="dataSubprop"][id$="-disp"] > div:nth-child(1){
	justify-content: flex-start;
	text-align: left;
}

.appPropertySurface article[id^="dataSubprop"][id$="-disp"] > div:nth-child(2),
.appPropertySurface article[id^="dataSubprop"][id$="-disp"] > div:nth-child(3){
	justify-content: center;
	text-align: center;
}

.appPropertySurface .dataSubprop.itemsRowMobile{
	grid-template-columns: 4fr 2fr 3fr 3fr;
}

.appPropertySurface .dataSubprop.customersRowMobile{
	grid-template-columns: minmax(0, 3fr) minmax(0, 2.2fr) minmax(0, 2fr) minmax(0, 1.2fr);
}

.appPropertySurface .dataSubprop:hover{
	background: rgba(240, 241, 255, 0.08);
	border-color: rgba(240, 241, 255, 0.28);
}

.appPropertySurface .propertyContentDiv + .dataSubprop{
	border-top: none;
}

.appPropertySurface .dataSubprop > div{
	width: auto !important;
	min-width: 0;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	color: var(--light-color);
	text-align: left;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 0.82rem;
	line-height: 1.1;
}

.appPropertySurface .dataSubprop > div:last-child{
	text-align: left;
	justify-self: stretch;
	width: auto !important;
	justify-content: flex-start;
}

.appPropertySurface .dataSubprop.itemsRowMobile > div:nth-child(2),
.appPropertySurface .dataSubprop.itemsRowMobile > div:nth-child(3){
	justify-content: center;
	text-align: center;
}

.appPropertySurface .dataSubprop.itemsRowMobile > div:nth-child(4){
	justify-content: center;
	text-align: center;
}

.appPropertySurface .dataSubprop.itemsRowMobile > div:nth-child(1){
	justify-content: flex-start;
	text-align: left;
}

.appPropertySurface .dataSubprop.customersRowMobile > div:nth-child(1){
	justify-content: flex-start;
	text-align: left;
}

.appPropertySurface .dataSubprop.customersRowMobile > div:nth-child(n+2){
	justify-content: center;
	text-align: center;
}

.appPropertySurface .itemMobileText{
	display: none;
}

.appPropertySurface .itemDesktopText{
	display: inline;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
}

.appPropertySurface .dataSubprop .buttonSmall{
	color: var(--light-color) !important;
	background: transparent !important;
	border: none;
	padding: 0;
	font-size: 0.86rem;
	font-weight: 800;
	text-align: left;
}

.appPropertySurface .dataSubprop .buttonSmall:hover{
	color: var(--white-color) !important;
	text-decoration: underline;
}

.appPropertySurface article[id^="dataSubprop"][id$="-disp"] > div:first-child .buttonSmall,
.appPropertySurface .dataSubprop[id^="dataSubprop"] > div:first-child .buttonSmall{
	color: #a9cdfd !important;
	text-decoration-color: rgba(169, 205, 253, 0.72);
}

.appPropertySurface article[id^="dataSubprop"][id$="-disp"] > div:first-child .buttonSmall:hover,
.appPropertySurface .dataSubprop[id^="dataSubprop"] > div:first-child .buttonSmall:hover{
	color: #c3dcff !important;
	text-decoration-color: #c3dcff;
}

.appPropertySurface .dataSubprop .btnIconMobile{
	width: 100% !important;
	min-width: 84px;
	min-height: 32px;
	padding: 3px !important;
	border-radius: 6px;
	background: rgba(240, 241, 255, 0.1) !important;
	justify-content: center;
	text-align: center;
	color: var(--light-color) !important;
}

@media (max-width: 700px){
	.appPropertyHeader #title{
		max-width: calc(100vw - 104px);
		font-size: clamp(1.45rem, 8vw, 2.35rem);
	}

	.appPropertySurface .topActionsRow{
		grid-template-columns: repeat(5, minmax(72px, 1fr));
		gap: 6px !important;
		justify-items: stretch !important;
		justify-content: stretch !important;
	}

	.appPropertySurface #actions .topActionsRow .topActionMobile,
	.appPropertySurface #actions .topActionsRow button{
		min-width: 0 !important;
		width: 100% !important;
	}

	.appPropertySurface .propertyContentDiv{
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
		min-height: 0;
		margin: 16px 0 0;
	}

	.appPropertySurface .propertyContentDiv .subpropToggleClick{
		justify-content: center;
		padding: 11px 8px;
		border-left: 1px solid rgba(240, 241, 255, 0.1) !important;
		border-right: none !important;
		border-top: none !important;
	}

	.appPropertySurface .propertyContentDiv .subpropToggleClick:first-child{
		border-left: none !important;
	}

	.appPropertySurface .propertyContentDiv .subpropToggleText{
		font-size: 0.78rem;
		font-weight: 600;
		text-align: center;
	}

	.appPropertySurface .propertyContentDiv .subpropToggleClick{
		font-weight: 600;
	}

	.appPropertySurface .dataSubprop,
	.appPropertySurface .dataSubprop.itemsRowMobile{
		width: calc(100% - 12px);
		grid-template-columns: 4fr 3fr 5fr 2fr;
		gap: 1px;
		padding: 3px 2px;
	}

	.appPropertySurface .dataSubprop.customersRowMobile{
		width: calc(100% - 12px);
		grid-template-columns: minmax(0, 2.6fr) minmax(0, 2.1fr) minmax(0, 1.9fr) minmax(0, 1fr);
		gap: 1px;
		padding: 4px 2px;
	}

	.appPropertySurface article[id^="dataSubprop"][id$="-disp"]{
		grid-template-columns: 3fr 1fr 1fr;
	}

	.appPropertySurface .dataSubprop > div,
	.appPropertySurface .dataSubprop > div:last-child{
		text-align: left;
		justify-self: stretch;
		white-space: nowrap;
	}

	.appPropertySurface .itemDesktopText{
		display: none;
	}

	.appPropertySurface .itemMobileText{
		display: inline;
		min-width: 0;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.appPropertySurface .itemValueCell,
	.appPropertySurface .itemDateCell{
		font-size: clamp(0.66rem, 3vw, 0.82rem);
	}

	.appPropertySurface .dataSubprop.customersRowMobile > div{
		font-size: clamp(0.6rem, 2.7vw, 0.76rem);
		white-space: normal;
		line-height: 1.12;
		max-height: 2.24em;
		overflow: hidden;
	}

	.appPropertySurface .dataSubprop.customersRowMobile > div:nth-child(1){
		justify-content: flex-start;
		text-align: left;
	}

	.appPropertySurface .dataSubprop.customersRowMobile > div:nth-child(2){
		justify-content: center;
		text-align: center;
	}

	.appPropertySurface .dataSubprop.customersRowMobile > div:nth-child(3){
		justify-content: center;
		text-align: center;
	}

	.appPropertySurface .dataSubprop.customersRowMobile > div:nth-child(4){
		justify-content: center;
		text-align: center;
	}

	.appPropertySurface .dataSubprop .btnIconMobile.btnIconMobileLabel::after{
		content: attr(data-label) !important;
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		color: var(--light-color) !important;
		font-size: 10px !important;
		line-height: 1.1 !important;
		text-align: center !important;
		white-space: nowrap !important;
	}

	.appPropertySurface .dataSubprop .btnIconMobile{
		font-size: 0 !important;
		color: transparent !important;
		width: 100% !important;
		min-width: 0 !important;
		height: 42px !important;
		min-height: 42px !important;
		margin: 0 auto;
		display: inline-flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 1px;
		padding: 2px 4px !important;
	}

	.appPropertySurface .dataSubprop .btnIconMobile::before{
		width: 18px !important;
		height: 18px !important;
	}
}

/* Final responsive/action upload overrides */
.mwPreview,
.itemsPreview,
.itemsActionsPreview,
.standaloneUploadPreview{
	cursor: pointer !important;
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease, background-color 160ms ease !important;
}

.mwPreview::before,
.itemsPreview::before,
.itemsActionsPreview::before,
.standaloneUploadPreview::before{
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: 1 !important;
	background: rgba(42,44,50,0) !important;
	transition: background 160ms ease !important;
	pointer-events: none !important;
}

.mwCard:has(.mwPick .parent-div:hover) .mwPreview,
.mwCard:has(.mwPick .parent-div:focus-within) .mwPreview,
.itemsCard:has(.filePick .parent-div:hover) .itemsPreview,
.itemsCard:has(.filePick .parent-div:focus-within) .itemsPreview,
.itemsActionsCard:has(.itemsActionsPick .parent-div:hover) .itemsActionsPreview,
.itemsActionsCard:has(.itemsActionsPick .parent-div:focus-within) .itemsActionsPreview,
#sectionUpload:has(.parent-div:hover) .standaloneUploadPreview,
#sectionUpload:has(.parent-div:focus-within) .standaloneUploadPreview,
#subpropPhotoFormContent article:has(.parent-div:hover) .standaloneUploadPreview,
#subpropPhotoFormContent article:has(.parent-div:focus-within) .standaloneUploadPreview,
.mwPreview.is-drag-over,
.itemsPreview.is-drag-over,
.itemsActionsPreview.is-drag-over,
.standaloneUploadPreview.is-drag-over,
.logoPicker.is-drag-over{
	border-color: rgba(42, 44, 50, 0.32) !important;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18) !important;
	transform: translateY(-1px) !important;
}

.mwCard:has(.mwPick .parent-div:hover) .mwPreview::before,
.mwCard:has(.mwPick .parent-div:focus-within) .mwPreview::before,
.itemsCard:has(.filePick .parent-div:hover) .itemsPreview::before,
.itemsCard:has(.filePick .parent-div:focus-within) .itemsPreview::before,
.itemsActionsCard:has(.itemsActionsPick .parent-div:hover) .itemsActionsPreview::before,
.itemsActionsCard:has(.itemsActionsPick .parent-div:focus-within) .itemsActionsPreview::before,
#sectionUpload:has(.parent-div:hover) .standaloneUploadPreview::before,
#sectionUpload:has(.parent-div:focus-within) .standaloneUploadPreview::before,
#subpropPhotoFormContent article:has(.parent-div:hover) .standaloneUploadPreview::before,
#subpropPhotoFormContent article:has(.parent-div:focus-within) .standaloneUploadPreview::before,
.mwPreview.is-drag-over::before,
.itemsPreview.is-drag-over::before,
.itemsActionsPreview.is-drag-over::before,
.standaloneUploadPreview.is-drag-over::before{
	background: rgba(42,44,50,0.18) !important;
}

.mwCard:has(.mwPick .parent-div:hover) .mwPreview::after,
.mwCard:has(.mwPick .parent-div:focus-within) .mwPreview::after,
.itemsCard:has(.filePick .parent-div:hover) .itemsPreview::after,
.itemsCard:has(.filePick .parent-div:focus-within) .itemsPreview::after,
.itemsActionsCard:has(.itemsActionsPick .parent-div:hover) .itemsActionsPreview::after,
.itemsActionsCard:has(.itemsActionsPick .parent-div:focus-within) .itemsActionsPreview::after,
#sectionUpload:has(.parent-div:hover) .standaloneUploadPreview::after,
#sectionUpload:has(.parent-div:focus-within) .standaloneUploadPreview::after,
#subpropPhotoFormContent article:has(.parent-div:hover) .standaloneUploadPreview::after,
#subpropPhotoFormContent article:has(.parent-div:focus-within) .standaloneUploadPreview::after,
.mwPreview.is-drag-over::after,
.itemsPreview.is-drag-over::after,
.itemsActionsPreview.is-drag-over::after,
.standaloneUploadPreview.is-drag-over::after{
	background: var(--light-color) !important;
	transform: translate(-50%, -50%) scale(1.06) !important;
}

body.immoPage #sectionUpload.invoiceUploadDropzone.has-upload-file:has(.parent-div:hover) .standaloneUploadPreview::after,
body.immoPage #sectionUpload.invoiceUploadDropzone.has-upload-file:has(.parent-div:focus-within) .standaloneUploadPreview::after,
body.immoPage .modal:not(.settingsModal) .itemsUploadCard.has-upload-file:has(.filePick .parent-div:hover) .itemsPreview::after,
body.immoPage .modal:not(.settingsModal) .itemsUploadCard.has-upload-file:has(.filePick .parent-div:focus-within) .itemsPreview::after,
body.immoPage .modal:not(.settingsModal) .itemsActionsUploadCard.has-upload-file:has(.itemsActionsPick .parent-div:hover) .itemsActionsPreview::after,
body.immoPage .modal:not(.settingsModal) .itemsActionsUploadCard.has-upload-file:has(.itemsActionsPick .parent-div:focus-within) .itemsActionsPreview::after,
body.immoPage #gauges .gaugeUploadCard.has-upload-file:has(.mwPick .parent-div:hover) .mwPreview::after,
body.immoPage #gauges .gaugeUploadCard.has-upload-file:has(.mwPick .parent-div:focus-within) .mwPreview::after{
	transform: none !important;
	cursor: pointer !important;
}

.dropUploadZone{
	outline: 0 solid transparent;
}

.dropUploadZone.is-drag-over{
	outline: 2px dashed rgba(166, 202, 255, 0.72) !important;
	outline-offset: -7px !important;
	background-color: rgba(166, 202, 255, 0.08) !important;
}

body.is-file-dragging #displayPdfBill,
body.is-file-dragging #displayPdfBill embed,
body.is-file-dragging .mwPdfPreview,
body.is-file-dragging .mwPdfPreview embed,
body.is-file-dragging .itemsPdfPreview,
body.is-file-dragging .itemsPdfPreview embed,
body.is-file-dragging .itemsActionsPdf,
body.is-file-dragging .itemsActionsPdf embed,
body.is-file-dragging .tenantDocsPdfPreview,
body.is-file-dragging .tenantDocsPdfPreview embed,
body.is-file-dragging .checkIdPdfPreview,
body.is-file-dragging .checkIdPdfPreview embed{
	pointer-events: none !important;
}

body.immoPage #sectionUpload.invoiceUploadDropzone.is-upload-invalid,
body.immoPage .modal:not(.settingsModal) .itemsUploadCard.is-upload-invalid,
body.immoPage .modal:not(.settingsModal) .itemsActionsUploadCard.is-upload-invalid,
body.immoPage #gauges .gaugeUploadCard .mwPreview.is-upload-invalid,
.logoPicker.is-upload-invalid,
.tenantDocsPreview.is-upload-invalid,
.checkIdPreview.is-upload-invalid,
.dropUploadZone.is-upload-invalid{
	position: relative !important;
	outline: 2px dashed rgba(255, 95, 95, 0.92) !important;
	outline-offset: -7px !important;
	border-color: rgba(255, 95, 95, 0.72) !important;
	background-color: rgba(255, 95, 95, 0.07) !important;
}

body.immoPage #sectionUpload.invoiceUploadDropzone.is-upload-invalid::before,
body.immoPage .modal:not(.settingsModal) .itemsUploadCard.is-upload-invalid::before,
body.immoPage .modal:not(.settingsModal) .itemsActionsUploadCard.is-upload-invalid::before,
body.immoPage #gauges .gaugeUploadCard .mwPreview.is-upload-invalid::before,
.logoPicker.is-upload-invalid::before,
.tenantDocsPreview.is-upload-invalid::before,
.checkIdPreview.is-upload-invalid::before,
.dropUploadZone.is-upload-invalid::before{
	content: attr(data-upload-error-message) !important;
	position: absolute !important;
	left: 50% !important;
	top: calc(50% + 52px) !important;
	z-index: 12 !important;
	transform: translateX(-50%) !important;
	color: #ff6b6b !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	line-height: 1.15 !important;
	text-align: center !important;
	white-space: nowrap !important;
	pointer-events: none !important;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.34) !important;
}

body.immoPage #sectionUpload.invoiceUploadDropzone.is-upload-invalid .standaloneUploadPreview::after,
body.immoPage .modal:not(.settingsModal) .itemsUploadCard.is-upload-invalid .itemsPreview::after,
body.immoPage .modal:not(.settingsModal) .itemsActionsUploadCard.is-upload-invalid .itemsActionsPreview::after,
body.immoPage #gauges .gaugeUploadCard .mwPreview.is-upload-invalid::after,
.logoPicker.is-upload-invalid .logoPickerPlus,
.tenantDocsPreview.is-upload-invalid::after,
.checkIdPreview.is-upload-invalid::after,
.dropUploadZone.is-upload-invalid::after{
	background: rgba(255, 95, 95, 0.95) !important;
	color: #fff !important;
	box-shadow: 0 8px 18px rgba(255, 95, 95, 0.28) !important;
}

.invoiceUploadDropzone.dropUploadZone.is-drag-over{
	border-color: rgba(166, 202, 255, 0.78) !important;
	box-shadow: inset 0 0 0 1px rgba(166, 202, 255, 0.22), 0 12px 30px rgba(0, 0, 0, 0.18) !important;
}

#sectionUpload.invoiceUploadDropzone .standaloneUploadPreview,
#sectionUpload.invoiceUploadDropzone .standaloneUploadPreview.is-drag-over,
#sectionUpload.invoiceUploadDropzone:has(.parent-div:hover) .standaloneUploadPreview,
#sectionUpload.invoiceUploadDropzone:has(.parent-div:focus-within) .standaloneUploadPreview{
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	transform: none !important;
}

#sectionUpload.invoiceUploadDropzone .standaloneUploadPreview::before,
#sectionUpload.invoiceUploadDropzone .standaloneUploadPreview.is-drag-over::before,
#sectionUpload.invoiceUploadDropzone:has(.parent-div:hover) .standaloneUploadPreview::before,
#sectionUpload.invoiceUploadDropzone:has(.parent-div:focus-within) .standaloneUploadPreview::before{
	background: transparent !important;
}

#sectionUpload.invoiceUploadDropzone > article{
	position: static !important;
	z-index: auto !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	display: none !important;
	padding: 0 !important;
	pointer-events: none !important;
}

.mwPick,
.filePick,
.itemsActionsPick,
#subpropPhotoFormContent article:has(.standaloneUploadPreview) > article{
	position: relative !important;
	z-index: 4 !important;
	width: 120px !important;
	height: 120px !important;
	margin: -120px auto 0 !important;
	display: block !important;
	padding: 0 !important;
	pointer-events: none !important;
}

.mwPick .parent-div,
.filePick .parent-div,
.itemsActionsPick .parent-div,
#subpropPhotoFormContent .parent-div{
	position: relative !important;
	display: block !important;
	width: 120px !important;
	height: 120px !important;
	margin: 0 auto !important;
	border-radius: 6px !important;
	overflow: hidden !important;
	pointer-events: auto !important;
	cursor: pointer !important;
}

.mwPick .parent-div *,
.filePick .parent-div *,
.itemsActionsPick .parent-div *,
#subpropPhotoFormContent .parent-div *{
	cursor: pointer !important;
}

.mwPick .button,
.filePick .button,
.itemsActionsPick .button,
#subpropPhotoFormContent .parent-div .button{
	width: 120px !important;
	height: 120px !important;
	min-width: 120px !important;
	margin: 0 !important;
	padding: 0 !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.mwPick input[type="file"],
.filePick input[type="file"],
.itemsActionsPick input[type="file"],
#subpropPhotoFormContent input[type="file"]{
	position: absolute !important;
	inset: 0 !important;
	width: 120px !important;
	height: 120px !important;
	opacity: 0 !important;
	cursor: pointer !important;
	font-size: 120px !important;
}

.mwPick input[type="file"]::-webkit-file-upload-button,
.filePick input[type="file"]::-webkit-file-upload-button,
.itemsActionsPick input[type="file"]::-webkit-file-upload-button,
#subpropPhotoFormContent input[type="file"]::-webkit-file-upload-button{
	cursor: pointer !important;
}

body.immoPage .modal:not(.settingsModal) .itemsUploadCard .itemsPreview,
body.immoPage .modal:not(.settingsModal) .itemsUploadCard .itemsPreview.is-drag-over,
body.immoPage .modal:not(.settingsModal) .itemsUploadCard:has(.filePick .parent-div:hover) .itemsPreview,
body.immoPage .modal:not(.settingsModal) .itemsUploadCard:has(.filePick .parent-div:focus-within) .itemsPreview{
	width: 100% !important;
	height: 100% !important;
	min-height: 220px !important;
	max-width: none !important;
	max-height: none !important;
	margin: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	transform: none !important;
}

body.immoPage .modal:not(.settingsModal) .itemsUploadCard .itemsPreview::before,
body.immoPage .modal:not(.settingsModal) .itemsUploadCard .itemsPreview.is-drag-over::before,
body.immoPage .modal:not(.settingsModal) .itemsUploadCard:has(.filePick .parent-div:hover) .itemsPreview::before,
body.immoPage .modal:not(.settingsModal) .itemsUploadCard:has(.filePick .parent-div:focus-within) .itemsPreview::before{
	background: transparent !important;
}

body.immoPage .modal:not(.settingsModal) .itemsUploadCard .filePick,
body.immoPage .modal:not(.settingsModal) .itemsUploadCard .parent-div,
body.immoPage .modal:not(.settingsModal) .itemsUploadCard input[type="file"]{
	display: block !important;
	pointer-events: auto !important;
}

body.immoPage .modal:not(.settingsModal) .itemsUploadCard .filePick{
	position: absolute !important;
	inset: 0 !important;
	z-index: 8 !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	opacity: 0 !important;
}

body.immoPage .modal:not(.settingsModal) .itemsUploadCard .parent-div{
	position: relative !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
}

body.immoPage .modal:not(.settingsModal) .itemsUploadCard .parent-div .button{
	width: 100% !important;
	height: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

body.immoPage .modal:not(.settingsModal) .itemsUploadCard input[type="file"]{
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	opacity: 0 !important;
	cursor: pointer !important;
	font-size: 260px !important;
}

body.immoPage .modal:not(.settingsModal) .itemsUploadCard.itemsCard{
	height: 260px !important;
	min-height: 260px !important;
	max-height: 260px !important;
	cursor: pointer !important;
	overflow: hidden !important;
}

body.immoPage .modal:not(.settingsModal) .itemsUploadCard .itemsPreview img:not([src$="add.png"]),
body.immoPage .modal:not(.settingsModal) .itemsUploadCard .itemsPdfPreview{
	width: 100% !important;
	height: auto !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: contain !important;
	position: relative !important;
	z-index: 1 !important;
}

body.immoPage .modal:not(.settingsModal) .itemsUploadCard .itemsPdfPreview,
body.immoPage .modal:not(.settingsModal) .itemsUploadCard .itemsPdfPreview embed{
	height: 100% !important;
	min-height: 220px !important;
}

body.immoPage .modal:not(.settingsModal) .itemsUploadCard.has-upload-file .itemsPreview::after{
	left: auto !important;
	right: 14px !important;
	top: 14px !important;
	width: 34px !important;
	height: 34px !important;
	font-size: 26px !important;
	z-index: 9 !important;
	transform: none !important;
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.28) !important;
}

body.immoPage #itemsDamageBlock .itemsUploadCard{
	border: 1px solid rgba(230, 231, 245, 0.18) !important;
	border-radius: 8px !important;
}

body.immoPage #itemsDamageBlock label[for="itemDamageDescription"],
body.immoPage #itemsDamageBlock label[for="itemDegradedValue"]{
	background: #34363d !important;
	color: rgba(246, 247, 255, 0.96) !important;
}

body.immoPage #itemsDamageBlock .itemsDamageFields{
	height: 260px !important;
	min-height: 260px !important;
	max-height: 260px !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	gap: 36px !important;
}

body.immoPage #sectionUpload.invoiceUploadDropzone.has-upload-file > article,
body.immoPage .modal:not(.settingsModal) .itemsUploadCard.has-upload-file .filePick{
	position: absolute !important;
	top: 14px !important;
	right: 14px !important;
	z-index: 8 !important;
	width: 44px !important;
	height: 44px !important;
	margin: 0 !important;
	padding: 0 !important;
	display: block !important;
	pointer-events: auto !important;
}

body.immoPage #sectionUpload.invoiceUploadDropzone.has-upload-file .parent-div,
body.immoPage .modal:not(.settingsModal) .itemsUploadCard.has-upload-file .parent-div{
	position: relative !important;
	display: block !important;
	width: 44px !important;
	height: 44px !important;
	margin: 0 !important;
	border-radius: 999px !important;
	overflow: hidden !important;
	pointer-events: auto !important;
	cursor: pointer !important;
}

body.immoPage #sectionUpload.invoiceUploadDropzone.has-upload-file .parent-div .button,
body.immoPage .modal:not(.settingsModal) .itemsUploadCard.has-upload-file .parent-div .button{
	width: 44px !important;
	height: 44px !important;
	min-width: 44px !important;
	margin: 0 !important;
	padding: 0 !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

body.immoPage #sectionUpload.invoiceUploadDropzone.has-upload-file input[type="file"],
body.immoPage .modal:not(.settingsModal) .itemsUploadCard.has-upload-file input[type="file"]{
	position: absolute !important;
	inset: 0 !important;
	display: block !important;
	width: 44px !important;
	height: 44px !important;
	opacity: 0 !important;
	cursor: pointer !important;
	font-size: 44px !important;
	pointer-events: auto !important;
}

body.immoPage #gauges .gaugeUploadCard .mwPreview,
body.immoPage #gauges .gaugeUploadCard .mwPreview.is-drag-over,
body.immoPage #gauges .gaugeUploadCard:has(.mwPick .parent-div:hover) .mwPreview,
body.immoPage #gauges .gaugeUploadCard:has(.mwPick .parent-div:focus-within) .mwPreview,
body.immoPage #documents .docUploadCard .mwPreview,
body.immoPage #documents .docUploadCard .mwPreview.is-drag-over,
body.immoPage #documents .docUploadCard:has(.mwPick .parent-div:hover) .mwPreview,
body.immoPage #documents .docUploadCard:has(.mwPick .parent-div:focus-within) .mwPreview{
	width: 100% !important;
	height: 260px !important;
	min-height: 260px !important;
	max-height: 260px !important;
	margin: 0 0 14px !important;
	border: 1px dashed rgba(230, 231, 245, 0.22) !important;
	border-radius: 8px !important;
	background: rgba(230, 231, 245, 0.07) !important;
	box-shadow: none !important;
	transform: none !important;
}

body.immoPage #gauges .gaugeUploadCard .mwPreview::before,
body.immoPage #gauges .gaugeUploadCard .mwPreview.is-drag-over::before,
body.immoPage #gauges .gaugeUploadCard:has(.mwPick .parent-div:hover) .mwPreview::before,
body.immoPage #gauges .gaugeUploadCard:has(.mwPick .parent-div:focus-within) .mwPreview::before,
body.immoPage #documents .docUploadCard .mwPreview::before,
body.immoPage #documents .docUploadCard .mwPreview.is-drag-over::before,
body.immoPage #documents .docUploadCard:has(.mwPick .parent-div:hover) .mwPreview::before,
body.immoPage #documents .docUploadCard:has(.mwPick .parent-div:focus-within) .mwPreview::before{
	background: transparent !important;
}

body.immoPage #gauges .gaugeUploadCard .mwPreview img:not([src$="add.png"]),
body.immoPage #documents .docUploadCard .mwPreview img:not([src$="add.png"]){
	position: relative !important;
	z-index: 1 !important;
}

body.immoPage #gauges .gaugeUploadCard .mwPick,
body.immoPage #gauges .gaugeUploadCard .parent-div,
body.immoPage #gauges .gaugeUploadCard input[type="file"],
body.immoPage #documents .docUploadCard .mwPick,
body.immoPage #documents .docUploadCard .parent-div,
body.immoPage #documents .docUploadCard input[type="file"]{
	display: block !important;
	pointer-events: auto !important;
}

body.immoPage #gauges .gaugeUploadCard .mwPick,
body.immoPage #documents .docUploadCard .mwPick{
	position: absolute !important;
	inset: 0 !important;
	z-index: 8 !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	opacity: 0 !important;
}

body.immoPage #gauges .gaugeUploadCard .parent-div,
body.immoPage #documents .docUploadCard .parent-div{
	position: relative !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
}

body.immoPage #gauges .gaugeUploadCard .parent-div .button,
body.immoPage #documents .docUploadCard .parent-div .button{
	width: 100% !important;
	height: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

body.immoPage #gauges .gaugeUploadCard input[type="file"],
body.immoPage #documents .docUploadCard input[type="file"]{
	position: absolute !important;
	inset: 0 !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	opacity: 0 !important;
	cursor: pointer !important;
	font-size: 260px !important;
}

body.immoPage #gauges .gaugeUploadCard.has-upload-file .mwPreview::after,
body.immoPage #documents .docUploadCard.has-upload-file .mwPreview::after{
	left: auto !important;
	right: 14px !important;
	top: 14px !important;
	width: 34px !important;
	height: 34px !important;
	font-size: 26px !important;
	z-index: 9 !important;
	transform: none !important;
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.28) !important;
}

body.immoPage #gauges .gaugeUploadCard.has-upload-file .mwPick,
body.immoPage #documents .docUploadCard.has-upload-file .mwPick{
	position: absolute !important;
	top: 14px !important;
	right: 14px !important;
	left: auto !important;
	bottom: auto !important;
	z-index: 8 !important;
	width: 44px !important;
	height: 44px !important;
	margin: 0 !important;
	padding: 0 !important;
	display: block !important;
	pointer-events: auto !important;
}

body.immoPage #gauges .gaugeUploadCard.has-upload-file .parent-div,
body.immoPage #documents .docUploadCard.has-upload-file .parent-div{
	position: relative !important;
	display: block !important;
	width: 44px !important;
	height: 44px !important;
	margin: 0 !important;
	border-radius: 999px !important;
	overflow: hidden !important;
	pointer-events: auto !important;
	cursor: pointer !important;
}

body.immoPage #gauges .gaugeUploadCard.has-upload-file .parent-div .button,
body.immoPage #documents .docUploadCard.has-upload-file .parent-div .button{
	width: 44px !important;
	height: 44px !important;
	min-width: 44px !important;
	margin: 0 !important;
	padding: 0 !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

body.immoPage #gauges .gaugeUploadCard.has-upload-file input[type="file"],
body.immoPage #documents .docUploadCard.has-upload-file input[type="file"]{
	position: absolute !important;
	inset: 0 !important;
	display: block !important;
	width: 44px !important;
	height: 44px !important;
	opacity: 0 !important;
	cursor: pointer !important;
	font-size: 44px !important;
	pointer-events: auto !important;
}

body.immoPage .modal:not(.settingsModal) .itemsActionsUploadCard .itemsActionsPreview,
body.immoPage .modal:not(.settingsModal) .itemsActionsUploadCard .itemsActionsPreview.is-drag-over,
body.immoPage .modal:not(.settingsModal) .itemsActionsUploadCard:has(.itemsActionsPick .parent-div:hover) .itemsActionsPreview,
body.immoPage .modal:not(.settingsModal) .itemsActionsUploadCard:has(.itemsActionsPick .parent-div:focus-within) .itemsActionsPreview{
	width: 100% !important;
	height: 260px !important;
	min-height: 260px !important;
	max-height: 260px !important;
	margin: 0 !important;
	border: 1px dashed rgba(230, 231, 245, 0.22) !important;
	border-radius: 8px !important;
	background: rgba(230, 231, 245, 0.07) !important;
	box-shadow: none !important;
	transform: none !important;
}

body.immoPage .modal:not(.settingsModal) .itemsActionsUploadCard .itemsActionsPreview::before,
body.immoPage .modal:not(.settingsModal) .itemsActionsUploadCard .itemsActionsPreview.is-drag-over::before,
body.immoPage .modal:not(.settingsModal) .itemsActionsUploadCard:has(.itemsActionsPick .parent-div:hover) .itemsActionsPreview::before,
body.immoPage .modal:not(.settingsModal) .itemsActionsUploadCard:has(.itemsActionsPick .parent-div:focus-within) .itemsActionsPreview::before{
	background: transparent !important;
}

body.immoPage .modal:not(.settingsModal) .itemsActionsUploadCard .itemsActionsPick,
body.immoPage .modal:not(.settingsModal) .itemsActionsUploadCard .parent-div,
body.immoPage .modal:not(.settingsModal) .itemsActionsUploadCard input[type="file"]{
	display: block !important;
	pointer-events: auto !important;
}

body.immoPage .modal:not(.settingsModal) .itemsActionsUploadCard .itemsActionsPick{
	position: absolute !important;
	inset: 0 !important;
	z-index: 8 !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	opacity: 0 !important;
}

body.immoPage .modal:not(.settingsModal) .itemsActionsUploadCard .parent-div{
	position: relative !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
}

body.immoPage .modal:not(.settingsModal) .itemsActionsUploadCard .parent-div .button{
	width: 100% !important;
	height: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

body.immoPage .modal:not(.settingsModal) .itemsActionsUploadCard input[type="file"]{
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	opacity: 0 !important;
	cursor: pointer !important;
	font-size: 260px !important;
}

body.immoPage .modal:not(.settingsModal) .itemsActionsUploadCard.has-upload-file .itemsActionsPreview::after{
	left: auto !important;
	right: 14px !important;
	top: 14px !important;
	width: 34px !important;
	height: 34px !important;
	font-size: 26px !important;
	z-index: 9 !important;
	transform: none !important;
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.28) !important;
}

body.immoPage .modal:not(.settingsModal) .itemsActionsUploadCard.has-upload-file .itemsActionsPick{
	position: absolute !important;
	top: 14px !important;
	right: 14px !important;
	z-index: 8 !important;
	width: 44px !important;
	height: 44px !important;
	margin: 0 !important;
	padding: 0 !important;
	display: block !important;
	pointer-events: auto !important;
}

body.immoPage .modal:not(.settingsModal) .itemsActionsUploadCard.has-upload-file .parent-div{
	position: relative !important;
	display: block !important;
	width: 44px !important;
	height: 44px !important;
	margin: 0 !important;
	border-radius: 999px !important;
	overflow: hidden !important;
	pointer-events: auto !important;
	cursor: pointer !important;
}

body.immoPage .modal:not(.settingsModal) .itemsActionsUploadCard.has-upload-file .parent-div .button{
	width: 44px !important;
	height: 44px !important;
	min-width: 44px !important;
	margin: 0 !important;
	padding: 0 !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

body.immoPage .modal:not(.settingsModal) .itemsActionsUploadCard.has-upload-file input[type="file"]{
	position: absolute !important;
	inset: 0 !important;
	display: block !important;
	width: 44px !important;
	height: 44px !important;
	opacity: 0 !important;
	cursor: pointer !important;
	font-size: 44px !important;
	pointer-events: auto !important;
}

@media screen and (max-width: 700px){
	.appMainSurface .topActionsRow{
		width: calc(100% - 12px) !important;
		grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
		justify-content: stretch !important;
		justify-items: stretch !important;
		gap: 6px !important;
		padding: 6px !important;
		overflow: hidden !important;
	}

	.appMainSurface .topActionMobile,
	.appMainSurface #actions button{
		width: 100% !important;
		min-width: 0 !important;
		min-height: 58px !important;
		padding: 0 !important;
	}

	.appMainSurface .topActionsRow .topActionMobile .actionsImages{
		width: 30px !important;
		height: 30px !important;
	}

	.appMainSurface .topActionsRow .topActionMobile::after{
		font-size: 11px !important;
		line-height: 1.15 !important;
		max-width: 100% !important;
	}
}

body.immoPage .appMainSurface #actions:not(.dashboardActions){
	display: grid;
	gap: 10px;
	width: 100%;
	margin: 0 auto 18px;
}

body.immoPage .appMainSurface #actions:not(.dashboardActions) .topActionsRow{
	width: calc(100% - 18px) !important;
	margin: 0 auto !important;
	padding: 8px !important;
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(104px, 1fr)) !important;
	gap: 8px !important;
	align-items: stretch !important;
	justify-content: stretch !important;
	box-sizing: border-box !important;
	border-radius: 8px !important;
	background: rgba(240, 241, 255, 0.045) !important;
	border: 1px solid rgba(240, 241, 255, 0.11) !important;
	overflow: visible !important;
}

body.immoPage .appMainSurface #actions:not(.dashboardActions) .topActionMobile{
	width: 100% !important;
	min-width: 0 !important;
	min-height: 58px !important;
	margin: 0 !important;
	padding: 7px 8px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 5px !important;
	border-radius: 8px !important;
	border: 1px solid rgba(230, 231, 245, 0.18) !important;
	background: rgba(240, 241, 255, 0.055) !important;
	color: var(--light-color) !important;
	box-shadow: none !important;
	cursor: pointer !important;
}

body.immoPage .appMainSurface #actions:not(.dashboardActions) .topActionMobile:hover,
body.immoPage .appMainSurface #actions:not(.dashboardActions) .topActionMobile:focus-visible{
	transform: translateY(-1px);
	background: rgba(169, 205, 253, 0.1) !important;
	border-color: rgba(169, 205, 253, 0.38) !important;
	outline: none !important;
}

body.immoPage .appMainSurface #actions:not(.dashboardActions) .topActionMobile .actionsImages{
	width: 30px !important;
	height: 30px !important;
	object-fit: contain !important;
}

body.immoPage .appMainSurface #actions:not(.dashboardActions) .topActionMobile::after{
	content: attr(data-label);
	max-width: 100% !important;
	color: rgba(230, 231, 245, 0.86) !important;
	font-size: 0.78rem !important;
	font-weight: 900 !important;
	line-height: 1.1 !important;
	letter-spacing: 0 !important;
	text-align: center !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}

body.immoPage .appMainSurface #actions:not(.dashboardActions) .appCompanySwitcher{
	width: calc(100% - 18px) !important;
	margin: 0 auto !important;
	padding: 0 !important;
	display: grid !important;
	grid-template-columns: 44px minmax(0, 1fr) !important;
	gap: 8px !important;
	align-items: stretch !important;
	justify-content: stretch !important;
	box-sizing: border-box !important;
}

body.immoPage .appMainSurface #actions:not(.dashboardActions) .appCompanySwitchButton{
	width: 44px !important;
	min-width: 44px !important;
	max-width: 44px !important;
	height: 44px !important;
	min-height: 44px !important;
	max-height: 44px !important;
	margin: 0 !important;
	padding: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	border-radius: 8px !important;
	border: 1px solid rgba(230, 231, 245, 0.18) !important;
	background: rgba(240, 241, 255, 0.055) !important;
	box-shadow: none !important;
	cursor: pointer !important;
}

body.immoPage .appMainSurface #actions:not(.dashboardActions) .appCompanySwitchButton:hover,
body.immoPage .appMainSurface #actions:not(.dashboardActions) .appCompanySwitchButton:focus-visible,
body.immoPage .appMainSurface #actions:not(.dashboardActions) .appCompanySwitchName:hover,
body.immoPage .appMainSurface #actions:not(.dashboardActions) .appCompanySwitchName:focus-visible{
	background: rgba(169, 205, 253, 0.1) !important;
	border-color: rgba(169, 205, 253, 0.38) !important;
	outline: none !important;
}

body.immoPage .appMainSurface #actions:not(.dashboardActions) .appCompanySwitchIcon,
body.immoPage .appMainSurface #actions:not(.dashboardActions) .appCompanySwitchButton img{
	width: 26px !important;
	height: 26px !important;
	object-fit: contain !important;
}

body.immoPage .appMainSurface #actions:not(.dashboardActions) .appCompanySwitchName{
	min-width: 0 !important;
	min-height: 44px !important;
	padding: 0 12px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 6px !important;
	border-radius: 8px !important;
	border: 1px solid rgba(230, 231, 245, 0.13) !important;
	background: rgba(240, 241, 255, 0.035) !important;
	color: rgba(230, 231, 245, 0.9) !important;
	text-decoration: none !important;
	font-size: 0.9rem !important;
	font-weight: 850 !important;
	line-height: 1.2 !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	cursor: pointer !important;
}

body.immoPage .appMainSurface #actions:not(.dashboardActions) .appUpgradeSwitchName{
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: center !important;
	gap: 1px !important;
}

body.immoPage .appMainSurface #actions:not(.dashboardActions) .appCompanySwitchEyebrow{
	color: rgba(230, 231, 245, 0.56);
	font-size: 0.66rem;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 0;
}

body.immoPage .appMainSurface #actions:not(.dashboardActions) .appUpgradeSwitchButton,
body.immoPage .appMainSurface #actions:not(.dashboardActions) .appUpgradeSwitchName{
	border-color: rgba(224, 127, 0, 0.28) !important;
	background: rgba(224, 127, 0, 0.08) !important;
}

@media screen and (max-width: 700px){
	body.immoPage .appMainSurface #actions:not(.dashboardActions) .topActionsRow{
		width: calc(100% - 12px) !important;
		padding: 6px !important;
		grid-template-columns: repeat(auto-fit, minmax(42px, 1fr)) !important;
		gap: 6px !important;
	}

	body.immoPage .appMainSurface #actions:not(.dashboardActions) .topActionMobile{
		min-height: 56px !important;
		padding: 6px 4px !important;
	}

	body.immoPage .appMainSurface #actions:not(.dashboardActions) .topActionMobile .actionsImages{
		width: 28px !important;
		height: 28px !important;
	}

	body.immoPage .appMainSurface #actions:not(.dashboardActions) .topActionMobile::after{
		content: attr(data-label) !important;
		font-size: 0.68rem !important;
	}

	body.immoPage .appMainSurface #actions:not(.dashboardActions) .topActionMobile[data-mobile-label]::after{
		content: attr(data-mobile-label) !important;
	}

	body.immoPage .appMainSurface #actions:not(.dashboardActions) .appCompanySwitcher{
		width: calc(100% - 12px) !important;
		grid-template-columns: 42px minmax(0, 1fr) !important;
		gap: 7px !important;
	}

	body.immoPage .appMainSurface #actions:not(.dashboardActions) .appCompanySwitchButton{
		width: 42px !important;
		min-width: 42px !important;
		max-width: 42px !important;
		height: 42px !important;
		min-height: 42px !important;
		max-height: 42px !important;
	}

	body.immoPage .appMainSurface #actions:not(.dashboardActions) .appCompanySwitchName{
		min-height: 42px !important;
		padding: 0 10px !important;
		font-size: 0.82rem !important;
	}
}

/* Stripe success */
.stripeSuccessBody{
	min-height: 100dvh;
	margin: 0;
	background: var(--dark-color);
	color: var(--light-color);
}

.stripeSuccessPage{
	min-height: calc(100dvh - 74px);
	width: 100%;
	display: grid;
	padding: clamp(12px, 2vw, 24px) clamp(18px, 4vw, 42px);
	box-sizing: border-box;
}

.stripeSuccessPanel{
	width: min(760px, 100%);
	margin: auto;
	padding: clamp(24px, 4vw, 42px);
	box-sizing: border-box;
	border: 1px solid rgba(230, 231, 245, 0.16);
	border-radius: 8px;
	background: rgba(230, 231, 245, 0.06);
	box-shadow: 0 24px 52px rgba(0, 0, 0, 0.26);
	text-align: left;
}

.stripeSuccessStatus{
	width: 54px;
	height: 54px;
	display: grid;
	place-items: center;
	margin-bottom: 20px;
	border: 1px solid rgba(12, 172, 100, 0.52);
	border-radius: 50%;
	background: rgba(12, 172, 100, 0.14);
}

.stripeSuccessStatus span{
	width: 25px;
	height: 13px;
	border-left: 4px solid var(--green-color);
	border-bottom: 4px solid var(--green-color);
	transform: rotate(-45deg) translate(1px, -2px);
}

.stripeCancelStatus{
	border-color: rgba(224, 127, 0, 0.56);
	background: rgba(224, 127, 0, 0.14);
}

.stripeCancelStatus span{
	width: 24px;
	height: 24px;
	border: 0;
	transform: none;
	position: relative;
}

.stripeCancelStatus span::before,
.stripeCancelStatus span::after{
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 28px;
	height: 4px;
	border-radius: 999px;
	background: var(--amber-color);
	transform: translate(-50%, -50%) rotate(45deg);
}

.stripeCancelStatus span::after{
	transform: translate(-50%, -50%) rotate(-45deg);
}

.stripeSuccessEyebrow{
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	margin: 0 0 0.8rem;
	color: var(--light-color);
	font-size: 0.82rem;
	font-weight: 900;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.stripeSuccessEyebrow::before{
	content: "";
	width: 34px;
	height: 2px;
	background: var(--green-color);
}

.stripeCancelEyebrow::before{
	background: var(--amber-color);
}

.stripeSuccessPanel h1{
	margin: 0;
	color: var(--white-color);
	font-size: clamp(2rem, 4.4vw, 3rem);
	line-height: 1.08;
	letter-spacing: 0;
}

.stripeSuccessLead{
	max-width: 620px;
	margin: 0.9rem 0 0;
	color: var(--light-color);
	font-size: clamp(1rem, 2vw, 1.18rem);
	line-height: 1.65;
}

.stripeSuccessDetails{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-top: 24px;
}

.stripeSuccessDetails div{
	min-width: 0;
	padding: 14px;
	border: 1px solid rgba(230, 231, 245, 0.16);
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.08);
}

.stripeSuccessDetails span,
.stripeSuccessDetails strong{
	display: block;
	min-width: 0;
}

.stripeSuccessDetails span{
	color: rgba(230, 231, 245, 0.76);
	font-size: 0.78rem;
	font-weight: 900;
	text-transform: uppercase;
}

.stripeSuccessDetails strong{
	margin-top: 6px;
	color: var(--white-color);
	font-size: 1rem;
	overflow-wrap: anywhere;
}

.stripeSuccessReference{
	grid-column: 1 / -1;
}

.stripeSuccessAction{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	margin-top: 24px;
	padding: 0.75rem 1.35rem;
	box-sizing: border-box;
	border: 1px solid var(--light-color);
	border-radius: 4px;
	background: var(--light-color);
	color: var(--dark-color);
	font-weight: 900;
	text-decoration: none;
	transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.stripeSuccessAction:hover,
.stripeSuccessAction:focus-visible{
	background: var(--white-color);
	color: var(--dark-color);
	transform: translateY(-1px);
}

@media (max-width: 620px){
	.stripeSuccessPage{
		min-height: calc(100dvh - 72px);
		padding: 14px;
	}

	.stripeSuccessPanel{
		padding: 24px 18px;
	}

	.stripeSuccessStatus{
		width: 52px;
		height: 52px;
		margin-bottom: 20px;
	}

	.stripeSuccessDetails{
		grid-template-columns: 1fr;
	}

	.stripeSuccessAction{
		width: 100%;
		box-sizing: border-box;
		text-align: center;
	}
}

/* Tenant phone verification */
.tenantVerifyBody{
	min-height: 100dvh;
	margin: 0;
	background: var(--dark-color);
	color: var(--light-color);
}

.tenantVerifyPage{
	min-height: calc(100dvh - 74px);
	width: 100%;
	display: grid;
	padding: clamp(16px, 3vw, 34px) clamp(18px, 4vw, 42px);
	box-sizing: border-box;
}

.tenantVerifyPanel{
	width: min(640px, 100%);
	margin: auto;
	padding: clamp(24px, 4vw, 42px);
	box-sizing: border-box;
	border: 1px solid rgba(230, 231, 245, 0.16);
	border-radius: 8px;
	background: rgba(230, 231, 245, 0.06);
	box-shadow: 0 24px 52px rgba(0, 0, 0, 0.26);
	text-align: left;
}

.tenantVerifyStatus{
	width: 54px;
	height: 54px;
	display: grid;
	place-items: center;
	margin-bottom: 20px;
	border: 1px solid rgba(12, 172, 100, 0.52);
	border-radius: 50%;
	background: rgba(12, 172, 100, 0.14);
}

.tenantVerifyStatus span{
	width: 22px;
	height: 30px;
	border: 3px solid var(--green-color);
	border-top-width: 7px;
	border-radius: 7px;
	position: relative;
	box-sizing: border-box;
}

.tenantVerifyStatus span::after{
	content: "";
	position: absolute;
	left: 50%;
	bottom: 3px;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--green-color);
	transform: translateX(-50%);
}

.tenantVerifyStatusMuted{
	border-color: rgba(230, 231, 245, 0.34);
	background: rgba(230, 231, 245, 0.1);
}

.tenantVerifyStatusMuted span{
	width: 25px;
	height: 13px;
	border: 0;
	border-left: 4px solid var(--light-color);
	border-bottom: 4px solid var(--light-color);
	border-radius: 0;
	transform: rotate(-45deg) translate(1px, -2px);
}

.tenantVerifyStatusMuted span::after{
	content: none;
}

.contractVerifyStatus{
	width: 54px;
	height: 54px;
	display: grid;
	place-items: center;
	margin-bottom: 20px;
	border: 1px solid rgba(12, 172, 100, 0.52);
	border-radius: 50%;
	background: rgba(12, 172, 100, 0.14);
}

.contractVerifyStatus span{
	width: 25px;
	height: 31px;
	border: 3px solid var(--green-color);
	border-radius: 4px;
	position: relative;
	box-sizing: border-box;
}

.contractVerifyStatus span::before,
.contractVerifyStatus span::after{
	content: "";
	position: absolute;
	left: 5px;
	right: 5px;
	height: 3px;
	border-radius: 999px;
	background: var(--green-color);
}

.contractVerifyStatus span::before{
	top: 8px;
}

.contractVerifyStatus span::after{
	top: 16px;
}

.tenantVerifyEyebrow{
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	margin: 0 0 0.8rem;
	color: var(--light-color);
	font-size: 0.82rem;
	font-weight: 900;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.tenantVerifyEyebrow::before{
	content: "";
	width: 34px;
	height: 2px;
	background: var(--green-color);
}

.tenantVerifyPanel h1{
	margin: 0;
	color: var(--white-color);
	font-size: clamp(2rem, 4.2vw, 2.9rem);
	line-height: 1.08;
	letter-spacing: 0;
}

.tenantVerifyLead{
	max-width: 560px;
	margin: 0.9rem 0 0;
	color: var(--light-color);
	font-size: clamp(1rem, 2vw, 1.16rem);
	line-height: 1.65;
}

.tenantVerifyLead p{
	margin: 0;
}

.contractVerifyAuthCode{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 16px 0 0;
	padding: 8px 10px;
	border: 1px solid rgba(230, 231, 245, 0.16);
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.08);
	color: rgba(230, 231, 245, 0.78);
	font-size: 0.88rem;
	font-weight: 900;
}

.contractVerifyAuthCode strong{
	color: var(--white-color);
	letter-spacing: 0.04em;
}

.tenantVerifyField{
	display: grid;
	gap: 8px;
	margin-top: 24px;
}

.tenantVerifyField span,
.tenantVerifyField label{
	color: rgba(230, 231, 245, 0.76);
	font-size: 0.78rem;
	font-weight: 900;
	text-transform: uppercase;
}

.tenantVerifyInput{
	width: 100%;
	min-height: 54px;
	padding: 0 16px;
	box-sizing: border-box;
	border: 1px solid rgba(230, 231, 245, 0.2);
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.08);
	color: var(--white-color);
	font: inherit;
	font-size: 1.15rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	outline: none;
	transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

.tenantVerifyInput::placeholder{
	color: rgba(230, 231, 245, 0.42);
}

.tenantVerifyInput:focus{
	border-color: rgba(230, 231, 245, 0.52);
	background: rgba(255, 255, 255, 0.12);
	box-shadow: 0 0 0 3px rgba(230, 231, 245, 0.08);
}

.tenantVerifyInput.is-error{
	border-color: rgba(211, 35, 53, 0.84);
	background: rgba(211, 35, 53, 0.14);
}

.tenantVerifyError{
	margin: 10px 0 0;
	color: var(--pink-color);
	font-size: 0.9rem;
	line-height: 1.45;
}

.contractVerifyLegal{
	margin: 18px 0 0;
	padding: 14px;
	border-left: 3px solid var(--green-color);
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.08);
	color: rgba(230, 231, 245, 0.82);
	font-size: 0.9rem;
	line-height: 1.55;
}

.tenantVerifyActions{
	margin-top: 24px;
	display: flex;
	align-items: stretch;
	gap: 12px;
	flex-wrap: wrap;
}

.tenantVerifyAction{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 1 1 220px;
	min-height: 48px;
	padding: 0.75rem 1.35rem;
	box-sizing: border-box;
	border: 1px solid var(--light-color);
	border-radius: 4px;
	background: var(--light-color);
	color: var(--dark-color);
	font: inherit;
	font-weight: 900;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.tenantVerifyAction:hover,
.tenantVerifyAction:focus-visible{
	background: var(--white-color);
	color: var(--dark-color);
	transform: translateY(-1px);
}

.tenantVerifyAction.accountDeletionConfirmAction{
	border-color: #dc3545;
	background: #dc3545;
	color: var(--white-color);
}

.tenantVerifyAction.accountDeletionConfirmAction:hover,
.tenantVerifyAction.accountDeletionConfirmAction:focus-visible{
	border-color: #b02a37;
	background: #b02a37;
	color: var(--white-color);
}

.tenantVerifyAction.accountDeletionConfirmAction:disabled{
	border-color: rgba(220, 53, 69, 0.42);
	background: rgba(220, 53, 69, 0.28);
	color: rgba(255, 255, 255, 0.74);
	cursor: not-allowed;
	transform: none;
}

.tenantVerifyResendButton{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 1 1 190px;
	min-height: 42px;
	min-width: 0;
	padding: 0.75rem 1rem;
	box-sizing: border-box;
	border: 1px solid rgba(230, 231, 245, 0.28);
	border-radius: 4px;
	background: rgba(255, 255, 255, 0.08);
	color: var(--light-color);
	font: inherit;
	font-size: 0.92rem;
	font-weight: 900;
	text-decoration: none;
	cursor: pointer;
	text-align: center;
	transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease;
}

.tenantVerifyResendButton:hover,
.tenantVerifyResendButton:focus-visible{
	border-color: rgba(230, 231, 245, 0.56);
	background: rgba(255, 255, 255, 0.14);
	color: var(--white-color);
}

.tenantVerifyResendButton.is-disabled{
	border-color: rgba(230, 231, 245, 0.14);
	background: rgba(255, 255, 255, 0.04);
	color: rgba(230, 231, 245, 0.46);
	cursor: not-allowed;
}

@media (max-width: 620px){
	.tenantVerifyPage{
		min-height: calc(100dvh - 72px);
		padding: 12px 14px;
	}

	.tenantVerifyPanel{
		padding: 20px 18px;
	}

	.tenantVerifyPanel h1{
		font-size: clamp(1.85rem, 8vw, 2.15rem);
	}

	.tenantVerifyLead{
		margin-top: 0.7rem;
		line-height: 1.5;
	}

	.tenantVerifyStatus{
		width: 52px;
		height: 52px;
		margin-bottom: 16px;
	}

	.contractVerifyStatus{
		width: 52px;
		height: 52px;
		margin-bottom: 16px;
	}

	.tenantVerifyField{
		margin-top: 18px;
	}

	.tenantVerifyInput{
		min-height: 50px;
	}

	.contractVerifyLegal{
		margin-top: 14px;
		padding: 11px 12px;
		font-size: 0.82rem;
		line-height: 1.42;
	}

	.tenantVerifyActions{
		margin-top: 18px;
	}

	.tenantVerifyAction{
		width: 100%;
		flex-basis: 100%;
	}

	.tenantVerifyResendButton{
		width: 100%;
		flex-basis: 100%;
	}

	.contractVerifyAuthCode{
		display: flex;
		align-items: flex-start;
		flex-direction: column;
		gap: 4px;
		margin-top: 12px;
		padding: 7px 10px;
	}
}

/* Password reset */
.passwordResetBody{
	min-height: 100dvh;
	margin: 0;
	background: var(--dark-color);
	color: var(--light-color);
}

.passwordResetPage{
	min-height: calc(100dvh - 138px);
	width: 100%;
	display: grid;
	padding: clamp(16px, 3vw, 34px) clamp(18px, 4vw, 42px) clamp(38px, 7vw, 76px);
	box-sizing: border-box;
}

.passwordResetBody .footer{
	position: relative;
	width: 100%;
	min-height: 64px;
	background-color: var(--dark-color);
}

.passwordResetBody #footer{
	max-width: none;
	min-height: 64px;
	height: auto;
	padding: 0 16px;
	box-sizing: border-box;
	background-color: var(--dark-color);
}

.passwordResetPanel{
	width: min(620px, 100%);
	margin: auto;
	padding: clamp(24px, 4vw, 42px);
	box-sizing: border-box;
	border: 1px solid rgba(230, 231, 245, 0.16);
	border-radius: 8px;
	background: rgba(230, 231, 245, 0.06);
	box-shadow: 0 24px 52px rgba(0, 0, 0, 0.26);
	color: var(--light-color);
	text-align: left;
}

.passwordResetStatus{
	width: 54px;
	height: 54px;
	display: grid;
	place-items: center;
	margin-bottom: 20px;
	border: 1px solid rgba(12, 172, 100, 0.52);
	border-radius: 50%;
	background: rgba(12, 172, 100, 0.14);
}

.passwordResetStatus span{
	width: 25px;
	height: 18px;
	border: 3px solid var(--green-color);
	border-radius: 5px;
	position: relative;
	box-sizing: border-box;
}

.passwordResetStatus span::before{
	content: "";
	position: absolute;
	left: 50%;
	bottom: calc(100% - 3px);
	width: 16px;
	height: 14px;
	border: 3px solid var(--green-color);
	border-bottom: 0;
	border-radius: 12px 12px 0 0;
	transform: translateX(-50%);
}

.passwordResetStatus span::after{
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--green-color);
	transform: translate(-50%, -50%);
}

.passwordResetStatusKey span{
	width: 34px;
	height: 18px;
	border: 0;
	border-radius: 0;
	background: transparent;
	position: relative;
}

.passwordResetStatusKey span::before{
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	bottom: auto;
	width: 12px;
	height: 12px;
	border: 3px solid var(--green-color);
	border-radius: 50%;
	background: transparent;
	transform: translateY(-50%);
}

.passwordResetStatusKey span::after{
	content: "";
	position: absolute;
	left: 15px;
	top: 50%;
	width: 18px;
	height: 5px;
	border: 0;
	border-radius: 999px;
	background:
		linear-gradient(var(--green-color), var(--green-color)) right 0 bottom -4px / 5px 5px no-repeat,
		linear-gradient(var(--green-color), var(--green-color)) right 2px bottom -4px / 4px 8px no-repeat,
		var(--green-color);
	transform: translateY(-50%);
}

.passwordResetEyebrow{
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	margin: 0 0 0.8rem;
	color: var(--light-color);
	font-size: 0.82rem;
	font-weight: 900;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.passwordResetEyebrow::before{
	content: "";
	width: 34px;
	height: 2px;
	background: var(--green-color);
}

.passwordResetPanel h1{
	margin: 0;
	color: var(--white-color);
	font-size: clamp(1.95rem, 3.8vw, 2.65rem);
	line-height: 1.08;
	letter-spacing: 0;
}

.passwordResetLead{
	max-width: 560px;
	margin: 0.9rem 0 0;
	color: rgba(230, 231, 245, 0.78);
	font-size: clamp(0.98rem, 1.7vw, 1.08rem);
	line-height: 1.6;
}

.passwordResetNotice{
	margin: 18px 0 0;
	padding: 12px 14px;
	border-left: 3px solid var(--green-color);
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.08);
	color: rgba(230, 231, 245, 0.86);
	font-size: 0.92rem;
	line-height: 1.5;
}

.passwordResetNotice.is-error{
	border-left-color: var(--red-color);
	background: rgba(211, 35, 53, 0.14);
	color: var(--pink-color);
	font-weight: 800;
}

.passwordResetFields{
	display: grid;
	gap: 16px;
	margin-top: 24px;
}

.passwordResetField{
	display: grid;
	gap: 8px;
	margin: 0;
}

.passwordResetField span{
	color: rgba(230, 231, 245, 0.76);
	font-size: 0.78rem;
	font-weight: 900;
	text-transform: uppercase;
}

.passwordResetField input{
	width: 100%;
	min-height: 54px;
	padding: 0 16px;
	box-sizing: border-box;
	border: 1px solid rgba(230, 231, 245, 0.2);
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.08);
	color: var(--white-color);
	font: inherit;
	font-size: 1rem;
	font-weight: 900;
	outline: none;
	transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

.passwordResetField input::placeholder{
	color: rgba(230, 231, 245, 0.42);
}

.passwordResetField input:focus{
	border-color: rgba(230, 231, 245, 0.52);
	background: rgba(255, 255, 255, 0.12);
	box-shadow: 0 0 0 3px rgba(230, 231, 245, 0.08);
}

.passwordResetActions{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-top: 24px;
}

.passwordResetAction,
.passwordResetSecondary{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0.75rem 1.35rem;
	box-sizing: border-box;
	border-radius: 4px;
	font-weight: 900;
	text-decoration: none;
	transition: background-color 160ms ease, color 160ms ease, transform 160ms ease, border-color 160ms ease;
}

.passwordResetAction{
	border: 1px solid var(--light-color);
	background: var(--light-color);
	color: var(--dark-color);
	font: inherit;
	font-weight: 900;
	cursor: pointer;
}

.passwordResetSecondary{
	border: 1px solid rgba(230, 231, 245, 0.2);
	background: rgba(255, 255, 255, 0.08);
	color: var(--light-color);
}

.passwordResetAction:hover,
.passwordResetAction:focus-visible{
	background: var(--white-color);
	border-color: var(--white-color);
	color: var(--dark-color);
	transform: translateY(-1px);
}

.passwordResetSecondary:hover,
.passwordResetSecondary:focus-visible{
	background: var(--white-color);
	border-color: var(--white-color);
	color: var(--dark-color);
	transform: translateY(-1px);
}

@media (max-width: 620px){
	.passwordResetPage{
		min-height: calc(100dvh - 136px);
		padding: 12px 14px 46px;
	}

	.passwordResetPanel{
		padding: 16px 18px;
	}

	.passwordResetPanel h1{
		font-size: clamp(1.72rem, 7.5vw, 2.05rem);
	}

	.passwordResetLead{
		margin-top: 0.7rem;
		line-height: 1.5;
	}

	.passwordResetStatus{
		width: 48px;
		height: 48px;
		margin-bottom: 14px;
	}

	.passwordResetFields{
		gap: 12px;
		margin-top: 16px;
	}

	.passwordResetField input{
		min-height: 50px;
	}

	.passwordResetActions{
		display: grid;
		gap: 10px;
		margin-top: 16px;
	}

	.passwordResetNotice{
		margin-top: 12px;
		padding: 10px 12px;
		font-size: 0.88rem;
		line-height: 1.42;
	}

	.passwordResetAction,
	.passwordResetSecondary{
		width: 100%;
	}
}

/* Protected document access */
.docAccessBody{
	min-height: 100dvh;
	margin: 0;
	background: var(--dark-color);
	color: var(--light-color);
}

.docAccessPage{
	min-height: calc(100dvh - 138px);
	width: 100%;
	display: grid;
	padding: clamp(16px, 3vw, 34px) clamp(18px, 4vw, 42px) clamp(38px, 7vw, 76px);
	box-sizing: border-box;
}

.docAccessBody .footer{
	position: relative;
	width: 100%;
	min-height: 64px;
	background-color: var(--dark-color);
}

.docAccessBody #footer{
	max-width: none;
	min-height: 64px;
	height: auto;
	padding: 0 16px;
	box-sizing: border-box;
	background-color: var(--dark-color);
}

.docAccessPanel{
	width: min(620px, 100%);
	margin: auto;
	padding: clamp(24px, 4vw, 42px);
	box-sizing: border-box;
	border: 1px solid rgba(230, 231, 245, 0.16);
	border-radius: 8px;
	background: rgba(230, 231, 245, 0.06);
	box-shadow: 0 24px 52px rgba(0, 0, 0, 0.26);
	color: var(--light-color);
	text-align: left;
}

.docAccessStatus{
	width: 54px;
	height: 54px;
	display: grid;
	place-items: center;
	margin-bottom: 20px;
	border: 1px solid rgba(12, 172, 100, 0.52);
	border-radius: 50%;
	background: rgba(12, 172, 100, 0.14);
}

.docAccessStatus span{
	width: 25px;
	height: 18px;
	border: 3px solid var(--green-color);
	border-radius: 5px;
	position: relative;
	box-sizing: border-box;
}

.docAccessStatus span::before{
	content: "";
	position: absolute;
	left: 50%;
	bottom: calc(100% - 3px);
	width: 16px;
	height: 14px;
	border: 3px solid var(--green-color);
	border-bottom: 0;
	border-radius: 12px 12px 0 0;
	transform: translateX(-50%);
}

.docAccessStatus span::after{
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--green-color);
	transform: translate(-50%, -50%);
}

.docAccessEyebrow{
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	margin: 0 0 0.8rem;
	color: var(--light-color);
	font-size: 0.82rem;
	font-weight: 900;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.docAccessEyebrow::before{
	content: "";
	width: 34px;
	height: 2px;
	background: var(--green-color);
}

.docAccessPanel h1{
	margin: 0;
	color: var(--white-color);
	font-size: clamp(1.95rem, 3.8vw, 2.65rem);
	line-height: 1.08;
	letter-spacing: 0;
}

.docAccessLead{
	max-width: 560px;
	margin: 0.9rem 0 0;
	color: rgba(230, 231, 245, 0.78);
	font-size: clamp(0.98rem, 1.7vw, 1.08rem);
	line-height: 1.6;
}

.docAccessNotice{
	margin: 18px 0 0;
	padding: 12px 14px;
	border-left: 3px solid var(--green-color);
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.08);
	color: rgba(230, 231, 245, 0.86);
	font-size: 0.92rem;
	line-height: 1.5;
}

.docAccessNotice.is-error{
	border-left-color: var(--red-color);
	background: rgba(211, 35, 53, 0.14);
	color: var(--pink-color);
	font-weight: 800;
}

.docAccessField{
	display: grid;
	gap: 8px;
	margin: 24px 0 0;
}

.docAccessField span{
	color: rgba(230, 231, 245, 0.76);
	font-size: 0.78rem;
	font-weight: 900;
	text-transform: uppercase;
}

.docAccessField input{
	width: 100%;
	min-height: 54px;
	padding: 0 16px;
	box-sizing: border-box;
	border: 1px solid rgba(230, 231, 245, 0.2);
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.08);
	color: var(--white-color);
	font: inherit;
	font-size: 1rem;
	font-weight: 900;
	outline: none;
	transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

.docAccessField input::placeholder{
	color: rgba(230, 231, 245, 0.42);
}

.docAccessField input:focus{
	border-color: rgba(230, 231, 245, 0.52);
	background: rgba(255, 255, 255, 0.12);
	box-shadow: 0 0 0 3px rgba(230, 231, 245, 0.08);
}

.docAccessAction{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	margin-top: 24px;
	padding: 0.75rem 1.35rem;
	box-sizing: border-box;
	border: 1px solid var(--light-color);
	border-radius: 4px;
	background: var(--light-color);
	color: var(--dark-color);
	font: inherit;
	font-weight: 900;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 160ms ease, color 160ms ease, transform 160ms ease, border-color 160ms ease;
}

.docAccessAction:hover,
.docAccessAction:focus-visible{
	background: var(--white-color);
	border-color: var(--white-color);
	color: var(--dark-color);
	transform: translateY(-1px);
}

@media (max-width: 620px){
	.docAccessPage{
		min-height: calc(100dvh - 136px);
		padding: 12px 14px 46px;
	}

	.docAccessPanel{
		padding: 16px 18px;
	}

	.docAccessPanel h1{
		font-size: clamp(1.72rem, 7.5vw, 2.05rem);
	}

	.docAccessLead{
		margin-top: 0.7rem;
		line-height: 1.5;
	}

	.docAccessStatus{
		width: 48px;
		height: 48px;
		margin-bottom: 14px;
	}

	.docAccessNotice{
		margin-top: 12px;
		padding: 10px 12px;
		font-size: 0.88rem;
		line-height: 1.42;
	}

	.docAccessField{
		margin-top: 16px;
	}

	.docAccessField input{
		min-height: 50px;
	}

	.docAccessAction{
		width: 100%;
		margin-top: 16px;
	}
}

/* Signup immo */
.signupImmoBody{
	min-height: 100dvh;
	margin: 0;
	background: var(--dark-color);
	color: var(--light-color);
}

.signupImmoPage{
	min-height: calc(100dvh - 138px);
	width: 100%;
	display: grid;
	padding: clamp(16px, 3vw, 34px) clamp(18px, 4vw, 42px) clamp(38px, 7vw, 76px);
	box-sizing: border-box;
}

.signupImmoBody .footer{
	position: relative;
	width: 100%;
	min-height: 64px;
	background-color: var(--dark-color);
}

.signupImmoBody #footer{
	max-width: none;
	min-height: 64px;
	height: auto;
	padding: 0 16px;
	box-sizing: border-box;
	background-color: var(--dark-color);
}

.signupImmoPanel{
	width: min(620px, 100%);
	margin: auto;
	padding: clamp(24px, 4vw, 42px);
	box-sizing: border-box;
	border: 1px solid rgba(230, 231, 245, 0.16);
	border-radius: 8px;
	background: rgba(230, 231, 245, 0.06);
	box-shadow: 0 24px 52px rgba(0, 0, 0, 0.26);
	color: var(--light-color);
	text-align: left;
}

.signupImmoStatus{
	width: 54px;
	height: 54px;
	display: grid;
	place-items: center;
	margin-bottom: 20px;
	border: 1px solid rgba(12, 172, 100, 0.52);
	border-radius: 50%;
	background: rgba(12, 172, 100, 0.14);
}

.signupImmoStatus span{
	width: 23px;
	height: 23px;
	border: 3px solid var(--green-color);
	border-radius: 50%;
	position: relative;
	box-sizing: border-box;
}

.signupImmoStatus span::after{
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--green-color);
	transform: translate(-50%, -50%);
}

.signupImmoStatusPhone span{
	width: 20px;
	height: 30px;
	border-radius: 6px;
}

.signupImmoStatusPhone span::before{
	content: "";
	position: absolute;
	left: 50%;
	bottom: 3px;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--green-color);
	transform: translateX(-50%);
}

.signupImmoStatusPhone span::after{
	top: 5px;
	width: 10px;
	height: 2px;
	border-radius: 999px;
	transform: translateX(-50%);
}

.signupImmoStatusOtp span::before{
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 11px;
	height: 6px;
	border-left: 2.5px solid var(--green-color);
	border-bottom: 2.5px solid var(--green-color);
	border-radius: 1px;
	transform: translate(-48%, -62%) rotate(-45deg);
}

.signupImmoStatusOtp span::after{
	display: none;
}

.signupImmoEyebrow{
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	margin: 0 0 0.8rem;
	color: var(--light-color);
	font-size: 0.82rem;
	font-weight: 900;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.signupImmoEyebrow::before{
	content: "";
	width: 34px;
	height: 2px;
	background: var(--green-color);
}

.signupImmoPanel h1{
	margin: 0;
	color: var(--white-color);
	font-size: clamp(1.95rem, 3.8vw, 2.65rem);
	line-height: 1.08;
	letter-spacing: 0;
}

.signupImmoLead,
.signupImmoMessagePanel p{
	max-width: 560px;
	margin: 0.9rem 0 0;
	color: rgba(230, 231, 245, 0.78);
	font-size: clamp(0.98rem, 1.7vw, 1.08rem);
	line-height: 1.6;
}

.signupImmoNotice{
	margin: 18px 0 0;
	padding: 12px 14px;
	border-left: 3px solid var(--green-color);
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.08);
	color: rgba(230, 231, 245, 0.86);
	font-size: 0.92rem;
	line-height: 1.5;
}

.signupImmoNotice p{
	margin: 0;
}

.signupImmoNotice.is-error{
	border-left-color: var(--red-color);
	background: rgba(211, 35, 53, 0.14);
	color: var(--pink-color);
	font-weight: 800;
}

.signupImmoPhoneGrid{
	display: grid;
	grid-template-columns: minmax(92px, 0.35fr) minmax(0, 1fr);
	gap: 14px;
	margin-top: 24px;
}

.signupImmoField{
	display: grid;
	gap: 8px;
	margin: 24px 0 0;
}

.signupImmoPhoneGrid .signupImmoField{
	margin: 0;
}

.signupImmoField span{
	color: rgba(230, 231, 245, 0.76);
	font-size: 0.78rem;
	font-weight: 900;
	text-transform: uppercase;
}

.signupImmoField input{
	width: 100%;
	min-height: 54px;
	padding: 0 16px;
	box-sizing: border-box;
	border: 1px solid rgba(230, 231, 245, 0.2);
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.08);
	color: var(--white-color);
	font: inherit;
	font-size: 1rem;
	font-weight: 900;
	outline: none;
	transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

.signupImmoField input[readonly]{
	color: rgba(230, 231, 245, 0.72);
	background: rgba(255, 255, 255, 0.05);
}

.signupImmoField input::placeholder{
	color: rgba(230, 231, 245, 0.42);
}

.signupImmoField input:focus{
	border-color: rgba(230, 231, 245, 0.52);
	background: rgba(255, 255, 255, 0.12);
	box-shadow: 0 0 0 3px rgba(230, 231, 245, 0.08);
}

.signupImmoField input.is-invalid{
	border-color: var(--red-color);
	background: rgba(211, 35, 53, 0.14);
}

.signupImmoActions{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-top: 24px;
}

.signupImmoAction,
.signupImmoSecondary{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0.75rem 1.35rem;
	box-sizing: border-box;
	border-radius: 4px;
	font: inherit;
	font-weight: 900;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 160ms ease, color 160ms ease, transform 160ms ease, border-color 160ms ease, opacity 160ms ease;
}

.signupImmoAction{
	border: 1px solid var(--light-color);
	background: var(--light-color);
	color: var(--dark-color);
}

.signupImmoSecondary{
	border: 1px solid rgba(230, 231, 245, 0.2);
	background: rgba(255, 255, 255, 0.08);
	color: var(--light-color);
}

.signupImmoAction:hover,
.signupImmoAction:focus-visible,
.signupImmoSecondary:hover,
.signupImmoSecondary:focus-visible{
	background: var(--white-color);
	border-color: var(--white-color);
	color: var(--dark-color);
	transform: translateY(-1px);
}

.signupImmoSecondary.is-disabled,
.signupImmoSecondary:disabled{
	opacity: 0.5;
	cursor: not-allowed;
	transform: none;
}

@media (max-width: 620px){
	.signupImmoPage{
		min-height: calc(100dvh - 136px);
		padding: 12px 14px 46px;
	}

	.signupImmoPanel{
		padding: 16px 18px;
	}

	.signupImmoPanel h1{
		font-size: clamp(1.72rem, 7.5vw, 2.05rem);
	}

	.signupImmoLead{
		margin-top: 0.7rem;
		line-height: 1.5;
	}

	.signupImmoStatus{
		width: 48px;
		height: 48px;
		margin-bottom: 14px;
	}

	.signupImmoPhoneGrid{
		grid-template-columns: 1fr;
		gap: 12px;
		margin-top: 16px;
	}

	.signupImmoField{
		margin-top: 16px;
	}

	.signupImmoField input{
		min-height: 50px;
	}

	.signupImmoActions{
		display: grid;
		gap: 10px;
		margin-top: 16px;
	}

	.signupImmoAction,
	.signupImmoSecondary{
		width: 100%;
	}
}

/* Check identity */
.checkIdBody{
	min-height: 100dvh;
	margin: 0;
	background: var(--dark-color);
	color: var(--light-color);
}

.checkIdPage{
	min-height: calc(100dvh - 138px);
	width: 100%;
	display: grid;
	padding: clamp(16px, 3vw, 34px) clamp(18px, 4vw, 42px) clamp(38px, 7vw, 76px);
	box-sizing: border-box;
}

.checkIdBody .footer{
	position: relative;
	width: 100%;
	min-height: 64px;
	background-color: var(--dark-color);
}

.checkIdBody #footer{
	max-width: none;
	min-height: 64px;
	height: auto;
	padding: 0 16px;
	box-sizing: border-box;
	background-color: var(--dark-color);
}

.checkIdBody .appHeaderSection{
	position: relative;
}

.checkIdHeaderStatus{
	position: absolute;
	left: 50%;
	top: 50%;
	max-width: min(460px, calc(100vw - 420px));
	min-height: 34px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 0.35rem 0.85rem;
	box-sizing: border-box;
	border: 1px solid rgba(230, 231, 245, 0.18);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.07);
	color: rgba(230, 231, 245, 0.82);
	font-size: 0.88rem;
	font-weight: 900;
	line-height: 1.2;
	text-align: center;
	transform: translate(-50%, -50%);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.checkIdHeaderStatus::before{
	content: "";
	width: 8px;
	height: 8px;
	flex: 0 0 auto;
	border-radius: 50%;
	background: currentColor;
}

.checkIdHeaderStatus.is-info{
	color: rgba(230, 231, 245, 0.84);
}

.checkIdHeaderStatus.is-processing{
	color: var(--azure-color);
	border-color: rgba(0, 123, 255, 0.38);
	background: rgba(0, 123, 255, 0.12);
}

.checkIdHeaderStatus.is-ok{
	color: var(--green-color);
	border-color: rgba(12, 172, 100, 0.42);
	background: rgba(12, 172, 100, 0.14);
}

.checkIdHeaderStatus.is-warning{
	color: #ffcc66;
	border-color: rgba(255, 204, 102, 0.42);
	background: rgba(255, 204, 102, 0.12);
}

.checkIdHeaderStatus.is-error{
	color: var(--pink-color);
	border-color: rgba(211, 35, 53, 0.42);
	background: rgba(211, 35, 53, 0.14);
}

.checkIdPanel{
	width: min(680px, 100%);
	margin: auto;
	padding: clamp(24px, 4vw, 42px);
	box-sizing: border-box;
	border: 1px solid rgba(230, 231, 245, 0.16);
	border-radius: 8px;
	background: rgba(230, 231, 245, 0.06);
	box-shadow: 0 24px 52px rgba(0, 0, 0, 0.26);
	color: var(--light-color);
	text-align: left;
}

.checkIdStatus{
	width: 54px;
	height: 54px;
	display: grid;
	place-items: center;
	margin-bottom: 20px;
	border: 1px solid rgba(12, 172, 100, 0.52);
	border-radius: 50%;
	background: rgba(12, 172, 100, 0.14);
}

.checkIdStatus span{
	width: 24px;
	height: 29px;
	border: 3px solid var(--green-color);
	border-radius: 5px;
	position: relative;
	box-sizing: border-box;
}

.checkIdStatus span::before{
	content: "";
	position: absolute;
	left: 50%;
	top: 5px;
	width: 10px;
	height: 2px;
	border-radius: 999px;
	background: var(--green-color);
	transform: translateX(-50%);
}

.checkIdStatus span::after{
	content: "";
	position: absolute;
	left: 50%;
	bottom: 5px;
	width: 11px;
	height: 7px;
	border-left: 3px solid var(--green-color);
	border-bottom: 3px solid var(--green-color);
	transform: translateX(-50%) rotate(-45deg);
}

.checkIdEyebrow{
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	margin: 0 0 0.8rem;
	color: var(--light-color);
	font-size: 0.82rem;
	font-weight: 900;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.checkIdEyebrow::before{
	content: "";
	width: 34px;
	height: 2px;
	background: var(--green-color);
}

.checkIdPanel h1{
	margin: 0;
	color: var(--white-color);
	font-size: clamp(1.95rem, 3.8vw, 2.65rem);
	line-height: 1.08;
	letter-spacing: 0;
}

.checkIdLead{
	max-width: 560px;
	margin: 0.9rem 0 0;
	color: rgba(230, 231, 245, 0.78);
	font-size: clamp(0.98rem, 1.7vw, 1.08rem);
	line-height: 1.6;
}

.checkIdNotice{
	margin: 18px 0 0;
	padding: 12px 14px;
	border-left: 3px solid var(--green-color);
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.08);
	color: rgba(230, 231, 245, 0.86);
	font-size: 0.92rem;
	line-height: 1.5;
}

.checkIdNotice.is-error{
	border-left-color: var(--red-color);
	background: rgba(211, 35, 53, 0.14);
	color: var(--pink-color);
	font-weight: 800;
}

#uploadError.checkIdNotice{
	margin-bottom: 18px;
}

.checkIdField{
	display: grid;
	gap: 8px;
	margin-top: 24px;
}

.checkIdField span{
	color: rgba(230, 231, 245, 0.76);
	font-size: 0.78rem;
	font-weight: 900;
	text-transform: uppercase;
}

.checkIdField select{
	width: 100%;
	min-height: 54px;
	padding: 0 16px;
	box-sizing: border-box;
	border: 1px solid rgba(230, 231, 245, 0.2);
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.08);
	color: var(--white-color);
	font: inherit;
	font-size: 1rem;
	font-weight: 900;
	outline: none;
	transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

.checkIdField select:focus{
	border-color: rgba(230, 231, 245, 0.52);
	background: rgba(255, 255, 255, 0.12);
	box-shadow: 0 0 0 3px rgba(230, 231, 245, 0.08);
}

.checkIdField input.formText,
.checkIdField textarea.formText{
	width: 100%;
	min-height: 54px;
	padding: 0 16px;
	box-sizing: border-box;
	border: 1px solid rgba(230, 231, 245, 0.2);
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.08);
	color: var(--white-color);
	font: inherit;
	font-size: 1rem;
	font-weight: 900;
	outline: none;
	transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

.checkIdField textarea.formText{
	min-height: 112px;
	padding-top: 14px;
	padding-bottom: 14px;
	line-height: 1.45;
	resize: vertical;
}

.checkIdField input.formText:focus,
.checkIdField textarea.formText:focus{
	border-color: rgba(230, 231, 245, 0.52);
	background: rgba(255, 255, 255, 0.12);
	box-shadow: 0 0 0 3px rgba(230, 231, 245, 0.08);
}

.checkIdField input.formText.is-invalid,
.checkIdField textarea.formText.is-invalid{
	border-color: rgba(211, 35, 53, 0.86);
	background: rgba(211, 35, 53, 0.14);
	box-shadow: 0 0 0 3px rgba(211, 35, 53, 0.1);
}

.checkIdField option{
	color: var(--dark-color);
}

.checkIdUploadSection{
	display: grid;
	grid-template-columns: 1fr;
	place-items: center;
	margin-top: 10px;
	padding: 14px;
	box-sizing: border-box;
	border: 1px dashed rgba(230, 231, 245, 0.28);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.045);
}

.checkIdDropArea{
	display: grid;
	place-items: center;
	min-height: 132px;
	padding: 14px;
	box-sizing: border-box;
	color: var(--light-color);
	cursor: pointer;
	outline: 0 solid transparent;
	position: relative;
	transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.checkIdDropArea:hover,
.checkIdDropArea:focus-within{
	border-color: rgba(230, 231, 245, 0.5);
	background: rgba(255, 255, 255, 0.065);
	transform: translateY(-1px);
}

.checkIdDropArea.is-drag-over{
	border-color: rgba(166, 202, 255, 0.78);
	background-color: rgba(166, 202, 255, 0.08);
	box-shadow: inset 0 0 0 1px rgba(166, 202, 255, 0.22);
	outline: 2px dashed rgba(166, 202, 255, 0.72);
	outline-offset: -7px;
}

.checkIdDropArea input[type="file"]{
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	opacity: 0;
}

.checkIdDropHitbox{
	position: absolute;
	inset: 0;
	z-index: 5;
	display: block;
	cursor: pointer;
}

.checkIdDropArea.has-upload-file .checkIdDropHitbox{
	left: 12px;
	top: 12px;
	right: auto;
	bottom: auto;
	width: 32px;
	height: 32px;
	border-radius: 999px;
}

body.is-file-dragging .checkIdDropArea.has-upload-file .checkIdDropHitbox,
.checkIdDropArea.has-upload-file.is-drag-over .checkIdDropHitbox{
	inset: 0;
	width: auto;
	height: auto;
	border-radius: 8px;
}

.checkIdPreview{
	width: 74px;
	aspect-ratio: 1;
	display: grid;
	place-items: center;
	overflow: hidden;
	border: 0;
	border-radius: 0;
	background: transparent;
	position: relative;
	cursor: inherit;
}

.checkIdDropArea.has-upload-file .checkIdPreview{
	width: min(100%, 460px);
	max-width: calc(100% - 40px);
}

.checkIdDropArea.has-upload-file.is-pdf-file{
	min-height: 180px;
	align-items: stretch;
	justify-items: stretch;
}

.checkIdDropArea.has-upload-file.is-pdf-file .checkIdPreview{
	width: 100%;
	height: 100%;
	max-width: none;
	aspect-ratio: auto;
}

.checkIdDropArea.has-upload-file.is-image-file .checkIdPreview{
	display: block;
	width: 100%;
	height: 180px;
	max-width: none;
	aspect-ratio: auto;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-gutter: stable both-edges;
}

.checkIdPreview img,
.checkIdPdfPreview{
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.checkIdDropArea.has-upload-file.is-image-file{
	min-height: 180px;
	align-items: stretch;
	justify-items: stretch;
}

.checkIdDropArea.has-upload-file.is-image-file .checkIdPreview img{
	display: block;
	width: 100%;
	height: auto;
	min-width: 0;
	min-height: 0;
	max-width: 100%;
	max-height: none;
	object-fit: initial;
}

.checkIdDropArea.has-upload-file .checkIdPdfPreview{
	display: block;
	width: 100%;
	height: 100%;
}

.checkIdPreview img[src$="add.png"]{
	opacity: 0;
}

.checkIdPdfPreview embed{
	width: 100%;
	height: 100%;
}

.checkIdPreview::after{
	content: "+";
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 3;
	width: 40px;
	height: 40px;
	transform: translate(-50%, -50%);
	border-radius: 999px;
	display: grid;
	place-items: center;
	background: rgba(230, 231, 245, 0.92);
	color: var(--dark-color);
	font-size: 34px;
	font-weight: 900;
	line-height: 1;
	pointer-events: none;
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.22);
}

.checkIdDropArea.has-upload-file::after{
	content: "+";
	position: absolute;
	left: 12px;
	top: 12px;
	z-index: 6;
	width: 28px;
	height: 28px;
	border-radius: 999px;
	display: grid;
	place-items: center;
	background: rgba(230, 231, 245, 0.92);
	color: var(--dark-color);
	font-size: 24px;
	font-weight: 900;
	line-height: 1;
	pointer-events: none;
	box-shadow: 0 5px 14px rgba(0, 0, 0, 0.2);
}

.checkIdDropArea.has-upload-file .checkIdPreview::after{
	display: none;
}

.checkIdPreview.is-upload-invalid::after{
	background: rgba(255, 95, 95, 0.95);
	color: #fff;
}

.checkIdDropArea.is-upload-invalid{
	min-height: 160px;
	padding: 22px 18px 42px;
}

.checkIdDropArea.is-upload-invalid::before{
	left: 18px !important;
	right: 18px !important;
	top: auto !important;
	bottom: 14px !important;
	transform: none !important;
	width: auto !important;
	color: #ff6b6b !important;
	font-size: 0.95rem !important;
	line-height: 1.25 !important;
	white-space: normal !important;
	overflow-wrap: anywhere !important;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.24) !important;
}

.checkIdDropArea.is-upload-invalid .checkIdPreview::after{
	background: rgba(255, 95, 95, 0.95);
	color: #fff;
	box-shadow: 0 8px 18px rgba(255, 95, 95, 0.28);
}

.checkIdUploadTitle{
	margin: 0;
	color: rgba(230, 231, 245, 0.76);
	font-size: 0.92rem;
	font-weight: 800;
	text-transform: none;
}

.checkIdUploadHelp,
.checkIdFileInfo{
	margin: 5px 0 0;
	color: rgba(230, 231, 245, 0.68);
	font-size: 0.9rem;
	line-height: 1.45;
}

.checkIdFileButton{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	margin-top: 12px;
	padding: 0.7rem 1.15rem;
	box-sizing: border-box;
	border: 1px solid rgba(230, 231, 245, 0.2);
	border-radius: 4px;
	background: rgba(255, 255, 255, 0.08);
	color: var(--light-color);
	font-weight: 900;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 160ms ease, color 160ms ease, transform 160ms ease, border-color 160ms ease;
}

.checkIdFileButton:hover,
.checkIdFileButton:focus-within{
	background: var(--white-color);
	border-color: var(--white-color);
	color: var(--dark-color);
	transform: translateY(-1px);
}

.checkIdFileButton input[type="file"]{
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	opacity: 0;
}

.checkIdDropArea.checkIdFileButton{
	display: grid;
	margin-top: 0;
}

.checkIdActions{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-top: 24px;
}

.checkIdAction{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0.75rem 1.35rem;
	box-sizing: border-box;
	border: 1px solid var(--light-color);
	border-radius: 4px;
	background: var(--light-color);
	color: var(--dark-color);
	font: inherit;
	font-weight: 900;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 160ms ease, color 160ms ease, transform 160ms ease, border-color 160ms ease;
}

.checkIdAction:hover,
.checkIdAction:focus-visible{
	background: var(--white-color);
	border-color: var(--white-color);
	color: var(--dark-color);
	transform: translateY(-1px);
}

.checkIdAction:disabled{
	opacity: 0.48;
	cursor: not-allowed;
	transform: none;
}

.checkIdActionSecondary{
	background: transparent;
	color: var(--light-color);
	border-color: rgba(230, 231, 245, 0.24);
}

.checkIdActionSecondary:hover,
.checkIdActionSecondary:focus-visible{
	background: rgba(255, 255, 255, 0.1);
	border-color: rgba(230, 231, 245, 0.44);
	color: var(--white-color);
}

.checkIdReviewGrid{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 14px;
	margin-top: 4px;
}

.checkIdReviewGrid .checkIdField:last-child{
	grid-column: 1 / -1;
}

.checkIdReviewGrid .checkIdFieldWide{
	grid-column: 1 / -1;
}

.checkIdIntervenantGrid .checkIdOtherField,
.checkIdIntervenantGrid .checkIdCompanyField{
	grid-column: 1 / -1;
}

.checkIdSkillsField{
	grid-column: 1 / -1;
	margin: 24px 0 0;
	padding: 0;
	border: 0;
}

.checkIdSkillsField legend{
	display: block;
	margin: 0 0 8px;
	padding: 0;
	background: transparent;
	color: rgba(230, 231, 245, 0.76);
	font-size: 0.78rem;
	font-weight: 900;
	line-height: 1;
	text-transform: uppercase;
}

.checkIdSkillsGrid{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px 14px;
}

.checkIdSkillOption{
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	padding: 10px 12px;
	box-sizing: border-box;
	border: 1px solid rgba(230, 231, 245, 0.24);
	border-radius: 4px;
	background: rgba(255, 255, 255, 0.03);
	color: rgba(230, 231, 245, 0.9);
	font-size: 0.92rem;
	font-weight: 850;
	cursor: pointer;
	transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease;
}

.checkIdSkillOption:hover,
.checkIdSkillOption:focus-within{
	border-color: rgba(230, 231, 245, 0.48);
	background: rgba(255, 255, 255, 0.07);
	color: var(--white-color);
}

.checkIdSkillOption.isLocked{
	border-color: rgba(84, 190, 114, 0.42);
	background: rgba(84, 190, 114, 0.1);
	cursor: default;
}

.checkIdSkillOption input{
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
	accent-color: var(--green-color);
}

.checkIdSkillOption input:disabled{
	opacity: 0.9;
	cursor: default;
}

.checkIdSkillOption span{
	min-width: 0;
	overflow-wrap: anywhere;
}

@media (max-width: 620px){
	.checkIdBody .appHeaderSection{
		display: grid;
		gap: 10px;
		justify-items: center;
	}

	.checkIdHeaderStatus{
		position: static;
		max-width: 100%;
		width: 100%;
		transform: none;
		white-space: normal;
	}

	.checkIdPage{
		min-height: calc(100dvh - 136px);
		padding: 12px 14px 46px;
	}

	.checkIdPanel{
		padding: 16px 18px;
	}

	.checkIdPanel h1{
		font-size: clamp(1.72rem, 7.5vw, 2.05rem);
	}

	.checkIdLead{
		margin-top: 0.7rem;
		line-height: 1.5;
	}

	.checkIdStatus{
		width: 48px;
		height: 48px;
		margin-bottom: 14px;
	}

	.checkIdUploadSection{
		grid-template-columns: 1fr;
		margin-top: 14px;
	}

	.checkIdDropArea{
		min-height: 120px;
	}

	.checkIdPreview{
		width: 86px;
		justify-self: center;
	}

	.checkIdActions{
		display: grid;
		gap: 10px;
		margin-top: 16px;
	}

	.checkIdReviewGrid{
		grid-template-columns: 1fr;
	}

	.checkIdReviewGrid .checkIdField:last-child{
		grid-column: auto;
	}

	.checkIdReviewGrid .checkIdFieldWide{
		grid-column: auto;
	}

	.checkIdSkillsGrid{
		grid-template-columns: 1fr;
	}

	.checkIdAction{
		width: 100%;
	}
}

/* Keep the tenant document resend action hidden until a document checkbox is selected. */
button.docTenantResendBtn:not(.isVisible),
button.docTenantResendBtn[hidden]{
	display: none !important;
}

button.docTenantResendBtn.isVisible:not([hidden]){
	display: inline-flex !important;
}

/* =========================
   Immo modern modal skin
   ========================= */

body.immoPage .modal:not(.settingsModal){
	border: 1px solid rgba(230, 231, 245, 0.18) !important;
	border-radius: 10px !important;
	background: #2a2c32 !important;
	color: var(--light-color) !important;
	box-shadow: 0 22px 60px rgba(0, 0, 0, 0.48) !important;
	overflow: hidden !important;
}

body.immoPage .modal:not(.settingsModal).active{
	display: flex;
	flex-direction: column;
}

body.immoPage .modal:not(.settingsModal) .modal-header{
	position: sticky;
	top: 0;
	z-index: 10;
	min-height: 54px;
	padding: 13px 16px !important;
	margin: 0 !important;
	border-bottom: 1px solid rgba(230, 231, 245, 0.14) !important;
	background: rgba(42, 44, 50, 0.98) !important;
	color: var(--light-color) !important;
	box-sizing: border-box;
}

body.immoPage .modal:not(.settingsModal) .modal-header span,
body.immoPage .modal:not(.settingsModal) .modal-header .title{
	display: inline-flex;
	align-items: center;
	gap: 9px;
	min-width: 0;
	font-size: 1.06rem;
	line-height: 1.2;
	font-weight: 800;
	color: var(--light-color);
}

body.immoPage .modal:not(.settingsModal) .modal-header img{
	width: 28px !important;
	height: 28px !important;
	object-fit: contain;
	margin: 0 !important;
	filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.22));
}

body.immoPage .modal:not(.settingsModal) .close-button,
body.immoPage .modal:not(.settingsModal) .modal-header .close-button{
	width: 36px;
	height: 36px;
	min-width: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 !important;
	border: 1px solid rgba(230, 231, 245, 0.18) !important;
	border-radius: 8px;
	background: rgba(230, 231, 245, 0.08) !important;
	color: var(--light-color) !important;
	font-size: 22px !important;
	line-height: 1;
	transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

body.immoPage .modal:not(.settingsModal) .close-button:hover{
	background: rgba(230, 231, 245, 0.14) !important;
	border-color: rgba(230, 231, 245, 0.28) !important;
	transform: translateY(-1px);
}

body.immoPage .modal:not(.settingsModal) .modal_body{
	flex: 1 1 auto;
	min-height: 0;
	padding: 16px !important;
	overflow: auto;
	background: #2a2c32;
	box-sizing: border-box;
}

body.immoPage .modal:not(.settingsModal) > div[style*="justify-content: space-around"]{
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 10px;
	padding: 12px 16px 0;
	background: #2a2c32;
	box-sizing: border-box;
}

body.immoPage .modal:not(.settingsModal) > div[style*="justify-content: space-around"] .button,
body.immoPage .modal:not(.settingsModal) .modal_body > div[style*="justify-content: space-around"] .button,
body.immoPage .modal:not(.settingsModal) .invoiceModalTabs .button,
body.immoPage .modal:not(.settingsModal) .documentsDispButton,
body.immoPage .modal:not(.settingsModal) .gaugesDispButton,
body.immoPage .modal:not(.settingsModal) .itemsDispButton{
	width: 100% !important;
	min-height: 44px;
	border: 1px solid rgba(230, 231, 245, 0.14) !important;
	border-radius: 7px !important;
	background: rgba(230, 231, 245, 0.10) !important;
	color: var(--light-color) !important;
	box-shadow: none !important;
}

body.immoPage .modal:not(.settingsModal) > div[style*="justify-content: space-around"] .button:hover,
body.immoPage .modal:not(.settingsModal) .modal_body > div[style*="justify-content: space-around"] .button:hover,
body.immoPage .modal:not(.settingsModal) .invoiceModalTabs .button:hover,
body.immoPage .modal:not(.settingsModal) .documentsDispButton:hover,
body.immoPage .modal:not(.settingsModal) .gaugesDispButton:hover,
body.immoPage .modal:not(.settingsModal) .itemsDispButton:hover{
	background: rgba(230, 231, 245, 0.16) !important;
	border-color: rgba(230, 231, 245, 0.26) !important;
}

body.immoPage .modal:not(.settingsModal) .mwFormWrap,
body.immoPage .modal:not(.settingsModal) .itemsActionsWrap{
	gap: 14px;
	color: var(--light-color);
}

body.immoPage .modal:not(.settingsModal) .mwCard,
body.immoPage .modal:not(.settingsModal) .itemsCard,
body.immoPage .modal:not(.settingsModal) .itemsActionsCard,
body.immoPage .modal:not(.settingsModal) .invoiceDetailsPanel,
body.immoPage .modal:not(.settingsModal) .invoiceGenerateControls,
body.immoPage .modal:not(.settingsModal) .globalInvoicePanel,
body.immoPage .modal:not(.settingsModal) .propertyFormRow,
body.immoPage .modal:not(.settingsModal) .invoiceFieldsGrid,
body.immoPage .modal:not(.settingsModal) .invoiceTopNav{
	border: 1px solid rgba(230, 231, 245, 0.14) !important;
	border-radius: 8px !important;
	background: rgba(230, 231, 245, 0.06) !important;
	box-shadow: none !important;
	color: var(--light-color) !important;
}

body.immoPage .modal:not(.settingsModal) .mwCard,
body.immoPage .modal:not(.settingsModal) .itemsCard,
body.immoPage .modal:not(.settingsModal) .itemsActionsCard{
	padding: 14px !important;
}

body.immoPage .modal:not(.settingsModal) .itemsCardTitle,
body.immoPage .modal:not(.settingsModal) p{
	color: var(--light-color);
}

body.immoPage .modal:not(.settingsModal) .fieldset-input label{
	background: #34363d !important;
	color: rgba(230, 231, 245, 0.72) !important;
	font-weight: 700;
}

body.immoPage .modal:not(.settingsModal) .mwCard .fieldset-input label,
body.immoPage .modal:not(.settingsModal) .itemsCard .fieldset-input label,
body.immoPage .modal:not(.settingsModal) .itemsActionsCard .fieldset-input label,
body.immoPage .modal:not(.settingsModal) .propertyFormRow .fieldset-input label,
body.immoPage .modal:not(.settingsModal) .invoiceFieldsGrid .fieldset-input label,
body.immoPage .modal:not(.settingsModal) .invoiceTopNav .fieldset-input label{
	background: #34363d !important;
}

body.immoPage .modal:not(.settingsModal) .formText,
body.immoPage .modal:not(.settingsModal) input[type="text"],
body.immoPage .modal:not(.settingsModal) input[type="number"],
body.immoPage .modal:not(.settingsModal) input[type="date"],
body.immoPage .modal:not(.settingsModal) input[type="search"],
body.immoPage .modal:not(.settingsModal) input[type="email"],
body.immoPage .modal:not(.settingsModal) select,
body.immoPage .modal:not(.settingsModal) textarea{
	border: 1px solid rgba(230, 231, 245, 0.22) !important;
	border-radius: 7px !important;
	background: rgba(230, 231, 245, 0.08) !important;
	color: var(--light-color) !important;
	box-shadow: none !important;
}

body.immoPage .modal:not(.settingsModal) .formText::placeholder,
body.immoPage .modal:not(.settingsModal) input::placeholder,
body.immoPage .modal:not(.settingsModal) textarea::placeholder{
	color: rgba(230, 231, 245, 0.55);
}

body.immoPage .modal:not(.settingsModal) .formText:focus,
body.immoPage .modal:not(.settingsModal) input:focus,
body.immoPage .modal:not(.settingsModal) select:focus,
body.immoPage .modal:not(.settingsModal) textarea:focus{
	outline: none;
	border-color: rgba(230, 231, 245, 0.46) !important;
	background: rgba(230, 231, 245, 0.12) !important;
}

body.immoPage .modal:not(.settingsModal) option{
	background: #2a2c32;
	color: var(--light-color);
}

body.immoPage .modal:not(.settingsModal) optgroup{
	background: #343740 !important;
	color: var(--light-color) !important;
	font-weight: 900;
}

body.immoPage .modal:not(.settingsModal) input[type="checkbox"],
body.immoPage .modal:not(.settingsModal) input[type="radio"]{
	accent-color: var(--light-color);
}

body.immoPage .modal:not(.settingsModal) input[type="file"]{
	border-color: transparent !important;
	background: transparent !important;
	color: transparent !important;
}

body.immoPage .modal#documents .docUploadCard > .mwPick input[type="file"]{
	position: absolute !important;
	inset: 0 auto auto 0 !important;
	display: block !important;
	width: 2000px !important;
	min-width: 100% !important;
	max-width: none !important;
	height: 100% !important;
	opacity: 0 !important;
	cursor: pointer !important;
	font-size: 330px !important;
	pointer-events: auto !important;
}

body.immoPage .modal#documents .docUploadCard{
	position: relative !important;
	display: block !important;
	width: 100% !important;
	min-height: 0 !important;
	padding: 14px !important;
	border: 1px solid rgba(230, 231, 245, 0.14) !important;
	border-radius: 8px !important;
	background: rgba(230, 231, 245, 0.06) !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	overflow: visible !important;
}

body.immoPage .modal#documents .docUploadCard .mwPreview,
body.immoPage .modal#documents .docUploadCard .mwPreview.is-drag-over,
body.immoPage .modal#documents .docUploadCard:has(.mwPick .parent-div:hover) .mwPreview,
body.immoPage .modal#documents .docUploadCard:has(.mwPick .parent-div:focus-within) .mwPreview{
	position: relative !important;
	width: 100% !important;
	height: 260px !important;
	min-height: 260px !important;
	max-height: 260px !important;
	margin: 0 0 14px !important;
	border: 1px dashed rgba(230, 231, 245, 0.22) !important;
	border-radius: 8px !important;
	background: rgba(230, 231, 245, 0.07) !important;
	box-shadow: none !important;
	transform: none !important;
	overflow: hidden !important;
}

body.immoPage .modal#documents .docUploadCard .mwPick{
	position: absolute !important;
	inset: 0 !important;
	z-index: 8 !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	opacity: 0 !important;
	pointer-events: auto !important;
}

body.immoPage .modal#documents .docUploadCard .parent-div{
	position: relative !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	overflow: hidden !important;
}

body.immoPage .modal#documents .docUploadCard .parent-div .button{
	width: 100% !important;
	height: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

body.immoPage .modal#documents .docUploadCard .mwPick input[type="file"]{
	position: absolute !important;
	inset: 0 auto auto 0 !important;
	display: block !important;
	width: 2000px !important;
	min-width: 100% !important;
	max-width: none !important;
	height: 100% !important;
	opacity: 0 !important;
	cursor: pointer !important;
	font-size: 260px !important;
	pointer-events: auto !important;
}

body.immoPage .modal#documents .docUploadCard > p{
	position: absolute !important;
	left: 50% !important;
	top: 142px !important;
	z-index: 10 !important;
	margin: 0 !important;
	transform: translate(-50%, -76px) !important;
	pointer-events: none !important;
}

body.immoPage .modal#documents .docUploadCard > .fieldset-input{
	position: relative !important;
	z-index: 10 !important;
}

body.immoPage .modal:not(.settingsModal) a,
body.immoPage .modal:not(.settingsModal) a.link{
	color: #9fc5ff !important;
}

body.immoPage .modal:not(.settingsModal) a:hover,
body.immoPage .modal:not(.settingsModal) a.link:hover{
	color: #c8dcff !important;
}

body.immoPage .modal:not(.settingsModal) .mwTableWrap{
	border: 1px solid rgba(230, 231, 245, 0.14) !important;
	border-radius: 8px !important;
	background: rgba(230, 231, 245, 0.05) !important;
	box-shadow: none !important;
}

body.immoPage .modal:not(.settingsModal) .mwTableWrap table,
body.immoPage .modal:not(.settingsModal) .mwTableWrap .modalTable{
	background: transparent !important;
	color: var(--light-color);
}

body.immoPage .modal:not(.settingsModal) .mwTableWrap thead.tableImmoDoc,
body.immoPage .modal:not(.settingsModal) .mwTableWrap thead.tableImmoGauge,
body.immoPage .modal:not(.settingsModal) .mwTableWrap thead.tableImmoInventory{
	background: rgba(230, 231, 245, 0.10) !important;
	color: var(--light-color) !important;
}

body.immoPage .modal:not(.settingsModal) .mwTableWrap tbody.tableImmoDoc tr,
body.immoPage .modal:not(.settingsModal) .mwTableWrap tbody.tableImmoGauge tr,
body.immoPage .modal:not(.settingsModal) .mwTableWrap tbody.tableImmoInventory tr,
body.immoPage .modal:not(.settingsModal) tr.tableImmoContract{
	background: rgba(230, 231, 245, 0.04) !important;
}

body.immoPage .modal:not(.settingsModal) .mwTableWrap tbody.tableImmoDoc tr:nth-child(even),
body.immoPage .modal:not(.settingsModal) .mwTableWrap tbody.tableImmoGauge tr:nth-child(even),
body.immoPage .modal:not(.settingsModal) .mwTableWrap tbody.tableImmoInventory tr:nth-child(even),
body.immoPage .modal:not(.settingsModal) tr.tableImmoContract:nth-child(even){
	background: rgba(230, 231, 245, 0.08) !important;
}

body.immoPage .modal:not(.settingsModal) .mwTableWrap tbody.tableImmoDoc th,
body.immoPage .modal:not(.settingsModal) .mwTableWrap tbody.tableImmoGauge th,
body.immoPage .modal:not(.settingsModal) .mwTableWrap tbody.tableImmoInventory th,
body.immoPage .modal:not(.settingsModal) .mwTableWrap tbody.tableImmoInventory td,
body.immoPage .modal:not(.settingsModal) tr.tableImmoContract th,
body.immoPage .modal:not(.settingsModal) tr.tableImmoContract td{
	border-bottom-color: rgba(230, 231, 245, 0.12) !important;
	color: var(--light-color) !important;
}

body.immoPage .modal:not(.settingsModal) .gaugeValueText{
	background: rgba(12, 172, 100, 0.16);
	color: #55d99b;
}

body.immoPage .modal:not(.settingsModal) .gaugePendingText{
	background: rgba(230, 231, 245, 0.08);
	color: rgba(230, 231, 245, 0.7);
}

body.immoPage .modal:not(.settingsModal) .gaugeRequestCheckItem{
	border-color: rgba(230, 231, 245, 0.14);
	background: rgba(230, 231, 245, 0.06);
}

body.immoPage .modal:not(.settingsModal) .gaugeRequestCheckItem span{
	color: var(--light-color);
}

body.immoPage .modal:not(.settingsModal) .mwActionsRow .button,
body.immoPage .modal:not(.settingsModal) .itemsSubmit .button,
body.immoPage .modal:not(.settingsModal) button[type="submit"].button{
	border-radius: 7px !important;
}

body.immoPage .modal:not(.settingsModal) .button,
body.immoPage .modal:not(.settingsModal) .buttonSmall{
	border: 1px solid rgba(230, 231, 245, 0.16) !important;
	border-radius: 7px !important;
	background: rgba(230, 231, 245, 0.10) !important;
	color: var(--light-color) !important;
	box-shadow: none !important;
	transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease !important;
}

body.immoPage .modal:not(.settingsModal) .button:hover,
body.immoPage .modal:not(.settingsModal) .button:focus,
body.immoPage .modal:not(.settingsModal) .buttonSmall:hover,
body.immoPage .modal:not(.settingsModal) .buttonSmall:focus{
	background: rgba(230, 231, 245, 0.17) !important;
	border-color: rgba(230, 231, 245, 0.30) !important;
	color: var(--light-color) !important;
	transform: translateY(-1px);
}

body.immoPage .modal:not(.settingsModal) .button.is-active,
body.immoPage .modal:not(.settingsModal) .buttonSmall.is-active{
	background: rgba(230, 231, 245, 0.24) !important;
	border-color: rgba(230, 231, 245, 0.46) !important;
	color: var(--light-color) !important;
	box-shadow: inset 0 0 0 1px rgba(230, 231, 245, 0.18), 0 8px 18px rgba(0, 0, 0, 0.18) !important;
}

body.immoPage .modal:not(.settingsModal) .mwPick .button,
body.immoPage .modal:not(.settingsModal) .filePick .button,
body.immoPage .modal:not(.settingsModal) .itemsActionsPick .button{
	opacity: 0 !important;
	background: transparent !important;
	border-color: transparent !important;
	transform: none !important;
}

body.immoPage .modal:not(.settingsModal) .mwPreview,
body.immoPage .modal:not(.settingsModal) .itemsPreview,
body.immoPage .modal:not(.settingsModal) .itemsActionsPreview,
body.immoPage .modal:not(.settingsModal) .standaloneUploadPreview{
	border-color: rgba(230, 231, 245, 0.16) !important;
	background: rgba(230, 231, 245, 0.07) !important;
}

body.immoPage .modal:not(.settingsModal) .mwPreview img,
body.immoPage .modal:not(.settingsModal) .itemsPreview img,
body.immoPage .modal:not(.settingsModal) .itemsActionsPreview img,
body.immoPage .modal:not(.settingsModal) #displayBill,
body.immoPage .modal:not(.settingsModal) #displayPhotoSubprop{
	background: transparent !important;
}

body.immoPage #overlay.active{
	background-color: rgba(13, 14, 18, 0.72);
	backdrop-filter: blur(2px);
}

body.immoPage #overlay.active.isMessagesKeyboardOverlay,
body.intervenantPage #overlay.active.isMessagesKeyboardOverlay{
	bottom: -140px;
	background-color: rgba(13, 14, 18, 0.84);
	backdrop-filter: blur(2px);
}

@media (max-width: 700px){
	body.immoPage .modal:not(.settingsModal){
		width: calc(100vw - 20px) !important;
		max-height: calc(100dvh - 18px) !important;
		border-radius: 9px !important;
	}

	body.immoPage .modal:not(.settingsModal) .modal-header{
		min-height: 50px;
		padding: 11px 12px !important;
	}

	body.immoPage .modal:not(.settingsModal) .modal_body{
		padding: 12px !important;
	}

	body.immoPage .modal:not(.settingsModal) > div[style*="justify-content: space-around"]{
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding: 10px 12px 0;
	}

	body.immoPage .modal:not(.settingsModal) .mwFormWrap > div:has(> #docsCustomerId),
	body.immoPage .modal:not(.settingsModal) .mwFormWrap > div:has(> #gaugesCustomerId),
	body.immoPage .modal:not(.settingsModal) #docsCustomerId,
	body.immoPage .modal:not(.settingsModal) #gaugesCustomerId{
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		box-sizing: border-box !important;
	}

	body.immoPage .modal:not(.settingsModal) #docsCustomerId,
	body.immoPage .modal:not(.settingsModal) #gaugesCustomerId{
		display: block !important;
		margin: 0 !important;
	}

	body.immoPage #documents .ownerDocsTable{
		min-width: 400px !important;
		width: 100% !important;
		table-layout: fixed !important;
	}

	body.immoPage #documents .ownerDocsTable th,
	body.immoPage #documents .ownerDocsTable td{
		padding-left: 8px !important;
		padding-right: 8px !important;
		white-space: normal !important;
		word-break: break-word;
	}

	body.immoPage #documents .ownerDocsTable th:nth-child(4),
	body.immoPage #documents .ownerDocsTable td:nth-child(4){
		white-space: nowrap !important;
		word-break: normal;
	}
}

/* Immo modal refinements */
body.immoPage .modal:not(.settingsModal) .modalTabBar{
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 10px;
	padding: 12px 16px 0;
	background: #2a2c32;
	box-sizing: border-box;
}

body.immoPage #addContract .contractModalTabBar{
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

body.immoPage .modal:not(.settingsModal) .modalTabBar .button{
	width: 100% !important;
	min-width: 0 !important;
}

body.immoPage #documents .globalDocsEmptyRow th{
	padding: 22px 14px !important;
	text-align: center !important;
	color: rgba(230, 231, 245, 0.72) !important;
	font-weight: 700 !important;
}

body.immoPage #documents #addDocsFormContent .ownerDocDropzoneCard{
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
}

body.immoPage .modal#documents .docUploadCard,
body.immoPage .modal#documents .docUploadCard:has(.mwPick .parent-div:hover),
body.immoPage .modal#documents .docUploadCard:has(.mwPick .parent-div:focus-within),
body.immoPage .modal#documents .docUploadCard.is-drag-over{
	position: relative !important;
	display: block !important;
	width: 100% !important;
	min-height: 0 !important;
	padding: 14px !important;
	border: 1px solid rgba(230, 231, 245, 0.14) !important;
	border-radius: 8px !important;
	background: rgba(230, 231, 245, 0.06) !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	overflow: visible !important;
}

body.immoPage .modal#documents .docUploadCard .mwPreview,
body.immoPage .modal#documents .docUploadCard .mwPreview.is-drag-over,
body.immoPage .modal#documents .docUploadCard:has(.mwPick .parent-div:hover) .mwPreview,
body.immoPage .modal#documents .docUploadCard:has(.mwPick .parent-div:focus-within) .mwPreview{
	position: relative !important;
	width: 100% !important;
	height: 260px !important;
	min-height: 260px !important;
	max-height: 260px !important;
	margin: 0 0 14px !important;
	border: 1px dashed rgba(230, 231, 245, 0.22) !important;
	border-radius: 8px !important;
	background: rgba(230, 231, 245, 0.07) !important;
	box-shadow: none !important;
	transform: none !important;
	overflow: hidden !important;
}

body.immoPage .modal#documents .docUploadCard > p{
	position: absolute !important;
	left: 50% !important;
	top: 142px !important;
	z-index: 10 !important;
	margin: 0 !important;
	transform: translate(-50%, -76px) !important;
	pointer-events: none !important;
}

body.immoPage .modal#documents .docUploadCard > .fieldset-input{
	position: relative !important;
	z-index: 10 !important;
}

body.immoPage .modal#documents .docUploadCard.has-upload-file > p{
	display: none !important;
}

body.immoPage .modal#documents .docUploadCard.has-upload-file .mwPreview{
	align-items: stretch !important;
	justify-content: stretch !important;
	place-items: stretch !important;
}

body.immoPage .modal#documents .docUploadCard .mwPreview img:not([src$="add.png"]),
body.immoPage .modal#documents .docUploadCard.has-pdf-upload .mwPdfPreview{
	position: relative !important;
	z-index: 1 !important;
	width: 100% !important;
	height: auto !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: contain !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
}

body.immoPage .modal#documents .docUploadCard.has-pdf-upload .mwPdfPreview,
body.immoPage .modal#documents .docUploadCard.has-pdf-upload .mwPdfPreview embed{
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 260px !important;
	border: 0 !important;
}

.mwTableWrap .ownerDocsTable tr > th:nth-child(1),
.mwTableWrap .ownerDocsTable tr > td:nth-child(1){
	width: 48px !important;
}

.mwTableWrap .ownerDocsTable tr > th:nth-child(2),
.mwTableWrap .ownerDocsTable tr > td:nth-child(2){
	width: 105px !important;
}

.mwTableWrap .ownerDocsTable tr > th:nth-child(3),
.mwTableWrap .ownerDocsTable tr > td:nth-child(3){
	width: 170px !important;
}

.mwTableWrap .ownerDocsTable tr > th:nth-child(4),
.mwTableWrap .ownerDocsTable tr > td:nth-child(4){
	width: 77px !important;
}

body.immoPage .modal:not(.settingsModal) .modalTabBar .button.is-active,
body.immoPage .modal:not(.settingsModal) .invoiceModalTabs .button.is-active,
body.immoPage .modal:not(.settingsModal) .documentsDispButton.is-active,
body.immoPage .modal:not(.settingsModal) .gaugesDispButton.is-active,
body.immoPage .modal:not(.settingsModal) .itemsDispButton.is-active,
body.immoPage .modal:not(.settingsModal) .contractsDispButton.is-active,
body.immoPage .modal:not(.settingsModal) .propertiesDispButton.is-active,
body.immoPage .modal:not(.settingsModal) .customersDispButton.is-active{
	background: rgba(230, 231, 245, 0.24) !important;
	border-color: rgba(230, 231, 245, 0.46) !important;
	color: #ffffff !important;
	box-shadow: inset 0 0 0 1px rgba(230, 231, 245, 0.18), 0 8px 18px rgba(0, 0, 0, 0.18) !important;
}

body.immoPage .modal:not(.settingsModal) .btnIconMobile.btnIconMobileLabel::after{
	color: rgba(246, 247, 255, 0.92) !important;
	font-weight: 800 !important;
}

body.immoPage .modal:not(.settingsModal) .button.is-active.btnIconMobile.btnIconMobileLabel::after{
	color: #ffffff !important;
}

body.immoPage .modal:not(.settingsModal) .globalInvoiceSourceButton{
	border-color: rgba(230, 231, 245, 0.18) !important;
	background: rgba(230, 231, 245, 0.055) !important;
	color: rgba(246, 247, 255, 0.82) !important;
	box-shadow: none !important;
}

body.immoPage .modal:not(.settingsModal) .globalInvoiceSourceButton:hover,
body.immoPage .modal:not(.settingsModal) .globalInvoiceSourceButton:focus-visible{
	border-color: rgba(166, 202, 255, 0.42) !important;
	background: rgba(166, 202, 255, 0.10) !important;
	color: #ffffff !important;
	outline: none;
}

body.immoPage .modal:not(.settingsModal) .globalInvoiceSourceButton.is-active{
	border-color: rgba(166, 202, 255, 0.58) !important;
	background: rgba(166, 202, 255, 0.16) !important;
	color: #ffffff !important;
}

body.immoPage .modal:not(.settingsModal) .fieldset-input label,
body.immoPage .modal:not(.settingsModal) .invoiceSwitchCard > label{
	color: rgba(246, 247, 255, 0.92) !important;
	text-shadow: 0 1px 1px rgba(0, 0, 0, 0.22);
}

body.immoPage .modal:not(.settingsModal) .mwTableWrap tbody.tableImmoDoc tr,
body.immoPage .modal:not(.settingsModal) .mwTableWrap tbody.tableImmoGauge tr,
body.immoPage .modal:not(.settingsModal) .mwTableWrap tbody.tableImmoInventory tr,
body.immoPage .modal:not(.settingsModal) tbody.tableImmoContract tr,
body.immoPage .modal:not(.settingsModal) tr.tableImmoContract{
	background: rgba(230, 231, 245, 0.035) !important;
}

body.immoPage .modal:not(.settingsModal) .mwTableWrap tbody.tableImmoDoc tr:nth-child(even),
body.immoPage .modal:not(.settingsModal) .mwTableWrap tbody.tableImmoGauge tr:nth-child(even),
body.immoPage .modal:not(.settingsModal) .mwTableWrap tbody.tableImmoInventory tr:nth-child(even),
body.immoPage .modal:not(.settingsModal) tbody.tableImmoContract tr:nth-child(even),
body.immoPage .modal:not(.settingsModal) tr.tableImmoContract:nth-child(even){
	background: rgba(230, 231, 245, 0.065) !important;
}

body.immoPage .modal:not(.settingsModal) thead.tableImmoContract,
body.immoPage .modal:not(.settingsModal) thead.tableImmoContract tr,
body.immoPage .modal:not(.settingsModal) thead.tableImmoContract th{
	background: rgba(230, 231, 245, 0.105) !important;
	color: var(--light-color) !important;
	border-bottom-color: rgba(230, 231, 245, 0.14) !important;
}

body.immoPage .modal:not(.settingsModal) tbody.tableImmoContract th,
body.immoPage .modal:not(.settingsModal) tbody.tableImmoContract td{
	color: var(--light-color) !important;
	border-bottom-color: rgba(230, 231, 245, 0.11) !important;
}

body.immoPage .modal:not(.settingsModal) .invoicePanel,
body.immoPage .modal:not(.settingsModal) .invoiceDetailsPanel,
body.immoPage .modal:not(.settingsModal) .invoiceGenerateControls,
body.immoPage .modal:not(.settingsModal) .invoiceGeneratedDetails,
body.immoPage .modal:not(.settingsModal) .invoiceLibraryPanel,
body.immoPage .modal:not(.settingsModal) .globalInvoicePanel,
body.immoPage .modal:not(.settingsModal) .globalInvoiceManager,
body.immoPage .modal:not(.settingsModal) .invoiceFindPanel,
body.immoPage .modal:not(.settingsModal) .invoiceUploadDropzone,
body.immoPage .modal:not(.settingsModal) .invoiceTableWrap,
body.immoPage .modal:not(.settingsModal) .globalInvoicePropertyChoice,
body.immoPage .modal:not(.settingsModal) .globalInvoiceComments label,
body.immoPage .modal:not(.settingsModal) .globalInvoiceManagerRow,
body.immoPage .modal:not(.settingsModal) .invoiceSwitchCard{
	border-color: rgba(230, 231, 245, 0.14) !important;
	background: rgba(230, 231, 245, 0.055) !important;
	color: var(--light-color) !important;
	box-shadow: none !important;
}

body.immoPage .modal:not(.settingsModal) .invoiceUploadDropzone{
	border-style: dashed !important;
	background: rgba(230, 231, 245, 0.045) !important;
}

body.immoPage .modal:not(.settingsModal) .invoiceTableWrap th{
	background: rgba(230, 231, 245, 0.10) !important;
	color: var(--light-color) !important;
}

body.immoPage .modal:not(.settingsModal) .invoiceTableWrap td,
body.immoPage .modal:not(.settingsModal) .invoiceTableWrap th{
	border-bottom-color: rgba(230, 231, 245, 0.12) !important;
	color: var(--light-color) !important;
}

body.immoPage #invoices #sectionFind.invoiceFindPanel{
	background: rgba(230, 231, 245, 0.055) !important;
	border-color: rgba(230, 231, 245, 0.14) !important;
}

body.immoPage #invoices #sectionFind .existingInvoice.invoiceFindRow{
	background: rgba(230, 231, 245, 0.065) !important;
	border: 1px solid rgba(230, 231, 245, 0.12) !important;
	color: var(--light-color) !important;
}

body.immoPage #invoices #sectionFind .existingInvoice.invoiceFindRow:hover{
	background: rgba(230, 231, 245, 0.10) !important;
	border-color: rgba(230, 231, 245, 0.22) !important;
}

body.immoPage #invoices #sectionFind .existingInvoice.invoiceFindRow.is-selected{
	background: rgba(166, 202, 255, 0.16) !important;
	border-color: rgba(166, 202, 255, 0.55) !important;
}

body.immoPage #invoices #sectionFind .invoiceFindName,
body.immoPage #invoices #sectionFind .invoiceFindDate,
body.immoPage #invoices #sectionFind .invoiceFindAmount{
	color: rgba(246, 247, 255, 0.94) !important;
}

body.immoPage .modal:not(.settingsModal) .invoiceProductTable{
	min-width: 900px !important;
	table-layout: fixed !important;
}

body.immoPage .modal:not(.settingsModal) .invoiceProductTable th:nth-child(1),
body.immoPage .modal:not(.settingsModal) .invoiceProductTable td:nth-child(1){ width: 14% !important; }

body.immoPage .modal:not(.settingsModal) .invoiceProductTable th:nth-child(2),
body.immoPage .modal:not(.settingsModal) .invoiceProductTable td:nth-child(2){ width: 23% !important; }

body.immoPage .modal:not(.settingsModal) .invoiceProductTable th:nth-child(3),
body.immoPage .modal:not(.settingsModal) .invoiceProductTable td:nth-child(3){ width: 12% !important; }

body.immoPage .modal:not(.settingsModal) .invoiceProductTable th:nth-child(4),
body.immoPage .modal:not(.settingsModal) .invoiceProductTable td:nth-child(4){ width: 8% !important; }

body.immoPage .modal:not(.settingsModal) .invoiceProductTable th:nth-child(5),
body.immoPage .modal:not(.settingsModal) .invoiceProductTable td:nth-child(5){ width: 8% !important; }

body.immoPage .modal:not(.settingsModal) .invoiceProductTable th:nth-child(6),
body.immoPage .modal:not(.settingsModal) .invoiceProductTable td:nth-child(6){ width: 12% !important; }

body.immoPage .modal:not(.settingsModal) .invoiceProductTable th:nth-child(7),
body.immoPage .modal:not(.settingsModal) .invoiceProductTable td:nth-child(7){ width: 8% !important; }

body.immoPage .modal:not(.settingsModal) .invoiceProductTable th:nth-child(8),
body.immoPage .modal:not(.settingsModal) .invoiceProductTable td:nth-child(8){ width: 15% !important; }

body.immoPage .modal:not(.settingsModal) .invoiceSwitchCard p,
body.immoPage .modal:not(.settingsModal) .invoiceSwitchCard span,
body.immoPage .modal:not(.settingsModal) .globalInvoicePanelTitle,
body.immoPage .modal:not(.settingsModal) .globalInvoiceManagerMain strong,
body.immoPage .modal:not(.settingsModal) .globalInvoiceManagerAmount strong{
	color: var(--light-color) !important;
}

body.immoPage .modal:not(.settingsModal) .globalInvoiceManagerMain span,
body.immoPage .modal:not(.settingsModal) .globalInvoiceManagerMeta span,
body.immoPage .modal:not(.settingsModal) .globalInvoiceManagerAmount span,
body.immoPage .modal:not(.settingsModal) .globalInvoiceManagerEmpty,
body.immoPage .modal:not(.settingsModal) .globalInvoiceManagerCount{
	color: rgba(230, 231, 245, 0.68) !important;
}

@media (max-width: 700px){
	body.immoPage #invoices .invoiceProductTable,
	body.immoPage .modal:not(.settingsModal) #invoices .invoiceProductTable{
		min-width: 720px !important;
	}

	body.immoPage #invoices .invoiceTenantTableWrap .invoiceTable,
	body.immoPage .modal:not(.settingsModal) #invoices .invoiceTenantTableWrap .invoiceTable{
		min-width: 640px !important;
		table-layout: fixed !important;
	}

	body.immoPage #invoices .invoiceProductTable th,
	body.immoPage #invoices .invoiceProductTable td,
	body.immoPage #invoices .invoiceTenantTableWrap .invoiceTable th,
	body.immoPage #invoices .invoiceTenantTableWrap .invoiceTable td{
		padding-left: 5px !important;
		padding-right: 5px !important;
	}

	body.immoPage #invoices .invoiceProductTable input[type="checkbox"],
	body.immoPage #invoices .invoiceTenantTableWrap input[type="checkbox"],
	body.immoPage #invoices #tableBodyInvoiceCustomer input[type="checkbox"].formText{
		-webkit-appearance: checkbox !important;
		appearance: auto !important;
		width: 14px !important;
		min-width: 14px !important;
		max-width: 14px !important;
		height: 14px !important;
		min-height: 14px !important;
		max-height: 14px !important;
		margin: 0 !important;
		padding: 0 !important;
		border-radius: 2px !important;
		box-shadow: none !important;
	}

	body.immoPage #invoices .invoiceTenantTableWrap .invoiceTable th:nth-child(1),
	body.immoPage #invoices .invoiceTenantTableWrap .invoiceTable td:nth-child(1){
		width: 9% !important;
	}

	body.immoPage #invoices .invoiceTenantTableWrap .invoiceTable th:nth-child(2),
	body.immoPage #invoices .invoiceTenantTableWrap .invoiceTable td:nth-child(2){
		width: 29% !important;
	}

	body.immoPage #invoices .invoiceTenantTableWrap .invoiceTable th:nth-child(3),
	body.immoPage #invoices .invoiceTenantTableWrap .invoiceTable td:nth-child(3){
		width: 22% !important;
	}

	body.immoPage #invoices .invoiceTenantTableWrap .invoiceTable th:nth-child(4),
	body.immoPage #invoices .invoiceTenantTableWrap .invoiceTable td:nth-child(4){
		width: 12% !important;
	}

	body.immoPage #invoices .invoiceTenantTableWrap .invoiceTable th:nth-child(5),
	body.immoPage #invoices .invoiceTenantTableWrap .invoiceTable td:nth-child(5){
		width: 28% !important;
	}

	body.immoPage .modal:not(.settingsModal) .modalTabBar{
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding: 6px;
	}

	body.immoPage #addContract .contractModalTabBar{
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		gap: 6px;
	}

	body.immoPage #addContract .contractModalTabBar .button{
		height: 40px !important;
		min-height: 40px !important;
		max-height: 40px !important;
		padding: 5px 4px !important;
		font-size: 0.72rem !important;
		line-height: 1.05;
	}
}

/* Immo modal finishing pass */
body.immoPage .modal,
body.immoPage .modal.active{
	overflow: auto !important;
}

body.immoPage .modal:not(.settingsModal),
body.immoPage .modal:not(.settingsModal).active,
body.immoPage .settingsModal,
body.immoPage .settingsModal.active{
	overflow: auto !important;
}

body.immoPage .modal.active{
	display: block;
}

body.immoPage .modal .modal-header{
	position: relative !important;
	top: auto !important;
}

body.immoPage .modal:not(.settingsModal) .modal-header,
body.immoPage .settingsModal .modal-header{
	position: relative !important;
	top: auto !important;
}

body.immoPage .modal .modal_body{
	overflow: visible !important;
	flex: 0 0 auto !important;
}

body.immoPage .modal:not(.settingsModal) .modal_body,
body.immoPage .settingsModal .modal_body{
	overflow: visible !important;
	flex: 0 0 auto !important;
}

body.immoPage .modal .fieldset-input label,
body.immoPage .modal .invoiceSwitchCard > label{
	background: #34363d !important;
	border-radius: 5px;
	color: rgba(246, 247, 255, 0.94) !important;
}

body.immoPage .modal .propertyFormRow .fieldset-input label,
body.immoPage .modal .invoiceFieldsGrid .fieldset-input label,
body.immoPage .modal .invoiceTopNav .fieldset-input label,
body.immoPage .modal .mwCard .fieldset-input label,
body.immoPage .modal .itemsCard .fieldset-input label,
body.immoPage .modal .itemsActionsCard .fieldset-input label{
	background: #34363d !important;
}

body.immoPage .modal .dropdown-btn{
	min-height: 45px;
	display: flex;
	align-items: center;
	width: 100% !important;
	box-sizing: border-box;
	border: 1px solid rgba(230, 231, 245, 0.22) !important;
	border-radius: 7px !important;
	background: rgba(230, 231, 245, 0.08) !important;
	color: var(--light-color) !important;
	box-shadow: none !important;
}

body.immoPage .modal .dropdown-content{
	border-color: rgba(230, 231, 245, 0.18) !important;
	background: #30333b !important;
	color: var(--light-color) !important;
	box-shadow: 0 14px 30px rgba(0, 0, 0, 0.28);
}

body.immoPage .modal .dropdown-content label{
	color: var(--light-color) !important;
}

body.immoPage .settingsModal{
	border: 1px solid rgba(230, 231, 245, 0.18) !important;
	border-radius: 10px !important;
	background: #2a2c32 !important;
	color: var(--light-color) !important;
	box-shadow: 0 22px 60px rgba(0, 0, 0, 0.48) !important;
}

body.immoPage .settingsModal .modal-header{
	margin: 0 !important;
	padding: 13px 16px !important;
	border-bottom: 1px solid rgba(230, 231, 245, 0.14) !important;
	background: #2a2c32 !important;
	color: var(--light-color) !important;
}

body.immoPage .settingsModal .settingsShell{
	background: #2a2c32;
	color: var(--light-color);
}

body.immoPage .settingsModal .settingsNav{
	border-right-color: rgba(230, 231, 245, 0.14) !important;
	background: rgba(230, 231, 245, 0.045) !important;
}

body.immoPage .settingsModal .settingsNavItem{
	border-bottom-color: rgba(230, 231, 245, 0.12) !important;
	background: transparent !important;
	color: rgba(230, 231, 245, 0.82) !important;
}

body.immoPage .settingsModal .settingsNavItem.isActive{
	background: rgba(230, 231, 245, 0.18) !important;
	color: #fff !important;
}

body.immoPage .settingsModal .settingsContent,
body.immoPage .settingsModal .settingsPanel{
	color: var(--light-color);
}

body.immoPage .settingsModal .settingsStorageUsage,
body.immoPage .settingsModal .settingsSectionTitle li,
body.immoPage .settingsModal .settingsContent .formSettings,
body.immoPage .settingsModal .settingsBusinessForm,
body.immoPage .settingsModal .settingsUnavailableNote,
body.immoPage .settingsModal .settingsChoiceBand,
body.immoPage .settingsModal .settingsLogsCard,
body.immoPage .settingsModal .settingsLogsBody #listLogsQueryDisplay,
body.immoPage .settingsModal .settingsUpgradeActionHeader,
body.immoPage .settingsModal .settingsUpgradeLocked article,
body.immoPage .settingsModal .settingsUpgradePlanGrid article,
body.immoPage .settingsModal .settingsUpgradePrice{
	border-color: rgba(230, 231, 245, 0.14) !important;
	background: rgba(230, 231, 245, 0.055) !important;
	color: var(--light-color) !important;
	box-shadow: none !important;
}

body.immoPage .settingsModal .settingsContent .formSettings .fieldset-input label,
body.immoPage .settingsModal .settingsBusinessForm .fieldset-input label,
body.immoPage .settingsModal .settingsLogsTop .fieldset-input label{
	background: #34363d !important;
	color: rgba(246, 247, 255, 0.94) !important;
}

body.immoPage .settingsModal .formText,
body.immoPage .settingsModal input,
body.immoPage .settingsModal select,
body.immoPage .settingsModal textarea{
	border: 1px solid rgba(230, 231, 245, 0.22) !important;
	border-radius: 7px !important;
	background: rgba(230, 231, 245, 0.08) !important;
	color: var(--light-color) !important;
	box-shadow: none !important;
}

body.immoPage .settingsModal select option,
body.immoPage .settingsModal select optgroup{
	background: #f7f8fc !important;
	color: #2a2c32 !important;
}

body.immoPage .settingsModal p,
body.immoPage .settingsModal span,
body.immoPage .settingsModal strong,
body.immoPage .settingsModal h3,
body.immoPage .settingsModal h4,
body.immoPage .settingsModal li{
	color: var(--light-color);
}

body.immoPage .settingsModal .settingsFormHint,
body.immoPage .settingsModal .settingsUpgradeEyebrow,
body.immoPage .settingsModal .settingsStorageHeader span,
body.immoPage .settingsModal .settingsUpgradePlanHead span{
	color: rgba(230, 231, 245, 0.68) !important;
}

body.immoPage .settingsModal .button{
	border: 1px solid rgba(230, 231, 245, 0.16) !important;
	border-radius: 7px !important;
	background: rgba(230, 231, 245, 0.10) !important;
	color: var(--light-color) !important;
	box-shadow: none !important;
}

body.immoPage .settingsModal .button:hover,
body.immoPage .settingsModal .button:focus{
	background: rgba(230, 231, 245, 0.17) !important;
	border-color: rgba(230, 231, 245, 0.30) !important;
	color: var(--light-color) !important;
}

body.immoPage .settingsModal .accountDeletionButton{
	background: rgba(220, 53, 69, 0.18) !important;
	border-color: rgba(220, 53, 69, 0.42) !important;
	color: #ffd6d6 !important;
}

body.immoPage .settingsModal .accountDeletionButton:hover,
body.immoPage .settingsModal .accountDeletionButton:focus{
	background: rgba(220, 53, 69, 0.28) !important;
	border-color: rgba(220, 53, 69, 0.62) !important;
	color: var(--white-color) !important;
}

body.immoPage .settingsModal .accountDeletionTitle .accountDeletionToggle{
	border-color: rgba(230, 231, 245, 0.14) !important;
	background: rgba(230, 231, 245, 0.055) !important;
	color: var(--light-color) !important;
}

body.immoPage .settingsModal .accountDeletionTitle .accountDeletionToggle .triangle{
	color: var(--light-color) !important;
}

body.immoPage .modal .modalTabBar .button.is-active,
body.immoPage .modal .invoiceModalTabs .button.is-active,
body.immoPage .modal .globalInvoiceModeButton.is-active,
body.immoPage .modal .documentsDispButton.is-active,
body.immoPage .modal .gaugesDispButton.is-active,
body.immoPage .modal .itemsDispButton.is-active,
body.immoPage .modal .contractsDispButton.is-active,
body.immoPage .modal .propertiesDispButton.is-active,
body.immoPage .modal .customersDispButton.is-active,
body.immoPage .settingsModal .settingsNavItem.isActive{
	background: rgba(230, 231, 245, 0.24) !important;
	background-color: rgba(230, 231, 245, 0.24) !important;
	background-image: none !important;
	border-color: rgba(230, 231, 245, 0.46) !important;
	color: #ffffff !important;
	box-shadow: inset 0 0 0 1px rgba(230, 231, 245, 0.18), 0 8px 18px rgba(0, 0, 0, 0.18) !important;
}

body.immoPage #invoices .globalInvoiceModeButton.is-active,
body.immoPage #invoices .invoicesDispButton.is-active,
body.immoPage #documents .documentsDispButton.is-active,
body.immoPage #gauges .gaugesDispButton.is-active,
body.immoPage #items .itemsDispButton.is-active,
body.immoPage #addContract .contractsDispButton.is-active,
body.immoPage #properties .propertiesDispButton.is-active,
body.immoPage #customers .customersDispButton.is-active{
	background: rgba(230, 231, 245, 0.24) !important;
	background-color: rgba(230, 231, 245, 0.24) !important;
	background-image: none !important;
	border-color: rgba(230, 231, 245, 0.46) !important;
	color: #ffffff !important;
	box-shadow: inset 0 0 0 1px rgba(230, 231, 245, 0.18), 0 8px 18px rgba(0, 0, 0, 0.18) !important;
}

body.immoPage .modal:not(.settingsModal) .modalTabBar,
body.immoPage .modal:not(.settingsModal) .invoiceModalTabs,
body.immoPage .modal:not(.settingsModal) > div[style*="justify-content: space-around"],
body.immoPage .modal:not(.settingsModal) .modal_body > div[style*="justify-content: space-around"]{
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
	gap: 6px !important;
	padding: 6px !important;
	border: 1px solid rgba(230, 231, 245, 0.14) !important;
	border-radius: 8px !important;
	background: rgba(230, 231, 245, 0.05) !important;
	box-sizing: border-box !important;
}

body.immoPage .modal:not(.settingsModal) .modalTabBar .button,
body.immoPage .modal:not(.settingsModal) .invoiceModalTabs .button,
body.immoPage .modal:not(.settingsModal) > div[style*="justify-content: space-around"] .button,
body.immoPage .modal:not(.settingsModal) .modal_body > div[style*="justify-content: space-around"] .button{
	width: 100% !important;
	min-width: 0 !important;
	height: 40px !important;
	min-height: 40px !important;
	max-height: 40px !important;
	padding: 5px 10px !important;
	border: 1px solid transparent !important;
	border-radius: 6px !important;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	color: rgba(230, 231, 245, 0.72) !important;
	box-shadow: none !important;
	font-size: 0.82rem !important;
	font-weight: 950 !important;
	line-height: 1.15 !important;
	cursor: pointer;
	transform: none !important;
}

body.immoPage .modal:not(.settingsModal) .modalTabBar .button:hover,
body.immoPage .modal:not(.settingsModal) .modalTabBar .button:focus-visible,
body.immoPage .modal:not(.settingsModal) .invoiceModalTabs .button:hover,
body.immoPage .modal:not(.settingsModal) .invoiceModalTabs .button:focus-visible,
body.immoPage .modal:not(.settingsModal) > div[style*="justify-content: space-around"] .button:hover,
body.immoPage .modal:not(.settingsModal) > div[style*="justify-content: space-around"] .button:focus-visible,
body.immoPage .modal:not(.settingsModal) .modal_body > div[style*="justify-content: space-around"] .button:hover,
body.immoPage .modal:not(.settingsModal) .modal_body > div[style*="justify-content: space-around"] .button:focus-visible{
	border-color: rgba(169, 205, 253, 0.24) !important;
	background: rgba(169, 205, 253, 0.08) !important;
	color: rgba(246, 247, 255, 0.9) !important;
	outline: none;
	transform: none !important;
}

body.immoPage .modal:not(.settingsModal) .modalTabBar .button.is-active,
body.immoPage .modal:not(.settingsModal) .invoiceModalTabs .button.is-active,
body.immoPage .modal:not(.settingsModal) .documentsDispButton.is-active,
body.immoPage .modal:not(.settingsModal) .gaugesDispButton.is-active,
body.immoPage .modal:not(.settingsModal) .itemsDispButton.is-active,
body.immoPage .modal:not(.settingsModal) .contractsDispButton.is-active,
body.immoPage .modal:not(.settingsModal) .propertiesDispButton.is-active,
body.immoPage .modal:not(.settingsModal) .customersDispButton.is-active,
body.immoPage .modal:not(.settingsModal) .globalInvoiceModeButton.is-active,
body.immoPage .modal:not(.settingsModal) .invoicesDispButton.is-active{
	border-color: rgba(169, 205, 253, 0.34) !important;
	background: rgba(169, 205, 253, 0.13) !important;
	background-color: rgba(169, 205, 253, 0.13) !important;
	background-image: none !important;
	color: var(--white-color) !important;
	box-shadow: none !important;
}

body.immoPage a.link,
body.immoPage .modal a.link,
body.immoPage .settingsModal a{
	color: #a9cdfd !important;
	text-decoration-color: rgba(169, 205, 253, 0.72) !important;
}

body.immoPage a.link:hover,
body.immoPage .modal a.link:hover,
body.immoPage .settingsModal a:hover{
	color: #c3dcff !important;
	text-decoration-color: #c3dcff !important;
}

body.immoPage #imageItemViewer #imageViewerTitle{
	color: var(--light-color) !important;
	text-decoration: none !important;
	cursor: default;
}

body.immoPage #addContract .contractsDispButton{
	color: rgba(246, 247, 255, 0.95) !important;
}

body.immoPage #addContract .contractsDispButton.btnIconMobile.btnIconMobileLabel{
	font-size: calc(1rem - 1px) !important;
	line-height: inherit !important;
}

body.immoPage #addContract .contractsDispButton.btnIconMobile.btnIconMobileLabel::after{
	display: none !important;
}

@media screen and (max-width: 700px){
	body.immoPage #addContract .contractsDispButton.btnIconMobile.btnIconMobileLabel{
		font-size: 0 !important;
	}

	body.immoPage #addContract .contractsDispButton.btnIconMobile.btnIconMobileLabel::after{
		display: block !important;
		font-size: 0.82rem !important;
		line-height: 1.16 !important;
		white-space: normal !important;
		max-width: 100% !important;
		color: rgba(246, 247, 255, 0.95) !important;
	}

	body.immoPage .modal .invoiceDetailsPanel{
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		grid-template-areas: none !important;
		gap: 12px !important;
	}

	body.immoPage .modal .invoiceDetailsPanel > .fieldset-input,
	body.immoPage .modal .invoiceDetailsPanel > .billPayInfo:not(.invoiceSwitchCard){
		grid-area: auto !important;
		grid-column: 1 / -1;
	}

	body.immoPage .modal .invoiceDetailsPanel > .invoiceReinvoiceSwitch,
	body.immoPage .modal .invoiceDetailsPanel > .invoiceChargesSwitch{
		grid-column: auto;
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
		padding: 8px 6px !important;
	}

	body.immoPage .modal .invoiceDetailsPanel > .invoiceReinvoiceSwitch p,
	body.immoPage .modal .invoiceDetailsPanel > .invoiceChargesSwitch p{
		gap: 6px;
		font-size: 0.78rem;
	}

	body.immoPage .modal .invoiceSwitchCard > label{
		left: 0.45rem;
		font-size: 0.72rem;
	}

	body.immoPage .settingsModal .settingsNav,
	body.immoPage #settings .settingsNav{
		grid-template-columns: repeat(5, minmax(0, 1fr));
		gap: 8px !important;
		padding: 10px 10px 8px !important;
		background: rgba(230, 231, 245, 0.045) !important;
		border-bottom: 1px solid rgba(230, 231, 245, 0.12) !important;
	}

	body.immoPage .settingsModal .settingsNavItem,
	body.immoPage #settings .settingsNavItem{
		min-height: 70px;
		padding: 6px 3px !important;
		border: 1px solid rgba(230, 231, 245, 0.14) !important;
		border-radius: 7px !important;
		background: rgba(230, 231, 245, 0.055) !important;
		color: #a9cdfd !important;
	}

	body.immoPage .settingsModal .settingsNavItem.isActive,
	body.immoPage #settings .settingsNavItem.isActive{
		background: rgba(230, 231, 245, 0.18) !important;
		border-color: rgba(230, 231, 245, 0.45) !important;
		box-shadow: inset 0 0 0 1px rgba(230, 231, 245, 0.12) !important;
	}

	body.immoPage .settingsModal .settingsNavItem::after,
	body.immoPage #settings .settingsNavItem::after{
		color: #a9cdfd !important;
		font-weight: 700;
		text-shadow: none !important;
	}

	body.immoPage .settingsModal .settingsNavItem.isActive::after,
	body.immoPage #settings .settingsNavItem.isActive::after{
		color: #ffffff !important;
	}

	body.immoPage #settings .settingsNavItem::before{
		width: 36px !important;
		height: 36px !important;
		margin-bottom: 5px !important;
	}
}

/* Immo modal mobile polish */
body.immoPage .settingsModal .settingsLogsPanel .settingsLogsCard,
body.immoPage .settingsModal .settingsLogsBody #listLogsQueryDisplay{
	border-color: rgba(230, 231, 245, 0.14) !important;
	background: rgba(230, 231, 245, 0.055) !important;
	color: var(--light-color) !important;
}

body.immoPage .settingsModal .settingsLogsPanel .logRow{
	border-color: rgba(230, 231, 245, 0.14) !important;
	background: rgba(230, 231, 245, 0.08) !important;
	color: var(--light-color) !important;
	box-shadow: none !important;
}

body.immoPage .settingsModal .settingsLogsPanel .logRow:hover{
	border-color: rgba(230, 231, 245, 0.26) !important;
	background: rgba(230, 231, 245, 0.12) !important;
}

body.immoPage .settingsModal .settingsLogsPanel .logDate,
body.immoPage .settingsModal .settingsLogsPanel .logTenant{
	color: rgba(230, 231, 245, 0.70) !important;
}

body.immoPage .settingsModal .settingsLogsPanel .logAction{
	color: var(--light-color) !important;
}

body.immoPage .settingsModal .settingsLogsPanel .logDate::before,
body.immoPage .settingsModal .settingsLogsPanel .logAction::before,
body.immoPage .settingsModal .settingsLogsPanel .logTenant::before{
	color: rgba(169, 205, 253, 0.90) !important;
}

body.immoPage .settingsModal .settingsLogsPanel .logEmpty,
body.immoPage .settingsModal #noLogsMatch{
	border-color: rgba(230, 231, 245, 0.20) !important;
	background: rgba(230, 231, 245, 0.055) !important;
	color: rgba(230, 231, 245, 0.78) !important;
}

body.immoPage #settings.settingsModal #modal_article_logs.settingsLogsPanel{
	flex-direction: column !important;
	margin: 16px 16px 0 !important;
	max-width: calc(100% - 32px) !important;
	min-height: calc(90dvh - 112px) !important;
	height: calc(90dvh - 112px) !important;
	max-height: calc(90dvh - 112px) !important;
	overflow: hidden !important;
}

body.immoPage #settings.settingsModal #modal_article_logs.settingsLogsPanel[style*="display: block"],
body.immoPage #settings.settingsModal #modal_article_logs.settingsLogsPanel[style*="display:block"]{
	display: flex !important;
}

body.immoPage #settings.settingsModal .settingsLogsPanel .settingsLogsCard{
	flex: 1 1 auto !important;
	min-height: 0 !important;
	max-height: none !important;
	display: flex !important;
	flex-direction: column !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	overflow: hidden !important;
}

body.immoPage #settings.settingsModal .settingsLogsPanel .settingsLogsTop{
	flex: 0 0 auto !important;
	margin: 0 0 14px !important;
	padding: 12px !important;
	border: 1px solid rgba(230, 231, 245, 0.14) !important;
	border-radius: 8px !important;
	background: rgba(230, 231, 245, 0.055) !important;
	box-sizing: border-box !important;
}

body.immoPage #settings.settingsModal .settingsLogsPanel .settingsLogsBody{
	flex: 1 1 auto !important;
	display: flex !important;
	min-height: 0 !important;
	overflow: hidden !important;
}

body.immoPage #settings.settingsModal .settingsLogsPanel .settingsLogsBody #listLogsQueryDisplay{
	flex: 1 1 auto !important;
	height: auto !important;
	min-height: 0 !important;
	padding: 14px !important;
	border-radius: 8px !important;
	box-sizing: border-box !important;
}

@media screen and (max-width: 700px){
	body.immoPage #settings.settingsModal #modal_article_logs.settingsLogsPanel{
		margin: 0 !important;
		max-width: 100% !important;
		min-height: calc(100dvh - 172px) !important;
		height: calc(100dvh - 172px) !important;
		max-height: calc(100dvh - 172px) !important;
	}

	body.immoPage #settings.settingsModal .settingsLogsPanel .settingsLogsTop{
		grid-template-columns: 1fr !important;
		gap: 10px !important;
	}
}

@media screen and (max-width: 700px){
	body.immoPage .modal .mwActionsRow{
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 12px !important;
		width: 100% !important;
		max-width: none !important;
		margin: 16px 0 0 !important;
		padding: 0 !important;
		box-sizing: border-box;
		justify-items: stretch !important;
	}

	body.immoPage .modal .mwActionsRow .button,
	body.immoPage .modal .mwActionsRow select,
	body.immoPage .modal .mwActionsRow .formText{
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
		margin: 0 !important;
		box-sizing: border-box;
	}

	body.immoPage #addContract .contractModalTabBar{
		gap: 8px !important;
	}

	body.immoPage #addContract .contractsDispButton{
		min-height: 62px !important;
		padding: 6px 4px !important;
	}

	body.immoPage #addContract .contractsDispButton.btnIconMobile::before{
		width: 34px !important;
		height: 34px !important;
	}

	body.immoPage #addContract .contractsDispButton.btnIconMobile.btnIconMobileLabel::after{
		font-size: 0.76rem !important;
		line-height: 1.12 !important;
	}

	.appMainSurface .subReceiptAction .invoiceActionEStatus{
		min-width: 64px;
		min-height: 48px;
	}

	.appMainSurface .subReceiptAction .receiptActionButtons > .invoiceActionEStatus,
	.appMainSurface .subReceiptAction .receiptActionButtons > .buttonSmall.invoiceActionEStatus{
		min-width: 64px !important;
		flex-basis: 64px !important;
	}

	.appMainSurface .subReceiptAction .invoiceActionEStatus::before{
		width: 36px !important;
		height: 36px !important;
	}

	.appMainSurface .subReceiptAction .invoiceActionEStatus.btnIconMobile.btnIconMobileLabel::after{
		max-width: 68px;
		font-size: 10.5px !important;
	}
}

@media screen and (max-width: 700px){
	.appMainSurface .subReceiptAction .receiptActionButtons{
		display: grid !important;
		grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
		align-items: start !important;
		justify-items: center !important;
		gap: 7px !important;
		width: 100% !important;
		overflow: visible !important;
	}

	.appMainSurface .subReceiptAction .receiptActionButtons > .buttonSmall,
	.appMainSurface .subReceiptAction .receiptActionButtons > .pdfActionMenuWrap,
	.appMainSurface .subReceiptAction .receiptActionButtons > .invoiceActionEStatus{
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		flex: none !important;
		flex-basis: auto !important;
		margin: 0 !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: flex-start !important;
		flex-direction: column !important;
		gap: 4px !important;
		overflow: visible !important;
	}

	.appMainSurface .subReceiptAction .receiptActionButtons > .pdfActionMenuWrap .buttonSmall{
		width: 100% !important;
		margin: 0 !important;
	}

	.appMainSurface .subReceiptAction .receiptActionButtons .btnIconMobile::before,
	.appMainSurface .subReceiptAction .receiptActionButtons .invoiceActionEStatus::before{
		width: 34px !important;
		height: 34px !important;
		flex: 0 0 34px !important;
		margin: 0 auto !important;
	}

	.appMainSurface .subReceiptAction .receiptActionButtons .btnIconMobile.btnIconMobileLabel::after,
	.appMainSurface .subReceiptAction .receiptActionButtons .invoiceActionEStatus.btnIconMobile.btnIconMobileLabel::after{
		width: 100% !important;
		max-width: 100% !important;
		min-height: 1.16em !important;
		font-size: 10.5px !important;
		line-height: 1.1 !important;
		font-weight: 900 !important;
		text-align: center !important;
		white-space: nowrap !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		color: var(--light-color) !important;
	}
}

.appMainSurface .subReceiptAction .receiptActionButtons,
.appMainSurface .subReceiptAction .contractListSectionActionMenu{
	overflow-x: auto !important;
	overflow-y: visible !important;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
}

.appMainSurface .subReceiptAction .receiptActionButtons{
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 8px !important;
	min-width: 0 !important;
	width: 100% !important;
	padding: 4px 2px !important;
	box-sizing: border-box !important;
}

.appMainSurface .subReceiptAction .contractListSectionActionMenu:not(.receiptInstallmentRow){
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 8px !important;
	padding: 4px 10px !important;
}

.appMainSurface .subReceiptAction .invoiceActionRail,
.appMainSurface .subReceiptAction .invoiceStatusRail{
	display: contents !important;
}

.appMainSurface .subReceiptAction .receiptActionButtons > .buttonSmall,
.appMainSurface .subReceiptAction .receiptActionButtons > .pdfActionMenuWrap,
.appMainSurface .subReceiptAction .receiptActionButtons > .invoiceStatusPill,
.appMainSurface .subReceiptAction .invoiceActionRail > .buttonSmall,
.appMainSurface .subReceiptAction .invoiceActionRail > .pdfActionMenuWrap,
.appMainSurface .subReceiptAction .invoiceStatusRail > .invoiceStatusPill,
.appMainSurface .subReceiptAction .contractListSectionActionMenu:not(.receiptInstallmentRow) > .buttonSmall,
.appMainSurface .subReceiptAction .contractListSectionActionMenu:not(.receiptInstallmentRow) > .pdfActionMenuWrap,
.appMainSurface .subReceiptAction .contractListSectionActionMenu:not(.receiptInstallmentRow) > .invoiceStatusPill{
	flex: 0 0 auto !important;
	width: auto !important;
	min-width: 126px !important;
	margin: 0 !important;
}

.appMainSurface .subReceiptAction .receiptActionButtons > .invoiceStatusPill{
	margin-left: 0 !important;
}

.appMainSurface .subReceiptAction .contractListSectionActionMenu:not(.receiptInstallmentRow) > .invoiceStatusPill{
	margin-left: 0 !important;
}

.appMainSurface .subReceiptAction .invoiceStatusPill{
	min-height: 38px;
	padding: 5px 9px;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	border: 1px solid rgba(240, 241, 255, 0.18);
	border-radius: 6px;
	background: rgba(240, 241, 255, 0.045);
	color: var(--light-color);
	font-weight: 900;
	line-height: 1.05;
	text-align: center;
	white-space: nowrap;
	cursor: default;
}

.appMainSurface .subReceiptAction .invoiceStatusPill:hover{
	transform: none;
}

.appMainSurface .subReceiptAction .invoiceEActionButton{
	background-color: var(--saphire-color) !important;
	color: var(--light-color) !important;
}

.appMainSurface .subReceiptAction .invoiceEActionRetry{
	background-color: var(--amber-color) !important;
	color: var(--dark-color) !important;
}

.appMainSurface .subReceiptAction .invoiceEActionButton.isLoading{
	opacity: 0.72;
	cursor: progress;
}

.appMainSurface .subReceiptAction .invoicePaidStatus{
	border-color: rgba(78, 174, 106, 0.55);
	background: rgba(78, 174, 106, 0.14);
	color: #9ff0b5 !important;
}

.appMainSurface .subReceiptAction .invoiceReimbursedStatus{
	border-color: rgba(55, 120, 238, 0.55);
	background: rgba(55, 120, 238, 0.14);
	color: #a9c6ff !important;
}

.appMainSurface .subReceiptAction .invoicePaidStatus::before,
.appMainSurface .subReceiptAction .invoiceReimbursedStatus::before{
	content: "";
	width: 24px;
	height: 24px;
	display: inline-block;
	flex: 0 0 24px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.appMainSurface .subReceiptAction .invoicePaidStatus::before{
	background-image: url("../images/paid.png");
}

.appMainSurface .subReceiptAction .invoiceReimbursedStatus::before{
	background-image: url("../images/reimbursed.png");
}

.appMainSurface .subReceiptAction .invoiceStatusPill.invoiceActionEStatus{
	width: auto !important;
	min-width: 116px !important;
	margin: 0 !important;
	background: rgba(240, 241, 255, 0.045) !important;
	border: 1px solid rgba(240, 241, 255, 0.18) !important;
}

.appMainSurface .subReceiptAction .invoiceStatusPill.invoiceActionEStatus::before{
	display: inline-block !important;
	width: 24px !important;
	height: 24px !important;
	flex: 0 0 24px !important;
}

.appMainSurface .subReceiptAction .invoiceStatusPill.invoiceActionEStatus strong,
.appMainSurface .subReceiptAction .invoiceStatusPill span{
	display: inline !important;
	overflow: hidden;
	text-overflow: ellipsis;
}

@media screen and (max-width: 700px){
	.appMainSurface .subReceiptAction .receiptActionButtons{
		display: flex !important;
		grid-template-columns: none !important;
		justify-items: initial !important;
		gap: 8px !important;
		overflow-x: auto !important;
		padding: 5px 2px 7px !important;
	}

	.appMainSurface .subReceiptAction .receiptActionButtons > .buttonSmall,
	.appMainSurface .subReceiptAction .receiptActionButtons > .pdfActionMenuWrap{
		flex: 0 0 62px !important;
		width: 62px !important;
		min-width: 62px !important;
		max-width: 62px !important;
	}

	.appMainSurface .subReceiptAction .contractListSectionActionMenu:not(.receiptInstallmentRow){
		display: flex !important;
		gap: 8px !important;
		overflow-x: auto !important;
		padding: 5px 8px 7px !important;
	}

	.appMainSurface .subReceiptAction .contractListSectionActionMenu:not(.receiptInstallmentRow) > .buttonSmall,
	.appMainSurface .subReceiptAction .contractListSectionActionMenu:not(.receiptInstallmentRow) > .pdfActionMenuWrap,
	.appMainSurface .subReceiptAction .invoiceActionRail > .buttonSmall,
	.appMainSurface .subReceiptAction .invoiceActionRail > .pdfActionMenuWrap{
		flex: 0 0 62px !important;
		width: 62px !important;
		min-width: 62px !important;
		max-width: 62px !important;
	}

	.appMainSurface .subReceiptAction .receiptActionButtons > .pdfActionMenuWrap .buttonSmall{
		width: 62px !important;
		min-width: 62px !important;
	}

	.appMainSurface .subReceiptAction .contractListSectionActionMenu:not(.receiptInstallmentRow) > .pdfActionMenuWrap .buttonSmall{
		width: 62px !important;
		min-width: 62px !important;
	}

	.appMainSurface .subReceiptAction .invoiceActionRail > .pdfActionMenuWrap .buttonSmall{
		width: 62px !important;
		min-width: 62px !important;
	}

	.appMainSurface .subReceiptAction .receiptActionButtons > .invoiceStatusPill{
		flex: 0 0 48px !important;
		width: 48px !important;
		min-width: 48px !important;
		max-width: 48px !important;
		margin: 0 !important;
	}

	.appMainSurface .subReceiptAction .contractListSectionActionMenu:not(.receiptInstallmentRow) > .invoiceStatusPill{
		flex: 0 0 48px !important;
		width: 48px !important;
		min-width: 48px !important;
		max-width: 48px !important;
		margin: 0 !important;
	}

	.appMainSurface .subReceiptAction .invoiceStatusRail > .invoiceStatusPill{
		flex: 0 0 48px !important;
		width: 48px !important;
		min-width: 48px !important;
		max-width: 48px !important;
		margin: 0 !important;
	}

	.appMainSurface .subReceiptAction .invoiceStatusPill{
		min-height: 42px !important;
		padding: 3px !important;
		border-color: transparent !important;
		background: transparent !important;
	}

	.appMainSurface .subReceiptAction .invoiceStatusPill span,
	.appMainSurface .subReceiptAction .invoiceStatusPill.invoiceActionEStatus strong{
		display: none !important;
	}

	.appMainSurface .subReceiptAction .invoicePaidStatus::before,
	.appMainSurface .subReceiptAction .invoiceReimbursedStatus::before,
	.appMainSurface .subReceiptAction .invoiceStatusPill.invoiceActionEStatus::before{
		width: 34px !important;
		height: 34px !important;
		flex: 0 0 34px !important;
		margin: 0 auto !important;
	}

	.appMainSurface .subReceiptAction .invoiceStatusPill.btnIconMobile.btnIconMobileLabel::after{
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-height: 1.12em !important;
		font-size: 10px !important;
		line-height: 1.1 !important;
		font-weight: 900 !important;
		text-align: center !important;
		white-space: nowrap !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		color: var(--light-color) !important;
	}
}

/* Invoice action rows: desktop parity, mobile compactness */
.appMainSurface .subReceiptAction .invoiceActionRail,
.appMainSurface .subReceiptAction .invoiceStatusRail{
	display: contents !important;
}

@media screen and (min-width: 701px){
	.appMainSurface .subReceiptAction{
		grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
		justify-items: stretch !important;
		align-items: stretch !important;
		gap: 10px !important;
		padding: 10px 12px !important;
	}

	.appMainSurface .subReceiptAction:not(:has(> .receiptInstallmentRow)):not(:has(> .invoiceActionRail)):has(> .invoiceStatusRail){
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}

	.appMainSurface .subReceiptAction > .buttonSmall,
	.appMainSurface .subReceiptAction > .pdfActionMenuWrap,
	.appMainSurface .subReceiptAction > .invoiceStatusPill,
	.appMainSurface .subReceiptAction .invoiceActionRail > .buttonSmall,
	.appMainSurface .subReceiptAction .invoiceActionRail > .pdfActionMenuWrap,
	.appMainSurface .subReceiptAction .invoiceStatusRail > .buttonSmall,
	.appMainSurface .subReceiptAction .invoiceStatusRail > .invoiceStatusPill{
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		margin: 0 !important;
		box-sizing: border-box !important;
	}

	.appMainSurface .subReceiptAction .receiptActionButtons{
		display: grid !important;
		grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
		align-items: center !important;
		justify-items: stretch !important;
		gap: 10px !important;
		width: 100% !important;
		min-width: 0 !important;
		overflow: visible !important;
		padding: 0 !important;
		box-sizing: border-box !important;
	}

	.appMainSurface .subReceiptAction .receiptActionButtons:not(:has(> input)):has(> :nth-child(4):last-child){
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}

	.appMainSurface .subReceiptAction .receiptActionButtons:not(:has(> input)):has(> :nth-child(3):last-child){
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}

	.appMainSurface .subReceiptAction .receiptActionButtons > .buttonSmall,
	.appMainSurface .subReceiptAction .receiptActionButtons > .pdfActionMenuWrap,
	.appMainSurface .subReceiptAction .receiptActionButtons > .invoiceStatusPill{
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		margin: 0 !important;
		box-sizing: border-box !important;
	}

	.appMainSurface .subReceiptAction .pdfActionMenuWrap .buttonSmall{
		width: 100% !important;
		margin: 0 !important;
	}

	.appMainSurface .subReceiptAction .buttonSmall,
	.appMainSurface .subReceiptAction .pdfActionMenuWrap,
	.appMainSurface .subReceiptAction .invoiceStatusPill,
	.appMainSurface .subReceiptAction .invoiceStatusPill span,
	.appMainSurface .subReceiptAction .invoiceStatusPill strong{
		font-family: Roboto, Accidental Presidency, Arial !important;
		font-size: 12px !important;
		font-weight: bold !important;
		line-height: 1.1 !important;
	}

	.appMainSurface .subReceiptAction .buttonSmall{
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		min-height: 38px !important;
		padding: 6px !important;
		text-align: center !important;
		white-space: nowrap !important;
		border-radius: 6px !important;
	}

	.appMainSurface .subReceiptAction .invoiceStatusPill{
		min-height: 38px !important;
		padding: 5px 10px !important;
		border: 1px solid rgba(240, 241, 255, 0.16) !important;
		border-radius: 6px !important;
		background: rgba(240, 241, 255, 0.10) !important;
		color: var(--light-color) !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 0 !important;
		text-align: center !important;
		white-space: nowrap !important;
		box-sizing: border-box !important;
		overflow: hidden !important;
	}

	.appMainSurface .subReceiptAction .invoicePaidStatus{
		border-color: rgba(78, 174, 106, 0.38) !important;
		background: rgba(78, 174, 106, 0.14) !important;
		color: #b8f3c5 !important;
	}

	.appMainSurface .subReceiptAction .invoiceReimbursedStatus{
		border-color: rgba(55, 120, 238, 0.38) !important;
		background: rgba(55, 120, 238, 0.14) !important;
		color: #bfd1ff !important;
	}

	.appMainSurface .subReceiptAction .invoiceStatusPill::before,
	.appMainSurface .subReceiptAction .invoiceStatusPill.invoiceActionEStatus::before{
		content: none !important;
		display: none !important;
		background-image: none !important;
	}

	.appMainSurface .subReceiptAction .invoiceStatusPill span{
		display: inline !important;
	}

	.appMainSurface .subReceiptAction .invoiceActionEStatus span{
		display: none !important;
	}

	.appMainSurface .subReceiptAction .invoiceStatusPill strong{
		display: inline !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
	}
}

@media screen and (max-width: 700px){
	.appMainSurface .subReceiptAction .receiptInstallmentRow{
		display: grid !important;
		grid-template-columns: 70px 82px 28px max-content !important;
		align-items: center !important;
		column-gap: 8px !important;
		row-gap: 0 !important;
		width: max-content !important;
		min-width: 100% !important;
		max-width: 100% !important;
		padding: 8px 10px !important;
		border-bottom: 1px solid rgba(240, 241, 255, 0.16) !important;
		box-sizing: border-box !important;
		overflow-x: auto !important;
		overflow-y: visible !important;
		-webkit-overflow-scrolling: touch;
	}

	.appMainSurface .subReceiptAction .receiptInstallmentRow:last-child{
		border-bottom: 0 !important;
	}

	.appMainSurface .subReceiptAction .receiptInstallmentMeta{
		text-align: center !important;
	}

	.appMainSurface .subReceiptAction .receiptInstallmentReminder{
		text-align: center !important;
	}

	.appMainSurface .subReceiptAction .receiptActionButtons{
		display: flex !important;
		grid-column: auto !important;
		grid-row: auto !important;
		align-items: center !important;
		justify-content: flex-start !important;
		justify-self: start !important;
		flex-wrap: nowrap !important;
		gap: 8px !important;
		width: max-content !important;
		min-width: 0 !important;
		max-width: none !important;
		overflow-x: auto !important;
		overflow-y: visible !important;
		-webkit-overflow-scrolling: touch;
		padding: 0 !important;
		box-sizing: border-box !important;
	}

	.appMainSurface .subReceiptAction > .buttonSmall,
	.appMainSurface .subReceiptAction > .pdfActionMenuWrap,
	.appMainSurface .subReceiptAction > .invoiceStatusPill,
	.appMainSurface .subReceiptAction .invoiceActionRail > .buttonSmall,
	.appMainSurface .subReceiptAction .invoiceActionRail > .pdfActionMenuWrap,
	.appMainSurface .subReceiptAction .invoiceStatusRail > .buttonSmall,
	.appMainSurface .subReceiptAction .invoiceStatusRail > .invoiceStatusPill,
	.appMainSurface .subReceiptAction .receiptActionButtons > .buttonSmall,
	.appMainSurface .subReceiptAction .receiptActionButtons > .pdfActionMenuWrap,
	.appMainSurface .subReceiptAction .receiptActionButtons > .invoiceStatusPill{
		flex: 0 0 58px !important;
		width: min(58px, 100%) !important;
		min-width: 0 !important;
		max-width: 58px !important;
		margin: 0 !important;
		box-sizing: border-box !important;
	}

	.appMainSurface .subReceiptAction .invoiceEActionButton,
	.appMainSurface .subReceiptAction .invoiceEActionRetry{
		background: transparent !important;
		color: var(--light-color) !important;
		border: none !important;
	}

	.appMainSurface .subReceiptAction .pdfActionMenuWrap .buttonSmall{
		width: 58px !important;
		min-width: 0 !important;
		max-width: 58px !important;
		margin: 0 !important;
	}

	.appMainSurface .subReceiptAction .invoiceStatusPill{
		min-height: 42px !important;
		padding: 3px !important;
		border-color: transparent !important;
		background: transparent !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		flex-direction: column !important;
		gap: 4px !important;
	}

	.appMainSurface .subReceiptAction .invoiceStatusPill span,
	.appMainSurface .subReceiptAction .invoiceStatusPill strong{
		display: none !important;
	}

	.appMainSurface .subReceiptAction .invoicePaidStatus::before,
	.appMainSurface .subReceiptAction .invoiceReimbursedStatus::before,
	.appMainSurface .subReceiptAction .invoiceStatusPill.invoiceActionEStatus::before{
		content: "" !important;
		display: block !important;
		width: 34px !important;
		height: 34px !important;
		flex: 0 0 34px !important;
		margin: 0 auto !important;
		background-repeat: no-repeat !important;
		background-position: center !important;
		background-size: contain !important;
	}

	.appMainSurface .subReceiptAction .invoiceStatusPill.btnIconMobile.btnIconMobileLabel::after{
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-height: 1.12em !important;
		font-size: 10px !important;
		line-height: 1.1 !important;
		font-weight: 900 !important;
		text-align: center !important;
		white-space: nowrap !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		color: var(--light-color) !important;
	}
}

/* Tablet-width modal balance */
body.immoPage #updateProperty .propertyFormRow,
body.immoPage #properties .propertyFormRow{
	gap: 18px 22px !important;
	margin: 18px 0 !important;
	padding: 18px !important;
	border: 1px solid rgba(230, 231, 245, 0.12) !important;
	border-radius: 7px !important;
	background: rgba(230, 231, 245, 0.035) !important;
	box-sizing: border-box;
}

body.immoPage #updateProperty .propertyFormRow > *,
body.immoPage #properties .propertyFormRow > *,
body.immoPage #updateProperty .propertyGrid > *,
body.immoPage #properties .propertyGrid > *{
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	box-sizing: border-box;
}

body.immoPage #updateProperty .propertyDetails,
body.immoPage #properties .propertyDetails{
	margin-top: 18px;
}

body.immoPage #updateProperty .propertyGrid,
body.immoPage #properties .propertyGrid{
	gap: 18px 22px !important;
	padding: 18px !important;
}

body.immoPage #updateProperty .propertyGrid .fieldset-input label,
body.immoPage #properties .propertyGrid .fieldset-input label{
	background: var(--darkblue-color) !important;
}

@media screen and (max-width: 700px){
	body.immoPage .modal:not(.settingsModal) .invoiceSubmitBar,
	body.immoPage .modal:not(.settingsModal) .itemsSubmit{
		width: 100%;
		align-items: stretch;
	}

	body.immoPage .modal:not(.settingsModal) .invoiceSubmitBar #invoiceMainButton,
	body.immoPage .modal:not(.settingsModal) .invoiceSubmitBar #globalInvoiceSubmit,
	body.immoPage .modal:not(.settingsModal) .itemsSubmit #itemSubmitButton,
	body.immoPage .modal:not(.settingsModal) .mwFormWrap > #addDocButton,
	body.immoPage .modal:not(.settingsModal) .mwFormWrap > #addGaugeButton,
		body.immoPage .modal:not(.settingsModal) .mwFormWrap > #requestGaugeButton,
		body.immoPage .modal:not(.settingsModal) #gaugeUploadBlock > #addGaugeButton,
		body.immoPage .modal:not(.settingsModal) #gaugeRequestBlock > #requestGaugeButton,
		body.immoPage .modal:not(.settingsModal) .itemsActionsWrap > button[name="itemsActionsButton"],
		body.immoPage .modal#customers .customerCreateSubmit,
		body.immoPage .modal:not(.settingsModal) #photoSubpropButton,
		body.immoPage .modal:not(.settingsModal) #propertyDetailsButton{
			width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
		box-sizing: border-box;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.tenantDocsSubmitBar .tenantDocsSubmit,
	.checkIdActions #reviewSubmitBtn,
	.gaugeActions > button[type="submit"]{
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
		box-sizing: border-box;
	}
}

/* Properties modal: dashboard project import */
body.immoPage #properties .propertyProjectImport{
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 0.72fr);
	grid-template-areas:
		"text controls"
		"status controls";
	align-items: center;
	gap: 8px 18px;
	width: 100%;
	margin: 16px 0 20px;
	padding: 14px 16px;
	box-sizing: border-box;
	border: 1px solid rgba(230, 231, 245, 0.16);
	border-radius: 8px;
	background: rgba(230, 231, 245, 0.04);
	color: var(--light-color);
}

body.immoPage #properties .propertyProjectImportText{
	display: grid;
	gap: 4px;
	min-width: 0;
	grid-area: text;
	align-self: end;
}

body.immoPage #properties .propertyProjectImportText strong{
	color: rgba(246, 247, 255, 0.96);
	font-size: 1.04rem;
	font-weight: 900;
	line-height: 1.1;
}

body.immoPage #properties .propertyProjectImportText span,
body.immoPage #properties .propertyProjectImportStatus{
	color: rgba(246, 247, 255, 0.66);
	font-size: 0.82rem;
	font-weight: 750;
	line-height: 1.25;
}

body.immoPage #properties .propertyProjectImportControls{
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(128px, auto);
	align-items: stretch;
	gap: 10px;
	min-width: 0;
	grid-area: controls;
	align-self: center;
}

body.immoPage #properties .propertyProjectImportSelectWrap{
	width: 100% !important;
	min-width: 0 !important;
}

body.immoPage #properties .propertyProjectImportSelectWrap label{
	background: #34363d !important;
	color: rgba(246, 247, 255, 0.94) !important;
}

body.immoPage #properties .propertyProjectImportSelectWrap select{
	height: 45px;
	min-height: 45px;
	background: #34363d !important;
	border-color: rgba(230, 231, 245, 0.24) !important;
	color: var(--light-color) !important;
}

body.immoPage #properties .propertyProjectImportButton{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	min-width: 128px;
	height: 45px;
	min-height: 45px;
	margin: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	border-radius: 8px !important;
	font-size: 0.88rem;
	font-weight: 900;
	white-space: nowrap;
}

body.immoPage #properties .propertyProjectImportButton:disabled{
	opacity: 0.48;
	cursor: not-allowed;
	transform: none !important;
}

body.immoPage #properties .propertyProjectImportStatus{
	grid-area: status;
	align-self: start;
	margin: 0;
}

@media screen and (max-width: 700px){
	body.immoPage #properties .propertyProjectImport{
		grid-template-columns: 1fr;
		grid-template-areas:
			"text"
			"controls"
			"status";
		margin: 8px 0 12px;
		padding: 10px;
		gap: 8px;
	}

	body.immoPage #properties .propertyProjectImportText{
		gap: 0;
	}

	body.immoPage #properties .propertyProjectImportText strong{
		font-size: 0.86rem;
		line-height: 1.05;
	}

	body.immoPage #properties .propertyProjectImportText span{
		display: none;
	}

	body.immoPage #properties .propertyProjectImportControls{
		grid-template-columns: minmax(0, 7fr) minmax(0, 3fr);
		gap: 7px;
	}

	body.immoPage #properties .propertyProjectImportSelectWrap{
		min-width: 0 !important;
	}

	body.immoPage #properties .propertyProjectImportSelectWrap select{
		height: 38px;
		min-height: 38px;
		font-size: 0.72rem !important;
		padding-left: 10px !important;
		padding-right: 28px !important;
	}

	body.immoPage #properties .propertyProjectImportButton{
		min-width: 0;
		height: 38px;
		min-height: 38px;
		padding: 0 8px !important;
		font-size: 0.72rem;
	}

	body.immoPage #properties .propertyProjectImportStatus{
		margin: -2px 0 0;
		font-size: 0.66rem;
		line-height: 1.15;
	}
}

/* Contract modal dark harmonization */
body.immoPage #addContract .tableImmoContract .contractMainPriceCell,
body.immoPage #addContract .tableImmoContract .contractMainPriceCell a,
body.immoPage #addContract .tableImmoContract .contractMainPriceCell span{
	color: rgba(246, 247, 255, 0.96) !important;
}

body.immoPage #addContract .tableImmoContractInventory td{
	background: #34363d !important;
	color: rgba(246, 247, 255, 0.96) !important;
	border-color: rgba(230, 231, 245, 0.14) !important;
}

body.immoPage #addContract .contractActionRow > td{
	padding: 0 !important;
	background: transparent !important;
	color: rgba(246, 247, 255, 0.96) !important;
	border-color: rgba(230, 231, 245, 0.14) !important;
}

body.immoPage #addContract .contractInventoryGrid,
body.immoPage #addContract .contractInventoryLabel,
body.immoPage #addContract .contractInventoryStatus,
body.immoPage #addContract .contractInventoryActions{
	color: rgba(246, 247, 255, 0.96) !important;
}

body.immoPage #addContract .contractIndexSummaryBar,
body.immoPage #addContract .contractActionTableDesktop,
body.immoPage #addContract .contractActionMobileSplit .contractActionTableMobile{
	background: #34363d !important;
	color: rgba(246, 247, 255, 0.96) !important;
	border-color: rgba(230, 231, 245, 0.14) !important;
}

body.immoPage #addContract .contractIndexSummaryBar{
	border-radius: 0 !important;
	border-top: 0 !important;
}

body.immoPage #addContract .contractIndexSummaryBarFlatTop{
	border-radius: 0 0 8px 8px !important;
	border-top: 0 !important;
	border-bottom: 1px solid rgba(230, 231, 245, 0.14) !important;
}

body.immoPage #addContract .contractIndexNoDetails .contractActionTableDesktop,
body.immoPage #addContract .contractIndexNoDetails .contractActionMobileSplit{
	display: none !important;
}

body.immoPage #addContract .contractActionTableDesktop,
body.immoPage #addContract .contractActionMobileSplit .contractActionTableMobile{
	border-radius: 0 0 8px 8px !important;
	border-top: 0 !important;
}

body.immoPage #addContract tbody.tableImmoContract > tr.tableImmoContract:not(:first-child) > th,
body.immoPage #addContract tbody.tableImmoContract > tr.tableImmoContract:not(:first-child) > td{
	border-top: 0 !important;
	background-clip: padding-box;
}

body.immoPage #addContract tbody.tableImmoContract > tr.contractActionGroupGap > th,
body.immoPage #addContract tbody.tableImmoContract > tr.contractActionGroupGap > td{
	border-bottom: 12px solid #2a2c32 !important;
	background-clip: padding-box;
}

body.immoPage #addContract .contractActionTableDesktop,
body.immoPage #addContract .contractActionMobileSplit .contractActionTableMobile{
	border-radius: 0 !important;
	margin-bottom: 0 !important;
}

body.immoPage #addContract .contractActionTableDesktop{
	border-radius: 0 0 8px 8px !important;
	overflow: hidden !important;
}

body.immoPage #addContract .contractActionMobileSplit .contractActionTableMobile:last-child{
	border-radius: 0 0 8px 8px !important;
	overflow: hidden !important;
}

body.immoPage #addContract .contractActionTableDesktop tr:first-child td,
body.immoPage #addContract .contractActionMobileSplit .contractActionTableMobile tr:first-child td{
	border-top-left-radius: 0 !important;
	border-top-right-radius: 0 !important;
}

body.immoPage #addContract .contractActionTableDesktop tr:last-child td:first-child,
body.immoPage #addContract .contractActionMobileSplit .contractActionTableMobile:last-child tr:last-child td:first-child{
	border-bottom-left-radius: 8px !important;
}

body.immoPage #addContract .contractActionTableDesktop tr:last-child td:last-child,
body.immoPage #addContract .contractActionMobileSplit .contractActionTableMobile:last-child tr:last-child td:last-child{
	border-bottom-right-radius: 8px !important;
}

body.immoPage #addContract .contractActionTableDesktop tr:first-child td,
body.immoPage #addContract .contractActionMobileSplit .contractActionTableMobile tr:first-child td{
	background: rgba(230, 231, 245, 0.065) !important;
	color: rgba(246, 247, 255, 0.82) !important;
	border-bottom-color: rgba(230, 231, 245, 0.12) !important;
}

body.immoPage #addContract .contractActionTableDesktop tr:last-child td,
body.immoPage #addContract .contractActionMobileSplit .contractActionTableMobile tr:last-child td,
body.immoPage #addContract .contractActionTableDesktop td,
body.immoPage #addContract .contractActionMobileSplit .contractActionTableMobile td{
	background: #34363d !important;
	color: rgba(246, 247, 255, 0.96) !important;
	border-color: rgba(230, 231, 245, 0.12) !important;
}

body.immoPage #addContract .contractIndexStatusBadge{
	background: rgba(230, 231, 245, 0.12) !important;
	color: rgba(246, 247, 255, 0.96) !important;
}

body.immoPage #addContract .contractIndexSummaryNotice{
	background: rgba(230, 231, 245, 0.12) !important;
	color: rgba(246, 247, 255, 0.96) !important;
}

body.immoPage #addContract .contractIndexSummaryLate{
	background: rgba(255, 161, 67, 0.16) !important;
	color: #ffb15f !important;
}

body.immoPage #addContract .contractIndexModeManual{
	background: rgba(169, 205, 253, 0.16) !important;
	color: #a9cdfd !important;
}

body.immoPage #addContract .contractIndexModeAuto{
	background: rgba(12, 172, 100, 0.16) !important;
	color: #55d99b !important;
}

body.immoPage #addContract .contractIndexSummaryText,
body.immoPage #addContract .contractChargesReadonly,
body.immoPage #addContract .contractIndexNewAmountValue,
body.immoPage #addContract .contractIndexNewAmountCurrency{
	color: rgba(246, 247, 255, 0.96) !important;
}

body.immoPage #addContract .contractIndexSummaryError{
	background: rgba(211, 35, 53, 0.16) !important;
	color: #ff6b6b !important;
}

body.immoPage #addContract .contractIndexSummaryText.contractIndexSummaryLate{
	background: rgba(255, 161, 67, 0.16) !important;
	color: #ffb15f !important;
}

body.immoPage .appPropertySurface #invoices .invoiceDetailsPanel .fieldset-input label,
body.immoPage .appPropertySurface #invoices .invoiceDetailsPanel .invoiceSwitchCard > label,
body.immoPage #invoices .invoiceDetailsPanel .fieldset-input label,
body.immoPage #invoices .invoiceDetailsPanel .invoiceSwitchCard > label{
	background: #44464d !important;
}

/* Property feed rounded bars */
body.immoPage .appPropertySurface .propertyContentDiv{
	border-radius: 7px !important;
}

body.immoPage .appPropertySurface .dataSubprop{
	border-radius: 0 !important;
}

body.immoPage .appPropertySurface .propertyContentDiv + .dataSubprop{
	border-top: 0 !important;
}

body.immoPage .appPropertySurface article[id^="dataSubprop"][id$="-disp"],
body.immoPage .appPropertySurface .dataSubprop[class*="customersSubprop"]:not(:has(+ .dataSubprop[class*="customersSubprop"])),
body.immoPage .appPropertySurface .dataSubprop[class*="itemsSubprop"]:not(:has(+ .dataSubprop[class*="itemsSubprop"])){
	border-radius: 0 0 7px 7px !important;
}

body.immoPage .appPropertySurface .dataSubprop[class*="customersSubprop"]:has(+ .dataSubprop[class*="customersSubprop"]),
body.immoPage .appPropertySurface .dataSubprop[class*="itemsSubprop"]:has(+ .dataSubprop[class*="itemsSubprop"]){
	border-radius: 0 !important;
}

/* Contract modal final spacing and label polish */
body.immoPage #addContract .contractFormFields,
body.immoPage #addContract #sectionContractsDatesDetails,
body.immoPage #addContract .sectionContractsDatesDetails,
body.immoPage #addContract #contractAvailabilityMessage,
body.immoPage #addContract #schedulePreview{
	border: 1px solid rgba(230, 231, 245, 0.14) !important;
	border-radius: 7px !important;
	background: rgba(230, 231, 245, 0.055) !important;
	color: var(--light-color) !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
}

body.immoPage #addContract .contractFormFields,
body.immoPage #addContract #sectionContractsDatesDetails,
body.immoPage #addContract .sectionContractsDatesDetails{
	padding: 16px 14px !important;
	margin: 0 0 18px !important;
}

body.immoPage #addContract #createContractsFormContent > .contractFormFields:has(#sectionContractsDatesDetails){
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

body.immoPage #addContract #sectionContractsDatesDetails .invoiceTopNav,
body.immoPage #addContract .contractGeneralOptions{
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.immoPage #addContract .contractUnityNotice{
	margin: 0 0 18px !important;
	padding: 14px 16px !important;
	border: 1px solid rgba(230, 231, 245, 0.14) !important;
	border-radius: 7px !important;
	background: rgba(230, 231, 245, 0.045) !important;
	color: var(--light-color) !important;
	box-sizing: border-box !important;
}

body.immoPage #addContract #textAnnexDisp{
	color: rgba(230, 231, 245, 0.82) !important;
	text-decoration: none !important;
	font-weight: 850 !important;
}

body.immoPage #addContract .invoiceTopNav,
body.immoPage #addContract .paymentTopRow,
body.immoPage #addContract .paymentBottomRow,
body.immoPage #addContract .contractDocsRow{
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 16px 20px !important;
	align-items: end !important;
	justify-items: stretch !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

body.immoPage #addContract .paymentTopRow,
body.immoPage #addContract .paymentBottomRow,
body.immoPage #addContract .contractDocsRow{
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body.immoPage #addContract .fieldset-input{
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	height: 45px !important;
	margin: 10px 0 !important;
	box-sizing: border-box !important;
}

body.immoPage #addContract .contractDetailsPayment,
body.immoPage #addContract .contractDetailsLast{
	padding: 16px 14px !important;
	border: 1px solid rgba(230, 231, 245, 0.14) !important;
	border-radius: 7px !important;
	background: rgba(230, 231, 245, 0.035) !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
}

body.immoPage #addContract .contractDetailsPayment > .invoiceTopNav,
body.immoPage #addContract .contractDetailsLast > .invoiceTopNav{
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.immoPage #addContract .contractDetailsRent > .propertyFormRow{
	display: grid !important;
	grid-template-columns: minmax(320px, 1fr) minmax(0, 1fr) !important;
	gap: 16px 20px !important;
	align-items: end !important;
	justify-items: stretch !important;
	justify-content: stretch !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

body.immoPage #addContract .contractDetailsRent > .propertyFormRow:has(#productId){
	margin-bottom: 30px !important;
}

body.immoPage #addContract .contractDetailsRent > .propertyFormRow > .fieldset-input{
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
}

body.immoPage #addContract .contractInsuranceRow{
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	align-items: end !important;
	gap: 16px 20px !important;
}

body.immoPage #addContract .paymentDueDay[style*="display: none"],
body.immoPage #addContract .contractTypeWrap[style*="display: none"],
body.immoPage #addContract .tenantSupplementLine[style*="display:none"],
body.immoPage #addContract .tenantSupplementLine[style*="display: none"],
body.immoPage #addContract [id^="tenantSupplementAmountWrap"][style*="display:none"],
body.immoPage #addContract [id^="tenantSupplementAmountWrap"][style*="display: none"],
body.immoPage #addContract [id^="tenantSupplementReasonWrap"][style*="display:none"],
body.immoPage #addContract [id^="tenantSupplementReasonWrap"][style*="display: none"],
body.immoPage #addContract #globalSupplementFieldsRow[style*="display:none"],
body.immoPage #addContract #globalSupplementFieldsRow[style*="display: none"],
body.immoPage #addContract .paymentEqualPeriodsCount[style*="display: none"],
body.immoPage #addContract .paymentSplitCount[style*="display: none"],
body.immoPage #addContract .inssuranceContractDetails[style*="display:none"],
body.immoPage #addContract .inssuranceContractDetails[style*="display: none"]{
	display: none !important;
}

body.immoPage #addContract .formText,
body.immoPage #addContract input[type="text"],
body.immoPage #addContract input[type="number"],
body.immoPage #addContract input[type="date"],
body.immoPage #addContract select,
body.immoPage #addContract textarea{
	height: 45px !important;
	border-radius: 7px !important;
	border-color: rgba(230, 231, 245, 0.22) !important;
	background: rgba(230, 231, 245, 0.08) !important;
	color: var(--light-color) !important;
	box-shadow: none !important;
}

body.immoPage #addContract .fieldset-input label{
	top: 0 !important;
	left: 0.85rem !important;
	transform: translateY(-50%) !important;
	padding: 0 0.32rem !important;
	border-radius: 5px !important;
	background: #34363d !important;
	color: rgba(246, 247, 255, 0.96) !important;
	font-size: 0.82rem !important;
	font-weight: 900 !important;
	line-height: 1.18 !important;
	text-shadow: none !important;
}

body.immoPage #addContract #sectionContractsDatesDetails .fieldset-input label,
body.immoPage #addContract .contractDetailsRent .fieldset-input label{
	background: #34363d !important;
}

body.immoPage #addContract .contractDetailsPayment .fieldset-input label,
body.immoPage #addContract .contractDetailsLast .fieldset-input label{
	background: #34363d !important;
}

body.immoPage #addContract .contractDetailsDate,
body.immoPage #addContract #autoIndexRevWrap,
body.immoPage #addContract .docItem,
body.immoPage #addContract .fileUpload{
	min-height: 45px !important;
	padding: 8px 12px !important;
	border: 1px solid rgba(230, 231, 245, 0.14) !important;
	border-radius: 7px !important;
	background: rgba(230, 231, 245, 0.045) !important;
	color: var(--light-color) !important;
	box-sizing: border-box !important;
}

body.immoPage #addContract .contractDetailsDate label,
body.immoPage #addContract #autoIndexRevWrap label,
body.immoPage #addContract .docItem label{
	color: var(--light-color) !important;
	font-weight: 850 !important;
}

body.immoPage #addContract #contractAvailabilityMessage{
	margin: 10px 0 18px !important;
	padding: 12px 14px !important;
	border-color: rgba(211, 35, 53, 0.72) !important;
	background: rgba(211, 35, 53, 0.10) !important;
	color: #ff9aa4 !important;
	font-weight: 900 !important;
}

body.immoPage #addContract #schedulePreview{
	margin: 12px 0 18px !important;
	padding: 12px 14px !important;
	background: rgba(230, 231, 245, 0.045) !important;
}

body.immoPage #addContract #schedulePreview .scheduleItem{
	border-color: rgba(230, 231, 245, 0.14) !important;
	background: rgba(230, 231, 245, 0.055) !important;
	color: var(--light-color) !important;
}

body.immoPage #addContract #schedulePreview #scheduleScroll,
body.immoPage #addContract #schedulePreview #scheduleList{
	background: transparent !important;
}

body.immoPage #addContract #schedulePreview .scheduleItem div{
	color: rgba(246, 247, 255, 0.94) !important;
}

body.immoPage #addContract #schedulePreview .scheduleItem div:first-child{
	color: var(--light-color) !important;
}

body.immoPage #addContract #schedulePreview .scheduleItem span{
	color: rgba(230, 231, 245, 0.68) !important;
}

body.immoPage #addContract #schedulePreview .scheduleFade{
	background: linear-gradient(
		to bottom,
		rgba(52, 54, 61, 0),
		rgba(52, 54, 61, 0.82) 74%,
		rgba(52, 54, 61, 0.96)
	) !important;
}

body.immoPage #addContract #schedulePreview #scheduleToggle{
	color: rgba(230, 231, 245, 0.70) !important;
}

body.immoPage #addContract .tenantSupplementToggle,
body.immoPage #addContract #rentSupplementToggle{
	color: #a9cdfd !important;
	font-weight: 900 !important;
}

body.immoPage #addContract .contractGeneralOptions{
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 16px 20px !important;
	overflow: hidden !important;
}

body.immoPage #addContract .contractSwitchField{
	position: relative !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	min-height: 45px !important;
	height: 45px !important;
	margin: 10px 0 !important;
	padding: 6px 12px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	border: 1px solid rgba(230, 231, 245, 0.22) !important;
	border-radius: 7px !important;
	background: rgba(230, 231, 245, 0.08) !important;
	color: var(--light-color) !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
}

body.immoPage #addContract #autoIndexRevWrap.contractSwitchField{
	min-height: 45px !important;
	height: 45px !important;
	padding: 6px 12px !important;
	border-color: rgba(230, 231, 245, 0.22) !important;
	background: rgba(230, 231, 245, 0.08) !important;
}

body.immoPage #addContract .contractSwitchLabel{
	position: absolute !important;
	top: 0 !important;
	left: 0.85rem !important;
	z-index: 2 !important;
	transform: translateY(-50%) !important;
	padding: 0 0.32rem !important;
	border-radius: 5px !important;
	background: #34363d !important;
	color: rgba(246, 247, 255, 0.96) !important;
	font-size: 0.82rem !important;
	font-weight: 900 !important;
	line-height: 1.18 !important;
	text-shadow: none !important;
	cursor: pointer !important;
}

body.immoPage #addContract .contractSwitchChoice{
	width: 100% !important;
	min-width: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 12px !important;
	color: var(--light-color) !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	white-space: nowrap !important;
}

body.immoPage #addContract .contractSwitchChoice .switch{
	flex: 0 0 auto !important;
	margin: 0 !important;
}

@media (max-width: 760px){
	body.immoPage #addContract .invoiceTopNav,
	body.immoPage #addContract .paymentTopRow,
	body.immoPage #addContract .paymentBottomRow,
	body.immoPage #addContract .contractDocsRow{
		grid-template-columns: 1fr !important;
		gap: 12px !important;
	}

	body.immoPage #addContract .contractDetailsRent > .propertyFormRow{
		grid-template-columns: 1fr !important;
		gap: 12px !important;
	}
}

/* Property invoice modal final alignment */
body.immoPage #invoices .invoiceTopNav,
body.immoPage #invoices .invoiceFieldsGrid,
body.immoPage .appPropertySurface #invoices .invoiceTopNav,
body.immoPage .appPropertySurface #invoices .invoiceFieldsGrid{
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 16px 20px !important;
	align-items: end !important;
	justify-items: stretch !important;
	justify-content: stretch !important;
	border-radius: 7px !important;
}

body.immoPage #invoices .invoiceTopNav > *,
body.immoPage #invoices .invoiceFieldsGrid > *,
body.immoPage .appPropertySurface #invoices .invoiceTopNav > *,
body.immoPage .appPropertySurface #invoices .invoiceFieldsGrid > *{
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 10px 0 !important;
	justify-self: stretch !important;
	align-self: end !important;
	box-sizing: border-box !important;
}

body.immoPage #invoices .invoiceTopNav .fieldset-input,
body.immoPage #invoices .invoiceFieldsGrid .fieldset-input,
body.immoPage .appPropertySurface #invoices .invoiceTopNav .fieldset-input,
body.immoPage .appPropertySurface #invoices .invoiceFieldsGrid .fieldset-input{
	display: block !important;
	height: 45px !important;
}

body.immoPage #invoices .invoiceSwitchCard,
body.immoPage .appPropertySurface #invoices .invoiceSwitchCard{
	min-height: 45px !important;
	height: 45px !important;
	padding: 6px 12px !important;
	border-radius: 7px !important;
	background: rgba(230, 231, 245, 0.08) !important;
	border-color: rgba(230, 231, 245, 0.22) !important;
}

body.immoPage #invoices .formText,
body.immoPage #invoices input[type="text"],
body.immoPage #invoices input[type="number"],
body.immoPage #invoices input[type="date"],
body.immoPage #invoices select,
body.immoPage #invoices textarea,
body.immoPage .appPropertySurface #invoices .formText,
body.immoPage .appPropertySurface #invoices input[type="text"],
body.immoPage .appPropertySurface #invoices input[type="number"],
body.immoPage .appPropertySurface #invoices input[type="date"],
body.immoPage .appPropertySurface #invoices select,
body.immoPage .appPropertySurface #invoices textarea{
	height: 45px !important;
	border-radius: 7px !important;
}

body.immoPage #invoices .fieldset-input label,
body.immoPage #invoices .invoiceSwitchCard > label,
body.immoPage .appPropertySurface #invoices .fieldset-input label,
body.immoPage .appPropertySurface #invoices .invoiceSwitchCard > label{
	top: 0 !important;
	left: 0.85rem !important;
	transform: translateY(-50%) !important;
	padding: 0 0.32rem !important;
	border-radius: 5px !important;
	background: #34363d !important;
	color: rgba(246, 247, 255, 0.96) !important;
	font-size: 0.82rem !important;
	font-weight: 900 !important;
	line-height: 1.18 !important;
	text-shadow: none !important;
}

body.immoPage #invoices .invoiceSwitchCard p,
body.immoPage .appPropertySurface #invoices .invoiceSwitchCard p{
	width: 100% !important;
	gap: 12px !important;
	justify-content: center !important;
	color: var(--light-color) !important;
	font-weight: 900 !important;
}

body.immoPage #invoices .invoiceSwitchCard span,
body.immoPage .appPropertySurface #invoices .invoiceSwitchCard span{
	color: var(--light-color) !important;
	font-weight: 900 !important;
}

body.immoPage #invoices .invoiceUploadDropzone,
body.immoPage #invoices .invoicePanel,
body.immoPage #invoices .invoiceDetailsPanel,
body.immoPage .appPropertySurface #invoices .invoiceUploadDropzone,
body.immoPage .appPropertySurface #invoices .invoicePanel,
body.immoPage .appPropertySurface #invoices .invoiceDetailsPanel{
	border-radius: 7px !important;
}

body.immoPage #invoices #sectionUploadInvoice.invoicePanel,
body.immoPage .appPropertySurface #invoices #sectionUploadInvoice.invoicePanel,
body.immoPage #invoices #sectionGenerateInvoice.invoicePanel,
body.immoPage .appPropertySurface #invoices #sectionGenerateInvoice.invoicePanel{
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.immoPage #invoices #sectionUploadInvoice.invoicePanel,
body.immoPage .appPropertySurface #invoices #sectionUploadInvoice.invoicePanel,
body.immoPage #invoices #sectionGenerateInvoice.invoicePanel,
body.immoPage .appPropertySurface #invoices #sectionGenerateInvoice.invoicePanel{
	padding: 0 !important;
}

@media (max-width: 900px){
	body.immoPage #invoices .invoiceTopNav,
	body.immoPage #invoices .invoiceFieldsGrid,
	body.immoPage .appPropertySurface #invoices .invoiceTopNav,
	body.immoPage .appPropertySurface #invoices .invoiceFieldsGrid{
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	body.immoPage #invoices .invoiceTopNav > :first-child,
	body.immoPage #invoices .invoiceFieldNumber,
	body.immoPage .appPropertySurface #invoices .invoiceTopNav > :first-child,
	body.immoPage .appPropertySurface #invoices .invoiceFieldNumber{
		grid-column: 1 / -1 !important;
	}
}

@media (min-width: 901px){
	body.immoPage #invoices .invoiceFieldsGrid{
		grid-template-areas:
			"supplier product amount"
			"vat number date"
			"status reinvoice charges"
			"paymethod paydate .";
	}

	body.immoPage #invoices .invoiceFieldSupplier{ grid-area: supplier; }
	body.immoPage #invoices .invoiceFieldProduct{ grid-area: product; }
	body.immoPage #invoices .invoiceFieldAmount{ grid-area: amount; }
	body.immoPage #invoices .invoiceFieldVat{ grid-area: vat; }
	body.immoPage #invoices .invoiceFieldNumber{ grid-area: number; }
	body.immoPage #invoices .invoiceFieldDate{ grid-area: date; }
	body.immoPage #invoices .invoiceFieldStatus{ grid-area: status; }
	body.immoPage #invoices .billPayMethod{ grid-area: paymethod; }
	body.immoPage #invoices .billPayDate{ grid-area: paydate; }
	body.immoPage #invoices .invoiceReinvoiceSwitch{ grid-area: reinvoice; }
	body.immoPage #invoices .invoiceChargesSwitch{ grid-area: charges; }
}

@media (max-width: 520px){
	body.immoPage #invoices .invoiceTopNav,
	body.immoPage #invoices .invoiceFieldsGrid,
	body.immoPage .appPropertySurface #invoices .invoiceTopNav,
	body.immoPage .appPropertySurface #invoices .invoiceFieldsGrid{
		grid-template-columns: 1fr !important;
	}

	body.immoPage #invoices .invoiceTopNav > *,
	body.immoPage #invoices .invoiceFieldsGrid > *,
	body.immoPage .appPropertySurface #invoices .invoiceTopNav > *,
	body.immoPage .appPropertySurface #invoices .invoiceFieldsGrid > *{
		grid-column: auto !important;
	}
}

/* Final modal detail and settings label harmonization */
body.immoPage #customers .customersAllDiv > div[id^="customersArticle"],
body.immoPage #properties .propertiesAllDiv > div[id^="subpropertiesArticle"]{
	border-top: 0 !important;
	border-top-left-radius: 0 !important;
	border-top-right-radius: 0 !important;
	border-bottom-left-radius: 7px !important;
	border-bottom-right-radius: 7px !important;
	margin-top: 0 !important;
}

body.immoPage #settings.settingsModal .settingsNavItem,
body.immoPage #settings.settingsModal .settingsNavItem::after,
body.immoPage #settings.settingsModal .settingsNavItem.isActive::after{
	color: rgba(246, 247, 255, 0.88) !important;
	text-decoration: none !important;
}

body.immoPage #settings.settingsModal .settingsNavItem.isActive{
	color: rgba(246, 247, 255, 0.96) !important;
}

.triangle,
a.triangle,
body.immoPage a.triangle,
body.immoPage .modal a.triangle,
body.immoPage .settingsModal a.triangle{
	display: inline-grid !important;
	place-items: center !important;
	min-width: 30px !important;
	height: 30px !important;
	padding: 0 8px !important;
	box-sizing: border-box !important;
	border-radius: 6px !important;
	background: rgba(24, 26, 32, 0.52) !important;
	color: rgba(230, 231, 245, 0.96) !important;
	text-decoration: none !important;
	line-height: 1 !important;
}

.triangle:hover,
a.triangle:hover,
body.immoPage a.triangle:hover,
.triangle:focus-visible,
a.triangle:focus-visible,
body.immoPage a.triangle:focus-visible{
	background: rgba(24, 26, 32, 0.72) !important;
	color: rgba(255, 255, 255, 0.98) !important;
	outline: none !important;
}

@media screen and (max-width: 980px){
	body.immoPage #settings.settingsModal{
		width: calc(100vw - 18px) !important;
		max-width: calc(100vw - 18px) !important;
	}

	body.immoPage #settings.settingsModal .settingsFormGrid,
	body.immoPage #settings.settingsModal .settingsFormGridSecurity,
	body.immoPage #settings.settingsModal .settingsSubmitRowWithStatus{
		grid-template-columns: 1fr !important;
		gap: 12px !important;
	}

	body.immoPage #settings.settingsModal .settingsContent .formSettings .fieldset-input,
	body.immoPage #settings.settingsModal .settingsPasswordStrength,
	body.immoPage #settings.settingsModal .settingsLiveStatus,
	body.immoPage #settings.settingsModal .settingsSubmitRowWithStatus .button{
		width: 100% !important;
		max-width: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

body.immoPage #settings.settingsModal .fieldset-input label,
body.immoPage #settings.settingsModal .settingsContent .fieldset-input label,
body.immoPage #settings.settingsModal .settingsBusinessForm .fieldset-input label,
body.immoPage #settings.settingsModal .settingsLogsTop .fieldset-input label{
	background: #34363d !important;
	color: rgba(246, 247, 255, 0.92) !important;
	text-decoration: none !important;
}

@media screen and (max-width: 700px){
	.appMainSurface .subReceiptAction{
		width: calc(100% - 18px) !important;
		margin-left: auto !important;
		margin-right: auto !important;
		border-left-color: rgba(230, 231, 245, 0.16) !important;
		border-right-color: rgba(230, 231, 245, 0.16) !important;
		border-bottom-color: rgba(230, 231, 245, 0.16) !important;
	}
}

/* Companies modal */
body.immoPage #companies.companiesModal{
	background: #2a2c32 !important;
	color: var(--light-color) !important;
	border: 1px solid rgba(230, 231, 245, 0.18) !important;
	border-radius: 9px !important;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.36) !important;
}

body.immoPage #companies .modal-header{
	position: static !important;
	padding: 16px 18px !important;
	border-bottom: 1px solid rgba(230, 231, 245, 0.14) !important;
	background: rgba(230, 231, 245, 0.025) !important;
	box-sizing: border-box;
}

body.immoPage #companies .modal-header > span{
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px !important;
	color: var(--light-color) !important;
	font-size: 1.15rem !important;
	font-weight: 800 !important;
}

body.immoPage #companies .modal-header > span img{
	width: 30px !important;
	height: 30px !important;
	margin: 0 !important;
	object-fit: contain !important;
	opacity: 0.82;
	filter: invert(1) drop-shadow(0 1px 0 rgba(255, 255, 255, 0.12));
}

body.immoPage #companies .companyCard{
	display: grid !important;
	grid-template-columns: 84px minmax(0, 1fr) !important;
	align-items: center !important;
	gap: 16px !important;
	width: auto !important;
	margin: 10px 14px !important;
	padding: 14px !important;
	border: 1px solid rgba(230, 231, 245, 0.13) !important;
	border-radius: 8px !important;
	background: rgba(230, 231, 245, 0.045) !important;
	color: var(--light-color) !important;
	box-sizing: border-box !important;
	box-shadow: none !important;
}

body.immoPage #companies .companyCard:hover,
body.immoPage #companies .companyCard:focus-visible{
	background: rgba(169, 205, 253, 0.08) !important;
	border-color: rgba(169, 205, 253, 0.34) !important;
	outline: none !important;
}

body.immoPage #companies .companyCard.is-current{
	background: rgba(169, 205, 253, 0.12) !important;
	border-color: rgba(169, 205, 253, 0.58) !important;
	box-shadow: inset 3px 0 0 #a9cdfd !important;
	color: var(--light-color) !important;
}

body.immoPage #companies .compagnies_logo{
	width: 68px !important;
	height: 68px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	overflow: hidden !important;
	border: 1px solid rgba(230, 231, 245, 0.18) !important;
	border-radius: 7px !important;
	background: rgba(230, 231, 245, 0.075) !important;
	color: #a9cdfd !important;
	font-size: 1rem !important;
	font-weight: 900 !important;
}

body.immoPage #companies .compagnies_logo img{
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: contain !important;
	padding: 3px !important;
	box-sizing: border-box !important;
}

body.immoPage #companies .compagnies_logo.is-missing::before{
	content: attr(data-initial);
	color: #a9cdfd;
	font-size: 1.45rem;
	font-weight: 900;
}

body.immoPage #companies .companyLogoFallback{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	color: #a9cdfd;
	font-size: 1.45rem;
	font-weight: 900;
}

body.immoPage #companies .compagnies_info{
	min-width: 0 !important;
	display: grid !important;
	gap: 6px !important;
}

body.immoPage #companies .compagnies_data{
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
	align-items: baseline !important;
	gap: 10px !important;
}

body.immoPage #companies .compagnies_name{
	min-width: 0 !important;
	color: var(--light-color) !important;
	font-size: 1rem !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	overflow-wrap: anywhere;
}

body.immoPage #companies .compagnies_stat{
	color: rgba(246, 247, 255, 0.72) !important;
	font-size: 0.82rem !important;
	font-weight: 800 !important;
	text-transform: uppercase;
	letter-spacing: 0;
	white-space: nowrap;
}

body.immoPage #companies .compagnies_addr{
	color: rgba(246, 247, 255, 0.72) !important;
	font-size: 0.86rem !important;
	font-weight: 650 !important;
	line-height: 1.25 !important;
	overflow-wrap: anywhere;
}

@media screen and (max-width: 620px){
	body.immoPage #companies.companiesModal{
		max-width: calc(100vw - 18px) !important;
		min-height: 0 !important;
	}

	body.immoPage #companies .companyCard{
		grid-template-columns: 62px minmax(0, 1fr) !important;
		gap: 12px !important;
		margin: 8px 10px !important;
		padding: 11px !important;
	}

	body.immoPage #companies .compagnies_logo{
		width: 56px !important;
		height: 56px !important;
	}

	body.immoPage #companies .compagnies_data{
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 3px !important;
	}

	body.immoPage #companies .compagnies_name{
		font-size: 0.94rem !important;
	}

	body.immoPage #companies .compagnies_stat,
	body.immoPage #companies .compagnies_addr{
		font-size: 0.78rem !important;
	}
}

/* Legacy inline border harmonization inside immo modals */
body.immoPage #properties .propertiesAllDiv > div,
body.immoPage #customers .customersAllDiv > div{
	border-color: rgba(230, 231, 245, 0.22) !important;
	background: rgba(230, 231, 245, 0.045) !important;
	color: var(--light-color) !important;
	border-radius: 7px !important;
}

body.immoPage #properties .propertiesAllDiv > div[style*="border-top: none"],
body.immoPage #customers .customersAllDiv > div[style*="border-top: none"]{
	border-top: 0 !important;
	border-color: rgba(230, 231, 245, 0.18) !important;
	border-radius: 0 0 7px 7px !important;
	background: rgba(230, 231, 245, 0.035) !important;
}

body.immoPage #customers .customerDocsPanel,
body.immoPage #customers .customersAllDiv > div[id^="customersArticle"]{
	overflow-x: hidden !important;
	overflow-y: visible !important;
}

body.immoPage #properties .propertiesAllDiv > div:first-child,
body.immoPage #customers .customersAllDiv > div:first-child{
	border-color: rgba(230, 231, 245, 0.22) !important;
}

body.immoPage #properties .propertiesAllDiv a,
body.immoPage #customers .customersAllDiv a{
	color: #a9cdfd !important;
}

body.immoPage #customers .customersAllDiv article,
body.immoPage #customers .customersAllDiv article > div,
body.immoPage #properties .propertiesAllDiv article,
body.immoPage #properties .propertiesAllDiv article > div{
	border-color: rgba(230, 231, 245, 0.16) !important;
}

body.immoPage #properties .propertyEmptyStateWrap{
	width: 100%;
	margin: 0;
}

body.immoPage #properties .propertiesAllDiv > .propertyEmptyState{
	width: calc(100% - 18px);
	min-height: 76px;
	margin: 12px auto 4px;
	padding: 14px 18px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 14px;
	box-sizing: border-box;
	border: 1px solid rgba(169, 205, 253, 0.18) !important;
	border-radius: 8px !important;
	background: rgba(240, 241, 255, 0.035) !important;
	color: var(--light-color) !important;
}

body.immoPage #properties .propertyEmptyStateIcon{
	width: 42px;
	height: 42px;
	flex: 0 0 42px;
	display: grid;
	place-items: center;
	border-radius: 8px;
	background: rgba(169, 205, 253, 0.075);
}

body.immoPage #properties .propertyEmptyStateIcon img{
	width: 30px;
	height: 30px;
	object-fit: contain;
}

body.immoPage #properties .propertyEmptyStateText{
	display: grid;
	gap: 3px;
	min-width: 0;
	text-align: left;
}

body.immoPage #properties .propertyEmptyStateText strong{
	color: rgba(246, 247, 255, 0.92);
	font-size: 0.96rem;
	font-weight: 900;
	line-height: 1.15;
}

body.immoPage #properties .propertyEmptyStateText span{
	color: rgba(230, 231, 245, 0.58);
	font-size: 0.74rem;
	font-weight: 760;
	line-height: 1.2;
}

@media (max-width: 700px){
	body.immoPage #properties .propertiesAllDiv > .propertyEmptyState{
		width: calc(100% - 12px);
		min-height: 66px;
		margin-top: 10px;
		padding: 12px 14px;
		gap: 12px;
	}

	body.immoPage #properties .propertyEmptyStateIcon{
		width: 36px;
		height: 36px;
		flex-basis: 36px;
	}

	body.immoPage #properties .propertyEmptyStateIcon img{
		width: 26px;
		height: 26px;
	}

	body.immoPage #properties .propertyEmptyStateText strong{
		font-size: 0.82rem;
	}

	body.immoPage #properties .propertyEmptyStateText span{
		font-size: 0.66rem;
	}
}

body.immoPage #customers .customerDocsToolbarRow,
body.immoPage #customers .customerDocsRow{
	display: grid !important;
	align-items: center !important;
	gap: 8px;
	width: 100% !important;
	padding: 10px 12px !important;
	box-sizing: border-box;
	border-bottom: 1px solid rgba(230, 231, 245, 0.12) !important;
}

body.immoPage #customers .customerDocsToolbarRow{
	grid-template-columns: minmax(88px, 0.55fr) minmax(176px, 1fr) minmax(190px, 1.1fr) minmax(108px, auto);
	color: rgba(246, 247, 255, 0.76);
	font-size: 0.78rem;
	font-weight: 800;
}

body.immoPage #customers .customerDocsRow{
	grid-template-columns: minmax(74px, 0.85fr) minmax(120px, 1.45fr) minmax(86px, 1fr) minmax(86px, 1fr);
}

body.immoPage #customers .customerDocsHeaderLabel--mobile{
	display: none;
}

body.immoPage #customers .customerDocsHeaderLabel{
	min-width: 0;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

body.immoPage #customers .customerDocsToolbarInfo{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

body.immoPage #customers .customerDocsToolbarRow .customerDocsSelectCell{
	justify-content: flex-start;
	gap: 8px;
}

body.immoPage #customers .customerDocsToolbarRow .customerDocsSelectCell form{
	flex: 0 0 auto;
	width: auto !important;
}

body.immoPage #customers .customerDocsValidationSummary{
	flex: 0 0 auto;
	min-width: 72px;
	justify-content: flex-start;
}

body.immoPage #customers .customerDocsHeaderStat,
body.immoPage #customers .customerDocsHeaderContract{
	text-align: center;
}

body.immoPage #customers .customerDocsToolbarInfo[hidden]{
	display: none !important;
}

body.immoPage #customers .customerDocsRow:last-child{
	border-bottom: 0 !important;
}

body.immoPage #customers .customerDocsCell{
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	width: auto !important;
	border-right: 0 !important;
	color: var(--light-color);
}

body.immoPage #customers .customerDocsNameCell{
	justify-content: flex-start;
	text-align: left;
}

body.immoPage #customers .customerDocsNameCell a{
	display: block;
	min-width: 0;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-weight: 800;
}

body.immoPage #customers .customerDocsSelectCell form,
body.immoPage #customers .customerDocsActionCell form{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	margin: 0;
}

body.immoPage #customers .docTypeCheckbox{
	width: 16px;
	height: 16px;
	margin: 0;
	accent-color: #a9cdfd;
}

body.immoPage #customers .customerDocsButton{
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	height: auto !important;
	min-width: 76px !important;
	min-height: 30px !important;
	max-width: 100% !important;
	padding: 6px 10px !important;
	border-radius: 999px !important;
	background: rgba(230, 231, 245, 0.08) !important;
	border: 1px solid rgba(230, 231, 245, 0.18) !important;
	color: rgba(246, 247, 255, 0.92) !important;
	font-size: 0.72rem !important;
	font-weight: 900 !important;
	line-height: 1.05 !important;
	box-shadow: none !important;
	white-space: nowrap;
}

body.immoPage #customers .customerDocsButton.btnIconMobile::before,
body.immoPage #customers .customerDocsButton.btnIconMobile.btnIconMobileLabel::after{
	content: none !important;
	display: none !important;
	background-image: none !important;
}

body.immoPage #customers .customerDocsButton:hover,
body.immoPage #customers .customerDocsButton:focus-visible{
	transform: translateY(-1px);
	background: rgba(230, 231, 245, 0.14) !important;
	border-color: rgba(230, 231, 245, 0.30) !important;
}

body.immoPage #customers .customerDocsButton--resend{
	border-color: rgba(117, 166, 234, 0.42) !important;
	background: rgba(80, 126, 190, 0.18) !important;
	color: #d8e8ff !important;
}

body.immoPage #customers .customerDocsButton--validate{
	border-color: rgba(64, 171, 119, 0.42) !important;
	background: rgba(29, 111, 72, 0.20) !important;
	color: #c8f1da !important;
}

body.immoPage #customers .customerDocsButton--renew{
	border-color: rgba(230, 231, 245, 0.24) !important;
	background: rgba(230, 231, 245, 0.10) !important;
	color: rgba(246, 247, 255, 0.94) !important;
}

body.immoPage #customers .customerDocsInlineResult{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #c8f1da;
	font-size: 0.72rem;
	font-weight: 900;
	line-height: 1.05;
	white-space: nowrap;
}

body.immoPage #customers .customerDocsStatus{
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	height: auto !important;
	min-width: 78px !important;
	min-height: 28px !important;
	max-width: 100% !important;
	padding: 5px 9px !important;
	border-radius: 999px !important;
	border: 1px solid rgba(230, 231, 245, 0.18) !important;
	background: rgba(230, 231, 245, 0.07) !important;
	color: rgba(246, 247, 255, 0.90) !important;
	font-size: 0.70rem !important;
	font-weight: 900 !important;
	line-height: 1.05 !important;
	text-align: center;
	box-sizing: border-box;
	white-space: nowrap;
}

body.immoPage #customers .customerDocsStatus.btnIconMobile::before,
body.immoPage #customers .customerDocsStatus.btnIconMobile.btnIconMobileLabel::after{
	content: none !important;
	display: none !important;
	background-image: none !important;
}

body.immoPage #customers .customerDocsStatus--validated{
	border-color: rgba(64, 171, 119, 0.38) !important;
	background: rgba(29, 111, 72, 0.18) !important;
	color: #c8f1da !important;
}

body.immoPage #customers .customerDocsStatus--review{
	border-color: rgba(221, 164, 72, 0.40) !important;
	background: rgba(117, 82, 33, 0.22) !important;
	color: #ffe0aa !important;
}

body.immoPage #customers .customerDocsStatus--sent{
	border-color: rgba(117, 166, 234, 0.38) !important;
	background: rgba(80, 126, 190, 0.16) !important;
	color: #d8e8ff !important;
}

body.immoPage #customers .customerDocsStatus--waiting{
	border-color: rgba(230, 231, 245, 0.18) !important;
	background: rgba(230, 231, 245, 0.07) !important;
	color: rgba(246, 247, 255, 0.76) !important;
}

body.immoPage #customers .customerDeleteForm{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	margin: 0;
}

body.immoPage #customers .customerDocsDeleteCell{
	justify-self: end;
}

body.immoPage #customers .customerDeleteButton{
	width: auto !important;
	max-width: 100% !important;
	min-width: 76px !important;
	min-height: 30px !important;
	padding: 6px 10px !important;
	border: 1px solid rgba(225, 94, 94, 0.38) !important;
	border-radius: 999px !important;
	background: rgba(225, 94, 94, 0.10) !important;
	color: #ffd6d6 !important;
	font-size: 0.72rem !important;
	font-weight: 900 !important;
	line-height: 1.05 !important;
	box-shadow: none !important;
	white-space: nowrap;
}

body.immoPage #customers .customerDeleteButton:hover,
body.immoPage #customers .customerDeleteButton:focus-visible{
	border-color: rgba(225, 94, 94, 0.62) !important;
	background: rgba(225, 94, 94, 0.18) !important;
	color: #ffffff !important;
	transform: translateY(-1px);
}

@media (max-width: 700px){
	body.immoPage #customers .customerDeleteButton.btnIconMobile{
		position: relative !important;
		width: 38px !important;
		height: 38px !important;
		min-width: 38px !important;
		min-height: 38px !important;
		padding: 0 !important;
		border-radius: 8px !important;
		border-color: rgba(225, 94, 94, 0.42) !important;
		background: rgba(225, 94, 94, 0.14) !important;
		color: transparent !important;
		font-size: 0 !important;
		line-height: 0 !important;
	}

	body.immoPage #customers .customerDeleteButton.btnIconMobile::before{
		content: "" !important;
		position: absolute !important;
		left: 50% !important;
		top: 50% !important;
		display: block !important;
		width: 18px !important;
		height: 3px !important;
		margin: 0 !important;
		border-radius: 999px !important;
		background: #ffd6d6 !important;
		background-image: none !important;
		transform: translate(-50%, -50%) rotate(45deg) !important;
	}

	body.immoPage #customers .customerDeleteButton.btnIconMobile.btnIconMobileLabel::after{
		content: "" !important;
		position: absolute !important;
		left: 50% !important;
		top: 50% !important;
		display: block !important;
		width: 18px !important;
		height: 3px !important;
		margin: 0 !important;
		border-radius: 999px !important;
		background: #ffd6d6 !important;
		transform: translate(-50%, -50%) rotate(-45deg) !important;
	}
}

@media (max-width: 700px){
	body.immoPage #customers .customerDocsPanel,
	body.immoPage #customers .customersAllDiv > div[id^="customersArticle"]{
		padding-bottom: 0;
	}

	body.immoPage #customers .customerDocsToolbarRow{
		grid-template-columns: minmax(58px, 0.85fr) minmax(70px, 1fr) minmax(70px, 1fr) 40px;
		gap: 6px;
		width: 100% !important;
		padding: 9px 8px !important;
		font-size: 0.66rem;
	}

	body.immoPage #customers .customerDocsRow{
		grid-template-columns: minmax(48px, 0.85fr) minmax(64px, 1.35fr) minmax(42px, 0.8fr) minmax(44px, 0.8fr);
		gap: 6px;
		width: 100% !important;
		padding: 9px 8px !important;
	}

	body.immoPage #customers .customerDocsHeaderLabel--desktop{
		display: none;
	}

	body.immoPage #customers .customerDocsHeaderLabel--mobile{
		display: inline-block;
	}

	body.immoPage #customers .customerDocsHeaderContract .customerDocsHeaderLabel--mobile{
		white-space: nowrap;
		line-height: 1;
	}

	body.immoPage #customers .customerDocsCell{
		overflow: hidden;
	}

	body.immoPage #customers .customerDocsNameCell a{
		font-size: 0.86rem;
		white-space: nowrap;
	}

	body.immoPage #customers .customerDocsSelectCell{
		font-size: 0.72rem;
		font-weight: 800;
		white-space: nowrap;
	}

	body.immoPage #customers .customerDocsValidationSummary{
		min-width: 58px;
	}

	body.immoPage #customers .customerDocsActionCell{
		font-size: 0.70rem;
		font-weight: 800;
		white-space: nowrap;
	}

	body.immoPage #customers .customerDocsButton{
		flex-direction: column !important;
		min-width: 0 !important;
		width: 38px !important;
		height: 40px !important;
		min-height: 40px !important;
		padding: 3px 2px !important;
		gap: 2px;
		border-radius: 8px !important;
		font-size: 0 !important;
		line-height: 0 !important;
	}

	body.immoPage #customers .customerDocsStatus{
		flex-direction: column !important;
		min-width: 0 !important;
		width: 40px !important;
		height: 40px !important;
		min-height: 40px !important;
		padding: 3px 2px !important;
		gap: 2px;
		border-radius: 8px !important;
		font-size: 0 !important;
		line-height: 0 !important;
	}

	body.immoPage #customers .customerDocsStatus--sent.btnIconMobile{
		border-color: transparent !important;
		background: transparent !important;
		color: rgba(246, 247, 255, 0.88) !important;
		box-shadow: none !important;
	}

	body.immoPage #customers .customerDocsButton.btnIconMobile::before,
	body.immoPage #customers .customerDocsStatus.btnIconMobile::before{
		content: "" !important;
		display: block !important;
		width: 20px !important;
		height: 20px !important;
		background-repeat: no-repeat !important;
		background-position: center !important;
		background-size: contain !important;
	}

	body.immoPage #customers .customerDocsButton.btnIconMobile.btnIconMobileLabel::after,
	body.immoPage #customers .customerDocsStatus.btnIconMobile.btnIconMobileLabel::after{
		content: attr(data-mobile-label) !important;
		display: block !important;
		max-width: 38px !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		white-space: nowrap !important;
		color: currentColor !important;
		font-size: 0.52rem !important;
		font-weight: 900 !important;
		line-height: 1 !important;
	}

	body.immoPage #customers .customerDocsButton--resend.btnIconMobile::before,
	body.immoPage #customers .iconCustomersDocsResend.btnIconMobile::before{
		background-image: url("../images/resend.png") !important;
	}

	body.immoPage #customers .customerDocsButton--renew.btnIconMobile::before,
	body.immoPage #customers .iconCustomersDocsRenew.btnIconMobile::before{
		background-image: url("../images/doc_renew.png") !important;
	}

	body.immoPage #customers .customerDocsButton--validate.btnIconMobile::before,
	body.immoPage #customers .iconCustomersDocsOk.btnIconMobile::before{
		background-image: url("../images/doc_ok.png") !important;
	}

	body.immoPage #customers .customerDocsStatus--validated.btnIconMobile::before{
		background-image: url("../images/verified.png") !important;
	}

	body.immoPage #customers .customerDocsStatus--review.btnIconMobile::before{
		background-image: url("../images/doc_status_checking.png") !important;
	}

	body.immoPage #customers .customerDocsStatus--sent.btnIconMobile::before,
	body.immoPage #customers .customerDocsStatus--waiting.btnIconMobile::before{
		background-image: url("../images/doc_status_pending.png") !important;
	}

	body.immoPage #customers .customerDocsStatus--sent.btnIconMobile::before{
		filter: brightness(0) invert(1) opacity(0.88);
	}
}

@media (max-width: 380px){
	body.immoPage #customers .customerDocsToolbarRow{
		grid-template-columns: 56px minmax(58px, 1fr) minmax(58px, 1fr) 38px;
		gap: 4px;
		padding: 8px 6px !important;
	}

	body.immoPage #customers .customerDocsRow{
		grid-template-columns: 50px minmax(58px, 1fr) 38px 46px;
		gap: 4px;
		padding: 8px 6px !important;
	}

	body.immoPage #customers .customerDocsNameCell a{
		font-size: 0.80rem;
	}

	body.immoPage #customers .customerDocsSelectCell,
	body.immoPage #customers .customerDocsActionCell{
		font-size: 0.66rem;
	}

	body.immoPage #customers .customerDocsButton{
		width: 36px !important;
		height: 38px !important;
		min-height: 38px !important;
	}

	body.immoPage #customers .customerDocsStatus{
		width: 38px !important;
		height: 38px !important;
		min-height: 38px !important;
	}
}

body.immoPage #customers .docTenantResendBtn[hidden],
body.immoPage #customers .docTenantResendBtn:not(.isVisible){
	display: none !important;
}

body.immoPage #customers .docTenantResendBtn.isVisible:not([hidden]){
	display: inline-flex !important;
}

/* Biens modal: readable property rows */
body.immoPage #properties .propertyAssetCard{
	margin-top: 12px !important;
}

body.immoPage #properties .propertyAssetBar{
	display: grid !important;
	grid-template-columns: minmax(190px, 1.25fr) minmax(145px, 0.85fr) minmax(78px, 0.45fr) minmax(80px, 0.48fr) 38px !important;
	align-items: center !important;
	gap: 10px !important;
	min-height: 54px;
	width: 100% !important;
	padding: 10px 12px !important;
	box-sizing: border-box !important;
	border: 1px solid rgba(230, 231, 245, 0.22) !important;
	border-radius: 8px !important;
	background: rgba(230, 231, 245, 0.045) !important;
	color: var(--light-color) !important;
}

body.immoPage #properties .propertyAssetCard.isExpanded .propertyAssetBar{
	border-bottom-color: rgba(230, 231, 245, 0.10) !important;
	border-bottom-left-radius: 0 !important;
	border-bottom-right-radius: 0 !important;
	background: rgba(169, 205, 253, 0.055) !important;
}

body.immoPage #properties .propertyAssetName{
	min-width: 0;
	color: #a9cdfd !important;
	font-size: clamp(1rem, 1.25vw, 1.12rem);
	font-weight: 850;
	line-height: 1.12;
	text-align: left;
	text-decoration: none !important;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

body.immoPage #properties .propertyAssetName:hover,
body.immoPage #properties .propertyAssetName:focus-visible{
	color: #d7e8ff !important;
	text-decoration: underline !important;
	outline: none;
}

body.immoPage #properties .propertyAssetSurface,
body.immoPage #properties .propertyAssetOccupancy,
body.immoPage #properties .propertyAssetKind{
	display: inline-flex;
	align-items: baseline;
	justify-content: center;
	min-width: 0;
	color: rgba(246, 247, 255, 0.92);
	font-weight: 850;
	line-height: 1.05;
	text-align: center;
	white-space: nowrap;
}

body.immoPage #properties .propertyAssetSurface{
	gap: 5px;
}

body.immoPage #properties .propertyAssetOccupancy{
	gap: 3px;
}

body.immoPage #properties .propertyAssetSurface small,
body.immoPage #properties .propertyAssetOccupancy small{
	color: rgba(246, 247, 255, 0.70);
	font-size: 0.86em;
	font-weight: 850;
}

body.immoPage #properties .propertyAssetKind{
	justify-self: center;
	color: rgba(246, 247, 255, 0.88);
	font-size: 0.88rem;
}

body.immoPage #properties .propertyAssetToggle{
	display: inline-grid;
	place-items: center;
	justify-self: end;
	width: 34px;
	height: 34px;
	margin: 0;
	padding: 0;
	border: 1px solid rgba(230, 231, 245, 0.18);
	border-radius: 8px;
	background: rgba(230, 231, 245, 0.07);
	color: rgba(246, 247, 255, 0.94);
	font: inherit;
	font-size: 1rem;
	font-weight: 900;
	line-height: 1;
	cursor: pointer;
	transition: transform 160ms ease, border-color 160ms ease, background-color 160ms ease;
}

body.immoPage #properties .propertyAssetToggle:hover,
body.immoPage #properties .propertyAssetToggle:focus-visible{
	transform: translateY(-1px);
	border-color: rgba(169, 205, 253, 0.44);
	background: rgba(169, 205, 253, 0.12);
	outline: none;
}

body.immoPage #properties .propertySubPanel,
body.immoPage #properties .propertiesAllDiv > div[id^="subpropertiesArticle"].propertySubPanel{
	width: 100% !important;
	margin: 0 !important;
	border: 1px solid rgba(230, 231, 245, 0.16) !important;
	border-top: 0 !important;
	border-radius: 0 0 8px 8px !important;
	background: rgba(230, 231, 245, 0.028) !important;
	box-sizing: border-box !important;
	overflow-x: auto;
	overflow-y: visible;
}

body.immoPage #properties .propertySubRow{
	display: grid !important;
	grid-template-columns: minmax(180px, 1.25fr) minmax(112px, 0.72fr) minmax(150px, 1fr) minmax(100px, 0.65fr);
	align-items: center !important;
	gap: 10px !important;
	width: 100% !important;
	min-height: 50px;
	padding: 9px 12px !important;
	box-sizing: border-box;
	border-bottom: 1px solid rgba(230, 231, 245, 0.12) !important;
	color: var(--light-color);
	font-weight: 800;
	text-align: left !important;
}

body.immoPage #properties .propertySubRow:last-child{
	border-bottom: 0 !important;
}

body.immoPage #properties .propertySubRowEmpty{
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: rgba(246, 247, 255, 0.70);
	text-align: center !important;
}

body.immoPage #properties .propertySubCell{
	display: flex;
	align-items: baseline;
	min-width: 0;
	gap: 5px;
	color: rgba(246, 247, 255, 0.88);
	line-height: 1.12;
}

body.immoPage #properties .propertySubName{
	flex-wrap: wrap;
	color: #dfe8ff;
}

body.immoPage #properties .propertySubName span{
	color: rgba(246, 247, 255, 0.94);
}

body.immoPage #properties .propertySubName small{
	color: rgba(169, 205, 253, 0.88);
	font-size: 0.82em;
	font-weight: 850;
}

body.immoPage #properties .propertySubSurface,
body.immoPage #properties .propertySubCapacity{
	justify-content: center;
	text-align: center;
	white-space: nowrap;
}

body.immoPage #properties .propertySubSurface small{
	color: rgba(246, 247, 255, 0.70);
	font-size: 0.88em;
}

body.immoPage #properties .propertySubStatus{
	justify-content: center;
	color: rgba(246, 247, 255, 0.88);
	text-align: center;
	white-space: normal;
}

body.immoPage #properties .propertySubCapacity{
	color: rgba(246, 247, 255, 0.86);
}

@media (max-width: 700px){
	body.immoPage #properties .propertyAssetCard{
		margin-top: 10px !important;
	}

	body.immoPage #properties .propertyAssetBar{
		grid-template-columns: minmax(82px, 1fr) minmax(70px, 0.8fr) minmax(42px, 0.48fr) minmax(45px, 0.52fr) 32px !important;
		gap: 5px !important;
		min-height: 60px;
		padding: 9px 7px 9px 10px !important;
	}

	body.immoPage #properties .propertyAssetName{
		font-size: 0.92rem;
		line-height: 1.1;
	}

	body.immoPage #properties .propertyAssetSurface,
	body.immoPage #properties .propertyAssetOccupancy,
	body.immoPage #properties .propertyAssetKind{
		font-size: 0.82rem;
		line-height: 1.02;
	}

	body.immoPage #properties .propertyAssetSurface{
		flex-direction: column;
		gap: 1px;
		align-items: center;
	}

	body.immoPage #properties .propertyAssetOccupancy{
		gap: 2px;
	}

	body.immoPage #properties .propertyAssetKind{
		font-size: 0.78rem;
	}

	body.immoPage #properties .propertyAssetToggle{
		width: 30px;
		height: 30px;
		border-radius: 7px;
	}

	body.immoPage #properties .propertySubPanel{
		padding-bottom: 0;
	}

	body.immoPage #properties .propertySubRow{
		grid-template-columns: minmax(118px, 1.15fr) minmax(74px, 0.65fr) minmax(112px, 1fr) minmax(84px, 0.7fr);
		min-width: 430px;
		min-height: 54px;
		gap: 8px !important;
		padding: 9px 10px !important;
		font-size: 0.86rem;
	}

	body.immoPage #properties .propertySubName{
		display: block;
	}

	body.immoPage #properties .propertySubName span,
	body.immoPage #properties .propertySubName small{
		display: block;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	body.immoPage #properties .propertySubSurface{
		flex-direction: column;
		gap: 1px;
	}
}

@media (max-width: 420px){
	body.immoPage #properties .propertyAssetBar{
		grid-template-columns: minmax(74px, 1fr) minmax(58px, 0.82fr) minmax(34px, 0.44fr) minmax(40px, 0.52fr) 30px !important;
		gap: 4px !important;
		padding-left: 8px !important;
		padding-right: 6px !important;
	}

	body.immoPage #properties .propertyAssetName{
		font-size: 0.82rem;
	}

	body.immoPage #properties .propertyAssetSurface,
	body.immoPage #properties .propertyAssetOccupancy,
	body.immoPage #properties .propertyAssetKind{
		font-size: 0.74rem;
	}
}

/* Locataires modal: compact readable tenant rows */
body.immoPage #customers .customerEmptyState{
	width: calc(100% - 18px);
	min-height: 76px;
	margin: 12px auto 4px;
	padding: 14px 18px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 14px;
	box-sizing: border-box;
	border: 1px solid rgba(169, 205, 253, 0.18);
	border-radius: 8px;
	background: rgba(240, 241, 255, 0.035);
	color: var(--light-color);
}

body.immoPage #customers .customerEmptyStateIcon{
	width: 42px;
	height: 42px;
	flex: 0 0 42px;
	display: grid;
	place-items: center;
	border-radius: 8px;
	background: rgba(169, 205, 253, 0.075);
}

body.immoPage #customers .customerEmptyStateIcon img{
	width: 30px;
	height: 30px;
	object-fit: contain;
}

body.immoPage #customers .customerEmptyStateText{
	display: grid;
	gap: 3px;
	min-width: 0;
	text-align: left;
}

body.immoPage #customers .customerEmptyStateText strong{
	color: rgba(246, 247, 255, 0.92);
	font-size: 0.96rem;
	font-weight: 900;
	line-height: 1.15;
}

body.immoPage #customers .customerEmptyStateText span{
	color: rgba(230, 231, 245, 0.58);
	font-size: 0.74rem;
	font-weight: 760;
	line-height: 1.2;
}

body.immoPage #customers .customerTenantCard{
	margin-top: 12px !important;
}

body.immoPage #customers .customerTenantBar{
	display: grid !important;
	grid-template-columns: minmax(220px, 1.15fr) minmax(180px, 1fr) minmax(92px, auto) 38px !important;
	grid-template-areas: "identity contact status toggle";
	align-items: center !important;
	gap: 10px !important;
	min-height: 54px;
	width: 100% !important;
	padding: 10px 12px !important;
	box-sizing: border-box !important;
	border: 1px solid rgba(230, 231, 245, 0.22) !important;
	border-radius: 8px !important;
	background: rgba(230, 231, 245, 0.045) !important;
	color: var(--light-color) !important;
}

body.immoPage #customers .customerTenantCard.isExpanded .customerTenantBar{
	border-bottom-color: rgba(230, 231, 245, 0.10) !important;
	border-bottom-left-radius: 0 !important;
	border-bottom-right-radius: 0 !important;
	background: rgba(169, 205, 253, 0.055) !important;
}

body.immoPage #customers .customerTenantIdentity{
	grid-area: identity;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: flex-start;
	gap: 2px 9px;
	min-width: 0;
	line-height: 1.12;
}

body.immoPage #customers .customerTenantName{
	display: inline;
	min-width: 0;
	max-width: 100%;
	color: #a9cdfd !important;
	font-size: clamp(1rem, 1.3vw, 1.12rem);
	font-weight: 850;
	text-decoration: none !important;
	overflow-wrap: anywhere;
}

body.immoPage #customers .customerTenantName:hover,
body.immoPage #customers .customerTenantName:focus-visible{
	color: #d7e8ff !important;
	text-decoration: underline !important;
	outline: none;
}

body.immoPage #customers .customerTenantIdentity:hover .customerTenantName,
body.immoPage #customers .customerTenantIdentity:focus-within .customerTenantName{
	color: #d7e8ff !important;
	text-decoration: underline !important;
}

body.immoPage #customers .customerTenantContact{
	grid-area: contact;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: rgba(246, 247, 255, 0.84);
	font-size: 0.94rem;
	font-weight: 760;
	text-align: left;
}

body.immoPage #customers .customerTenantStatus{
	grid-area: status;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	justify-self: end;
	min-width: 76px;
	max-width: 100%;
	min-height: 30px;
	padding: 5px 10px;
	box-sizing: border-box;
	border-radius: 999px;
	border: 1px solid rgba(230, 231, 245, 0.16);
	background: rgba(230, 231, 245, 0.065);
	color: rgba(246, 247, 255, 0.90);
	font-size: 0.80rem;
	font-weight: 900;
	line-height: 1;
	white-space: nowrap;
}

body.immoPage #customers .customerTenantStatus.is-valid{
	border-color: rgba(64, 171, 119, 0.36);
	background: rgba(29, 111, 72, 0.16);
	color: #c8f1da;
}

body.immoPage #customers .customerTenantStatus.is-missing{
	border-color: rgba(221, 164, 72, 0.34);
	background: rgba(117, 82, 33, 0.16);
	color: #ffe0aa;
}

body.immoPage #customers .customerTenantToggle{
	grid-area: toggle;
	display: inline-grid;
	place-items: center;
	justify-self: end;
	width: 34px;
	height: 34px;
	margin: 0;
	padding: 0;
	border: 1px solid rgba(230, 231, 245, 0.18);
	border-radius: 8px;
	background: rgba(230, 231, 245, 0.07);
	color: rgba(246, 247, 255, 0.94);
	font: inherit;
	font-size: 1rem;
	font-weight: 900;
	line-height: 1;
	cursor: pointer;
	transition: transform 160ms ease, border-color 160ms ease, background-color 160ms ease;
}

body.immoPage #customers .customerTenantToggle:hover,
body.immoPage #customers .customerTenantToggle:focus-visible{
	transform: translateY(-1px);
	border-color: rgba(169, 205, 253, 0.44);
	background: rgba(169, 205, 253, 0.12);
	outline: none;
}

body.immoPage #customers .customerDocsPanel,
body.immoPage #customers .customersAllDiv > div[id^="customersArticle"].customerDocsPanel{
	width: 100% !important;
	margin: 0 !important;
	border: 1px solid rgba(230, 231, 245, 0.16) !important;
	border-top: 0 !important;
	border-radius: 0 0 8px 8px !important;
	background: rgba(230, 231, 245, 0.028) !important;
	box-sizing: border-box !important;
}

body.immoPage #customers .customerDocsToolbarRow,
body.immoPage #customers .customerDocsRow{
	margin: 0 !important;
}

@media (max-width: 700px){
	body.immoPage #customers .customerTenantCard{
		margin-top: 10px !important;
	}

	body.immoPage #customers .customerEmptyState{
		width: calc(100% - 12px);
		min-height: 66px;
		margin-top: 10px;
		padding: 12px 14px;
		gap: 12px;
	}

	body.immoPage #customers .customerEmptyStateIcon{
		width: 36px;
		height: 36px;
		flex-basis: 36px;
	}

	body.immoPage #customers .customerEmptyStateIcon img{
		width: 26px;
		height: 26px;
	}

	body.immoPage #customers .customerEmptyStateText strong{
		font-size: 0.82rem;
	}

	body.immoPage #customers .customerEmptyStateText span{
		font-size: 0.66rem;
	}

	body.immoPage #customers .customerTenantBar{
		grid-template-columns: minmax(0, 1fr) auto 34px !important;
		grid-template-areas:
			"identity status toggle"
			"contact status toggle";
		gap: 4px 8px !important;
		min-height: 70px;
		padding: 10px 9px 10px 12px !important;
	}

	body.immoPage #customers .customerTenantIdentity{
		align-self: end;
		gap: 1px 7px;
		max-height: 2.4em;
		overflow: hidden;
	}

	body.immoPage #customers .customerTenantName{
		font-size: 0.98rem;
		line-height: 1.14;
	}

	body.immoPage #customers .customerTenantContact{
		align-self: start;
		font-size: 0.78rem;
		font-weight: 780;
		color: rgba(246, 247, 255, 0.64);
	}

	body.immoPage #customers .customerTenantStatus{
		min-width: 66px;
		min-height: 28px;
		padding: 4px 7px;
		font-size: 0.76rem;
	}

	body.immoPage #customers .customerTenantToggle{
		width: 32px;
		height: 32px;
		border-radius: 7px;
	}
}

@media (max-width: 420px){
	body.immoPage #customers .customerTenantBar{
		grid-template-columns: minmax(0, 1fr) minmax(58px, auto) 32px !important;
		gap: 4px 6px !important;
		padding-left: 10px !important;
	}

	body.immoPage #customers .customerTenantName{
		font-size: 0.90rem;
	}

	body.immoPage #customers .customerTenantContact{
		font-size: 0.72rem;
	}

	body.immoPage #customers .customerTenantStatus{
		min-width: 56px;
		padding-left: 6px;
		padding-right: 6px;
		font-size: 0.68rem;
	}
}

body.immoPage #customers fieldset,
body.immoPage #properties fieldset{
	border-color: rgba(230, 231, 245, 0.18) !important;
}

/* Unified modal close control */
body.immoPage .modal .close-button,
body.immoPage .modal .modal-header .close-button,
.modal .close-button{
	width: 42px !important;
	height: 42px !important;
	min-width: 42px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 !important;
	border: 1px solid rgba(230, 231, 245, 0.22) !important;
	border-radius: 10px !important;
	background: rgba(230, 231, 245, 0.08) !important;
	color: var(--light-color) !important;
	font-size: 22px !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	box-shadow: none !important;
	cursor: pointer;
	transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease !important;
}

body.immoPage .modal .close-button::before,
.modal .close-button::before{
	content: none !important;
	display: none !important;
}

body.immoPage .modal .close-button:hover,
body.immoPage .modal .close-button:focus-visible,
.modal .close-button:hover,
.modal .close-button:focus-visible{
	background: rgba(230, 231, 245, 0.14) !important;
	border-color: rgba(230, 231, 245, 0.34) !important;
	transform: translateY(-1px);
	outline: none;
}

body.immoPage .modal:not(.settingsModal) .close-button,
body.immoPage .modal:not(.settingsModal) .modal-header .close-button,
body.immoPage .settingsModal .close-button,
body.immoPage .settingsModal .modal-header .close-button{
	width: 42px !important;
	height: 42px !important;
	min-width: 42px !important;
	border-color: rgba(230, 231, 245, 0.22) !important;
	background: rgba(230, 231, 245, 0.08) !important;
	color: var(--light-color) !important;
	font-size: 22px !important;
	font-weight: 900 !important;
}

body.immoPage .modal:not(.settingsModal) .mwCard .fieldset-input label,
body.immoPage .modal:not(.settingsModal) .itemsCard .fieldset-input label,
body.immoPage .modal:not(.settingsModal) .itemsActionsCard .fieldset-input label,
body.immoPage .modal:not(.settingsModal) .invoiceTopNav .fieldset-input label{
	background: #34363d !important;
}

body.immoPage .modal:not(.settingsModal) .propertyFormRow .fieldset-input label{
	background: #34363d !important;
}

body.immoPage .modal .invoiceDetailsPanel .fieldset-input label,
body.immoPage .modal .invoiceDetailsPanel .invoiceSwitchCard > label,
body.immoPage .modal .globalInvoicePanel .fieldset-input label{
	background: #34363d !important;
}

body.immoPage .modal:not(.settingsModal) .invoiceFieldsGrid.invoiceDetailsPanel .fieldset-input label,
body.immoPage .modal:not(.settingsModal) .invoiceFieldsGrid.invoiceDetailsPanel .invoiceSwitchCard > label,
body.immoPage .modal:not(.settingsModal) .globalInvoicePanel .fieldset-input label{
	background: #34363d !important;
}

@media screen and (min-width: 560px) and (max-width: 760px){
	body.immoPage #updateProperty .propertyFormRow,
	body.immoPage #properties .propertyFormRow{
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		justify-items: stretch !important;
		align-items: end !important;
	}

	body.immoPage #updateProperty .propertyFormRow > .propertyEquipment,
	body.immoPage #properties .propertyFormRow > .propertyEquipment{
		grid-column: 1 / -1;
	}

	body.immoPage #updateProperty .propertyGrid,
	body.immoPage #properties .propertyGrid{
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media screen and (max-width: 700px){
	body.immoPage .settingsModal .settingsShell{
		display: block !important;
		background: transparent !important;
		min-height: auto !important;
	}

	body.immoPage .settingsModal .settingsNav,
	body.immoPage #settings .settingsNav{
		width: 100% !important;
		box-sizing: border-box;
		grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
		gap: 8px !important;
		padding: 12px 14px !important;
		background: transparent !important;
		border: 0 !important;
	}

	body.immoPage .settingsModal .settingsNavItem,
	body.immoPage #settings .settingsNavItem{
		width: 100% !important;
		min-width: 0 !important;
		height: auto !important;
		min-height: 58px !important;
		padding: 5px 3px !important;
		box-sizing: border-box;
	}

	body.immoPage .settingsModal .settingsNavItem::before,
	body.immoPage #settings .settingsNavItem::before{
		width: 30px !important;
		height: 30px !important;
		margin-bottom: 3px !important;
	}

	body.immoPage .settingsModal .settingsNavItem.btnIconMobile.btnIconMobileLabel::after,
	body.immoPage #settings .settingsNavItem.btnIconMobile.btnIconMobileLabel::after{
		font-size: 0.72rem !important;
		line-height: 1.05 !important;
	}

	body.immoPage .settingsModal .settingsContent{
		padding: 0 14px 14px !important;
		background: transparent !important;
	}

	body.immoPage .settingsModal .settingsContent > .settingsPanel,
	body.immoPage #settings .settingsContent > .settingsPanel{
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
	}
}

/* Floating label background harmonization */
body.immoPage .modal .fieldset-input label,
body.immoPage .modal .invoiceSwitchCard > label,
body.immoPage .settingsModal .fieldset-input label{
	background: #34363d !important;
	color: rgba(246, 247, 255, 0.94) !important;
}

body.immoPage .modal .mwCard .fieldset-input label,
body.immoPage .modal .itemsCard .fieldset-input label,
body.immoPage .modal .itemsActionsCard .fieldset-input label,
body.immoPage .modal .invoicePanel .fieldset-input label,
body.immoPage .modal .invoiceDetailsPanel .fieldset-input label,
body.immoPage .modal .invoiceDetailsPanel .invoiceSwitchCard > label,
body.immoPage .modal .invoiceGenerateControls .fieldset-input label,
body.immoPage .modal .invoiceGeneratedDetails .fieldset-input label,
body.immoPage .modal .invoiceLibraryPanel .fieldset-input label,
body.immoPage .modal .globalInvoicePanel .fieldset-input label,
body.immoPage .modal .globalInvoiceManager .fieldset-input label,
body.immoPage .modal .globalInvoiceManagerRow .fieldset-input label,
body.immoPage .modal .propertyFormRow .fieldset-input label,
body.immoPage .modal .invoiceTopNav .fieldset-input label,
body.immoPage .settingsModal .settingsContent .formSettings .fieldset-input label,
body.immoPage .settingsModal .settingsBusinessForm .fieldset-input label,
body.immoPage .settingsModal .settingsLogsTop .fieldset-input label,
body.immoPage .settingsModal .settingsBusinessForm .settingsInlineChoiceField > label{
	background: #34363d !important;
}

body.immoPage #invoices #sectionGenerateInvoice .invoiceGenerateControls .invoiceGenDate > label,
body.immoPage #invoices #sectionGenerateInvoice .invoiceGenerateControls .invoiceGenQty > label{
	background: #34363d !important;
	padding: 0 0.42rem !important;
}

body.immoPage #invoices .fieldset-input label,
body.immoPage #invoices .invoiceSwitchCard > label,
body.immoPage .appPropertySurface #invoices .fieldset-input label,
body.immoPage .appPropertySurface #invoices .invoiceSwitchCard > label{
	background: #34363d !important;
	color: rgba(246, 247, 255, 0.96) !important;
	text-shadow: none !important;
}

body.immoPage .appPropertySurface #invoices .invoiceDetailsPanel .fieldset-input label,
body.immoPage .appPropertySurface #invoices .invoiceDetailsPanel .invoiceSwitchCard > label,
body.immoPage #invoices .invoiceDetailsPanel .fieldset-input label,
body.immoPage #invoices .invoiceDetailsPanel .invoiceSwitchCard > label{
	background: #34363d !important;
}

body.immoPage #invoices #tableBodyInvoiceCustomer .fieldset-input label{
	background: #4f5058 !important;
}

body.immoPage #gauges .fieldset-input label,
body.immoPage #gauges .mwCard .fieldset-input label{
	background: #2a2c32 !important;
}

body.immoPage #gauges .mwCard .fieldset-input label{
	background: #35373e !important;
}

body.immoPage #sectionUpload.invoiceUploadDropzone.has-upload-file .standaloneUploadPreview::after,
body.immoPage .modal:not(.settingsModal) .itemsUploadCard.has-upload-file .itemsPreview::after,
body.immoPage .modal:not(.settingsModal) .itemsActionsUploadCard.has-upload-file .itemsActionsPreview::after,
body.immoPage #gauges .gaugeUploadCard.has-upload-file .mwPreview::after,
body.immoPage #documents .docUploadCard.has-upload-file .mwPreview::after{
	left: 14px !important;
	right: auto !important;
	top: 14px !important;
	transform: none !important;
}

body.immoPage #sectionUpload.invoiceUploadDropzone.has-upload-file > article,
body.immoPage .modal:not(.settingsModal) .itemsUploadCard.has-upload-file .filePick,
body.immoPage .modal:not(.settingsModal) .itemsActionsUploadCard.has-upload-file .itemsActionsPick,
body.immoPage #gauges .gaugeUploadCard.has-upload-file .mwPick,
body.immoPage #documents .docUploadCard.has-upload-file .mwPick{
	left: 14px !important;
	right: auto !important;
	top: 14px !important;
}

body.immoPage #updateProperty .propertyGrid .fieldset-input label,
body.immoPage #properties .propertyGrid .fieldset-input label{
	background: var(--darkblue-color) !important;
}

body.immoPage #updateProperty .propertyGrid .fieldset-input,
body.immoPage #properties .propertyGrid .fieldset-input{
	background: var(--darkblue-color) !important;
	border-radius: 8px !important;
}

body.immoPage #updateProperty .propertyGrid .fieldset-input label,
body.immoPage #properties .propertyGrid .fieldset-input label{
	background: var(--darkblue-color) !important;
}

body.immoPage #updateProperty .propertyGrid .formText,
body.immoPage #properties .propertyGrid .formText{
	background: var(--darkblue-color) !important;
	border-color: rgba(230, 231, 245, 0.24) !important;
	color: var(--light-color) !important;
	box-shadow: none !important;
}

body.immoPage #updateProperty .propertyFormRow .dropdown,
body.immoPage #properties .propertyFormRow .dropdown{
	position: relative;
	z-index: 2;
}

body.immoPage #updateProperty .propertyFormRow .dropdown.active,
body.immoPage #properties .propertyFormRow .dropdown.active{
	z-index: 30;
}

body.immoPage #updateProperty .propertyFormRow .dropdown-content,
body.immoPage #properties .propertyFormRow .dropdown-content{
	background: #34363d !important;
	border-color: rgba(230, 231, 245, 0.24) !important;
	color: var(--light-color) !important;
	z-index: 31 !important;
}

body.immoPage #updateProperty .propertyFormRow .dropdown-content label,
body.immoPage #properties .propertyFormRow .dropdown-content label{
	background: transparent !important;
}


.landing-price-sub {
	display: block;
	margin-top: 0.35em;
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--gray-color);
	white-space: nowrap;
}

.zero-scream {
	display: inline-flex;
	align-items: flex-start;
	margin-left: -0.04em;
	margin-right: 0.08em;
	letter-spacing: -0.18em;
	vertical-align: 0.05em;
}

.zero-scream span {
	display: inline-block;
	line-height: 1;
	font-weight: 900;
	transform-origin: left center;
}

.zero-scream span:nth-child(1) {
	font-size: 1em;
	opacity: 0.95;
	transform: translateY(0);
}

.zero-scream span:nth-child(2) {
	font-size: 0.82em;
	opacity: 0.85;
	transform: translateY(-0.04em) rotate(-2deg);
}

.zero-scream span:nth-child(3) {
	font-size: 0.66em;
	opacity: 0.72;
	transform: translateY(-0.11em) rotate(3deg);
}

.zero-scream span:nth-child(4) {
	font-size: 0.5em;
	opacity: 0.55;
	transform: translateY(-0.2em) rotate(-4deg);
}

.zero-scream span:nth-child(5) {
	font-size: 0.36em;
	opacity: 0.38;
	transform: translateY(-0.31em) rotate(5deg);
}

/* Immo invoice actions: restrained, app-native status language */
body.immoPage .appMainSurface{
	--immo-invoice-surface: rgba(230, 231, 245, 0.095);
	--immo-invoice-surface-hover: rgba(230, 231, 245, 0.145);
	--immo-invoice-border: rgba(230, 231, 245, 0.22);
	--immo-invoice-border-strong: rgba(230, 231, 245, 0.34);
	--immo-invoice-text: rgba(246, 247, 255, 0.95);
	--immo-invoice-muted: rgba(246, 247, 255, 0.78);
	--immo-invoice-green: #28c97a;
	--immo-invoice-red: #df5b63;
	--immo-invoice-orange: #d89236;
	--immo-invoice-blue: #74a7ef;
	--immo-invoice-violet: #b9a0e6;
	--immo-invoice-green-bg: rgba(40, 201, 122, 0.18);
	--immo-invoice-red-bg: rgba(223, 91, 99, 0.17);
	--immo-invoice-orange-bg: rgba(216, 146, 54, 0.18);
	--immo-invoice-blue-bg: rgba(116, 167, 239, 0.17);
	--immo-invoice-violet-bg: rgba(185, 160, 230, 0.18);
}

body.immoPage .appMainSurface .contractSectionContentMain{
	background: rgba(230, 231, 245, 0.085) !important;
	border-color: var(--immo-invoice-border) !important;
	color: var(--immo-invoice-text) !important;
	box-shadow: none !important;
}

body.immoPage .appMainSurface .contractSectionContentMain[style*="var(--green-color)"]{
	background: var(--immo-invoice-green-bg) !important;
	border-color: rgba(40, 201, 122, 0.46) !important;
	color: #dff8ea !important;
}

body.immoPage .appMainSurface .contractSectionContentMain[style*="var(--red-color)"]{
	background: var(--immo-invoice-red-bg) !important;
	border-color: rgba(223, 91, 99, 0.50) !important;
	color: #ffe6e8 !important;
}

body.immoPage .appMainSurface .contractSectionContentMain[style*="var(--yellow-color)"],
body.immoPage .appMainSurface .contractSectionContentMain[style*="var(--amber-color)"]{
	background: var(--immo-invoice-orange-bg) !important;
	border-color: rgba(216, 146, 54, 0.50) !important;
	color: #fff0d6 !important;
}

body.immoPage .appMainSurface .contractSectionContentMain[style*="var(--azure-color)"],
body.immoPage .appMainSurface .contractSectionContentMain[style*="var(--saphire-color)"]{
	background: var(--immo-invoice-blue-bg) !important;
	border-color: rgba(116, 167, 239, 0.48) !important;
	color: #e2eeff !important;
}

body.immoPage .appMainSurface .contractSectionContentMain[style*="var(--purple-color)"]{
	background: var(--immo-invoice-violet-bg) !important;
	border-color: rgba(185, 160, 230, 0.48) !important;
	color: #f1eaff !important;
}

body.immoPage .appMainSurface .subReceiptAction .buttonSmall,
body.immoPage .appMainSurface .subReceiptAction .pdfActionMenuWrap .buttonSmall{
	background: var(--immo-invoice-surface) !important;
	border: 1px solid var(--immo-invoice-border) !important;
	color: var(--immo-invoice-text) !important;
	box-shadow: inset 0 0 0 1px rgba(230, 231, 245, 0.025) !important;
	text-shadow: none !important;
	letter-spacing: 0 !important;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease !important;
}

body.immoPage .appMainSurface .subReceiptAction button.buttonSmall:hover,
body.immoPage .appMainSurface .subReceiptAction button.buttonSmall:focus-visible,
body.immoPage .appMainSurface .subReceiptAction .pdfActionMenuWrap button.buttonSmall:hover,
body.immoPage .appMainSurface .subReceiptAction .pdfActionMenuWrap button.buttonSmall:focus-visible{
	background: var(--immo-invoice-surface-hover) !important;
	border-color: var(--immo-invoice-border-strong) !important;
	color: #ffffff !important;
	transform: translateY(-1px);
}

body.immoPage .appMainSurface .subReceiptAction .iconInvoiceCancel{
	background: rgba(223, 91, 99, 0.075) !important;
	border-color: rgba(223, 91, 99, 0.20) !important;
	color: #f0d9dc !important;
}

body.immoPage .appMainSurface .subReceiptAction .iconInvoicePaid{
	background: var(--immo-invoice-green-bg) !important;
	border-color: rgba(40, 201, 122, 0.34) !important;
	color: #a8f1c7 !important;
}

body.immoPage .appMainSurface .subReceiptAction .iconInvoiceSend:not(.invoiceEActionButton){
	background: var(--immo-invoice-red-bg) !important;
	border-color: rgba(223, 91, 99, 0.34) !important;
	color: #ffd7db !important;
}

body.immoPage .appMainSurface .subReceiptAction .iconInvoiceReimburse{
	background: var(--immo-invoice-blue-bg) !important;
	border-color: rgba(116, 167, 239, 0.34) !important;
	color: #d7e6ff !important;
}

body.immoPage .appMainSurface .subReceiptAction .invoiceEActionButton{
	background: rgba(116, 167, 239, 0.115) !important;
	border-color: rgba(116, 167, 239, 0.34) !important;
	color: #dceaff !important;
}

body.immoPage .appMainSurface .subReceiptAction .invoiceEActionRetry{
	background: var(--immo-invoice-orange-bg) !important;
	border-color: rgba(216, 146, 54, 0.36) !important;
	color: #ffe5bf !important;
}

body.immoPage .appMainSurface .subReceiptAction .invoiceEActionButton.btnIconMobile::before{
	background-image: url("../images/eInvoiceTransmit.png") !important;
}

body.immoPage .appMainSurface .subReceiptAction .invoiceEActionButton.invoiceEActionRetry.btnIconMobile::before{
	background-image: url("../images/eInvoiceReTransmit.png") !important;
}

body.immoPage .appMainSurface .subReceiptAction button.iconInvoiceCancel:hover,
body.immoPage .appMainSurface .subReceiptAction button.iconInvoiceCancel:focus-visible,
body.immoPage .appMainSurface .subReceiptAction button.iconInvoiceSend:not(.invoiceEActionButton):hover,
body.immoPage .appMainSurface .subReceiptAction button.iconInvoiceSend:not(.invoiceEActionButton):focus-visible{
	background: rgba(223, 91, 99, 0.23) !important;
	border-color: rgba(223, 91, 99, 0.55) !important;
	color: #ffffff !important;
}

body.immoPage .appMainSurface .subReceiptAction button.iconInvoicePaid:hover,
body.immoPage .appMainSurface .subReceiptAction button.iconInvoicePaid:focus-visible{
	background: rgba(40, 201, 122, 0.22) !important;
	border-color: rgba(40, 201, 122, 0.56) !important;
	color: #dcffe9 !important;
}

body.immoPage .appMainSurface .subReceiptAction button.iconInvoiceReimburse:hover,
body.immoPage .appMainSurface .subReceiptAction button.iconInvoiceReimburse:focus-visible,
body.immoPage .appMainSurface .subReceiptAction button.invoiceEActionButton:hover,
body.immoPage .appMainSurface .subReceiptAction button.invoiceEActionButton:focus-visible,
body.immoPage .appMainSurface .subReceiptAction button.pdfActionTrigger:hover,
body.immoPage .appMainSurface .subReceiptAction button.pdfActionTrigger:focus-visible{
	background: rgba(116, 167, 239, 0.22) !important;
	border-color: rgba(116, 167, 239, 0.56) !important;
	color: #ffffff !important;
}

body.immoPage .appMainSurface .subReceiptAction .buttonSmall:not(button):hover,
body.immoPage .appMainSurface .subReceiptAction .buttonSmall:not(button):focus,
body.immoPage .appMainSurface .subReceiptAction .invoiceStatusPill:hover,
body.immoPage .appMainSurface .subReceiptAction .invoiceStatusPill:focus{
	transform: none !important;
	cursor: default !important;
}

body.immoPage .appMainSurface .subReceiptAction .buttonSmall:not(button):hover,
body.immoPage .appMainSurface .subReceiptAction .buttonSmall:not(button):focus{
	background: var(--immo-invoice-surface) !important;
	border-color: var(--immo-invoice-border) !important;
	color: var(--immo-invoice-text) !important;
}

body.immoPage .appMainSurface .subReceiptAction .buttonSmall:not(button).iconInvoiceCancel:hover,
body.immoPage .appMainSurface .subReceiptAction .buttonSmall:not(button).iconInvoiceCancel:focus{
	background: rgba(223, 91, 99, 0.075) !important;
	border-color: rgba(223, 91, 99, 0.20) !important;
	color: #f0d9dc !important;
}

body.immoPage .appMainSurface .subReceiptAction .buttonSmall:not(button).iconInvoicePaid:hover,
body.immoPage .appMainSurface .subReceiptAction .buttonSmall:not(button).iconInvoicePaid:focus{
	background: var(--immo-invoice-green-bg) !important;
	border-color: rgba(40, 201, 122, 0.34) !important;
	color: #a8f1c7 !important;
}

body.immoPage .appMainSurface .subReceiptAction .buttonSmall:not(button).iconInvoiceSend:not(.invoiceEActionButton):hover,
body.immoPage .appMainSurface .subReceiptAction .buttonSmall:not(button).iconInvoiceSend:not(.invoiceEActionButton):focus{
	background: var(--immo-invoice-red-bg) !important;
	border-color: rgba(223, 91, 99, 0.34) !important;
	color: #ffd7db !important;
}

body.immoPage .appMainSurface .subReceiptAction .buttonSmall:not(button).iconInvoiceReimburse:hover,
body.immoPage .appMainSurface .subReceiptAction .buttonSmall:not(button).iconInvoiceReimburse:focus{
	background: var(--immo-invoice-blue-bg) !important;
	border-color: rgba(116, 167, 239, 0.34) !important;
	color: #d7e6ff !important;
}

body.immoPage .appMainSurface .subReceiptAction .invoiceStatusPill{
	background: rgba(230, 231, 245, 0.055) !important;
	border: 1px solid var(--immo-invoice-border) !important;
	color: var(--immo-invoice-muted) !important;
	box-shadow: inset 0 0 0 1px rgba(230, 231, 245, 0.02) !important;
}

body.immoPage .appMainSurface .subReceiptAction .invoicePaidStatus{
	background: rgba(21, 74, 54, 0.56) !important;
	border-color: rgba(40, 201, 122, 0.42) !important;
	color: #a8f1c7 !important;
}

body.immoPage .appMainSurface .subReceiptAction .invoiceReimbursedStatus{
	background: rgba(34, 60, 105, 0.54) !important;
	border-color: rgba(116, 167, 239, 0.40) !important;
	color: #d7e6ff !important;
}

body.immoPage .appMainSurface .subReceiptAction .invoiceStatusPill:hover,
body.immoPage .appMainSurface .subReceiptAction .invoiceStatusPill:focus{
	background: rgba(230, 231, 245, 0.055) !important;
	border-color: var(--immo-invoice-border) !important;
	color: var(--immo-invoice-muted) !important;
	box-shadow: inset 0 0 0 1px rgba(230, 231, 245, 0.02) !important;
}

body.immoPage .appMainSurface .subReceiptAction .invoicePaidStatus:hover,
body.immoPage .appMainSurface .subReceiptAction .invoicePaidStatus:focus{
	background: rgba(21, 74, 54, 0.56) !important;
	border-color: rgba(40, 201, 122, 0.42) !important;
	color: #a8f1c7 !important;
}

body.immoPage .appMainSurface .subReceiptAction .invoiceReimbursedStatus:hover,
body.immoPage .appMainSurface .subReceiptAction .invoiceReimbursedStatus:focus{
	background: rgba(34, 60, 105, 0.54) !important;
	border-color: rgba(116, 167, 239, 0.40) !important;
	color: #d7e6ff !important;
}

body.immoPage .appMainSurface .subReceiptAction .spanPaidDate{
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	align-self: stretch !important;
	min-width: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	color: var(--immo-invoice-text) !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	line-height: 1.05 !important;
	text-align: center !important;
	white-space: normal !important;
	text-wrap: balance;
	overflow-wrap: anywhere !important;
	overflow: hidden !important;
}

body.immoPage .appMainSurface .subReceiptAction .invoiceActionEStatus{
	cursor: default !important;
}

body.immoPage .appMainSurface .subReceiptAction .invoiceActionEStatus:hover,
body.immoPage .appMainSurface .subReceiptAction .invoiceActionEStatus:focus{
	transform: none !important;
	cursor: default !important;
}

body.immoPage .appMainSurface .subReceiptAction .invoiceActionEStatus.eInvoiceStatusIcon--not_transmitted,
body.immoPage .appMainSurface .subReceiptAction .invoiceActionEStatus.eInvoiceStatusIcon--pending,
body.immoPage .appMainSurface .subReceiptAction .invoiceActionEStatus.eInvoiceStatusIcon--processing,
body.immoPage .appMainSurface .subReceiptAction .invoiceActionEStatus.eInvoiceStatusIcon--exported{
	background: rgba(116, 167, 239, 0.115) !important;
	border-color: rgba(116, 167, 239, 0.34) !important;
	color: #dceaff !important;
}

body.immoPage .appMainSurface .subReceiptAction .invoiceActionEStatus.eInvoiceStatusIcon--deposited,
body.immoPage .appMainSurface .subReceiptAction .invoiceActionEStatus.eInvoiceStatusIcon--delivered{
	background: rgba(21, 74, 54, 0.52) !important;
	border-color: rgba(40, 201, 122, 0.36) !important;
	color: #a8f1c7 !important;
}

body.immoPage .appMainSurface .subReceiptAction .invoiceActionEStatus.eInvoiceStatusIcon--rejected,
body.immoPage .appMainSurface .subReceiptAction .invoiceActionEStatus.eInvoiceStatusIcon--refused,
body.immoPage .appMainSurface .subReceiptAction .invoiceActionEStatus.eInvoiceStatusIcon--error{
	background: rgba(92, 39, 44, 0.52) !important;
	border-color: rgba(223, 91, 99, 0.38) !important;
	color: #ffd7db !important;
}

body.immoPage .appMainSurface .subReceiptAction:has(.pdfActionMenuWrap.open),
body.immoPage .appMainSurface .subReceiptAction .receiptInstallmentRow:has(.pdfActionMenuWrap.open),
body.immoPage .appMainSurface .subReceiptAction .receiptActionButtons:has(.pdfActionMenuWrap.open){
	overflow: visible !important;
	z-index: 70 !important;
}

body.immoPage .appMainSurface .subReceiptAction .receiptInstallmentRow .receiptActionButtons{
	align-self: center !important;
}

body.immoPage .appMainSurface .subReceiptAction .receiptInstallmentRow .receiptActionButtons > .buttonSmall,
body.immoPage .appMainSurface .subReceiptAction .receiptInstallmentRow .receiptActionButtons > .pdfActionMenuWrap,
body.immoPage .appMainSurface .subReceiptAction .receiptInstallmentRow .receiptActionButtons > .invoiceStatusPill{
	align-self: center !important;
}

body.immoPage .appMainSurface .pdfActionMenuWrap{
	position: relative !important;
	overflow: visible !important;
	z-index: 1 !important;
}

body.immoPage .appMainSurface .pdfActionMenuWrap.open{
	z-index: 80 !important;
}

body.immoPage .appMainSurface .pdfActionMenu{
	display: none !important;
	flex-direction: column !important;
	gap: 4px !important;
	width: max-content !important;
	min-width: 148px !important;
	max-width: min(220px, calc(100vw - 28px)) !important;
	padding: 6px !important;
	text-align: center !important;
	white-space: nowrap !important;
}

body.immoPage .appMainSurface .pdfActionMenuWrap.open .pdfActionMenu{
	display: flex !important;
	opacity: 1 !important;
	pointer-events: auto !important;
	transform: translate(-50%, 0) !important;
}

body.immoPage .appMainSurface .pdfActionMenu button{
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-height: 34px !important;
	padding: 6px 10px !important;
	border-radius: 6px !important;
	font-size: 12px !important;
	line-height: 1.1 !important;
	white-space: nowrap !important;
}

@media screen and (min-width: 701px){
	body.immoPage .appMainSurface .subReceiptAction{
		gap: 8px !important;
		padding: 9px 12px !important;
	}

	body.immoPage .appMainSurface .subReceiptAction:has(> .receiptInstallmentRow){
		padding: 9px 0 !important;
		row-gap: 0 !important;
	}

	body.immoPage .appMainSurface .subReceiptAction .receiptActionButtons{
		display: grid !important;
		grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
		gap: 8px !important;
	}

	body.immoPage .appMainSurface .subReceiptAction .receiptActionButtons:not(:has(> input)):has(> :nth-child(4):last-child){
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}

	body.immoPage .appMainSurface .subReceiptAction .receiptActionButtons:not(:has(> input)):has(> :nth-child(3):last-child){
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}

	body.immoPage .appMainSurface .subReceiptAction .contractListSectionActionMenu{
		border-bottom: 0 !important;
	}

	body.immoPage .appMainSurface .subReceiptAction .receiptInstallmentRow{
		position: relative !important;
		width: 100% !important;
		padding: 0 12px !important;
		border-bottom: 0 !important;
		overflow-x: visible !important;
		overflow-y: visible !important;
		scrollbar-width: none !important;
	 }

	body.immoPage .appMainSurface .subReceiptAction .receiptInstallmentRow::-webkit-scrollbar,
	body.immoPage .appMainSurface .subReceiptAction .receiptActionButtons::-webkit-scrollbar{
		display: none !important;
		width: 0 !important;
		height: 0 !important;
	}

	body.immoPage .appMainSurface .subReceiptAction .receiptInstallmentRow:not(:last-child){
		border-bottom: 1px solid rgba(230, 231, 245, 0.18) !important;
	}

	body.immoPage .appMainSurface .subReceiptAction .receiptInstallmentRow:not(:last-child)::after{
		display: none !important;
		content: none !important;
	}

	body.immoPage .appMainSurface .subReceiptAction .receiptInstallmentRow:last-child::after{
		display: none !important;
		content: none !important;
	}

	body.immoPage .appMainSurface .subReceiptAction .receiptActionButtons > .invoiceEActionButton,
	body.immoPage .appMainSurface .subReceiptAction .receiptActionButtons > .invoiceActionEStatus{
		grid-column: auto !important;
	}

	body.immoPage .appMainSurface .subReceiptAction .buttonSmall,
	body.immoPage .appMainSurface .subReceiptAction .pdfActionMenuWrap .buttonSmall,
	body.immoPage .appMainSurface .subReceiptAction .invoiceStatusPill,
	body.immoPage .appMainSurface .subReceiptAction .spanPaidDate{
		min-height: 34px !important;
		border-radius: 999px !important;
		font-size: 12px !important;
		font-weight: 800 !important;
		padding: 5px 8px !important;
	}

	body.immoPage .appMainSurface .subReceiptAction > .buttonSmall,
	body.immoPage .appMainSurface .subReceiptAction > .pdfActionMenuWrap,
	body.immoPage .appMainSurface .subReceiptAction > .invoiceStatusPill,
	body.immoPage .appMainSurface .subReceiptAction .invoiceActionRail > .buttonSmall,
	body.immoPage .appMainSurface .subReceiptAction .invoiceActionRail > .pdfActionMenuWrap,
	body.immoPage .appMainSurface .subReceiptAction .invoiceActionRail > .spanPaidDate,
	body.immoPage .appMainSurface .subReceiptAction .invoiceStatusRail > .buttonSmall,
	body.immoPage .appMainSurface .subReceiptAction .invoiceStatusRail > .invoiceStatusPill,
	body.immoPage .appMainSurface .subReceiptAction .receiptActionButtons > .buttonSmall,
	body.immoPage .appMainSurface .subReceiptAction .receiptActionButtons > .pdfActionMenuWrap,
	body.immoPage .appMainSurface .subReceiptAction .receiptActionButtons > .invoiceStatusPill{
		margin-top: 4px !important;
		margin-bottom: 4px !important;
	}
}

@media screen and (max-width: 700px){
	body.immoPage .appMainSurface .subReceiptAction .receiptActionButtons{
		display: grid !important;
		grid-template-columns: repeat(5, 58px) !important;
		align-items: center !important;
		justify-items: center !important;
		gap: 8px !important;
		width: max-content !important;
		min-width: 0 !important;
		max-width: none !important;
		overflow-x: visible !important;
		overflow-y: visible !important;
		scrollbar-width: none !important;
	}

	body.immoPage .appMainSurface .subReceiptAction .receiptInstallmentRow .receiptActionButtons{
		padding-top: 6px !important;
		padding-bottom: 3px !important;
	}

	body.immoPage .appMainSurface .subReceiptAction .receiptActionButtons:not(:has(> input)):has(> :nth-child(4):last-child){
		grid-template-columns: repeat(4, 58px) !important;
	}

	body.immoPage .appMainSurface .subReceiptAction .receiptActionButtons:not(:has(> input)):has(> :nth-child(3):last-child){
		grid-template-columns: repeat(3, 58px) !important;
	}

	body.immoPage .appMainSurface .subReceiptAction .receiptActionButtons > .invoiceEActionButton,
	body.immoPage .appMainSurface .subReceiptAction .receiptActionButtons > .invoiceActionEStatus{
		grid-column: auto !important;
	}

	body.immoPage .appMainSurface .subReceiptAction .receiptInstallmentRow,
	body.immoPage .appMainSurface .subReceiptAction .receiptActionButtons{
		scrollbar-width: none !important;
	}

	body.immoPage .appMainSurface .subReceiptAction .receiptInstallmentRow::-webkit-scrollbar,
	body.immoPage .appMainSurface .subReceiptAction .receiptActionButtons::-webkit-scrollbar{
		display: none !important;
		width: 0 !important;
		height: 0 !important;
	}

	body.immoPage .appMainSurface .subReceiptAction .buttonSmall,
	body.immoPage .appMainSurface .subReceiptAction .pdfActionMenuWrap .buttonSmall,
	body.immoPage .appMainSurface .subReceiptAction .iconInvoiceCancel,
	body.immoPage .appMainSurface .subReceiptAction .iconInvoicePaid,
	body.immoPage .appMainSurface .subReceiptAction .iconInvoiceReimburse,
	body.immoPage .appMainSurface .subReceiptAction .iconInvoiceSend:not(.invoiceEActionButton),
	body.immoPage .appMainSurface .subReceiptAction .invoiceEActionButton,
	body.immoPage .appMainSurface .subReceiptAction .invoiceEActionRetry,
	body.immoPage .appMainSurface .subReceiptAction .invoiceStatusPill{
		background: transparent !important;
		border-color: transparent !important;
		box-shadow: none !important;
		color: rgba(246, 247, 255, 0.90) !important;
	}

	body.immoPage .appMainSurface .subReceiptAction .buttonSmall:not(button):hover,
	body.immoPage .appMainSurface .subReceiptAction .buttonSmall:not(button):focus,
	body.immoPage .appMainSurface .subReceiptAction .invoiceStatusPill:hover,
	body.immoPage .appMainSurface .subReceiptAction .invoiceStatusPill:focus{
		background: transparent !important;
		border-color: transparent !important;
		box-shadow: none !important;
		color: rgba(246, 247, 255, 0.90) !important;
		transform: none !important;
	}

	body.immoPage .appMainSurface .subReceiptAction .btnIconMobile.btnIconMobileLabel::after,
	body.immoPage .appMainSurface .subReceiptAction .invoiceStatusPill.btnIconMobile.btnIconMobileLabel::after{
		color: rgba(246, 247, 255, 0.88) !important;
	}

	body.immoPage .appMainSurface .subReceiptAction .invoiceActionEStatus.eInvoiceStatusIcon--not_transmitted,
	body.immoPage .appMainSurface .subReceiptAction .invoiceActionEStatus.eInvoiceStatusIcon--pending,
	body.immoPage .appMainSurface .subReceiptAction .invoiceActionEStatus.eInvoiceStatusIcon--processing,
	body.immoPage .appMainSurface .subReceiptAction .invoiceActionEStatus.eInvoiceStatusIcon--exported,
	body.immoPage .appMainSurface .subReceiptAction .invoiceActionEStatus.eInvoiceStatusIcon--deposited,
	body.immoPage .appMainSurface .subReceiptAction .invoiceActionEStatus.eInvoiceStatusIcon--delivered,
	body.immoPage .appMainSurface .subReceiptAction .invoiceActionEStatus.eInvoiceStatusIcon--rejected,
	body.immoPage .appMainSurface .subReceiptAction .invoiceActionEStatus.eInvoiceStatusIcon--refused,
	body.immoPage .appMainSurface .subReceiptAction .invoiceActionEStatus.eInvoiceStatusIcon--error{
		background: transparent !important;
		border-color: transparent !important;
		box-shadow: none !important;
		color: rgba(246, 247, 255, 0.90) !important;
	}
}

@media screen and (max-width: 430px){
	body.immoPage .appMainSurface .subReceiptAction .receiptInstallmentRow{
		grid-template-columns: minmax(52px, 0.65fr) minmax(60px, 0.75fr) minmax(18px, 0.25fr) minmax(0, 1.9fr) !important;
		column-gap: 4px !important;
		padding: 8px 6px !important;
		overflow-x: visible !important;
	}

	body.immoPage .appMainSurface .subReceiptAction .receiptActionButtons{
		grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
		gap: 4px !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		overflow: visible !important;
	}

	body.immoPage .appMainSurface .subReceiptAction .receiptActionButtons:not(:has(> input)):has(> :nth-child(4):last-child){
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}

	body.immoPage .appMainSurface .subReceiptAction .receiptActionButtons:not(:has(> input)):has(> :nth-child(3):last-child){
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}

	body.immoPage .appMainSurface .subReceiptAction .receiptActionButtons > .buttonSmall,
	body.immoPage .appMainSurface .subReceiptAction .receiptActionButtons > .pdfActionMenuWrap,
	body.immoPage .appMainSurface .subReceiptAction .receiptActionButtons > .invoiceStatusPill{
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		flex: none !important;
	}

	body.immoPage .appMainSurface .subReceiptAction .receiptActionButtons > .pdfActionMenuWrap .buttonSmall{
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
	}

	body.immoPage .appMainSurface .subReceiptAction .receiptActionButtons .btnIconMobile::before,
	body.immoPage .appMainSurface .subReceiptAction .receiptActionButtons .invoiceStatusPill::before{
		width: 28px !important;
		height: 28px !important;
		flex-basis: 28px !important;
	}

	body.immoPage .appMainSurface .subReceiptAction .receiptActionButtons .btnIconMobile.btnIconMobileLabel::after,
	body.immoPage .appMainSurface .subReceiptAction .receiptActionButtons .invoiceStatusPill.btnIconMobile.btnIconMobileLabel::after{
		font-size: 9px !important;
		line-height: 1.05 !important;
	}
}

/* Receipt payment/reminder modals */
body.immoPage #paid,
body.immoPage #invoiceCommentPaid,
body.immoPage #send,
body.immoPage #invoiceCommentSend,
body.immoPage #update,
body.immoPage #payback,
body.immoPage #delete{
	width: min(600px, calc(100vw - 34px)) !important;
	max-width: none !important;
}

body.immoPage #paid .modal-header,
body.immoPage #invoiceCommentPaid .modal-header,
body.immoPage #send .modal-header,
body.immoPage #invoiceCommentSend .modal-header,
body.immoPage #update .modal-header,
body.immoPage #payback .modal-header,
body.immoPage #delete .modal-header{
	position: sticky;
	padding-right: 66px !important;
}

body.immoPage #paid .modal-header .receiptTitle,
body.immoPage #invoiceCommentPaid .modal-header .receiptTitle,
body.immoPage #send .modal-header .receiptTitle,
body.immoPage #invoiceCommentSend .modal-header .receiptTitle,
body.immoPage #update .modal-header > span,
body.immoPage #payback .modal-header > span,
body.immoPage #delete .modal-header .receiptTitle{
	display: block !important;
	min-width: 0 !important;
	max-width: 100% !important;
	white-space: normal;
	overflow-wrap: anywhere;
}

body.immoPage .receiptModalTitleSuffix,
body.immoPage #updateReceiptConfirmationTitle,
body.immoPage #paybackReceiptConfirmationTitle,
body.immoPage #update .modal-header a,
body.immoPage #payback .modal-header a{
	color: inherit !important;
	text-decoration: none !important;
	cursor: default !important;
}

body.immoPage #paid .modal-header .close-button,
body.immoPage #invoiceCommentPaid .modal-header .close-button,
body.immoPage #send .modal-header .close-button,
body.immoPage #invoiceCommentSend .modal-header .close-button,
body.immoPage #update .modal-header .close-button,
body.immoPage #payback .modal-header .close-button,
body.immoPage #delete .modal-header .close-button{
	position: absolute;
	top: 50%;
	right: 16px;
	flex: 0 0 42px;
	transform: translateY(-50%);
}

body.immoPage #paid .modal-header .close-button:hover,
body.immoPage #paid .modal-header .close-button:focus-visible,
body.immoPage #invoiceCommentPaid .modal-header .close-button:hover,
body.immoPage #invoiceCommentPaid .modal-header .close-button:focus-visible,
body.immoPage #send .modal-header .close-button:hover,
body.immoPage #send .modal-header .close-button:focus-visible,
body.immoPage #invoiceCommentSend .modal-header .close-button:hover,
body.immoPage #invoiceCommentSend .modal-header .close-button:focus-visible,
body.immoPage #update .modal-header .close-button:hover,
body.immoPage #update .modal-header .close-button:focus-visible,
body.immoPage #payback .modal-header .close-button:hover,
body.immoPage #payback .modal-header .close-button:focus-visible,
body.immoPage #delete .modal-header .close-button:hover,
body.immoPage #delete .modal-header .close-button:focus-visible{
	transform: translateY(calc(-50% - 1px));
}

body.immoPage #paid .modal_body,
body.immoPage #invoiceCommentPaid .modal_body,
body.immoPage #send .modal_body,
body.immoPage #invoiceCommentSend .modal_body,
body.immoPage #update .modal_body,
body.immoPage #payback .modal_body,
body.immoPage #delete .modal_body{
	padding: 14px !important;
}

body.immoPage .receiptActionForm{
	width: 100%;
	display: grid;
	gap: 14px;
	text-align: left;
	box-sizing: border-box;
}

body.immoPage .receiptActionPanel{
	width: 100%;
	padding: 12px;
	border: 1px solid rgba(230, 231, 245, 0.14);
	border-radius: 8px;
	background: rgba(230, 231, 245, 0.055);
	color: var(--light-color);
	box-sizing: border-box;
}

body.immoPage .receiptActionPanel--top{
	display: grid;
	gap: 12px;
}

body.immoPage .receiptActionGrid{
	display: grid;
	gap: 12px;
	align-items: end;
}

body.immoPage .receiptActionGrid--payment{
	grid-template-columns: 1fr;
}

body.immoPage .receiptActionGrid--payment.is-partial-active{
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

body.immoPage .receiptActionGrid--paymentFields{
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.immoPage .receiptActionGrid--single{
	grid-template-columns: minmax(0, 1fr);
}

body.immoPage .receiptActionGrid .fieldset-input{
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
}

body.immoPage .receiptActionGrid .formText{
	margin-bottom: 0 !important;
}

body.immoPage .receiptPartialChoice{
	min-height: 44px;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	border: 1px solid rgba(230, 231, 245, 0.16);
	border-radius: 8px;
	background: rgba(230, 231, 245, 0.07);
	color: rgba(246, 247, 255, 0.94);
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
	box-sizing: border-box;
}

body.immoPage .receiptPartialChoice input{
	width: 18px;
	height: 18px;
	flex: 0 0 auto;
	margin: 0;
}

body.immoPage .receiptActionPanelTitle{
	margin-bottom: 10px;
	color: rgba(246, 247, 255, 0.96);
	font-weight: 800;
	line-height: 1.2;
	text-align: left;
}

body.immoPage .receiptActionHelp{
	margin: -2px 0 12px;
	color: rgba(230, 231, 245, 0.68);
	font-size: 0.92rem;
	font-weight: 600;
	line-height: 1.35;
	text-align: left;
}

body.immoPage .receiptCommentChoices{
	display: grid;
	gap: 8px;
}

body.immoPage .receiptCommentChoice,
body.immoPage .receiptCommentChoices label{
	display: flex !important;
	align-items: flex-start !important;
	gap: 10px !important;
	width: 100%;
	padding: 10px;
	border: 1px solid rgba(230, 231, 245, 0.14);
	border-radius: 7px;
	background: rgba(230, 231, 245, 0.055);
	color: rgba(246, 247, 255, 0.92);
	text-align: left;
	line-height: 1.28;
	box-sizing: border-box;
	cursor: pointer;
}

body.immoPage .receiptCommentChoice input,
body.immoPage .receiptCommentChoices label input{
	flex: 0 0 auto;
	margin-top: 2px;
}

body.immoPage #globalInvoiceCommentsList .receiptCommentChoice,
body.immoPage #globalInvoiceCommentsList label{
	align-items: center !important;
}

body.immoPage #globalInvoiceCommentsList .receiptCommentChoice input,
body.immoPage #globalInvoiceCommentsList label input{
	margin-top: 0 !important;
}

body.immoPage .contractCustomClausesDetails{
	width: 100%;
	box-sizing: border-box;
}

body.immoPage .contractCustomClausesDetails summary{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 36px;
	padding: 8px 12px;
	border-radius: 6px;
	border: 1px solid rgba(230, 231, 245, 0.18);
	background: rgba(240, 241, 255, 0.055);
	color: var(--light-color);
	font-weight: 800;
	cursor: pointer;
	list-style: none;
}

body.immoPage .contractCustomClausesDetails summary::-webkit-details-marker{
	display: none;
}

body.immoPage .contractCustomClausesDetails summary::before{
	content: "▼";
	display: inline-grid;
	place-items: center;
	width: 24px;
	height: 24px;
	border-radius: 5px;
	border: 1px solid rgba(230, 231, 245, 0.18);
	background: rgba(240, 241, 255, 0.055);
	font-size: 0.72rem;
	line-height: 1;
}

body.immoPage .contractCustomClausesDetails[open] summary::before{
	content: "▲";
}

body.immoPage .contractCustomClausesContent{
	margin-top: 12px;
	display: grid;
	gap: 8px;
}

body.immoPage .contractCustomClausesField{
	width: 100%;
}

body.immoPage .contractCustomClausesWarning{
	margin: 0;
	color: var(--yellow-color);
	font-size: 0.84rem;
	line-height: 1.3;
}

body.immoPage .receiptCommentChoice span,
body.immoPage .receiptCommentChoices label span{
	min-width: 0;
}

body.immoPage .receiptCommentAdd{
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr);
	gap: 10px;
	align-items: stretch;
	margin-top: 10px;
}

body.immoPage .receiptCommentAddButton{
	width: 52px !important;
	min-width: 52px !important;
	height: 74px !important;
	padding: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 22px !important;
	font-weight: 900 !important;
}

body.immoPage .receiptCommentTextarea{
	width: 100% !important;
	min-height: 74px !important;
	height: 74px !important;
	resize: vertical !important;
	box-sizing: border-box;
}

body.immoPage .receiptActionSubmitBar{
	display: flex;
	justify-content: stretch;
	width: 100%;
}

body.immoPage .receiptActionSubmit{
	width: 100% !important;
	min-height: 44px;
	margin: 0 !important;
	font-size: 1rem;
	font-weight: 800;
}

body.immoPage .modal:not(.settingsModal) .receiptActionSubmit--paid{
	border-color: rgba(48, 184, 117, 0.44) !important;
	background: rgba(23, 114, 73, 0.36) !important;
	color: #dff7e8 !important;
}

body.immoPage .modal:not(.settingsModal) .receiptActionSubmit--paid:hover,
body.immoPage .modal:not(.settingsModal) .receiptActionSubmit--paid:focus{
	border-color: rgba(62, 210, 136, 0.62) !important;
	background: rgba(34, 145, 91, 0.46) !important;
}

body.immoPage .modal:not(.settingsModal) .receiptActionSubmit--send{
	border-color: rgba(227, 87, 98, 0.46) !important;
	background: rgba(119, 42, 49, 0.34) !important;
	color: #ffe4e7 !important;
}

body.immoPage .modal:not(.settingsModal) .receiptActionSubmit--send:hover,
body.immoPage .modal:not(.settingsModal) .receiptActionSubmit--send:focus{
	border-color: rgba(244, 109, 119, 0.62) !important;
	background: rgba(150, 50, 58, 0.44) !important;
}

body.immoPage .modal:not(.settingsModal) .receiptActionSubmit--neutral{
	border-color: rgba(230, 231, 245, 0.18) !important;
	background: rgba(230, 231, 245, 0.10) !important;
	color: rgba(246, 247, 255, 0.94) !important;
}

body.immoPage .modal:not(.settingsModal) .receiptActionSubmit--neutral:hover,
body.immoPage .modal:not(.settingsModal) .receiptActionSubmit--neutral:focus{
	border-color: rgba(230, 231, 245, 0.34) !important;
	background: rgba(230, 231, 245, 0.16) !important;
}

body.immoPage .modal:not(.settingsModal) .receiptActionSubmit--refund{
	border-color: rgba(94, 139, 202, 0.44) !important;
	background: rgba(54, 78, 115, 0.36) !important;
	color: #e4eeff !important;
}

body.immoPage .modal:not(.settingsModal) .receiptActionSubmit--refund:hover,
body.immoPage .modal:not(.settingsModal) .receiptActionSubmit--refund:focus{
	border-color: rgba(122, 168, 231, 0.62) !important;
	background: rgba(66, 95, 139, 0.46) !important;
}

body.immoPage .modal:not(.settingsModal) .receiptActionSubmit--danger{
	border-color: rgba(227, 87, 98, 0.48) !important;
	background: rgba(119, 42, 49, 0.34) !important;
	color: #ffe4e7 !important;
}

body.immoPage .modal:not(.settingsModal) .receiptActionSubmit--danger:hover,
body.immoPage .modal:not(.settingsModal) .receiptActionSubmit--danger:focus{
	border-color: rgba(244, 109, 119, 0.66) !important;
	background: rgba(119, 42, 49, 0.22) !important;
}

body.immoPage .receiptActionPanel--danger{
	border-color: rgba(230, 231, 245, 0.14);
	background: rgba(230, 231, 245, 0.055);
}

body.immoPage #payback .modal-header > span{
	display: flex !important;
	align-items: center !important;
	gap: 8px;
}

body.immoPage #payback .modal-header > span img{
	flex: 0 0 30px;
	margin: 0 !important;
}

@media screen and (max-width: 560px){
	body.immoPage #paid,
	body.immoPage #invoiceCommentPaid,
	body.immoPage #send,
	body.immoPage #invoiceCommentSend,
	body.immoPage #update,
	body.immoPage #payback,
	body.immoPage #delete{
		width: calc(100vw - 34px) !important;
		max-width: calc(100vw - 34px) !important;
	}

	body.immoPage #paid .modal-header .receiptTitle,
	body.immoPage #invoiceCommentPaid .modal-header .receiptTitle,
	body.immoPage #send .modal-header .receiptTitle,
	body.immoPage #invoiceCommentSend .modal-header .receiptTitle,
	body.immoPage #update .modal-header > span,
	body.immoPage #payback .modal-header > span,
	body.immoPage #delete .modal-header .receiptTitle{
		font-size: 0.95rem !important;
		line-height: 1.18 !important;
	}

	body.immoPage #paid .modal_body,
	body.immoPage #invoiceCommentPaid .modal_body,
	body.immoPage #send .modal_body,
	body.immoPage #invoiceCommentSend .modal_body,
	body.immoPage #update .modal_body,
	body.immoPage #payback .modal_body,
	body.immoPage #delete .modal_body{
		padding: 12px !important;
	}

	body.immoPage .receiptActionForm{
		gap: 12px;
	}

	body.immoPage .receiptActionPanel{
		padding: 10px;
	}

	body.immoPage .receiptActionGrid--payment,
	body.immoPage .receiptActionGrid--paymentFields,
	body.immoPage .receiptActionGrid--single{
		grid-template-columns: 1fr;
	}

	body.immoPage .receiptPartialChoice{
		min-height: 42px;
		padding: 9px 10px;
	}

	body.immoPage .receiptCommentChoices{
		gap: 7px;
	}

	body.immoPage .receiptCommentChoice,
	body.immoPage .receiptCommentChoices label{
		padding: 9px;
		font-size: 0.95rem;
	}

	body.immoPage .receiptCommentAdd{
		grid-template-columns: 48px minmax(0, 1fr);
		gap: 8px;
	}

	body.immoPage .receiptCommentAddButton{
		width: 48px !important;
		min-width: 48px !important;
	}
}

/* Uniform dotted borders for every drag and drop upload surface. */
body.immoPage .dropUploadZone,
body.immoPage .logoPicker.dropUploadZone,
body.immoPage .tenantDocsPreview.dropUploadZone,
body.immoPage .checkIdPreview.dropUploadZone,
body.immoPage #addContract .fileUpload.dropUploadZone,
body.immoPage #sectionUpload.invoiceUploadDropzone,
body.immoPage #sectionUpload.invoiceUploadDropzone .standaloneUploadPreview,
body.immoPage .modal:not(.settingsModal) .itemsUploadCard.dropUploadZone,
body.immoPage .modal:not(.settingsModal) #itemsDamageBlock .itemsUploadCard,
body.immoPage .modal:not(.settingsModal) .itemsUploadCard .itemsPreview,
body.immoPage .modal:not(.settingsModal) .itemsActionsUploadCard.dropUploadZone,
body.immoPage .modal:not(.settingsModal) .itemsActionsUploadCard .itemsActionsPreview,
body.immoPage #gauges .gaugeUploadCard .mwPreview,
body.immoPage #documents .docUploadCard .mwPreview{
	border-style: dashed !important;
}

body.immoPage .dropUploadZone.is-drag-over,
body.immoPage #sectionUpload.invoiceUploadDropzone.is-drag-over,
body.immoPage #sectionUpload.invoiceUploadDropzone .standaloneUploadPreview.is-drag-over,
body.immoPage .modal:not(.settingsModal) #itemsDamageBlock .itemsUploadCard.is-drag-over,
body.immoPage .modal:not(.settingsModal) .itemsUploadCard .itemsPreview.is-drag-over,
body.immoPage .modal:not(.settingsModal) .itemsActionsUploadCard .itemsActionsPreview.is-drag-over,
body.immoPage #gauges .gaugeUploadCard .mwPreview.is-drag-over,
body.immoPage #documents .docUploadCard .mwPreview.is-drag-over{
	border-style: dashed !important;
}

/* Documents modal: keep the drop zone clickable without blocking vertical scroll. */
body.immoPage .modal#documents .docUploadCard,
body.immoPage .modal#documents .docUploadCard .mwPreview{
	touch-action: pan-y !important;
	overscroll-behavior-y: auto !important;
}

body.immoPage .modal#documents .docUploadCard .mwPick,
body.immoPage .modal#documents .docUploadCard .parent-div,
body.immoPage .modal#documents .docUploadCard .mwPick input[type="file"]{
	pointer-events: none !important;
}

/* Documents / Objets / Actions: clean DDZ borders and full-height PDF previews. */
body.immoPage #documents .docUploadCard .mwPreview,
body.immoPage #documents .docUploadCard .mwPreview.is-drag-over,
body.immoPage #addItems .itemsUploadCard,
body.immoPage #addItems .itemsUploadCard.is-drag-over,
body.immoPage #addItems .itemsUploadCard .itemsPreview,
body.immoPage #addItems .itemsUploadCard .itemsPreview.is-drag-over,
body.immoPage #itemsActions .itemsActionsUploadCard,
body.immoPage #itemsActions .itemsActionsUploadCard.is-drag-over,
body.immoPage #itemsActions .itemsActionsUploadCard .itemsActionsPreview,
body.immoPage #itemsActions .itemsActionsUploadCard .itemsActionsPreview.is-drag-over{
	border: 1px dashed rgba(230, 231, 245, 0.30) !important;
	border-radius: 8px !important;
	box-shadow: none !important;
}

body.immoPage #documents .docUploadCard.has-pdf-upload .mwPreview,
body.immoPage #addItems .itemsUploadCard.has-pdf-upload .itemsPreview,
body.immoPage #itemsActions .itemsActionsUploadCard.has-pdf-upload .itemsActionsPreview{
	display: flex !important;
	align-items: stretch !important;
	justify-content: stretch !important;
	place-items: stretch !important;
	overflow: hidden !important;
}

body.immoPage #documents .docUploadCard.has-pdf-upload .mwPdfPreview,
body.immoPage #addItems .itemsUploadCard.has-pdf-upload .itemsPdfPreview,
body.immoPage #itemsActions .itemsActionsUploadCard.has-pdf-upload .itemsActionsPdf{
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	min-width: 100% !important;
	min-height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	overflow: hidden !important;
}

body.immoPage #documents .docUploadCard.has-pdf-upload .mwPdfPreview embed,
body.immoPage #addItems .itemsUploadCard.has-pdf-upload .itemsPdfPreview embed,
body.immoPage #itemsActions .itemsActionsUploadCard.has-pdf-upload .itemsActionsPdf embed{
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	min-width: 100% !important;
	min-height: 100% !important;
	border: 0 !important;
}

/* Documents modal: same DDZ behavior as the invoice upload area. */
body.immoPage #documents .docUploadCard{
	cursor: default !important;
	display: block !important;
	overflow: visible !important;
}

body.immoPage #documents .docUploadCard .mwPreview,
body.immoPage #documents .docUploadCard .mwPreview.is-drag-over{
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 260px !important;
	min-height: 260px !important;
	max-height: 260px !important;
	flex: none !important;
	margin: 0 auto 14px !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
	cursor: pointer !important;
}

body.immoPage #documents .docUploadCard.has-upload-file .mwPreview,
body.immoPage #documents .docUploadCard.has-pdf-upload .mwPreview{
	align-items: stretch !important;
	justify-content: stretch !important;
	place-items: stretch !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
}

body.immoPage #documents .docUploadCard .mwPick,
body.immoPage #documents .docUploadCard .parent-div,
body.immoPage #documents .docUploadCard input[type="file"],
body.immoPage #documents .docUploadCard.has-upload-file .mwPick,
body.immoPage #documents .docUploadCard.has-upload-file .parent-div,
body.immoPage #documents .docUploadCard.has-upload-file input[type="file"]{
	pointer-events: none !important;
}

body.immoPage #documents .docUploadCard .mwPreview img:not([src$="add.png"]),
body.immoPage #documents .docUploadCard #displayPdfDoc{
	width: 100% !important;
	height: auto !important;
	max-width: none !important;
	max-height: none !important;
}

body.immoPage #documents .docUploadCard #displayPdfDoc{
	height: 100% !important;
	min-height: 220px !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
}

body.immoPage #documents .docUploadCard #displayPdfDoc embed{
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 220px !important;
	border: 0 !important;
}

/* Documents / Objets / Actions: keep DDZ usable after upload and let previews scroll. */
body.immoPage #documents .docUploadCard.has-upload-file .mwPreview,
body.immoPage #addItems .itemsUploadCard.has-upload-file .itemsPreview,
body.immoPage #itemsActions .itemsActionsUploadCard.has-upload-file .itemsActionsPreview{
	overflow: auto !important;
	-webkit-overflow-scrolling: touch !important;
	cursor: grab !important;
}

body.immoPage #documents .docUploadCard.has-upload-file .mwPreview img:not([src$="add.png"]),
body.immoPage #addItems .itemsUploadCard.has-upload-file .itemsPreview img:not([src$="add.png"]),
body.immoPage #itemsActions .itemsActionsUploadCard.has-upload-file .itemsActionsPreview img:not([src$="add.png"]){
	width: 100% !important;
	height: auto !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: contain !important;
}

body.immoPage #documents .docUploadCard.has-pdf-upload .mwPdfPreview,
body.immoPage #addItems .itemsUploadCard.has-pdf-upload .itemsPdfPreview,
body.immoPage #itemsActions .itemsActionsUploadCard.has-pdf-upload .itemsActionsPdf,
body.immoPage #documents .docUploadCard.has-pdf-upload .mwPdfPreview embed,
body.immoPage #addItems .itemsUploadCard.has-pdf-upload .itemsPdfPreview embed,
body.immoPage #itemsActions .itemsActionsUploadCard.has-pdf-upload .itemsActionsPdf embed{
	width: 100% !important;
	height: 100% !important;
	min-height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	pointer-events: none !important;
}

body.immoPage #documents .docUploadCard.has-upload-file .mwPick,
body.immoPage #addItems .itemsUploadCard.has-upload-file .filePick,
body.immoPage #itemsActions .itemsActionsUploadCard.has-upload-file .itemsActionsPick{
	position: absolute !important;
	top: 12px !important;
	left: 12px !important;
	right: auto !important;
	bottom: auto !important;
	z-index: 12 !important;
	width: 40px !important;
	height: 40px !important;
	margin: 0 !important;
	padding: 0 !important;
	display: block !important;
	opacity: 0 !important;
	pointer-events: auto !important;
}

body.immoPage #documents .docUploadCard.has-upload-file .parent-div,
body.immoPage #addItems .itemsUploadCard.has-upload-file .parent-div,
body.immoPage #itemsActions .itemsActionsUploadCard.has-upload-file .parent-div,
body.immoPage #documents .docUploadCard.has-upload-file input[type="file"],
body.immoPage #addItems .itemsUploadCard.has-upload-file input[type="file"],
body.immoPage #itemsActions .itemsActionsUploadCard.has-upload-file input[type="file"]{
	width: 40px !important;
	height: 40px !important;
	min-width: 40px !important;
	font-size: 40px !important;
	pointer-events: auto !important;
	cursor: pointer !important;
}

body.immoPage #documents .docUploadCard.has-upload-file .mwPreview::after,
body.immoPage #addItems .itemsUploadCard.has-upload-file .itemsPreview::after,
body.immoPage #itemsActions .itemsActionsUploadCard.has-upload-file .itemsActionsPreview::after{
	left: 12px !important;
	right: auto !important;
	top: 12px !important;
	width: 32px !important;
	height: 32px !important;
	font-size: 24px !important;
	transform: none !important;
	transition: transform 160ms ease, background-color 160ms ease, box-shadow 160ms ease, border-color 160ms ease !important;
}

body.immoPage #documents .docUploadCard.has-upload-file:has(.mwPick .parent-div:hover) .mwPreview::after,
body.immoPage #documents .docUploadCard.has-upload-file:has(.mwPick .parent-div:focus-within) .mwPreview::after,
body.immoPage #addItems .itemsUploadCard.has-upload-file:has(.filePick .parent-div:hover) .itemsPreview::after,
body.immoPage #addItems .itemsUploadCard.has-upload-file:has(.filePick .parent-div:focus-within) .itemsPreview::after,
body.immoPage #itemsActions .itemsActionsUploadCard.has-upload-file:has(.itemsActionsPick .parent-div:hover) .itemsActionsPreview::after,
body.immoPage #itemsActions .itemsActionsUploadCard.has-upload-file:has(.itemsActionsPick .parent-div:focus-within) .itemsActionsPreview::after{
	background: var(--light-color) !important;
	border-color: rgba(166, 202, 255, 0.75) !important;
	box-shadow: 0 0 0 5px rgba(166, 202, 255, 0.14), 0 10px 22px rgba(0, 0, 0, 0.32) !important;
	transform: scale(1.12) rotate(90deg) !important;
}

body.immoPage #documents .docUploadCard.has-upload-file .mwPreview::after,
body.immoPage #documents .docUploadCard.has-upload-file:has(.mwPick .parent-div:hover) .mwPreview::after,
body.immoPage #documents .docUploadCard.has-upload-file:has(.mwPick .parent-div:focus-within) .mwPreview::after{
	left: 12px !important;
	right: auto !important;
	top: 12px !important;
	transform-origin: center !important;
}

body.immoPage #documents .docUploadCard.has-upload-file .mwPick{
	left: 12px !important;
	right: auto !important;
	top: 12px !important;
}

body.immoPage #documents .docUploadCard .mwPreview.is-upload-invalid{
	position: relative !important;
	outline: 3px dashed rgba(255, 95, 95, 0.96) !important;
	outline-offset: -8px !important;
	border-color: rgba(255, 95, 95, 0.86) !important;
	background-color: rgba(255, 95, 95, 0.11) !important;
	box-shadow: inset 0 0 0 1px rgba(255, 95, 95, 0.26), 0 0 0 3px rgba(255, 95, 95, 0.08) !important;
}

body.immoPage #documents .docUploadCard .mwPreview.is-upload-invalid::before{
	content: attr(data-upload-error-message) !important;
	position: absolute !important;
	inset: auto auto auto 50% !important;
	top: 50% !important;
	z-index: 12 !important;
	width: auto !important;
	height: auto !important;
	padding: 7px 10px !important;
	border-radius: 8px !important;
	background: rgba(90, 22, 28, 0.92) !important;
	color: #fff !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	line-height: 1.1 !important;
	text-align: center !important;
	white-space: nowrap !important;
	transform: translate(-50%, -50%) !important;
	pointer-events: none !important;
	text-shadow: none !important;
}

body.immoPage #documents .docUploadCard .mwPreview.is-upload-invalid::after{
	background: rgba(255, 95, 95, 0.95) !important;
	color: #fff !important;
	box-shadow: 0 8px 18px rgba(255, 95, 95, 0.32) !important;
}

body.immoPage #documents .docUploadCard.has-upload-file .mwPreview,
body.immoPage #documents .docUploadCard.has-pdf-upload .mwPreview{
	align-items: flex-start !important;
	justify-content: center !important;
	place-items: unset !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
	touch-action: pan-y !important;
	overscroll-behavior: contain !important;
}

body.immoPage #documents .docUploadCard.has-image-upload .mwPreview img:not([src$="add.png"]){
	display: block !important;
	flex: 0 0 auto !important;
	align-self: flex-start !important;
	width: 100% !important;
	height: auto !important;
	min-height: auto !important;
	max-height: none !important;
	object-fit: contain !important;
}

body.immoPage #documents .docUploadCard.has-pdf-upload .mwPdfPreview,
body.immoPage #documents .docUploadCard.has-pdf-upload .mwPdfPreview embed{
	display: block !important;
	flex: 0 0 auto !important;
	width: 100% !important;
	height: clamp(420px, 70vh, 720px) !important;
	min-height: clamp(420px, 70vh, 720px) !important;
	max-height: none !important;
	pointer-events: none !important;
}

body.immoPage #documents .docUploadCard.has-pdf-upload #displayPdfDoc,
body.immoPage #documents .docUploadCard.has-pdf-upload #displayPdfDoc embed{
	display: block !important;
	flex: 0 0 auto !important;
	width: 100% !important;
	height: clamp(420px, 70vh, 720px) !important;
	min-height: clamp(420px, 70vh, 720px) !important;
	max-height: none !important;
	overflow: visible !important;
	pointer-events: none !important;
}

@keyframes documentChangeHint{
	0%{
		box-shadow: 0 8px 18px rgba(0, 0, 0, 0.28);
		transform: scale(1) rotate(0deg);
	}
	100%{
		box-shadow: 0 0 0 6px rgba(166, 202, 255, 0.16), 0 12px 24px rgba(0, 0, 0, 0.34);
		transform: scale(1.12) rotate(90deg);
	}
}

body.immoPage #documents .docUploadCard.has-upload-file .mwPreview:hover,
body.immoPage #documents .docUploadCard.has-upload-file .mwPreview:focus-within,
body.immoPage #documents .docUploadCard.has-upload-file .mwPreview.is-drag-over{
	border-color: rgba(166, 202, 255, 0.76) !important;
	box-shadow: inset 0 0 0 1px rgba(166, 202, 255, 0.18), 0 12px 26px rgba(0, 0, 0, 0.20) !important;
}

body.immoPage #documents .docUploadCard.has-upload-file .mwPreview:hover::after,
body.immoPage #documents .docUploadCard.has-upload-file .mwPreview:focus-within::after,
body.immoPage #documents .docUploadCard.has-upload-file .mwPreview.is-drag-over::after{
	background: var(--light-color) !important;
	border-color: rgba(166, 202, 255, 0.78) !important;
	animation: documentChangeHint 700ms ease-in-out infinite alternate !important;
}

/* Add item modal: restore floating labels on first/room fields. */
body.immoPage #addItems .fieldset-input.itemsField label[for="itemName"],
body.immoPage #addItems .fieldset-input.itemsField label[for="itemSubproperty"]{
	display: inline-block !important;
	position: absolute !important;
	top: 0 !important;
	left: 0.6em !important;
	z-index: 3 !important;
	transform: translateY(-50%) !important;
	padding: 0 0.35em !important;
	border-radius: 5px !important;
	background: #34363d !important;
	color: rgba(246, 247, 255, 0.94) !important;
	font-size: 0.8em !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	pointer-events: none !important;
	opacity: 1 !important;
	visibility: visible !important;
}

/* Expanded property rows: link-like room/object names and unframed camera action. */
body.immoPage .appPropertySurface .dataSubprop .subpropImageViewerButton,
body.immoPage .appPropertySurface .dataSubprop[class*="itemsSubprop"] > div:first-child,
body.immoPage .appPropertySurface .dataSubprop[class*="itemsSubprop"] > div:first-child .buttonSmall,
body.immoPage .appPropertySurface .dataSubprop[class*="itemsSubprop"] button[data-modal-target="#imageItemViewer"]{
	color: #a9cdfd !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	outline: 0 !important;
	text-decoration: none !important;
	font-weight: 700 !important;
}

body.immoPage .appPropertySurface .dataSubprop .subpropImageViewerButton,
body.immoPage .appPropertySurface .dataSubprop[class*="itemsSubprop"] > div:first-child .buttonSmall,
body.immoPage .appPropertySurface .dataSubprop[class*="itemsSubprop"] button[data-modal-target="#imageItemViewer"]{
	width: auto !important;
	min-width: 0 !important;
	height: auto !important;
	min-height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	border-radius: 0 !important;
	line-height: 1.25 !important;
}

body.immoPage .appPropertySurface .dataSubprop .subpropImageViewerButton:hover,
body.immoPage .appPropertySurface .dataSubprop[class*="itemsSubprop"] > div:first-child .buttonSmall:hover,
body.immoPage .appPropertySurface .dataSubprop[class*="itemsSubprop"] button[data-modal-target="#imageItemViewer"]:hover{
	color: #c8dcff !important;
	background: transparent !important;
	text-decoration: underline !important;
	transform: none !important;
}

body.immoPage .appPropertySurface .dataSubprop[class*="customersSubprop"] .contractTenantCustomerLink{
	color: #a9cdfd !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	text-decoration: none !important;
	font-weight: 700 !important;
}

body.immoPage .appPropertySurface .dataSubprop[class*="customersSubprop"] .contractTenantCustomerLink:hover{
	color: #c8dcff !important;
	text-decoration: underline !important;
}

body.immoPage .appPropertySurface .dataSubprop[class*="customersSubprop"] .contractInstallmentsMobile{
	display: none !important;
}

@media (max-width: 700px){
	body.immoPage .appPropertySurface .dataSubprop[class*="customersSubprop"] .contractDateRangeCell{
		flex-direction: column !important;
		gap: 1px !important;
		white-space: normal !important;
		line-height: 1.08 !important;
	}

	body.immoPage .appPropertySurface .dataSubprop[class*="customersSubprop"] .contractDateSeparator{
		display: none !important;
	}

	body.immoPage .appPropertySurface .dataSubprop[class*="customersSubprop"] .contractInstallmentsDesktop{
		display: none !important;
	}

	body.immoPage .appPropertySurface .dataSubprop[class*="customersSubprop"] .contractInstallmentsMobile{
		display: inline !important;
	}
}

body.immoPage .appPropertySurface .dataSubprop button[id^="addPhoto_"]{
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	outline: 0 !important;
	padding: 0 !important;
	margin: 0 3px !important;
	border-radius: 0 !important;
	width: auto !important;
	min-width: 0 !important;
	height: auto !important;
	min-height: 0 !important;
}

body.immoPage .appPropertySurface .dataSubprop button[id^="addPhoto_"]:hover{
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	transform: none !important;
}

body.immoPage .appPropertySurface .dataSubprop button[id^="addPhoto_"] img{
	display: block !important;
	width: 24px !important;
	height: 24px !important;
}

@media (max-width: 700px){
	body.immoPage .appPropertyHeaderActions #contractAddButton{
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
		outline: 0 !important;
	}

	body.immoPage .appPropertyHeaderActions #contractAddButton:hover,
	body.immoPage .appPropertyHeaderActions #contractAddButton:focus{
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
		transform: none !important;
	}
}

/* Room image modal */
body.immoPage #addImageRoom .modal-header span,
body.immoPage #addImageRoom .subpropPhotoTitle,
body.immoPage #addImageRoom .imageRoomTitle{
	color: rgba(246, 247, 255, 0.94) !important;
	text-decoration: none !important;
}

body.immoPage #addImageRoom .imageRoomTitle{
	font-weight: 800;
}

body.immoPage #addImageRoom .modal_body{
	padding: 22px 16px 18px !important;
}

body.immoPage #addImageRoom #subpropPhotoFormContent{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	max-width: 360px;
	margin: 0 auto;
}

body.immoPage #addImageRoom #subpropPhotoFormContent > section{
	width: 100%;
}

body.immoPage #addImageRoom #subpropPhotoFormContent > section > article{
	width: 100% !important;
	max-width: 260px;
	padding: 14px;
	border: 1px solid rgba(230, 231, 245, 0.14);
	border-radius: 8px;
	background: rgba(230, 231, 245, 0.045);
	box-sizing: border-box;
}

body.immoPage #addImageRoom .subpropPhotoTitle{
	margin: 0 0 12px !important;
	font-size: 0.98rem;
	font-weight: 800;
	line-height: 1.2;
}

body.immoPage #addImageRoom .standaloneUploadPreview{
	width: 136px !important;
	height: 136px !important;
	border-style: dashed !important;
	border-color: rgba(230, 231, 245, 0.42) !important;
	background: rgba(230, 231, 245, 0.055) !important;
}

body.immoPage #addImageRoom #displayPhotoSubprop{
	width: 136px !important;
	height: 136px !important;
	max-width: 136px !important;
	max-height: 136px !important;
}

body.immoPage #addImageRoom #subpropPhotoFormContent article:has(.standaloneUploadPreview) > article,
body.immoPage #addImageRoom #subpropPhotoFormContent .parent-div,
body.immoPage #addImageRoom #subpropPhotoFormContent .parent-div .button,
body.immoPage #addImageRoom #subpropPhotoFormContent input[type="file"]{
	width: 136px !important;
	height: 136px !important;
	min-width: 136px !important;
}

body.immoPage #addImageRoom #subpropPhotoFormContent article:has(.standaloneUploadPreview) > article{
	margin-top: -136px !important;
}

body.immoPage #addImageRoom #photoSubpropButton{
	min-width: 104px !important;
	margin: 0 auto !important;
}

body.immoPage .dataSubprop.hasSubpropImage .subpropImageViewerButton,
body.immoPage .appPropertySurface .dataSubprop.hasSubpropImage .subpropImageViewerButton{
	color: #a9cdfd !important;
	font-weight: 900 !important;
}

/* Global action/status affordance: border means clickable, no border means status. */
body.immoPage :where(
	button,
	a.button,
	a.buttonSmall,
	[role="button"],
	input[type="submit"],
	input[type="button"],
	input[type="reset"],
	.button:is(button, a, input),
	.buttonSmall:is(button, a, input)
){
	border-width: 1px !important;
	border-style: solid !important;
	border-color: rgba(230, 231, 245, 0.18) !important;
}

body.immoPage .appMainSurface .subReceiptAction button.buttonSmall,
body.immoPage .appMainSurface .subReceiptAction .pdfActionMenuWrap > button.buttonSmall{
	border-width: 1px !important;
	border-style: solid !important;
	border-color: var(--immo-invoice-border) !important;
}

body.immoPage .appMainSurface .subReceiptAction button.iconInvoicePaid{
	border-color: rgba(40, 201, 122, 0.42) !important;
}

body.immoPage .appMainSurface .subReceiptAction button.iconInvoiceSend:not(.invoiceEActionButton),
body.immoPage .appMainSurface .subReceiptAction button.iconInvoiceCancel{
	border-color: rgba(223, 91, 99, 0.42) !important;
}

body.immoPage .appMainSurface .subReceiptAction button.iconInvoiceReimburse,
body.immoPage .appMainSurface .subReceiptAction button.invoiceEActionButton{
	border-color: rgba(116, 167, 239, 0.42) !important;
}

body.immoPage .appMainSurface .subReceiptAction button.invoiceEActionRetry{
	border-color: rgba(216, 146, 54, 0.46) !important;
}

body.immoPage .appMainSurface .subReceiptAction .invoiceStatusPill,
body.immoPage .appMainSurface .subReceiptAction .invoiceStatusPill.invoiceActionEStatus,
body.immoPage .appMainSurface .subReceiptAction .buttonSmall:not(button),
body.immoPage .appMainSurface .subReceiptAction .spanPaidDate{
	border-color: transparent !important;
	border-width: 0 !important;
	box-shadow: none !important;
}

body.immoPage #customers .customerDocsStatus,
body.immoPage #settings.settingsModal .settingsLiveStatus,
body.immoPage .settingsLiveStatus,
body.immoPage .settingsUpgradeBadge,
body.immoPage .contractInventoryStatus,
body.immoPage .compagnies_stat{
	border-color: transparent !important;
	border-width: 0 !important;
	box-shadow: none !important;
}

/* Mobile receipt sub-rows: preserve readable action width and let the row scroll. */
@media screen and (max-width: 700px){
	body.immoPage .appMainSurface .subReceiptAction{
		overflow-x: hidden !important;
		overflow-y: visible !important;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none !important;
	}

	body.immoPage .appMainSurface .subReceiptAction .receiptInstallmentRow{
		grid-template-columns: 70px 82px 28px max-content !important;
		column-gap: 8px !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		overflow-x: auto !important;
		overflow-y: visible !important;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: thin !important;
	}

	body.immoPage .appMainSurface .subReceiptAction .receiptActionButtons{
		display: flex !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: flex-start !important;
		gap: 8px !important;
		width: max-content !important;
		min-width: 0 !important;
		max-width: none !important;
		overflow: visible !important;
	}

	body.immoPage .appMainSurface .subReceiptAction .contractListSectionActionMenu:not(.receiptInstallmentRow){
		display: flex !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: flex-start !important;
		gap: 8px !important;
		width: 100% !important;
		max-width: 100% !important;
		overflow-x: auto !important;
		overflow-y: visible !important;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: thin !important;
	}

	body.immoPage .appMainSurface .subReceiptAction .receiptActionButtons > .buttonSmall,
	body.immoPage .appMainSurface .subReceiptAction .receiptActionButtons > .pdfActionMenuWrap,
	body.immoPage .appMainSurface .subReceiptAction .receiptActionButtons > .invoiceStatusPill,
	body.immoPage .appMainSurface .subReceiptAction .contractListSectionActionMenu:not(.receiptInstallmentRow) > .buttonSmall,
	body.immoPage .appMainSurface .subReceiptAction .contractListSectionActionMenu:not(.receiptInstallmentRow) > .pdfActionMenuWrap,
	body.immoPage .appMainSurface .subReceiptAction .contractListSectionActionMenu:not(.receiptInstallmentRow) > .invoiceStatusPill{
		flex: 0 0 62px !important;
		width: 62px !important;
		min-width: 62px !important;
		max-width: 62px !important;
		margin: 0 !important;
	}

	body.immoPage .appMainSurface .subReceiptAction .receiptActionButtons > .pdfActionMenuWrap .buttonSmall,
	body.immoPage .appMainSurface .subReceiptAction .contractListSectionActionMenu:not(.receiptInstallmentRow) > .pdfActionMenuWrap .buttonSmall{
		width: 62px !important;
		min-width: 62px !important;
		max-width: 62px !important;
	}

	body.immoPage .appMainSurface .subReceiptAction .receiptActionButtons .btnIconMobile::before,
	body.immoPage .appMainSurface .subReceiptAction .receiptActionButtons .invoiceStatusPill::before,
	body.immoPage .appMainSurface .subReceiptAction .contractListSectionActionMenu:not(.receiptInstallmentRow) .btnIconMobile::before,
	body.immoPage .appMainSurface .subReceiptAction .contractListSectionActionMenu:not(.receiptInstallmentRow) .invoiceStatusPill::before{
		width: 34px !important;
		height: 34px !important;
		flex-basis: 34px !important;
	}

	body.immoPage .appMainSurface .subReceiptAction .receiptInstallmentRow::-webkit-scrollbar,
	body.immoPage .appMainSurface .subReceiptAction .receiptActionButtons::-webkit-scrollbar,
	body.immoPage .appMainSurface .subReceiptAction .contractListSectionActionMenu:not(.receiptInstallmentRow)::-webkit-scrollbar{
		display: block !important;
		height: 4px !important;
	}

	body.immoPage .appMainSurface .subReceiptAction .receiptInstallmentRow::-webkit-scrollbar-track,
	body.immoPage .appMainSurface .subReceiptAction .receiptActionButtons::-webkit-scrollbar-track,
	body.immoPage .appMainSurface .subReceiptAction .contractListSectionActionMenu:not(.receiptInstallmentRow)::-webkit-scrollbar-track{
		background: transparent !important;
	}

	body.immoPage .appMainSurface .subReceiptAction .receiptInstallmentRow::-webkit-scrollbar-thumb,
	body.immoPage .appMainSurface .subReceiptAction .receiptActionButtons::-webkit-scrollbar-thumb,
body.immoPage .appMainSurface .subReceiptAction .contractListSectionActionMenu:not(.receiptInstallmentRow)::-webkit-scrollbar-thumb{
		border-radius: 999px !important;
		background: rgba(230, 231, 245, 0.22) !important;
	}
}

/* Unified immo action language */
body.immoPage .appPropertyHeaderActions #contractAddButton,
body.immoPage .appImmoHeaderActions #financialDashboardButton{
	min-height: 40px !important;
	height: 40px !important;
	box-sizing: border-box !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 9px !important;
	padding: 0 15px !important;
	border-radius: 999px !important;
	background: rgba(240, 241, 255, 0.07) !important;
	color: rgba(230, 231, 245, 0.9) !important;
	border: 1px solid rgba(240, 241, 255, 0.16) !important;
	box-shadow: none !important;
	text-decoration: none !important;
	font-size: 0.9rem !important;
	font-weight: 900 !important;
	letter-spacing: 0 !important;
	line-height: 1 !important;
	transition: transform 160ms ease, border-color 160ms ease, background-color 160ms ease, color 160ms ease !important;
}

body.immoPage .appPropertyHeaderActions #contractAddButton::before,
body.immoPage .appImmoHeaderActions #financialDashboardButton::before{
	display: none !important;
	content: none !important;
}

body.immoPage .appPropertyHeaderActions .contractHeaderIcon,
body.immoPage .appImmoHeaderActions .financialDashboardMobileIcon{
	display: block !important;
	width: 22px !important;
	height: 22px !important;
	flex: 0 0 22px !important;
	object-fit: contain !important;
	filter: none !important;
	opacity: 1 !important;
}

body.immoPage .appPropertyHeaderActions #contractAddButton:hover,
body.immoPage .appPropertyHeaderActions #contractAddButton:focus-visible,
body.immoPage .appImmoHeaderActions #financialDashboardButton:hover,
body.immoPage .appImmoHeaderActions #financialDashboardButton:focus-visible{
	transform: translateY(-1px) !important;
	background: rgba(169, 205, 253, 0.1) !important;
	border-color: rgba(169, 205, 253, 0.38) !important;
	color: var(--light-color) !important;
	outline: none !important;
}

body.immoPage .appImmoHeaderActions #financialDashboardButton.financialDashboardUpsell{
	background: rgba(224, 127, 0, 0.1) !important;
	border-color: rgba(224, 127, 0, 0.34) !important;
	color: rgba(255, 234, 205, 0.96) !important;
}

body.immoPage .appImmoHeaderActions #financialDashboardButton.financialDashboardUpsell:hover,
body.immoPage .appImmoHeaderActions #financialDashboardButton.financialDashboardUpsell:focus-visible{
	background: rgba(224, 127, 0, 0.16) !important;
	border-color: rgba(224, 127, 0, 0.52) !important;
	color: rgba(255, 241, 224, 0.98) !important;
}

body.immoPage .appMainSurface #actions > .topActionsRow{
	width: calc(100% - 18px) !important;
	margin: 0 auto !important;
	padding: 8px !important;
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(104px, 1fr)) !important;
	gap: 8px !important;
	align-items: stretch !important;
	justify-content: stretch !important;
	box-sizing: border-box !important;
	border-radius: 8px !important;
	background: rgba(240, 241, 255, 0.045) !important;
	border: 1px solid rgba(240, 241, 255, 0.11) !important;
	overflow: visible !important;
}

body.immoPage .appMainSurface #actions > .topActionsRow > .topActionMobile{
	width: 100% !important;
	min-width: 0 !important;
	min-height: 58px !important;
	margin: 0 !important;
	padding: 7px 8px !important;
	display: inline-flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 5px !important;
	border-radius: 8px !important;
	border: 1px solid rgba(230, 231, 245, 0.18) !important;
	background: rgba(240, 241, 255, 0.055) !important;
	color: var(--light-color) !important;
	box-shadow: none !important;
	cursor: pointer !important;
	text-decoration: none !important;
	position: relative !important;
	transition: transform 160ms ease, border-color 160ms ease, background-color 160ms ease, color 160ms ease !important;
}

body.immoPage .appMainSurface #actions > .topActionsRow > .topActionMobile .immoNotificationBadge{
	position: absolute;
	top: 7px;
	right: 9px;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: var(--red-color);
	color: var(--light-color);
	border: 2px solid #34363d;
	box-sizing: border-box;
	font-size: 0.66rem;
	font-weight: 950;
	line-height: 1;
	z-index: 2;
	box-shadow: 0 6px 14px rgba(0, 0, 0, 0.24);
}

body.immoPage .appMainSurface #actions > .topActionsRow > .topActionMobile.hasNotifications{
	border-color: rgba(222, 52, 65, 0.36) !important;
	background: rgba(222, 52, 65, 0.08) !important;
}

body.immoPage .appMainSurface #actions > .topActionsRow > .topActionMobile:hover,
body.immoPage .appMainSurface #actions > .topActionsRow > .topActionMobile:focus-visible{
	transform: translateY(-1px) !important;
	background: rgba(169, 205, 253, 0.1) !important;
	border-color: rgba(169, 205, 253, 0.38) !important;
	outline: none !important;
}

body.immoPage .appMainSurface #actions > .topActionsRow > .topActionMobile .actionsImages{
	width: 30px !important;
	height: 30px !important;
	object-fit: contain !important;
}

body.immoPage .appMainSurface #actions > .topActionsRow > .topActionMobile::after{
	content: attr(data-label) !important;
	max-width: 100% !important;
	color: rgba(230, 231, 245, 0.86) !important;
	font-size: 0.78rem !important;
	font-weight: 900 !important;
	line-height: 1.1 !important;
	letter-spacing: 0 !important;
	text-align: center !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}

body.immoPage .appMainSurface #actions > .appCompanySwitcher{
	width: calc(100% - 18px) !important;
	margin: 0 auto !important;
	padding: 0 !important;
	display: grid !important;
	grid-template-columns: 44px minmax(0, 1fr) !important;
	gap: 8px !important;
	align-items: stretch !important;
	justify-content: stretch !important;
	box-sizing: border-box !important;
}

body.immoPage .appMainSurface #actions > .appCompanySwitcher .appCompanySwitchButton{
	width: 44px !important;
	min-width: 44px !important;
	max-width: 44px !important;
	height: 44px !important;
	min-height: 44px !important;
	max-height: 44px !important;
	margin: 0 !important;
	padding: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	border-radius: 8px !important;
	border: 1px solid rgba(230, 231, 245, 0.18) !important;
	background: rgba(240, 241, 255, 0.055) !important;
	box-shadow: none !important;
	cursor: pointer !important;
}

body.immoPage .appMainSurface #actions > .appCompanySwitcher .appCompanySwitchName{
	min-width: 0 !important;
	min-height: 44px !important;
	height: 44px !important;
	padding: 0 12px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 6px !important;
	box-sizing: border-box !important;
	border-radius: 8px !important;
	border: 1px solid rgba(230, 231, 245, 0.13) !important;
	background: rgba(240, 241, 255, 0.035) !important;
	color: rgba(230, 231, 245, 0.9) !important;
	text-decoration: none !important;
	font-size: 0.9rem !important;
	font-weight: 850 !important;
	line-height: 1.2 !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	cursor: pointer !important;
}

body.immoPage .appMainSurface #actions > .appCompanySwitcher .appCompanySwitchButton:hover,
body.immoPage .appMainSurface #actions > .appCompanySwitcher .appCompanySwitchButton:focus-visible,
body.immoPage .appMainSurface #actions > .appCompanySwitcher .appCompanySwitchName:hover,
body.immoPage .appMainSurface #actions > .appCompanySwitcher .appCompanySwitchName:focus-visible{
	background: rgba(169, 205, 253, 0.1) !important;
	border-color: rgba(169, 205, 253, 0.38) !important;
	outline: none !important;
}

body.immoPage .appMainSurface #actions > .appCompanySwitcher .appCompanySwitchButton img,
body.immoPage .appMainSurface #actions > .appCompanySwitcher .appCompanySwitchIcon{
	width: 26px !important;
	height: 26px !important;
	object-fit: contain !important;
	filter: brightness(0) saturate(100%) invert(92%) sepia(8%) saturate(477%) hue-rotate(199deg) brightness(103%) contrast(92%) !important;
	opacity: 0.92 !important;
}

body.immoPage .appMainSurface #actions > .appCompanySwitcher .appCompanySwitchButton:hover img,
body.immoPage .appMainSurface #actions > .appCompanySwitcher .appCompanySwitchButton:focus-visible img,
body.immoPage .appMainSurface #actions > .appCompanySwitcher .appCompanySwitchButton:hover .appCompanySwitchIcon,
body.immoPage .appMainSurface #actions > .appCompanySwitcher .appCompanySwitchButton:focus-visible .appCompanySwitchIcon{
	opacity: 1 !important;
}

body.immoPage .appMainSurface #actions > .appPropertyContext{
	width: calc(100% - 18px) !important;
	min-height: 44px !important;
	margin: 0 auto !important;
	padding: 0 12px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	box-sizing: border-box !important;
	border-radius: 8px !important;
	background: rgba(240, 241, 255, 0.035) !important;
	color: rgba(230, 231, 245, 0.9) !important;
	font-size: 0.9rem !important;
	font-weight: 850 !important;
	line-height: 1.2 !important;
	overflow: hidden !important;
}

body.immoPage .appMainSurface #actions > .appPropertyContext span{
	min-width: 0 !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

body.immoPage .appMainSurface #actions > .appCompanySwitcher .appUpgradeSwitchName{
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: center !important;
	gap: 1px !important;
}

body.immoPage .appMainSurface #actions > .appCompanySwitcher .appCompanySwitchEyebrow{
	color: rgba(230, 231, 245, 0.56) !important;
	font-size: 0.66rem !important;
	font-weight: 900 !important;
	text-transform: uppercase !important;
	letter-spacing: 0 !important;
}

body.immoPage .appMainSurface #actions > .appCompanySwitcher .appUpgradeSwitchButton,
body.immoPage .appMainSurface #actions > .appCompanySwitcher .appUpgradeSwitchName{
	border-color: rgba(224, 127, 0, 0.28) !important;
	background: rgba(224, 127, 0, 0.08) !important;
}

@media screen and (max-width: 700px){
	body.immoPage .appPropertyHeaderActions #contractAddButton,
	body.immoPage .appImmoHeaderActions #financialDashboardButton{
		width: 44px !important;
		height: 44px !important;
		min-height: 44px !important;
		padding: 0 !important;
		border-radius: 10px !important;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
		font-size: 0 !important;
	}

	body.immoPage .appPropertyHeaderActions #contractAddButton:hover,
	body.immoPage .appPropertyHeaderActions #contractAddButton:focus-visible,
	body.immoPage .appImmoHeaderActions #financialDashboardButton:hover,
	body.immoPage .appImmoHeaderActions #financialDashboardButton:focus-visible{
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
		transform: none !important;
	}

	body.immoPage .appPropertyHeaderActions #contractAddButton::before{
		display: none !important;
		content: none !important;
	}

	body.immoPage .appImmoHeaderActions .financialDashboardLabel,
	body.immoPage .appPropertyHeaderActions .contractHeaderLabel{
		display: none !important;
	}

	body.immoPage .appPropertyHeaderActions .contractHeaderIcon,
	body.immoPage .appImmoHeaderActions .financialDashboardMobileIcon{
		display: block !important;
		width: 38px !important;
		height: 38px !important;
		object-fit: contain !important;
		filter: none !important;
		opacity: 1 !important;
	}

	body.immoPage .appMainSurface #actions > .topActionsRow{
		width: calc(100% - 12px) !important;
		padding: 6px 6px 6px 10px !important;
		display: flex !important;
		flex-wrap: nowrap !important;
		grid-template-columns: none !important;
		gap: 6px !important;
		justify-content: flex-start !important;
		align-items: stretch !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		-webkit-overflow-scrolling: touch !important;
		scroll-snap-type: x proximity !important;
		scroll-padding-left: 10px !important;
	}

	body.immoPage .appMainSurface #actions > .topActionsRow > .topActionMobile{
		width: 76px !important;
		min-width: 76px !important;
		max-width: 76px !important;
		flex: 0 0 76px !important;
		min-height: 56px !important;
		padding: 6px 4px !important;
		scroll-snap-align: start !important;
	}

	body.immoPage .appMainSurface #actions > .topActionsRow > .topActionMobile:first-child{
		margin-left: 2px !important;
	}

	body.immoPage .appMainSurface #actions > .topActionsRow > .topActionMobile .actionsImages{
		width: 28px !important;
		height: 28px !important;
	}

	body.immoPage .appMainSurface #actions > .topActionsRow > .topActionMobile::after{
		content: attr(data-label) !important;
		font-size: 0.68rem !important;
	}

	body.immoPage .appMainSurface #actions > .topActionsRow > .topActionMobile[data-mobile-label]::after{
		content: attr(data-mobile-label) !important;
	}

	body.immoPage .appMainSurface #actions > .appCompanySwitcher{
		width: calc(100% - 12px) !important;
		grid-template-columns: 42px minmax(0, 1fr) !important;
		gap: 7px !important;
	}

	body.immoPage .appMainSurface #actions > .appCompanySwitcher .appCompanySwitchButton{
		width: 42px !important;
		min-width: 42px !important;
		max-width: 42px !important;
		height: 42px !important;
		min-height: 42px !important;
		max-height: 42px !important;
	}

	body.immoPage .appMainSurface #actions > .appCompanySwitcher .appCompanySwitchName,
	body.immoPage .appMainSurface #actions > .appPropertyContext{
		min-height: 42px !important;
		height: 42px !important;
		padding: 0 10px !important;
		font-size: 0.82rem !important;
	}
}

@media screen and (max-width: 760px){
	body.immoPage .appMainSurface nav#actions:not(.dashboardActions){
		overflow-x: auto !important;
		overflow-y: hidden !important;
		-webkit-overflow-scrolling: touch !important;
	}

	body.immoPage .appMainSurface nav#actions:not(.dashboardActions) > div.topActionsRow{
		width: calc(100% - 12px) !important;
		max-width: calc(100vw - 30px) !important;
		min-width: 0 !important;
		padding: 6px 6px 6px 10px !important;
		box-sizing: border-box !important;
		display: flex !important;
		flex-wrap: nowrap !important;
		grid-auto-flow: initial !important;
		grid-auto-columns: initial !important;
		grid-template-columns: none !important;
		grid-template-rows: none !important;
		gap: 8px !important;
		justify-content: flex-start !important;
		align-items: stretch !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		-webkit-overflow-scrolling: touch !important;
		scroll-snap-type: x proximity !important;
		scroll-padding-left: 10px !important;
	}

	body.immoPage .appMainSurface nav#actions:not(.dashboardActions) > div.topActionsRow > button.topActionMobile{
		width: 76px !important;
		min-width: 76px !important;
		max-width: 76px !important;
		flex: 0 0 76px !important;
		box-sizing: border-box !important;
		scroll-snap-align: start !important;
	}

	body.immoPage .appMainSurface nav#actions:not(.dashboardActions) > div.topActionsRow > button.topActionMobile:first-child{
		margin-left: 2px !important;
	}
}

/* Final receipt mobile alignment: installment rows keep their own scroll lane. */
@media screen and (max-width: 700px){
	body.immoPage .appMainSurface .subReceiptAction:has(> .receiptInstallmentRow){
		padding-top: 2px !important;
		padding-bottom: 2px !important;
		row-gap: 0 !important;
	}

	body.immoPage .appMainSurface .subReceiptAction .receiptInstallmentRow{
		grid-template-columns: 70px 82px 28px max-content !important;
		align-items: center !important;
		min-height: 78px !important;
		padding-top: 2px !important;
		padding-bottom: 2px !important;
		overflow-x: auto !important;
		overflow-y: visible !important;
	}

	body.immoPage .appMainSurface .subReceiptAction .receiptInstallmentRow .receiptActionButtons{
		display: flex !important;
		flex-wrap: nowrap !important;
		align-self: center !important;
		align-items: center !important;
		justify-content: flex-start !important;
		width: max-content !important;
		max-width: none !important;
		overflow: visible !important;
		padding-top: 2px !important;
		padding-bottom: 2px !important;
		transform: none !important;
	}

	body.immoPage .appMainSurface .subReceiptAction .receiptInstallmentRow .receiptActionButtons > .buttonSmall,
	body.immoPage .appMainSurface .subReceiptAction .receiptInstallmentRow .receiptActionButtons > .pdfActionMenuWrap,
	body.immoPage .appMainSurface .subReceiptAction .receiptInstallmentRow .receiptActionButtons > .invoiceStatusPill{
		flex: 0 0 56px !important;
		width: 56px !important;
		max-width: 56px !important;
		min-height: 54px !important;
		align-self: center !important;
	}

	body.immoPage .appMainSurface .subReceiptAction .receiptInstallmentRow .receiptActionButtons > .pdfActionMenuWrap .buttonSmall{
		width: 56px !important;
		min-width: 56px !important;
		max-width: 56px !important;
		min-height: 54px !important;
	}

	body.immoPage .appMainSurface .subReceiptAction .receiptInstallmentRow .receiptActionButtons .btnIconMobile::before,
	body.immoPage .appMainSurface .subReceiptAction .receiptInstallmentRow .receiptActionButtons .invoiceStatusPill::before{
		width: 30px !important;
		height: 30px !important;
		flex-basis: 30px !important;
	}
}

body.immoPage .modal:not(.settingsModal) .modalTabBar,
body.immoPage .modal:not(.settingsModal) .invoiceModalTabs,
body.immoPage .modal:not(.settingsModal) > div[style*="justify-content: space-around"],
body.immoPage .modal:not(.settingsModal) .modal_body > div[style*="justify-content: space-around"]{
	width: calc(100% - 48px) !important;
	max-width: none !important;
	margin: 10px auto 12px !important;
	gap: 6px !important;
	padding: 6px !important;
	border: 1px solid rgba(230, 231, 245, 0.18) !important;
	border-radius: 8px !important;
	background: rgba(230, 231, 245, 0.05) !important;
	box-sizing: border-box !important;
}

body.immoPage .modal:not(.settingsModal) .modalTabBar .button,
body.immoPage .modal:not(.settingsModal) .invoiceModalTabs .button,
body.immoPage .modal:not(.settingsModal) > div[style*="justify-content: space-around"] .button,
body.immoPage .modal:not(.settingsModal) .modal_body > div[style*="justify-content: space-around"] .button{
	height: 40px !important;
	min-height: 40px !important;
	max-height: 40px !important;
	padding: 5px 10px !important;
	border: 1px solid rgba(230, 231, 245, 0.32) !important;
	border-radius: 6px !important;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	color: rgba(230, 231, 245, 0.72) !important;
	box-shadow: none !important;
	font-size: 0.82rem !important;
	font-weight: 950 !important;
	line-height: 1.05 !important;
	transform: none !important;
}

body.immoPage .modal:not(.settingsModal) .modalTabBar .button.is-active,
body.immoPage .modal:not(.settingsModal) .invoiceModalTabs .button.is-active,
body.immoPage .modal:not(.settingsModal) .documentsDispButton.is-active,
body.immoPage .modal:not(.settingsModal) .gaugesDispButton.is-active,
body.immoPage .modal:not(.settingsModal) .itemsDispButton.is-active,
body.immoPage .modal:not(.settingsModal) .contractsDispButton.is-active,
body.immoPage .modal:not(.settingsModal) .propertiesDispButton.is-active,
body.immoPage .modal:not(.settingsModal) .customersDispButton.is-active,
body.immoPage .modal:not(.settingsModal) .globalInvoiceModeButton.is-active,
body.immoPage .modal:not(.settingsModal) .invoicesDispButton.is-active{
	border-color: rgba(169, 205, 253, 0.34) !important;
	background: rgba(169, 205, 253, 0.13) !important;
	background-color: rgba(169, 205, 253, 0.13) !important;
	background-image: none !important;
	color: var(--white-color) !important;
	box-shadow: none !important;
}

@media (max-width: 700px){
	body.immoPage .modal:not(.settingsModal) .modalTabBar,
	body.immoPage .modal:not(.settingsModal) .invoiceModalTabs,
	body.immoPage .modal:not(.settingsModal) > div[style*="justify-content: space-around"],
	body.immoPage .modal:not(.settingsModal) .modal_body > div[style*="justify-content: space-around"]{
		width: calc(100% - 24px) !important;
		margin: 8px auto 10px !important;
	}
}

body.immoPage .contractSwitchChoice:has(.switch),
body.immoPage .invoiceSwitchCard p:has(.switch),
body.immoPage .settingsSwitchField:has(.switch),
body.immoPage .settingsStructureToggle:has(.switch){
	position: relative !important;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
	align-items: center !important;
	gap: 0 !important;
	width: 100% !important;
	min-width: 180px !important;
	min-height: 40px !important;
	margin: 0 !important;
	padding: 5px !important;
	border: 1px solid rgba(230, 231, 245, 0.14) !important;
	border-radius: 999px !important;
	background: rgba(230, 231, 245, 0.05) !important;
	box-shadow: inset 0 0 0 1px rgba(230, 231, 245, 0.04) !important;
	box-sizing: border-box !important;
	overflow: hidden !important;
}

body.immoPage .contractSwitchChoice:has(.switch) > span,
body.immoPage .invoiceSwitchCard p:has(.switch) > span,
body.immoPage .settingsSwitchField:has(.switch) > span,
body.immoPage .settingsStructureToggle:has(.switch) > span{
	position: relative !important;
	z-index: 2 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 0 !important;
	min-height: 30px !important;
	padding: 5px 10px !important;
	border: 1px solid transparent !important;
	border-radius: 999px !important;
	background: transparent !important;
	color: rgba(230, 231, 245, 0.72) !important;
	box-shadow: none !important;
	font-size: 0.86rem !important;
	font-weight: 950 !important;
	line-height: 1.05 !important;
	text-align: center !important;
	white-space: nowrap !important;
	box-sizing: border-box !important;
}

body.immoPage .contractSwitchChoice:has(.switch) > span:first-child,
body.immoPage .invoiceSwitchCard p:has(.switch) > span:first-child,
body.immoPage .settingsSwitchField:has(.switch) > span:first-child,
body.immoPage .settingsStructureToggle:has(.switch) > span:first-child,
body.immoPage .contractSwitchChoice:has(.switch input:checked) > span:last-child,
body.immoPage .invoiceSwitchCard p:has(.switch input:checked) > span:last-child,
body.immoPage .settingsSwitchField:has(.switch input:checked) > span:last-child,
body.immoPage .settingsStructureToggle:has(.switch input:checked) > span:last-child{
	border-color: rgba(169, 205, 253, 0.34) !important;
	background: rgba(169, 205, 253, 0.13) !important;
	color: var(--white-color) !important;
	box-shadow: inset 0 0 0 1px rgba(169, 205, 253, 0.18) !important;
}

body.immoPage .contractSwitchChoice:has(.switch input:checked) > span:first-child,
body.immoPage .invoiceSwitchCard p:has(.switch input:checked) > span:first-child,
body.immoPage .settingsSwitchField:has(.switch input:checked) > span:first-child,
body.immoPage .settingsStructureToggle:has(.switch input:checked) > span:first-child{
	border-color: transparent !important;
	background: transparent !important;
	color: rgba(230, 231, 245, 0.72) !important;
	box-shadow: none !important;
}

body.immoPage .contractSwitchChoice:has(.switch) .switch,
body.immoPage .invoiceSwitchCard p:has(.switch) .switch,
body.immoPage .settingsSwitchField:has(.switch) .switch,
body.immoPage .settingsStructureToggle:has(.switch) .switch{
	position: absolute !important;
	inset: 0 !important;
	z-index: 5 !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	opacity: 1 !important;
	cursor: pointer !important;
}

body.immoPage .contractSwitchChoice:has(.switch) .switch input,
body.immoPage .invoiceSwitchCard p:has(.switch) .switch input,
body.immoPage .settingsSwitchField:has(.switch) .switch input,
body.immoPage .settingsStructureToggle:has(.switch) .switch input{
	position: absolute !important;
	inset: 0 !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	opacity: 0 !important;
	cursor: pointer !important;
}

body.immoPage .contractSwitchChoice:has(.switch) .slider,
body.immoPage .invoiceSwitchCard p:has(.switch) .slider,
body.immoPage .settingsSwitchField:has(.switch) .slider,
body.immoPage .settingsStructureToggle:has(.switch) .slider{
	display: none !important;
}

body.immoPage #properties .propertiesDispButton.is-active,
body.immoPage #customers .customersDispButton.is-active,
body.immoPage #documents .documentsDispButton.is-active,
body.immoPage #gauges .gaugesDispButton.is-active,
body.immoPage #items .itemsDispButton.is-active,
body.immoPage #invoices .invoicesDispButton.is-active,
body.immoPage #invoices .globalInvoiceModeButton.is-active,
body.immoPage #addContract .contractsDispButton.is-active{
	border-color: rgba(169, 205, 253, 0.34) !important;
	background: rgba(169, 205, 253, 0.13) !important;
	background-color: rgba(169, 205, 253, 0.13) !important;
	background-image: none !important;
	color: var(--white-color) !important;
	box-shadow: none !important;
}
