/*
 * Authenticated workspace themes.
 *
 * This stylesheet must be loaded after index.css and the page-specific
 * intervenant/dashboard styles. The existing application remains the dark
 * default; only an explicit data-theme="light" on <html> enables these rules.
 */

/* Theme preference control: dark/default presentation. */
.uiThemeSettingsForm{
	--ui-theme-form-bg: #34363d;
	--ui-theme-switch-bg: #23252a;
	display: grid;
	gap: 12px;
	width: 100%;
	margin: 0;
	padding: 14px;
	border: 1px solid rgba(230, 231, 245, 0.14);
	border-radius: 8px;
	background: var(--ui-theme-form-bg);
	box-sizing: border-box;
}

body.immoPage .settingsModal .settingsContent .uiThemeSettingsForm,
body.intervenantPage .intervenantSettingsModal .settingsContent .uiThemeSettingsForm{
	padding: 14px !important;
	border: 1px solid rgba(230, 231, 245, 0.14) !important;
	border-radius: 8px !important;
	background: var(--ui-theme-form-bg) !important;
	box-shadow: none !important;
}

.uiThemeSettingsForm > p{
	margin: 0;
	color: rgba(230, 231, 245, 0.7);
	font-size: 0.86rem;
	line-height: 1.45;
}

.uiThemeFieldset{
	position: relative;
	min-width: 0;
	margin: 0;
	padding: 14px 0 0;
	border: 0;
	border-radius: 0;
}

.uiThemeFieldset legend{
	position: absolute;
	top: 14px;
	left: 22px;
	z-index: 3;
	transform: translateY(-50%);
	padding: 1px 9px;
	border-radius: 999px;
	/* The floating legend cuts into the control from the surrounding form. */
	background: var(--ui-theme-form-bg);
	color: rgba(230, 231, 245, 0.82);
	font-size: 0.8rem;
	font-weight: 900;
	line-height: 1.2;
}

.uiThemeChoices{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 4px;
	width: 100%;
	padding: 4px;
	border: 1px solid rgba(230, 231, 245, 0.16);
	border-radius: 999px;
	background: var(--ui-theme-switch-bg);
	box-sizing: border-box;
}

.uiThemeChoice{
	position: relative;
	min-width: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 4px;
	border: 1px solid transparent;
	border-radius: 999px;
	background: transparent;
	color: rgba(230, 231, 245, 0.76);
	cursor: pointer;
	box-sizing: border-box;
	transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.uiThemeChoice:hover{
	border-color: rgba(230, 231, 245, 0.12);
	background: rgba(230, 231, 245, 0.07);
}

.uiThemeChoice input[type="radio"]{
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	opacity: 0 !important;
	cursor: pointer;
}

.uiThemeChoiceText{
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	width: 100%;
	padding: 3px 8px;
	font-size: 0.88rem;
	line-height: 1.1;
	text-align: center;
	pointer-events: none;
}

.uiThemeChoiceText strong{
	color: inherit;
	font-size: 0.9rem;
	font-weight: 950;
}

/* Compact segmented control shared by the owner and provider settings. */
.uiThemeFieldset--compact{
	padding-top: 12px;
}

.uiThemeFieldset--compact legend{
	top: 12px;
}

.uiThemeChoices--compact .uiThemeChoice{
	min-height: 40px;
	padding: 4px 10px;
}

.uiThemeChoices--compact .uiThemeChoiceText{
	gap: 0;
	padding: 2px 6px;
	white-space: nowrap;
}

.uiThemeChoices--compact .uiThemeChoiceDescription,
.uiThemeChoices--compact .uiThemeChoiceText > :not(strong){
	display: none !important;
}

.uiThemeChoice:has(input[type="radio"]:checked){
	border-color: rgba(169, 205, 253, 0.48);
	background: rgba(169, 205, 253, 0.16);
	color: #fff;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.16), inset 0 0 0 1px rgba(169, 205, 253, 0.1);
}

.uiThemeChoice:has(input[type="radio"]:focus-visible){
	outline: 3px solid rgba(169, 205, 253, 0.26);
	outline-offset: 2px;
}

.uiThemeSettingsForm.isUiThemeSaving .uiThemeChoice{
	cursor: wait;
	opacity: 0.72;
}

.uiThemeSettingsForm.isUiThemeSaving .uiThemeChoice input[type="radio"]{
	cursor: wait;
}

/* Password fields share one opaque surface, including behind the strength border. */
body.immoPage .settingsModal #formMdp,
body.intervenantPage .intervenantSettingsModal #formIntervenantPassword{
	--settings-password-field-bg: var(--ui-surface, #41424a);
}

body.immoPage .settingsModal #formMdp .formText,
body.intervenantPage .intervenantSettingsModal #formIntervenantPassword .formText{
	background-color: var(--settings-password-field-bg) !important;
}

/* Semantic palette for the authenticated light workspace. */
html[data-theme="light"]{
	color-scheme: light;
	background: #f3f6fa !important;
	--ui-page-bg: #f3f6fa;
	--ui-page-accent: rgba(76, 111, 150, 0.09);
	--ui-header-bg: #ffffff;
	--ui-surface: #ffffff;
	--ui-surface-alt: #f7f9fc;
	--ui-surface-soft: #edf2f7;
	--ui-surface-hover: #e8eef6;
	--ui-text: #252b35;
	--ui-heading: #141a23;
	--ui-muted: #5f6c7d;
	--ui-subtle: #7c8796;
	--ui-border: #d9e1eb;
	--ui-border-strong: #bec9d7;
	--ui-accent: #315f91;
	--ui-accent-strong: #214d7c;
	--ui-accent-soft: #e7f0fa;
	--ui-focus: rgba(49, 95, 145, 0.2);
	--ui-success: #087a49;
	--ui-success-soft: #e8f7ef;
	--ui-warning: #945b00;
	--ui-warning-soft: #fff4dc;
	--ui-danger: #b42335;
	--ui-danger-soft: #fdecef;
	--ui-info: #245f9c;
	--ui-info-soft: #e9f2fc;
	--ui-button-neutral-bg: #e9edf2;
	--ui-button-neutral-border: #b9c4d0;
	--ui-button-neutral-text: #3c4755;
	--ui-button-neutral-hover: #dde4eb;
	--ui-button-neutral-hover-border: #9eacbb;
	--ui-button-neutral-hover-text: #273442;
	/* Primary = the accent family of selected tabs, filters and names: the one light blue. */
	--ui-button-primary-bg: #e7f0fa;
	--ui-button-primary-border: #b7cbe1;
	--ui-button-primary-text: #214d7c;
	--ui-button-primary-hover: #d8e6f5;
	--ui-button-primary-hover-border: #8fb0d3;
	--ui-button-primary-hover-text: #173b61;
	--ui-button-success-bg: #dff1e7;
	--ui-button-success-border: #83bfa1;
	--ui-button-success-text: #17623e;
	--ui-button-success-hover: #cde8d9;
	--ui-button-success-hover-border: #66aa87;
	--ui-button-success-hover-text: #0f5534;
	--ui-button-danger-bg: #f4dfe3;
	--ui-button-danger-border: #d58b95;
	--ui-button-danger-text: #8b2634;
	--ui-button-danger-hover: #eccdd2;
	--ui-button-danger-hover-border: #c5727e;
	--ui-button-danger-hover-text: #731c29;
	--ui-button-warning-bg: #f7ead3;
	--ui-button-warning-border: #d6a45e;
	--ui-button-warning-text: #744700;
	--ui-button-warning-hover: #f0ddbd;
	--ui-button-warning-hover-border: #c18d43;
	--ui-button-warning-hover-text: #603a00;
	/* Info is an alias of primary: a second blue is not a tone. */
	--ui-button-info-bg: var(--ui-button-primary-bg);
	--ui-button-info-border: var(--ui-button-primary-border);
	--ui-button-info-text: var(--ui-button-primary-text);
	--ui-button-info-hover: var(--ui-button-primary-hover);
	--ui-shadow: 0 12px 34px rgba(27, 39, 55, 0.1);
	--ui-shadow-strong: 0 24px 64px rgba(27, 39, 55, 0.18);
}

html[data-theme="light"] body.immoPage,
html[data-theme="light"] body.intervenantPage{
	min-height: 100vh;
	background: var(--ui-page-bg) !important;
	color: var(--ui-text) !important;
	--action-tone-blue: var(--ui-button-primary-text);
	--action-tone-blue-bg: var(--ui-button-primary-bg);
	--action-tone-blue-border: var(--ui-button-primary-border);
	--action-tone-blue-hover: var(--ui-button-primary-hover-text);
	--action-tone-blue-hover-bg: var(--ui-button-primary-hover);
	--action-tone-blue-hover-border: var(--ui-button-primary-hover-border);
	--action-tone-green: var(--ui-button-success-text);
	--action-tone-green-bg: var(--ui-button-success-bg);
	--action-tone-green-border: var(--ui-button-success-border);
	--action-tone-green-hover: var(--ui-button-success-hover-text);
	--action-tone-green-hover-bg: var(--ui-button-success-hover);
	--action-tone-green-hover-border: var(--ui-button-success-hover-border);
	--action-tone-red: var(--ui-button-danger-text);
	--action-tone-red-bg: var(--ui-button-danger-bg);
	--action-tone-red-border: var(--ui-button-danger-border);
	--action-tone-red-hover: var(--ui-button-danger-hover-text);
	--action-tone-red-hover-bg: var(--ui-button-danger-hover);
	--action-tone-red-hover-border: var(--ui-button-danger-hover-border);
	--action-tone-neutral: var(--ui-button-neutral-text);
	--action-tone-neutral-bg: var(--ui-button-neutral-bg);
	--action-tone-neutral-border: var(--ui-button-neutral-border);
	--action-tone-neutral-hover: var(--ui-button-neutral-hover-text);
	--action-tone-neutral-hover-bg: var(--ui-button-neutral-hover);
	--action-tone-neutral-hover-border: var(--ui-button-neutral-hover-border);
}

html[data-theme="light"] body.immoPage ::selection,
html[data-theme="light"] body.intervenantPage ::selection{
	background: rgba(49, 95, 145, 0.2);
	color: var(--ui-heading);
}

/* App shell and top navigation. */
html[data-theme="light"] body.immoPage .appHeader,
html[data-theme="light"] body.intervenantPage .appHeader,
html[data-theme="light"] body.intervenantPage .intervenantHeader.appHeader{
	background: var(--ui-header-bg) !important;
	border-bottom-color: var(--ui-border) !important;
	color: var(--ui-text) !important;
	box-shadow: 0 1px 0 rgba(27, 39, 55, 0.03) !important;
}

html[data-theme="light"] body.immoPage .appHeader #title,
html[data-theme="light"] body.intervenantPage .appHeader #title,
html[data-theme="light"] body.intervenantPage .intervenantHeader #title{
	color: var(--ui-heading) !important;
}

html[data-theme="light"] body.immoPage .appBody,
html[data-theme="light"] body.intervenantPage .appBody,
html[data-theme="light"] body.intervenantPage .intervenantAppBody,
html[data-theme="light"] body.intervenantPage .intervenantAppBody.appBody{
	background:
		radial-gradient(circle at 18% 0%, var(--ui-page-accent), transparent 34rem),
		var(--ui-page-bg) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface,
html[data-theme="light"] body.intervenantPage .appMainSurface{
	color: var(--ui-text);
}

html[data-theme="light"] body.immoPage .appHeaderStatus,
html[data-theme="light"] body.intervenantPage .appHeaderStatus{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage .appHeaderStatus.is-processing,
html[data-theme="light"] body.intervenantPage .appHeaderStatus.is-processing{
	border-color: #b7d1ee !important;
	background: var(--ui-info-soft) !important;
	color: var(--ui-info) !important;
}

html[data-theme="light"] body.immoPage .appHeaderStatus.is-ok,
html[data-theme="light"] body.intervenantPage .appHeaderStatus.is-ok{
	border-color: #acd9c1 !important;
	background: var(--ui-success-soft) !important;
	color: var(--ui-success) !important;
}

html[data-theme="light"] body.immoPage .appHeaderStatus.is-warning,
html[data-theme="light"] body.intervenantPage .appHeaderStatus.is-warning{
	border-color: #ebcd91 !important;
	background: var(--ui-warning-soft) !important;
	color: var(--ui-warning) !important;
}

html[data-theme="light"] body.immoPage .appHeaderStatus.is-error,
html[data-theme="light"] body.intervenantPage .appHeaderStatus.is-error{
	border-color: #e7b4bb !important;
	background: var(--ui-danger-soft) !important;
	color: var(--ui-danger) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .topActionsRow,
html[data-theme="light"] body.intervenantPage .intervenantActions .topActionsRow,
html[data-theme="light"] body.intervenantPage .appMainSurface #actions.intervenantActions > .topActionsRow{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	box-shadow: 0 5px 18px rgba(27, 39, 55, 0.05) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .topActionMobile,
html[data-theme="light"] body.immoPage .appMainSurface #actions button,
html[data-theme="light"] body.intervenantPage .intervenantActionTile,
html[data-theme="light"] body.intervenantPage .appMainSurface #actions.intervenantActions > .topActionsRow > .topActionMobile{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .topActionMobile:hover,
html[data-theme="light"] body.immoPage .appMainSurface #actions button:hover,
html[data-theme="light"] body.intervenantPage .intervenantActionTile:hover,
html[data-theme="light"] body.intervenantPage .intervenantActionTile:focus-visible,
html[data-theme="light"] body.intervenantPage .appMainSurface #actions.intervenantActions > .topActionsRow > .topActionMobile:hover,
html[data-theme="light"] body.intervenantPage .appMainSurface #actions.intervenantActions > .topActionsRow > .topActionMobile:focus-visible{
	border-color: #b7cbe1 !important;
	background: var(--ui-accent-soft) !important;
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantActionTile::after,
html[data-theme="light"] body.intervenantPage .appMainSurface #actions.intervenantActions > .topActionsRow > .topActionMobile::after{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage .appCompanySwitcher,
html[data-theme="light"] body.immoPage .dashboardPropertyContext{
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage .appCompanySwitchButton,
html[data-theme="light"] body.immoPage .appCompanySwitchName,
html[data-theme="light"] body.immoPage .dashboardPropertyPickerButton{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage .appCompanySwitchName span,
html[data-theme="light"] body.immoPage .appPropertyContext span{
	color: var(--ui-muted) !important;
}

/* Shared cards, feeds, lists and tables. */
html[data-theme="light"] body.immoPage .contractSectionContentMain,
html[data-theme="light"] body.immoPage .billHistoryContentSection,
html[data-theme="light"] body.immoPage .invoiceHistoryContentSection,
html[data-theme="light"] body.immoPage .contractSectionContent,
html[data-theme="light"] body.immoPage .billStatsContentSection,
html[data-theme="light"] body.immoPage .invoiceStatsContentSection,
html[data-theme="light"] body.immoPage .propertyContentDiv,
html[data-theme="light"] body.immoPage .subReceiptAction,
html[data-theme="light"] body.intervenantPage .intervenantOverview article,
html[data-theme="light"] body.intervenantPage .intervenantDelegation,
html[data-theme="light"] body.intervenantPage .intervenantEmpty,
html[data-theme="light"] body.intervenantPage .intervenantDataRow,
html[data-theme="light"] body.intervenantPage .intervenantOwnerHero,
html[data-theme="light"] body.intervenantPage .intervenantOwnerFeedDetails,
html[data-theme="light"] body.intervenantPage .intervenantOwnerTenantSummary,
html[data-theme="light"] body.intervenantPage .intervenantOwnerTenantPanel{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
	box-shadow: 0 5px 18px rgba(27, 39, 55, 0.05) !important;
}

html[data-theme="light"] body.immoPage .contractSectionContentMain:hover,
html[data-theme="light"] body.intervenantPage .intervenantDelegation.isOpenable:hover,
html[data-theme="light"] body.intervenantPage .intervenantDelegation.isOpenable:focus-visible,
html[data-theme="light"] body.intervenantPage .appMainSurface .intervenantDelegation.contractSectionContentMain:hover,
html[data-theme="light"] body.intervenantPage .appMainSurface .intervenantDelegation.contractSectionContentMain:focus-visible{
	border-color: #b7cbe1 !important;
	background: var(--ui-accent-soft) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .receiptBankMatchBadge{
	border-color: #b7cbe1 !important;
	background: #eaf2fb !important;
	color: #315f8f !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .receiptBankMatchBadge.is-pending{
	border-color: #e5c07d !important;
	background: #fff6e7 !important;
	color: #875c17 !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .receiptBankMatchBadge.is-pending.is-high-confidence{
	border-color: #98d3b1 !important;
	background: #e2f5e9 !important;
	color: #1f7045 !important;
}

html[data-theme="light"] body.immoPage .modal .receiptPaymentModeSwitch .receiptBankMatchCountBadge.is-pending{
	border-color: #e5c07d !important;
	background: #fff6e7 !important;
	color: #875c17 !important;
}

html[data-theme="light"] body.immoPage .modal .receiptPaymentModeSwitch .receiptBankMatchCountBadge.is-pending.is-high-confidence{
	border-color: #98d3b1 !important;
	background: #e2f5e9 !important;
	color: #1f7045 !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .receiptBankMatchBadge.is-auto{
	border-color: #a8d9bd !important;
	background: #e9f7ef !important;
	color: #24764a !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .contractSectionContentMain .contractFeedIdentityPrimary{
	color: #285d91 !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .contractSectionContentMain .contractFeedIdentitySecondary{
	color: #5f6f83 !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .contractFeedToggleButton{
	border-color: var(--ui-button-neutral-border) !important;
	background: var(--ui-button-neutral-bg) !important;
	color: var(--ui-button-neutral-text) !important;
	box-shadow: 0 2px 8px rgba(44, 76, 111, 0.16) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .contractFeedToggleButton:hover,
html[data-theme="light"] body.immoPage .appMainSurface .contractFeedToggleButton:focus-visible{
	border-color: var(--ui-button-neutral-hover-border) !important;
	background: var(--ui-button-neutral-hover) !important;
	color: var(--ui-button-neutral-hover-text) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .receiptFeedItem--deleted .contractSectionContentMain{
	background: rgba(86, 96, 112, 0.11) !important;
	border-color: rgba(86, 96, 112, 0.28) !important;
	color: rgba(40, 49, 62, 0.66) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .receiptFeedItem--deleted .contractSectionContentMain a,
html[data-theme="light"] body.immoPage .appMainSurface .receiptFeedItem--deleted .contractSectionContentMain span{
	color: inherit !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .receiptDeletedStatus{
	border-color: rgba(86, 96, 112, 0.30) !important;
	background: rgba(86, 96, 112, 0.10) !important;
	color: rgba(40, 49, 62, 0.72) !important;
}

html[data-theme="light"] body.immoPage .modal .receiptPaymentModeSwitch{
	border-color: var(--ui-border) !important;
	background: #edf3f9 !important;
}

html[data-theme="light"] body.immoPage .modal .receiptPaymentModeSwitch button{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage .modal .receiptPaymentModeSwitch button:hover,
html[data-theme="light"] body.immoPage .modal .receiptPaymentModeSwitch button:focus-visible{
	color: var(--ui-heading) !important;
}

html[data-theme="light"] body.immoPage .modal .receiptPaymentModeSwitch button.is-active{
	border-color: #b7cbe1 !important;
	background: var(--ui-accent-soft) !important;
	color: var(--ui-accent-strong) !important;
	box-shadow: none !important;
}

/* Receipt actions: every payment/update/reminder modal must keep its own
 * foreground contrast when the dark-theme component styles are inherited. */
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .receiptActionPanel{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .receiptPartialChoice,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .receiptCommentChoice,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .receiptCommentChoices label,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .receiptProrataSummary > span{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .receiptPartialChoice > span,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .receiptCommentChoice > span,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .receiptCommentChoices label > span{
	color: var(--ui-text) !important;
	opacity: 1 !important;
}

html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .receiptActionPanelTitle,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .receiptProrataSummary strong{
	color: var(--ui-heading) !important;
}

html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .receiptActionHelp,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .receiptProrataSummary small{
	color: var(--ui-muted) !important;
}

/* Contract custom clauses use a dark-theme palette in index.css. Keep the
 * inherited clauses and their controls readable when the modal is light. */
html[data-theme="light"] body.immoPage #addContract .contractCustomClauseItem{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractCustomClauseItem.is-dragging{
	border-color: var(--ui-button-primary-border) !important;
	background: var(--ui-accent-soft) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractCustomClauseText{
	color: var(--ui-text) !important;
	opacity: 1 !important;
}

html[data-theme="light"] body.immoPage #addContract .contractCustomClauseDragHandle,
html[data-theme="light"] body.immoPage #addContract .contractCustomClauseEditButton,
html[data-theme="light"] body.immoPage #addContract .contractCustomClauseRemove{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-muted) !important;
	opacity: 1 !important;
}

html[data-theme="light"] body.immoPage #addContract .contractCustomClauseRemove{
	border-color: var(--ui-button-danger-border) !important;
	background: var(--ui-button-danger-bg) !important;
	color: var(--ui-button-danger-text) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractCustomClauseEditButton{
	border-color: var(--ui-button-primary-border) !important;
	background: var(--ui-button-primary-bg) !important;
	color: var(--ui-button-primary-text) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractCustomClauseDragHandle:hover,
html[data-theme="light"] body.immoPage #addContract .contractCustomClauseDragHandle:focus-visible,
html[data-theme="light"] body.immoPage #addContract .contractCustomClauseEditButton:hover,
html[data-theme="light"] body.immoPage #addContract .contractCustomClauseEditButton:focus-visible{
	border-color: var(--ui-button-primary-border) !important;
	background: var(--ui-button-primary-hover) !important;
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractCustomClauseItem.is-editing{
	border-color: var(--ui-button-primary-border) !important;
	background: var(--ui-accent-soft) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractCustomClauseItem.is-editing .contractCustomClauseEditButton{
	border-color: var(--ui-button-success-border) !important;
	background: var(--ui-button-success-bg) !important;
	color: var(--ui-button-success-text) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractCustomClauseEditInput{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractCustomClauseRemove:hover,
html[data-theme="light"] body.immoPage #addContract .contractCustomClauseRemove:focus-visible{
	border-color: var(--ui-button-danger-border) !important;
	background: var(--ui-button-danger-hover) !important;
	color: var(--ui-button-danger-text) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractCustomClausesEmpty{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractCustomClauseSuggestions{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-accent-soft) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractCustomClauseSuggestionsTitle,
html[data-theme="light"] body.immoPage #addContract .contractCustomClauseSuggestion{
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractCustomClauseSuggestionsHelp{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractCustomClauseSuggestion{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractCustomClauseSuggestion:hover,
html[data-theme="light"] body.immoPage #addContract .contractCustomClauseSuggestion:focus-within{
	border-color: var(--ui-button-primary-border) !important;
	background: var(--ui-button-primary-hover) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractCustomClausesWarning{
	color: var(--ui-warning) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractCustomClausesCounter{
	color: var(--ui-muted) !important;
	opacity: 1 !important;
}

html[data-theme="light"] body.immoPage #addContract .contractReplacementDateDisclaimer{
	border-color: var(--ui-button-info-border) !important;
	background: var(--ui-info-soft) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractReplacementDateDisclaimer strong{
	color: var(--ui-info) !important;
}

html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .receiptCommentAddButton,
html[data-theme="light"] body.immoPage .modal#invoices .globalInvoiceCommentAdd .buttonSmall{
	border-color: var(--ui-button-primary-border) !important;
	background: var(--ui-button-primary-bg) !important;
	color: var(--ui-button-primary-text) !important;
	opacity: 1 !important;
}

html[data-theme="light"] body.immoPage .modal .receiptBankConnectPrompt,
html[data-theme="light"] body.immoPage .modal .receiptBankEmptyState{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage .modal .receiptBankPromptEyebrow{
	color: #315f8f !important;
}

html[data-theme="light"] body.immoPage .modal .receiptBankConnectPrompt h4,
html[data-theme="light"] body.immoPage .modal .receiptBankEmptyState h4{
	color: var(--ui-heading) !important;
}

html[data-theme="light"] body.immoPage .modal .receiptBankConnectPrompt p,
html[data-theme="light"] body.immoPage .modal .receiptBankEmptyState p{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage .modal .receiptBankPromptBenefits span{
	background: #e4eef8 !important;
	color: #315f8f !important;
}

html[data-theme="light"] body.immoPage .modal .receiptBankSettingsButton{
	border-color: var(--ui-button-primary-border) !important;
	background: var(--ui-button-primary-bg) !important;
	color: var(--ui-button-primary-text) !important;
}

html[data-theme="light"] body.immoPage .modal .bankModalMatchSlot .receiptBankMatches,
html[data-theme="light"] body.immoPage .modal .bankModalMatchSlot .receiptBankMatch{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage .modal .bankModalMatchSlot .receiptBankMatch.is-reliable,
html[data-theme="light"] body.immoPage .modal .bankModalMatchSlot .receiptBankMatch.is-auto{
	border-color: #b7ddc6 !important;
	background: #f1faf5 !important;
}

html[data-theme="light"] body.immoPage .modal .bankModalMatchSlot .receiptBankMatches > h4,
html[data-theme="light"] body.immoPage .modal .bankModalMatchSlot .receiptBankMatch > p,
html[data-theme="light"] body.immoPage .modal .bankModalMatchSlot .receiptBankMatchFacts small{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage .modal .bankModalMatchSlot .receiptBankMatch > header strong,
html[data-theme="light"] body.immoPage .modal .bankModalMatchSlot .receiptBankMatchFacts strong{
	color: var(--ui-heading) !important;
}

html[data-theme="light"] body.immoPage .modal .bankModalMatchSlot .receiptBankMatchFacts > span{
	background: rgba(255, 255, 255, 0.78) !important;
}

html[data-theme="light"] body.immoPage .modal .bankModalMatchSlot .receiptBankMatch > header span,
html[data-theme="light"] body.immoPage .modal .bankModalMatchSlot .receiptBankMatch > header em{
	color: #315f8f !important;
}

html[data-theme="light"] body.immoPage .modal .bankModalMatchSlot .receiptBankMatch.is-reliable > header span,
html[data-theme="light"] body.immoPage .modal .bankModalMatchSlot .receiptBankMatch.is-reliable > header em,
html[data-theme="light"] body.immoPage .modal .bankModalMatchSlot .receiptBankMatch.is-auto > header span,
html[data-theme="light"] body.immoPage .modal .bankModalMatchSlot .receiptBankMatch.is-auto > header em{
	color: #24764a !important;
}

html[data-theme="light"] body.immoPage .modal .bankModalMatchSlot .receiptBankMatchValidate{
	border-color: var(--ui-button-primary-border) !important;
	background: var(--ui-button-primary-bg) !important;
	color: var(--ui-button-primary-text) !important;
}

html[data-theme="light"] body.immoPage .contractSectionContentMain,
html[data-theme="light"] body.immoPage .contractSectionContentMain a,
html[data-theme="light"] body.immoPage .contractSectionContentMain span,
html[data-theme="light"] body.immoPage .contractSectionContentMain i,
html[data-theme="light"] body.intervenantPage .intervenantOverview strong,
html[data-theme="light"] body.intervenantPage .intervenantDelegationMain strong,
html[data-theme="light"] body.intervenantPage .intervenantDataRow strong,
html[data-theme="light"] body.intervenantPage .intervenantOwnerHero h1,
html[data-theme="light"] body.intervenantPage .intervenantOwnerFeedCell strong{
	color: var(--ui-heading) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantOverview span,
html[data-theme="light"] body.intervenantPage .intervenantDelegationMain span,
html[data-theme="light"] body.intervenantPage .intervenantDelegationMeta span,
html[data-theme="light"] body.intervenantPage .intervenantDataRow span,
html[data-theme="light"] body.intervenantPage .intervenantDataMeta,
html[data-theme="light"] body.intervenantPage .intervenantOwnerHero p,
html[data-theme="light"] body.intervenantPage .intervenantOwnerFeedCell span{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantSectionHeader h1,
html[data-theme="light"] body.intervenantPage .intervenantSectionHeader h2{
	color: var(--ui-heading) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantSectionHeader span{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage table,
html[data-theme="light"] body.intervenantPage table{
	color: var(--ui-text);
}

html[data-theme="light"] body.immoPage table th,
html[data-theme="light"] body.intervenantPage table th,
html[data-theme="light"] body.intervenantPage .intervenantDocsListHeader,
html[data-theme="light"] body.intervenantPage #ownerTenants .customerDocsToolbarRow{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-soft) !important;
	color: var(--ui-heading) !important;
}

html[data-theme="light"] body.immoPage table td,
html[data-theme="light"] body.intervenantPage table td,
html[data-theme="light"] body.intervenantPage .intervenantDocsRow,
html[data-theme="light"] body.intervenantPage #ownerTenants .customerDocsRow{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage table tr:nth-child(even) td,
html[data-theme="light"] body.intervenantPage table tr:nth-child(even) td,
html[data-theme="light"] body.intervenantPage .intervenantDocsRow:nth-child(even){
	background: var(--ui-surface-alt) !important;
}

/* Form fields and neutral actions. */
html[data-theme="light"] body.immoPage .formText,
html[data-theme="light"] body.immoPage input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
html[data-theme="light"] body.immoPage select,
html[data-theme="light"] body.immoPage textarea,
html[data-theme="light"] body.immoPage .dropdown-btn,
html[data-theme="light"] body.intervenantPage .formText,
html[data-theme="light"] body.intervenantPage input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
html[data-theme="light"] body.intervenantPage select,
html[data-theme="light"] body.intervenantPage textarea,
html[data-theme="light"] body.intervenantPage .dropdown-btn{
	border-color: var(--ui-border-strong) !important;
	background-color: var(--ui-surface) !important;
	color: var(--ui-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage input::placeholder,
html[data-theme="light"] body.immoPage textarea::placeholder,
html[data-theme="light"] body.intervenantPage input::placeholder,
html[data-theme="light"] body.intervenantPage textarea::placeholder{
	color: var(--ui-subtle) !important;
	opacity: 1;
}

html[data-theme="light"] body.immoPage .formText:focus,
html[data-theme="light"] body.immoPage input:focus,
html[data-theme="light"] body.immoPage select:focus,
html[data-theme="light"] body.immoPage textarea:focus,
html[data-theme="light"] body.intervenantPage .formText:focus,
html[data-theme="light"] body.intervenantPage input:focus,
html[data-theme="light"] body.intervenantPage select:focus,
html[data-theme="light"] body.intervenantPage textarea:focus{
	border-color: var(--ui-accent) !important;
	outline: none !important;
	box-shadow: 0 0 0 3px var(--ui-focus) !important;
}

html[data-theme="light"] body.immoPage input[readonly],
html[data-theme="light"] body.immoPage input:disabled,
html[data-theme="light"] body.immoPage select:disabled,
html[data-theme="light"] body.immoPage textarea:disabled,
html[data-theme="light"] body.intervenantPage input[readonly],
html[data-theme="light"] body.intervenantPage input:disabled,
html[data-theme="light"] body.intervenantPage select:disabled,
html[data-theme="light"] body.intervenantPage textarea:disabled{
	background: var(--ui-surface-soft) !important;
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage select option,
html[data-theme="light"] body.immoPage select optgroup,
html[data-theme="light"] body.intervenantPage select option,
html[data-theme="light"] body.intervenantPage select optgroup{
	background: #ffffff !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage .fieldset-input label,
html[data-theme="light"] body.intervenantPage .fieldset-input label{
	background: var(--ui-surface) !important;
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage input[type="checkbox"],
html[data-theme="light"] body.immoPage input[type="radio"],
html[data-theme="light"] body.intervenantPage input[type="checkbox"],
html[data-theme="light"] body.intervenantPage input[type="radio"]{
	accent-color: var(--ui-accent);
}

/* Modal checkboxes and radios: the dark rule `.modal:not(.settingsModal) input[type=checkbox|radio]`
 * (0,4,2, lavender --light-color) outranks the rule above (0,3,3), so checked boxes turned pale with a
 * dark tick. Same accent as the page. Switches (.switch, Non/Oui pills) keep an invisible input. */
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) :is(input[type="checkbox"], input[type="radio"]){
	accent-color: var(--ui-accent);
}

html[data-theme="light"] body.immoPage .button,
html[data-theme="light"] body.immoPage .buttonSmall,
html[data-theme="light"] body.intervenantPage .button,
html[data-theme="light"] body.intervenantPage .buttonSmall{
	border-color: var(--ui-button-neutral-border) !important;
	background: var(--ui-button-neutral-bg) !important;
	color: var(--ui-button-neutral-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage .button:hover,
html[data-theme="light"] body.immoPage .button:focus-visible,
html[data-theme="light"] body.immoPage .buttonSmall:hover,
html[data-theme="light"] body.immoPage .buttonSmall:focus-visible,
html[data-theme="light"] body.intervenantPage .button:hover,
html[data-theme="light"] body.intervenantPage .button:focus-visible,
html[data-theme="light"] body.intervenantPage .buttonSmall:hover,
html[data-theme="light"] body.intervenantPage .buttonSmall:focus-visible{
	border-color: var(--ui-button-neutral-hover-border) !important;
	background: var(--ui-button-neutral-hover) !important;
	color: var(--ui-button-neutral-hover-text) !important;
	outline: none !important;
}

/* Plain modal buttons: the dark rule `.modal:not(.settingsModal) .button` (0,4,1) otherwise
 * keeps near-white text on the white modal. Same specificity family as the tones below,
 * which come later and therefore win for their own buttons. */
html[data-theme="light"] body.immoPage .modal:where(:not(.settingsModal)) .button,
html[data-theme="light"] body.immoPage .modal:where(:not(.settingsModal)) .buttonSmall,
html[data-theme="light"] body.intervenantPage .modal:where(:not(.settingsModal)) .button,
html[data-theme="light"] body.intervenantPage .modal:where(:not(.settingsModal)) .buttonSmall{
	border-color: var(--ui-button-neutral-border) !important;
	background: var(--ui-button-neutral-bg) !important;
	color: var(--ui-button-neutral-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage .modal:where(:not(.settingsModal)) :is(.mwPick, .filePick, .itemsActionsPick) .button{
	background: transparent !important;
	border-color: transparent !important;
}

html[data-theme="light"] body.immoPage .actionTone--primary,
html[data-theme="light"] body.immoPage .modal .button.actionTone--primary,
html[data-theme="light"] body.immoPage .modal .buttonSmall.actionTone--primary,
html[data-theme="light"] body.intervenantPage .actionTone--primary{
	border-color: var(--ui-button-primary-border) !important;
	background: var(--ui-button-primary-bg) !important;
	color: var(--ui-button-primary-text) !important;
}

html[data-theme="light"] body.immoPage .actionTone--success,
html[data-theme="light"] body.immoPage .modal .button.actionTone--success,
html[data-theme="light"] body.immoPage .modal .buttonSmall.actionTone--success,
html[data-theme="light"] body.intervenantPage .actionTone--success{
	border-color: var(--ui-button-success-border) !important;
	background: var(--ui-button-success-bg) !important;
	color: var(--ui-button-success-text) !important;
}

html[data-theme="light"] body.immoPage .actionTone--danger,
html[data-theme="light"] body.immoPage .modal .button.actionTone--danger,
html[data-theme="light"] body.immoPage .modal .buttonSmall.actionTone--danger,
html[data-theme="light"] body.intervenantPage .actionTone--danger{
	border-color: var(--ui-button-danger-border) !important;
	background: var(--ui-button-danger-bg) !important;
	color: var(--ui-button-danger-text) !important;
}

html[data-theme="light"] body.immoPage .actionTone--primary:hover,
html[data-theme="light"] body.immoPage .actionTone--primary:focus-visible,
html[data-theme="light"] body.intervenantPage .actionTone--primary:hover,
html[data-theme="light"] body.intervenantPage .actionTone--primary:focus-visible{
	border-color: var(--ui-button-primary-hover-border) !important;
	background: var(--ui-button-primary-hover) !important;
	color: var(--ui-button-primary-hover-text) !important;
}

html[data-theme="light"] body.immoPage .actionTone--success:hover,
html[data-theme="light"] body.immoPage .actionTone--success:focus-visible,
html[data-theme="light"] body.intervenantPage .actionTone--success:hover,
html[data-theme="light"] body.intervenantPage .actionTone--success:focus-visible{
	border-color: var(--ui-button-success-hover-border) !important;
	background: var(--ui-button-success-hover) !important;
	color: var(--ui-button-success-hover-text) !important;
}

html[data-theme="light"] body.immoPage .actionTone--danger:hover,
html[data-theme="light"] body.immoPage .actionTone--danger:focus-visible,
html[data-theme="light"] body.intervenantPage .actionTone--danger:hover,
html[data-theme="light"] body.intervenantPage .actionTone--danger:focus-visible{
	border-color: var(--ui-button-danger-hover-border) !important;
	background: var(--ui-button-danger-hover) !important;
	color: var(--ui-button-danger-hover-text) !important;
}

html[data-theme="light"] body.immoPage .button:disabled,
html[data-theme="light"] body.immoPage .buttonSmall:disabled,
html[data-theme="light"] body.immoPage .button[aria-disabled="true"],
html[data-theme="light"] body.immoPage .buttonSmall[aria-disabled="true"],
html[data-theme="light"] body.intervenantPage .button:disabled,
html[data-theme="light"] body.intervenantPage .buttonSmall:disabled,
html[data-theme="light"] body.intervenantPage .button[aria-disabled="true"],
html[data-theme="light"] body.intervenantPage .buttonSmall[aria-disabled="true"]{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-soft) !important;
	color: var(--ui-subtle) !important;
	box-shadow: none !important;
	cursor: not-allowed !important;
	opacity: 0.68;
}

/* Generic and settings modals. */
html[data-theme="light"] body.immoPage .modal,
html[data-theme="light"] body.intervenantPage .modal,
html[data-theme="light"] body.intervenantPage .intervenantDataModal,
html[data-theme="light"] body.intervenantPage .intervenantLogsModal,
html[data-theme="light"] body.intervenantPage .intervenantSettingsModal{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
	box-shadow: var(--ui-shadow-strong) !important;
}

html[data-theme="light"] body.immoPage .modal-header,
html[data-theme="light"] body.intervenantPage .modal-header,
html[data-theme="light"] body.intervenantPage .intervenantDataModal .modal-header,
html[data-theme="light"] body.intervenantPage .intervenantLogsModal .modal-header,
html[data-theme="light"] body.intervenantPage .intervenantSettingsModal .modal-header{
	border-bottom-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-heading) !important;
}

html[data-theme="light"] body.immoPage .modal-header .close-button,
html[data-theme="light"] body.intervenantPage .modal-header .close-button,
html[data-theme="light"] body.intervenantPage .intervenantDataModal .close-button,
html[data-theme="light"] body.intervenantPage .intervenantLogsModal .close-button{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage .modal_body,
html[data-theme="light"] body.immoPage .modal_body_settings,
html[data-theme="light"] body.intervenantPage .modal_body,
html[data-theme="light"] body.intervenantPage .intervenantDataModalBody,
html[data-theme="light"] body.intervenantPage .intervenantLogsModalBody{
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #overlay.active,
html[data-theme="light"] body.intervenantPage #overlay.active{
	background-color: rgba(26, 36, 49, 0.38) !important;
}

html[data-theme="light"] body.immoPage .dropdown-content,
html[data-theme="light"] body.intervenantPage .dropdown-content,
html[data-theme="light"] body.intervenantPage .intervenantPdfActionMenu,
html[data-theme="light"] body.intervenantPage .intervenantDelegationMenu{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
	box-shadow: var(--ui-shadow) !important;
}

html[data-theme="light"] body.immoPage .dropdown-content label,
html[data-theme="light"] body.intervenantPage .dropdown-content label,
html[data-theme="light"] body.intervenantPage .intervenantPdfActionMenu a{
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage .dropdown-content label:hover,
html[data-theme="light"] body.intervenantPage .dropdown-content label:hover,
html[data-theme="light"] body.intervenantPage .intervenantPdfActionMenu a:hover,
html[data-theme="light"] body.intervenantPage .intervenantPdfActionMenu a:focus-visible{
	background: var(--ui-accent-soft) !important;
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage .modalTabBar,
html[data-theme="light"] body.immoPage .invoiceModalTabs,
html[data-theme="light"] body.intervenantPage .modalTabBar,
html[data-theme="light"] body.intervenantPage .intervenantBillingTabs,
html[data-theme="light"] body.intervenantPage .intervenantDocsTabs{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-soft) !important;
}

html[data-theme="light"] body.immoPage .modalTabBar .button,
html[data-theme="light"] body.immoPage .invoiceModalTabs .button,
html[data-theme="light"] body.intervenantPage .modalTabBar .button,
html[data-theme="light"] body.intervenantPage .intervenantBillingTab,
html[data-theme="light"] body.intervenantPage .intervenantDocsTab{
	border-color: transparent !important;
	background: transparent !important;
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage .modalTabBar .button.is-active,
html[data-theme="light"] body.immoPage .invoiceModalTabs .button.is-active,
html[data-theme="light"] body.immoPage .globalInvoiceModeButton.is-active,
html[data-theme="light"] body.intervenantPage .modalTabBar .button.is-active,
html[data-theme="light"] body.intervenantPage .modalTabBar .button.isActive,
html[data-theme="light"] body.intervenantPage .intervenantBillingTab.isActive,
html[data-theme="light"] body.intervenantPage .intervenantDocsTab.isActive{
	border-color: #b7cbe1 !important;
	background: var(--ui-accent-soft) !important;
	color: var(--ui-accent-strong) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage .settingsModal,
html[data-theme="light"] body.intervenantPage .intervenantSettingsModal{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage .settingsModal .settingsShell,
html[data-theme="light"] body.intervenantPage .intervenantSettingsModal .settingsShell{
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage .settingsModal .settingsNav,
html[data-theme="light"] body.intervenantPage .intervenantSettingsModal .settingsNav{
	border-right-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
}

html[data-theme="light"] body.immoPage .settingsModal .settingsNavItem,
html[data-theme="light"] body.intervenantPage .intervenantSettingsModal .settingsNavItem{
	border-color: transparent !important;
	border-bottom-color: var(--ui-border) !important;
	background: transparent !important;
	color: var(--ui-muted) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage .settingsModal .settingsNavItem.isActive,
html[data-theme="light"] body.intervenantPage .intervenantSettingsModal .settingsNavItem.isActive{
	border-color: #b7cbe1 !important;
	background: var(--ui-accent-soft) !important;
	color: var(--ui-accent-strong) !important;
	box-shadow: inset 3px 0 0 var(--ui-accent) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsNavItem,
html[data-theme="light"] body.immoPage #settings.settingsModal .settingsNavItem::after,
html[data-theme="light"] body.immoPage #settings.settingsModal .settingsNavItem.isActive::after{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsNavItem.isActive,
html[data-theme="light"] body.immoPage #settings.settingsModal .settingsNavItem.isActive::after{
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage .settingsModal .settingsContent,
html[data-theme="light"] body.immoPage .settingsModal .settingsPanel,
html[data-theme="light"] body.intervenantPage .intervenantSettingsModal .settingsContent,
html[data-theme="light"] body.intervenantPage .intervenantSettingsModal .settingsPanel{
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage .settingsModal .settingsStorageUsage,
html[data-theme="light"] body.immoPage .settingsModal .settingsSectionTitle li,
html[data-theme="light"] body.immoPage .settingsModal .settingsContent .formSettings,
html[data-theme="light"] body.immoPage .settingsModal .settingsBusinessForm,
html[data-theme="light"] body.immoPage .settingsModal .settingsChoiceBand,
html[data-theme="light"] body.immoPage .settingsModal .settingsBillingCard,
html[data-theme="light"] body.immoPage .settingsModal .settingsLogsCard,
html[data-theme="light"] body.intervenantPage .intervenantSettingsModal .settingsSectionTitle li,
html[data-theme="light"] body.intervenantPage .intervenantSettingsModal .formSettings,
html[data-theme="light"] body.intervenantPage .intervenantSettingsModal .intervenantSettingsForm,
html[data-theme="light"] body.intervenantPage .intervenantSettingsModal .intervenantSettingsAccordionBody,
html[data-theme="light"] body.intervenantPage .intervenantSettingsModal .intervenantSettingsSummary,
html[data-theme="light"] body.intervenantPage .intervenantSettingsModal .intervenantSettingsFieldset{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage .settingsModal .fieldset-input label,
html[data-theme="light"] body.intervenantPage .intervenantSettingsModal .fieldset-input label{
	background: var(--ui-surface-alt) !important;
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage .settingsModal p,
html[data-theme="light"] body.immoPage .settingsModal span,
html[data-theme="light"] body.immoPage .settingsModal strong,
html[data-theme="light"] body.immoPage .settingsModal h3,
html[data-theme="light"] body.immoPage .settingsModal h4,
html[data-theme="light"] body.immoPage .settingsModal li,
html[data-theme="light"] body.intervenantPage .intervenantSettingsModal p,
html[data-theme="light"] body.intervenantPage .intervenantSettingsModal span,
html[data-theme="light"] body.intervenantPage .intervenantSettingsModal strong,
html[data-theme="light"] body.intervenantPage .intervenantSettingsModal h3,
html[data-theme="light"] body.intervenantPage .intervenantSettingsModal h4,
html[data-theme="light"] body.intervenantPage .intervenantSettingsModal li{
	color: var(--ui-text);
}

html[data-theme="light"] body.immoPage .settingsModal .settingsFormHint,
html[data-theme="light"] body.intervenantPage .intervenantSettingsModal .settingsFormHint,
html[data-theme="light"] body.intervenantPage .intervenantSettingsModal .intervenantSettingsOverviewHeader > small,
html[data-theme="light"] body.intervenantPage .intervenantSettingsModal .intervenantSettingsSummary span{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage .triangle,
html[data-theme="light"] body.immoPage a.triangle,
html[data-theme="light"] body.intervenantPage .triangle,
html[data-theme="light"] body.intervenantPage a.triangle{
	background: var(--ui-surface-soft) !important;
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage .triangle:hover,
html[data-theme="light"] body.immoPage a.triangle:hover,
html[data-theme="light"] body.intervenantPage .triangle:hover,
html[data-theme="light"] body.intervenantPage a.triangle:hover{
	background: var(--ui-accent-soft) !important;
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage .settingsLiveStatus.is-ok,
html[data-theme="light"] body.intervenantPage .settingsLiveStatus.is-ok{
	color: var(--ui-success) !important;
}

html[data-theme="light"] body.immoPage .settingsLiveStatus.is-error,
html[data-theme="light"] body.intervenantPage .settingsLiveStatus.is-error{
	color: var(--ui-danger) !important;
}

html[data-theme="light"] body.immoPage .settingsLiveStatus.is-warn,
html[data-theme="light"] body.intervenantPage .settingsLiveStatus.is-warn{
	color: var(--ui-warning) !important;
}

html[data-theme="light"] .uiThemeSettingsForm{
	--ui-theme-form-bg: var(--ui-surface-alt);
	--ui-theme-switch-bg: var(--ui-surface-soft);
	border-color: var(--ui-border);
	background: var(--ui-surface-alt);
	color: var(--ui-text);
}

html[data-theme="light"] body.immoPage .settingsModal .settingsContent .uiThemeSettingsForm,
html[data-theme="light"] body.intervenantPage .intervenantSettingsModal .uiThemeSettingsForm{
	border: 1px solid var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	box-shadow: none !important;
}

html[data-theme="light"] .uiThemeSettingsForm > p{
	color: var(--ui-muted);
}

html[data-theme="light"] .uiThemeFieldset{
	border-color: transparent;
}

html[data-theme="light"] .uiThemeFieldset legend{
	color: var(--ui-muted);
}

html[data-theme="light"] .uiThemeChoices{
	border-color: var(--ui-border-strong);
	background: var(--ui-surface-soft);
}

html[data-theme="light"] .uiThemeChoice{
	border-color: transparent;
	background: transparent;
	color: var(--ui-muted);
}

html[data-theme="light"] .uiThemeChoice:hover{
	border-color: var(--ui-border);
	background: rgba(255, 255, 255, 0.66);
	color: var(--ui-accent-strong);
}

html[data-theme="light"] .uiThemeChoice:has(input[type="radio"]:checked){
	border-color: #b7cbe1;
	background: var(--ui-accent-soft);
	color: var(--ui-accent-strong);
	box-shadow: 0 2px 7px rgba(27, 39, 55, 0.12), inset 0 0 0 1px rgba(49, 95, 145, 0.05);
}

/* Messaging workspace, shared by owners and providers. */
html[data-theme="light"] body.immoPage #messages,
html[data-theme="light"] body.intervenantPage #messages{
	--messages-separator-color: var(--ui-border) !important;
}

html[data-theme="light"] body.immoPage #messages.settingsModal,
html[data-theme="light"] body.intervenantPage #messages.intervenantMessagesModal,
html[data-theme="light"] body.immoPage #messages .messagesShell,
html[data-theme="light"] body.intervenantPage #messages .messagesShell,
html[data-theme="light"] body.immoPage #messages .messagesContent,
html[data-theme="light"] body.intervenantPage #messages .messagesContent,
html[data-theme="light"] body.immoPage #messages .messagesThreadPanel,
html[data-theme="light"] body.intervenantPage #messages .messagesThreadPanel{
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #messages .messagesNav,
html[data-theme="light"] body.intervenantPage #messages .messagesNav{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
}

html[data-theme="light"] body.immoPage #messages .messagesSearchCard,
html[data-theme="light"] body.intervenantPage #messages .messagesSearchCard,
html[data-theme="light"] body.immoPage #messages .messagesThreadHeader,
html[data-theme="light"] body.intervenantPage #messages .messagesThreadHeader,
html[data-theme="light"] body.immoPage #messages .messagesComposer,
html[data-theme="light"] body.intervenantPage #messages .messagesComposer{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
}

html[data-theme="light"] body.immoPage #messages .messagesSearchCounter,
html[data-theme="light"] body.intervenantPage #messages .messagesSearchCounter,
html[data-theme="light"] body.immoPage #messages .messagesConversationMeta,
html[data-theme="light"] body.intervenantPage #messages .messagesConversationMeta,
html[data-theme="light"] body.immoPage #messages .messagesConversationPreview,
html[data-theme="light"] body.intervenantPage #messages .messagesConversationPreview,
html[data-theme="light"] body.immoPage #messages .messagesThreadIdentity small,
html[data-theme="light"] body.intervenantPage #messages .messagesThreadIdentity small{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #messages .messagesConversationItem,
html[data-theme="light"] body.intervenantPage #messages .messagesConversationItem{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #messages .messagesConversationItem::before,
html[data-theme="light"] body.intervenantPage #messages .messagesConversationItem::before{
	color: var(--ui-heading) !important;
	text-shadow: none !important;
}

html[data-theme="light"] body.immoPage #messages .messagesConversationItem::after,
html[data-theme="light"] body.intervenantPage #messages .messagesConversationItem::after{
	color: var(--ui-accent) !important;
	text-shadow: none !important;
}

html[data-theme="light"] body.immoPage #messages .messagesConversationItem:hover,
html[data-theme="light"] body.immoPage #messages .messagesConversationItem:focus-visible,
html[data-theme="light"] body.intervenantPage #messages .messagesConversationItem:hover,
html[data-theme="light"] body.intervenantPage #messages .messagesConversationItem:focus-visible{
	border-color: #b7cbe1 !important;
	background: var(--ui-surface-hover) !important;
}

html[data-theme="light"] body.immoPage #messages .messagesConversationItem.isActive,
html[data-theme="light"] body.intervenantPage #messages .messagesConversationItem.isActive{
	border-color: #9fbddd !important;
	background: var(--ui-accent-soft) !important;
	box-shadow: inset 3px 0 0 var(--ui-accent) !important;
}

html[data-theme="light"] body.immoPage #messages .messagesConversationItem.isActive::before,
html[data-theme="light"] body.intervenantPage #messages .messagesConversationItem.isActive::before{
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage #messages .messagesConversationItem.hasNotifications,
html[data-theme="light"] body.intervenantPage #messages .messagesConversationItem.hasNotifications{
	border-color: #e3aeb7 !important;
}

html[data-theme="light"] body.immoPage #messages .messagesConversationBadge,
html[data-theme="light"] body.intervenantPage #messages .messagesConversationBadge{
	border: 0 !important;
	background: #bd263f !important;
	color: #ffffff !important;
}

html[data-theme="light"] body.immoPage #messages .messagesConversationTop strong,
html[data-theme="light"] body.intervenantPage #messages .messagesConversationTop strong,
html[data-theme="light"] body.immoPage #messages .messagesThreadIdentity strong,
html[data-theme="light"] body.intervenantPage #messages .messagesThreadIdentity strong,
html[data-theme="light"] body.immoPage #messages .messagesEmptyBubble strong,
html[data-theme="light"] body.intervenantPage #messages .messagesEmptyBubble strong{
	color: var(--ui-heading) !important;
}

html[data-theme="light"] body.immoPage #messages .messagesConversationTop small,
html[data-theme="light"] body.intervenantPage #messages .messagesConversationTop small,
html[data-theme="light"] body.immoPage #messages .messagesThreadIdentity span,
html[data-theme="light"] body.intervenantPage #messages .messagesThreadIdentity span{
	color: var(--ui-accent) !important;
}

html[data-theme="light"] body.immoPage #messages .messagesConversationEmpty,
html[data-theme="light"] body.intervenantPage #messages .messagesConversationEmpty{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface-soft) !important;
	color: var(--ui-muted) !important;
}

@media screen and (max-width: 700px){
	body.immoPage #messages .messagesNoConversation:not([hidden]),
	body.intervenantPage #messages .messagesNoConversation:not([hidden]){
		flex: 0 0 min(188px, 58vw) !important;
		height: 52px !important;
		min-height: 52px !important;
		max-height: 52px !important;
		padding: 6px 10px !important;
		gap: 2px !important;
		align-content: center !important;
		overflow: hidden !important;
		box-sizing: border-box !important;
	}

	body.immoPage #messages .messagesNoConversation strong,
	body.intervenantPage #messages .messagesNoConversation strong{
		display: block;
		min-width: 0;
		font-size: 0.76rem !important;
		line-height: 1.05 !important;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	body.immoPage #messages .messagesNoConversation span,
	body.intervenantPage #messages .messagesNoConversation span{
		display: block;
		min-width: 0;
		font-size: 0.62rem !important;
		line-height: 1.05 !important;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
}

html[data-theme="light"] body.immoPage #messages .messagesContactAvatar,
html[data-theme="light"] body.intervenantPage #messages .messagesContactAvatar{
	border-color: #a8c3df !important;
	background: var(--ui-accent-soft) !important;
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage #messages .messagesThreadBody,
html[data-theme="light"] body.intervenantPage #messages .messagesThreadBody{
	background: linear-gradient(180deg, #fbfcfe, #f5f8fb) !important;
}

html[data-theme="light"] body.immoPage #messages .messagesMockBubble,
html[data-theme="light"] body.intervenantPage #messages .messagesMockBubble{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
	box-shadow: 0 3px 12px rgba(27, 39, 55, 0.05);
}

html[data-theme="light"] body.immoPage #messages .messagesMockMessage.isContact .messagesMockBubble,
html[data-theme="light"] body.intervenantPage #messages .messagesMockMessage.isContact .messagesMockBubble{
	border-color: #bfd3e8 !important;
	background: var(--ui-info-soft) !important;
}

html[data-theme="light"] body.immoPage #messages .messagesMockMessage.isOwner .messagesMockBubble,
html[data-theme="light"] body.intervenantPage #messages .messagesMockMessage.isOwner .messagesMockBubble{
	border-color: #b9ddc9 !important;
	background: var(--ui-success-soft) !important;
}

html[data-theme="light"] body.immoPage #messages .messagesMockMeta strong,
html[data-theme="light"] body.intervenantPage #messages .messagesMockMeta strong,
html[data-theme="light"] body.immoPage #messages .messagesMockBubble p,
html[data-theme="light"] body.intervenantPage #messages .messagesMockBubble p{
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #messages .messagesMockMeta small,
html[data-theme="light"] body.intervenantPage #messages .messagesMockMeta small,
html[data-theme="light"] body.immoPage #messages .messagesMockDelivery,
html[data-theme="light"] body.intervenantPage #messages .messagesMockDelivery,
html[data-theme="light"] body.immoPage #messages .messagesEmptyBubble span,
html[data-theme="light"] body.intervenantPage #messages .messagesEmptyBubble span{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #messages .messagesMockDelivery.is-read,
html[data-theme="light"] body.intervenantPage #messages .messagesMockDelivery.is-read{
	color: var(--ui-accent) !important;
}

html[data-theme="light"] body.immoPage #messages .messagesComposer textarea,
html[data-theme="light"] body.intervenantPage #messages .messagesComposer textarea{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #messages .messagesComposer textarea::placeholder,
html[data-theme="light"] body.intervenantPage #messages .messagesComposer textarea::placeholder{
	color: var(--ui-subtle) !important;
}

html[data-theme="light"] body.immoPage #messages .messagesComposer .button,
html[data-theme="light"] body.intervenantPage #messages .messagesComposer .button{
	border-color: var(--ui-button-primary-border) !important;
	background: var(--ui-button-primary-bg) !important;
	color: var(--ui-button-primary-text) !important;
}

html[data-theme="light"] body.immoPage #messages .messagesKeyboardToggle,
html[data-theme="light"] body.intervenantPage #messages .messagesKeyboardToggle{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-soft) !important;
	color: var(--ui-muted) !important;
}

@media (max-width: 700px){
	html[data-theme="light"] body.immoPage #messages.settingsModal.isMessagesKeyboardOpen,
	html[data-theme="light"] body.intervenantPage #messages.intervenantMessagesModal.isMessagesKeyboardOpen{
		box-shadow: var(--ui-shadow-strong), 0 var(--messages-keyboard-gap-cover) 0 var(--ui-surface) !important;
	}
}

/* Provider workspace details. */
html[data-theme="light"] body.intervenantPage .intervenantDelegationFilter,
html[data-theme="light"] body.intervenantPage .intervenantOwnerFeedFilter,
html[data-theme="light"] body.intervenantPage .intervenantBackLink,
html[data-theme="light"] body.intervenantPage .intervenantOwnerFeedToggle,
html[data-theme="light"] body.intervenantPage .intervenantMissionOpenLink,
html[data-theme="light"] body.intervenantPage .intervenantDelegationOpen{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantDelegationFilter:hover,
html[data-theme="light"] body.intervenantPage .intervenantDelegationFilter:focus-visible,
html[data-theme="light"] body.intervenantPage .intervenantDelegationFilter.isActive,
html[data-theme="light"] body.intervenantPage .intervenantOwnerFeedFilter.isActive,
html[data-theme="light"] body.intervenantPage .intervenantBackLink:hover,
html[data-theme="light"] body.intervenantPage .intervenantBackLink:focus-visible,
html[data-theme="light"] body.intervenantPage .intervenantOwnerFeedToggle:hover,
html[data-theme="light"] body.intervenantPage .intervenantOwnerFeedToggle:focus-visible,
html[data-theme="light"] body.intervenantPage .intervenantMissionOpenLink:hover,
html[data-theme="light"] body.intervenantPage .intervenantMissionOpenLink:focus-visible,
html[data-theme="light"] body.intervenantPage .intervenantDelegationOpen:hover,
html[data-theme="light"] body.intervenantPage .intervenantDelegationOpen:focus-visible{
	border-color: #b7cbe1 !important;
	background: var(--ui-accent-soft) !important;
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantDelegationFilterEmpty,
html[data-theme="light"] body.intervenantPage .intervenantDataEmpty,
html[data-theme="light"] body.intervenantPage .intervenantLogsEmptyState{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantDelegationFilterEmpty strong,
html[data-theme="light"] body.intervenantPage .intervenantLogsEmptyState strong{
	color: var(--ui-heading) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantDelegationFilterEmpty span{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantDelegationMenuRow,
html[data-theme="light"] body.intervenantPage .intervenantLogRow,
html[data-theme="light"] body.intervenantPage .intervenantEmployeeRow,
html[data-theme="light"] body.intervenantPage .intervenantOwnerPropertyRoom,
html[data-theme="light"] body.intervenantPage .intervenantOwnerPropertyCreateForm{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantDelegationMenuRow + .intervenantDelegationMenuRow,
html[data-theme="light"] body.intervenantPage .intervenantDocsRow + .intervenantDocsRow{
	border-color: var(--ui-border) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantDelegationMenuMain strong,
html[data-theme="light"] body.intervenantPage .intervenantLogMain strong,
html[data-theme="light"] body.intervenantPage .intervenantEmployeeMain strong,
html[data-theme="light"] body.intervenantPage .intervenantOwnerPropertyCreateHeader,
html[data-theme="light"] body.intervenantPage .intervenantOwnerTenantSummary strong{
	color: var(--ui-heading) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantDelegationMenuMain span,
html[data-theme="light"] body.intervenantPage .intervenantDelegationMenuEmpty,
html[data-theme="light"] body.intervenantPage .intervenantLogDate,
html[data-theme="light"] body.intervenantPage .intervenantLogMeta,
html[data-theme="light"] body.intervenantPage .intervenantLogMain span,
html[data-theme="light"] body.intervenantPage .intervenantLogDetail,
html[data-theme="light"] body.intervenantPage .intervenantEmployeeMain span,
html[data-theme="light"] body.intervenantPage .intervenantEmployeeMeta,
html[data-theme="light"] body.intervenantPage .intervenantOwnerPropertyCreateHeader span,
html[data-theme="light"] body.intervenantPage .intervenantOwnerTenantSummary span,
html[data-theme="light"] body.intervenantPage .intervenantOwnerTenantSummary > div{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantOwnerFeedSelectWrap,
html[data-theme="light"] body.intervenantPage .intervenantOwnerPropertyOptionGroup,
html[data-theme="light"] body.intervenantPage .intervenantFeedActionCheck,
html[data-theme="light"] body.intervenantPage .intervenantMissionEndConfirm{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantFeedActionIntro,
html[data-theme="light"] body.intervenantPage .intervenantFeedActionText,
html[data-theme="light"] body.intervenantPage .intervenantMissionEndIntro{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantFeedAction,
html[data-theme="light"] body.intervenantPage .intervenantMissionButton,
html[data-theme="light"] body.intervenantPage .intervenantDocsViewButton{
	border-color: var(--ui-button-neutral-border) !important;
	background: var(--ui-button-neutral-bg) !important;
	color: var(--ui-button-neutral-text) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantDocsSubmit,
html[data-theme="light"] body.intervenantPage .intervenantOwnerPropertyCreateSubmit,
html[data-theme="light"] body.intervenantPage .intervenantBillingSubmit{
	border-color: var(--ui-button-primary-border) !important;
	background: var(--ui-button-primary-bg) !important;
	color: var(--ui-button-primary-text) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantMissionButton.isAccept,
html[data-theme="light"] body.intervenantPage .intervenantFeedAction.isPaid,
html[data-theme="light"] body.intervenantPage .intervenantFeedAction.isPaidState,
html[data-theme="light"] body.intervenantPage .intervenantFeedActionSubmit.isPaid{
	border-color: var(--ui-button-success-border) !important;
	background: var(--ui-button-success-bg) !important;
	color: var(--ui-button-success-text) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantMissionButton.isRefuse,
html[data-theme="light"] body.intervenantPage .intervenantFeedAction.isDanger,
html[data-theme="light"] body.intervenantPage .intervenantFeedActionSubmit.isDanger,
html[data-theme="light"] body.intervenantPage .intervenantDocsDeleteButton,
html[data-theme="light"] body.intervenantPage .intervenantEmployeeDisableButton{
	border-color: var(--ui-button-danger-border) !important;
	background: var(--ui-button-danger-bg) !important;
	color: var(--ui-button-danger-text) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantFeedAction.isRefund,
html[data-theme="light"] body.intervenantPage .intervenantFeedAction.isRefundState,
html[data-theme="light"] body.intervenantPage .intervenantFeedActionSubmit.isRefund{
	border-color: var(--ui-button-primary-border) !important;
	background: var(--ui-button-primary-bg) !important;
	color: var(--ui-button-primary-text) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantFeedAction.isNeutral,
html[data-theme="light"] body.intervenantPage .intervenantFeedAction.isExportState{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface-soft) !important;
	color: var(--ui-text) !important;
}

/* Semantic state rows keep their meaning in the light palette. */
html[data-theme="light"] body.intervenantPage .intervenantOwnerFeedRow.is-paid,
html[data-theme="light"] body.intervenantPage .intervenantOwnerFeedRow.is-refunded,
html[data-theme="light"] body.intervenantPage .intervenantOwnerFeedRow.is-partial{
	border-color: #b9ddc9 !important;
	background: var(--ui-success-soft) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantOwnerFeedRow.is-unpaid-short{
	border-color: #ebcd91 !important;
	background: var(--ui-warning-soft) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantOwnerFeedRow.is-unpaid-long{
	border-color: #e7b4bb !important;
	background: var(--ui-danger-soft) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantOwnerFeedRow.is-neutral{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
}

/* Provider documents and logs. */
html[data-theme="light"] body.intervenantPage .intervenantDocsUploadForm,
html[data-theme="light"] body.intervenantPage .intervenantDocumentsModal .intervenantDocsUploadForm.docUploadCard,
html[data-theme="light"] body.intervenantPage .intervenantDocumentsModal .intervenantDocsList,
html[data-theme="light"] body.intervenantPage .intervenantLogsToolbar{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantDocumentsModal .intervenantDocsDropzone{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantDocumentsModal .intervenantDocsDropzone:hover,
html[data-theme="light"] body.intervenantPage .intervenantDocumentsModal .intervenantDocsDropzone:focus-within,
html[data-theme="light"] body.intervenantPage .intervenantDocumentsModal .intervenantDocsDropzone.is-drag-over{
	border-color: var(--ui-accent) !important;
	background: var(--ui-accent-soft) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantDocumentsModal .intervenantDocsDropPlus{
	border-color: #a8c3df !important;
	background: var(--ui-accent-soft) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantDocumentsModal .intervenantDocsDropPlus::before,
html[data-theme="light"] body.intervenantPage .intervenantDocumentsModal .intervenantDocsDropPlus::after{
	background: var(--ui-accent) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantDocumentsModal .intervenantDocsDropText,
html[data-theme="light"] body.intervenantPage .intervenantDocsIdentity span,
html[data-theme="light"] body.intervenantPage .intervenantDocsFile small,
html[data-theme="light"] body.intervenantPage .intervenantOwnerTenantDocMuted{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantDocsIdentity strong,
html[data-theme="light"] body.intervenantPage .intervenantDocsFile a,
html[data-theme="light"] body.intervenantPage .intervenantDocsFile span{
	color: var(--ui-heading) !important;
}

/* Settings summaries, employee cards and electronic invoicing. */
html[data-theme="light"] body.intervenantPage .intervenantSettingsOverview,
html[data-theme="light"] body.intervenantPage .intervenantSettingsOverviewHeader,
html[data-theme="light"] body.intervenantPage .intervenantSettingsSummary article,
html[data-theme="light"] body.intervenantPage .intervenantSettingsCheckOption,
html[data-theme="light"] body.intervenantPage .intervenantSettingsPriceRow,
html[data-theme="light"] body.intervenantPage .intervenantEmployeeRow,
html[data-theme="light"] body.intervenantPage .intervenantBillingCreateForm,
html[data-theme="light"] body.intervenantPage .intervenantEInvoiceHero,
html[data-theme="light"] body.intervenantPage .intervenantEInvoiceCheck,
html[data-theme="light"] body.intervenantPage .intervenantEInvoiceForm,
html[data-theme="light"] body.intervenantPage .intervenantEInvoicePlatform,
html[data-theme="light"] body.intervenantPage .intervenantEInvoiceNotice{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantSettingsOverviewHeader > strong,
html[data-theme="light"] body.intervenantPage .intervenantSettingsOverviewStats strong,
html[data-theme="light"] body.intervenantPage .intervenantSettingsSummary strong,
html[data-theme="light"] body.intervenantPage .intervenantSettingsCheckOption strong,
html[data-theme="light"] body.intervenantPage .intervenantEmployeeMain strong,
html[data-theme="light"] body.intervenantPage .intervenantEInvoiceHero strong,
html[data-theme="light"] body.intervenantPage .intervenantEInvoiceCheck strong{
	color: var(--ui-heading) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantSettingsOverviewHeader > span,
html[data-theme="light"] body.intervenantPage .intervenantSettingsOverviewHeader > small,
html[data-theme="light"] body.intervenantPage .intervenantSettingsOverviewStats span,
html[data-theme="light"] body.intervenantPage .intervenantSettingsSummary span,
html[data-theme="light"] body.intervenantPage .intervenantSettingsCheckOption small,
html[data-theme="light"] body.intervenantPage .intervenantSettingsPriceRow > span,
html[data-theme="light"] body.intervenantPage .intervenantSettingsPriceRow small,
html[data-theme="light"] body.intervenantPage .intervenantEInvoiceHero span,
html[data-theme="light"] body.intervenantPage .intervenantEInvoiceHero small,
html[data-theme="light"] body.intervenantPage .intervenantEInvoiceCheck small,
html[data-theme="light"] body.intervenantPage .intervenantEInvoicePlatform span,
html[data-theme="light"] body.intervenantPage .intervenantEInvoiceNotice span{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantSettingsWarning,
html[data-theme="light"] body.intervenantPage .intervenantEInvoiceNotice{
	border-color: #ebcd91 !important;
	background: var(--ui-warning-soft) !important;
	color: var(--ui-warning) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantEInvoiceCheck.isReady,
html[data-theme="light"] body.intervenantPage .intervenantBillingRouting.isReady{
	border-color: #b9ddc9 !important;
	background: var(--ui-success-soft) !important;
	color: var(--ui-success) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantEInvoiceCheckIcon,
html[data-theme="light"] body.intervenantPage .intervenantEInvoiceCheck.isReady .intervenantEInvoiceCheckIcon{
	border-color: currentColor !important;
	background: transparent !important;
}

/* Financial dashboard. Chart series keep their semantic colors with darker light-theme shades. */
html[data-theme="light"] body.immoPage .appDashboardSurface{
	--dashboard-kpi-surface: var(--ui-surface);
	--dashboard-kpi-border: var(--ui-border);
	--dashboard-kpi-text: var(--ui-heading);
	--dashboard-kpi-muted: var(--ui-muted);
	--dashboard-green-bg: var(--ui-success-soft);
	--dashboard-green-border: #b9ddc9;
	--dashboard-red-bg: var(--ui-danger-soft);
	--dashboard-red-border: #e7b4bb;
	--dashboard-orange-bg: var(--ui-warning-soft);
	--dashboard-orange-border: #ebcd91;
	--dashboard-blue-bg: var(--ui-info-soft);
	--dashboard-blue-border: #b7d1ee;
	--dashboard-violet-bg: #f2edfb;
	--dashboard-violet-border: #d2c2eb;
	color: var(--ui-text);
}

html[data-theme="light"] body.immoPage .appDashboardHeader .dashboardHomeButton{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage .appDashboardHeader .dashboardHomeButton:hover,
html[data-theme="light"] body.immoPage .appDashboardHeader .dashboardHomeButton:focus-visible{
	border-color: #b7cbe1 !important;
	background: var(--ui-accent-soft) !important;
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage .dashboardHero,
html[data-theme="light"] body.immoPage .dashboardKpi,
html[data-theme="light"] body.immoPage .dashboardPanel,
html[data-theme="light"] body.immoPage .dashboardUpcoming,
html[data-theme="light"] body.immoPage .dashboardScenarioPanel{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
	box-shadow: 0 5px 18px rgba(27, 39, 55, 0.05) !important;
}

html[data-theme="light"] body.immoPage .dashboardKpi::before{
	background: linear-gradient(135deg, rgba(49, 95, 145, 0.045), transparent 50%) !important;
}

html[data-theme="light"] body.immoPage .dashboardKpiPaid,
html[data-theme="light"] body.immoPage .dashboardKpiGreen{
	border-color: var(--dashboard-green-border) !important;
	background: var(--dashboard-green-bg) !important;
}

html[data-theme="light"] body.immoPage .dashboardKpiUnpaidHard,
html[data-theme="light"] body.immoPage .dashboardKpiRed,
html[data-theme="light"] body.immoPage .dashboardKpiAlert{
	border-color: var(--dashboard-red-border) !important;
	background: var(--dashboard-red-bg) !important;
}

html[data-theme="light"] body.immoPage .dashboardKpiUnpaidSoft,
html[data-theme="light"] body.immoPage .dashboardKpiOrange{
	border-color: var(--dashboard-orange-border) !important;
	background: var(--dashboard-orange-bg) !important;
}

html[data-theme="light"] body.immoPage .dashboardKpiRefunded,
html[data-theme="light"] body.immoPage .dashboardKpiBlue{
	border-color: var(--dashboard-blue-border) !important;
	background: var(--dashboard-blue-bg) !important;
}

html[data-theme="light"] body.immoPage .dashboardKpiPartial,
html[data-theme="light"] body.immoPage .dashboardKpiPurple{
	border-color: var(--dashboard-violet-border) !important;
	background: var(--dashboard-violet-bg) !important;
}

html[data-theme="light"] body.immoPage .dashboardHero h1,
html[data-theme="light"] body.immoPage .dashboardPanelHeader h2,
html[data-theme="light"] body.immoPage .dashboardPanelHeader strong,
html[data-theme="light"] body.immoPage .dashboardKpi strong,
html[data-theme="light"] body.immoPage .dashboardHeroMeta strong,
html[data-theme="light"] body.immoPage .dashboardUpcomingRow strong,
html[data-theme="light"] body.immoPage .dashboardUpcomingRow em,
html[data-theme="light"] body.immoPage .dashboardBarTooltip strong,
html[data-theme="light"] body.immoPage .dashboardScenarioChartTitle strong{
	color: var(--ui-heading) !important;
}

/* Upcoming dues: property and tenant are data, not labels, so they keep the body text tone. */
html[data-theme="light"] body.immoPage .dashboardUpcomingRow span{
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage .dashboardEyebrow,
html[data-theme="light"] body.immoPage .dashboardPanelHeader span,
html[data-theme="light"] body.immoPage .dashboardKpi span,
html[data-theme="light"] body.immoPage .dashboardKpi em,
html[data-theme="light"] body.immoPage .dashboardHero p,
html[data-theme="light"] body.immoPage .dashboardHeroMeta span,
html[data-theme="light"] body.immoPage .dashboardScenarioChartTitle em,
html[data-theme="light"] body.immoPage .dashboardScenarioMeta span,
html[data-theme="light"] body.immoPage .dashboardScenarioAssumptions{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage .dashboardHeroMeta,
html[data-theme="light"] body.immoPage .dashboardUpcomingRow,
html[data-theme="light"] body.immoPage .dashboardScenarioMeta,
html[data-theme="light"] body.immoPage .dashboardScenarioChartBlock,
html[data-theme="light"] body.immoPage .dashboardScenarioAssumptions{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage .dashboardScenarioChartBlock.is-chart-fullscreen{
	background: var(--ui-surface) !important;
	box-shadow: var(--ui-shadow-strong) !important;
}

html[data-theme="light"] body.immoPage .dashboardScenarioGridLine,
html[data-theme="light"] body.immoPage .planningForecastGrid line{
	stroke: #dde4ed !important;
}

html[data-theme="light"] body.immoPage .dashboardScenarioGridLineZero,
html[data-theme="light"] body.immoPage .planningForecastGrid .planningForecastGridZero,
html[data-theme="light"] body.immoPage .dashboardScenarioProjectionSplitLine{
	stroke: #aeb9c8 !important;
}

html[data-theme="light"] body.immoPage .dashboardScenarioAxisText,
html[data-theme="light"] body.immoPage .dashboardScenarioProjectionSplitLabel,
html[data-theme="light"] body.immoPage .dashboardScenarioNoDataText,
html[data-theme="light"] body.immoPage .planningForecastAxis text{
	fill: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage .dashboardScenarioFullscreenButton,
html[data-theme="light"] body.immoPage .dashboardPlanningPager button,
html[data-theme="light"] body.immoPage .dashboardPlanningForecastHeader button,
html[data-theme="light"] body.immoPage .dashboardProjectPager button,
html[data-theme="light"] body.immoPage .dashboardPlanningResetButton,
html[data-theme="light"] body.immoPage .dashboardProjectActionButton{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage .dashboardScenarioFullscreenButton:hover,
html[data-theme="light"] body.immoPage .dashboardScenarioFullscreenButton:focus-visible,
html[data-theme="light"] body.immoPage .dashboardPlanningPager button.is-active,
html[data-theme="light"] body.immoPage .dashboardPlanningForecastHeader button:hover,
html[data-theme="light"] body.immoPage .dashboardPlanningForecastHeader button:focus-visible,
html[data-theme="light"] body.immoPage .dashboardProjectPager button.is-active,
html[data-theme="light"] body.immoPage .dashboardProjectActionButton:hover,
html[data-theme="light"] body.immoPage .dashboardProjectActionButton:focus-visible{
	border-color: #b7cbe1 !important;
	background: var(--ui-accent-soft) !important;
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage .dashboardProjectActionButton.dashboardProjectActionAccent{
	border-color: var(--ui-button-success-border) !important;
	background: var(--ui-button-success-bg) !important;
	color: var(--ui-button-success-text) !important;
}

html[data-theme="light"] body.immoPage .dashboardProjectActionButton.dashboardProjectActionAccent:hover,
html[data-theme="light"] body.immoPage .dashboardProjectActionButton.dashboardProjectActionAccent:focus-visible{
	border-color: var(--ui-button-success-hover-border) !important;
	background: var(--ui-button-success-hover) !important;
	color: var(--ui-button-success-hover-text) !important;
}

/* Enregistrer / Supprimer du dashboard : aucun aplat saturé ici, les tons partagés
   .actionTone--primary / --danger (plus bas dans ce fichier) leur donnent le même
   rendu que dans les autres modales, dans les deux thèmes. */

html[data-theme="light"] body.immoPage .dashboardPlanningForecastHeader .dashboardPlanningForecastPremiumButton{
	border-color: var(--ui-button-success-border) !important;
	background: var(--ui-button-success-bg) !important;
	color: var(--ui-button-success-text) !important;
}

html[data-theme="light"] body.immoPage .dashboardPlanningForecastHeader .dashboardPlanningForecastPremiumButton:hover,
html[data-theme="light"] body.immoPage .dashboardPlanningForecastHeader .dashboardPlanningForecastPremiumButton:focus-visible{
	background: var(--ui-button-success-hover) !important;
}

/* « Enregistrer dans Projets » : ton primaire partagé, au-dessus de la règle neutre des boutons de l'en-tête. */
html[data-theme="light"] body.immoPage .dashboardPlanningForecastHeader .actionTone--primary{
	border-color: var(--ui-button-primary-border) !important;
	background: var(--ui-button-primary-bg) !important;
	color: var(--ui-button-primary-text) !important;
}

html[data-theme="light"] body.immoPage .dashboardPlanningForecastHeader .actionTone--primary:hover,
html[data-theme="light"] body.immoPage .dashboardPlanningForecastHeader .actionTone--primary:focus-visible{
	border-color: var(--ui-button-primary-hover-border) !important;
	background: var(--ui-button-primary-hover) !important;
	color: var(--ui-button-primary-hover-text) !important;
}

html[data-theme="light"] body.immoPage .dashboardPlanningPropertyHeading span,
html[data-theme="light"] body.immoPage .dashboardProjectDraftStatus{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #dashboardPlanning .dashboardPlanningField input[aria-invalid="true"]{
	border-color: var(--ui-button-danger-border) !important;
	box-shadow: 0 0 0 2px var(--ui-danger-soft) !important;
}

html[data-theme="light"] body.immoPage .dashboardPlanningForecastHeader button:disabled{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-soft) !important;
	color: var(--ui-subtle) !important;
	opacity: 0.78;
}

html[data-theme="light"] body.immoPage .dashboardPropertyPickerButton,
html[data-theme="light"] body.immoPage .dashboardPropertyPickerMenu,
html[data-theme="light"] body.immoPage .dashboardProjectMultiPicker summary,
html[data-theme="light"] body.immoPage .dashboardProjectMultiMenu{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
	box-shadow: var(--ui-shadow) !important;
}

html[data-theme="light"] body.immoPage .dashboardPropertyOption,
html[data-theme="light"] body.immoPage .dashboardProjectMultiMenu label{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage .dashboardPropertyOption:hover,
html[data-theme="light"] body.immoPage .dashboardPropertyOption:focus-within,
html[data-theme="light"] body.immoPage .dashboardProjectMultiMenu label:has(input:checked){
	border-color: #b7cbe1 !important;
	background: var(--ui-accent-soft) !important;
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage .dashboardPropertyPickerText,
html[data-theme="light"] body.immoPage .dashboardPropertyOption span,
html[data-theme="light"] body.immoPage .dashboardProjectMultiPicker summary strong{
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage .dashboardPropertyGroupLabel,
html[data-theme="light"] body.immoPage .dashboardPropertyEmpty{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage .dashboardScenarioTooltip,
html[data-theme="light"] body.immoPage .planningForecastTooltip,
html[data-theme="light"] body.immoPage .dashboardBarTooltip{
	border-color: var(--ui-border) !important;
	background: rgba(255, 255, 255, 0.98) !important;
	color: var(--ui-text) !important;
	box-shadow: var(--ui-shadow) !important;
}

html[data-theme="light"] body.immoPage .dashboardScenarioTooltipValue,
html[data-theme="light"] body.immoPage .dashboardScenarioTooltipDetail strong,
html[data-theme="light"] body.immoPage .planningForecastTooltip > span,
html[data-theme="light"] body.immoPage .planningForecastTooltipDetail strong{
	color: var(--ui-heading) !important;
}

html[data-theme="light"] body.immoPage .dashboardScenarioTooltipSeries,
html[data-theme="light"] body.immoPage .dashboardScenarioTooltipDate,
html[data-theme="light"] body.immoPage .dashboardScenarioTooltipEstimate,
html[data-theme="light"] body.immoPage .dashboardScenarioTooltipDetail span,
html[data-theme="light"] body.immoPage .planningForecastTooltip > strong,
html[data-theme="light"] body.immoPage .planningForecastTooltip > em,
html[data-theme="light"] body.immoPage .planningForecastTooltipDetail span{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage .planningForecastTooltip::after{
	border-top-color: rgba(255, 255, 255, 0.98) !important;
}

/* Monthly bar card: the dark rules colour each line and dot directly (white text,
   translucent light dots), so the white light-theme card needs its own text and dot tones. */
html[data-theme="light"] body.immoPage .dashboardBarTooltip em{
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage .dashboardBarTooltip::after{
	border-top-color: rgba(255, 255, 255, 0.98) !important;
}

html[data-theme="light"] body.immoPage .dashboardBarTooltipDot{
	box-shadow: 0 0 0 1px var(--ui-border-strong) !important;
}

html[data-theme="light"] body.immoPage .dashboardBarTooltipDotTotal{
	background: var(--ui-accent) !important;
}

html[data-theme="light"] body.immoPage .dashboardBarTooltipDotFuture{
	background: #86a9ce !important;
}

html[data-theme="light"] body.immoPage .dashboardModalCard,
html[data-theme="light"] body.immoPage .dashboardModalTable,
html[data-theme="light"] body.immoPage .dashboardFinancialDocuments,
html[data-theme="light"] body.immoPage .dashboardPlanningSection,
html[data-theme="light"] body.immoPage .dashboardPlanningCard,
html[data-theme="light"] body.immoPage .dashboardProjectSection,
html[data-theme="light"] body.immoPage .dashboardProjectResult,
html[data-theme="light"] body.immoPage .dashboardProjectActions,
html[data-theme="light"] body.immoPage .dashboardProjectToolbar,
html[data-theme="light"] body.immoPage .dashboardCreditToolbar,
html[data-theme="light"] body.immoPage .dashboardProjectSummary,
html[data-theme="light"] body.immoPage .dashboardCreditSummary,
html[data-theme="light"] body.immoPage .dashboardCreditTable,
html[data-theme="light"] body.immoPage .dashboardCreditRow,
html[data-theme="light"] body.immoPage .dashboardCreditScheduleSection,
html[data-theme="light"] body.immoPage .dashboardPlanningForecastHeader,
html[data-theme="light"] body.immoPage .dashboardPlanningForecastChart,
html[data-theme="light"] body.immoPage .dashboardPlanningTableWrap,
html[data-theme="light"] body.immoPage .dashboardModalProjectTable{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage .dashboardModalCardAlert{
	border-color: #e7b4bb !important;
	background: var(--ui-danger-soft) !important;
}

/* Bandeau de retour du modal crédit : mêmes tons que les pastilles de statut, contraste renforcé en clair. */
html[data-theme="light"] body.immoPage .dashboardCreditFeedback{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-heading) !important;
	box-shadow: 0 6px 18px rgba(24, 43, 66, 0.12) !important;
}

html[data-theme="light"] body.immoPage .dashboardCreditFeedback[data-credit-tone="success"]{
	border-color: #b9ddc9 !important;
	background: var(--ui-success-soft) !important;
	color: var(--ui-success) !important;
}

html[data-theme="light"] body.immoPage .dashboardCreditFeedback[data-credit-tone="error"]{
	border-color: #e7b4bb !important;
	background: var(--ui-danger-soft) !important;
	color: var(--ui-danger) !important;
}

html[data-theme="light"] body.immoPage .dashboardModalCard strong,
html[data-theme="light"] body.immoPage .dashboardPlanningResult strong,
html[data-theme="light"] body.immoPage .dashboardPlanningSection h3,
html[data-theme="light"] body.immoPage .dashboardPlanningCard strong,
html[data-theme="light"] body.immoPage .dashboardProjectSection h3,
html[data-theme="light"] body.immoPage .dashboardProjectResult strong,
html[data-theme="light"] body.immoPage .dashboardProjectSummary strong,
html[data-theme="light"] body.immoPage .dashboardCreditSummary strong,
html[data-theme="light"] body.immoPage .dashboardCreditRow strong,
html[data-theme="light"] body.immoPage .dashboardPlanningForecastHeader strong,
html[data-theme="light"] body.immoPage .dashboardModalProjectRow strong{
	color: var(--ui-heading) !important;
}

html[data-theme="light"] body.immoPage .dashboardModalCard span,
html[data-theme="light"] body.immoPage .dashboardPlanningResult span,
html[data-theme="light"] body.immoPage .dashboardPlanningResult em,
html[data-theme="light"] body.immoPage .dashboardPlanningCard span,
html[data-theme="light"] body.immoPage .dashboardProjectResult span,
html[data-theme="light"] body.immoPage .dashboardProjectResult em,
html[data-theme="light"] body.immoPage .dashboardProjectSummary span,
html[data-theme="light"] body.immoPage .dashboardProjectSummary em,
html[data-theme="light"] body.immoPage .dashboardCreditSummary span,
html[data-theme="light"] body.immoPage .dashboardCreditSummary em,
html[data-theme="light"] body.immoPage .dashboardCreditRow span,
html[data-theme="light"] body.immoPage .dashboardPlanningForecastHeader span,
html[data-theme="light"] body.immoPage .dashboardModalProjectRow span{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage .dashboardPlanningResult,
html[data-theme="light"] body.immoPage .dashboardProjectResult{
	border-color: #b7d1ee !important;
	background: linear-gradient(135deg, var(--ui-info-soft), var(--ui-success-soft)) !important;
}

html[data-theme="light"] body.immoPage .dashboardPlanningModeSwitch,
html[data-theme="light"] body.immoPage .dashboardPlanningCompactSwitch,
html[data-theme="light"] body.immoPage .dashboardProjectPager,
html[data-theme="light"] body.immoPage .dashboardPlanningPager{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-soft) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage .dashboardPlanningModeSwitch label,
html[data-theme="light"] body.immoPage .dashboardPlanningCompactSwitch label{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage .dashboardPlanningModeSwitch label:has(input:checked),
html[data-theme="light"] body.immoPage .dashboardPlanningCompactSwitch label:has(input:checked){
	border-color: #b7cbe1 !important;
	background: var(--ui-surface) !important;
	color: var(--ui-accent-strong) !important;
	box-shadow: 0 2px 8px rgba(27, 39, 55, 0.08) !important;
}

html[data-theme="light"] body.immoPage .dashboardPlanningScenarioControl label{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage .dashboardPlanningScenarioControl label:hover,
html[data-theme="light"] body.immoPage .dashboardPlanningScenarioControl label:focus-within,
html[data-theme="light"] body.immoPage .dashboardPlanningScenarioControl label:has(input:checked){
	border-color: #9fc1e7 !important;
	background: var(--ui-accent-soft) !important;
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage .dashboardPlanningForecastLegend,
html[data-theme="light"] body.immoPage .dashboardPlanningForecastLegend span{
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage .dashboardPlanningForecastLegend span.is-muted{
	opacity: 0.68;
}

html[data-theme="light"] body.immoPage .planningForecastLine.planningForecastLineRent{
	stroke: #4b82bd !important;
}

html[data-theme="light"] body.immoPage .planningForecastLine.planningForecastLineCharges{
	stroke: #c9424c !important;
}

html[data-theme="light"] body.immoPage .planningForecastLine.planningForecastLineTax{
	stroke: #8056b3 !important;
}

html[data-theme="light"] body.immoPage .planningForecastLine.planningForecastLineLoan,
html[data-theme="light"] body.immoPage .planningForecastLine.planningForecastLineCase1{
	stroke: #ad650f !important;
}

html[data-theme="light"] body.immoPage .planningForecastLine.planningForecastLineCashflow,
html[data-theme="light"] body.immoPage .planningForecastLine.planningForecastLineCase3{
	stroke: #087b48 !important;
}

html[data-theme="light"] body.immoPage .planningForecastLine.planningForecastLineCase2{
	stroke: #315f91 !important;
}

html[data-theme="light"] body.immoPage .planningForecastDot.planningForecastLineRent{
	fill: #4b82bd !important;
}

html[data-theme="light"] body.immoPage .planningForecastDot.planningForecastLineCharges{
	fill: #c9424c !important;
}

html[data-theme="light"] body.immoPage .planningForecastDot.planningForecastLineTax{
	fill: #8056b3 !important;
}

html[data-theme="light"] body.immoPage .planningForecastDot.planningForecastLineLoan,
html[data-theme="light"] body.immoPage .planningForecastDot.planningForecastLineCase1{
	fill: #ad650f !important;
}

html[data-theme="light"] body.immoPage .planningForecastDot.planningForecastLineCashflow,
html[data-theme="light"] body.immoPage .planningForecastDot.planningForecastLineCase3{
	fill: #087b48 !important;
}

html[data-theme="light"] body.immoPage .planningForecastDot.planningForecastLineCase2{
	fill: #315f91 !important;
}

html[data-theme="light"] body.immoPage .planningForecastArea.planningForecastLineRent{
	fill: #4b82bd !important;
}

html[data-theme="light"] body.immoPage .planningForecastArea.planningForecastLineCharges{
	fill: #c9424c !important;
}

html[data-theme="light"] body.immoPage .planningForecastArea.planningForecastLineTax{
	fill: #8056b3 !important;
}

html[data-theme="light"] body.immoPage .planningForecastArea.planningForecastLineLoan{
	fill: #ad650f !important;
}

html[data-theme="light"] body.immoPage .planningForecastArea.planningForecastLineCashflow{
	fill: #087b48 !important;
}

html[data-theme="light"] body.immoPage .planningForecastLegendRent i{
	background: #4b82bd !important;
}

html[data-theme="light"] body.immoPage .planningForecastLegendCharges i{
	background: #c9424c !important;
}

html[data-theme="light"] body.immoPage .planningForecastLegendTax i{
	background: #8056b3 !important;
}

html[data-theme="light"] body.immoPage .planningForecastLegendLoan i,
html[data-theme="light"] body.immoPage .planningForecastLegendCase1 i{
	background: #ad650f !important;
}

html[data-theme="light"] body.immoPage .planningForecastLegendCashflow i,
html[data-theme="light"] body.immoPage .planningForecastLegendCase3 i{
	background: #087b48 !important;
}

html[data-theme="light"] body.immoPage .planningForecastLegendCase2 i{
	background: #315f91 !important;
}

html[data-theme="light"] body.immoPage .dashboardPlanningField span,
html[data-theme="light"] body.immoPage .dashboardProjectField span,
html[data-theme="light"] body.immoPage .dashboardPlanningChargesSummary span,
html[data-theme="light"] body.immoPage .dashboardPlanningCreditSummary span{
	color: var(--ui-muted) !important;
}

/* Planning > Charges annuelles : titres de groupe (la règle sombre est blanche translucide). */
html[data-theme="light"] body.immoPage .dashboardPlanningChargeGroup{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage .dashboardPlanningChargeGroupRecoverable{
	border-top-color: var(--ui-border) !important;
	color: var(--ui-accent-strong) !important;
}

/* Planning > Crédit : carte « Mensualité » (montant blanc et indice translucide dans la règle sombre). */
html[data-theme="light"] body.immoPage .dashboardPlanningCreditSummary{
	border-color: #b7d1ee !important;
	background: var(--ui-info-soft) !important;
}

html[data-theme="light"] body.immoPage .dashboardPlanningCreditSummary strong{
	color: var(--ui-heading) !important;
}

html[data-theme="light"] body.immoPage .dashboardPlanningCreditSummary em{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage .dashboardPlanningField input,
html[data-theme="light"] body.immoPage .dashboardPlanningField select,
html[data-theme="light"] body.immoPage .dashboardProjectField input,
html[data-theme="light"] body.immoPage .dashboardProjectField select,
html[data-theme="light"] body.immoPage .dashboardProjectField textarea,
html[data-theme="light"] body.immoPage .dashboardCreditRow select,
html[data-theme="light"] body.immoPage .dashboardFinancialFormat select{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage .dashboardFinancialExportButton{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage .dashboardFinancialExportButton:hover,
html[data-theme="light"] body.immoPage .dashboardFinancialExportButton:focus-visible{
	border-color: #b7cbe1 !important;
	background: var(--ui-accent-soft) !important;
}

html[data-theme="light"] body.immoPage .dashboardPlanningTable th,
html[data-theme="light"] body.immoPage .dashboardCreditScheduleTable th,
html[data-theme="light"] body.immoPage .dashboardModalProjectHead{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-soft) !important;
	color: var(--ui-heading) !important;
}

html[data-theme="light"] body.immoPage .dashboardPlanningTable td,
html[data-theme="light"] body.immoPage .dashboardCreditScheduleTable td,
html[data-theme="light"] body.immoPage .dashboardModalProjectRow{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

@media (max-width: 700px){
	html[data-theme="light"] body.immoPage .appDashboardHeader .dashboardHomeButton,
	html[data-theme="light"] body.immoPage .appDashboardHeader .dashboardHomeButton:hover,
	html[data-theme="light"] body.immoPage .appDashboardHeader .dashboardHomeButton:focus-visible{
		background: transparent !important;
		color: var(--ui-text) !important;
	}
}

/*
 * Owner home feed.
 *
 * These selectors intentionally mirror the high-specificity authenticated
 * shell rules in index.css. Without them, their !important dark values win
 * over the otherwise shared semantic palette.
 */
html[data-theme="light"] body.immoPage .appImmoHeaderActions #financialDashboardButton.financialDashboardLink{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage .appImmoHeaderActions #financialDashboardButton.financialDashboardLink:hover,
html[data-theme="light"] body.immoPage .appImmoHeaderActions #financialDashboardButton.financialDashboardLink:focus-visible{
	border-color: #b7cbe1 !important;
	background: var(--ui-accent-soft) !important;
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage .appImmoHeaderActions #financialDashboardButton.financialDashboardUpsell{
	border-color: #ebcd91 !important;
	background: var(--ui-warning-soft) !important;
	color: var(--ui-warning) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface #actions > .topActionsRow{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	box-shadow: 0 5px 18px rgba(27, 39, 55, 0.05) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface #actions > .topActionsRow > .topActionMobile{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage .appMainSurface #actions > .topActionsRow > .topActionMobile:hover,
html[data-theme="light"] body.immoPage .appMainSurface #actions > .topActionsRow > .topActionMobile:focus-visible{
	border-color: #b7cbe1 !important;
	background: var(--ui-accent-soft) !important;
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface #actions > .topActionsRow > .topActionMobile::after{
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface #actions > .topActionsRow > .topActionMobile.hasNotifications{
	border-color: #e7b4bb !important;
	background: var(--ui-danger-soft) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface #actions > .topActionsRow > .topActionMobile .immoNotificationBadge{
	border: 0 !important;
	background: #bd263f !important;
	color: #fff !important;
}

html[data-theme="light"] body.immoPage .appMainSurface #actions > .appCompanySwitcher .appCompanySwitchButton,
html[data-theme="light"] body.immoPage .appMainSurface #actions > .appCompanySwitcher .appCompanySwitchName,
html[data-theme="light"] body.immoPage .appMainSurface #actions > .appPropertyContext{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface #actions > .appCompanySwitcher .appCompanySwitchButton:hover,
html[data-theme="light"] body.immoPage .appMainSurface #actions > .appCompanySwitcher .appCompanySwitchButton:focus-visible,
html[data-theme="light"] body.immoPage .appMainSurface #actions > .appCompanySwitcher .appCompanySwitchName:hover,
html[data-theme="light"] body.immoPage .appMainSurface #actions > .appCompanySwitcher .appCompanySwitchName:focus-visible{
	border-color: #b7cbe1 !important;
	background: var(--ui-accent-soft) !important;
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface #actions > .appCompanySwitcher .appCompanySwitchButton img,
html[data-theme="light"] body.immoPage .appMainSurface #actions > .appCompanySwitcher .appCompanySwitchIcon{
	filter: none !important;
	opacity: 1 !important;
}

html[data-theme="light"] body.immoPage .appMainSurface #actions > .appCompanySwitcher .appCompanySwitchEyebrow{
	color: var(--ui-subtle) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .receiptContractOverviewCard{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .receiptContractOverviewCard--current{
	border-color: #b7d1ee !important;
	background: var(--ui-info-soft) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface button.receiptContractOverviewCard--current:hover,
html[data-theme="light"] body.immoPage .appMainSurface button.receiptContractOverviewCard--current:focus-visible{
	border-color: #7ca8d7 !important;
	background: #dceafe !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .receiptContractOverviewCard--ending,
html[data-theme="light"] body.immoPage .appMainSurface .receiptContractOverviewCard--upcoming{
	border-color: #ebcd91 !important;
	background: var(--ui-warning-soft) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .receiptContractOverviewCard--paid,
html[data-theme="light"] body.immoPage .appMainSurface .receiptContractOverviewCard--tenants{
	border-color: #acd9c1 !important;
	background: var(--ui-success-soft) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .receiptContractOverviewCard--unpaid{
	border-color: #e7b4bb !important;
	background: var(--ui-danger-soft) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .receiptContractOverviewLabel,
html[data-theme="light"] body.immoPage .appMainSurface .receiptContractOverviewMeta{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .receiptContractOverviewCard strong{
	color: var(--ui-heading) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .receiptContractOverviewFilter.receiptContractOverviewCard--unpaid:hover,
html[data-theme="light"] body.immoPage .appMainSurface .receiptContractOverviewFilter.receiptContractOverviewCard--unpaid:focus-visible,
html[data-theme="light"] body.immoPage .appMainSurface .receiptContractOverviewFilter.receiptContractOverviewCard--unpaid.is-active{
	border-color: #d48994 !important;
	background: #f9dfe4 !important;
	color: var(--ui-danger) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .receiptContractOverviewFilter.receiptContractOverviewCard--unpaid.is-active .receiptContractOverviewLabel,
html[data-theme="light"] body.immoPage .appMainSurface .receiptContractOverviewFilter.receiptContractOverviewCard--unpaid.is-active .receiptContractOverviewMeta{
	color: var(--ui-danger) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .receiptContractOverviewFilter.receiptContractOverviewCard--paid:hover,
html[data-theme="light"] body.immoPage .appMainSurface .receiptContractOverviewFilter.receiptContractOverviewCard--paid:focus-visible,
html[data-theme="light"] body.immoPage .appMainSurface .receiptContractOverviewFilter.receiptContractOverviewCard--paid.is-active{
	border-color: #66ad88 !important;
	background: #d9f1e4 !important;
	color: var(--ui-success) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .receiptContractOverviewFilter.receiptContractOverviewCard--paid.is-active .receiptContractOverviewLabel,
html[data-theme="light"] body.immoPage .appMainSurface .receiptContractOverviewFilter.receiptContractOverviewCard--paid.is-active .receiptContractOverviewMeta{
	color: var(--ui-success) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .receiptFeedFilter{
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .receiptFeedFilterField .formText,
html[data-theme="light"] body.immoPage .appMainSurface .receiptFeedTypeMobile .formText{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .receiptFeedFilterField .formText:focus,
html[data-theme="light"] body.immoPage .appMainSurface .receiptFeedTypeMobile .formText:focus{
	border-color: var(--ui-accent) !important;
	box-shadow: 0 0 0 3px var(--ui-focus) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .receiptFeedTypeButton{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .receiptFeedTypeButton:hover,
html[data-theme="light"] body.immoPage .appMainSurface .receiptFeedTypeButton:focus-visible,
html[data-theme="light"] body.immoPage .appMainSurface .receiptFeedTypeButton.is-active{
	border-color: #b7cbe1 !important;
	background: var(--ui-accent-soft) !important;
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .receiptFeedEmptyState{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .receiptFeedEmptyMark{
	background: var(--ui-accent) !important;
	box-shadow: 0 0 0 5px var(--ui-focus) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .receiptFeedEmptyText strong{
	color: var(--ui-heading) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .receiptFeedEmptyText span{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #dashboardScenarioContext{
	color: var(--ui-muted) !important;
}

/* Property workspace: header action and sub-property rows. */
html[data-theme="light"] body.immoPage .appPropertyHeaderActions #contractAddButton{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage .appPropertyHeaderActions #contractAddButton:hover,
html[data-theme="light"] body.immoPage .appPropertyHeaderActions #contractAddButton:focus-visible{
	border-color: #b7cbe1 !important;
	background: var(--ui-accent-soft) !important;
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage .appPropertyHeaderActions .contractHeaderLabel{
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage .appPropertySurface .propertyContentDiv .subpropToggleClick{
	border-color: var(--ui-border) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage .appPropertySurface .propertyContentDiv .subpropToggleClick:hover{
	background: var(--ui-surface-hover) !important;
}

html[data-theme="light"] body.immoPage .appPropertySurface .propertyContentDiv .subpropToggleText{
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage .appPropertySurface .propertyContentDiv .subpropToggleTriangle{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-muted) !important;
}

/* Financial chart labels and series remain legible on light panels. */
html[data-theme="light"] body.immoPage .dashboardBarLegend,
html[data-theme="light"] body.immoPage .dashboardBarYAxis,
html[data-theme="light"] body.immoPage .dashboardBar small,
html[data-theme="light"] body.immoPage .dashboardScenarioLegend{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage .dashboardBarYAxis::after,
html[data-theme="light"] body.immoPage .dashboardBarYAxis::before,
html[data-theme="light"] body.immoPage .dashboardBarZeroLine{
	background: var(--ui-border-strong) !important;
}

html[data-theme="light"] body.immoPage .dashboardBarYAxis span:nth-child(2){
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage .dashboardBarPillar{
	background: linear-gradient(180deg, var(--ui-accent), #86a9ce) !important;
}

html[data-theme="light"] body.immoPage .dashboardBarStack{
	border-color: #b7d1ee !important;
	background: var(--ui-info-soft) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72) !important;
}

html[data-theme="light"] body.immoPage .dashboardBarExpectedMarker{
	border-top-color: var(--ui-accent-strong) !important;
	filter: none !important;
}

html[data-theme="light"] body.immoPage .dashboardBarLegendItem i{
	box-shadow: 0 0 0 1px var(--ui-border-strong) !important;
}

html[data-theme="light"] body.immoPage .dashboardBarLegendTotal i{
	background: var(--ui-accent) !important;
}

html[data-theme="light"] body.immoPage .dashboardLegendItem span{
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage .dashboardLegendSeparator{
	border-left-color: var(--ui-border-strong) !important;
}

html[data-theme="light"] body.immoPage .dashboardLegendActual,
html[data-theme="light"] body.immoPage .dashboardLegendActualExpected,
html[data-theme="light"] body.immoPage .dashboardLegendNormal,
html[data-theme="light"] body.immoPage .dashboardLegendSelectedScenario,
html[data-theme="light"] body.immoPage .dashboardLegendActualProfit,
html[data-theme="light"] body.immoPage .dashboardLegendProjectedProfit{
	color: var(--ui-accent) !important;
}

html[data-theme="light"] body.immoPage .dashboardLegendActualPaid,
html[data-theme="light"] body.immoPage .dashboardLegendProjectedRevenue{
	color: var(--ui-success) !important;
}

html[data-theme="light"] body.immoPage .dashboardLegendActualExpenses{
	color: #c32d68 !important;
}

html[data-theme="light"] body.immoPage .dashboardLegendActualPending{
	color: #b42335 !important;
}

html[data-theme="light"] body.immoPage .dashboardLegendProjectedExpenses{
	color: #967100 !important;
}

html[data-theme="light"] body.immoPage .dashboardLegendProjectedTaxes{
	color: #7651b4 !important;
}

/* Owner business modals: match the legacy :not(.settingsModal) specificity. */
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .modal-header{
	border-bottom-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-heading) !important;
}

html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .modal-header span,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .modal-header .title{
	color: var(--ui-heading) !important;
}

/* Croix de fermeture : un seul fond pour toutes les modales, Messagerie et Paramètres comprises. */
html[data-theme="light"] body.immoPage .modal .close-button,
html[data-theme="light"] body.immoPage .modal .modal-header .close-button,
html[data-theme="light"] body.immoPage .modal.settingsModal .close-button,
html[data-theme="light"] body.immoPage .modal.settingsModal .modal-header .close-button{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-muted) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage .modal .close-button:hover,
html[data-theme="light"] body.immoPage .modal .close-button:focus-visible,
html[data-theme="light"] body.immoPage .modal.settingsModal .close-button:hover,
html[data-theme="light"] body.immoPage .modal.settingsModal .close-button:focus-visible{
	border-color: #b7cbe1 !important;
	background: var(--ui-accent-soft) !important;
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .mwCard,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .itemsCard,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .itemsActionsCard,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .invoicePanel,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .invoiceDetailsPanel,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .invoiceGenerateControls,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .globalInvoicePanel,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .propertyFormRow,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .invoiceFieldsGrid,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .invoiceTopNav{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #itemsActions .itemsActionsUploadCard.has-observation-reference .itemsActionsPreview{
	background: #f4f7fb !important;
}

html[data-theme="light"] body.immoPage #itemsActions .inventoryObservationReferenceBadge{
	border-color: rgba(83, 127, 180, 0.36);
	background: rgba(255, 255, 255, 0.92);
	color: #20283a;
	box-shadow: 0 6px 18px rgba(46, 63, 87, 0.14);
}

html[data-theme="light"] body.immoPage #addContract .contractInventoryStatusBadge{
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractInventoryStatus.is-sent .contractInventoryStatusBadge{
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractInventoryStatus.is-disputed .contractInventoryStatusBadge{
	color: var(--ui-warning) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractInventoryStatus.is-signed .contractInventoryStatusBadge{
	color: var(--ui-success) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractInventoryStatus.is-reviewed .contractInventoryStatusBadge,
html[data-theme="light"] body.immoPage #addContract .contractInventoryReplyDetails.is-reviewed > summary{
	border-color: rgba(25, 145, 91, 0.46) !important;
	background: rgba(25, 145, 91, 0.1) !important;
	color: #137a4d !important;
}

/* Tenant observations in the contract card: the dark rules paint pale inks (amber, white, pink)
   that vanish on a light surface. Same structure, readable tones. */
html[data-theme="light"] body.immoPage #addContract .contractInventoryReplyDetails{
	border-top-color: var(--ui-border) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractInventoryReplyDetails:not(.is-reviewed) > summary{
	border-color: var(--ui-button-warning-border) !important;
	background: var(--ui-button-warning-bg) !important;
	color: var(--ui-button-warning-text) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractInventoryReplyBlock{
	border-left-color: var(--ui-button-warning-border) !important;
	border-bottom-color: var(--ui-border) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractInventoryReplyBlock.is-accepted{
	border-left-color: var(--ui-button-success-border) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractInventoryReplyBlock.is-rejected{
	border-left-color: var(--ui-button-danger-border) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractInventoryReplyEyebrow{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractInventoryReplyBlock p,
html[data-theme="light"] body.immoPage #addContract .contractInventoryReplyEmpty{
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractInventoryReplyPictures a{
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractInventoryReplyDecisionStatus.is-accepted{
	color: var(--ui-success) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractInventoryReplyDecisionStatus.is-rejected{
	color: var(--ui-danger) !important;
}

html[data-theme="light"] body.immoPage #itemsActionsDamageCard .itemsActionsDamageTop .itemsActionsUploadCard > .itemsActionsUploadLabel,
html[data-theme="light"] body.immoPage #itemsActionsDamageCard .itemsActionsDamageTop .itemsActionsUploadCard.has-upload-file > .itemsActionsUploadLabel{
	background: var(--ui-surface) !important;
	color: var(--ui-muted) !important;
	text-shadow: none !important;
}

html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .itemsCardTitle,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) p{
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .formText,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]),
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) select,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) textarea{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .formText::placeholder,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) input::placeholder,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) textarea::placeholder{
	color: var(--ui-subtle) !important;
}

html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .fieldset-input label{
	background: var(--ui-surface) !important;
	color: var(--ui-muted) !important;
	text-shadow: none !important;
}

html[data-theme="light"] body.immoPage .modal:not(.settingsModal) option,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) optgroup{
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage .modal:not(.settingsModal) a:not(.button):not(.buttonSmall){
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage .modal:not(.settingsModal) table,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) table th,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) table td{
	border-color: var(--ui-border) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage .modal:not(.settingsModal) table th{
	background: var(--ui-surface-soft) !important;
	color: var(--ui-heading) !important;
}

/* Property and global documents: keep every data cell readable in the light theme. */
html[data-theme="light"] body.immoPage #documents :is(.modalTableDocs, .modalTableDocsSimple) tbody.tableImmoDoc tr{
	background: var(--ui-surface) !important;
}

html[data-theme="light"] body.immoPage #documents :is(.modalTableDocs, .modalTableDocsSimple) tbody.tableImmoDoc tr:nth-child(even){
	background: var(--ui-surface-alt) !important;
}

html[data-theme="light"] body.immoPage #documents :is(.modalTableDocs, .modalTableDocsSimple) tbody.tableImmoDoc th{
	border-bottom-color: var(--ui-border) !important;
	background: transparent !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #documents :is(.modalTableDocs, .modalTableDocsSimple) tbody.tableImmoDoc th[style*="font-weight: normal"],
html[data-theme="light"] body.immoPage #documents :is(.modalTableDocs, .modalTableDocsSimple) tbody.tableImmoDoc label{
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #documents :is(.modalTableDocs, .modalTableDocsSimple) tbody.tableImmoDoc a.link{
	color: var(--ui-accent-strong) !important;
}

/* Property meters: same readability as the documents table in the light theme.
   The dark rules (body.immoPage .modal:not(.settingsModal) .mwTableWrap tbody.tableImmoGauge …)
   have a higher specificity than the generic light table rules and otherwise keep
   the near-white cell text and the mint value pill on the light surface. */
html[data-theme="light"] body.immoPage #gauges .modalTableGauges tbody.tableImmoGauge tr{
	background: var(--ui-surface) !important;
}

html[data-theme="light"] body.immoPage #gauges .modalTableGauges tbody.tableImmoGauge tr:nth-child(even){
	background: var(--ui-surface-alt) !important;
}

html[data-theme="light"] body.immoPage #gauges .modalTableGauges tbody.tableImmoGauge th{
	border-bottom-color: var(--ui-border) !important;
	background: transparent !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #gauges .modalTableGauges tbody.tableImmoGauge th[style*="font-weight: normal"],
html[data-theme="light"] body.immoPage #gauges .modalTableGauges tbody.tableImmoGauge label{
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #gauges .modalTableGauges tbody.tableImmoGauge a.link{
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage #gauges .gaugeValueText{
	background: var(--ui-success-soft) !important;
	color: var(--ui-success) !important;
}

html[data-theme="light"] body.immoPage #gauges .gaugePendingText{
	background: var(--ui-warning-soft) !important;
	color: var(--ui-warning) !important;
}

/* Mobile: the pending state switches to the icon + label mode (.btnIconMobile),
   so keep it transparent and give its label a readable warning colour. */
@media (max-width: 700px){
	html[data-theme="light"] body.immoPage #gauges .gaugePendingText.btnIconMobile{
		background: transparent !important;
	}

	html[data-theme="light"] body.immoPage #gauges .gaugePendingText.btnIconMobile.btnIconMobileLabel::after{
		color: var(--ui-warning) !important;
	}
}

html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .modalTabBar,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .invoiceModalTabs,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) > div[style*="justify-content: space-around"],
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .modal_body > div[style*="justify-content: space-around"]{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
}

html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .modalTabBar .button,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .invoiceModalTabs .button,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .documentsDispButton,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .gaugesDispButton,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .itemsDispButton,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .contractsDispButton,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .propertiesDispButton,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .customersDispButton,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .globalInvoiceModeButton,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .invoicesDispButton{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-muted) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .modalTabBar .button.is-active,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .invoiceModalTabs .button.is-active,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .documentsDispButton.is-active,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .gaugesDispButton.is-active,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .itemsDispButton.is-active,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .contractsDispButton.is-active,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .propertiesDispButton.is-active,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .customersDispButton.is-active,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .globalInvoiceModeButton.is-active,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .invoicesDispButton.is-active{
	border-color: #b7cbe1 !important;
	background: var(--ui-accent-soft) !important;
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage #properties .propertiesDispButton,
html[data-theme="light"] body.immoPage #customers .customersDispButton,
html[data-theme="light"] body.immoPage #documents .documentsDispButton,
html[data-theme="light"] body.immoPage #gauges .gaugesDispButton,
html[data-theme="light"] body.immoPage #items .itemsDispButton,
html[data-theme="light"] body.immoPage #invoices .invoicesDispButton,
html[data-theme="light"] body.immoPage #invoices .globalInvoiceModeButton,
html[data-theme="light"] body.immoPage #addContract .contractsDispButton{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #properties .propertiesDispButton.is-active,
html[data-theme="light"] body.immoPage #customers .customersDispButton.is-active,
html[data-theme="light"] body.immoPage #documents .documentsDispButton.is-active,
html[data-theme="light"] body.immoPage #gauges .gaugesDispButton.is-active,
html[data-theme="light"] body.immoPage #items .itemsDispButton.is-active,
html[data-theme="light"] body.immoPage #invoices .invoicesDispButton.is-active,
html[data-theme="light"] body.immoPage #invoices .globalInvoiceModeButton.is-active,
html[data-theme="light"] body.immoPage #addContract .contractsDispButton.is-active{
	border-color: #b7cbe1 !important;
	background: var(--ui-accent-soft) !important;
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractModalTabBar .contractsDispButton.btnIconMobile.btnIconMobileLabel::after{
	color: var(--ui-text) !important;
	font-weight: 850 !important;
}

html[data-theme="light"] body.immoPage #addContract .contractModalTabBar .contractsDispButton.btnIconMobile.btnIconMobileLabel.is-active::after{
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractModalTabBar .contractsDispButton.btnIconMobile.btnIconMobileLabel:not(.is-active):is(:hover, :focus-visible)::after{
	color: var(--ui-accent-strong) !important;
}

/* Property list inside the owner modal. */
html[data-theme="light"] body.immoPage #properties .propertyListSearchCard{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
}

html[data-theme="light"] body.immoPage #properties .propertyListSearchField > label{
	background: var(--ui-surface-alt) !important;
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #properties .propertyListNoResults{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #properties .propertyAssetBar{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #properties .propertyAssetCard.isExpanded .propertyAssetBar{
	border-bottom-color: var(--ui-border) !important;
	background: var(--ui-accent-soft) !important;
}

html[data-theme="light"] body.immoPage #properties .propertyAssetName{
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage #properties .propertyAssetName:hover,
html[data-theme="light"] body.immoPage #properties .propertyAssetName:focus-visible{
	color: var(--ui-accent) !important;
}

html[data-theme="light"] body.immoPage #properties .propertyAssetSurface,
html[data-theme="light"] body.immoPage #properties .propertyAssetOccupancy,
html[data-theme="light"] body.immoPage #properties .propertyAssetKind,
html[data-theme="light"] body.immoPage #properties .propertyAssetSurface span,
html[data-theme="light"] body.immoPage #properties .propertyAssetOccupancy span{
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #properties .propertyAssetSurface small,
html[data-theme="light"] body.immoPage #properties .propertyAssetOccupancy small{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #properties .propertyAssetToggle{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #properties .propertyAssetToggle:hover,
html[data-theme="light"] body.immoPage #properties .propertyAssetToggle:focus-visible{
	border-color: #b7cbe1 !important;
	background: var(--ui-accent-soft) !important;
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage #properties .propertySubPanel,
html[data-theme="light"] body.immoPage #properties .propertiesAllDiv > div[id^="subpropertiesArticle"].propertySubPanel{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #properties .propertySubRow{
	border-bottom-color: var(--ui-border) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #properties .propertySubCell,
html[data-theme="light"] body.immoPage #properties .propertySubName,
html[data-theme="light"] body.immoPage #properties .propertySubName span,
html[data-theme="light"] body.immoPage #properties .propertySubStatus,
html[data-theme="light"] body.immoPage #properties .propertySubCapacity{
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #properties .propertySubName span{
	color: var(--ui-heading) !important;
}

html[data-theme="light"] body.immoPage #properties .propertySubName small{
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage #properties .propertySubSurface small,
html[data-theme="light"] body.immoPage #properties .propertySubRowEmpty{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #properties .propertySubMetricValue{
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #properties .propertySubMetricLabel{
	color: var(--ui-muted) !important;
}

/* Expanded rows on properties.php. */
html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop,
html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop.subpropOverviewRow,
html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop.subpropTenantRow,
html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop.subpropItemRow,
html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop.subpropEmptyRow{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop:hover{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface-hover) !important;
}

/* Statuses keep the transparent ring of index.css: no border colour to mirror here. */
html[data-theme="light"] body.immoPage .appPropertySurface .subpropTenantStatus{
	background: var(--ui-surface-alt);
	color: var(--ui-accent-strong);
}

html[data-theme="light"] body.immoPage .appPropertySurface .subpropTenantStatus.isPrepared{
	background: rgba(255, 183, 43, 0.15);
	color: #8a5700;
}

html[data-theme="light"] body.immoPage .appPropertySurface .subpropTenantStatus.isPartiallySigned,
html[data-theme="light"] body.immoPage .appPropertySurface .subpropTenantStatus.isActive{
	background: rgba(39, 174, 96, 0.13);
	color: #126b45;
}

html[data-theme="light"] body.immoPage .appPropertySurface .subpropTenantStatus.isArchived{
	background: var(--ui-surface-soft);
	color: var(--ui-muted);
}

/* Tenant dates/installments and room surfaces: the dark rules (mobile ones with !important) use near-white text. */
html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop[class*="customersSubprop"] .contractDateEnd,
html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop[class*="customersSubprop"] .contractInstallmentsDesktop strong,
html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop[class*="customersSubprop"] .contractInstallmentsMobile strong{
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop[class*="customersSubprop"] .contractDateStart,
html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop[class*="customersSubprop"] .contractDateSeparator,
html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop[class*="customersSubprop"] .contractInstallmentsDesktop small,
html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop[class*="customersSubprop"] .contractInstallmentsMobile small,
html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop .subpropAreaLabel{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop > div,
html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop .subpropMetricPrimary,
html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop .subpropMetricCurrent,
html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop .itemValueCell,
html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop .itemValueCell .itemDesktopText{
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop .subpropMetricSecondary,
html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop .subpropMetricPrevious,
html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop .itemDateCell,
html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop .itemDateCell .itemDesktopText{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop .subpropImageViewerButton,
html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop[class*="itemsSubprop"] > div:first-child,
html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop[class*="itemsSubprop"] > div:first-child .buttonSmall,
html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop[class*="itemsSubprop"] button[data-modal-target="#imageItemViewer"],
html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop[class*="customersSubprop"] .contractTenantCustomerLink{
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop .subpropItemActionButton{
	border-color: var(--ui-button-primary-border) !important;
	background: var(--ui-button-primary-bg) !important;
	color: var(--ui-button-primary-text) !important;
}

html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop .subpropItemActionButton:hover,
html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop .subpropItemActionButton:focus-visible{
	border-color: var(--ui-button-primary-hover-border) !important;
	background: var(--ui-button-primary-hover) !important;
	color: var(--ui-button-primary-hover-text) !important;
}

html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop .subpropItemActionButton.actionTone--success{
	border-color: var(--ui-button-success-border) !important;
	background: var(--ui-button-success-bg) !important;
	color: var(--ui-button-success-text) !important;
}

html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop .subpropItemActionButton.actionTone--success:hover,
html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop .subpropItemActionButton.actionTone--success:focus-visible{
	border-color: var(--ui-button-success-hover-border) !important;
	background: var(--ui-button-success-hover) !important;
	color: var(--ui-button-success-hover-text) !important;
}

@media (max-width: 700px){
	html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop .subpropItemActionButton.actionTone--success.btnIconMobile.btnIconMobileLabel::after{
		color: var(--ui-button-success-text) !important;
		text-shadow: none !important;
	}

	html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop .subpropItemActionButton.iconActions.btnIconMobile.btnIconMobileLabel::after{
		color: var(--ui-button-primary-text) !important;
		text-shadow: none !important;
	}
}

html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop button[id^="addPhoto_"]{
	border-color: #b7cbe1 !important;
	background: var(--ui-accent-soft) !important;
}

html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop button[id^="addPhoto_"]::after{
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop .roomPhotoHistoryButton{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop .roomPhotoHistoryButton:hover,
html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop .roomPhotoHistoryButton:focus-visible{
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage #addImageRoom .roomPhotoCarouselSlide{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-soft) !important;
}

html[data-theme="light"] body.immoPage #addImageRoom .roomPhotoCarouselNav{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-accent-soft) !important;
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage #addImageRoom .roomPhotoCarouselNav:hover,
html[data-theme="light"] body.immoPage #addImageRoom .roomPhotoCarouselNav:focus-visible{
	border-color: var(--ui-accent) !important;
	background: var(--ui-surface-hover) !important;
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage #addImageRoom .roomPhotoSlideCaption,
html[data-theme="light"] body.immoPage #addImageRoom .roomPhotoCarouselStatus,
html[data-theme="light"] body.immoPage #addImageRoom .roomPhotoDropHint{
	color: var(--ui-muted) !important;
}

/* The id-anchored dark title rule (near-white, !important) beats the generic light modal header rule. */
html[data-theme="light"] body.immoPage #addImageRoom .modal-header span,
html[data-theme="light"] body.immoPage #addImageRoom .subpropPhotoTitle,
html[data-theme="light"] body.immoPage #addImageRoom .imageRoomTitle{
	color: var(--ui-heading) !important;
}

html[data-theme="light"] body.immoPage #addImageRoom .roomPhotoImageSlide.is-image-error::before{
	border-color: #e4a4ab !important;
	background: #fff1f2 !important;
	color: #a52f3d !important;
}

html[data-theme="light"] body.immoPage #imageItemViewer .itemMediaTabs,
html[data-theme="light"] body.immoPage #imageItemViewer .itemMediaCarouselSlide{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-soft) !important;
}

html[data-theme="light"] body.immoPage #imageItemViewer .itemMediaTab{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #imageItemViewer .itemMediaTab.is-active{
	border-color: var(--ui-accent) !important;
	background: var(--ui-accent-soft) !important;
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage #imageItemViewer .itemMediaUploadCard{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #imageItemViewer .itemMediaUploadCard.is-drag-over,
html[data-theme="light"] body.immoPage #imageItemViewer .itemMediaUploadCard:hover,
html[data-theme="light"] body.immoPage #imageItemViewer .itemMediaUploadCard:focus-visible{
	border-color: var(--ui-accent) !important;
	background: var(--ui-accent-soft) !important;
}

html[data-theme="light"] body.immoPage #imageItemViewer .itemMediaUploadIcon{
	background: var(--ui-accent-soft) !important;
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage #imageItemViewer .itemMediaUploadCard small,
html[data-theme="light"] body.immoPage #imageItemViewer .itemMediaSlideCaption,
html[data-theme="light"] body.immoPage #imageItemViewer .itemMediaCarouselStatus,
html[data-theme="light"] body.immoPage #imageItemViewer .itemMediaInvoiceCaption,
html[data-theme="light"] body.immoPage #imageItemViewer .itemMediaEmptySlide{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #imageItemViewer .itemMediaInvoiceCaption a{
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage #imageItemViewer .itemMediaSlideCaption strong{
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #imageItemViewer .itemMediaCarouselNav{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-accent-soft) !important;
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage #imageItemViewer .itemMediaCarouselNav:hover,
html[data-theme="light"] body.immoPage #imageItemViewer .itemMediaCarouselNav:focus-visible{
	border-color: var(--ui-accent) !important;
	background: var(--ui-surface-hover) !important;
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage #imageItemViewer .itemMediaPhotoSlide.is-image-error::before{
	border-color: #e4a4ab !important;
	background: #fff1f2 !important;
	color: #a52f3d !important;
}

/* Provider status badges, document rows and disclosure controls. */
html[data-theme="light"] body.intervenantPage .intervenantDelegationStatus span,
html[data-theme="light"] body.intervenantPage .intervenantDelegationMenuBadges span,
html[data-theme="light"] body.intervenantPage #ownerTenants .customerDocsStatus,
html[data-theme="light"] body.intervenantPage .intervenantPermissionBadges span,
html[data-theme="light"] body.intervenantPage .intervenantEmployeeStatus,
html[data-theme="light"] body.intervenantPage .intervenantDocsStatus{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-soft) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantDelegationStatus.isActive span,
html[data-theme="light"] body.intervenantPage .intervenantPermissionBadges .intervenantPermissionStatus.isActive,
html[data-theme="light"] body.intervenantPage .intervenantEmployeeStatus.isActive,
html[data-theme="light"] body.intervenantPage .intervenantDocsStatus.isUploaded,
html[data-theme="light"] body.intervenantPage #ownerTenants .customerDocsStatus--validated{
	border-color: #acd9c1 !important;
	background: var(--ui-success-soft) !important;
	color: var(--ui-success) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantDelegationStatus.isPending span,
html[data-theme="light"] body.intervenantPage .intervenantPermissionBadges .intervenantPermissionStatus.isPending,
html[data-theme="light"] body.intervenantPage .intervenantDocsStatus.isWarning,
html[data-theme="light"] body.intervenantPage #ownerTenants .customerDocsStatus--review{
	border-color: #ebcd91 !important;
	background: var(--ui-warning-soft) !important;
	color: var(--ui-warning) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantDocsStatus.isExpired{
	border-color: #e7b4bb !important;
	background: var(--ui-danger-soft) !important;
	color: var(--ui-danger) !important;
}

html[data-theme="light"] body.intervenantPage #ownerTenants .customerDocsStatus--sent,
html[data-theme="light"] body.intervenantPage #ownerTenants .customerDocsStatus--waiting{
	border-color: #b7d1ee !important;
	background: var(--ui-info-soft) !important;
	color: var(--ui-info) !important;
}

html[data-theme="light"] body.intervenantPage #ownerTenants .customerDocsStatus{
	border: 1px solid transparent !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.intervenantPage .intervenantPermissionBadges span:not(.intervenantPermissionStatus){
	border-color: #b7d1ee !important;
	background: var(--ui-accent-soft) !important;
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.intervenantPage #ownerTenants .customerDocsCell,
html[data-theme="light"] body.intervenantPage #ownerTenants .customerDocsNameCell a,
html[data-theme="light"] body.intervenantPage #ownerTenants .customerDocsNameCell span{
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.intervenantPage #ownerTenants .customerDocsToolbarRow,
html[data-theme="light"] body.intervenantPage #ownerTenants .customerDocsRow{
	border-bottom-color: var(--ui-border) !important;
}

html[data-theme="light"] body.intervenantPage #ownerTenants .customerDocsButton{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.intervenantPage #ownerTenants .customerDocsButton--resend,
html[data-theme="light"] body.intervenantPage #ownerTenants .customerDocsButton--renew{
	border-color: #b7d1ee !important;
	background: var(--ui-info-soft) !important;
	color: var(--ui-info) !important;
}

html[data-theme="light"] body.intervenantPage #ownerTenants .customerDocsButton--validate{
	border-color: #acd9c1 !important;
	background: var(--ui-success-soft) !important;
	color: var(--ui-success) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantMissionOpenLink::before,
html[data-theme="light"] body.intervenantPage .intervenantDelegationOpen::before,
html[data-theme="light"] body.intervenantPage .intervenantOwnerFeedToggle::before,
html[data-theme="light"] body.intervenantPage .intervenantOwnerTenantToggle::before{
	border-color: var(--ui-muted) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantOwnerTenantToggle{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantDelegationFilter span{
	background: var(--ui-surface-soft) !important;
	color: var(--ui-text) !important;
}

/* Provider action modal and billing form. */
html[data-theme="light"] body.intervenantPage .intervenantFeedActionModal .receiptActionPanel,
html[data-theme="light"] body.intervenantPage .intervenantFeedActionModal .receiptPartialChoice,
html[data-theme="light"] body.intervenantPage .intervenantFeedActionModal .receiptCommentChoice{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantFeedActionModal .receiptActionPanelTitle{
	color: var(--ui-heading) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantFeedActionModal .receiptActionHelp{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantBillingGrid .fieldset-input label{
	background: var(--ui-surface) !important;
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantBillingGrid .formText{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantBillingGrid select.formText option{
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantBillingSummary span{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantBillingSummary strong{
	border-color: #b7d1ee !important;
	background: var(--ui-accent-soft) !important;
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantBillingSubmit{
	border-color: var(--ui-button-primary-border) !important;
	background: var(--ui-button-primary-bg) !important;
	color: var(--ui-button-primary-text) !important;
}

/* Provider data-modal tabs use the same light navigation language. */
html[data-theme="light"] body.intervenantPage .intervenantDataModal .modalTabBar,
html[data-theme="light"] body.intervenantPage .intervenantOwnerPropertiesMirror .modalTabBar,
html[data-theme="light"] body.intervenantPage .intervenantOwnerCustomersMirror .modalTabBar{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantDataModal .modalTabBar .button,
html[data-theme="light"] body.intervenantPage .intervenantOwnerPropertiesMirror .propertiesDispButton,
html[data-theme="light"] body.intervenantPage .intervenantOwnerCustomersMirror .customersDispButton{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantDataModal .modalTabBar .button.is-active,
html[data-theme="light"] body.intervenantPage .intervenantDataModal .modalTabBar .button.isActive,
html[data-theme="light"] body.intervenantPage .intervenantOwnerPropertiesMirror .propertiesDispButton.is-active,
html[data-theme="light"] body.intervenantPage .intervenantOwnerCustomersMirror .customersDispButton.is-active{
	border-color: #b7cbe1 !important;
	background: var(--ui-accent-soft) !important;
	color: var(--ui-accent-strong) !important;
}

/* Remaining dashboard controls and management tables. */
html[data-theme="light"] body.immoPage .dashboardPropertyPickerButton::after{
	border-top-color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage .dashboardProjectChargeField span{
	background: var(--ui-surface) !important;
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage .dashboardScenarioToggle,
html[data-theme="light"] body.immoPage .dashboardPlanningTaxCompact,
html[data-theme="light"] body.immoPage .dashboardPlanningPremiumLock,
html[data-theme="light"] body.immoPage .dashboardEmptyState{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage .dashboardFinancialDocumentsHead span,
html[data-theme="light"] body.immoPage .dashboardPlanningTaxCompact span{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage .dashboardFinancialDocumentsHead strong,
html[data-theme="light"] body.immoPage .dashboardPlanningTaxCompact em{
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage .dashboardPlanningTaxCompact strong,
html[data-theme="light"] body.immoPage .dashboardPlanningPremiumLock strong{
	color: var(--ui-heading) !important;
}

html[data-theme="light"] body.immoPage .dashboardPotentialProjectHead,
html[data-theme="light"] body.immoPage .dashboardCreditHead{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-soft) !important;
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage .dashboardPotentialProjectRow,
html[data-theme="light"] body.immoPage .dashboardCreditRow{
	border-top-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage .dashboardPotentialProjectRow strong,
html[data-theme="light"] body.immoPage .dashboardPotentialProjectRow em,
html[data-theme="light"] body.immoPage .dashboardCreditRow strong,
html[data-theme="light"] body.immoPage .dashboardCreditRow em{
	color: var(--ui-heading) !important;
}

/* Légendes de ligne (banque, durée, adresse) : texte discret, jamais de fond propre. */
html[data-theme="light"] body.immoPage .dashboardPotentialProjectRow span,
html[data-theme="light"] body.immoPage .dashboardCreditRow span{
	background: transparent !important;
	color: var(--ui-muted) !important;
}

/* Final light-theme action palette: the same semantic tones as dark mode,
 * adapted to light surfaces instead of saturated solid fills. */
html[data-theme="light"] body.immoPage input[type="submit"],
html[data-theme="light"] body.immoPage input[type="button"],
html[data-theme="light"] body.immoPage input[type="reset"],
html[data-theme="light"] body.intervenantPage input[type="submit"],
html[data-theme="light"] body.intervenantPage input[type="button"],
html[data-theme="light"] body.intervenantPage input[type="reset"]{
	border-color: var(--ui-button-neutral-border) !important;
	background: var(--ui-button-neutral-bg) !important;
	color: var(--ui-button-neutral-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage .actionTone--primary,
html[data-theme="light"] body.immoPage .modal .button.actionTone--primary,
html[data-theme="light"] body.immoPage .modal .buttonSmall.actionTone--primary,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) button[type="submit"].button:not(.actionTone--danger):not(.actionTone--success):not(.receiptActionSubmit--danger):not(.receiptActionSubmit--paid):not(.receiptActionSubmit--send),
html[data-theme="light"] body.immoPage .settingsModal form .button[type="submit"]:not(.actionTone--danger):not(.actionTone--success):not(.accountDeletionButton):not(.settingsDowngradeButton),
html[data-theme="light"] body.immoPage .settingsModal .settingsBillingFooter .button:not(.actionTone--danger):not(.actionTone--success),
html[data-theme="light"] body.immoPage .settingsModal .settingsIntegrationFormFooter .button:not(.actionTone--danger):not(.actionTone--success),
html[data-theme="light"] body.immoPage #messages .messagesComposer .button,
html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop .subpropItemActionButton,
html[data-theme="light"] body.intervenantPage .actionTone--primary,
html[data-theme="light"] body.intervenantPage .modal .actionTone--primary,
html[data-theme="light"] body.intervenantPage .intervenantDocsSubmit,
html[data-theme="light"] body.intervenantPage .modal .intervenantDocsSubmit,
html[data-theme="light"] body.intervenantPage .intervenantOwnerPropertyCreateSubmit,
html[data-theme="light"] body.intervenantPage .intervenantBillingSubmit,
html[data-theme="light"] body.intervenantPage .modal .intervenantBillingSubmit,
html[data-theme="light"] body.intervenantPage #messages .messagesComposer .button{
	border-color: var(--ui-button-primary-border) !important;
	background: var(--ui-button-primary-bg) !important;
	background-color: var(--ui-button-primary-bg) !important;
	background-image: none !important;
	color: var(--ui-button-primary-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage .actionTone--primary:hover,
html[data-theme="light"] body.immoPage .actionTone--primary:focus-visible,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) button[type="submit"].button:not(.actionTone--danger):not(.actionTone--success):not(.receiptActionSubmit--danger):not(.receiptActionSubmit--paid):not(.receiptActionSubmit--send):hover,
html[data-theme="light"] body.immoPage .settingsModal form .button[type="submit"]:not(.actionTone--danger):not(.actionTone--success):not(.accountDeletionButton):not(.settingsDowngradeButton):hover,
html[data-theme="light"] body.immoPage .settingsModal .settingsBillingFooter .button:not(.actionTone--danger):not(.actionTone--success):hover,
html[data-theme="light"] body.immoPage .settingsModal .settingsIntegrationFormFooter .button:not(.actionTone--danger):not(.actionTone--success):hover,
html[data-theme="light"] body.immoPage #messages .messagesComposer .button:hover,
html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop .subpropItemActionButton:hover,
html[data-theme="light"] body.immoPage .appPropertySurface .dataSubprop .subpropItemActionButton:focus-visible,
html[data-theme="light"] body.intervenantPage .actionTone--primary:hover,
html[data-theme="light"] body.intervenantPage .actionTone--primary:focus-visible,
html[data-theme="light"] body.intervenantPage .modal .actionTone--primary:hover,
html[data-theme="light"] body.intervenantPage .modal .actionTone--primary:focus-visible,
html[data-theme="light"] body.intervenantPage .intervenantDocsSubmit:hover,
html[data-theme="light"] body.intervenantPage .modal .intervenantDocsSubmit:hover,
html[data-theme="light"] body.intervenantPage .intervenantBillingSubmit:hover,
html[data-theme="light"] body.intervenantPage .modal .intervenantBillingSubmit:hover,
html[data-theme="light"] body.intervenantPage #messages .messagesComposer .button:hover{
	border-color: var(--ui-button-primary-hover-border) !important;
	background: var(--ui-button-primary-hover) !important;
	background-color: var(--ui-button-primary-hover) !important;
	color: var(--ui-button-primary-hover-text) !important;
}

html[data-theme="light"] body.immoPage .actionTone--success,
html[data-theme="light"] body.immoPage .modal .button.actionTone--success,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .receiptActionSubmit--paid,
html[data-theme="light"] body.intervenantPage .actionTone--success,
html[data-theme="light"] body.intervenantPage .modal .actionTone--success,
html[data-theme="light"] body.intervenantPage .intervenantMissionButton.isAccept,
html[data-theme="light"] body.intervenantPage .intervenantFeedAction.isPaid,
html[data-theme="light"] body.intervenantPage .intervenantFeedAction.isPaidState,
html[data-theme="light"] body.intervenantPage .intervenantFeedActionSubmit.isPaid{
	border-color: var(--ui-button-success-border) !important;
	background: var(--ui-button-success-bg) !important;
	background-color: var(--ui-button-success-bg) !important;
	color: var(--ui-button-success-text) !important;
}

html[data-theme="light"] body.immoPage .actionTone--success:hover,
html[data-theme="light"] body.immoPage .actionTone--success:focus-visible,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .receiptActionSubmit--paid:hover,
html[data-theme="light"] body.intervenantPage .actionTone--success:hover,
html[data-theme="light"] body.intervenantPage .modal .actionTone--success:hover,
html[data-theme="light"] body.intervenantPage .modal .actionTone--success:focus-visible,
html[data-theme="light"] body.intervenantPage .intervenantMissionButton.isAccept:hover,
html[data-theme="light"] body.intervenantPage .intervenantFeedAction.isPaid:hover{
	border-color: var(--ui-button-success-hover-border) !important;
	background: var(--ui-button-success-hover) !important;
	background-color: var(--ui-button-success-hover) !important;
	color: var(--ui-button-success-hover-text) !important;
}

html[data-theme="light"] body.immoPage .actionTone--danger,
html[data-theme="light"] body.immoPage .modal .button.actionTone--danger,
html[data-theme="light"] body.immoPage .modal .buttonSmall.actionTone--danger,
html[data-theme="light"] body.immoPage .modal .receiptActionSubmit--danger,
html[data-theme="light"] body.immoPage .modal .customerDeleteButton,
html[data-theme="light"] body.immoPage .settingsModal .settingsCompanyClosureButton,
html[data-theme="light"] body.immoPage .settingsModal .accountDeletionButton,
html[data-theme="light"] body.intervenantPage .actionTone--danger,
html[data-theme="light"] body.intervenantPage .modal .actionTone--danger,
html[data-theme="light"] body.intervenantPage .intervenantMissionButton.isRefuse,
html[data-theme="light"] body.intervenantPage .intervenantFeedAction.isDanger,
html[data-theme="light"] body.intervenantPage .intervenantFeedActionSubmit.isDanger,
html[data-theme="light"] body.intervenantPage .intervenantDocsDeleteButton,
html[data-theme="light"] body.intervenantPage .modal .intervenantDocsDeleteButton,
html[data-theme="light"] body.intervenantPage .intervenantEmployeeDisableButton{
	border-color: var(--ui-button-danger-border) !important;
	background: var(--ui-button-danger-bg) !important;
	background-color: var(--ui-button-danger-bg) !important;
	color: var(--ui-button-danger-text) !important;
}

html[data-theme="light"] body.immoPage .actionTone--danger:hover,
html[data-theme="light"] body.immoPage .actionTone--danger:focus-visible,
html[data-theme="light"] body.immoPage .modal .receiptActionSubmit--danger:hover,
html[data-theme="light"] body.immoPage .modal .customerDeleteButton:hover,
html[data-theme="light"] body.immoPage .settingsModal .settingsCompanyClosureButton:hover,
html[data-theme="light"] body.immoPage .settingsModal .accountDeletionButton:hover,
html[data-theme="light"] body.intervenantPage .actionTone--danger:hover,
html[data-theme="light"] body.intervenantPage .modal .actionTone--danger:hover,
html[data-theme="light"] body.intervenantPage .modal .actionTone--danger:focus-visible,
html[data-theme="light"] body.intervenantPage .intervenantMissionButton.isRefuse:hover,
html[data-theme="light"] body.intervenantPage .intervenantFeedAction.isDanger:hover{
	border-color: var(--ui-button-danger-hover-border) !important;
	background: var(--ui-button-danger-hover) !important;
	background-color: var(--ui-button-danger-hover) !important;
	color: var(--ui-button-danger-hover-text) !important;
}

html[data-theme="light"] body.immoPage .settingsModal .settingsDowngradeButton{
	border-color: var(--ui-button-warning-border) !important;
	background: var(--ui-button-warning-bg) !important;
	background-color: var(--ui-button-warning-bg) !important;
	color: var(--ui-button-warning-text) !important;
}

html[data-theme="light"] body.immoPage .settingsModal .settingsDowngradeButton:hover,
html[data-theme="light"] body.immoPage .settingsModal .settingsDowngradeButton:focus-visible{
	border-color: var(--ui-button-warning-hover-border) !important;
	background: var(--ui-button-warning-hover) !important;
	background-color: var(--ui-button-warning-hover) !important;
	color: var(--ui-button-warning-hover-text) !important;
}

html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .receiptActionSubmit--refund,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .receiptActionSubmit--neutral,
html[data-theme="light"] body.intervenantPage .intervenantFeedAction.isRefund,
html[data-theme="light"] body.intervenantPage .intervenantFeedAction.isRefundState,
html[data-theme="light"] body.intervenantPage .intervenantFeedActionSubmit.isRefund{
	border-color: var(--ui-button-info-border) !important;
	background: var(--ui-button-info-bg) !important;
	background-color: var(--ui-button-info-bg) !important;
	color: var(--ui-button-info-text) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantFeedAction.isNeutral,
html[data-theme="light"] body.intervenantPage .intervenantFeedAction.isExportState,
html[data-theme="light"] body.intervenantPage .intervenantDocsViewButton{
	border-color: var(--ui-button-neutral-border) !important;
	background: var(--ui-button-neutral-bg) !important;
	background-color: var(--ui-button-neutral-bg) !important;
	color: var(--ui-button-neutral-text) !important;
}

/* Disabled must win over every semantic variant. */
html[data-theme="light"] body.immoPage .button:disabled,
html[data-theme="light"] body.immoPage .buttonSmall:disabled,
html[data-theme="light"] body.immoPage .button[aria-disabled="true"],
html[data-theme="light"] body.immoPage .buttonSmall[aria-disabled="true"],
html[data-theme="light"] body.intervenantPage .button:disabled,
html[data-theme="light"] body.intervenantPage .buttonSmall:disabled,
html[data-theme="light"] body.intervenantPage .button[aria-disabled="true"],
html[data-theme="light"] body.intervenantPage .buttonSmall[aria-disabled="true"]{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-soft) !important;
	background-color: var(--ui-surface-soft) !important;
	color: var(--ui-subtle) !important;
	box-shadow: none !important;
	cursor: not-allowed !important;
	opacity: 0.68;
}

/* Final light-theme contrast pass for settings navigation, logs and labels.
 * These selectors intentionally match the specificity of the legacy dark rules. */
html[data-theme="light"] body.immoPage #settings.settingsModal .settingsNav{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface-soft) !important;
	box-shadow: inset 0 0 0 1px rgba(49, 95, 145, 0.04) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsNavItem{
	border-color: #cbd5e1 !important;
	background: #f8fafc !important;
	color: #485769 !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsNavItem::after{
	color: #485769 !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsNavItem:not(.isActive):hover,
html[data-theme="light"] body.immoPage #settings.settingsModal .settingsNavItem:not(.isActive):focus-visible{
	border-color: #aab8c8 !important;
	background: var(--ui-surface-hover) !important;
	color: #253b52 !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsNavItem:not(.isActive):hover::after,
html[data-theme="light"] body.immoPage #settings.settingsModal .settingsNavItem:not(.isActive):focus-visible::after{
	color: #253b52 !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsNavItem.isActive{
	border-color: #b7cbe1 !important;
	background: var(--ui-accent-soft) !important;
	color: var(--ui-accent-strong) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsNavItem.isActive::after{
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsSectionTitle .triangle,
html[data-theme="light"] body.immoPage #settings.settingsModal .accountDeletionTitle .accountDeletionToggle .triangle{
	background: #e4eaf1 !important;
	color: #4d5d6e !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsSectionTitle .triangle:hover,
html[data-theme="light"] body.immoPage #settings.settingsModal .settingsSectionTitle .triangle:focus-visible,
html[data-theme="light"] body.immoPage #settings.settingsModal .accountDeletionTitle .accountDeletionToggle .triangle:hover,
html[data-theme="light"] body.immoPage #settings.settingsModal .accountDeletionTitle .accountDeletionToggle .triangle:focus-visible{
	background: #d8e4f0 !important;
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsLogsPanel .settingsLogsTop,
html[data-theme="light"] body.immoPage #settings.settingsModal .settingsLogsSelectionBar{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsLogsPanel .settingsLogsBody,
html[data-theme="light"] body.immoPage #settings.settingsModal .settingsLogsPanel .settingsLogsBody #listLogsQueryDisplay{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsLogsPanel .logRow{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsLogsPanel .logRow:hover{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface-hover) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsLogsSelectionCount,
html[data-theme="light"] body.immoPage #settings.settingsModal .settingsLogsPanel .logDate,
html[data-theme="light"] body.immoPage #settings.settingsModal .settingsLogsPanel .logTenant,
html[data-theme="light"] body.immoPage #settings.settingsModal .settingsLogsPanel .logActor{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsLogsPanel .logAction{
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsLogsPanel .logDate::before,
html[data-theme="light"] body.immoPage #settings.settingsModal .settingsLogsPanel .logAction::before,
html[data-theme="light"] body.immoPage #settings.settingsModal .settingsLogsPanel .logTenant::before,
html[data-theme="light"] body.immoPage #settings.settingsModal .settingsLogsPanel .logActor::before{
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsLogsPanel .logEmpty,
html[data-theme="light"] body.immoPage #settings.settingsModal #noLogsMatch{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface-soft) !important;
	color: var(--ui-muted) !important;
}

/* Floating field labels in settings. */
html[data-theme="light"] body.immoPage #settings.settingsModal .fieldset-input label,
html[data-theme="light"] body.immoPage #settings.settingsModal .settingsContent .fieldset-input label,
html[data-theme="light"] body.immoPage #settings.settingsModal .settingsBusinessForm .fieldset-input label,
html[data-theme="light"] body.immoPage #settings.settingsModal .settingsLogsTop .fieldset-input label,
html[data-theme="light"] body.immoPage #settings.settingsModal .settingsBusinessForm .settingsInlineChoiceField > label,
html[data-theme="light"] body.immoPage #settings.settingsModal .settingsStructureLabel{
	background: var(--ui-surface-alt) !important;
	color: var(--ui-muted) !important;
	text-shadow: none !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsRadioSwitch > label{
	background: transparent !important;
	color: var(--ui-muted) !important;
	text-shadow: none !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsRadioSwitch > label:has(input:checked){
	background: var(--ui-accent-soft) !important;
	color: var(--ui-accent-strong) !important;
}

/* Floating field labels in the rest of the owner workspace. */
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .fieldset-input label,
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) .invoiceSwitchCard > label,
html[data-theme="light"] body.immoPage :is(#properties, #updateProperty, #invoices, #gauges, #addContract, #addItems) .fieldset-input label,
html[data-theme="light"] body.immoPage #invoices .invoiceSwitchCard > label,
html[data-theme="light"] body.immoPage #addContract .contractSwitchLabel{
	background: var(--ui-surface-alt) !important;
	color: var(--ui-muted) !important;
	text-shadow: none !important;
}

html[data-theme="light"] body.immoPage #addContract .contractRoomChoiceSection{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractRoomChoiceSection .fieldset-input label{
	background: var(--ui-surface-alt) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractSpecialDetailsHeader strong{
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractSpecialDetailsHeader small,
html[data-theme="light"] body.immoPage #addContract .contractSpecialDetailFields .contractLeaseDetailField > small{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractIndexationContainer,
html[data-theme="light"] body.immoPage #addContract .contractEnergySupplementDetails,
html[data-theme="light"] body.immoPage #addContract .contractWorksDetails{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractIndexationHeader small,
html[data-theme="light"] body.immoPage #addContract .contractWorksHeader small{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractWorksBadge{
	color: var(--ui-accent) !important;
	border-color: color-mix(in srgb, var(--ui-accent) 35%, var(--ui-border)) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractWorksChevron{
	color: var(--ui-text) !important;
	background: var(--ui-surface-strong) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractFurnitureChecklistChevron{
	color: var(--ui-text) !important;
	background: var(--ui-surface-strong) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractFurnitureChecklistDetails,
html[data-theme="light"] body.immoPage #addContract .contractFurnitureChecklistStatus{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractCreateFeedback{
	color: var(--ui-text) !important;
	border-color: color-mix(in srgb, #b7791f 52%, var(--ui-border)) !important;
	background: color-mix(in srgb, #f6c453 13%, var(--ui-surface)) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractCreateFeedback strong{
	color: #8a5a00 !important;
}

html[data-theme="light"] body.immoPage #addContract .contractCreateFeedback.is-success{
	border-color: color-mix(in srgb, var(--ui-success) 52%, var(--ui-border)) !important;
	background: var(--ui-success-soft) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractCreateFeedback.is-success strong{
	color: var(--ui-success) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractCreateFeedback.is-error{
	border-color: color-mix(in srgb, var(--ui-danger) 52%, var(--ui-border)) !important;
	background: color-mix(in srgb, var(--ui-danger) 9%, var(--ui-surface)) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractCreateFeedback.is-error strong{
	color: var(--ui-danger) !important;
}

/* Bandeau collant de la fenêtre Contrats : les fonds clairs ci-dessus sont déjà opaques, ombre allégée. */
html[data-theme="light"] body.immoPage #addContract > .contractModalFeedback{
	box-shadow: 0 6px 18px rgba(24, 43, 66, 0.12);
}

html[data-theme="light"] body.immoPage #addContract .contractCreateInvalidControl,
html[data-theme="light"] body.immoPage #addContract .hasContractValidationError > .formText{
	border-color: #b87813 !important;
	box-shadow: 0 0 0 2px rgba(184, 120, 19, 0.18) !important;
}

html[data-theme="light"] body.immoPage #addContract .hasContractValidationError > label{
	color: #8b5a0d !important;
}

html[data-theme="light"] body.immoPage #addContract .contractFurnitureChecklistSource{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractLeaseDetailSection{
	border-color: var(--ui-border) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #addContract :is(.contractLeaseDetailField--checkbox, .contractLeaseDetailField--switch, .contractWorksFields .contractLeaseDetailField):not(.contractFurnitureChecklistStatus) > label{
	background: transparent !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractLeaseDetailField--checkbox:not(.contractFurnitureChecklistStatus){
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractFurnitureChecklistBadge.is-complete,
html[data-theme="light"] body.immoPage #addContract .contractFurnitureChecklistItems li.is-complete{
	color: #18743a !important;
}

html[data-theme="light"] body.immoPage #addContract .contractFurnitureChecklistBadge.is-missing,
html[data-theme="light"] body.immoPage #addContract .contractFurnitureChecklistItems li.is-missing{
	color: #8a5500 !important;
}

html[data-theme="light"] body.immoPage #addContract .contractTechnicalSheetLink{
	color: #245f9b !important;
}

html[data-theme="light"] body.immoPage #addContract .contractTechnicalAlert{
	border-color: #d68a32 !important;
	background: #fff2df !important;
	color: #7c4708 !important;
}

html[data-theme="light"] body.immoPage #addContract .contractTechnicalSheetLink:hover,
html[data-theme="light"] body.immoPage #addContract .contractTechnicalSheetLink:focus-visible{
	color: #173f69 !important;
}

body.immoPage #addContract .contractDateStartField{
	position: relative;
}

body.immoPage #addContract .contractDateStartField #dateStart{
	padding-right: 68px !important;
}

body.immoPage #addContract .contractDateRecalculationStatus{
	position: absolute;
	top: 22.5px;
	right: 42px;
	z-index: 5;
	display: grid;
	place-items: center;
	width: 18px;
	height: 18px;
	transform: translateY(-50%);
	pointer-events: none;
}

body.immoPage #addContract .contractDateRecalculationStatus[hidden]{
	display: none !important;
}

body.immoPage #addContract .contractDateRecalculationSpinner{
	display: block;
	width: 14px;
	height: 14px;
	border: 2px solid rgba(169, 205, 253, 0.3);
	border-top-color: #a9cdfd;
	border-radius: 50%;
	box-sizing: border-box;
	animation: contractDateRecalculationSpin 720ms linear infinite;
}

body.immoPage #addContract .contractDateRecalculationText{
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

@keyframes contractDateRecalculationSpin{
	to{ transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce){
	body.immoPage #addContract .contractDateRecalculationSpinner{
		animation: none;
	}
}

/* Contract modal: the dark-theme selectors in index.css use #addContract and
 * therefore outrank the generic light modal rules. Keep the complete creation
 * form on the light semantic palette, including disabled lease options. */
html[data-theme="light"] body.immoPage #addContract .contractFormFields,
html[data-theme="light"] body.immoPage #addContract #sectionContractsDatesDetails,
html[data-theme="light"] body.immoPage #addContract .sectionContractsDatesDetails,
html[data-theme="light"] body.immoPage #addContract .contractDetailsPayment,
html[data-theme="light"] body.immoPage #addContract .contractDetailsLast,
html[data-theme="light"] body.immoPage #addContract .contractUnityNotice{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #addContract #createContractsFormContent > .contractFormFields:has(#sectionContractsDatesDetails){
	border: 0 !important;
	background: transparent !important;
}

html[data-theme="light"] body.immoPage #addContract .contractDateRecalculationSpinner{
	border-color: color-mix(in srgb, var(--ui-accent) 25%, transparent);
	border-top-color: var(--ui-accent);
}

html[data-theme="light"] body.immoPage #addContract .formText,
html[data-theme="light"] body.immoPage #addContract input[type="text"],
html[data-theme="light"] body.immoPage #addContract input[type="number"],
html[data-theme="light"] body.immoPage #addContract input[type="date"],
html[data-theme="light"] body.immoPage #addContract select,
html[data-theme="light"] body.immoPage #addContract textarea{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #addContract .formText::placeholder,
html[data-theme="light"] body.immoPage #addContract input::placeholder,
html[data-theme="light"] body.immoPage #addContract textarea::placeholder{
	color: var(--ui-subtle) !important;
	opacity: 1 !important;
}

html[data-theme="light"] body.immoPage #addContract input[type="date"]::-webkit-date-and-time-value{
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #addContract :is(input, select, textarea):focus{
	border-color: var(--ui-accent) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
	box-shadow: 0 0 0 3px var(--ui-focus) !important;
}

html[data-theme="light"] body.immoPage #addContract :is(input, select, textarea):disabled,
html[data-theme="light"] body.immoPage #addContract input[readonly]{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-soft) !important;
	color: var(--ui-muted) !important;
	-webkit-text-fill-color: var(--ui-muted) !important;
	opacity: 1 !important;
}

html[data-theme="light"] body.immoPage #addContract .fieldset-input label,
html[data-theme="light"] body.immoPage #addContract #sectionContractsDatesDetails .fieldset-input label,
html[data-theme="light"] body.immoPage #addContract .sectionContractsDatesDetails .fieldset-input label,
html[data-theme="light"] body.immoPage #addContract .contractDetailsRent .fieldset-input label,
html[data-theme="light"] body.immoPage #addContract .contractDetailsPayment .fieldset-input label,
html[data-theme="light"] body.immoPage #addContract .contractDetailsLast .fieldset-input label,
html[data-theme="light"] body.immoPage #addContract .contractSwitchLabel{
	background: var(--ui-surface-alt) !important;
	color: #465466 !important;
	text-shadow: none !important;
}

html[data-theme="light"] body.immoPage #addContract .contractGeneralOptions .contractSwitchLabel,
html[data-theme="light"] body.immoPage #addContract .contractGeneralOptions .fieldset-input label{
	background: var(--ui-surface) !important;
}

/* « Assurance locataire » : comme en thème sombre, pas de boîte propre autour de la pastille ;
   le libellé flottant reprend le fond de la rangée (surface-alt), pas le blanc. */
html[data-theme="light"] body.immoPage #addContract #createContractsFormContent .contractInsuranceRow > .contractSwitchField{
	border: 0 !important;
	background: transparent !important;
}

html[data-theme="light"] body.immoPage #addContract .contractInsuranceRow .contractSwitchLabel{
	background: var(--ui-surface-alt) !important;
}

html[data-theme="light"] body.immoPage #addContract :is(#preparedContractsFormContent, #signedContractsFormContent) .fieldset-input > label{
	background: var(--ui-surface) !important;
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #addContract :is(.contractDetailsDate, #autoIndexRevWrap, .docItem, .fileUpload, .contractSwitchField){
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #addContract :is(.contractDetailsDate, #autoIndexRevWrap, .docItem) label,
html[data-theme="light"] body.immoPage #addContract .contractSwitchChoice,
html[data-theme="light"] body.immoPage #addContract .contractSwitchChoice > span{
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #addContract #autoIndexRevWrap .contractSwitchChoice > label.switch{
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #addContract .contractPaymentLockNotice,
html[data-theme="light"] body.immoPage #addContract .contractIndexLockNotice{
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractPaymentLockNotice span,
html[data-theme="light"] body.immoPage #addContract .contractIndexLockNotice span{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractIndexLockNotice{
	border-left-color: var(--ui-accent) !important;
	background: color-mix(in srgb, var(--ui-accent) 7%, var(--ui-surface-alt)) !important;
}

html[data-theme="light"] body.immoPage #addContract #singleContract + label{
	color: var(--ui-text) !important;
	font-weight: 800 !important;
}

html[data-theme="light"] body.immoPage #addContract #singleContract + label i{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #addContract #singleContract:disabled{
	width: 18px !important;
	height: 18px !important;
	border: 2px solid #718096 !important;
	border-radius: 4px !important;
	background: var(--ui-surface) !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	opacity: 1 !important;
}

html[data-theme="light"] body.immoPage #addContract #singleContract:disabled:checked{
	border-color: var(--ui-accent) !important;
	background-color: var(--ui-accent) !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M3 8l3 3 7-7'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: 13px 13px !important;
}

html[data-theme="light"] body.immoPage #addContract #singleContract:disabled + label,
html[data-theme="light"] body.immoPage #addContract #singleContract:disabled + label i{
	color: #5b6878 !important;
	opacity: 1 !important;
}

html[data-theme="light"] body.immoPage #addContract #textAnnexDisp,
html[data-theme="light"] body.immoPage #addContract :is(.tenantSupplementToggle, #rentSupplementToggle){
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractTenantUnavailable{
	border-color: #dfad66 !important;
	background: var(--ui-warning-soft) !important;
	color: #704900 !important;
}

html[data-theme="light"] body.immoPage #addContract .contractTenantUnavailable strong{
	color: #704900 !important;
}

html[data-theme="light"] body.immoPage .modal .tenantComboboxToggle{
	border-left-color: var(--ui-border) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #addContract .tenantLocField.fieldset-input > label,
html[data-theme="light"] body.immoPage .modal .tenantComboboxField.fieldset-input > label{
	z-index: 6 !important;
	background: var(--ui-surface-alt) !important;
}

html[data-theme="light"] body.immoPage #addContract :is(#preparedContractsFormContent, #signedContractsFormContent) .tenantComboboxField.fieldset-input > label{
	background: var(--ui-surface) !important;
}

html[data-theme="light"] body.immoPage .modal .tenantComboboxInput.formText::placeholder{
	color: var(--ui-subtle) !important;
	opacity: 1 !important;
}

html[data-theme="light"] body.immoPage .modal .tenantComboboxToggle:hover,
html[data-theme="light"] body.immoPage .modal .tenantComboboxToggle:focus-visible{
	background: var(--ui-surface-soft) !important;
}

html[data-theme="light"] body.immoPage .modal .tenantComboboxMenu{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	box-shadow: 0 14px 32px rgba(39, 55, 72, 0.18) !important;
}

html[data-theme="light"] body.immoPage .modal .tenantComboboxOption{
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage .modal .tenantComboboxOption:hover,
html[data-theme="light"] body.immoPage .modal .tenantComboboxOption.is-active{
	background: var(--ui-surface-soft) !important;
}

html[data-theme="light"] body.immoPage .modal .tenantComboboxOption.is-selected{
	background: var(--ui-accent-soft) !important;
}

html[data-theme="light"] body.immoPage .modal .tenantComboboxOptionStatus,
html[data-theme="light"] body.immoPage .modal .tenantComboboxEmpty{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #addContract #contractAvailabilityMessage{
	border-color: #d998a2 !important;
	background: var(--ui-danger-soft) !important;
	color: var(--ui-danger) !important;
}

/* Prepared and archived contract tables share the same readable palette.
 * Active contracts use the card rules further below. The dark modal rules in
 * index.css are deliberately ID-specific, so these overrides are too. */
html[data-theme="light"] body.immoPage #addContract .contractsForm > table{
	border: 1px solid var(--ui-border) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #addContract thead.tableImmoContract,
html[data-theme="light"] body.immoPage #addContract thead.tableImmoContract tr,
html[data-theme="light"] body.immoPage #addContract thead.tableImmoContract th{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-soft) !important;
	color: var(--ui-heading) !important;
	text-shadow: none !important;
}

html[data-theme="light"] body.immoPage #addContract tbody.tableImmoContract > tr.tableImmoContract{
	background: var(--ui-surface) !important;
}

html[data-theme="light"] body.immoPage #addContract tbody.tableImmoContract > tr.tableImmoContract:nth-child(even){
	background: var(--ui-surface-alt) !important;
}

html[data-theme="light"] body.immoPage #addContract tbody.tableImmoContract > tr.tableImmoContract:hover{
	background: var(--ui-surface-hover) !important;
}

html[data-theme="light"] body.immoPage #addContract tbody.tableImmoContract > tr.tableImmoContract > th,
html[data-theme="light"] body.immoPage #addContract tbody.tableImmoContract > tr.tableImmoContract > td{
	border-color: var(--ui-border) !important;
	background: transparent !important;
	color: var(--ui-text) !important;
	text-shadow: none !important;
}

html[data-theme="light"] body.immoPage #addContract .tableImmoContract .contractMainPriceCell,
html[data-theme="light"] body.immoPage #addContract .tableImmoContract .contractMainPriceCell a,
html[data-theme="light"] body.immoPage #addContract .tableImmoContract .contractMainPriceCell span,
html[data-theme="light"] body.immoPage #addContract .tableImmoContract a,
html[data-theme="light"] body.immoPage #addContract .tableImmoContract label{
	color: var(--ui-text) !important;
	text-shadow: none !important;
}

html[data-theme="light"] body.immoPage #addContract tbody.tableImmoContract > tr.contractIndexSoon30 > th,
html[data-theme="light"] body.immoPage #addContract tbody.tableImmoContract > tr.contractIndexSoon30 > td,
html[data-theme="light"] body.immoPage #addContract tbody.tableImmoContract > tr.contractIndexSoon30 > :is(th, td) > :is(a, label),
html[data-theme="light"] body.immoPage #addContract tbody.tableImmoContract > tr.contractIndexSoon30 > .contractMainPriceCell :is(a, span){
	color: var(--ui-warning) !important;
}

html[data-theme="light"] body.immoPage #addContract tbody.tableImmoContract > tr:is(.contractIndexSoon15, .contractIndexLate, .contractIndexLost, .contractIndexRejected) > th,
html[data-theme="light"] body.immoPage #addContract tbody.tableImmoContract > tr:is(.contractIndexSoon15, .contractIndexLate, .contractIndexLost, .contractIndexRejected) > td,
html[data-theme="light"] body.immoPage #addContract tbody.tableImmoContract > tr:is(.contractIndexSoon15, .contractIndexLate, .contractIndexLost, .contractIndexRejected) > :is(th, td) > :is(a, label),
html[data-theme="light"] body.immoPage #addContract tbody.tableImmoContract > tr:is(.contractIndexSoon15, .contractIndexLate, .contractIndexLost, .contractIndexRejected) > .contractMainPriceCell :is(a, span){
	color: var(--ui-danger) !important;
}

html[data-theme="light"] body.immoPage #addContract tbody.tableImmoContract > tr.contractActionGroupGap > th,
html[data-theme="light"] body.immoPage #addContract tbody.tableImmoContract > tr.contractActionGroupGap > td{
	border-bottom-color: var(--ui-surface) !important;
}

html[data-theme="light"] body.immoPage #addContract .tableImmoContractInventory td{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractInventoryGrid,
html[data-theme="light"] body.immoPage #addContract .contractInventoryLabel,
html[data-theme="light"] body.immoPage #addContract .contractInventoryActions{
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractInventoryStatus{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractActionRow > td{
	border-color: var(--ui-border) !important;
	background: transparent !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractIndexSummaryBar,
html[data-theme="light"] body.immoPage #addContract .contractActionTableDesktop,
html[data-theme="light"] body.immoPage #addContract .contractActionMobileSplit .contractActionTableMobile{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractIndexSummaryBarFlatTop{
	border-bottom-color: var(--ui-border) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractActionTableDesktop tr:first-child td,
html[data-theme="light"] body.immoPage #addContract .contractActionMobileSplit .contractActionTableMobile tr:first-child td{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-soft) !important;
	color: var(--ui-heading) !important;
	text-shadow: none !important;
}

html[data-theme="light"] body.immoPage #addContract .contractActionTableDesktop tr:last-child td,
html[data-theme="light"] body.immoPage #addContract .contractActionMobileSplit .contractActionTableMobile tr:last-child td,
html[data-theme="light"] body.immoPage #addContract .contractActionTableDesktop td,
html[data-theme="light"] body.immoPage #addContract .contractActionMobileSplit .contractActionTableMobile td{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
	text-shadow: none !important;
}

html[data-theme="light"] body.immoPage #addContract .contractIndexStatusBadge,
html[data-theme="light"] body.immoPage #addContract .contractChargeStatusBadge,
html[data-theme="light"] body.immoPage #addContract .contractIndexSummaryNotice{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-soft) !important;
	color: #3f4c5c !important;
}

html[data-theme="light"] body.immoPage #addContract .contractChargeStatusBadge.is-due{
	border-color: var(--ui-button-success-border) !important;
	background: var(--ui-success-soft) !important;
	color: var(--ui-success) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractChargeStatusBadge.is-soon{
	border-color: var(--ui-warning) !important;
	background: var(--ui-warning-soft) !important;
	color: var(--ui-warning) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractChargeStatusBadge.is-unavailable{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-soft) !important;
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractIndexSummaryLate,
html[data-theme="light"] body.immoPage #addContract .contractIndexSummaryText.contractIndexSummaryLate{
	background: var(--ui-warning-soft) !important;
	color: var(--ui-warning) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractIndexModeManual{
	background: var(--ui-info-soft) !important;
	color: var(--ui-info) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractIndexModeAuto,
html[data-theme="light"] body.immoPage #addContract .contractIndexAutoNote{
	background: var(--ui-success-soft) !important;
	color: var(--ui-success) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractIndexSummaryText,
html[data-theme="light"] body.immoPage #addContract .contractChargesReadonly,
html[data-theme="light"] body.immoPage #addContract .contractIndexNewAmountCurrency{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractIndexNewAmountValue{
	color: var(--ui-success) !important;
}

html[data-theme="light"] body.immoPage #addContract .paymentPeriodNote{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #addContract .paymentDaysField{
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #addContract .paymentRuleSentence,
html[data-theme="light"] body.immoPage #addContract .paymentPeriodAmount{
	border-color: color-mix(in srgb, var(--ui-accent) 28%, var(--ui-border)) !important;
	background: var(--ui-accent-soft) !important;
	color: var(--ui-text) !important;
}

/* Création de contrat pas à pas : miroir du thème sombre. */
html[data-theme="light"] body.immoPage #addContract .contractStepGuide{
	border-color: color-mix(in srgb, var(--ui-accent) 28%, var(--ui-border)) !important;
	background: var(--ui-accent-soft) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractStepGuide::before{
	background: var(--ui-accent) !important;
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--ui-accent) 18%, transparent) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractStepPending :is(.formText, .tenantComboboxInput):not(.contractCreateInvalidControl),
html[data-theme="light"] body.immoPage #addContract .fileUpload.contractStepPending,
html[data-theme="light"] body.immoPage #addContract .contractElectronicConsent.contractStepPending{
	border-color: var(--ui-accent) !important;
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--ui-accent) 18%, transparent) !important;
}

/* Contrat personnel : accord aux échanges électroniques, miroir du thème sombre. */
html[data-theme="light"] body.immoPage #addContract .contractElectronicConsent{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractElectronicConsentHelp,
html[data-theme="light"] body.immoPage #addContract .contractElectronicConsentText p{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractElectronicConsentChoice{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractElectronicConsentChoice:has(input:checked){
	border-color: color-mix(in srgb, var(--ui-accent) 45%, var(--ui-border)) !important;
	background: var(--ui-accent-soft) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractElectronicConsentText summary{
	color: var(--ui-accent) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractIndexChargesResult,
html[data-theme="light"] body.immoPage #addContract .contractIndexNewTotal,
html[data-theme="light"] body.immoPage #addContract .contractIndexEstimateValue{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractIndexChargesChoice .contractIndexChargesMode.formText,
html[data-theme="light"] body.immoPage #addContract .contractIndexChargesChoice .contractIndexChargesAmount.formText,
html[data-theme="light"] body.immoPage #addContract .contractIndexBaseChoice .contractIndexBaseMode.formText,
html[data-theme="light"] body.immoPage #addContract .contractChargeInput.formText{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractChargeInvoiceProposal{
	border-color: var(--ui-border) !important;
	background: var(--ui-info-soft) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractChargeInvoiceProposal > strong,
html[data-theme="light"] body.immoPage #addContract .contractChargeInvoiceProposal li strong{
	color: var(--ui-heading) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractChargeInvoiceProposal summary{
	color: var(--ui-info) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractChargeActionFields > label,
html[data-theme="light"] body.immoPage #addContract .contractChargeActionNote,
html[data-theme="light"] body.immoPage #addContract .contractChargeBalancePreview{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractChargeBalancePreview.is-complement{
	color: var(--ui-warning) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractChargeBalancePreview.is-refund,
html[data-theme="light"] body.immoPage #addContract .contractChargeBalancePreview.is-balanced,
html[data-theme="light"] body.immoPage #addContract .contractChargeCompleted{
	color: var(--ui-success) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractIndexSummaryError{
	background: var(--ui-danger-soft) !important;
	color: var(--ui-danger) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractActionToggle.button,
html[data-theme="light"] body.immoPage #addContract .contractInventoryActions .button{
	border-color: var(--ui-button-primary-border) !important;
	background: var(--ui-button-primary-bg) !important;
	color: var(--ui-button-primary-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #addContract .contractActionToggle.button:hover,
html[data-theme="light"] body.immoPage #addContract .contractInventoryActions .button:hover{
	border-color: var(--ui-button-primary-border) !important;
	background: var(--ui-button-primary-hover) !important;
	color: var(--ui-button-primary-text) !important;
}

html[data-theme="light"] body.immoPage .contractInventoryActions .inventoryActionButton.is-loading,
html[data-theme="light"] body.immoPage .contractInventoryActions .inventoryActionButton.is-loading:disabled{
	cursor: progress !important;
}

/* Voir, and Régénérer while sending is still possible, stay neutral: only the current main action is blue. */
html[data-theme="light"] body.immoPage #addContract .contractInventoryActions .inventoryActionView,
html[data-theme="light"] body.immoPage #addContract .contractInventoryActions .inventoryActionRegenerate:not(.actionTone--primary){
	border-color: var(--ui-button-neutral-border) !important;
	background: var(--ui-button-neutral-bg) !important;
	color: var(--ui-button-neutral-text) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractInventoryActions .inventoryActionView:hover,
html[data-theme="light"] body.immoPage #addContract .contractInventoryActions .inventoryActionView:focus-visible,
html[data-theme="light"] body.immoPage #addContract .contractInventoryActions .inventoryActionRegenerate:not(.actionTone--primary):hover,
html[data-theme="light"] body.immoPage #addContract .contractInventoryActions .inventoryActionRegenerate:not(.actionTone--primary):focus-visible{
	border-color: var(--ui-button-neutral-hover-border) !important;
	background: var(--ui-button-neutral-hover) !important;
	color: var(--ui-button-neutral-hover-text) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractInventoryActions .inventoryActionCreate.actionTone--danger{
	border-color: var(--ui-button-danger-border) !important;
	background: var(--ui-button-danger-bg) !important;
	color: var(--ui-button-danger-text) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractInventoryActions .inventoryActionCreate.actionTone--danger:hover,
html[data-theme="light"] body.immoPage #addContract .contractInventoryActions .inventoryActionCreate.actionTone--danger:focus-visible{
	border-color: var(--ui-button-danger-hover-border) !important;
	background: var(--ui-button-danger-hover) !important;
	color: var(--ui-button-danger-hover-text) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractInventoryActions .inventoryActionSend:not(.inventoryActionSendBlocked),
html[data-theme="light"] body.immoPage #addContract .contractInventoryActions .inventoryActionSign,
html[data-theme="light"] body.immoPage #addContract .contractInventoryActions .inventoryActionRegenerate.actionTone--primary{
	border-color: var(--ui-button-primary-border) !important;
	background: var(--ui-button-primary-bg) !important;
	color: var(--ui-button-primary-text) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractInventoryActions .inventoryActionSend:not(.inventoryActionSendBlocked):hover,
html[data-theme="light"] body.immoPage #addContract .contractInventoryActions .inventoryActionSend:not(.inventoryActionSendBlocked):focus-visible,
html[data-theme="light"] body.immoPage #addContract .contractInventoryActions .inventoryActionSign:hover,
html[data-theme="light"] body.immoPage #addContract .contractInventoryActions .inventoryActionSign:focus-visible,
html[data-theme="light"] body.immoPage #addContract .contractInventoryActions .inventoryActionRegenerate.actionTone--primary:hover,
html[data-theme="light"] body.immoPage #addContract .contractInventoryActions .inventoryActionRegenerate.actionTone--primary:focus-visible{
	border-color: var(--ui-button-primary-hover-border) !important;
	background: var(--ui-button-primary-hover) !important;
	color: var(--ui-button-primary-hover-text) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractIndexValidateButton,
html[data-theme="light"] body.immoPage #addContract .contractInventoryActions .inventoryActionClose{
	border-color: var(--ui-button-success-border) !important;
	background: var(--ui-button-success-bg) !important;
	color: var(--ui-button-success-text) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractIndexValidateButton:hover,
html[data-theme="light"] body.immoPage #addContract .contractInventoryActions .inventoryActionClose:hover{
	background: var(--ui-button-success-hover) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractIndexRejectButton{
	border-color: var(--ui-button-danger-border) !important;
	background: var(--ui-button-danger-bg) !important;
	color: var(--ui-button-danger-text) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractIndexRejectButton:hover{
	background: var(--ui-button-danger-hover) !important;
}

/* Contract cards: light-theme surfaces keep the same information hierarchy
 * as the dark workspace without reintroducing table chrome. */
html[data-theme="light"] body.immoPage #addContract .contractActiveCard{
	--contract-card-accent: var(--ui-accent);
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
	box-shadow: 0 8px 22px rgba(27, 39, 55, 0.08) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractTabEmptyState{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractTabEmptyStateMark{
	border-color: var(--ui-accent) !important;
	background: var(--ui-accent-soft) !important;
	box-shadow: 0 0 0 6px color-mix(in srgb, var(--ui-accent) 9%, transparent) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractTabEmptyStateText > span{
	color: var(--ui-text-muted) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractActiveCard.contractIndexSoon30{
	--contract-card-accent: #b87813;
}

html[data-theme="light"] body.immoPage #addContract .contractActiveCard:is(.contractIndexSoon15, .contractIndexLate, .contractIndexLost, .contractIndexRejected){
	--contract-card-accent: var(--ui-danger);
}

html[data-theme="light"] body.immoPage #addContract .contractPreparedCard{
	--contract-card-accent: var(--ui-accent);
}

html[data-theme="light"] body.immoPage #addContract .contractArchiveCard{
	--contract-card-accent: #60778f;
}

html[data-theme="light"] body.immoPage #addContract .contractActiveCard:has(.contractActiveRadio:checked){
	border-color: var(--contract-card-accent) !important;
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--contract-card-accent) 24%, transparent), 0 9px 24px rgba(27, 39, 55, 0.11) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractActiveCard:has(.contractActionToggle.is-expanded) .contractActiveHeader{
	background: var(--ui-surface-alt) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractActiveSelectMark{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractActiveRadio:checked ~ .contractActiveSelectMark{
	border-color: var(--contract-card-accent) !important;
	background: var(--ui-accent-soft) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractActiveRadio:focus-visible ~ .contractActiveSelectMark{
	box-shadow: 0 0 0 3px var(--ui-focus) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractActiveEyebrow,
html[data-theme="light"] body.immoPage #addContract .contractActiveMetaItem > span,
html[data-theme="light"] body.immoPage #addContract .contractDetailEyebrow,
html[data-theme="light"] body.immoPage #addContract .contractIndexMetricLabel{
	color: var(--ui-subtle) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractActiveTenant > strong,
html[data-theme="light"] body.immoPage #addContract .contractActiveMetaItem > strong,
html[data-theme="light"] body.immoPage #addContract .contractInventoryLabel > strong,
html[data-theme="light"] body.immoPage #addContract .contractDetailHeading > strong,
html[data-theme="light"] body.immoPage #addContract .contractIndexMetric > strong,
html[data-theme="light"] body.immoPage #addContract .contractIndexMetric > div:not(.contractIndexActionCell),
html[data-theme="light"] body.immoPage #addContract .contractIndexMetric .contractChargesReadonly{
	color: var(--ui-heading) !important;
	text-shadow: none !important;
}

html[data-theme="light"] body.immoPage #addContract .contractReplacementIncomingTenant{
	color: var(--ui-subtle) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractReplacementIncomingTenant > strong{
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractReplacementDateConnector,
html[data-theme="light"] body.immoPage #addContract .contractReplacementPreparedCard .contractReplacementEndDate{
	color: var(--ui-subtle) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractReplacementPreparedCard .contractReplacementPreparedDate{
	color: var(--ui-heading) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractActiveMetaItem,
html[data-theme="light"] body.immoPage #addContract .contractIndexMetric{
	border-color: var(--ui-border) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractActiveMetaItem i{
	color: var(--ui-subtle) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractPreparedStatusBadge{
	border-color: var(--ui-button-primary-border) !important;
	background: var(--ui-accent-soft) !important;
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractActiveDetail{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractIndexPanel .contractIndexSummaryBar{
	border: 0 !important;
	background: transparent !important;
}

html[data-theme="light"] body.immoPage #addContract .contractIndexDetailsGrid{
	border-color: var(--ui-border) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractIndexMetric small{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractIndexMetricValue > strong{
	color: var(--ui-heading) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractIndexMetricStatus.is-pending{
	color: var(--ui-warning) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractActionToggle.button{
	border-color: var(--ui-button-primary-border) !important;
	background: var(--ui-button-primary-bg) !important;
	color: var(--ui-button-primary-text) !important;
}

html[data-theme="light"] body.immoPage #addContract .contractActionToggle.button:hover,
html[data-theme="light"] body.immoPage #addContract .contractActionToggle.button:focus-visible,
html[data-theme="light"] body.immoPage #addContract .contractActionToggle.button.is-expanded{
	border-color: var(--ui-button-primary-hover-border) !important;
	background: var(--ui-button-primary-hover) !important;
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage #properties .propertyFeatureCreateField > .propertyFeatureCreateLabel{
	background: var(--ui-surface-alt) !important;
	color: var(--ui-muted) !important;
	text-shadow: none !important;
}

html[data-theme="light"] body.immoPage #updateProperty .propertyContractSoftNotice,
html[data-theme="light"] body.immoPage #properties .propertyFormNotice{
	border-color: #dfad34 !important;
	background: var(--ui-warning-soft) !important;
	color: #775000 !important;
}

html[data-theme="light"] body.immoPage #properties .propertyFormNotice[data-tone="danger"]{
	border-color: var(--ui-button-danger-border) !important;
	background: var(--ui-danger-soft) !important;
	color: var(--ui-danger) !important;
}

html[data-theme="light"] body.immoPage #addContract #schedulePreview,
html[data-theme="light"] body.immoPage #addContract #schedulePreview .scheduleItem{
	border-color: var(--ui-border) !important;
}

html[data-theme="light"] body.immoPage #addContract #schedulePreview{
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #addContract #schedulePreview .scheduleItem{
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #addContract #schedulePreview #scheduleScroll{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #addContract #schedulePreview .scheduleItem div,
html[data-theme="light"] body.immoPage #addContract #schedulePreview .scheduleItem div:first-child{
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #addContract #schedulePreview .scheduleItem span{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #addContract #schedulePreview #scheduleToggle{
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage #addContract #schedulePreview .scheduleFade{
	background: linear-gradient(
		to bottom,
		rgba(255, 255, 255, 0),
		rgba(255, 255, 255, 0.90) 74%,
		var(--ui-surface)
	) !important;
}

html[data-theme="light"] body.immoPage :is(#properties, #updateProperty) .propertyGrid .fieldset-input{
	background: transparent !important;
}

html[data-theme="light"] body.immoPage #itemsDamageBlock > label{
	background: var(--ui-surface-alt) !important;
	color: var(--ui-muted) !important;
	text-shadow: none !important;
}

html[data-theme="light"] body.intervenantPage #messages .messagesSearchCard .fieldset-input label,
html[data-theme="light"] body.intervenantPage .intervenantDocumentsModal .intervenantDocsFields .fieldset-input label,
html[data-theme="light"] body.intervenantPage .intervenantLogsToolbar .fieldset-input label{
	background: var(--ui-surface-alt) !important;
	color: var(--ui-muted) !important;
	text-shadow: none !important;
}

html[data-theme="light"] body.intervenantPage .intervenantSettingsFieldset legend,
html[data-theme="light"] body.immoPage #customers .customerDocsGroup legend,
html[data-theme="light"] body.immoPage #customers .customerDocsGrid label,
html[data-theme="light"] body.immoPage .checkIdSkillsField legend{
	color: var(--ui-muted) !important;
	text-shadow: none !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsReferralChannel{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface-soft) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsReferralChannel label{
	background: transparent !important;
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsReferralChannel label:has(input:checked){
	border-color: var(--ui-button-primary-border) !important;
	background: var(--ui-button-primary-bg) !important;
	color: var(--ui-button-primary-text) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsBusinessKbisMeta .settingsRadioSwitch > label{
	background: transparent !important;
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsBusinessKbisMeta .settingsRadioSwitch input[type="radio"]:checked + label{
	border-color: var(--ui-button-primary-border) !important;
	background: var(--ui-button-primary-bg) !important;
	color: var(--ui-button-primary-text) !important;
}

html[data-theme="light"] body.immoPage .contractSwitchChoice:has(.switch),
html[data-theme="light"] body.immoPage .invoiceSwitchCard p:has(.switch),
html[data-theme="light"] body.immoPage .settingsSwitchField:has(.switch),
html[data-theme="light"] body.immoPage .settingsStructureToggle:has(.switch){
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface-soft) !important;
	box-shadow: inset 0 0 0 1px rgba(49, 95, 145, 0.04) !important;
}

/* La case réelle d'une pastille Non/Oui reste invisible, même désactivée (bail unique verrouillé). */
html[data-theme="light"] body.immoPage .contractSwitchChoice:has(.switch) .switch input,
html[data-theme="light"] body.immoPage .contractSwitchChoice:has(.switch) .switch input:disabled,
html[data-theme="light"] body.immoPage #addContract .contractSwitchChoice:has(.switch) .switch input,
html[data-theme="light"] body.immoPage #addContract .contractSwitchChoice:has(.switch) .switch input:disabled{
	opacity: 0 !important;
	background: transparent !important;
}

html[data-theme="light"] body.immoPage .contractSwitchChoice:has(.switch) > span,
html[data-theme="light"] body.immoPage .invoiceSwitchCard p:has(.switch) > span,
html[data-theme="light"] body.immoPage .settingsSwitchField:has(.switch) > span,
html[data-theme="light"] body.immoPage .settingsStructureToggle:has(.switch) > span{
	background: transparent !important;
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage .contractSwitchChoice:has(.switch) > span:first-child,
html[data-theme="light"] body.immoPage .invoiceSwitchCard p:has(.switch) > span:first-child,
html[data-theme="light"] body.immoPage .settingsSwitchField:has(.switch) > span:first-child,
html[data-theme="light"] body.immoPage .settingsStructureToggle:has(.switch) > span:first-child,
html[data-theme="light"] body.immoPage .contractSwitchChoice:has(.switch input:checked) > span:last-child,
html[data-theme="light"] body.immoPage .invoiceSwitchCard p:has(.switch input:checked) > span:last-child,
html[data-theme="light"] body.immoPage .settingsSwitchField:has(.switch input:checked) > span:last-child,
html[data-theme="light"] body.immoPage .settingsStructureToggle:has(.switch input:checked) > span:last-child{
	border-color: var(--ui-button-primary-border) !important;
	background: var(--ui-button-primary-bg) !important;
	color: var(--ui-button-primary-text) !important;
	box-shadow: inset 0 0 0 1px rgba(49, 95, 145, 0.06) !important;
}

html[data-theme="light"] body.immoPage .contractSwitchChoice:has(.switch input:checked) > span:first-child,
html[data-theme="light"] body.immoPage .invoiceSwitchCard p:has(.switch input:checked) > span:first-child,
html[data-theme="light"] body.immoPage .settingsSwitchField:has(.switch input:checked) > span:first-child,
html[data-theme="light"] body.immoPage .settingsStructureToggle:has(.switch input:checked) > span:first-child{
	border-color: transparent !important;
	background: transparent !important;
	color: var(--ui-muted) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #invoices.globalInvoiceModal #globalInvoiceForm .invoiceSwitchCard > label{
	background: var(--ui-surface-alt) !important;
	color: var(--ui-muted) !important;
	text-shadow: none !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal #formBusinessAdd .settingsBusinessKbisMeta #business_add_vat_number_wrap > label,
html[data-theme="light"] body.immoPage #settings.settingsModal #formBusinessAdd .settingsBusinessKbisMeta #business_add_default_vat_wrap > label,
html[data-theme="light"] body.immoPage #settings.settingsModal #formBusinessAdd #business_add_perso .fieldset-input > label{
	background: var(--ui-surface-alt) !important;
	color: var(--ui-muted) !important;
	text-shadow: none !important;
}

/* Properties: project import and property fields. */
html[data-theme="light"] body.immoPage #properties .propertyProjectImport{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface-soft) !important;
	color: var(--ui-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #properties .propertyProjectImportText strong{
	color: var(--ui-heading) !important;
}

html[data-theme="light"] body.immoPage #properties .propertyProjectImportText span,
html[data-theme="light"] body.immoPage #properties .propertyProjectImportStatus,
html[data-theme="light"] body.immoPage #properties .propertyProjectImportStatus span{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #properties .propertyProjectImportStatus.is-name-warning{
	border-color: #c48720 !important;
	background: #fff3d2 !important;
	color: #704400 !important;
}

html[data-theme="light"] body.immoPage #properties .propertyProjectImportStatus.is-name-warning span{
	color: inherit !important;
}

html[data-theme="light"] body.immoPage #properties #propertyName.propertyNameDuplicateWarning{
	border-color: #c48720 !important;
	background: #fff8e5 !important;
	color: var(--ui-text) !important;
	box-shadow: 0 0 0 1px rgba(196, 135, 32, 0.20) !important;
}

html[data-theme="light"] body.immoPage #properties .propertyNameDuplicateWarningField > label{
	background: #fff8e5 !important;
	color: #704400 !important;
	box-shadow: 0 0 0 2px #fff8e5 !important;
}

html[data-theme="light"] body.immoPage #properties .propertyProjectImportControls{
	align-items: center !important;
}

html[data-theme="light"] body.immoPage #properties .propertyProjectImportSelectWrap{
	align-self: center !important;
	margin: 0 !important;
}

html[data-theme="light"] body.immoPage #properties .propertyProjectImportSelectWrap label{
	background: var(--ui-surface-alt) !important;
	color: var(--ui-muted) !important;
	box-shadow: 0 0 0 2px var(--ui-surface-alt) !important;
	text-shadow: none !important;
}

html[data-theme="light"] body.immoPage #properties .propertyProjectImportSelectWrap select{
	display: block !important;
	margin: 0 !important;
	padding-top: 0 !important;
	padding-right: 32px !important;
	padding-bottom: 0 !important;
	padding-left: 14px !important;
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
	box-shadow: none !important;
	line-height: normal !important;
	text-align: left !important;
}

html[data-theme="light"] body.immoPage #properties .propertyProjectImportSelectWrap select:disabled{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-soft) !important;
	color: var(--ui-muted) !important;
	-webkit-text-fill-color: var(--ui-muted) !important;
	opacity: 1 !important;
}

html[data-theme="light"] body.immoPage #properties .propertyProjectImportButton{
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 !important;
	border-color: var(--ui-button-primary-border) !important;
	background: var(--ui-button-primary-bg) !important;
	background-color: var(--ui-button-primary-bg) !important;
	color: var(--ui-button-primary-text) !important;
	box-shadow: none !important;
	line-height: 1.15 !important;
	text-align: center !important;
}

html[data-theme="light"] body.immoPage #properties .propertyProjectImportButton:hover,
html[data-theme="light"] body.immoPage #properties .propertyProjectImportButton:focus-visible{
	border-color: var(--ui-button-primary-hover-border) !important;
	background: var(--ui-button-primary-hover) !important;
	background-color: var(--ui-button-primary-hover) !important;
	color: var(--ui-button-primary-hover-text) !important;
}

html[data-theme="light"] body.immoPage #properties .propertyProjectImportButton:disabled{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-soft) !important;
	background-color: var(--ui-surface-soft) !important;
	color: var(--ui-subtle) !important;
	opacity: 1 !important;
}

html[data-theme="light"] body.immoPage #properties .propertyProjectImportLocked{
	border-color: #b7cbe1 !important;
	background: var(--ui-accent-soft) !important;
}

html[data-theme="light"] body.immoPage #properties .propertyProjectImportLocked .propertyProjectImportButton{
	border-color: var(--ui-button-primary-border) !important;
	background: var(--ui-button-primary-bg) !important;
	color: var(--ui-button-primary-text) !important;
}

html[data-theme="light"] body.immoPage :is(#properties, #updateProperty) .propertyGrid .formText{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage :is(#properties, #updateProperty) .propertyFormRow,
html[data-theme="light"] body.immoPage :is(#properties, #updateProperty) .propertyGrid{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface-soft) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage :is(#properties, #updateProperty) .propertyFormRow .fieldset-input > label,
html[data-theme="light"] body.immoPage :is(#properties, #updateProperty) .propertyGrid .fieldset-input > label,
html[data-theme="light"] body.immoPage #properties .propertyFeatureCreateLabel{
	background: var(--ui-surface-soft) !important;
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #properties .propertyNatureStep > .fieldset-input > label{
	background: var(--ui-surface-soft) !important;
	box-shadow: 0 0 0 2px var(--ui-surface-soft) !important;
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #properties .propertyNatureStep > .fieldset-input > .formText{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #properties .propertyFeatureCreateField > .propertyFeatureCreateLabel{
	background: var(--ui-surface-soft) !important;
	color: var(--ui-text) !important;
	font-weight: 850 !important;
	text-shadow: none !important;
	box-shadow: 0 0 0 3px var(--ui-surface-soft) !important;
}

html[data-theme="light"] body.immoPage #properties .propertyFormRow .dropdown-content,
html[data-theme="light"] body.immoPage #updateProperty .propertyFormRow .dropdown-content{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
	box-shadow: var(--ui-shadow) !important;
}

html[data-theme="light"] body.immoPage #properties .propertyFormRow .dropdown-content label,
html[data-theme="light"] body.immoPage #updateProperty .propertyFormRow .dropdown-content label{
	background: transparent !important;
	color: var(--ui-text) !important;
	text-shadow: none !important;
}

html[data-theme="light"] body.immoPage #properties .propertyFormRow .dropdown-content label:hover,
html[data-theme="light"] body.immoPage #properties .propertyFormRow .dropdown-content label:focus-within,
html[data-theme="light"] body.immoPage #updateProperty .propertyFormRow .dropdown-content label:hover,
html[data-theme="light"] body.immoPage #updateProperty .propertyFormRow .dropdown-content label:focus-within{
	background: var(--ui-accent-soft) !important;
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage :is(#properties, #updateProperty) .propertyFormRow .dropdown-content input[type="checkbox"]{
	accent-color: var(--ui-accent) !important;
}

/* Property works modal: make the grouped sections distinct from the white modal. */
html[data-theme="light"] body.immoPage #updateProperty #propertyFormUpdate > .propertyFormRow,
html[data-theme="light"] body.immoPage #updateProperty #propertyFormUpdate .propertyDetails > .propertyGrid{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface-hover) !important;
	box-shadow: 0 1px 2px rgba(33, 77, 124, 0.08) !important;
}

html[data-theme="light"] body.immoPage #updateProperty #propertyFormUpdate > .propertyFormRow .fieldset-input > label,
html[data-theme="light"] body.immoPage #updateProperty #propertyFormUpdate .propertyDetails > .propertyGrid .fieldset-input > label{
	background: var(--ui-surface-hover) !important;
	color: var(--ui-muted) !important;
}

/* Customers: tenant cards and document follow-up. */
html[data-theme="light"] body.immoPage #customers .customerListFilters{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #customers .customerSearchField{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #customers .customerSearchField .formText{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #customers .customerSearchField .formText::placeholder{
	color: var(--ui-subtle) !important;
}

html[data-theme="light"] body.immoPage #customers .customerPhoneGroup{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #customers .customerPhoneGroup:focus-within{
	border-color: var(--ui-accent) !important;
	background: var(--ui-surface) !important;
	box-shadow: 0 0 0 3px var(--ui-focus) !important;
}

html[data-theme="light"] body.immoPage #customers .customerPhoneGroup .formText{
	background: transparent !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #customers .customerPhonePrefix{
	border-right-color: var(--ui-border) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #customers .customerStatusFilter{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-muted) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #customers .customerStatusFilter:hover,
html[data-theme="light"] body.immoPage #customers .customerStatusFilter:focus-visible{
	border-color: var(--ui-button-primary-border) !important;
	background: var(--ui-button-primary-hover) !important;
	color: var(--ui-button-primary-text) !important;
}

html[data-theme="light"] body.immoPage #customers .customerStatusFilter.is-active{
	border-color: #b7cbe1 !important;
	background: var(--ui-accent-soft) !important;
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage #customers .customerTenantCard{
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #customers .customerTenantBar{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #customers .customerTenantCard.isExpanded .customerTenantBar{
	border-bottom-color: var(--ui-border) !important;
	background: var(--ui-accent-soft) !important;
}

html[data-theme="light"] body.immoPage #customers .customerTenantCard.hasDocumentNotification .customerTenantBar{
	border-color: #d4a34d !important;
	background: var(--ui-warning-soft) !important;
}

html[data-theme="light"] body.immoPage #customers .customerTenantName,
html[data-theme="light"] body.immoPage #customers .customerDocsNameCell a{
	color: var(--ui-accent-strong) !important;
	text-shadow: none !important;
}

html[data-theme="light"] body.immoPage #customers .customerTenantNameLink:hover .customerTenantName,
html[data-theme="light"] body.immoPage #customers .customerTenantNameLink:focus-visible .customerTenantName,
html[data-theme="light"] body.immoPage #customers .customerDocsNameCell a:hover,
html[data-theme="light"] body.immoPage #customers .customerDocsNameCell a:focus-visible{
	color: var(--ui-accent) !important;
}

html[data-theme="light"] body.immoPage #customers .customerTenantContact{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #customers .customerTenantStatus{
	border: 1px solid var(--ui-border) !important;
	background: var(--ui-surface-soft) !important;
	color: var(--ui-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #customers .customerTenantStatus.is-valid{
	border-color: #acd9c1 !important;
	background: var(--ui-success-soft) !important;
	color: var(--ui-success) !important;
}

html[data-theme="light"] body.immoPage #customers .customerTenantStatus.is-missing{
	border-color: #ebcd91 !important;
	background: var(--ui-warning-soft) !important;
	color: var(--ui-warning) !important;
}

html[data-theme="light"] body.immoPage #customers .customerTenantToggle{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-muted) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #customers .customerTenantToggle:hover,
html[data-theme="light"] body.immoPage #customers .customerTenantToggle:focus-visible{
	border-color: var(--ui-button-primary-border) !important;
	background: var(--ui-button-primary-bg) !important;
	color: var(--ui-button-primary-text) !important;
}

html[data-theme="light"] body.immoPage #customers .customerDocsPanel,
html[data-theme="light"] body.immoPage #customers .customersAllDiv > div[id^="customersArticle"].customerDocsPanel{
	border-color: var(--ui-border) !important;
	border-top: 0 !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #customers .customerDocsToolbarRow,
html[data-theme="light"] body.immoPage #customers .customerDocsRow,
html[data-theme="light"] body.immoPage #customers .customersAllDiv article,
html[data-theme="light"] body.immoPage #customers .customersAllDiv article > div{
	border-color: var(--ui-border) !important;
}

html[data-theme="light"] body.immoPage #customers .customerDocsToolbarRow{
	background: var(--ui-surface-soft) !important;
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #customers .customerDocsRow{
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #customers .customerDocsCell,
html[data-theme="light"] body.immoPage #customers .customerDocsHeaderLabel,
html[data-theme="light"] body.immoPage #customers .customerDocsToolbarInfo{
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #customers .customerDocsMetricValue,
html[data-theme="light"] body.immoPage #customers .customerDocsReminderDateValue{
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #customers .customerDocsMetricLabel,
html[data-theme="light"] body.immoPage #customers .customerDocsReminderDateLabel{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #customers .docTypeCheckbox,
html[data-theme="light"] body.immoPage #customers .customerToggleLine input[type="checkbox"],
html[data-theme="light"] body.immoPage #customers .customerInlineDoc input[type="checkbox"],
html[data-theme="light"] body.immoPage #customers .customerDocsGrid input[type="checkbox"],
html[data-theme="light"] body.immoPage #customers .customerRequestedDocsOption input,
html[data-theme="light"] body.intervenantPage #ownerTenants .docTypeCheckbox{
	accent-color: var(--ui-accent) !important;
}

html[data-theme="light"] body.immoPage #customers .customerRequestedDocsOpen{
	border-color: #b7cbe1 !important;
	background: var(--ui-accent-soft) !important;
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage #customers .customerRequestedDocsOpen:hover,
html[data-theme="light"] body.immoPage #customers .customerRequestedDocsOpen:focus-visible{
	border-color: #8fb0d3 !important;
	background: #d8e6f5 !important;
	color: #173b61 !important;
}

html[data-theme="light"] body.immoPage #customers .customerRequestedDocsDialog{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #customers .customerRequestedDocsDialogHeader h3{
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #customers .customerRequestedDocsDialogHeader span{
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage #customers .customerRequestedDocsClose,
html[data-theme="light"] body.immoPage #customers .customerRequestedDocsCancel{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #customers .customerRequestedDocsIntro{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #customers .customerRequestedDocsGroup{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
}

html[data-theme="light"] body.immoPage #customers .customerRequestedDocsGroup legend{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #customers .customerRequestedDocsOption{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #customers .customerRequestedDocsOption.is-locked{
	border-color: #acd9c1 !important;
	background: var(--ui-success-soft) !important;
}

html[data-theme="light"] body.immoPage #customers .customerRequestedDocsOption small{
	color: var(--ui-success) !important;
}

html[data-theme="light"] body.immoPage #customers .customerRequestedDocsLoadStatus{
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage #customers .customerRequestedDocsLoadStatus.is-error{
	color: var(--ui-warning) !important;
}

html[data-theme="light"] body.immoPage #customers .customerRequestedDocsSubmit{
	border-color: var(--ui-button-primary-border) !important;
	background: var(--ui-button-primary-bg) !important;
	color: var(--ui-button-primary-text) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantOwnerListTools > label,
html[data-theme="light"] body.intervenantPage #ownerTenants .customerRequestedDocsIntro,
html[data-theme="light"] body.intervenantPage #ownerTenants .customerRequestedDocsGroup legend{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantOwnerListTools .formText,
html[data-theme="light"] body.intervenantPage .intervenantOwnerStatusFilters button,
html[data-theme="light"] body.intervenantPage .intervenantOwnerDocumentsMirror .modalTabBar .button,
html[data-theme="light"] body.intervenantPage #ownerTenants .customerRequestedDocsClose,
html[data-theme="light"] body.intervenantPage #ownerTenants .customerRequestedDocsCancel{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantOwnerStatusFilters button.is-active,
html[data-theme="light"] body.intervenantPage .intervenantOwnerDocumentsMirror .modalTabBar .button.is-active{
	border-color: #b7cbe1 !important;
	background: var(--ui-accent-soft) !important;
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.intervenantPage .intervenantOwnerDocumentLink{
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.intervenantPage #ownerTenants .customerRequestedDocsOpen,
html[data-theme="light"] body.intervenantPage #ownerTenants .customerRequestedDocsSubmit,
html[data-theme="light"] body.intervenantPage .intervenantOwnerDocumentUploadSubmit{
	border-color: var(--ui-button-primary-border) !important;
	background: var(--ui-button-primary-bg) !important;
	color: var(--ui-button-primary-text) !important;
}

html[data-theme="light"] body.intervenantPage #ownerTenants .customerRequestedDocsDialog{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.intervenantPage #ownerTenants .customerRequestedDocsGroup{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
}

html[data-theme="light"] body.intervenantPage #ownerTenants .customerRequestedDocsOption{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.intervenantPage #ownerTenants .customerRequestedDocsOption.is-locked{
	border-color: #acd9c1 !important;
	background: var(--ui-success-soft) !important;
}

html[data-theme="light"] body.intervenantPage #ownerTenants .customerRequestedDocsLoadStatus{
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.intervenantPage #ownerTenants .customerRequestedDocsLoadStatus.is-error,
html[data-theme="light"] body.intervenantPage .intervenantOwnerPropertyNameStatus{
	color: var(--ui-warning) !important;
}

html[data-theme="light"] body.immoPage #customers .customerDocsButton{
	border-color: var(--ui-button-neutral-border) !important;
	background: var(--ui-button-neutral-bg) !important;
	color: var(--ui-button-neutral-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #customers .customerDocsButton:hover,
html[data-theme="light"] body.immoPage #customers .customerDocsButton:focus-visible{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-button-neutral-hover) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #customers .customerDocsButton--resend,
html[data-theme="light"] body.immoPage #customers .customerDocsButton--renew{
	--am-ui-icon-color: var(--ui-accent-strong);
	border-color: #b7cbe1 !important;
	background: var(--ui-accent-soft) !important;
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage #customers .customerDocsButton--resend:hover,
html[data-theme="light"] body.immoPage #customers .customerDocsButton--resend:focus-visible,
html[data-theme="light"] body.immoPage #customers .customerDocsButton--renew:hover,
html[data-theme="light"] body.immoPage #customers .customerDocsButton--renew:focus-visible{
	border-color: #8fb0d3 !important;
	background: #d8e6f5 !important;
	color: #173b61 !important;
}

html[data-theme="light"] body.immoPage #customers .customerDocsButton--validate{
	border-color: var(--ui-button-success-border) !important;
	background: var(--ui-button-success-bg) !important;
	color: var(--ui-button-success-text) !important;
}

html[data-theme="light"] body.immoPage #customers .customerDocsInlineResult{
	color: var(--ui-success) !important;
}

html[data-theme="light"] body.immoPage #customers .customerDocsStatus{
	border: 1px solid var(--ui-border) !important;
	background: var(--ui-surface-soft) !important;
	color: var(--ui-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #customers .customerDocsStatus--validated{
	border-color: #acd9c1 !important;
	background: var(--ui-success-soft) !important;
	color: var(--ui-success) !important;
}

html[data-theme="light"] body.immoPage #customers .customerDocsStatus--review{
	border-color: #ebcd91 !important;
	background: var(--ui-warning-soft) !important;
	color: var(--ui-warning) !important;
}

html[data-theme="light"] body.immoPage #customers .customerDocsStatus--sent{
	border-color: #b7d1ee !important;
	background: var(--ui-info-soft) !important;
	color: var(--ui-info) !important;
}

html[data-theme="light"] body.immoPage #customers .customerDocsStatus--waiting{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-soft) !important;
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #customers .customerIdentityNamesDialog{
	border-color: #b8c6d8;
	background: #f6f8fb;
	color: #202632;
	box-shadow: 0 24px 70px rgba(45, 58, 75, 0.28);
}

html[data-theme="light"] body.immoPage #customers .customerIdentityNamesDialog::backdrop{
	background: rgba(42, 50, 62, 0.38);
}

html[data-theme="light"] body.immoPage #customers .customerIdentityNamesProposalEyebrow{
	color: #8a6510;
}

html[data-theme="light"] body.immoPage #customers .customerIdentityNamesDialogIntro,
html[data-theme="light"] body.immoPage #customers .customerIdentityNamesDialogHint{
	color: #586476;
}

html[data-theme="light"] body.immoPage #customers .customerIdentityNamesDialogFields label{
	background: #f6f8fb !important;
	color: #586476 !important;
}

html[data-theme="light"] body.immoPage #customers .customerIdentityNamesDialogClose,
html[data-theme="light"] body.immoPage #customers .customerIdentityNamesDialogCancel{
	border-color: var(--ui-button-neutral-border);
	background: var(--ui-button-neutral-bg);
	color: #263142;
}

html[data-theme="light"] body.immoPage #customers .customerIdentityNamesDialogFields input{
	border-color: #aebdd0;
	background: #ffffff;
	color: #202632;
}

html[data-theme="light"] body.immoPage #customers .customerIdentityNamesDialogConfirm{
	border-color: var(--ui-button-success-border) !important;
	background: var(--ui-button-success-bg) !important;
	color: var(--ui-button-success-text) !important;
}

html[data-theme="light"] body.immoPage #customers .customerIdentityNamesDialogError{
	border-color: #b48725;
	background: #fff4d9;
	color: #75530d;
}

html[data-theme="light"] body.immoPage #customers .customerDeleteButton{
	border-color: var(--ui-button-danger-border) !important;
	background: var(--ui-button-danger-bg) !important;
	color: var(--ui-button-danger-text) !important;
}

html[data-theme="light"] body.immoPage #customers .customerDeleteButton:hover,
html[data-theme="light"] body.immoPage #customers .customerDeleteButton:focus-visible{
	border-color: var(--ui-button-danger-hover-border) !important;
	background: var(--ui-button-danger-hover) !important;
	color: var(--ui-button-danger-hover-text) !important;
}

html[data-theme="light"] body.immoPage #customers .customerDeleteButton--blocked,
html[data-theme="light"] body.immoPage #customers .customerDeleteButton--blocked:hover,
html[data-theme="light"] body.immoPage #customers .customerDeleteButton--blocked:focus-visible{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-soft) !important;
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #customers .customerDeleteLockedBadge{
	border-color: #d3a356 !important;
	background: #fff3dc !important;
	color: #795018 !important;
}

html[data-theme="light"] body.immoPage #customers .customerDeleteLockedBadge--unavailable{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-soft) !important;
	color: var(--ui-muted) !important;
}

/* Statuts (hors boutons) : bordure de la couleur du fond (fond peint sous la bordure), fond conservé */
html[data-theme="light"] body.immoPage #customers .customerTenantStatus,
html[data-theme="light"] body.immoPage #customers .customerDocsStatus,
html[data-theme="light"] body.immoPage #customers .customerDocsInlineResult,
html[data-theme="light"] body.immoPage #customers .customerDeleteLockedBadge{
	border: 1px solid transparent !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #customers .customerDeleteBlockedHint{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #customers .customerDeleteButton.btnIconMobile::before,
html[data-theme="light"] body.immoPage #customers .customerDeleteButton.btnIconMobile.btnIconMobileLabel::after{
	background: var(--ui-danger) !important;
}

html[data-theme="light"] body.immoPage #customers .customerEmptyState{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #customers .customerEmptyStateIcon{
	background: var(--ui-accent-soft) !important;
}

html[data-theme="light"] body.immoPage #customers .customerEmptyStateText strong{
	color: var(--ui-heading) !important;
}

html[data-theme="light"] body.immoPage #customers .customerEmptyStateText span{
	color: var(--ui-muted) !important;
}

/* Customers: create form. */
html[data-theme="light"] body.immoPage #customers .customerCreateSection:not(.customerGuarantorsSection),
html[data-theme="light"] body.immoPage #customers .customerGuarantorCard,
html[data-theme="light"] body.immoPage #customers .customerDocsGroup{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #customers .customerSectionHeader,
html[data-theme="light"] body.immoPage #customers .customerSectionHeader strong,
html[data-theme="light"] body.immoPage #customers .customerToggleLine,
html[data-theme="light"] body.immoPage #customers .customerToggleLine strong,
html[data-theme="light"] body.immoPage #customers .customerMinorMainLabel,
html[data-theme="light"] body.immoPage #customers .customerInlineDoc{
	color: var(--ui-heading) !important;
	text-shadow: none !important;
}

html[data-theme="light"] body.immoPage #customers .customerSectionHeader span,
html[data-theme="light"] body.immoPage #customers .customerToggleLine em,
html[data-theme="light"] body.immoPage #customers .customerBirthdayHint{
	color: var(--ui-muted) !important;
	text-shadow: none !important;
}

html[data-theme="light"] body.immoPage #customers .customerBirthdayHint.is-minor{
	color: var(--ui-warning) !important;
}

html[data-theme="light"] body.immoPage #customers .customerBirthdayHint.is-adult{
	color: var(--ui-success) !important;
}

html[data-theme="light"] body.immoPage #customers .customerMinorSection.is-active{
	border-color: #ebcd91 !important;
	background: var(--ui-warning-soft) !important;
}

html[data-theme="light"] body.immoPage #customers .customerTenantTypeSwitch{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface-soft) !important;
	box-shadow: inset 0 0 0 1px rgba(49, 95, 145, 0.04) !important;
}

html[data-theme="light"] body.immoPage #customers .customerTenantTypeSwitch .customerSwitchText{
	border-color: transparent !important;
	background: transparent !important;
	color: var(--ui-muted) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #customers .customerTenantTypeSwitch .customerSwitchTextPersonal,
html[data-theme="light"] body.immoPage #customers .customerTenantTypeSwitch:has(.customerSwitchInput:checked) .customerSwitchTextCompany{
	border-color: var(--ui-button-primary-border) !important;
	background: var(--ui-button-primary-bg) !important;
	color: var(--ui-button-primary-text) !important;
	box-shadow: inset 0 0 0 1px rgba(49, 95, 145, 0.06) !important;
}

html[data-theme="light"] body.immoPage #customers .customerTenantTypeSwitch:has(.customerSwitchInput:checked) .customerSwitchTextPersonal{
	border-color: transparent !important;
	background: transparent !important;
	color: var(--ui-muted) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #customers .customerDocsGrid label{
	color: var(--ui-text) !important;
}

/* Documents: upload card and empty table state. */
html[data-theme="light"] body.immoPage #documents .globalDocsEmptyRow th{
	background: var(--ui-surface-soft) !important;
	color: var(--ui-muted) !important;
	text-shadow: none !important;
}

html[data-theme="light"] body.immoPage .modal#documents .docUploadCard,
html[data-theme="light"] body.immoPage .modal#documents .docUploadCard:has(.mwPick .parent-div:hover),
html[data-theme="light"] body.immoPage .modal#documents .docUploadCard:has(.mwPick .parent-div:focus-within),
html[data-theme="light"] body.immoPage .modal#documents .docUploadCard.is-drag-over{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage .modal#documents .docUploadCard .mwPreview,
html[data-theme="light"] body.immoPage .modal#documents .docUploadCard .mwPreview.is-drag-over,
html[data-theme="light"] body.immoPage .modal#documents .docUploadCard:has(.mwPick .parent-div:hover) .mwPreview,
html[data-theme="light"] body.immoPage .modal#documents .docUploadCard:has(.mwPick .parent-div:focus-within) .mwPreview{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage .modal#documents .docUploadCard > p{
	color: var(--ui-heading) !important;
	text-shadow: none !important;
}

/* Global invoices: navigation, panels and segmented switches. */
html[data-theme="light"] body.immoPage .modal#invoices .globalInvoiceModeBar.modalTabBar{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-soft) !important;
}

html[data-theme="light"] body.immoPage .modal#invoices .invoiceModalTabs > button.globalInvoiceModeButton,
html[data-theme="light"] body.immoPage .modal#invoices .globalInvoiceSourceButton{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface) !important;
	background-color: var(--ui-surface) !important;
	color: var(--ui-muted) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage .modal#invoices .invoiceModalTabs > button.globalInvoiceModeButton.is-active,
html[data-theme="light"] body.immoPage .modal#invoices .globalInvoiceSourceButton.is-active{
	border-color: var(--ui-button-primary-border) !important;
	background: var(--ui-button-primary-bg) !important;
	background-color: var(--ui-button-primary-bg) !important;
	color: var(--ui-button-primary-text) !important;
	box-shadow: inset 0 0 0 1px rgba(49, 95, 145, 0.06) !important;
}

html[data-theme="light"] body.immoPage .modal#invoices .invoiceModalTabs > button.globalInvoiceModeButton:not(.is-active):hover,
html[data-theme="light"] body.immoPage .modal#invoices .globalInvoiceSourceButton:not(.is-active):hover{
	border-color: var(--ui-button-primary-border) !important;
	background: var(--ui-surface-hover) !important;
	background-color: var(--ui-surface-hover) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #invoices .globalInvoicePanel,
html[data-theme="light"] body.immoPage #invoices .invoiceCompliancePanel{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #invoices .globalInvoicePanelTitle,
html[data-theme="light"] body.immoPage #invoices .invoiceCompliancePanel .globalInvoicePanelTitle,
html[data-theme="light"] body.immoPage #invoices .globalInvoiceManagerMain strong,
html[data-theme="light"] body.immoPage #invoices .globalInvoiceManagerAmount strong{
	color: var(--ui-heading) !important;
	text-shadow: none !important;
}

html[data-theme="light"] body.immoPage #invoices .globalInvoiceManagerMain span,
html[data-theme="light"] body.immoPage #invoices .globalInvoiceManagerMeta span,
html[data-theme="light"] body.immoPage #invoices .globalInvoiceManagerAmount span,
html[data-theme="light"] body.immoPage #invoices .globalInvoiceManagerEmpty,
html[data-theme="light"] body.immoPage #invoices .globalInvoiceManagerCount{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #invoices .globalInvoiceRecoverableButton.is-active{
	border-color: var(--ui-button-success-border) !important;
	background: var(--ui-success-soft) !important;
	color: var(--ui-success) !important;
}

html[data-theme="light"] body.immoPage #invoices .globalInvoicePropertyChoice,
html[data-theme="light"] body.immoPage #invoices .globalInvoiceComments label{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage .modal#invoices .invoiceSwitchCard p:has(.switch){
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface-soft) !important;
	box-shadow: inset 0 0 0 1px rgba(49, 95, 145, 0.04) !important;
}

html[data-theme="light"] body.immoPage .modal#invoices .invoiceSwitchCard p:has(.switch) > span{
	border-color: transparent !important;
	background: transparent !important;
	color: var(--ui-muted) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage .modal#invoices .invoiceSwitchCard p:has(.switch) > span:first-child,
html[data-theme="light"] body.immoPage .modal#invoices .invoiceSwitchCard p:has(.switch input:checked) > span:last-child{
	border-color: var(--ui-button-primary-border) !important;
	background: var(--ui-button-primary-bg) !important;
	color: var(--ui-button-primary-text) !important;
	box-shadow: inset 0 0 0 1px rgba(49, 95, 145, 0.06) !important;
}

html[data-theme="light"] body.immoPage .modal#invoices .invoiceSwitchCard p:has(.switch input:checked) > span:first-child{
	border-color: transparent !important;
	background: transparent !important;
	color: var(--ui-muted) !important;
	box-shadow: none !important;
}

/* Company switcher modal. */
html[data-theme="light"] body.immoPage #companies.companiesModal{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
	box-shadow: 0 20px 60px rgba(27, 39, 55, 0.18) !important;
}

html[data-theme="light"] body.immoPage #companies .modal-header{
	border-bottom-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-heading) !important;
}

html[data-theme="light"] body.immoPage #companies .modal-header > span{
	color: var(--ui-heading) !important;
	text-shadow: none !important;
}

html[data-theme="light"] body.immoPage #companies .modal-header > span img{
	opacity: 0.76 !important;
	filter: none !important;
}

html[data-theme="light"] body.immoPage #companies .companyCard{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #companies .companyCard:hover,
html[data-theme="light"] body.immoPage #companies .companyCard:focus-visible{
	border-color: #b7cbe1 !important;
	background: var(--ui-accent-soft) !important;
}

html[data-theme="light"] body.immoPage #companies .companyCard.is-current{
	border-color: #83bfa1 !important;
	background: var(--ui-success-soft) !important;
	color: var(--ui-text) !important;
	box-shadow: inset 3px 0 0 var(--ui-success) !important;
}

html[data-theme="light"] body.immoPage #companies .compagnies_logo{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-accent-strong) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #companies .compagnies_logo.is-missing::before,
html[data-theme="light"] body.immoPage #companies .companyLogoFallback{
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage #companies .compagnies_name{
	color: var(--ui-heading) !important;
	text-shadow: none !important;
}

html[data-theme="light"] body.immoPage #companies .compagnies_stat{
	color: var(--ui-subtle) !important;
	text-shadow: none !important;
}

html[data-theme="light"] body.immoPage #companies .compagnies_addr{
	color: var(--ui-muted) !important;
	text-shadow: none !important;
}

html[data-theme="light"] body.immoPage #companies .companiesAddCompanyButton{
	border-color: var(--ui-button-primary-border) !important;
	background: var(--ui-button-primary-bg) !important;
	color: var(--ui-button-primary-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #companies .companiesAddCompanyButton:hover,
html[data-theme="light"] body.immoPage #companies .companiesAddCompanyButton:focus-visible{
	border-color: var(--ui-button-primary-hover-border) !important;
	background: var(--ui-button-primary-hover) !important;
	color: var(--ui-button-primary-hover-text) !important;
}

/* Compteurs: restore light-theme contrast for request choices and upload area. */
html[data-theme="light"] body.immoPage #gauges .gaugeRequestTypesCard,
html[data-theme="light"] body.immoPage #gauges .gaugeRequestMessageCard,
html[data-theme="light"] body.immoPage #gauges .gaugeUploadCard{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #gauges .gaugeRequestCheckItem{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #gauges .gaugeRequestCheckItem:hover,
html[data-theme="light"] body.immoPage #gauges .gaugeRequestCheckItem:focus-within{
	border-color: #9fbddd !important;
	background: var(--ui-surface-hover) !important;
}

html[data-theme="light"] body.immoPage #gauges .gaugeRequestCheckItem:has(input:checked){
	border-color: var(--ui-button-primary-border) !important;
	background: var(--ui-button-primary-bg) !important;
}

html[data-theme="light"] body.immoPage #gauges .gaugeRequestCheckItem span{
	color: var(--ui-text) !important;
	text-shadow: none !important;
}

html[data-theme="light"] body.immoPage #gauges .gaugeRequestCheckItem:has(input:checked) span{
	color: var(--ui-button-primary-text) !important;
}

html[data-theme="light"] body.immoPage #gauges .gaugeUploadCard .mwPreview,
html[data-theme="light"] body.immoPage #gauges .gaugeUploadCard .mwPreview.is-drag-over,
html[data-theme="light"] body.immoPage #gauges .gaugeUploadCard:has(.mwPick .parent-div:hover) .mwPreview,
html[data-theme="light"] body.immoPage #gauges .gaugeUploadCard:has(.mwPick .parent-div:focus-within) .mwPreview{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #gauges .gaugeUploadCard > p{
	color: var(--ui-heading) !important;
	text-shadow: none !important;
}

html[data-theme="light"] body.immoPage #gauges .gaugeUploadCard .mwPreview::after{
	border: 1px solid #b7cbe1 !important;
	background: var(--ui-accent-soft) !important;
	color: var(--ui-accent-strong) !important;
	box-shadow: none !important;
}

/* Objets: keep upload zones and floating labels on the light palette. */
html[data-theme="light"] body.immoPage #addItems .itemsUploadCard{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #addItems .itemsUploadCard .itemsPreview,
html[data-theme="light"] body.immoPage #addItems .itemsUploadCard .itemsPreview.is-drag-over,
html[data-theme="light"] body.immoPage #addItems .itemsUploadCard:has(.filePick .parent-div:hover) .itemsPreview,
html[data-theme="light"] body.immoPage #addItems .itemsUploadCard:has(.filePick .parent-div:focus-within) .itemsPreview{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #addItems .itemsUploadCard .itemsCardTitle{
	color: var(--ui-heading) !important;
	text-shadow: none !important;
}

html[data-theme="light"] body.immoPage #addItems .itemsUploadCard .itemsPreview::after{
	border: 1px solid #b7cbe1 !important;
	background: var(--ui-accent-soft) !important;
	color: var(--ui-accent-strong) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #addItems .itemsCard .fieldset-input.itemsField > label{
	background: var(--ui-surface-alt) !important;
	color: var(--ui-muted) !important;
	text-shadow: none !important;
}

/* All modal buttons: light-theme hover states must beat the late dark rules. */
html[data-theme="light"] body.immoPage .modal.modal .button:not(:disabled):not([aria-disabled="true"]):hover,
html[data-theme="light"] body.immoPage .modal.modal .button:not(:disabled):not([aria-disabled="true"]):focus-visible,
html[data-theme="light"] body.immoPage .modal.modal .buttonSmall:not(:disabled):not([aria-disabled="true"]):hover,
html[data-theme="light"] body.immoPage .modal.modal .buttonSmall:not(:disabled):not([aria-disabled="true"]):focus-visible{
	border-color: var(--ui-button-neutral-hover-border) !important;
	background: var(--ui-button-neutral-hover) !important;
	background-color: var(--ui-button-neutral-hover) !important;
	background-image: none !important;
	color: var(--ui-button-neutral-hover-text) !important;
	box-shadow: none !important;
	outline: none !important;
}

html[data-theme="light"] body.immoPage .modal.modal .button.actionTone--primary:not(:disabled):hover,
html[data-theme="light"] body.immoPage .modal.modal .button.actionTone--primary:not(:disabled):focus-visible,
html[data-theme="light"] body.immoPage .modal.modal .buttonSmall.actionTone--primary:not(:disabled):hover,
html[data-theme="light"] body.immoPage .modal.modal .buttonSmall.actionTone--primary:not(:disabled):focus-visible{
	border-color: var(--ui-button-primary-hover-border) !important;
	background: var(--ui-button-primary-hover) !important;
	background-color: var(--ui-button-primary-hover) !important;
	color: var(--ui-button-primary-hover-text) !important;
}

html[data-theme="light"] body.immoPage .modal.modal .button.actionTone--success:not(:disabled):hover,
html[data-theme="light"] body.immoPage .modal.modal .button.actionTone--success:not(:disabled):focus-visible,
html[data-theme="light"] body.immoPage .modal.modal .buttonSmall.actionTone--success:not(:disabled):hover,
html[data-theme="light"] body.immoPage .modal.modal .buttonSmall.actionTone--success:not(:disabled):focus-visible{
	border-color: var(--ui-button-success-hover-border) !important;
	background: var(--ui-button-success-hover) !important;
	background-color: var(--ui-button-success-hover) !important;
	color: var(--ui-button-success-hover-text) !important;
}

html[data-theme="light"] body.immoPage .modal.modal .button.actionTone--danger:not(:disabled):hover,
html[data-theme="light"] body.immoPage .modal.modal .button.actionTone--danger:not(:disabled):focus-visible,
html[data-theme="light"] body.immoPage .modal.modal .buttonSmall.actionTone--danger:not(:disabled):hover,
html[data-theme="light"] body.immoPage .modal.modal .buttonSmall.actionTone--danger:not(:disabled):focus-visible{
	border-color: var(--ui-button-danger-hover-border) !important;
	background: var(--ui-button-danger-hover) !important;
	background-color: var(--ui-button-danger-hover) !important;
	color: var(--ui-button-danger-hover-text) !important;
}

/* Modal page selectors keep their selected/unselected appearance on mouse hover.
   The ID-scoped selectors outrank late legacy dark-theme rules for existing modals. */
html[data-theme="light"] body.immoPage .modal:not(.settingsModal) :is(.modalTabBar, .invoiceModalTabs) .button:not(.is-active):hover,
html[data-theme="light"] body.immoPage :is(#properties, #customers, #documents, #gauges, #items, #addItems, #invoices, #addContract) :is(.modalTabBar, .invoiceModalTabs) .button:not(.is-active):hover{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	background-color: var(--ui-surface) !important;
	background-image: none !important;
	color: var(--ui-muted) !important;
	box-shadow: none !important;
	transform: none !important;
}

html[data-theme="light"] body.immoPage .modal:not(.settingsModal) :is(.modalTabBar, .invoiceModalTabs) .button.is-active:hover,
html[data-theme="light"] body.immoPage :is(#properties, #customers, #documents, #gauges, #items, #addItems, #invoices, #addContract) :is(.modalTabBar, .invoiceModalTabs) .button.is-active:hover{
	border-color: #b7cbe1 !important;
	background: var(--ui-accent-soft) !important;
	background-color: var(--ui-accent-soft) !important;
	background-image: none !important;
	color: var(--ui-accent-strong) !important;
	box-shadow: none !important;
	transform: none !important;
}

/* The global-invoice tabs use a slightly stronger selected palette. */
html[data-theme="light"] body.immoPage .modal#invoices .invoiceModalTabs > button.globalInvoiceModeButton:not(.is-active):hover{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface) !important;
	background-color: var(--ui-surface) !important;
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage .modal#invoices .invoiceModalTabs > button.globalInvoiceModeButton.is-active:hover{
	border-color: var(--ui-button-primary-border) !important;
	background: var(--ui-button-primary-bg) !important;
	background-color: var(--ui-button-primary-bg) !important;
	color: var(--ui-button-primary-text) !important;
	box-shadow: inset 0 0 0 1px rgba(49, 95, 145, 0.06) !important;
}

html[data-theme="light"] body.intervenantPage :is(.intervenantDataModal .modalTabBar .button, .intervenantDocsTab, .intervenantBillingTab):not(.is-active):not(.isActive):hover{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	background-color: var(--ui-surface) !important;
	background-image: none !important;
	color: var(--ui-muted) !important;
	box-shadow: none !important;
	transform: none !important;
}

html[data-theme="light"] body.intervenantPage :is(.intervenantDataModal .modalTabBar .button, .intervenantDocsTab, .intervenantBillingTab):is(.is-active, .isActive):hover{
	border-color: #b7cbe1 !important;
	background: var(--ui-accent-soft) !important;
	background-color: var(--ui-accent-soft) !important;
	background-image: none !important;
	color: var(--ui-accent-strong) !important;
	box-shadow: none !important;
	transform: none !important;
}

/* Settings modal: final light-theme normalization.
 * Legacy settings components use very specific dark-theme declarations, so
 * this ID-scoped layer deliberately normalizes every settings family. */
html[data-theme="light"] body.immoPage #settings.settingsModal{
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .modal-header,
html[data-theme="light"] body.immoPage #settings.settingsModal .settingsShell,
html[data-theme="light"] body.immoPage #settings.settingsModal .settingsContent,
html[data-theme="light"] body.immoPage #settings.settingsModal .settingsPanel{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

/* La croix de #settings suit la règle commune des modales (voir « Croix de fermeture » plus haut). */

html[data-theme="light"] body.immoPage #settings.settingsModal :is(p, span, strong, small, em, i, h1, h2, h3, h4, h5, li, label, legend){
	color: var(--ui-text) !important;
	text-shadow: none !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal :is(small, em, i),
html[data-theme="light"] body.immoPage #settings.settingsModal :is(.settingsFormHint, .accountDeletionConfirmationHint, .settingsBusinessKbisHint, .settingsBusinessKbisExtractStatus, .intervenantResultCode, .intervenantResultMeta, .intervenantResultDetails span, .intervenantPermissionEmptyState){
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal button :is(span, strong, small, em, i),
html[data-theme="light"] body.immoPage #settings.settingsModal .settingsNavItem :is(span, strong, small),
html[data-theme="light"] body.immoPage #settings.settingsModal .uiThemeChoice :is(span, strong, small){
	color: inherit !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .formText,
html[data-theme="light"] body.immoPage #settings.settingsModal input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="image"]),
html[data-theme="light"] body.immoPage #settings.settingsModal select,
html[data-theme="light"] body.immoPage #settings.settingsModal textarea{
	border-color: var(--ui-border-strong) !important;
	background-color: var(--ui-surface) !important;
	color: var(--ui-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal input::placeholder,
html[data-theme="light"] body.immoPage #settings.settingsModal textarea::placeholder{
	color: var(--ui-subtle) !important;
	opacity: 1 !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal :is(input, select, textarea):focus{
	border-color: var(--ui-accent) !important;
	outline: none !important;
	box-shadow: 0 0 0 3px var(--ui-focus) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal :is(input, select, textarea):disabled,
html[data-theme="light"] body.immoPage #settings.settingsModal input[readonly]{
	border-color: var(--ui-border) !important;
	background-color: var(--ui-surface-soft) !important;
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal button:disabled,
html[data-theme="light"] body.immoPage #settings.settingsModal .button:disabled,
html[data-theme="light"] body.immoPage #settings.settingsModal .buttonSmall:disabled{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-soft) !important;
	background-color: var(--ui-surface-soft) !important;
	color: var(--ui-muted) !important;
	opacity: 1 !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal select option,
html[data-theme="light"] body.immoPage #settings.settingsModal select optgroup{
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .fieldset-input label,
html[data-theme="light"] body.immoPage #settings.settingsModal .settingsInlineChoiceField > label,
html[data-theme="light"] body.immoPage #settings.settingsModal .settingsStructureLabel{
	background: var(--ui-surface-alt) !important;
	color: var(--ui-muted) !important;
	text-shadow: none !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal :is(.formSettings, .settingsStorageUsage, .settingsChoiceBand, .settingsBillingCard, .settingsLogsCard, .settingsUnavailableNote, .settingsReferralCard, .settingsReferralInviteTool, .settingsReferralContacts, .settingsReferralRules article, .settingsReferralCodeCard, .settingsReferralContactRow){
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsLogsPanel .settingsLogsCard{
	background: transparent !important;
}

/* Subscription downgrade and account/company closure. */
html[data-theme="light"] body.immoPage #settings.settingsModal :is(.settingsDowngradePlanCard, .settingsDowngradeIntro > p, .settingsDowngradeFeatureNotice, .settingsDowngradeCheck, .settingsDowngradeBlocked, .settingsCompanyClosureCheck, .settingsCompanyClosureTransfer, .settingsCompanyClosureBlocked, .accountDeletionRequirement, .accountDeletionConfirmation){
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsDowngradeFeatureNotice{
	border-color: #b9cde4 !important;
	background: var(--ui-info-soft) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal :is(.settingsDowngradeCheck.isBlocked, .settingsDowngradeBlocked, .settingsCompanyClosureCheck.isBlocked, .settingsCompanyClosureTransfer, .settingsCompanyClosureBlocked){
	border-color: #d9b277 !important;
	background: var(--ui-warning-soft) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal :is(.settingsDowngradeCheck.isBlocked em, .settingsDowngradeCheck.isBlocked strong, .settingsCompanyClosureCheck.isBlocked strong, .settingsCompanyClosureBlocked strong){
	color: var(--ui-warning) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal :is(.settingsDowngradeCheck.isReady .settingsDowngradeCheckIcon, .settingsCompanyClosureCheck.isReady .settingsCompanyClosureCheckIcon){
	background: var(--ui-success-soft) !important;
	color: var(--ui-success) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal :is(.settingsDowngradeCheck.isBlocked .settingsDowngradeCheckIcon, .settingsCompanyClosureCheck.isBlocked .settingsCompanyClosureCheckIcon){
	background: #f7e8cb !important;
	color: var(--ui-warning) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal button.settingsDowngradePlanCard::after{
	color: var(--ui-warning) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .accountDeletionRequirement.isReady,
html[data-theme="light"] body.immoPage #settings.settingsModal .accountDeletionRequirement.isInfo{
	border-color: #b9cde4 !important;
	background: var(--ui-info-soft) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal :is(.accountDeletionRequirement.isReady .accountDeletionRequirementIcon, .accountDeletionRequirement.isInfo .accountDeletionRequirementIcon){
	background: #dce9f7 !important;
	color: var(--ui-info) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .accountDeletionRequirement.isBlocked,
html[data-theme="light"] body.immoPage #settings.settingsModal .accountDeletionBlockedNotice{
	border-color: #d99aa4 !important;
	background: var(--ui-danger-soft) !important;
	color: var(--ui-danger) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .accountDeletionRequirement.isBlocked .accountDeletionRequirementIcon,
html[data-theme="light"] body.immoPage #settings.settingsModal .accountDeletionBlockedNotice strong{
	background: #f5dce1 !important;
	color: var(--ui-danger) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .accountDeletionConfirmationHint strong{
	color: var(--ui-accent-strong) !important;
}

/* Company Kbis and business metadata. */
html[data-theme="light"] body.immoPage #settings.settingsModal :is(.settingsBusinessKbisUpload, .settingsBusinessKbisExtracted, .settingsBusinessKbisMeta, .settingsBusinessKbisAddressGrid){
	border-color: var(--ui-border-strong) !important;
	background-color: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsCompanyFamilyCivilCompany{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface-alt) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsCompanyFamilyCivilCompany strong{
	color: var(--ui-heading) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal :is(.settingsCompanyFamilyCivilCompany small, .settingsBusinessFamilyCivilCompanyChoice > p){
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsBusinessKbisIcon{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface-soft) !important;
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsBusinessKbisTitle,
html[data-theme="light"] body.immoPage #settings.settingsModal .settingsBusinessKbisExtractedHeader strong{
	color: var(--ui-heading) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsBusinessKbisUpload.docUploadCard .settingsBusinessKbisTitle{
	background: transparent !important;
	color: var(--ui-heading) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsBusinessKbisUpload.docUploadCard .settingsBusinessKbisHint{
    color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsDowngradePlanCard :is(small, em){
    color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsBusinessKbisExtractedHeader span{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsBusinessKbisUpload.has-kbis-preview :is(.settingsBusinessKbisTitle, .settingsBusinessKbisHint),
html[data-theme="light"] body.immoPage #settings.settingsModal .settingsBusinessKbisOverlayText{
	color: #ffffff !important;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsBusinessKbisUploadStatus{
	border-color: #d99aa4 !important;
	background: var(--ui-danger-soft) !important;
	color: var(--ui-danger) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsBusinessKbisUploadStatus.isLoading{
	border-color: #d9b277 !important;
	background: var(--ui-warning-soft) !important;
	color: var(--ui-warning) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsBusinessKbisUploadStatus.isSuccess{
	border-color: #8fc5a7 !important;
	background: var(--ui-success-soft) !important;
	color: var(--ui-success) !important;
}

/* Business creation: visually separate structure, details and tax choices. */
html[data-theme="light"] body.immoPage #settings.settingsModal #formBusinessAdd{
	border-color: transparent !important;
	background: transparent !important;
	box-shadow: none !important;
	gap: 18px !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal #formBusinessAdd > .settingsChoiceBand{
	margin: 0 !important;
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface) !important;
	box-shadow: 0 1px 2px rgba(31, 45, 61, 0.04) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal #formBusinessAdd > :is(#business_add_pro, #business_add_perso, .common-fields){
	padding: 14px !important;
	border: 1px solid var(--ui-border-strong) !important;
	border-radius: 8px !important;
	background: var(--ui-surface) !important;
	box-shadow: 0 1px 2px rgba(31, 45, 61, 0.04) !important;
	box-sizing: border-box !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal #business_add_kbis_drop .settingsBusinessKbisPreview{
	border: 1px dashed #9dafc3 !important;
	border-radius: 8px !important;
	background: #f0f4f8 !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal #business_add_kbis_drop .settingsBusinessKbisPreview::after{
	border: 1px solid #a9bacd !important;
	background: #d6e2ee !important;
	color: #24384c !important;
	box-shadow: 0 2px 5px rgba(31, 45, 61, 0.10) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal #formBusinessAdd :is(.settingsStructureToggle, .settingsBusinessKbisMeta .settingsRadioSwitch, .settingsBusinessKbisVatChoice .settingsSwitchField){
	border-color: #9dafc3 !important;
	background: #e4ebf3 !important;
	box-shadow: inset 0 0 0 1px rgba(49, 72, 95, 0.04) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal #formBusinessAdd :is(.settingsStructureToggle, .settingsBusinessKbisVatChoice .settingsSwitchField) > span,
html[data-theme="light"] body.immoPage #settings.settingsModal #formBusinessAdd .settingsBusinessKbisMeta .settingsRadioSwitch > label{
	color: #4f6074 !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal #formBusinessAdd .settingsStructureToggle > span:first-child,
html[data-theme="light"] body.immoPage #settings.settingsModal #formBusinessAdd .settingsStructureToggle:has(input:checked) > span:last-child,
html[data-theme="light"] body.immoPage #settings.settingsModal #formBusinessAdd .settingsBusinessKbisVatChoice .settingsSwitchField > span:first-child,
html[data-theme="light"] body.immoPage #settings.settingsModal #formBusinessAdd .settingsBusinessKbisVatChoice .settingsSwitchField:has(input:checked) > span:last-child,
html[data-theme="light"] body.immoPage #settings.settingsModal #formBusinessAdd .settingsBusinessKbisMeta .settingsRadioSwitch input[type="radio"]:checked + label{
	border-color: #7895b3 !important;
	background: #cbd9e8 !important;
	color: #24384c !important;
	box-shadow: inset 0 0 0 1px rgba(49, 72, 95, 0.08) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal #formBusinessAdd .settingsStructureToggle:has(input:checked) > span:first-child,
html[data-theme="light"] body.immoPage #settings.settingsModal #formBusinessAdd .settingsBusinessKbisVatChoice .settingsSwitchField:has(input:checked) > span:first-child{
	border-color: transparent !important;
	background: transparent !important;
	color: #4f6074 !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal #formBusinessAdd .settingsBusinessKbisMeta .settingsInlineChoiceField > label{
	color: #4f6074 !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal #formBusinessAdd .settingsBusinessKbisMeta{
	background: transparent !important;
	background-color: transparent !important;
}

html[data-theme="light"] body.immoPage #properties #propertyFormCreate #propertyDpe.propertyDpeRental--blocked{
	border-color: #c93e4d !important;
	box-shadow: 0 0 0 2px rgba(201, 62, 77, 0.13) !important;
}

html[data-theme="light"] body.immoPage #properties #propertyFormCreate #propertyDpe.propertyDpeRental--upcoming{
	border-color: #b8780f !important;
	box-shadow: 0 0 0 2px rgba(184, 120, 15, 0.12) !important;
}

@media screen and (max-width: 620px){
	html[data-theme="light"] body.immoPage #settings.settingsModal #formBusinessAdd .settingsBusinessKbisMeta{
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 16px !important;
	}

	html[data-theme="light"] body.immoPage #settings.settingsModal #formBusinessAdd .settingsBusinessKbisMeta .settingsInlineChoiceField{
		width: 100% !important;
		min-width: 0 !important;
	}
}

/* Bank and approved-platform integration cards. */
html[data-theme="light"] body.immoPage #settings.settingsModal :is(.settingsIntegrationUpsell, .settingsIntegrationConfig, .settingsIntegrationHero, .settingsIntegrationConfigHeader, .settingsIntegrationBenefits article, .settingsIntegrationFlow, .settingsIntegrationProviderCard, .settingsBankAccountSelector, .settingsIntegrationOption, .settingsIntegrationNotice, .settingsIntegrationHealth, .settingsIntegrationHealth > div > span, .settingsPaCustomerReview){
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal :is(.settingsIntegrationHero, .settingsIntegrationConfigHeader, .settingsIntegrationFlow, .settingsIntegrationNotice, .settingsIntegrationHealth){
	border-color: #c3d3e5 !important;
	background: var(--ui-info-soft) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal :is(.settingsIntegrationHero p, .settingsIntegrationConfigHeader p, .settingsIntegrationBenefits span, .settingsIntegrationUpsellFooter span, .settingsIntegrationFormFooter > span, .settingsIntegrationProviderCard span, .settingsIntegrationProviderCard small, .settingsIntegrationOption small, .settingsIntegrationNotice span, .settingsIntegrationHealth small, .settingsIntegrationHealth > div > span > em){
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal :is(.settingsIntegrationStatus--connected, .settingsIntegrationStatus--configured, .settingsBankValidationStatus--manual){
	border-color: #8fc5a7 !important;
	background: var(--ui-success-soft) !important;
	color: var(--ui-success) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal :is(.settingsIntegrationStatus--syncing, .settingsIntegrationStatus--onboarding){
	border-color: #9fbadb !important;
	background: var(--ui-info-soft) !important;
	color: var(--ui-info) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal :is(.settingsIntegrationStatus--action_required, .settingsIntegrationStatus--error, .settingsBankValidationStatus--auto, .settingsIntegrationHealth--warning > header > em, .settingsIntegrationHealth--critical > header > em, .settingsIntegrationNotice code){
	border-color: #d9b277 !important;
	background: var(--ui-warning-soft) !important;
	color: var(--ui-warning) !important;
}

/* « Validation automatique » is tinted as a whole card (same as the pending-contract highlight), never a strip
   behind its title. The doubled class outranks the neutral card rule above (1,4,4). */
html[data-theme="light"] body.immoPage #settings.settingsModal .settingsIntegrationOption.settingsIntegrationOption--warning{
	border-color: #dfb062 !important;
	background: var(--ui-warning-soft) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsIntegrationOption.settingsIntegrationOption--warning > span:last-child > strong{
	color: var(--ui-warning) !important;
}

/* Warning notices (last bank refusal, diagnostics) keep the dark theme's amber tint instead of the
   neutral blue notice above: the doubled class outranks it. */
html[data-theme="light"] body.immoPage #settings.settingsModal .settingsIntegrationNotice.settingsIntegrationNotice--warning{
	border-color: #dfb062 !important;
	background: var(--ui-warning-soft) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsIntegrationNotice.settingsIntegrationNotice--warning > strong{
	color: var(--ui-warning) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsIntegrationOptionCheck,
html[data-theme="light"] body.immoPage #settings.settingsModal .settingsIntegrationHealth--ok > header > em{
	background: var(--ui-success-soft) !important;
	color: var(--ui-success) !important;
}

/* Referral phone prefix and intervenant management. */
html[data-theme="light"] body.immoPage #settings.settingsModal .settingsReferralPhoneInput > span{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface-soft) !important;
	color: var(--ui-text) !important;
}

/* Keep the stronger palette local to Settings > Intervenants. */
html[data-theme="light"] body.immoPage #settings.settingsModal #modal_article_intervenants{
	--ui-muted: #465569;
	--ui-subtle: #56657a;
	--ui-border: #acb9c9;
	--ui-border-strong: #6e8096;
	--ui-button-neutral-border: #6e8096;
	--ui-button-primary-border: #5f83ad;
	--ui-button-info-border: #5f83ad;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .intervenantFormSection{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
	box-shadow: 0 1px 2px rgba(31, 45, 61, 0.04) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .intervenantFormSectionHeader{
	border-bottom-color: var(--ui-border) !important;
	color: var(--ui-heading) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .intervenantFormSectionHeader strong{
	color: var(--ui-heading) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .intervenantFormSectionHeader span{
	color: var(--ui-muted) !important;
}

/* Encadré d'aide des activités d'intervenant (voir index.css). Les textes de
   #settings sont forcés en --ui-text !important : l'ancrage sur l'id garde le
   titre en bleu d'accent et la note en gris. */
html[data-theme="light"] :is(body.immoPage, body.intervenantPage) .intervenantTypeHelp{
	border-color: var(--ui-button-primary-border) !important;
	background: var(--ui-accent-soft) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] :is(body.immoPage, body.intervenantPage) .intervenantTypeHelp .intervenantTypeHelpList li{
	color: var(--ui-text) !important;
}

html[data-theme="light"] :is(body.immoPage #settings.settingsModal, body.intervenantPage) .intervenantTypeHelp .intervenantTypeHelpLead{
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] :is(body.immoPage #settings.settingsModal, body.intervenantPage) .intervenantTypeHelp .intervenantTypeHelpNote{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal :is(.intervenantTypeGroup, .intervenantPermissionsBlock, .intervenantPermissionEmptyState, .intervenantResultDetails){
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal :is(.intervenantResultCard, .intervenantPropertyRow){
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .intervenantResultCard:hover,
html[data-theme="light"] body.immoPage #settings.settingsModal .intervenantPropertyRow:hover{
	border-color: var(--ui-accent) !important;
	background: var(--ui-surface-hover) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .intervenantResultCard.isSelected,
html[data-theme="light"] body.immoPage #settings.settingsModal .intervenantPropertyRow:has(.intervenantPropertyCheckbox:checked),
html[data-theme="light"] body.immoPage #settings.settingsModal .intervenantLinkPermissionRow:has(.intervenantLinkPermissionCheckbox:checked){
	border-color: var(--ui-accent) !important;
	background: var(--ui-accent-soft) !important;
	box-shadow: inset 3px 0 0 var(--ui-accent) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal :is(.intervenantResultHead, .intervenantResultName, .intervenantPropertyName, .intervenantPermissionsSurfaceTitle){
	color: var(--ui-heading) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal :is(.intervenantResultMeta, .intervenantResultCode, .intervenantPropertyMeta, .intervenantEmptyState, .intervenantPermissionsEmpty){
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .intervenantResultDetails span{
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal :is(.intervenantResultDetails strong, .intervenantSelectedFeedback){
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal #modal_article_intervenants .fieldset-input > label{
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal #modal_article_intervenants input[type="checkbox"]{
	accent-color: var(--ui-accent-strong);
}

/* Safari date fields have their own text fill and calendar icon colors. */
html[data-theme="light"] body.immoPage #settings.settingsModal #modal_article_intervenants input[type="date"]{
	-webkit-text-fill-color: var(--ui-text);
}

html[data-theme="light"] body.immoPage #settings.settingsModal #modal_article_intervenants input[type="date"]::-webkit-date-and-time-value,
html[data-theme="light"] body.immoPage #settings.settingsModal #modal_article_intervenants input[type="date"]::-webkit-datetime-edit,
html[data-theme="light"] body.immoPage #settings.settingsModal #modal_article_intervenants input[type="date"]::-webkit-datetime-edit-fields-wrapper,
html[data-theme="light"] body.immoPage #settings.settingsModal #modal_article_intervenants input[type="date"]::-webkit-datetime-edit-text,
html[data-theme="light"] body.immoPage #settings.settingsModal #modal_article_intervenants input[type="date"]::-webkit-datetime-edit-month-field,
html[data-theme="light"] body.immoPage #settings.settingsModal #modal_article_intervenants input[type="date"]::-webkit-datetime-edit-day-field,
html[data-theme="light"] body.immoPage #settings.settingsModal #modal_article_intervenants input[type="date"]::-webkit-datetime-edit-year-field{
	color: var(--ui-text);
}

html[data-theme="light"] body.immoPage #settings.settingsModal #modal_article_intervenants input[type="date"]::-webkit-calendar-picker-indicator{
	filter: none;
	opacity: 1;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .intervenantResultMessageButton{
	border-color: var(--ui-button-info-border) !important;
	background: var(--ui-button-info-bg) !important;
	color: var(--ui-button-info-text) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .intervenantResultToggleButton{
	border-color: var(--ui-button-neutral-border) !important;
	background: var(--ui-button-neutral-bg) !important;
	color: var(--ui-button-neutral-text) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .intervenantResultMessageButton:hover{
	border-color: var(--ui-accent) !important;
	background: var(--ui-button-info-hover) !important;
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .intervenantResultToggleButton:hover,
html[data-theme="light"] body.immoPage #settings.settingsModal .intervenantResultToggleButton[aria-expanded="true"]{
	border-color: var(--ui-accent) !important;
	background: var(--ui-button-neutral-hover) !important;
	color: var(--ui-heading) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal #modal_article_intervenants :is(button, input[type="checkbox"]):focus-visible{
	outline: 2px solid var(--ui-accent-strong) !important;
	outline-offset: 2px;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .intervenantResultPriceBadge{
	border-color: #b9cde4 !important;
	background: var(--ui-info-soft) !important;
	color: var(--ui-info) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .intervenantResultPriceBadge strong{
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .intervenantStatusBadge{
	border: 1px solid var(--ui-border-strong);
	background: var(--ui-surface-soft) !important;
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .intervenantStatusBadge.isActive{
	border-color: var(--ui-success);
	background: var(--ui-success-soft) !important;
	color: var(--ui-success) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .intervenantStatusBadge.isPending{
	border-color: var(--ui-warning);
	background: var(--ui-warning-soft) !important;
	color: var(--ui-warning) !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsAjaxErrorBox{
	border-color: #d9b277 !important;
	background: var(--ui-warning-soft) !important;
	color: var(--ui-warning) !important;
}

/* Les retours AJAX sont créés dynamiquement dans plusieurs modales, pas
   uniquement dans Paramètres. Ils doivent conserver la palette claire au lieu
   d'hériter du fond brun translucide prévu pour le thème sombre. */
html[data-theme="light"] body.immoPage .modal .modalAjaxErrorBox{
	border-color: #d9b277 !important;
	background: var(--ui-warning-soft) !important;
	color: var(--ui-warning) !important;
	box-shadow: inset 0 0 0 1px rgba(148, 91, 0, 0.04) !important;
}

html[data-theme="light"] body.immoPage .modal .modalAjaxErrorBox .settingsAjaxErrorTitle,
html[data-theme="light"] body.immoPage .modal .modalAjaxErrorBox .settingsAjaxErrorTitle strong,
html[data-theme="light"] body.immoPage .modal .modalAjaxErrorBox li{
	color: var(--ui-warning) !important;
}

html[data-theme="light"] body.immoPage .modal .modalAjaxErrorBox .settingsAjaxErrorDot{
	background: var(--ui-warning) !important;
	box-shadow: 0 0 0 5px rgba(148, 91, 0, 0.10) !important;
}

html[data-theme="light"] body.immoPage .modal .modalAjaxErrorBox.is-success{
	border-color: #8dc9aa !important;
	background: var(--ui-success-soft) !important;
	color: var(--ui-success) !important;
	box-shadow: inset 0 0 0 1px rgba(8, 122, 73, 0.04) !important;
}

html[data-theme="light"] body.immoPage .modal .modalAjaxErrorBox.is-success .settingsAjaxErrorTitle,
html[data-theme="light"] body.immoPage .modal .modalAjaxErrorBox.is-success .settingsAjaxErrorTitle strong{
	color: var(--ui-success) !important;
}

html[data-theme="light"] body.immoPage .modal .modalAjaxErrorBox.is-success .settingsAjaxErrorDot{
	background: var(--ui-success) !important;
	box-shadow: 0 0 0 5px rgba(8, 122, 73, 0.10) !important;
}

html[data-theme="light"] body.immoPage #invoices #sectionFind .invoiceFindRow[data-invoice-source="invoice"] a.buttonSmall{
	color: var(--ui-button-primary-text) !important;
	border-color: var(--ui-button-primary-border) !important;
	background: var(--ui-button-primary-bg) !important;
}

html[data-theme="light"] body.immoPage #properties .propertyAssetCard.hasSignatureNotifications .propertyAssetBar{
	border-color: #dfb062 !important;
	background: var(--ui-warning-soft) !important;
}

html[data-theme="light"] body.immoPage .propertyAssetNotificationBadge,
html[data-theme="light"] body.immoPage .propertySignatureNotificationBadge{
	border: 0 !important;
	background: #bd263f !important;
	color: #fff !important;
}

html[data-theme="light"] body.immoPage .appPropertyHeaderActions #contractAddButton.hasSignatureNotifications,
html[data-theme="light"] body.immoPage #addContract .contractModalTabBar .contractsDispButton.hasSignatureNotifications{
	border-color: #e7b4bb !important;
	background: var(--ui-danger-soft) !important;
}

/* Same rule as the dark theme: only the folded card is highlighted. */
html[data-theme="light"] body.immoPage #addContract .contractActiveCard.hasSignatureNotification:not(:has(.contractActionToggle.is-expanded)),
html[data-theme="light"] body.immoPage #addContract .contractActiveCard:not(:has(.contractActionToggle.is-expanded)) .contractActiveDetail.hasSignatureNotification,
html[data-theme="light"] body.immoPage #addContract .contractActiveCard.hasPendingObservations:not(:has(.contractActionToggle.is-expanded)),
html[data-theme="light"] body.immoPage #addContract .contractActiveCard:not(:has(.contractActionToggle.is-expanded)) .contractActiveDetail.hasPendingObservations{
	border-color: #dfb062 !important;
	background: var(--ui-warning-soft) !important;
}

html[data-theme="light"] body.immoPage #addContract tr.hasSignatureNotification > th,
html[data-theme="light"] body.immoPage #addContract tr.hasSignatureNotification > td{
	background: var(--ui-success-soft) !important;
}

html[data-theme="light"] body.immoPage .signatureEventBadge{
	border-color: #8dc9aa !important;
	background: var(--ui-success-soft) !important;
	color: var(--ui-success) !important;
}

/* Feed financier : actions et états des secondes lignes. */
html[data-theme="light"] body.immoPage .appMainSurface .pdfActionMenu{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
	box-shadow: var(--ui-shadow-strong) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .pdfActionMenu::after{
	background: var(--ui-surface) !important;
	border-right-color: var(--ui-border-strong) !important;
	border-bottom-color: var(--ui-border-strong) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .pdfActionMenu button{
	border: 1px solid var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-heading) !important;
	text-shadow: none !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .pdfActionMenu button:hover,
html[data-theme="light"] body.immoPage .appMainSurface .pdfActionMenu button:focus-visible{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface-hover) !important;
	color: var(--ui-heading) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .subReceiptAction button.buttonSmall,
html[data-theme="light"] body.immoPage .appMainSurface .subReceiptAction a.buttonSmall,
html[data-theme="light"] body.immoPage .appMainSurface .subReceiptAction .pdfActionMenuWrap > button.buttonSmall{
	border-color: var(--ui-button-neutral-border) !important;
	background: var(--ui-button-neutral-bg) !important;
	color: var(--ui-button-neutral-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .subReceiptAction button.buttonSmall:hover,
html[data-theme="light"] body.immoPage .appMainSurface .subReceiptAction button.buttonSmall:focus-visible,
html[data-theme="light"] body.immoPage .appMainSurface .subReceiptAction a.buttonSmall:hover,
html[data-theme="light"] body.immoPage .appMainSurface .subReceiptAction a.buttonSmall:focus-visible,
html[data-theme="light"] body.immoPage .appMainSurface .subReceiptAction .pdfActionMenuWrap > button.buttonSmall:hover,
html[data-theme="light"] body.immoPage .appMainSurface .subReceiptAction .pdfActionMenuWrap > button.buttonSmall:focus-visible{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-button-neutral-hover) !important;
	color: var(--ui-heading) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .subReceiptAction button.buttonSmall.actionTone--danger{
	border-color: var(--ui-button-danger-border) !important;
	background: var(--ui-button-danger-bg) !important;
	color: var(--ui-button-danger-text) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .subReceiptAction button.buttonSmall.actionTone--danger:hover,
html[data-theme="light"] body.immoPage .appMainSurface .subReceiptAction button.buttonSmall.actionTone--danger:focus-visible{
	border-color: var(--ui-button-danger-border) !important;
	background: var(--ui-button-danger-hover) !important;
	color: var(--ui-button-danger-text) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .subReceiptAction button.iconInvoiceReimburse,
html[data-theme="light"] body.immoPage .appMainSurface .subReceiptAction button.invoiceEActionButton{
	border-color: var(--ui-button-info-border) !important;
	background: var(--ui-button-info-bg) !important;
	color: var(--ui-button-info-text) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .subReceiptAction button.iconInvoiceReimburse:hover,
html[data-theme="light"] body.immoPage .appMainSurface .subReceiptAction button.iconInvoiceReimburse:focus-visible,
html[data-theme="light"] body.immoPage .appMainSurface .subReceiptAction button.invoiceEActionButton:hover,
html[data-theme="light"] body.immoPage .appMainSurface .subReceiptAction button.invoiceEActionButton:focus-visible{
	border-color: var(--ui-button-info-border) !important;
	background: var(--ui-button-info-hover) !important;
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .subReceiptAction button.iconInvoicePaid,
html[data-theme="light"] body.immoPage .appMainSurface .subReceiptAction .invoicePaidStatus{
	border-color: var(--ui-button-success-border) !important;
	background: var(--ui-button-success-bg) !important;
	color: var(--ui-button-success-text) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .subReceiptAction .invoiceReimbursedStatus{
	border-color: var(--ui-button-info-border) !important;
	background: var(--ui-button-info-bg) !important;
	color: var(--ui-button-info-text) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .subReceiptAction .invoicePartialStatus{
	border-color: var(--ui-button-warning-border) !important;
	background: var(--ui-button-warning-bg) !important;
	color: var(--ui-button-warning-text) !important;
}

/* Ligne d'échéance (échelonné) : date, montant et relances lisibles sur le rail clair (la règle sombre « span » n'a pas de miroir). */
html[data-theme="light"] body.immoPage .appMainSurface .subReceiptAction .receiptInstallmentMeta{
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .subReceiptAction .invoicePaidStatus span,
html[data-theme="light"] body.immoPage .appMainSurface .subReceiptAction .invoicePaidStatus strong,
html[data-theme="light"] body.immoPage .appMainSurface .subReceiptAction .invoiceReimbursedStatus span,
html[data-theme="light"] body.immoPage .appMainSurface .subReceiptAction .invoiceReimbursedStatus strong,
html[data-theme="light"] body.immoPage .appMainSurface .subReceiptAction .invoicePartialStatus span,
html[data-theme="light"] body.immoPage .appMainSurface .subReceiptAction .invoicePartialStatus strong,
html[data-theme="light"] body.immoPage .appMainSurface .subReceiptAction .invoiceActionEStatus span,
html[data-theme="light"] body.immoPage .appMainSurface .subReceiptAction .invoiceActionEStatus strong{
	color: inherit !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .subReceiptAction .invoiceActionEStatus.eInvoiceStatusIcon--not_applicable{
	border-color: var(--ui-button-neutral-border) !important;
	background: var(--ui-surface-soft) !important;
	color: var(--ui-button-neutral-text) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .subReceiptAction .invoiceActionEStatus:is(
	.eInvoiceStatusIcon--not_transmitted,
	.eInvoiceStatusIcon--pending,
	.eInvoiceStatusIcon--processing,
	.eInvoiceStatusIcon--exported
){
	border-color: var(--ui-button-info-border) !important;
	background: var(--ui-button-info-bg) !important;
	color: var(--ui-button-info-text) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .subReceiptAction .invoiceActionEStatus:is(
	.eInvoiceStatusIcon--deposited,
	.eInvoiceStatusIcon--delivered
){
	border-color: var(--ui-button-success-border) !important;
	background: var(--ui-button-success-bg) !important;
	color: var(--ui-button-success-text) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .subReceiptAction .invoiceActionEStatus:is(
	.eInvoiceStatusIcon--rejected,
	.eInvoiceStatusIcon--refused,
	.eInvoiceStatusIcon--error
){
	border-color: var(--ui-button-danger-border) !important;
	background: var(--ui-button-danger-bg) !important;
	color: var(--ui-button-danger-text) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .subReceiptAction .invoiceRefundSummary,
html[data-theme="light"] body.immoPage .appMainSurface .subReceiptAction .invoiceRefundSummaryValue{
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .subReceiptAction .invoiceRefundSummaryLabel{
	color: var(--ui-muted) !important;
	opacity: 1 !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .subReceiptAction .btnIconMobile.btnIconMobileLabel::after,
html[data-theme="light"] body.immoPage .appMainSurface .subReceiptAction .invoiceStatusPill.btnIconMobile.btnIconMobileLabel::after{
	color: var(--ui-button-neutral-text) !important;
}

html[data-theme="light"] body.immoPage .appMainSurface .subReceiptAction button.buttonSmall.actionTone--danger.btnIconMobile.btnIconMobileLabel::after{
	color: var(--ui-button-danger-text) !important;
}

/* Facturation : neutralise les dernières couleurs sombres dans la modale claire. */
html[data-theme="light"] body.immoPage #invoices.invoiceModal.invoiceModal #sectionUpload.invoiceUploadDropzone{
	border-color: var(--ui-border) !important;
	border-width: 1px !important;
	border-style: dashed !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #invoices.invoiceModal.invoiceModal #sectionUpload.invoiceUploadDropzone .standaloneUploadPreview{
	border: 1px dashed var(--ui-border-strong) !important;
	border-radius: 7px !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #invoices.invoiceModal.invoiceModal #sectionUpload.invoiceUploadDropzone > p{
	color: var(--ui-heading) !important;
	text-shadow: none !important;
}

html[data-theme="light"] body.immoPage #invoices.invoiceModal.invoiceModal #sectionUpload.invoiceUploadDropzone:is(:hover, :focus-within, .is-drag-over){
	border-color: var(--ui-accent-strong) !important;
	background: var(--ui-surface-hover) !important;
	box-shadow: 0 0 0 3px var(--ui-focus) !important;
}

html[data-theme="light"] body.immoPage #invoices.invoiceModal.invoiceModal .fieldset-input > label,
html[data-theme="light"] body.immoPage #invoices.invoiceModal.invoiceModal .invoiceSwitchCard > label{
	background: var(--ui-surface-alt) !important;
	color: var(--ui-muted) !important;
	text-shadow: none !important;
}

html[data-theme="light"] body.immoPage #invoices.invoiceModal #tableBodyInvoiceCustomer .fieldset-input > label{
	background: var(--ui-surface-alt) !important;
	color: var(--ui-muted) !important;
	text-shadow: none !important;
}

html[data-theme="light"] body.immoPage #invoices.invoiceModal.invoiceModal #sectionGenerateInvoice .invoiceGenerateControls :is(.invoiceGenDate, .invoiceGenQty) > label{
	background: var(--ui-surface-alt) !important;
	color: var(--ui-muted) !important;
	text-shadow: none !important;
}

html[data-theme="light"] body.immoPage #invoices.invoiceModal.invoiceModal .invoiceLibraryPanel.globalInvoiceManager{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #invoices.invoiceModal.invoiceModal .globalInvoiceManagerRow{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
	box-shadow: 0 3px 8px rgba(31, 50, 77, 0.13) !important;
}

html[data-theme="light"] body.immoPage #invoices.invoiceModal .globalInvoiceManagerList{
	box-shadow: 0 3px 12px rgba(31, 50, 77, 0.08);
}

html[data-theme="light"] body.immoPage #invoices.invoiceModal.invoiceModal .globalInvoiceManagerRow:is(:hover, :focus-within){
	border-color: var(--ui-accent) !important;
	background: var(--ui-surface-hover) !important;
	box-shadow: 0 4px 12px rgba(31, 50, 77, 0.21) !important;
}

html[data-theme="light"] body.immoPage #invoices.invoiceModal.invoiceModal .globalInvoiceManagerMain strong,
html[data-theme="light"] body.immoPage #invoices.invoiceModal.invoiceModal .globalInvoiceManagerAmount strong{
	color: var(--ui-heading) !important;
}

html[data-theme="light"] body.immoPage #invoices.invoiceModal.invoiceModal :is(.globalInvoiceManagerMain, .globalInvoiceManagerMeta, .globalInvoiceManagerAmount) span{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #invoices.invoiceModal.invoiceModal .globalInvoiceManagerActions .buttonSmall{
	opacity: 1 !important;
	border-color: var(--ui-button-neutral-border) !important;
	background: var(--ui-button-neutral-bg) !important;
	color: var(--ui-button-neutral-text) !important;
	box-shadow: none !important;
}

html[data-theme="light"] body.immoPage #invoices.invoiceModal.invoiceModal .globalInvoiceManagerActions .buttonSmall:is(:hover, :focus-visible){
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-button-neutral-hover) !important;
	color: var(--ui-accent-strong) !important;
}

html[data-theme="light"] body.immoPage #invoices.invoiceModal.invoiceModal .globalInvoiceManagerActions .actionTone--primary{
	border-color: var(--ui-button-primary-border) !important;
	background: var(--ui-button-primary-bg) !important;
	color: var(--ui-button-primary-text) !important;
}

html[data-theme="light"] body.immoPage #invoices.invoiceModal.invoiceModal .globalInvoiceManagerActions .actionTone--primary:is(:hover, :focus-visible){
	background: var(--ui-button-primary-hover) !important;
	border-color: var(--ui-button-primary-border) !important;
	color: var(--ui-button-primary-text) !important;
}

html[data-theme="light"] body.immoPage #invoices.invoiceModal.invoiceModal .globalInvoiceManagerActions .actionTone--danger{
	border-color: var(--ui-button-danger-border) !important;
	background: var(--ui-button-danger-bg) !important;
	color: var(--ui-button-danger-text) !important;
}

html[data-theme="light"] body.immoPage #invoices.invoiceModal.invoiceModal .globalInvoiceManagerActions .actionTone--danger:is(:hover, :focus-visible){
	background: var(--ui-button-danger-hover) !important;
	border-color: var(--ui-button-danger-border) !important;
	color: var(--ui-button-danger-text) !important;
}

/* « Payer » is green in the invoice lists. */
html[data-theme="light"] body.immoPage #invoices.invoiceModal.invoiceModal .globalInvoiceManagerActions .actionTone--success{
	border-color: var(--ui-button-success-border) !important;
	background: var(--ui-button-success-bg) !important;
	color: var(--ui-button-success-text) !important;
}

html[data-theme="light"] body.immoPage #invoices.invoiceModal.invoiceModal .globalInvoiceManagerActions .actionTone--success:is(:hover, :focus-visible){
	background: var(--ui-button-success-hover) !important;
	border-color: var(--ui-button-success-border) !important;
	color: var(--ui-button-success-text) !important;
}

html[data-theme="light"] body.immoPage #invoices.invoiceModal.invoiceModal #sectionFind.invoiceFindPanel{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #invoices.invoiceModal.invoiceModal #sectionFind .existingInvoice.invoiceFindRow{
	border-color: var(--ui-border-strong) !important;
	border-width: 1px !important;
	border-style: solid !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #invoices.invoiceModal.invoiceModal #sectionFind .existingInvoice.invoiceFindRow:hover{
	border-color: var(--ui-accent) !important;
	background: var(--ui-surface-hover) !important;
}

html[data-theme="light"] body.immoPage #invoices.invoiceModal.invoiceModal #sectionFind .existingInvoice.invoiceFindRow.is-selected{
	border-color: var(--ui-accent) !important;
	background: var(--ui-accent-soft) !important;
}

html[data-theme="light"] body.immoPage #invoices.invoiceModal.invoiceModal #sectionFind .invoiceFindName{
	color: var(--ui-heading) !important;
}

html[data-theme="light"] body.immoPage #invoices.invoiceModal.invoiceModal #sectionFind .invoiceFindDate{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #invoices.invoiceModal.invoiceModal #sectionFind .invoiceFindAmount{
	color: var(--ui-text) !important;
}

/* Facturation : retour d'analyse contrasté et sémantique en thème clair. */
html[data-theme="light"] body.immoPage #invoices.invoiceModal #invoiceOcrStatus{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-text) !important;
	box-shadow: none !important;
	text-shadow: none !important;
}

html[data-theme="light"] body.immoPage #invoices.invoiceModal #invoiceOcrStatus[data-state="processing"]{
	border-color: var(--ui-info) !important;
	background: var(--ui-info-soft) !important;
}

html[data-theme="light"] body.immoPage #invoices.invoiceModal #invoiceOcrStatus[data-state="success"]{
	border-color: var(--ui-success) !important;
	background: var(--ui-success-soft) !important;
}

html[data-theme="light"] body.immoPage #invoices.invoiceModal #invoiceOcrStatus[data-state="warning"]{
	border-color: var(--ui-warning) !important;
	background: var(--ui-warning-soft) !important;
}

html[data-theme="light"] body.immoPage #invoices.invoiceModal #invoiceOcrStatus[data-state="error"]{
	border-color: var(--ui-danger) !important;
	background: var(--ui-danger-soft) !important;
}

html[data-theme="light"] body.immoPage #invoices.invoiceModal #invoiceOcrStatusTitle,
html[data-theme="light"] body.immoPage #invoices.invoiceModal #invoiceOcrStatusText{
	color: inherit !important;
}

html[data-theme="light"] body.immoPage #settings.settingsModal .settingsCompanySelector > .fieldset-input > label{
	background: var(--ui-surface) !important;
}

html[data-theme="light"] body.immoPage #invoices.invoiceModal .globalInvoiceManagerRow .globalInvoicePaymentStatus[data-payment-status="paid"]{
	background: var(--ui-success-soft) !important;
	color: var(--ui-success) !important;
}

html[data-theme="light"] body.immoPage #invoices.invoiceModal .globalInvoiceManagerRow .globalInvoicePaymentStatus[data-payment-status="unpaid"]{
	background: var(--ui-warning-soft) !important;
	color: var(--ui-warning) !important;
}

html[data-theme="light"] body.immoPage #invoices.invoiceModal .globalInvoiceManagerRow .globalInvoiceRecoveryStatus{
	background: var(--ui-info-soft) !important;
	color: var(--ui-info) !important;
}

@media (max-width: 700px){
	html[data-theme="light"] body.immoPage #invoices.invoiceModal.invoiceModal .globalInvoiceManager{
		background: transparent !important;
	}

	html[data-theme="light"] body.immoPage #invoices.invoiceModal .globalInvoiceManagerActions{
		border-top-color: var(--ui-border);
	}
}
/* ---- Dialogues « factures reçues » : miroir clair du langage de modale AceMan. ---- */
html[data-theme="light"] .receivedInvoicePaymentDialog{
	background: var(--ui-surface, #ffffff);
	color: var(--ui-text, #252b35);
	border-color: var(--ui-border, #d9e1eb);
	box-shadow: var(--ui-shadow-strong, 0 24px 64px rgba(27, 39, 55, 0.18));
}
html[data-theme="light"] .receivedInvoicePaymentDialog::backdrop{ background: rgba(20, 32, 51, 0.42); }
html[data-theme="light"] .receivedInvoicePaymentDialog h2{ color: var(--ui-heading, #141a23); }
html[data-theme="light"] .receivedInvoicePaymentDialog .receivedInvoiceDialogHeader{
	border-bottom-color: var(--ui-border, #d9e1eb);
	background: var(--ui-surface, #ffffff);
}
html[data-theme="light"] .receivedInvoicePaymentDialog .receivedInvoiceDialogHeading p{ color: var(--ui-muted, #5f6c7d); }
html[data-theme="light"] .receivedInvoicePaymentDialog .receivedInvoiceDialogClose{
	border-color: var(--ui-border, #d9e1eb) !important;
	background: var(--ui-surface-alt, #f7f9fc) !important;
	color: var(--ui-muted, #5f6c7d) !important;
}
html[data-theme="light"] .receivedInvoicePaymentDialog .receivedInvoiceDialogClose:hover,
html[data-theme="light"] .receivedInvoicePaymentDialog .receivedInvoiceDialogClose:focus-visible{
	border-color: #b7cbe1 !important;
	background: var(--ui-accent-soft, #e7f0fa) !important;
	color: var(--ui-accent-strong, #214d7c) !important;
}
html[data-theme="light"] .receivedInvoicePaymentDialog :is(input[type="date"], select){ background: #f7f9fc; border-color: #9caec5; color-scheme: light; }
html[data-theme="light"] .receivedInvoicePaymentDialog :is([data-payment-error], [data-edit-error]){
	border-color: #d08383;
	background: #fbe9e9;
	color: #8f1f1f;
}
html[data-theme="light"] .receivedInvoicePaymentDialog :focus-visible{ outline-color: #35679c; }
html[data-theme="light"] body.immoPage .receivedInvoicePaymentDialog .buttonSmall:not(.actionTone--primary){ background: var(--ui-button-neutral-bg) !important; border-color: var(--ui-button-neutral-border) !important; color: var(--ui-button-neutral-text) !important; }
html[data-theme="light"] body.immoPage .receivedInvoicePaymentDialog .buttonSmall:not(.actionTone--primary):not(:disabled):hover,
html[data-theme="light"] body.immoPage .receivedInvoicePaymentDialog .buttonSmall:not(.actionTone--primary):not(:disabled):focus-visible{ background: var(--ui-button-neutral-hover) !important; border-color: var(--ui-button-neutral-hover-border) !important; color: var(--ui-button-neutral-hover-text) !important; }
html[data-theme="light"] body.immoPage .receivedInvoicePaymentDialog .buttonSmall.actionTone--primary{ background: var(--ui-button-primary-bg) !important; border-color: var(--ui-button-primary-border) !important; color: var(--ui-button-primary-text) !important; }
html[data-theme="light"] body.immoPage .receivedInvoicePaymentDialog .buttonSmall.actionTone--primary:not(:disabled):hover,
html[data-theme="light"] body.immoPage .receivedInvoicePaymentDialog .buttonSmall.actionTone--primary:not(:disabled):focus-visible{ background: var(--ui-button-primary-hover) !important; border-color: var(--ui-button-primary-hover-border) !important; color: var(--ui-button-primary-hover-text) !important; }
html[data-theme="light"] .receivedInvoiceEditDialog :is(input[type="text"], textarea){ background: #f7f9fc; border-color: #9caec5; color-scheme: light; }
html[data-theme="light"] .receivedInvoiceEditDialog .receivedInvoiceEditProperties{ border-color: var(--ui-border, #d9e1eb); }

/* Intervenant modals: the dark close-button surface must not leak into the light theme. */
html[data-theme="light"] body.intervenantPage .modal .close-button,
html[data-theme="light"] body.intervenantPage .modal-header .close-button,
html[data-theme="light"] body.intervenantPage .intervenantDataModal .close-button,
html[data-theme="light"] body.intervenantPage .intervenantFeedActionModal .modal-header .close-button,
html[data-theme="light"] body.intervenantPage .intervenantLogsModal .close-button{
	border-color: var(--ui-border) !important;
	background: var(--ui-surface-alt) !important;
	color: var(--ui-muted) !important;
}

/* Light mirror of the global affordance rule of index.css: a clickable control keeps a
 * visible 1px border on light surfaces too (border means clickable, no border means status). */
html[data-theme="light"] :where(body.immoPage:not(.customerProfileBody), body.intervenantPage) :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-color: var(--ui-border) !important;
}

/* ---- Libellés flottants (thème clair) : fond = surface réellement derrière le libellé (audit 2026-09-17). ---- */
html[data-theme="light"] body.immoPage #documents #docsCustomerControl > label,
html[data-theme="light"] body.immoPage #gauges #gaugesCustomerControl > label,
html[data-theme="light"] body.immoPage #addContract #contractHistoryActionPanel .fieldset-input > label,
html[data-theme="light"] body.immoPage #messages .messagesSearchCard .fieldset-input > label,
html[data-theme="light"] body.immoPage #settings.settingsModal #formAddIntervenant .intervenantFormSection .fieldset-input > label,
html[data-theme="light"] body.immoPage #settings.settingsModal #formBusinessAdd :is(#business_add_pro, #business_add_perso) :is(.fieldset-input > label, .settingsInlineChoiceField > label):not(#business_add_kbis_extract label),
html[data-theme="light"] body.immoPage #settings.settingsModal #formBusinessAdd > .common-fields .fieldset-input > label{
	background: var(--ui-surface) !important;
}

html[data-theme="light"] body.immoPage #invoices .globalInvoiceViewPanel .globalInvoiceManagerTop .fieldset-input > label{
	background: #fefefe !important; /* carte rgba(230, 231, 245, 0.055) sur blanc */
}

html[data-theme="light"] body.immoPage #addContract #contractIndexationContainer .fieldset-input > label{
	background: var(--ui-surface-alt) !important;
}

html[data-theme="light"] body.immoPage #properties #propertyProjectImport .propertyProjectImportSelectWrap label{
	background: var(--ui-surface-soft) !important;
	box-shadow: 0 0 0 2px var(--ui-surface-soft) !important;
}

html[data-theme="light"] body.immoPage #properties .propertyNatureStep .fieldset-input > label{
	background: #f7fbff !important; /* rgba(169, 205, 253, 0.09) sur blanc */
	box-shadow: 0 0 0 2px #f7fbff !important;
}

html[data-theme="light"] body.immoPage #customers :is(.customerCreateSection, #newCustomerDetailsCompany, #guarantor1Card, #guarantor2Card, #legalRepresentativeSection) .fieldset-input > label,
html[data-theme="light"] body.immoPage #addContract #contractInsuranceRow .fieldset-input > label{
	background: var(--ui-surface-alt) !important;
}

/* Tableau des locataires d’une facture : les lignes alternent blanc / surface-alt, le libellé suit sa propre cellule. */
html[data-theme="light"] body.immoPage #invoices.invoiceModal #tableBodyInvoiceCustomer .invoiceTenantRow td .fieldset-input,
html[data-theme="light"] body.immoPage #invoices.invoiceModal #tableBodyInvoiceCustomer .invoiceTenantRow td .fieldset-input > label{
	background: inherit !important;
}

/* Tableau de répartition par locataire (modales Documents comptables) : contraste renforcé en thème clair.
   Le titre héritait du clair de la feuille sombre (1,2:1). Les cases cochées suivent la règle des cases de modale (« Modal checkboxes and radios »). */
html[data-theme="light"] body.immoPage #invoices .invoiceTableWrap{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #invoices .invoiceTenantTableTitle{
	color: var(--ui-heading) !important;
}

html[data-theme="light"] body.immoPage #invoices .invoiceTenantTableWrap .invoiceTable th{
	background: var(--ui-surface-soft) !important;
	color: var(--ui-heading) !important;
	border-bottom: 2px solid var(--ui-border-strong) !important;
}

html[data-theme="light"] body.immoPage #invoices .invoiceTenantTableWrap .invoiceTable td{
	border-bottom-color: var(--ui-border-strong) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #invoices.invoiceModal #tableBodyInvoiceCustomer .fieldset-input > label{
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #invoices #tableBodyInvoiceCustomer .invoiceTenantProperty{
	color: var(--ui-muted) !important;
}

/* TEOM par local d'un avis de taxe foncière et refacturation immédiate : miroirs clairs. */
html[data-theme="light"] body.immoPage #invoices .invoiceTaxLots{
	border-color: var(--ui-border-strong) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-text) !important;
}

html[data-theme="light"] body.immoPage #invoices .invoiceTaxLotsHint{
	color: var(--ui-muted) !important;
}

html[data-theme="light"] body.immoPage #invoices :is([data-global-reinvoice], [data-tax-lots]) [aria-invalid="true"]{
	border-color: var(--ui-warning) !important;
	box-shadow: 0 0 0 1px var(--ui-warning) !important;
}

html[data-theme="light"] body.immoPage #invoices [data-global-reinvoice] td.is-mismatch{
	color: var(--ui-warning) !important;
}

/* « Index auto » : comme en thème sombre, pas de boîte propre autour de la pastille ; le libellé
   flottant reprend le fond du panneau « Révision du loyer » (surface-alt), pas le blanc. */
html[data-theme="light"] body.immoPage #addContract #autoIndexRevWrap.contractSwitchField{
	border: 0 !important;
	background: transparent !important;
	padding: 0 !important;
}

html[data-theme="light"] body.immoPage #addContract #contractIndexationContainer .contractSwitchLabel{
	background: var(--ui-surface-alt) !important;
}

/* Statuts : en theme clair aussi, la bordure reprend la couleur du fond de la pastille.
   Le selecteur [class] sert uniquement a egaler la specificite des regles de variante
   (.is-valid, .is-due, --validated ...) qui, elles, posent une bordure coloree. */
html[data-theme="light"] body.immoPage :is(
	.globalInvoicePaymentStatus,
	.globalInvoiceRecoveryStatus,
	.gaugeValueText,
	.gaugePendingText,
	.customerDocsInlineResult,
	.signatureEventBadge
):not(button, a, [role="button"], .button, .buttonSmall){
	border: 1px solid transparent !important;
}

html[data-theme="light"] body.immoPage #customers :is(
	.customerTenantStatus,
	.customerDocsStatus,
	.customerDocsInlineResult,
	.customerDeleteLockedBadge
)[class],
html[data-theme="light"] body.intervenantPage #ownerTenants .customerDocsStatus[class],
html[data-theme="light"] body.immoPage #addContract :is(
	.contractPreparedStatusBadge,
	.contractInventoryStatusBadge,
	.signatureEventBadge,
	.contractChargeStatusBadge,
	.contractIndexModeBadge,
	.contractIndexStatusBadge,
	.contractInventoryReplyDecisionStatus
)[class],
html[data-theme="light"] body.immoPage #addContract .contractInventoryStatus .contractInventoryStatusBadge[class]{
	border: 1px solid transparent !important;
}

/* Fil de quittances : les pastilles de statut (payee, remboursee, e-facture, date) prennent
   elles aussi une bordure de la couleur de leur fond ; [class] egale la specificite des regles
   de ton du theme clair, qui posent sinon une bordure verte / bleue visible. */
html[data-theme="light"] body.immoPage .appMainSurface .subReceiptAction :is(
	.invoiceStatusPill,
	.invoicePaidStatus,
	.invoiceReimbursedStatus,
	.invoiceActionEStatus,
	.spanPaidDate
)[class]:not(button, a, [role="button"]){
	border: 1px solid transparent !important;
}

/* Trop-perçu : indication ambre lisible sur fond clair. */
html[data-theme="light"] body.immoPage .receiptOverpaymentHint{
	color: #946000 !important;
}
