/* APP RENTAL 3.0.0-rc.1 — retours explicites, modales compactes et gabarits homogènes */
.rental-feedback-host{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:2147483400;width:min(680px,calc(100vw - 28px));pointer-events:none}.rental-feedback{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 14px 13px 18px;border:1px solid #dbe3ef;border-radius:15px;background:#fff;box-shadow:0 18px 48px rgba(15,35,70,.22);opacity:0;transform:translateY(18px) scale(.98);transition:.18s ease;pointer-events:auto}.rental-feedback.is-visible{opacity:1;transform:none}.rental-feedback.is-leaving{opacity:0;transform:translateY(12px)}.rental-feedback__body{display:grid;gap:2px;min-width:0}.rental-feedback__body strong{font-size:13px}.rental-feedback__body span{overflow-wrap:anywhere}.rental-feedback__actions{display:flex;gap:6px}.rental-feedback__actions button{min-height:34px;border:1px solid #d5deeb;border-radius:9px;background:#fff;padding:6px 10px;font-weight:750;cursor:pointer}.rental-feedback--success{border-left:5px solid #16a364}.rental-feedback--error{border-left:5px solid #d9364f}.rental-feedback--warning{border-left:5px solid #e59a18}
.rental-create-modal-backdrop{position:fixed;inset:0;z-index:2147482000;background:rgba(13,28,55,.52);display:grid;place-items:center;padding:22px;overflow:auto}.rental-create-modal{width:min(860px,100%);max-height:calc(100vh - 44px);overflow:auto;background:#fff;border-radius:20px;box-shadow:0 28px 80px rgba(9,25,52,.3)}.rental-create-modal__head{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e1e7f0;background:#fff}.rental-create-modal__head h2{margin:0;font-size:22px}.rental-modal-x{display:grid!important;place-items:center;width:38px!important;height:38px!important;min-width:38px!important;border:1px solid #cbd5e3!important;border-radius:10px!important;background:#fff!important;color:#172033!important;font-size:25px!important;line-height:1!important;cursor:pointer!important}.rental-create-modal__content{padding:0}.rental-create-modal__content>.card,.rental-create-modal__content>.users-card,.rental-create-modal__content>.lc-card{margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:20px!important}.rental-create-modal__content h1,.rental-create-modal__content h2{display:none}.rental-create-modal__content form>button[type=submit],.rental-create-modal__content .actions .btn.primary{width:auto!important;min-width:128px!important;min-height:42px!important;padding:9px 18px!important;float:right}.rental-add-trigger{margin:0 0 18px auto;display:flex}
.app-main,.admin-main,.users-main,.platform-main,.maintenance-main,.journal-main,.audit-main{min-width:0;flex:1;width:auto!important}.app-content,.admin-content,.users-wrap,.platform-wrap,.maintenance-wrap,.journal-wrap,.audit-wrap{width:calc(100% - 32px)!important;max-width:1540px!important;margin-inline:auto!important;box-sizing:border-box}.users-card,.card,.panel{box-sizing:border-box}.grid,.platform-form .grid{grid-template-columns:repeat(3,minmax(220px,1fr))!important;align-items:start!important}.password-toggle-wrap{display:flex!important;align-items:stretch!important;position:relative}.password-toggle-wrap input{padding-right:48px!important;flex:1}.password-toggle-wrap .password-toggle{position:absolute!important;right:5px!important;top:50%!important;transform:translateY(-50%)!important;width:38px!important;height:38px!important;min-width:38px!important;padding:0!important;border:0!important;background:transparent!important}
/* les anciens bandeaux de résultat ne restent pas en double avec le toast explicite */
.notice.ok[data-transient],.form-message:empty,.admin-config-message:empty{display:none!important}
@media(max-width:1050px){.grid,.platform-form .grid{grid-template-columns:repeat(2,minmax(220px,1fr))!important}}@media(max-width:700px){.grid,.platform-form .grid{grid-template-columns:1fr!important}.app-content,.admin-content,.users-wrap,.platform-wrap,.maintenance-wrap,.journal-wrap,.audit-wrap{width:calc(100% - 20px)!important}.rental-feedback-host{bottom:10px}.rental-create-modal-backdrop{padding:8px}.rental-create-modal{max-height:calc(100vh - 16px);border-radius:15px}.rental-create-modal__head{padding:14px 15px}}


/* APP RENTAL 3.0.0-rc.1 — SaaS UI consolidation */
:root{--app-content-max:1500px;--app-sidebar-width:250px;--app-sidebar-collapsed-width:66px;--app-page-gap:18px}
html,body{overflow-x:hidden}
.app-shell,.admin-shell,.owner-shell,.lc-app,.maintenance-shell{width:100%;min-width:0}
.app-shell>main,.admin-shell>main,.owner-shell>main,.lc-app>main,.maintenance-shell>main,.main,.admin-main-content{min-width:0;width:100%;max-width:none}
.topbar,.content,.admin-content,.platform-page,.tenant-page,.maintenance-main,.profitability-main,.gestion-main{width:100%;max-width:var(--app-content-max);margin-left:auto;margin-right:auto;box-sizing:border-box}
.top-card,.panel,.card,.platform-card,.tenant-card,.maintenance-card{box-sizing:border-box}
@media (min-width:901px){
  .app-shell,.admin-shell,.owner-shell,.lc-app,.maintenance-shell{display:grid!important;grid-template-columns:var(--app-sidebar-width) minmax(0,1fr)!important;transition:grid-template-columns .18s ease}
  html.app-sidebar-collapsed .app-shell,html.app-sidebar-collapsed .admin-shell,html.app-sidebar-collapsed .owner-shell,html.app-sidebar-collapsed .lc-app,html.app-sidebar-collapsed .maintenance-shell{grid-template-columns:var(--app-sidebar-collapsed-width) minmax(0,1fr)!important}
  app-sidebar{grid-column:1;grid-row:1;position:relative;z-index:200}
  .app-shell>main,.admin-shell>main,.owner-shell>main,.lc-app>main,.maintenance-shell>main{grid-column:2;grid-row:1;position:relative;z-index:1;margin:0!important;left:auto!important;right:auto!important}
}
/* Headers and sticky tables follow the available content width */
.topbar,.top-card,.page-header,.admin-topbar,.gestion-topbar,.profitability-topbar{left:auto!important;right:auto!important;max-width:none!important}
.table-wrap,.admin-table-wrap,.data-table-wrap{max-width:100%;overflow:auto}
table{max-width:100%}
thead{z-index:4}
/* Modern Hostinger-like cards */
.top-card,.panel,.card,.platform-card,.tenant-card,.maintenance-card{border:1px solid #dbe3f1;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(25,48,83,.055)}
.btn,.button,button{min-height:42px;border-radius:10px}
.btn.primary,.button.primary{padding-left:18px;padding-right:18px;width:auto;max-width:100%}
input,select,textarea{min-height:46px;border-radius:10px}
/* Compact creation dialogs */
.rental-create-modal{width:min(900px,calc(100vw - 32px))!important;max-height:min(82vh,760px)!important;border-radius:18px!important}
.rental-create-modal__head{min-height:68px!important;padding:16px 20px!important}
.rental-create-modal__head h2{font-size:24px!important;line-height:1.2!important}
.rental-modal-x{display:grid!important;place-items:center!important;width:42px!important;height:42px!important;min-width:42px!important;padding:0!important;color:#17233b!important;background:#fff!important;border:1px solid #cfd8e8!important;border-radius:12px!important;font-size:24px!important;font-weight:800!important;line-height:1!important;opacity:1!important}
.rental-modal-x:hover{background:#f2f5fb!important}
.rental-create-modal__content{padding:18px 20px 20px!important}
.rental-create-modal__content form,.rental-create-modal__content section{margin:0!important;padding:0!important;border:0!important;box-shadow:none!important}
.rental-create-modal__content .form-grid,.rental-create-modal__content .tenant-admin-grid,.rental-create-modal__content .user-form-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important}
.rental-create-modal__content .actions,.rental-create-modal__content .form-actions{justify-content:flex-end!important}
.rental-create-modal__content button[type=submit]{width:auto!important;min-width:130px!important}
.password-field,.password-input-wrap{position:relative;display:flex;align-items:center}
.password-field input,.password-input-wrap input{padding-right:48px!important;width:100%}
.password-field .password-toggle,.password-input-wrap .password-toggle,[data-password-toggle]{position:absolute!important;right:6px!important;top:50%!important;transform:translateY(-50%)!important;width:38px!important;height:38px!important;min-height:38px!important;padding:0!important}
/* Tenant users form aligned and roomy */
.users-card,.tenant-users-card{width:100%;max-width:none!important}
.users-card form:not(.user-editor-form),.tenant-users-card form:not(.user-editor-form){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px;align-items:start}
.users-card form:not(.user-editor-form) .actions,.tenant-users-card form:not(.user-editor-form) .actions{grid-column:1/-1;justify-content:flex-start}
/* Notifications: only errors/warnings are persistent; no copy on info/success */
.rental-feedback--info [data-copy]{display:none!important}
/* Clean empty states: no toast needed */
.empty,.empty-state{border-radius:14px}
@media(max-width:1050px){.rental-create-modal__content .form-grid,.rental-create-modal__content .tenant-admin-grid,.rental-create-modal__content .user-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:700px){.rental-create-modal{width:calc(100vw - 16px)!important;max-height:92vh!important}.rental-create-modal__content .form-grid,.rental-create-modal__content .tenant-admin-grid,.rental-create-modal__content .user-form-grid,.users-card form:not(.user-editor-form),.tenant-users-card form:not(.user-editor-form){grid-template-columns:1fr!important}.topbar,.content,.admin-content{padding-left:10px!important;padding-right:10px!important}}

/* APP RENTAL 3.0.0-rc.1 — aucune alerte métier en bandeau supérieur sur la plateforme. */
.platform-console-main [data-rental-flash],.maintenance-main [data-rental-flash],.audit-main [data-rental-flash],.platform-settings-main [data-rental-flash]{display:none!important}


/* APP RENTAL 3.0.0-rc.1 — styles des dialogues de confirmation pour les pages plateforme. */
.rental-app-dialog-backdrop{position:fixed;inset:0;z-index:1000003;display:grid;place-items:center;padding:16px;background:rgba(15,23,42,.52);backdrop-filter:blur(3px)}
.rental-app-dialog{width:min(420px,calc(100vw - 32px));min-height:0;height:auto;max-height:calc(100dvh - 32px);overflow:auto;box-sizing:border-box;padding:18px;border:1px solid #dce2ea;border-radius:16px;background:#fff;color:#111827;box-shadow:0 20px 56px rgba(15,23,42,.26)}
.rental-app-dialog h2{margin:0;font-size:18px;line-height:1.25}
.rental-app-dialog-message{margin:8px 0 0;white-space:pre-line;overflow-wrap:anywhere;color:#667085;font-size:14px;line-height:1.45}
.rental-app-dialog-message:empty{display:none}
.rental-app-dialog-input{display:block;width:100%;min-height:40px;box-sizing:border-box;margin-top:14px;padding:8px 10px;border:1px solid #c7d0dc;border-radius:10px;background:#fff;color:inherit;font:inherit}
.rental-app-dialog textarea.rental-app-dialog-input{min-height:100px;resize:vertical}
.rental-app-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
.rental-app-dialog-actions .btn{min-height:38px;padding:7px 14px;border-radius:10px}
body.rental-app-dialog-open{overflow:hidden}
@media(max-width:560px){.rental-app-dialog-backdrop{padding:10px}.rental-app-dialog{width:min(400px,calc(100vw - 20px));padding:16px}.rental-app-dialog-actions{display:flex;flex-wrap:wrap}.rental-app-dialog-actions .btn{width:auto;flex:1 1 120px}}


/* APP RENTAL 3.0.0-rc.1 — correctifs UX modale tenant admin */
.rental-create-modal{display:flex!important;flex-direction:column!important;width:min(980px,calc(100vw - 28px))!important;max-height:min(90vh,860px)!important;overflow:hidden!important}
.rental-create-modal__content{flex:1 1 auto!important;overflow:auto!important;padding:20px 22px 26px!important}
.rental-create-modal__content>.card,.rental-create-modal__content>.users-card,.rental-create-modal__content>.lc-card{padding:0!important}
.rental-create-modal__content form>button[type=submit],.rental-create-modal__content .actions .btn.primary,.rental-create-modal__content .platform-form>.platform-btn{position:sticky!important;bottom:0!important;z-index:2!important;float:none!important;margin-top:18px!important;margin-left:auto!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;background:#385bf8!important;color:#fff!important;border:1px solid #385bf8!important;box-shadow:0 10px 24px rgba(56,91,248,.22)!important}
.rental-create-modal__content label{min-width:0}
.rental-create-modal__content input,.rental-create-modal__content select,.rental-create-modal__content textarea{width:100%;max-width:100%;box-sizing:border-box}
.rental-create-modal__content .grid,.rental-create-modal__content .platform-form .grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.password-toggle-wrap{min-height:46px!important}
.password-toggle-wrap .password-toggle{display:grid!important;place-items:center!important;border:1px solid #cfd8e8!important;background:#eef3ff!important;color:#385bf8!important;border-radius:10px!important;box-shadow:none!important}
.password-toggle-wrap .password-toggle:hover{background:#e3ebff!important;border-color:#aebcf8!important}
#tenant-admin-password-help.bad{color:#b42318!important;font-weight:700}
@media(max-width:1050px){.rental-create-modal{width:min(920px,calc(100vw - 24px))!important}.rental-create-modal__content .grid,.rental-create-modal__content .platform-form .grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:700px){.rental-create-modal{width:calc(100vw - 12px)!important;max-height:94vh!important}.rental-create-modal__content{padding:16px 14px 22px!important}.rental-create-modal__content .grid,.rental-create-modal__content .platform-form .grid{grid-template-columns:1fr!important}}

/* APP RENTAL 3.0.0-rc.1 — les messages transitoires déplacés vers le toast bas ne restent jamais visibles dans la page. */
[data-rental-feedback-moved="1"]{display:none!important}
.rental-feedback--info{border-left:5px solid #385bf8}
