:root{--blue:#004AAD;--blue-700:#003A86;--dark:#0B1F3A;--orange:#F17024;--orange-700:#C95008;--light:#F5F7FA;--text:#1A2530;--muted:#5D6B7C;--green:#16A34A;--red:#DC2626;--white:#fff;--border:#D8E2F0;--radius:18px;--shadow:0 20px 45px rgba(11,31,58,.10)}
html{background:var(--light)}body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--light)}
a{color:var(--blue)}a:hover{color:var(--blue-700)}.navbar{box-shadow:0 8px 25px rgba(11,31,58,.06);background:#fff}.brand-logo{height:44px;width:44px;border-radius:12px;object-fit:cover}.brand-text{font-weight:900;color:var(--dark);letter-spacing:.02em}.brand-text span{color:var(--blue)}
.button{font-weight:800}.button.is-primary{background:var(--blue)!important;border-color:var(--blue)!important;color:#fff!important}.button.is-primary:hover{background:var(--blue-700)!important;border-color:var(--blue-700)!important;color:#fff!important}.button.is-warning{background:var(--orange)!important;border-color:var(--orange)!important;color:#fff!important;font-weight:900}.button.is-warning:hover{background:var(--orange-700)!important;border-color:var(--orange-700)!important;color:#fff!important}.button.is-light-blue{background:#EAF3FF!important;color:var(--blue)!important;border:1px solid #BCD7FF!important;font-weight:800}.button.is-light-blue:hover{background:#DDEBFF!important;color:var(--blue-700)!important}.button.is-rounded{border-radius:999px}
.hero-main{background:radial-gradient(circle at top left,rgba(0,74,173,.22),transparent 34%),linear-gradient(135deg,#ffffff,#eef5ff);padding:4rem 0 3rem}.hero-title{font-size:clamp(2rem,5vw,4rem);line-height:1.03;font-weight:950;color:var(--dark)}.hero-title strong{color:var(--blue)}.hero-subtitle{font-size:1.15rem;color:var(--muted);max-width:720px}.search-card{background:#fff;border-radius:24px;box-shadow:var(--shadow);padding:1.2rem;margin-top:2rem;border:1px solid #e5eaf2}.search-grid{display:grid;grid-template-columns:minmax(220px,2fr) minmax(140px,1.1fr) minmax(145px,1fr) minmax(165px,1.15fr) minmax(135px,1fr) auto;gap:.75rem}.input,.select select,.textarea{background:#fff!important;color:var(--text)!important;border-radius:12px;border:1px solid var(--border);box-shadow:none}.input::placeholder,.textarea::placeholder{color:#7A8798!important}.select:not(.is-multiple):not(.is-loading)::after{border-color:var(--blue)!important}.label{color:var(--dark);font-size:.85rem;font-weight:800}.help{color:var(--muted)}.section-title{font-size:2rem;font-weight:900;color:var(--dark)}.section-subtitle{color:var(--muted)}
.category-card,.property-card,.feature-card,.dashboard-card,.auth-card,.adminish-card{background:#fff;border-radius:var(--radius);box-shadow:0 10px 30px rgba(11,31,58,.07);border:1px solid #edf1f7;overflow:hidden}.category-card{padding:1.4rem;height:100%;transition:.2s}.category-card:hover,.property-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.category-icon{width:56px;height:56px;border-radius:18px;display:flex;align-items:center;justify-content:center;background:#eef5ff;color:var(--blue);font-size:1.6rem;margin-bottom:1rem}
.property-cover{height:220px;background:#dbeafe;position:relative;overflow:hidden}.property-cover img{width:100%;height:100%;object-fit:cover;display:block}.property-body{padding:1rem}.property-title{font-weight:900;color:var(--dark);font-size:1.08rem}.property-price{font-weight:950;color:var(--blue);font-size:1.25rem}.badge{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.25rem .7rem;font-weight:900;font-size:.75rem}.badge.verified{background:#DCFCE7;color:#14532D}.badge.pending{background:#FFF7ED;color:#7C2D12}.badge.status{background:#EAF3FF;color:var(--blue)}.property-meta{display:flex;gap:.8rem;flex-wrap:wrap;color:var(--muted);font-size:.9rem}.property-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}
.steps{counter-reset:step}.step{background:#fff;border-radius:18px;padding:1.4rem;border:1px solid #edf1f7;position:relative;min-height:150px}.step:before{counter-increment:step;content:counter(step);position:absolute;right:1rem;top:1rem;width:38px;height:38px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900}.cta{background:linear-gradient(135deg,var(--blue),#0B1F3A);color:#fff;border-radius:28px;padding:2rem;box-shadow:var(--shadow)}.cta .title,.cta .subtitle{color:#fff}.footer{background:#fff;border-top:1px solid #edf1f7}.social-links a{display:inline-flex;width:38px;height:38px;border-radius:50%;align-items:center;justify-content:center;background:#EAF3FF;color:var(--blue);margin-right:.35rem}.social-links a:hover{background:var(--blue);color:#fff}.detail-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;gap:.75rem}.detail-gallery img,.detail-gallery video{width:100%;height:180px;object-fit:cover;border-radius:18px;background:#0B1F3A}.detail-gallery img:first-child{grid-row:span 2;height:372px}.video-box{background:#fff;border-radius:20px;border:1px solid #edf1f7;padding:1rem;box-shadow:0 10px 25px rgba(11,31,58,.06)}.video-box video{width:100%;border-radius:16px;background:#000}.sticky-box{position:sticky;top:90px}.stat-card{background:#fff;border-radius:20px;padding:1.25rem;border:1px solid #edf1f7;box-shadow:0 10px 25px rgba(11,31,58,.06)}.stat-number{font-size:2rem;font-weight:950;color:var(--blue)}.dashboard-menu{background:#fff;border-radius:20px;padding:.75rem;border:1px solid #edf1f7}.dashboard-menu a{display:block;padding:.8rem 1rem;border-radius:14px;color:var(--dark);font-weight:800}.dashboard-menu a:hover,.dashboard-menu a.is-active{background:#eef5ff;color:var(--blue)}.table-container{background:#fff;border-radius:20px;padding:1rem;border:1px solid #edf1f7}.notice{border-radius:16px;padding:1rem;margin-bottom:1rem;font-weight:700}.notice.success{background:#DCFCE7;color:#14532D}.notice.error{background:#FEE2E2;color:#7F1D1D}.mobile-bottom{display:none}
@media(max-width:900px){.search-grid{grid-template-columns:1fr}.hero-main{padding:2rem 0}.detail-gallery{grid-template-columns:1fr}.detail-gallery img,.detail-gallery img:first-child,.detail-gallery video{height:230px;grid-row:auto}.sticky-box{position:static}.mobile-bottom{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e5eaf2;z-index:30;justify-content:space-around;padding:.35rem}.mobile-bottom a{font-size:.78rem;color:var(--dark);font-weight:800;text-align:center}.footer{padding-bottom:4rem}}
/* V4 — parcours complet */
.gap-2{gap:.5rem}.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.quick-grid a{display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;min-height:95px;border:1px solid #dbeafe;border-radius:18px;background:#f8fbff;color:#0b1f3a;font-weight:800;text-align:center}.quick-grid i{font-size:1.5rem;color:#004AAD}.mini-item{padding:12px 0;border-bottom:1px solid #edf2f7}.mini-item:last-child{border-bottom:0}.notification-row{display:flex;justify-content:space-between;gap:16px;padding:16px;border:1px solid #e5edf7;border-radius:16px;margin-bottom:12px;color:#0b1f3a;background:#fff}.notification-row.unread{background:#eff6ff;border-color:#bfdbfe}.notification-row p{margin:.25rem 0;color:#64748b}.trust-strip{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:12px}.trust-strip>div{background:#fff;border:1px solid #dbeafe;border-radius:18px;padding:14px;box-shadow:0 10px 30px rgba(15,23,42,.06)}.trust-strip i{color:#004AAD;margin-right:8px}.trust-strip .progress{height:8px;margin:8px 0}.inline-form{display:inline-block;margin:2px}.status-pending,.status-draft{background:#fff7ed;color:#9a3412}.status-paid,.status-published,.status-approved,.status-success,.status-confirmed,.status-done,.status-interested{background:#dcfce7;color:#166534}.status-failed,.status-rejected,.status-refused,.status-danger,.status-cancelled,.status-suspended,.status-reported{background:#fee2e2;color:#991b1b}.status-rented,.status-reserved{background:#dbeafe;color:#1e40af}.status-open,.status-reviewing{background:#fef9c3;color:#854d0e}.status-resolved{background:#dcfce7;color:#166534}.status-cancelled{background:#fee2e2;color:#991b1b}@media(max-width:900px){.quick-grid,.trust-strip{grid-template-columns:1fr 1fr}}@media(max-width:560px){.quick-grid,.trust-strip{grid-template-columns:1fr}.notification-row{flex-direction:column}}

/* V5 - intelligence, matching, contrats */
.info-box,.signature-card,.signature-box,.gateway-card{border:1px solid #dbe7f5;border-radius:18px;background:#f8fbff;padding:1rem}
.contract-document{background:#fff;border:1px solid #dbe7f5;box-shadow:0 20px 50px rgba(11,31,58,.08)}
.contract-document h2{color:#0B1F3A}
.signature-box{background:#eef6ff;border-color:#bcd7ff}
.signature-card{background:#fff}
.status-active,.status-completed,.status-owner_signed,.status-tenant_signed,.status-published{background:#dcfce7!important;color:#166534!important}
.status-paused,.status-draft,.status-pending{background:#fef9c3!important;color:#854d0e!important}
.status-deleted,.status-cancelled,.status-rejected{background:#fee2e2!important;color:#991b1b!important}
.gap-2{gap:.5rem}
@media print{.navbar,.footer,.dashboard-menu,.mobile-bottom,.signature-box{display:none!important}.column.is-3{display:none!important}.column{width:100%!important}.contract-document{box-shadow:none;border:0}.section{padding:0}}

/* V6 PWA automatic update notice */
.pwa-update-notice {
  position: fixed;
  left: 50%;
  bottom: 78px;
  transform: translateX(-50%);
  z-index: 9999;
  max-width: calc(100% - 32px);
  padding: 12px 18px;
  border-radius: 999px;
  background: #0B1F3A;
  color: #FFFFFF;
  font-weight: 700;
  box-shadow: 0 12px 30px rgba(11, 31, 58, .25);
}


/* V6.1 - lisibilité formulaires/authentification */
.auth-card .title,
.auth-card h1,
.auth-card h2,
.auth-card h3 { color:#0B1F3A!important; }
.auth-card p,
.auth-card .help,
.auth-card .has-text-grey { color:#5D6B7C!important; }
.auth-card .radio,
.auth-card .checkbox { color:#0B1F3A!important; }
.auth-card .input,
.auth-card .textarea,
.auth-card .select select { background:#FFFFFF!important;color:#1A2530!important;border-color:#D8E2F0!important; }
.auth-card .button.is-primary { color:#FFFFFF!important; }

/* Lot 3 - états métier supplémentaires */
.status-disputed{background:#ffedd5!important;color:#9a3412!important}
.status-refunded{background:#ede9fe!important;color:#5b21b6!important}
.status-reversed{background:#e5e7eb!important;color:#374151!important}
.status-not_interested{background:#fee2e2!important;color:#991b1b!important}
.status-sent{background:#dbeafe!important;color:#1e40af!important}

/* Lot 5 - messagerie et notifications */
.menu-count,.nav-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#004AAD;color:#fff;font-size:.72rem;font-weight:900;margin-left:auto}.nav-count{margin-left:2px;background:#dc2626}.menu-count.is-danger{background:#dc2626}.message-thread-row{display:flex;justify-content:space-between;gap:14px;padding:15px;border:1px solid #e5edf7;border-radius:15px;margin-bottom:10px;background:#fff;color:#0b1f3a}.message-thread-row:hover{border-color:#93c5fd;background:#f8fbff}.message-thread-row.unread{background:#eff6ff;border-color:#93c5fd}.message-thread-row p{margin:.25rem 0;color:#64748b}.conversation-box{display:flex;flex-direction:column;gap:12px}.conversation-message{max-width:82%;padding:14px 16px;border-radius:18px;background:#f1f5f9}.conversation-message.mine{align-self:flex-end;background:#dbeafe}.conversation-message.theirs{align-self:flex-start}.message-meta{display:flex;justify-content:space-between;gap:14px;margin-bottom:6px}.message-meta small{color:#64748b}@media(max-width:700px){.conversation-message{max-width:96%}.message-thread-row{flex-direction:column}}

/* Lot 6 - ergonomie, accessibilite, performance et PWA */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:fixed;left:12px;top:12px;z-index:10000;padding:.75rem 1rem;border-radius:12px;background:var(--dark);color:#fff;transform:translateY(-180%);transition:transform .15s}.skip-link:focus{transform:translateY(0);color:#fff}.network-status{position:sticky;top:0;z-index:10001;padding:.65rem 1rem;background:#7f1d1d;color:#fff;text-align:center;font-weight:800}.network-status[hidden]{display:none!important}:focus-visible{outline:3px solid rgba(241,112,36,.55);outline-offset:3px}.navbar-burger{background:transparent;border:0}.filter-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.results-count{font-weight:900;color:var(--blue)}.property-grid>.column{content-visibility:auto;contain-intrinsic-size:360px}.empty-state{padding:3rem 1.5rem;border:1px dashed #b8c8dc;border-radius:22px;background:#fff;text-align:center;color:var(--muted)}.empty-state-icon{display:inline-flex;align-items:center;justify-content:center;width:66px;height:66px;border-radius:22px;background:#eef5ff;color:var(--blue);font-size:1.8rem;margin-bottom:1rem}.app-pagination .pagination-link,.app-pagination .pagination-next,.app-pagination .pagination-previous{background:#fff;border-color:var(--border);color:var(--dark);font-weight:800}.app-pagination .pagination-link.is-current{background:var(--blue);border-color:var(--blue);color:#fff}.app-pagination [aria-disabled="true"]{opacity:.45;pointer-events:none}.pagination-summary{color:var(--muted);font-size:.86rem}.character-counter{text-align:right}.button.is-loading{pointer-events:none}.pwa-update-notice{display:flex;align-items:center;justify-content:center;gap:.35rem}.responsive-table{width:100%}
@media(max-width:760px){.filter-footer{align-items:flex-start;flex-direction:column}.app-pagination{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.app-pagination .pagination-list{grid-column:1/-1;justify-content:center;flex-wrap:wrap}.responsive-table thead{display:none}.responsive-table,.responsive-table tbody,.responsive-table tr,.responsive-table td{display:block;width:100%}.responsive-table tr{margin-bottom:1rem;padding:.65rem;border:1px solid var(--border);border-radius:16px;background:#fff}.responsive-table td{display:grid;grid-template-columns:minmax(105px,38%) 1fr;gap:.75rem;padding:.6rem!important;border:0!important;text-align:left!important}.responsive-table td:before{content:attr(data-label);font-weight:900;color:var(--dark)}.responsive-table td[colspan]{display:block;text-align:center!important}.responsive-table td[colspan]:before{display:none}.pwa-update-notice{bottom:84px;border-radius:18px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.category-card:hover,.property-card:hover{transform:none}}
.notice.warning{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}

/* Correctif Lot 6.1 - contraste stable en mode clair
   Bulma 1.x adapte automatiquement certaines couleurs au theme sombre du
   navigateur. L'application restant visuellement claire, on verrouille ici
   les textes des surfaces claires sans modifier les composants colores. */
html[data-theme="light"] {
  color-scheme: light;
  --bulma-body-background-color: #F5F7FA;
  --bulma-body-color: #1A2530;
  --bulma-text: #1A2530;
  --bulma-text-strong: #0B1F3A;
  --bulma-title-color: #0B1F3A;
  --bulma-subtitle-color: #5D6B7C;
  --bulma-scheme-main: #FFFFFF;
  --bulma-scheme-main-bis: #F8FAFC;
  --bulma-scheme-main-ter: #EEF2F7;
}
html[data-theme="light"] body,
html[data-theme="light"] main,
html[data-theme="light"] .section,
html[data-theme="light"] .card-panel,
html[data-theme="light"] .stat-card,
html[data-theme="light"] .table-container,
html[data-theme="light"] .dashboard-card,
html[data-theme="light"] .property-card,
html[data-theme="light"] .category-card,
html[data-theme="light"] .feature-card,
html[data-theme="light"] .auth-card,
html[data-theme="light"] .adminish-card {
  color: #1A2530;
}
html[data-theme="light"] .title,
html[data-theme="light"] .section-title,
html[data-theme="light"] h1,
html[data-theme="light"] h2,
html[data-theme="light"] h3,
html[data-theme="light"] h4,
html[data-theme="light"] h5,
html[data-theme="light"] h6,
html[data-theme="light"] strong,
html[data-theme="light"] b {
  color: #0B1F3A;
}
html[data-theme="light"] .subtitle,
html[data-theme="light"] .section-subtitle,
html[data-theme="light"] .has-text-grey,
html[data-theme="light"] .has-text-grey-light,
html[data-theme="light"] .help,
html[data-theme="light"] small {
  color: #5D6B7C !important;
}
html[data-theme="light"] .card-panel {
  background: #FFFFFF;
}
html[data-theme="light"] .table,
html[data-theme="light"] .table td,
html[data-theme="light"] .table th {
  color: #1A2530;
  background-color: #FFFFFF;
}
html[data-theme="light"] .button,
html[data-theme="light"] .button strong,
html[data-theme="light"] .tag,
html[data-theme="light"] .tag strong,
html[data-theme="light"] .badge,
html[data-theme="light"] .badge strong,
html[data-theme="light"] .notice,
html[data-theme="light"] .notice strong,
html[data-theme="light"] .notification,
html[data-theme="light"] .notification strong {
  color: inherit;
}
html[data-theme="light"] .button.is-primary,
html[data-theme="light"] .button.is-warning,
html[data-theme="light"] .has-text-white,
html[data-theme="light"] .has-text-white strong,
html[data-theme="light"] .cta,
html[data-theme="light"] .cta .title,
html[data-theme="light"] .cta .subtitle,
html[data-theme="light"] .cta strong {
  color: #FFFFFF !important;
}
html[data-theme="light"] .quick-grid a,
html[data-theme="light"] .quick-grid a span,
html[data-theme="light"] .mini-item,
html[data-theme="light"] .mini-item strong {
  color: #0B1F3A;
}
html[data-theme="light"] .mini-item p,
html[data-theme="light"] .mini-item small {
  color: #5D6B7C !important;
}


/* V9.1 - interface Client mobile de type application native */
:root{
  --app-safe-top:env(safe-area-inset-top,0px);
  --app-safe-bottom:env(safe-area-inset-bottom,0px);
  --app-tabbar-height:72px;
  --app-surface:#ffffff;
  --app-surface-soft:#f7faff;
  --app-blue-soft:#eaf3ff;
  --app-shadow-soft:0 12px 32px rgba(11,31,58,.08);
}
.card-panel{background:#fff;border:1px solid #e6edf6;border-radius:22px;padding:1.25rem;box-shadow:var(--app-shadow-soft)}
.mobile-app-header,.mobile-app-drawer,.mobile-app-overlay{display:none}
.dashboard-sidebar-column{align-self:flex-start}
.app-dashboard-sidebar{position:sticky;top:92px;max-height:calc(100vh - 116px);overflow:auto;padding:.7rem;background:#fff;box-shadow:var(--app-shadow-soft);scrollbar-width:thin}
.dashboard-menu-profile{display:flex;align-items:center;gap:.8rem;padding:.65rem .65rem 1rem;margin-bottom:.35rem;border-bottom:1px solid #edf2f7}
.dashboard-avatar{display:inline-flex;flex:0 0 44px;width:44px;height:44px;align-items:center;justify-content:center;border-radius:15px;background:linear-gradient(145deg,var(--blue),#3276d4);color:#fff;font-weight:950;box-shadow:0 8px 20px rgba(0,74,173,.22)}
.dashboard-profile-copy,.mobile-drawer-user>span:last-child{display:flex;min-width:0;flex-direction:column}.dashboard-profile-copy strong,.mobile-drawer-user strong{overflow:hidden;color:var(--dark);font-size:.92rem;text-overflow:ellipsis;white-space:nowrap}.dashboard-profile-copy small,.mobile-drawer-user small{color:var(--muted);font-size:.75rem}
.dashboard-menu-group{padding:.35rem 0}.dashboard-menu-label{margin:.35rem .8rem .35rem;color:#8a98aa;font-size:.68rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.dashboard-menu a{display:flex;align-items:center;gap:.7rem;min-height:44px;padding:.68rem .8rem}.dashboard-menu a i{display:inline-flex;width:22px;justify-content:center;color:#49657f}.dashboard-menu a span:not(.menu-count){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-menu a:hover i,.dashboard-menu a.is-active i{color:var(--blue)}.dashboard-logout{padding:.6rem .35rem .15rem;border-top:1px solid #edf2f7}.dashboard-logout .button{display:flex;gap:.7rem;justify-content:flex-start!important;border-radius:14px;color:#9f1239}.dashboard-logout .button i{width:22px}
.dashboard-welcome-card{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.65rem 1.8rem;border:1px solid #d9e8fb;border-radius:26px;background:radial-gradient(circle at 92% 15%,rgba(241,112,36,.16),transparent 24%),linear-gradient(135deg,#fff,#eef6ff);box-shadow:var(--app-shadow-soft)}.dashboard-welcome-card h1{margin:.2rem 0 .35rem;color:var(--dark);font-size:clamp(1.7rem,3vw,2.4rem);font-weight:950;line-height:1.08}.dashboard-welcome-card p{max-width:620px;color:var(--muted)}.dashboard-eyebrow{display:block;color:var(--blue);font-size:.72rem;font-weight:950;letter-spacing:.1em;text-transform:uppercase}.dashboard-welcome-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}.dashboard-role-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .8rem;border:1px solid #c9dcf4;border-radius:999px;background:#fff;color:var(--dark);font-size:.82rem;font-weight:850}
.dashboard-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem}.dashboard-stat-grid:has(.app-stat-card:nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr))}.app-stat-card{display:flex;align-items:center;gap:1rem;min-height:116px}.app-stat-icon{display:inline-flex;flex:0 0 48px;width:48px;height:48px;align-items:center;justify-content:center;border-radius:16px;background:var(--app-blue-soft);color:var(--blue);font-size:1.2rem}.app-stat-card .stat-number{line-height:1}.app-stat-card>div>span{display:block;margin-top:.35rem;color:var(--muted);font-size:.86rem;font-weight:750}
.app-section-card{height:100%;padding:1.35rem}.app-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.app-section-heading h2{margin:.15rem 0 0;color:var(--dark);font-size:1.25rem;font-weight:950}.app-heading-link{display:inline-flex;align-items:center;gap:.4rem;flex:0 0 auto;font-size:.82rem;font-weight:850}.app-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.app-quick-grid a{position:relative;min-height:112px;padding:1rem;border-color:#d9e8fb;background:linear-gradient(145deg,#fff,#f6faff);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.app-quick-grid a:hover{transform:translateY(-2px);border-color:#9fc4f4;box-shadow:0 12px 24px rgba(0,74,173,.09)}.quick-icon{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border-radius:14px;background:#eaf3ff}.app-quick-grid a em{position:absolute;top:9px;right:9px;display:inline-flex;min-width:22px;height:22px;align-items:center;justify-content:center;border-radius:999px;background:#dc2626;color:#fff;font-size:.7rem;font-style:normal}.dashboard-notification-list{display:flex;flex-direction:column}.app-notification-item{display:grid;grid-template-columns:38px 1fr;gap:.75rem;align-items:flex-start;color:var(--dark)}.app-notification-item>span:last-child{display:flex;min-width:0;flex-direction:column}.app-notification-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-notification-item small{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.app-notification-item time{margin-top:.2rem;color:#8290a3;font-size:.7rem}.app-notification-icon{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:13px;background:#eef5ff;color:var(--blue)}.app-empty-compact{display:flex;min-height:170px;align-items:center;justify-content:center;flex-direction:column;gap:.6rem;color:var(--muted);text-align:center}.app-empty-compact i{font-size:1.7rem;color:#9aabc0}.dashboard-list-heading{align-items:center}.dashboard-primary-grid>.column{display:flex}

@media(max-width:1100px){.dashboard-stat-grid,.dashboard-stat-grid:has(.app-stat-card:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}}

@media(max-width:900px){
  html{overscroll-behavior-y:none;background:#f3f6fb}
  body.client-authenticated{min-height:100dvh;padding-bottom:calc(var(--app-tabbar-height) + var(--app-safe-bottom) + 18px);background:#f3f6fb;-webkit-tap-highlight-color:transparent}
  body.client-authenticated.is-app-drawer-open{overflow:hidden;touch-action:none}
  .client-authenticated .client-navbar,.client-authenticated .client-footer{display:none!important}
  .client-authenticated .client-main{min-height:calc(100dvh - 64px);padding-bottom:1rem}
  .client-authenticated .section{padding:1rem 0 1.3rem}
  .client-authenticated .section>.container,.client-authenticated .app-flash-section>.container{width:100%;max-width:none;padding-left:14px;padding-right:14px}
  .client-authenticated .app-flash-section{padding-top:.75rem!important;padding-bottom:0!important}
  .client-authenticated .notice{margin-bottom:0;border-radius:18px;padding:.9rem 1rem;box-shadow:0 8px 24px rgba(11,31,58,.07)}
  .mobile-app-header{position:sticky;top:0;z-index:45;display:flex;min-height:64px;align-items:center;justify-content:space-between;padding:calc(.65rem + var(--app-safe-top)) 14px .65rem;border-bottom:1px solid rgba(216,226,240,.86);background:rgba(255,255,255,.94);box-shadow:0 6px 22px rgba(11,31,58,.06);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
  .mobile-app-identity{display:flex;min-width:0;align-items:center;gap:.7rem;color:var(--dark)}.mobile-app-identity img{width:42px;height:42px;border-radius:14px;object-fit:cover;box-shadow:0 5px 14px rgba(11,31,58,.12)}.mobile-app-identity span{display:flex;min-width:0;flex-direction:column}.mobile-app-identity small{color:var(--muted)!important;font-size:.68rem;line-height:1.15}.mobile-app-identity strong{max-width:170px;overflow:hidden;color:var(--dark);font-size:.96rem;text-overflow:ellipsis;white-space:nowrap}
  .mobile-app-actions{display:flex;align-items:center;gap:.45rem}.mobile-header-action{position:relative;display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border:1px solid #e1eaf5;border-radius:14px;background:#fff;color:var(--dark);font-size:1.05rem;box-shadow:0 5px 15px rgba(11,31,58,.05)}button.mobile-header-action{font:inherit}.mobile-action-badge{position:absolute;top:-4px;right:-4px;display:inline-flex;min-width:20px;height:20px;align-items:center;justify-content:center;padding:0 5px;border:2px solid #fff;border-radius:999px;background:#dc2626;color:#fff;font-size:.65rem;font-weight:900}
  .dashboard-sidebar-column,.columns>.column.is-3:has(>.app-dashboard-sidebar){display:none!important}
  .dashboard-layout{display:block;margin:0!important}.dashboard-content{width:100%;padding:0!important}.client-dashboard-section{padding-top:.85rem!important}
  .dashboard-welcome-card{display:block;padding:1.2rem 1.15rem;border-radius:24px;background:radial-gradient(circle at 94% 8%,rgba(241,112,36,.20),transparent 28%),linear-gradient(145deg,#fff,#eaf3ff)}.dashboard-welcome-card h1{font-size:1.55rem}.dashboard-welcome-card p{font-size:.88rem;line-height:1.5}.dashboard-welcome-actions{justify-content:flex-start;margin-top:1rem}.dashboard-welcome-actions .button{display:none}.dashboard-role-chip{padding:.45rem .7rem;font-size:.75rem}
  .dashboard-stat-grid,.dashboard-stat-grid:has(.app-stat-card:nth-child(4)){display:flex;grid-template-columns:none;gap:.75rem;margin:1rem -14px 0;padding:0 14px .35rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.dashboard-stat-grid::-webkit-scrollbar{display:none}.app-stat-card{flex:0 0 152px;min-height:104px;scroll-snap-align:start;gap:.75rem;padding:1rem;border-radius:21px}.app-stat-icon{flex-basis:42px;width:42px;height:42px;border-radius:14px}.app-stat-card .stat-number{font-size:1.75rem}.app-stat-card>div>span{font-size:.78rem}
  .dashboard-primary-grid{display:block;margin:1rem 0 0!important}.dashboard-primary-grid>.column{display:block;padding:.45rem 0}.card-panel,.table-container{border-radius:22px;box-shadow:0 9px 24px rgba(11,31,58,.065)}.app-section-card{padding:1.05rem}.app-section-heading{align-items:center;margin-bottom:.85rem}.app-section-heading h2{font-size:1.12rem}.app-heading-link{font-size:.76rem}.dashboard-eyebrow{font-size:.64rem}
  .quick-grid.app-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.65rem}.app-quick-grid a{min-height:104px;padding:.8rem .55rem;border-radius:19px;font-size:.82rem}.quick-icon{width:40px;height:40px}.app-notification-item{padding:.75rem 0}.dashboard-notifications-card{min-height:auto}.app-empty-compact{min-height:120px}.dashboard-list-heading{margin-top:1.7rem!important;margin-bottom:.8rem}.dashboard-list-heading h2{font-size:1.18rem}
  .client-authenticated .section-title{font-size:1.55rem;line-height:1.15}.client-authenticated .section-subtitle{font-size:.88rem}.client-authenticated .title.is-4{font-size:1.22rem}.client-authenticated .title.is-5{font-size:1.08rem}
  .client-authenticated .input,.client-authenticated .select select,.client-authenticated .button:not(.is-small),.client-authenticated .textarea{min-height:48px}.client-authenticated .button:not(.is-small){border-radius:14px}.client-authenticated .field:not(:last-child){margin-bottom:1rem}
  .client-authenticated .property-card{border-radius:22px}.client-authenticated .property-cover{height:210px}.client-authenticated .property-body{padding:1rem}.client-authenticated .columns.is-multiline.property-grid{margin-left:-.35rem;margin-right:-.35rem}.client-authenticated .columns.is-multiline.property-grid>.column{padding:.45rem .35rem}
  .mobile-bottom.mobile-app-tabbar{position:fixed;right:10px;bottom:calc(8px + var(--app-safe-bottom));left:10px;z-index:50;display:grid;height:var(--app-tabbar-height);grid-template-columns:repeat(5,1fr);align-items:end;padding:7px 5px 6px;border:1px solid rgba(216,226,240,.94);border-radius:23px;background:rgba(255,255,255,.96);box-shadow:0 14px 38px rgba(11,31,58,.18);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
  .mobile-app-tabbar>a,.mobile-app-tabbar>button{position:relative;display:flex;height:56px;min-width:0;align-items:center;justify-content:center;flex-direction:column;gap:4px;border:0;background:transparent;color:#66768a;font-family:inherit;font-size:.66rem;font-weight:850;text-align:center}.mobile-app-tabbar>a i,.mobile-app-tabbar>button i{font-size:1.08rem}.mobile-app-tabbar>a.is-active,.mobile-app-tabbar>button.is-active{color:var(--blue)}.mobile-app-tabbar>a.is-active:after,.mobile-app-tabbar>button.is-active:after{position:absolute;bottom:-2px;width:20px;height:3px;border-radius:999px;background:var(--blue);content:""}.mobile-app-tabbar .mobile-action-badge{top:2px;right:calc(50% - 22px);font-style:normal}
  .mobile-app-tabbar .mobile-tab-publish{justify-content:flex-start;transform:translateY(-17px);color:var(--blue)}.mobile-app-tabbar .mobile-tab-publish>span{display:flex;width:54px;height:54px;align-items:center;justify-content:center;border:5px solid #f3f6fb;border-radius:19px;background:linear-gradient(145deg,var(--blue),#2367c5);color:#fff;box-shadow:0 10px 22px rgba(0,74,173,.28);transform:rotate(45deg)}.mobile-app-tabbar .mobile-tab-publish>span i{font-size:1.15rem;transform:rotate(-45deg)}.mobile-app-tabbar .mobile-tab-publish small{margin-top:3px;color:var(--blue)!important;font-size:.65rem;font-weight:900}.mobile-app-tabbar .mobile-tab-publish.is-active:after{display:none}
  .mobile-app-overlay{position:fixed;inset:0;z-index:70;display:block;background:rgba(5,18,35,.48);opacity:0;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);transition:opacity .22s ease}.mobile-app-overlay[hidden]{display:none}.mobile-app-overlay.is-visible{opacity:1}
  .mobile-app-drawer{position:fixed;right:0;bottom:0;left:0;z-index:71;display:flex;max-height:89dvh;flex-direction:column;padding:0 12px calc(14px + var(--app-safe-bottom));border-radius:28px 28px 0 0;background:#f5f8fc;box-shadow:0 -20px 55px rgba(5,18,35,.26);transform:translateY(105%);transition:transform .28s cubic-bezier(.22,.8,.25,1);will-change:transform}.mobile-app-drawer.is-open{transform:translateY(0)}.mobile-drawer-handle{width:46px;height:5px;margin:9px auto 7px;border-radius:999px;background:#c5d0de}.mobile-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .35rem .8rem}.mobile-drawer-user{display:flex;min-width:0;align-items:center;gap:.75rem}.mobile-drawer-user>span:last-child{max-width:230px}.mobile-drawer-close{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border:1px solid #dce6f2;border-radius:14px;background:#fff;color:var(--dark);font-size:1.05rem}.mobile-drawer-scroll{overflow-y:auto;overscroll-behavior:contain;padding:0 0 .5rem;scrollbar-width:thin}.mobile-drawer-menu{padding:0;border:0;background:transparent}.mobile-drawer-menu .dashboard-menu-group{margin-bottom:.7rem;padding:.6rem;border:1px solid #e2eaf4;border-radius:20px;background:#fff;box-shadow:0 8px 20px rgba(11,31,58,.05)}.mobile-drawer-menu .dashboard-menu-label{margin:.15rem .65rem .3rem}.mobile-drawer-menu a{min-height:48px;padding:.72rem .7rem;border-radius:14px}.mobile-drawer-menu a i{width:25px;font-size:1rem}.mobile-drawer-menu .dashboard-logout{margin-top:.4rem;padding:.7rem .2rem 0}.mobile-drawer-menu .dashboard-logout .button{min-height:48px;background:#fff0f3;color:#9f1239}
  .pwa-update-notice{bottom:calc(var(--app-tabbar-height) + var(--app-safe-bottom) + 24px)}
}

@media(max-width:390px){.mobile-app-identity strong{max-width:135px}.mobile-app-header{padding-left:10px;padding-right:10px}.mobile-bottom.mobile-app-tabbar{right:6px;left:6px}.mobile-app-tabbar>a,.mobile-app-tabbar>button{font-size:.61rem}.app-stat-card{flex-basis:144px}.quick-grid.app-quick-grid{gap:.5rem}.app-quick-grid a{font-size:.76rem}}

@media(display-mode:standalone) and (max-width:900px){body.client-authenticated{user-select:none}.client-authenticated input,.client-authenticated textarea,.client-authenticated select{user-select:text}.mobile-app-header{padding-top:calc(.65rem + var(--app-safe-top))}.mobile-bottom.mobile-app-tabbar{bottom:calc(6px + var(--app-safe-bottom))}}

/* V9.1.1 - selecteur de bailleur recherchable */
.owner-search-field{position:relative;z-index:20}
.searchable-select{position:relative;width:100%}
.searchable-select-panel[hidden],.searchable-select-empty[hidden],.searchable-select-option[hidden],.searchable-select-clear[hidden]{display:none!important}
.searchable-select.is-enhanced .searchable-select-native{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.searchable-select-trigger{display:none;width:100%;min-height:52px;align-items:center;justify-content:space-between;gap:1rem;padding:.78rem 1rem;border:1px solid var(--border);border-radius:14px;background:#fff;color:var(--muted);font:inherit;font-weight:750;text-align:left;box-shadow:0 5px 16px rgba(11,31,58,.04);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.searchable-select.is-enhanced .searchable-select-trigger{display:flex}
.searchable-select-trigger:hover{border-color:#9db8dc;background:#fbfdff}
.searchable-select-trigger:focus-visible,.searchable-select.is-open .searchable-select-trigger{border-color:var(--blue);box-shadow:0 0 0 4px rgba(0,74,173,.12)}
.searchable-select-trigger.has-value{color:var(--dark)}
.searchable-select-trigger.is-danger{border-color:var(--red);box-shadow:0 0 0 4px rgba(220,38,38,.10)}
.searchable-select-trigger:disabled{cursor:not-allowed;background:#f1f5f9;color:#94a3b8;box-shadow:none}
.searchable-select-trigger i{flex:0 0 auto;color:var(--blue);transition:transform .18s ease}
.searchable-select.is-open .searchable-select-trigger>i{transform:rotate(180deg)}
.searchable-select-trigger-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.searchable-select-panel{position:absolute;top:calc(100% + 9px);right:0;left:0;z-index:65;padding:.7rem;border:1px solid #d7e3f1;border-radius:18px;background:#fff;box-shadow:0 22px 52px rgba(11,31,58,.20)}
.searchable-select-search-wrap{position:relative;margin-bottom:.55rem}
.searchable-select-search-wrap>i{position:absolute;top:50%;left:1rem;z-index:2;color:var(--blue);transform:translateY(-50%);pointer-events:none}
.searchable-select-search{height:48px!important;padding-left:2.75rem!important;padding-right:2.75rem!important;border-radius:13px!important;background:#f7faff!important}
.searchable-select-clear{position:absolute;top:50%;right:.45rem;display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border:0;border-radius:10px;background:transparent;color:#64748b;transform:translateY(-50%);font-size:1rem}
.searchable-select-clear:hover{background:#eaf2fd;color:var(--blue)}
.searchable-select-options{max-height:310px;overflow-y:auto;overscroll-behavior:contain;padding:.15rem;scrollbar-width:thin}
.searchable-select-option{position:relative;display:grid;width:100%;grid-template-columns:minmax(0,1fr) 22px;align-items:center;gap:.25rem .75rem;padding:.78rem .85rem;border:0;border-radius:13px;background:transparent;color:var(--dark);font:inherit;text-align:left;cursor:pointer}
.searchable-select-option strong{min-width:0;overflow:hidden;font-size:.92rem;text-overflow:ellipsis;white-space:nowrap}
.searchable-select-option small{grid-column:1;min-width:0;overflow:hidden;color:var(--muted)!important;font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}
.searchable-select-option-check{grid-column:2;grid-row:1/span 2;color:var(--blue);opacity:0}
.searchable-select-option:hover,.searchable-select-option:focus-visible,.searchable-select-option.is-keyboard-active{outline:0;background:#eef5ff;color:var(--blue)}
.searchable-select-option.is-selected{background:#e4f0ff;color:var(--blue)}
.searchable-select-option.is-selected .searchable-select-option-check{opacity:1}
.searchable-select-empty{margin:.35rem 0 0;padding:1.25rem .75rem;border-radius:13px;background:#f8fafc;color:var(--muted);font-size:.86rem;text-align:center}

@media(max-width:900px){
  .searchable-select-panel{position:fixed;top:auto;right:12px;bottom:calc(var(--app-tabbar-height,74px) + var(--app-safe-bottom,0px) + 18px);left:12px;max-height:min(64dvh,520px);padding:.85rem;border-radius:24px;box-shadow:0 24px 70px rgba(5,18,35,.28)}
  .searchable-select-search-wrap{position:sticky;top:0;z-index:2;background:#fff}
  .searchable-select-options{max-height:calc(min(64dvh,520px) - 78px)}
  .searchable-select-option{min-height:58px;padding:.8rem .9rem}
}
