/* ZIP 22 — cartes d’opportunités et messagerie uniquement. */
#view-nearby .opp-card{grid-template-columns:43px minmax(0,1fr) auto;column-gap:12px;row-gap:12px}
#view-nearby .opp-card-right{display:flex;align-items:flex-start;gap:10px;align-self:start;min-width:0}
#view-nearby .opp-card-right>.opp-price,#view-nearby .opp-map-preview>.opp-price{font-size:22px;line-height:1.3;white-space:nowrap;overflow-wrap:normal;word-break:normal;color:#49325b}
#view-nearby .opp-card-right>.opp-price-label,#view-nearby .opp-map-preview>.opp-price-label{font-size:17px;white-space:normal;max-width:140px;line-height:1.4}
#view-nearby .opp-card-title h2{font-size:18px;line-height:1.4;color:#49325b}
#view-nearby .opp-card-meta{font-size:15px;color:#6d5a7a}
#view-nearby .opp-card-description{font-size:17px;color:#6d5a7a}
#view-nearby .opp-card-actions{grid-column:2/-1;display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;min-width:0}
#view-nearby .opp-card-actions .opp-open{font-size:15px;line-height:1.4;min-height:36px;color:#72518b;white-space:nowrap;background:transparent;border:0;padding:6px 0;margin:0}
#view-nearby .opp-card-actions .opp-apply{display:inline-flex;align-items:center;justify-content:center;background:#8050a8;color:#fff;border:1px solid #8050a8;border-radius:8px;min-height:36px;padding:8px 13px;font:inherit;font-size:17px;font-weight:600;line-height:1.4;white-space:nowrap;margin:0;cursor:pointer}
#view-nearby .opp-card-actions .opp-apply:hover{background:#6c3f92}
#view-nearby .opp-card-actions .opp-apply:disabled{opacity:.6;cursor:wait}
#view-nearby .opp-card-actions button:focus-visible{outline:3px solid #b592d0;outline-offset:3px}
#view-nearby .opp-map-preview{grid-template-columns:40px minmax(0,1fr) auto;gap:10px}
#view-nearby .opp-map-preview>div:not(.opp-card-actions){min-width:0}
#view-nearby .opp-map-preview .opp-card-actions{grid-column:1/-1}
#view-nearby .opp-map-preview>div>strong{font-size:17px;color:#49325b}
#view-nearby .opp-map-preview p{font-size:15px;color:#6d5a7a}
@media(min-width:650px){#view-nearby .opp-card-title h2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}}
@media(max-width:599px){
 #view-nearby .opp-card{grid-template-columns:36px minmax(0,1fr);padding:15px 12px}
 #view-nearby .opp-card-right{grid-column:2;justify-content:space-between;align-items:center}
 #view-nearby .opp-card-actions{grid-column:1/-1;gap:10px}
 #view-nearby .opp-card-right>.opp-price{font-size:22px}
 #view-nearby .opp-map-preview{grid-template-columns:32px minmax(0,1fr);padding:13px}
 #view-nearby .opp-map-preview>.opp-price{grid-column:2;font-size:22px}
}

/* Hauteur mesurée sur la navigation réelle, y compris au redimensionnement. */
html:has(body.ljo-messages-fit),body.ljo-messages-fit{overflow:hidden;overscroll-behavior:none}
body.ljo-messages-fit #app.ljo-shell>main:is(:has(>#view-chat.active),:has(>#view-messages.active)){position:fixed;top:var(--messages-top,180px);left:0;right:0;height:var(--messages-height,calc(100dvh - 180px));min-height:0;box-sizing:border-box;padding:10px 28px 12px!important;overflow:hidden}
body.ljo-messages-fit :is(#view-messages,#view-chat).active{height:100%;min-height:0}
body.ljo-messages-fit .xp-messages-shell{height:100%;min-height:0;display:flex;flex-direction:column}
body.ljo-messages-fit .xp-messages-shell>.xp-page-head{flex:0 0 auto;align-items:center;flex-wrap:nowrap;gap:12px;margin:0 0 10px;padding:0}
body.ljo-messages-fit .xp-page-head>div{min-width:0}
body.ljo-messages-fit .xp-page-head .xp-eyebrow{display:none}
body.ljo-messages-fit .xp-page-head h1{font-size:25px!important;margin:0!important;line-height:1.2}
body.ljo-messages-fit .xp-page-head p{font-size:17px;line-height:1.4;margin:4px 0 0;color:#6d5a7a}
body.ljo-messages-fit .xp-page-head .xp-secondary{font-size:17px;padding:8px 12px;margin:0;flex-shrink:0}
body.ljo-messages-fit .xp-message-workspace{flex:1 1 0;height:auto;min-height:0;grid-template-columns:260px minmax(0,1fr) 270px;position:relative}
body.ljo-messages-fit .xp-inbox{min-height:0}
body.ljo-messages-fit .xp-inbox-search{margin:12px 12px 10px;padding:10px}
body.ljo-messages-fit .xp-inbox-search input{font-size:17px;color:#49325b}
body.ljo-messages-fit .xp-inbox-search input::placeholder{color:#766681}
body.ljo-messages-fit .xp-inbox-filters{padding:0 10px 10px;gap:4px}
body.ljo-messages-fit .xp-inbox-filters button{font-size:17px;color:#624773}
body.ljo-messages-fit .xp-conversation{padding:12px 9px;gap:9px;min-height:100px}
body.ljo-messages-fit .xp-conversation-name strong{font-size:18px;color:#49325b}
body.ljo-messages-fit .xp-conversation-name small{font-size:15px;color:#6d5a7a}
body.ljo-messages-fit .xp-conversation-copy>b{font-size:17px;color:#624773}
body.ljo-messages-fit .xp-conversation-copy>span:not(.xp-conversation-name){font-size:17px;color:#6d5a7a}
body.ljo-messages-fit .xp-conversation-copy>em{font-size:15px;color:#72518b}
body.ljo-messages-fit .xp-chat-stage{overflow-y:auto;overscroll-behavior:contain}
body.ljo-messages-fit .xp-chat-stage> :not(#chatMessages):not(#chatEmpty){flex-shrink:0}
body.ljo-messages-fit .xp-conversation-identity{padding:10px 14px;min-height:62px}
body.ljo-messages-fit .xp-identity-person strong{font-size:18px;color:#49325b}
body.ljo-messages-fit .xp-identity-person small{font-size:17px;color:#6d5a7a}
body.ljo-messages-fit .xp-chat-state{font-size:15px;color:#6d5a7a}
body.ljo-messages-fit .xp-conversation-agreement{margin:8px 12px 0;padding:9px 12px}
body.ljo-messages-fit .xp-conversation-agreement b{font-size:17px;color:#624773}
body.ljo-messages-fit .xp-conversation-agreement small{font-size:15px;color:#6d5a7a}
body.ljo-messages-fit .xp-conversation-agreement button{font-size:15px;color:#624773}
body.ljo-messages-fit #chatMessages.xp-message-body{min-height:60px;padding:16px;overscroll-behavior:contain}
body.ljo-messages-fit .xp-bubble{font-size:18px;line-height:1.55;padding:10px 13px}
body.ljo-messages-fit .xp-message-text{color:#49325b}
body.ljo-messages-fit .xp-message-day,body.ljo-messages-fit .xp-bubble time{font-size:15px;color:#725e80}
body.ljo-messages-fit :is(.xp-chat-start,.xp-chat-empty p,.xp-inbox-empty){font-size:18px;line-height:1.6;color:#6d5a7a}
body.ljo-messages-fit .xp-chat-empty{padding:18px;overflow-y:auto}
body.ljo-messages-fit .xp-conversation-tools{padding:8px 12px;flex-wrap:nowrap;overflow-x:auto;gap:6px}
body.ljo-messages-fit .xp-conversation-tools button{font-size:15px;flex-shrink:0;color:#624773}
body.ljo-messages-fit #chatForm.xp-compose{padding:9px 12px;gap:8px}
body.ljo-messages-fit #chatForm.xp-compose textarea{font-size:18px;line-height:1.4;color:#49325b;height:62px;padding:9px 11px}
body.ljo-messages-fit #chatForm.xp-compose textarea::placeholder{color:#766681}
body.ljo-messages-fit #chatForm.xp-compose .xp-primary{font-size:17px;min-height:40px;padding:9px 12px}
body.ljo-messages-fit .xp-send-status{font-size:15px;line-height:1.4}
body.ljo-messages-fit .xp-send-status:empty{display:none}
body.ljo-messages-fit .xp-message-context{min-height:0;overflow-y:auto;padding:18px;overscroll-behavior:contain}
body.ljo-messages-fit .xp-message-context h2{font-size:22px;color:#49325b}
body.ljo-messages-fit .xp-message-context dt{font-size:15px;color:#6d5a7a}
body.ljo-messages-fit .xp-message-context dd{font-size:17px;line-height:1.5;color:#49325b}
body.ljo-messages-fit .xp-message-context dd.xp-context-price{font-size:24px}
body.ljo-messages-fit .xp-context-person strong{font-size:17px;color:#49325b}
body.ljo-messages-fit .xp-context-person span:not(.xp-chat-avatar){font-size:15px;color:#6d5a7a}
body.ljo-messages-fit .xp-message-context .xp-secondary,body.ljo-messages-fit .xp-conversation-advanced>summary{font-size:17px;color:#624773}
body.ljo-messages-fit #chatHeader.xp-existing-mission :is(p,small){font-size:17px!important;color:#6d5a7a}
body.ljo-messages-fit #chatHeader.xp-existing-mission .btn{font-size:17px}
@media(max-width:1199px){body.ljo-messages-fit .xp-message-workspace{grid-template-columns:250px minmax(0,1fr)}}
@media(max-width:899px){
 body.ljo-messages-fit #app.ljo-shell>main:is(:has(>#view-chat.active),:has(>#view-messages.active)){padding:8px 12px 10px!important}
 body.ljo-messages-fit .xp-message-workspace{grid-template-columns:230px minmax(0,1fr)}
 body.ljo-messages-fit .xp-page-head p{display:none}
}
@media(max-width:649px){
 body.ljo-messages-fit #app.ljo-shell>main:is(:has(>#view-chat.active),:has(>#view-messages.active)){padding:6px 8px max(8px,env(safe-area-inset-bottom))!important}
 body.ljo-messages-fit .xp-page-head h1{font-size:24px!important}
 body.ljo-messages-fit .xp-messages-shell>.xp-page-head{margin-bottom:6px}
 body.ljo-messages-fit .xp-page-head .xp-secondary{padding:6px 9px}
 body.ljo-messages-fit .xp-message-workspace{display:block}
 body.ljo-messages-fit .xp-message-context{max-width:100%}
 body.ljo-messages-fit .xp-conversation-tools button{font-size:15px}
 body.ljo-messages-fit #chatForm.xp-compose{padding:8px;gap:6px}
 body.ljo-messages-fit #chatForm.xp-compose .xp-primary{font-size:15px;padding:9px}
}
@media(max-height:580px){
 body.ljo-messages-fit .xp-page-head p{display:none}
 body.ljo-messages-fit .xp-conversation-identity{min-height:48px;padding-block:6px}
 body.ljo-messages-fit .xp-conversation-agreement{margin-top:5px;padding-block:6px}
 body.ljo-messages-fit .xp-conversation-agreement small{display:none}
 body.ljo-messages-fit #chatForm.xp-compose textarea{height:46px}
}
@media(prefers-reduced-motion:reduce){body.ljo-messages-fit *{scroll-behavior:auto!important}}

#view-notifications .notification-copy small{font-size:17px;line-height:1.6;color:#624773}
#view-notifications .notification-copy strong{font-size:18px}
#view-notifications .notification-copy em{font-size:15px}
