/* Shared line-clear icon family. Loaded through parts/js.php on every app page.
 * Alpha masks let the surrounding page theme determine the ink, including
 * dynamically inserted images and uploaded-photo placeholders. Keep <img>
 * attributes, dimensions, alt text, click handlers and original layout intact.
 */
:root{
 --am-ui-icon-color: #a9cdfd;
 --am-ui-icon-danger: #ff9da6;
 --am-ui-icon-warning: #f2c06f;
 --am-ui-icon-success: #88ddb2;
}
html[data-theme="light"]{
 --am-ui-icon-color: #35669b;
 --am-ui-icon-danger: #b4233b;
 --am-ui-icon-warning: #8a5900;
 --am-ui-icon-success: #21734e;
}

img[src*="/ui-icons/properties.svg"]{ --am-ui-icon: url("../images/ui-icons/properties.svg"); }
img[src*="/ui-icons/tenants.svg"]{ --am-ui-icon: url("../images/ui-icons/tenants.svg"); }
img[src*="/ui-icons/documents.svg"]{ --am-ui-icon: url("../images/ui-icons/documents.svg"); }
img[src*="/ui-icons/invoices.svg"]{ --am-ui-icon: url("../images/ui-icons/invoices.svg"); }
img[src*="/ui-icons/messages.svg"]{ --am-ui-icon: url("../images/ui-icons/messages.svg"); }
img[src*="/ui-icons/settings.svg"]{ --am-ui-icon: url("../images/ui-icons/settings.svg"); }
img[src*="/ui-icons/settings-general.svg"]{ --am-ui-icon: url("../images/ui-icons/settings-general.svg"); }
img[src*="/ui-icons/company.svg"]{ --am-ui-icon: url("../images/ui-icons/company.svg"); }
img[src*="/ui-icons/logs.svg"]{ --am-ui-icon: url("../images/ui-icons/logs.svg"); }
img[src*="/ui-icons/referral.svg"]{ --am-ui-icon: url("../images/ui-icons/referral.svg"); }
img[src*="/ui-icons/contractors.svg"]{ --am-ui-icon: url("../images/ui-icons/contractors.svg"); }
img[src*="/ui-icons/company-add.svg"]{ --am-ui-icon: url("../images/ui-icons/company-add.svg"); }
img[src*="/ui-icons/works.svg"]{ --am-ui-icon: url("../images/ui-icons/works.svg"); }
img[src*="/ui-icons/meters.svg"]{ --am-ui-icon: url("../images/ui-icons/meters.svg"); }
img[src*="/ui-icons/items.svg"]{ --am-ui-icon: url("../images/ui-icons/items.svg"); }
img[src*="/ui-icons/contract-create.svg"]{ --am-ui-icon: url("../images/ui-icons/contract-create.svg"); }
img[src*="/ui-icons/contract-prepared.svg"]{ --am-ui-icon: url("../images/ui-icons/contract-prepared.svg"); }
img[src*="/ui-icons/document-sign.svg"]{ --am-ui-icon: url("../images/ui-icons/document-sign.svg"); }
img[src*="/ui-icons/signature.svg"]{ --am-ui-icon: url("../images/ui-icons/signature.svg?v=2"); }
img[src*="/ui-icons/contract-active.svg"]{ --am-ui-icon: url("../images/ui-icons/contract-active.svg"); }
img[src*="/ui-icons/contract-archive.svg"]{ --am-ui-icon: url("../images/ui-icons/contract-archive.svg"); }
img[src*="/ui-icons/actions.svg"]{ --am-ui-icon: url("../images/ui-icons/actions.svg"); }
img[src*="/ui-icons/item-add.svg"]{ --am-ui-icon: url("../images/ui-icons/item-add.svg"); }
img[src*="/ui-icons/dashboard.svg"]{ --am-ui-icon: url("../images/ui-icons/dashboard.svg"); }
img[src*="/ui-icons/planning.svg"]{ --am-ui-icon: url("../images/ui-icons/planning.svg"); }
img[src*="/ui-icons/calendar-edit.svg"]{ --am-ui-icon: url("../images/ui-icons/calendar-edit.svg"); }
img[src*="/ui-icons/projects.svg"]{ --am-ui-icon: url("../images/ui-icons/projects.svg"); }
img[src*="/ui-icons/credit.svg"]{ --am-ui-icon: url("../images/ui-icons/credit.svg"); }
img[src*="/ui-icons/management.svg"]{ --am-ui-icon: url("../images/ui-icons/management.svg"); }
img[src*="/ui-icons/stats.svg"]{ --am-ui-icon: url("../images/ui-icons/stats.svg"); }
img[src*="/ui-icons/list.svg"]{ --am-ui-icon: url("../images/ui-icons/list.svg"); }
img[src*="/ui-icons/overview.svg"]{ --am-ui-icon: url("../images/ui-icons/overview.svg"); }
img[src*="/ui-icons/contracts.svg"]{ --am-ui-icon: url("../images/ui-icons/contracts.svg?v=2"); }
img[src*="/ui-icons/warning.svg"]{ --am-ui-icon: url("../images/ui-icons/warning.svg"); --am-ui-icon-color: var(--am-ui-icon-danger); }
img[src*="/ui-icons/caution.svg"]{ --am-ui-icon: url("../images/ui-icons/caution.svg"); --am-ui-icon-color: var(--am-ui-icon-warning); }
img[src*="/ui-icons/verified.svg"]{ --am-ui-icon: url("../images/ui-icons/verified.svg"); --am-ui-icon-color: var(--am-ui-icon-success); }
img[src*="/ui-icons/upgrade.svg"]{ --am-ui-icon: url("../images/ui-icons/upgrade.svg"); --am-ui-icon-color: var(--am-ui-icon-success); }
img[src*="/ui-icons/inventory.svg"]{ --am-ui-icon: url("../images/ui-icons/inventory.svg"); }
img[src*="/ui-icons/storage.svg"]{ --am-ui-icon: url("../images/ui-icons/storage.svg"); }
img[src*="/ui-icons/resend.svg"]{ --am-ui-icon: url("../images/ui-icons/resend.svg"); }
img[src*="/ui-icons/send.svg"]{ --am-ui-icon: url("../images/ui-icons/send.svg"); }
img[src*="/ui-icons/pending.svg"]{ --am-ui-icon: url("../images/ui-icons/pending.svg"); --am-ui-icon-color: var(--am-ui-icon-warning); }
img[src*="/ui-icons/account-switch.svg"]{ --am-ui-icon: url("../images/ui-icons/account-switch.svg"); }
img[src*="/ui-icons/profile.svg"]{ --am-ui-icon: url("../images/ui-icons/profile.svg"); }
img[src*="/ui-icons/add.svg"]{ --am-ui-icon: url("../images/ui-icons/add.svg"); }
img[src*="/ui-icons/accounting.svg"]{ --am-ui-icon: url("../images/ui-icons/accounting.svg"); }
img[src*="/ui-icons/document-library.svg"]{ --am-ui-icon: url("../images/ui-icons/document-library.svg"); }
img[src*="/ui-icons/document-send.svg"]{ --am-ui-icon: url("../images/ui-icons/document-send.svg?v=2"); }
img[src*="/ui-icons/document-regenerate.svg"]{ --am-ui-icon: url("../images/ui-icons/document-regenerate.svg"); }
img[src*="/ui-icons/inventory-create.svg"]{ --am-ui-icon: url("../images/ui-icons/inventory-create.svg"); }
img[src*="/receipt-actions/download.svg"]{ --am-ui-icon: url("../images/receipt-actions/download.svg"); }
img[src*="/receipt-actions/view.svg"]{ --am-ui-icon: url("../images/receipt-actions/view.svg"); }
img[src*="/receipt-actions/refresh.svg"]{ --am-ui-icon: url("../images/receipt-actions/refresh.svg"); }
img[src*="/receipt-actions/edit.svg"]{ --am-ui-icon: url("../images/receipt-actions/edit.svg"); }
img[src*="/receipt-actions/refund.svg"]{ --am-ui-icon: url("../images/receipt-actions/refund.svg"); }
img[src*="/receipt-actions/upload.svg"]{ --am-ui-icon: url("../images/receipt-actions/upload.svg"); }
img[src*="/receipt-actions/paid.svg"]{ --am-ui-icon: url("../images/receipt-actions/paid.svg"); --am-ui-icon-color: var(--am-ui-icon-success); }
img[src*="/receipt-actions/document-check.svg"]{ --am-ui-icon: url("../images/receipt-actions/document-check.svg"); --am-ui-icon-color: var(--am-ui-icon-success); }
#topMessage img[src*="/receipt-actions/paid.svg"]{ --am-ui-icon-color:#fff; }
/* The notice text already uses the matching amber ink for its themed surface. */
.propertyContractSoftNotice img[src*="/ui-icons/caution.svg"]{ --am-ui-icon-color: currentColor; }
.propertyFormNotice img:is([src*="/ui-icons/caution.svg"], [src*="/ui-icons/warning.svg"]){ --am-ui-icon-color: currentColor; }

img[src*="images/ui-icons/"],
img[src*="images/receipt-actions/"]{
 content: url("../images/ui-icons/blank.svg") !important;
 background-color: var(--am-ui-icon-color) !important;
 -webkit-mask-image: var(--am-ui-icon);
 mask-image: var(--am-ui-icon);
 -webkit-mask-size: contain;
 mask-size: contain;
 -webkit-mask-position: center;
 mask-position: center;
 -webkit-mask-repeat: no-repeat;
 mask-repeat: no-repeat;
 object-fit: contain;
 filter: none !important;
}

/* Some legacy buttons invert their surface on hover/focus. Their foreground
 * already follows that state; keep image icons readable alongside the label. */
button:is(:hover,:focus) img:is([src*="images/ui-icons/"],[src*="images/receipt-actions/"]),
a.button:is(:hover,:focus) img:is([src*="images/ui-icons/"],[src*="images/receipt-actions/"]){
 background-color: currentColor !important;
}

.btnIconMobile.iconActions{ --am-ui-icon: url("../images/ui-icons/actions.svg"); }
.btnIconMobile.iconContractAdd{ --am-ui-icon: url("../images/ui-icons/contracts.svg?v=2"); }
.btnIconMobile.iconAddSysItems{ --am-ui-icon: url("../images/ui-icons/item-add.svg"); }
.btnIconMobile.iconAddItems{ --am-ui-icon: url("../images/ui-icons/item-add.svg"); }
.btnIconMobile.iconContractCreate{ --am-ui-icon: url("../images/ui-icons/contract-create.svg"); }
.btnIconMobile.iconContractPrepared{ --am-ui-icon: url("../images/ui-icons/contract-prepared.svg"); }
.btnIconMobile.iconContractRunning{ --am-ui-icon: url("../images/ui-icons/contract-active.svg"); }
.btnIconMobile.iconContractArchive{ --am-ui-icon: url("../images/ui-icons/contract-archive.svg"); }
.btnIconMobile.iconSettingsGeneral{ --am-ui-icon: url("../images/ui-icons/settings-general.svg"); }
.btnIconMobile.iconSettingsPersonal{ --am-ui-icon: url("../images/ui-icons/company.svg"); }
.btnIconMobile.iconSettingsBilling{ --am-ui-icon: url("../images/ui-icons/invoices.svg"); }
.btnIconMobile.iconSettingsLogs{ --am-ui-icon: url("../images/ui-icons/logs.svg"); }
.btnIconMobile.iconSettingsReferral{ --am-ui-icon: url("../images/ui-icons/referral.svg"); }
.btnIconMobile.iconSettingsPersons{ --am-ui-icon: url("../images/ui-icons/contractors.svg"); }
.btnIconMobile.iconSettingsBusiness{ --am-ui-icon: url("../images/ui-icons/company-add.svg"); }
.btnIconMobile.iconSettingsUpgrade{ --am-ui-icon: url("../images/ui-icons/upgrade.svg"); --am-ui-icon-color: var(--am-ui-icon-success); }
.btnIconMobile.iconCustomerDocsStatusChecked,
.btnIconMobile.customerDocsStatus--validated{ --am-ui-icon: url("../images/ui-icons/verified.svg"); --am-ui-icon-color: var(--am-ui-icon-success); }
.btnIconMobile.iconMyItems{ --am-ui-icon: url("../images/ui-icons/inventory.svg"); }
.btnIconMobile.iconCustomersDocsResend,
.btnIconMobile.customerDocsButton--resend{ --am-ui-icon: url("../images/ui-icons/resend.svg"); }
.btnIconMobile.iconCustomerDocsStatusResend,
.btnIconMobile.iconCustomerDocsStatusWait,
.btnIconMobile.customerDocsStatus--sent,
.btnIconMobile.customerDocsStatus--waiting{ --am-ui-icon: url("../images/ui-icons/pending.svg"); --am-ui-icon-color: var(--am-ui-icon-warning); }
.btnIconMobile.iconInvoiceView{ --am-ui-icon: url("../images/receipt-actions/view.svg"); }
.btnIconMobile.iconInvoiceUpdate{ --am-ui-icon: url("../images/receipt-actions/edit.svg"); }
.btnIconMobile.iconInvoiceSend{ --am-ui-icon: url("../images/ui-icons/send.svg"); }
.btnIconMobile.iconInvoiceReimburse{ --am-ui-icon: url("../images/receipt-actions/refund.svg"); }
.btnIconMobile.iconInvoicePaid{ --am-ui-icon: url("../images/receipt-actions/pay.svg"); --am-ui-icon-color:var(--am-ui-icon-success); }
.btnIconMobile.iconInvoiceCancel,
.btnIconMobile.iconCustomersDelete{ --am-ui-icon: url("../images/receipt-actions/trash.svg"); --am-ui-icon-color:var(--am-ui-icon-danger); }
.btnIconMobile.iconInvoiceDownload{ --am-ui-icon: url("../images/receipt-actions/download.svg"); }
.btnIconMobile.iconCustomersDocsRenew,
.btnIconMobile.customerDocsButton--renew{ --am-ui-icon: url("../images/ui-icons/contract-prepared.svg"); }
.btnIconMobile.iconCustomersDocsOk,
.btnIconMobile.customerDocsButton--validate{ --am-ui-icon: url("../images/receipt-actions/document-check.svg"); --am-ui-icon-color:var(--am-ui-icon-success); }
.btnIconMobile.iconCustomerDocsStatusCheck,
.btnIconMobile.customerDocsStatus--review{ --am-ui-icon: url("../images/receipt-actions/view.svg"); --am-ui-icon-color:var(--am-ui-icon-warning); }
.btnIconMobile.iconAddDocs{ --am-ui-icon: url("../images/ui-icons/contract-create.svg"); }
.btnIconMobile.iconMyDocs{ --am-ui-icon: url("../images/ui-icons/document-library.svg"); }
.btnIconMobile.iconSettingsBank{ --am-ui-icon: url("../images/ui-icons/accounting.svg"); }
.btnIconMobile.iconSettingsPa{ --am-ui-icon: url("../images/receipt-actions/upload.svg"); }

/* These icons exist only in the mobile presentation. Do not add a duplicate
 * icon to desktop text buttons, or override headers hiding their ::before. */
@media(max-width:700px){
/* Legacy #settings styling otherwise paints this provider strip pale even
 * in dark mode, defeating both its light labels and the light-blue icons. */
html:not([data-theme="light"]) body.intervenantPage #settings .settingsNav{
 background-color: #33363d;
}
.btnIconMobile.iconActions::before,
.btnIconMobile.iconContractAdd::before,
.btnIconMobile.iconAddSysItems::before,
.btnIconMobile.iconAddItems::before,
.btnIconMobile.iconContractCreate::before,
.btnIconMobile.iconContractPrepared::before,
.btnIconMobile.iconContractRunning::before,
.btnIconMobile.iconContractArchive::before,
.btnIconMobile.iconSettingsGeneral::before,
.btnIconMobile.iconSettingsPersonal::before,
.btnIconMobile.iconSettingsBilling::before,
.btnIconMobile.iconSettingsLogs::before,
.btnIconMobile.iconSettingsReferral::before,
.btnIconMobile.iconSettingsPersons::before,
.btnIconMobile.iconSettingsBusiness::before,
.btnIconMobile.iconSettingsUpgrade::before,
.btnIconMobile.iconCustomerDocsStatusChecked::before,
.btnIconMobile.iconMyItems::before,
.btnIconMobile.iconCustomersDocsResend::before,
.btnIconMobile.iconCustomerDocsStatusResend::before,
.btnIconMobile.iconCustomerDocsStatusWait::before,
.btnIconMobile.iconInvoiceView::before,
.btnIconMobile.iconInvoiceUpdate::before,
.btnIconMobile.iconInvoiceSend::before,
.btnIconMobile.iconInvoiceReimburse::before,
.btnIconMobile.iconInvoicePaid::before,
.btnIconMobile.iconInvoiceCancel::before,
.btnIconMobile.iconInvoiceDownload::before,
.btnIconMobile.iconCustomersDelete::before,
.btnIconMobile.iconCustomersDocsRenew::before,
.btnIconMobile.iconCustomersDocsOk::before,
.btnIconMobile.iconCustomerDocsStatusCheck::before,
.btnIconMobile.iconAddDocs::before,
.btnIconMobile.iconMyDocs::before,
html body.immoPage #settings .btnIconMobile.iconSettingsBank::before,
html body.immoPage #settings .btnIconMobile.iconSettingsPa::before,
html body.immoPage #customers .customerDocsButton--renew.btnIconMobile::before,
html body.immoPage #customers .iconCustomersDocsRenew.btnIconMobile::before,
html body.immoPage #customers .customerDocsButton--validate.btnIconMobile::before,
html body.immoPage #customers .iconCustomersDocsOk.btnIconMobile::before,
html body.immoPage #customers .customerDocsStatus--review.btnIconMobile::before,
html body.immoPage #customers .customerDocsButton--resend.btnIconMobile::before,
html body.immoPage #customers .iconCustomersDocsResend.btnIconMobile::before,
html body.immoPage #customers .customerDocsStatus--sent.btnIconMobile::before,
html body.immoPage #customers .customerDocsStatus--waiting.btnIconMobile::before,
html body.immoPage #customers .customerDocsStatus--validated.btnIconMobile::before{
 background-image: none !important;
 background-color: var(--am-ui-icon-color) !important;
 -webkit-mask-image: var(--am-ui-icon) !important;
 mask-image: var(--am-ui-icon) !important;
 -webkit-mask-size: contain;
 mask-size: contain;
 -webkit-mask-position: center;
 mask-position: center;
 -webkit-mask-repeat: no-repeat;
 mask-repeat: no-repeat;
 filter: none !important;
}
}

/* Send controls keep their existing labels and responsive breakpoints. A
 * separate masked glyph survives button background changes in light mode. */
.tenantConversationReply .button::before,
body:is(.immoPage,.intervenantPage) #messages .messagesComposer .button::before,
.settingsReferralSendButton::before{
 background-image: none !important;
 background-color: var(--am-ui-icon-color) !important;
 -webkit-mask: url("../images/ui-icons/send.svg") center / contain no-repeat;
 mask: url("../images/ui-icons/send.svg") center / contain no-repeat;
 pointer-events: none;
}

@media(max-width:820px){
html body.tenantConversationBody .tenantConversationReply button.tenantConversationSendButton,
html body.tenantConversationBody .tenantConversationReply button.tenantConversationSendButton:is(:hover,:focus),
html body.immoPage #messages .messagesComposer .button{
 position: relative;
 background-image: none !important;
}
html body.tenantConversationBody .tenantConversationReply button.tenantConversationSendButton::before,
html body.immoPage #messages .messagesComposer .button::before{
 content: "";
 display: block;
 position: absolute;
 top: 50%;
 left: 50%;
 width: 25px;
 height: 25px;
 transform: translate(-50%,-50%);
}
}

@media(max-width:700px){
html body.intervenantPage #messages .messagesComposer .button{
 position: relative;
 background-image: none !important;
}
html body.intervenantPage #messages .messagesComposer .button::before{
 content: "";
 display: block;
 position: absolute;
 top: 50%;
 left: 50%;
 width: 25px;
 height: 25px;
 transform: translate(-50%,-50%);
}
}

/* Print remains legible without depending on color/background printing. */
@media print{
 img[src*="images/ui-icons/"],
 img[src*="images/receipt-actions/"]{
  content: normal !important;
  background-color: transparent !important;
  -webkit-mask-image: none;
  mask-image: none;
 }
}
