
:root{
  --green:#23483a;
  --green-2:#376a56;
  --sage:#dfeae3;
  --sage-2:#f2f6f3;
  --coral:#e67c5d;
  --sand:#f4efe5;
  --ink:#17302a;
  --muted:#75817c;
  --line:#e4e8e5;
  --white:#fff;
  --danger:#b94a48;
  --shadow:0 14px 36px rgba(27,59,48,.10);
}
*{box-sizing:border-box}
html{background:#edf2ef}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#edf2ef}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
.hidden{display:none!important}
.toast{position:fixed;left:50%;top:18px;transform:translate(-50%,-120px);z-index:1000;background:#17302a;color:white;padding:12px 16px;border-radius:14px;box-shadow:var(--shadow);font-size:13px;transition:.25s;max-width:88vw;text-align:center}
.toast.show{transform:translate(-50%,0)}
.toast.error{background:#8f3e3b}
.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 5%,#dbe9e1 0,transparent 34%),radial-gradient(circle at 90% 95%,#f0d6c7 0,transparent 35%),#f7f8f7}
.auth-card{width:min(440px,100%);background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.8);border-radius:28px;padding:24px;box-shadow:0 28px 70px rgba(34,72,58,.13)}
.brand{display:flex;align-items:center;gap:12px}
.brand-mark{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--green);color:#fff;font-weight:900;letter-spacing:-1px;box-shadow:0 8px 18px rgba(35,72,58,.22)}
.brand-mark.small{width:40px;height:40px;border-radius:13px;font-size:13px}
.brand-name{font-weight:900;letter-spacing:.6px;font-size:16px}.brand-name strong{font-weight:950}.brand-name span{font-weight:750;letter-spacing:1.8px;opacity:.76}
.brand-tag{font-size:11px;color:var(--muted);margin-top:2px}
.auth-hero{padding:30px 0 18px}
.auth-hero h1,.page-head h1,.hero h1{font-size:clamp(28px,7vw,40px);line-height:1.02;letter-spacing:-1.3px;margin:7px 0 10px}
.auth-hero p,.page-head p,.hero p{margin:0;color:#52635c;line-height:1.5}
.eyebrow{font-size:11px;letter-spacing:1.1px;font-weight:900;color:var(--coral)}
.segmented{display:grid;grid-template-columns:1fr 1fr;background:#f0f3f1;border-radius:14px;padding:4px;margin:14px 0}
.seg{border:0;background:transparent;border-radius:11px;padding:11px;font-weight:800;color:#718079}
.seg.active{background:#fff;color:var(--green);box-shadow:0 3px 12px rgba(0,0,0,.06)}
.field{margin:14px 0}
.field label{display:block;font-size:12px;font-weight:850;margin-bottom:7px}
.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);border-radius:14px;background:#fff;padding:13px 14px;color:var(--ink);outline:none}
.field textarea{min-height:105px;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{border-color:#86aa9a;box-shadow:0 0 0 3px rgba(55,106,86,.09)}
.micro{font-size:11px;color:var(--muted);line-height:1.5;margin:16px 2px 0}
.btn{border:0;border-radius:15px;padding:13px 16px;font-weight:900;transition:.15s}
.btn:active{transform:scale(.985)}
.btn-primary{background:var(--green);color:white}
.btn-coral{background:var(--coral);color:white}
.btn-light{background:#eef2ef;color:var(--green)}
.full{width:100%}
.app{width:min(470px,100%);min-height:100vh;margin:0 auto;background:#F6F3F8;position:relative;box-shadow:0 0 45px rgba(20,50,40,.10);padding-bottom:92px}
.topbar{height:70px;display:flex;align-items:center;gap:10px;padding:10px 16px;position:sticky;top:0;z-index:20;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-bottom:1px solid rgba(228,232,229,.8)}
.topbar .brand{flex:1}
.profile-bubble{width:40px;height:40px;border:0;border-radius:50%;background:var(--sand);color:var(--green);font-weight:900}
.icon-btn{width:38px;height:38px;border:0;border-radius:12px;background:#f2f5f3;color:var(--green);font-size:20px}
main{padding:16px}
.view{display:none;animation:fade .18s ease}
.view.active{display:block}
@keyframes fade{from{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:none}}
.hero{background:linear-gradient(145deg,#dce9e2,#f6efe3);border-radius:26px;padding:24px;margin:2px 0 22px;overflow:hidden;position:relative}
.hero:after{content:"";position:absolute;width:150px;height:150px;border:26px solid rgba(35,72,58,.06);border-radius:50%;right:-70px;bottom:-85px}
.hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px;position:relative;z-index:1}
.section-head{display:flex;justify-content:space-between;align-items:end;margin:8px 2px 12px}
.section-head h2{margin:3px 0 0;font-size:21px;letter-spacing:-.5px}
.text-btn{border:0;background:transparent;color:var(--green-2);font-weight:850;padding:8px}
.cards{display:grid;gap:11px}
.request-card{border:1px solid var(--line);background:white;border-radius:18px;padding:15px;box-shadow:0 6px 18px rgba(26,62,50,.04)}
.request-top{display:flex;justify-content:space-between;gap:14px}
.request-card h3{margin:0 0 5px;font-size:16px;line-height:1.2}
.request-meta{font-size:11px;color:var(--muted);line-height:1.45}
.price{font-weight:950;white-space:nowrap;color:var(--green);font-size:16px}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.tag{font-size:10px;font-weight:900;border-radius:999px;padding:5px 8px}
.tag.free{background:#e2eee7;color:#2e634e}
.tag.paid{background:#f9e6df;color:#a64e36}
.tag.now{background:#fff0d4;color:#946600}
.empty-card{border:1px dashed #ccd7d0;border-radius:18px;padding:20px;text-align:center;color:var(--muted);font-size:13px;background:#f8faf8}
.page-head{padding:8px 2px 15px}
.page-head h1{font-size:30px}
.panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:0 8px 22px rgba(23,48,42,.04)}
.choice-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.choice-row .choice{border:1px solid var(--line);background:#fff;color:#53635c;border-radius:13px;padding:10px 8px;font-size:11px;font-weight:850}
.choice-row .choice.active{border-color:#83aa97;background:#eaf2ed;color:var(--green)}
#serviceChoices,#priceChoices{grid-template-columns:1fr 1fr}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.money-input{display:flex;border:1px solid var(--line);border-radius:14px;overflow:hidden;align-items:center}
.money-input input{border:0!important;border-radius:0!important;box-shadow:none!important}
.money-input span{padding:0 14px;font-weight:900;color:var(--green)}
.fee-note{background:#fff7e9;border:1px solid #f0d8a7;border-radius:14px;padding:12px;display:grid;gap:3px;margin:14px 0;font-size:11px;color:#6d561b}
.fee-note span{opacity:.86}
.muted{color:var(--muted)}
.filters{display:flex;gap:7px;overflow:auto;padding-bottom:11px}
.filter{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 11px;font-size:11px;font-weight:850;color:#65746e;white-space:nowrap}
.filter.active{background:var(--green);border-color:var(--green);color:white}
.detail-card{background:linear-gradient(145deg,#f1f6f3,#faf6ef);border-radius:24px;padding:20px}
.detail-card h1{margin:7px 0 9px;font-size:29px;letter-spacing:-1px}
.detail-price{font-size:26px;font-weight:950;color:var(--green);margin-top:14px}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.detail-item{background:rgba(255,255,255,.8);border:1px solid rgba(220,228,223,.8);padding:11px;border-radius:13px}
.detail-item small{display:block;color:var(--muted);font-size:10px;margin-bottom:2px}
.detail-item strong{font-size:12px}
.owner-box{display:flex;gap:11px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:13px;margin:14px 0}
.avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--sand);color:var(--green);font-weight:950}
.owner-box strong{display:block}
.owner-box small{color:var(--muted)}
.action-stack{display:grid;gap:8px;margin-top:14px}
.offer-box{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:16px}
.offer-box h3{margin:0 0 8px;font-size:15px}
.chat-box{min-height:55vh;background:#f7f9f7;border:1px solid var(--line);border-radius:18px;padding:12px}
.msg{max-width:82%;border-radius:15px;padding:10px 12px;margin:8px 0;font-size:13px;line-height:1.4}
.msg.me{margin-left:auto;background:var(--green);color:white}
.msg.other{background:#fff;border:1px solid var(--line)}
.chat-compose{display:grid;grid-template-columns:1fr auto;gap:8px;position:sticky;bottom:77px;background:#fff;padding:10px 0}
.chat-compose input{border:1px solid var(--line);border-radius:14px;padding:12px}
.switch-row{display:flex;justify-content:space-between;gap:15px;align-items:center;border:1px solid var(--line);border-radius:15px;padding:13px;margin:14px 0}
.switch-row span{display:grid;gap:2px}
.switch-row small{color:var(--muted)}
.switch-row input{width:22px;height:22px}
.logout-panel{margin-top:12px}
.bottom-nav{position:fixed;z-index:30;bottom:0;left:50%;transform:translateX(-50%);width:min(470px,100%);display:grid;grid-template-columns:repeat(5,1fr);background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:7px 6px max(8px,env(safe-area-inset-bottom))}
.nav-item{border:0;background:transparent;color:#809088;font-size:9px;font-weight:850;padding:5px 1px}
.nav-item span{display:block;font-size:19px;line-height:1.1;margin-bottom:3px}
.nav-item.active{color:var(--green)}
.publish-nav span{width:38px;height:38px;display:grid!important;place-items:center;margin:-16px auto 3px!important;border-radius:50%;background:var(--coral);color:white;box-shadow:0 8px 18px rgba(230,124,93,.28)}
@media(min-width:700px){
  body{padding:24px 0}
  .app{border-radius:28px;overflow:hidden;min-height:calc(100vh - 48px)}
  .bottom-nav{bottom:24px;border-radius:0 0 28px 28px}
}

/* ===== LOCANOUS — Accueil inspiré de la proposition 10 ===== */
#view-home{padding-top:2px}
.home-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;padding:8px 2px 16px}
.home-head h1{font-size:29px;line-height:1.02;letter-spacing:-1.1px;margin:5px 0 7px;max-width:320px}
.home-head p{margin:0;color:#62716b;font-size:13px;line-height:1.4}
.home-see-all{align-self:flex-end;white-space:nowrap;padding:7px 0 5px 8px;font-size:12px}
.home-see-all span{font-size:16px;margin-left:3px}
.home-feed{gap:10px}
.feed-card{display:grid;grid-template-columns:82px minmax(0,1fr);gap:12px;padding:9px;border-radius:17px;box-shadow:0 5px 16px rgba(26,62,50,.045);cursor:pointer;transition:transform .15s,box-shadow .15s}
.feed-card:active{transform:scale(.99)}
.request-thumb{height:92px;border-radius:13px;display:grid;place-items:center;overflow:hidden;position:relative}
.request-thumb:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 18%,rgba(255,255,255,.72),transparent 28%)}
.request-thumb span{font-size:32px;position:relative;filter:drop-shadow(0 4px 6px rgba(0,0,0,.10))}
.cat-blue{background:linear-gradient(145deg,#dbeaff,#eef5ff)}
.cat-orange{background:linear-gradient(145deg,#ffe2cc,#fff1e6)}
.cat-cyan{background:linear-gradient(145deg,#d9f0ed,#edf8f6)}
.cat-purple{background:linear-gradient(145deg,#eadffd,#f5efff)}
.cat-red{background:linear-gradient(145deg,#f9dedc,#fff0ef)}
.cat-slate{background:linear-gradient(145deg,#dfe7ee,#f0f4f7)}
.cat-yellow{background:linear-gradient(145deg,#fff0be,#fff8df)}
.cat-green{background:linear-gradient(145deg,#dcecdf,#f0f6f1)}
.request-content{min-width:0;padding:2px 2px 1px 0}
.request-card-headline{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:2px}
.request-category{font-size:9px;text-transform:uppercase;letter-spacing:.55px;color:#839089;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.feed-card h3{font-size:14px;line-height:1.2;margin:2px 0 4px;color:var(--ink)}
.feed-card .price{font-size:13px;color:var(--coral)}
.request-excerpt{font-size:10.5px;color:#68766f;line-height:1.3;margin:0 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.request-meta-row{display:flex;flex-wrap:wrap;gap:4px 9px;font-size:9.5px;color:#7b8882;line-height:1.25}
.feed-card .tags{margin-top:6px}
.feed-card .tag{font-size:8.5px;padding:4px 7px}
.home-actions{display:grid;gap:9px;margin:17px 0 5px}
.home-action{width:100%;min-height:58px;border:0;border-radius:17px;padding:10px 13px;display:grid;grid-template-columns:34px 1fr 18px;align-items:center;gap:10px;text-align:left;color:white;box-shadow:0 7px 18px rgba(25,58,47,.10)}
.home-action.need{background:var(--green)}
.home-action.help{background:var(--coral)}
.home-action-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.16);font-size:20px;font-weight:900}
.home-action strong{display:block;font-size:13.5px;line-height:1.15}
.home-action small{display:block;font-size:9.5px;opacity:.8;margin-top:3px;font-weight:700}
.home-action-arrow{font-size:24px;line-height:1;text-align:right;opacity:.9}

/* Demandes : mêmes cartes compactes et visuelles */
#view-nearby .cards{gap:10px}
#view-nearby .feed-card{grid-template-columns:82px minmax(0,1fr)}

/* Brand LOCANOUS un peu plus net */
.brand-name{letter-spacing:.9px}

@media(max-width:360px){
  .home-head{align-items:flex-start;flex-direction:column;gap:3px}
  .home-see-all{align-self:flex-start;padding-left:0}
  .feed-card{grid-template-columns:72px minmax(0,1fr)}
  .request-thumb{height:86px}
}

/* ===== LOCANOUS V3 — fil de demandes, fidèle à la proposition 10 ===== */
:root{
  --green:#075b50;
  --green-2:#0c6d61;
  --coral:#ff5b61;
  --ink:#101a2f;
  --muted:#65728a;
  --line:#e7ebf1;
  --sand:#f1f2f7;
}
body{background:#eef4f8}
.app{width:min(470px,100%);background:#F6F3F8}
.topbar{height:82px;padding:14px 18px;background:#fff;border-bottom:0;box-shadow:none}
.brand-mark.small{width:48px;height:48px;border-radius:14px;background:#0a1835;color:#fff;font-size:14px;box-shadow:0 6px 16px rgba(10,24,53,.18)}
.brand-name{font-size:16px;letter-spacing:.5px;color:#101a2f}
.brand-tag{font-size:11px;color:#6c7586}
.profile-bubble{width:44px;height:44px;background:#f0f1f6;color:#172037;font-size:15px}
main{padding:10px 17px 22px}

#view-home{padding-top:2px}
.home-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;padding:10px 4px 15px}
.home-copy h1{font-size:31px;line-height:1.03;letter-spacing:-1.35px;margin:0 0 9px;color:#0d172b}
.home-copy p{margin:0;font-size:14px;line-height:1.35;color:#5d687d}
.home-copy p strong{color:#455267;font-weight:800}
.home-see-all{align-self:end;color:#075b50;font-size:14px;font-weight:900;padding:7px 0 3px 8px;white-space:nowrap}
.home-see-all span{font-size:18px}
.home-feed,.cards{gap:10px}

.request-card.feed-card{display:grid;grid-template-columns:108px minmax(0,1fr);gap:13px;min-height:116px;padding:9px;border:1px solid #e4e8ee;border-radius:20px;background:#fff;box-shadow:0 4px 14px rgba(20,35,61,.045);cursor:pointer}
.request-card.feed-card.compact{min-height:116px}
.request-thumb{height:98px;border-radius:15px;overflow:hidden;background:#eef1f4;position:relative}
.request-thumb:before{display:none}
.request-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.request-content{min-width:0;display:flex;align-items:center;padding:1px 2px 1px 0}
.request-title-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:7px;align-items:start}
.request-main-copy{min-width:0}
.feed-card h3{font-size:15.5px;line-height:1.18;margin:2px 0 5px;color:#14203a;font-weight:900;letter-spacing:-.2px}
.request-excerpt{font-size:12.5px;color:#59667e;line-height:1.28;margin:0 0 9px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.request-quick-facts{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 8px}.quick-fact{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;background:#f6f8fb;color:#42506a;font-size:11px;font-weight:800;line-height:1.1}.quick-fact b{font-size:11px}.quick-fact-published{background:#fff4ea;color:#9a5220}.quick-fact-price{background:#f2ebf7;color:var(--city-primary,#722f48)}
.request-meta-row{display:flex;align-items:center;flex-wrap:wrap;gap:4px 7px;font-size:11.5px;color:#6e7b91;font-weight:700}
.feed-price{font-weight:900}
.feed-price.paid{color:#f05b50}
.feed-price.free{color:#21845d}
.heart-btn{width:31px;height:31px;border:0;background:transparent;color:#7690b0;font-size:29px;line-height:26px;padding:0;display:grid;place-items:center;border-radius:50%}
.heart-btn.liked{color:#ff5b61}
.heart-btn:active{background:#f5f7fa}

.home-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0 2px}
.home-action{min-height:64px;border:0;border-radius:24px;padding:10px 15px;display:grid;grid-template-columns:38px minmax(0,1fr) 16px;align-items:center;gap:8px;color:#fff;text-align:left;box-shadow:0 8px 18px rgba(19,45,51,.11)}
.home-action.need{background:linear-gradient(135deg,#075b50,#00685b)}
.home-action.help{background:linear-gradient(135deg,#ff5b61,#ff6c65)}
.home-action-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:transparent;font-size:25px;font-weight:800}
.home-action strong{font-size:14px;line-height:1.12;white-space:nowrap}
.home-action-arrow{font-size:25px;text-align:right}
.home-action.need .home-action-arrow{display:none}

.nearby-head{padding:10px 4px 13px}
.nearby-head h1{font-size:31px;line-height:1.03;letter-spacing:-1.25px;margin:0 0 8px}
.nearby-head p{font-size:13.5px;line-height:1.35;color:#5d687d;margin:0}
.nearby-head strong{color:#455267}
.filters{padding:0 3px 12px;gap:8px}
.filter{padding:8px 13px;border-radius:999px;font-size:11px}
#view-nearby .request-card.feed-card{grid-template-columns:108px minmax(0,1fr)}

.bottom-nav{padding:8px 7px max(10px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid #edf0f4}
.nav-item{font-size:10px;color:#75849b;font-weight:800;padding:5px 1px}
.nav-item span{font-size:21px;margin-bottom:4px}
.nav-item.active{color:#0a1835}
.publish-nav span{width:52px;height:52px;margin:-25px auto 3px!important;background:#ff5364;font-size:29px;box-shadow:0 8px 18px rgba(255,83,100,.28)}

@media(max-width:390px){
  .topbar{height:75px;padding:11px 13px}
  main{padding-left:12px;padding-right:12px}
  .brand-mark.small{width:43px;height:43px}
  .home-copy h1,.nearby-head h1{font-size:27px}
  .home-head{gap:8px}
  .home-see-all{font-size:12px}
  .request-card.feed-card,#view-nearby .request-card.feed-card{grid-template-columns:91px minmax(0,1fr);gap:10px}
  .request-thumb{height:91px}
  .feed-card h3{font-size:14px}
  .request-excerpt{font-size:11.5px}
  .request-meta-row{font-size:10.5px}
  .home-action{min-height:60px;border-radius:21px;padding:9px 10px;grid-template-columns:31px minmax(0,1fr) 13px;gap:5px}
  .home-action-icon{width:31px;height:31px;font-size:21px}
  .home-action strong{font-size:12.5px}
}

/* ===== LOCANOUS V4 — groupes, sous-groupes, cours, dons, échanges, location ===== */
.category-strip-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin:3px 3px 9px}
.category-strip-head>div{display:grid;gap:2px}
.category-strip-head strong{font-size:14px;color:#172037}
.category-strip-head small{font-size:10.5px;color:#7a8799}
.category-strip-head .text-btn{font-size:11px;padding:4px 0;white-space:nowrap}
.category-chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px 2px 12px;overscroll-behavior-inline:contain}
.category-chips::-webkit-scrollbar{display:none}
.category-chip{flex:0 0 auto;border:1px solid #e4e9ee;background:#fff;color:#344257;border-radius:16px;padding:9px 11px;display:flex;align-items:center;gap:6px;font-size:10.5px;font-weight:850;white-space:nowrap;box-shadow:0 3px 10px rgba(20,35,61,.035)}
.category-chip span{font-size:16px;line-height:1}
.category-chip.active{background:#0a1835;border-color:#0a1835;color:#fff}
.home-category-chips{margin-bottom:4px}
.category-filter-strip{margin-top:-2px;padding-bottom:13px}
.request-category-line{display:flex;align-items:center;gap:5px;margin:1px 0 3px;font-size:9px;line-height:1.1;text-transform:uppercase;letter-spacing:.45px;color:#8591a3;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.request-category-line span{font-size:11px;flex:0 0 auto}
.category-selects{align-items:end}
.special-fields{margin-top:-2px;padding:1px 0}
.mode-note{border:1px solid #dfe7e2;background:#f3f8f5;color:#39594c;border-radius:14px;padding:12px 13px;font-size:11px;line-height:1.45;margin:10px 0 14px;font-weight:750}
#courseExtra{border-top:1px solid #eef1f3;border-bottom:1px solid #eef1f3;margin:7px 0;padding:1px 0}
#exchangeExtra{border-top:1px solid #eef1f3;margin-top:7px;padding-top:1px}

@media(max-width:390px){
  .category-selects{grid-template-columns:1fr}
  .category-selects .field{margin-top:8px;margin-bottom:8px}
  .category-chip{padding:8px 10px;font-size:10px}
  .category-strip-head small{display:none}
}

/* ===== LOCA & NOUS V5.1 — flèches de défilement des catégories ===== */
.category-scroll-wrap{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;gap:6px;margin:0 0 4px}
.category-scroll-wrap .category-chips{min-width:0;margin:0;padding-left:0;padding-right:0}
.category-scroll-arrow{width:34px;height:34px;border-radius:50%;border:1px solid #dfe5eb;background:#fff;color:#172037;display:grid;place-items:center;font-size:27px;line-height:1;font-weight:700;cursor:pointer;box-shadow:0 5px 14px rgba(20,35,61,.08);z-index:3;padding:0 0 3px}
.category-scroll-arrow:hover{background:#f5f7fa}
.category-scroll-arrow:active{transform:scale(.95)}
.category-scroll-arrow:disabled{opacity:.28;cursor:default;box-shadow:none;transform:none}
.category-filter-wrap{margin-top:-2px}
.category-filter-wrap .category-filter-strip{margin-top:0}
@media (max-width:430px){
  .category-scroll-wrap{grid-template-columns:32px minmax(0,1fr) 32px;gap:4px}
  .category-scroll-arrow{width:30px;height:30px;font-size:24px}
}

.subgroup-filter-wrap{margin-top:-8px;margin-bottom:2px}
.subgroup-filter-wrap .category-chip{font-size:10px;padding-top:8px;padding-bottom:8px}

/* V5.2.1 — repères groupes / sous-groupes */
.filter-row-label{margin:8px 40px 5px;font-size:9px;font-weight:950;letter-spacing:.08em;color:#7b8798;text-transform:uppercase}
.filter-row-label.subgroup-label{margin-top:2px}
@media(max-width:430px){.filter-row-label{margin-left:36px;margin-right:36px}}

/* ===== LOCA & NOUS V5.3 — défilement catégories fiabilisé ===== */
.category-chips{scroll-behavior:auto;scroll-snap-type:x proximity;touch-action:pan-x;max-width:100%;}
.category-chip{scroll-snap-align:start;flex-shrink:0;}
.category-scroll-arrow{position:relative;pointer-events:auto;user-select:none;-webkit-user-select:none;touch-action:manipulation;}
.category-scroll-arrow:not(:disabled){background:#fff;border-color:#cfd8e3;color:#0a1835;}
.category-scroll-arrow:not(:disabled):hover{background:#f7f9fc;}

/* V5.6 — carrousels paginés accueil + groupes + sous-groupes */
.category-scroll-wrap{overflow:visible!important;}
.category-scroll-wrap .category-chips{overflow:hidden!important;scroll-behavior:auto!important;}
.category-scroll-arrow{z-index:20!important;pointer-events:auto!important;touch-action:manipulation!important;}
.category-scroll-wrap .category-chip{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* ===== LOCA & NOUS V5.8 — responsive site web + mobile ===== */
/* Mobile reste volontairement identique. Les règles suivantes commencent au format tablette. */
@media (min-width:700px) and (max-width:899px){
  body{padding:18px 0}
  .app{width:min(720px,calc(100% - 32px));border-radius:28px;min-height:calc(100vh - 36px);overflow:hidden}
  .bottom-nav{width:min(720px,calc(100% - 32px));bottom:18px;border-radius:0 0 28px 28px}
  main{padding-left:24px;padding-right:24px}
  .home-feed,#view-nearby .cards{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
  .request-card.feed-card,#view-nearby .request-card.feed-card{grid-template-columns:100px minmax(0,1fr)}
  .home-actions{grid-template-columns:1fr 1fr}
}

@media (min-width:900px){
  html,body{min-height:100%;background:#eaf0f4}
  body{padding:10px 12px}
  .app{
    width:100%;
    max-width:none;
    min-height:calc(100vh - 20px);
    margin:0 auto;
    border-radius:22px;
    overflow:hidden;
    padding-bottom:0;
    box-shadow:0 24px 70px rgba(20,35,61,.13);
  }
  .topbar{
    height:86px;
    padding:16px 30px;
    position:sticky;
    top:0;
    border-bottom:1px solid #edf0f4;
    background:rgba(255,255,255,.98);
  }
  .topbar .brand-mark.small{width:52px;height:52px;border-radius:16px;font-size:15px}
  .topbar .brand-name{font-size:18px}
  .topbar .brand-tag{font-size:12px}
  .profile-bubble{width:46px;height:46px}

  /* Sur ordinateur, la navigation du bas devient une vraie barre de site sous l'en-tête. */
  .bottom-nav{
    position:sticky;
    top:86px;
    left:auto;
    bottom:auto;
    transform:none;
    width:100%;
    height:62px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:7px 24px;
    border-top:0;
    border-bottom:1px solid #edf0f4;
    background:rgba(255,255,255,.98);
    backdrop-filter:blur(14px);
    border-radius:0;
    z-index:19;
  }
  .nav-item{
    min-width:126px;
    height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    border-radius:14px;
    padding:0 16px;
    font-size:12px;
    color:#69778c;
    transition:.15s;
  }
  .nav-item span{display:inline!important;font-size:18px;margin:0!important;line-height:1}
  .nav-item:hover{background:#f4f7f9;color:#0a1835}
  .nav-item.active{background:#eef4f2;color:#075b50}
  .publish-nav{background:#fff0f1;color:#d84e59}
  .publish-nav span{
    width:auto;height:auto;display:inline!important;margin:0!important;border-radius:0;background:transparent;color:inherit;
    box-shadow:none;font-size:20px;
  }
  .publish-nav.active{background:#ff5b61;color:#fff}

  main{padding:34px 38px 48px}
  .view{max-width:100%}

  /* Accueil web : grande introduction + grille de demandes. */
  .home-head{padding:8px 4px 24px;align-items:end}
  .home-copy h1{font-size:48px;line-height:.98;letter-spacing:-2.1px;max-width:720px;margin-bottom:13px}
  .home-copy p{font-size:17px;line-height:1.45}
  .home-see-all{font-size:15px;padding-bottom:5px}
  .category-strip-head{margin-top:8px;margin-bottom:13px}
  .category-strip-head strong{font-size:18px}
  .category-strip-head small{font-size:12px}
  .category-strip-head .text-btn{font-size:13px}
  .category-scroll-wrap{grid-template-columns:42px minmax(0,1fr) 42px;gap:10px;margin-bottom:14px}
  .category-scroll-arrow{width:40px;height:40px;font-size:28px}
  .category-chip{padding:11px 15px;font-size:12px;border-radius:18px}
  .category-chip span{font-size:18px}

  .home-feed,#view-nearby .cards{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    align-items:start;
  }
  .request-card.feed-card,#view-nearby .request-card.feed-card{
    grid-template-columns:136px minmax(0,1fr);
    min-height:146px;
    padding:12px;
    border-radius:22px;
  }
  .request-thumb{height:122px;border-radius:17px}
  .feed-card h3{font-size:18px;margin-bottom:7px}
  .request-excerpt{font-size:13.5px;line-height:1.38;margin-bottom:10px}
  .request-meta-row{font-size:12px;gap:5px 10px}
  .request-category-line{font-size:10px;margin-bottom:5px}
  .heart-btn{width:35px;height:35px;font-size:31px}
  .home-actions{grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}
  .home-action{min-height:72px;border-radius:24px;padding:12px 18px}
  .home-action strong{font-size:16px}

  /* Pages internes : largeur confortable sans étirer les formulaires à l'excès. */
  #view-publish,#view-detail,#view-chat,#view-profile{max-width:900px;margin:0 auto}
  #view-messages{max-width:980px;margin:0 auto}
  #view-nearby{max-width:1100px;margin:0 auto}
  .page-head,.nearby-head{padding-top:4px;padding-bottom:22px}
  .page-head h1,.nearby-head h1{font-size:42px;letter-spacing:-1.7px}
  .page-head p,.nearby-head p{font-size:15px}
  .panel{padding:24px;border-radius:24px}
  .field{margin:17px 0}
  .field label{font-size:13px}
  .field input,.field textarea,.field select{padding:14px 15px}
  .choice-row .choice{padding:12px 10px;font-size:12px}
  .detail-card{padding:28px;border-radius:28px}
  .detail-card h1{font-size:38px}
  .chat-box{min-height:52vh}
  .chat-compose{bottom:0}

  .auth-card{width:min(520px,100%);padding:32px;border-radius:32px}
}

@media (min-width:1280px){
  .app{width:1180px}
  main{padding-left:44px;padding-right:44px}
}

/* ===== LOCA & NOUS V5.9 — accueil web enrichi ===== */
.desktop-only{display:none!important}

@media (min-width:900px){
  .desktop-only{display:block!important}

  .desktop-launch-panel{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 350px;
    gap:18px;
    align-items:stretch;
    margin:0 0 20px;
  }
  .desktop-search-zone{
    display:grid;
    grid-template-columns:minmax(260px,1fr) 160px 250px 118px;
    gap:9px;
    padding:12px;
    background:#f7f9fb;
    border:1px solid #e7ecf1;
    border-radius:22px;
  }
  .desktop-search-box,.desktop-location-box,.desktop-radius-box{
    min-width:0;
    height:50px;
    display:flex;
    align-items:center;
    gap:9px;
    padding:0 13px;
    background:#fff;
    border:1px solid #e0e6ec;
    border-radius:15px;
    color:#748196;
  }
  .desktop-search-box span,.desktop-location-box span{font-size:21px;flex:0 0 auto}
  .desktop-search-box input,.desktop-location-box input{
    min-width:0;width:100%;border:0;outline:0;background:transparent;color:#172037;font-size:13px;font-weight:700;padding:0
  }
  .desktop-search-box input::placeholder{color:#98a3b2;font-weight:600}
  .desktop-radius-box{height:auto;min-height:64px;display:grid;grid-template-columns:1fr;gap:5px;padding:8px 12px}
  .desktop-radius-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
  .desktop-radius-head span{font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.06em;color:#8a95a5}
  .desktop-radius-head strong{font-size:12px;color:#0b5a50}
  .desktop-radius-box input[type=range]{width:100%;accent-color:#0b5a50;cursor:pointer;margin:0}
  .desktop-radius-scale{display:grid;grid-template-columns:repeat(5,1fr);gap:3px}
  .desktop-radius-scale span{font-size:7.5px;color:#9aa4b2;font-weight:800;text-transform:none;letter-spacing:0;text-align:center}
  .desktop-radius-scale span:first-child{text-align:left}.desktop-radius-scale span:last-child{text-align:right}
  .desktop-search-btn{
    border:0;border-radius:15px;background:#0b5a50;color:#fff;font-size:12px;font-weight:900;cursor:pointer;padding:0 16px
  }
  .desktop-search-btn:hover{background:#084b43}

  .desktop-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .desktop-quick-btn{
    border:0;border-radius:20px;padding:12px 13px;display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:9px;text-align:left;cursor:pointer;align-content:center
  }
  .desktop-quick-btn>span{grid-row:1/3;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.8);font-size:18px}
  .desktop-quick-btn strong{font-size:12.5px;line-height:1.1}
  .desktop-quick-btn small{font-size:9.5px;margin-top:3px;opacity:.72;font-weight:750}
  .desktop-quick-btn.need{background:#e7f2ef;color:#0a5b50}
  .desktop-quick-btn.help{background:#fff0f1;color:#d84e59}
  .desktop-quick-btn:hover{transform:translateY(-1px)}

  .desktop-stats{
    display:grid!important;
    grid-template-columns:repeat(5,1fr);
    border:1px solid #e8edf1;
    border-radius:20px;
    overflow:hidden;
    margin:0 0 26px;
    background:#fff;
  }
  .desktop-stats>div{padding:13px 18px;display:flex;align-items:baseline;gap:8px;border-right:1px solid #edf1f4}
  .desktop-stats>div:last-child{border-right:0}
  .desktop-stats strong{font-size:20px;color:#172037}
  .desktop-stats span{font-size:10.5px;color:#7c899a;font-weight:750}

  .desktop-home-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:start}
  .desktop-feed-column{min-width:0}
  .desktop-sidebar{display:grid!important;gap:16px}
  .desktop-section-title{display:flex!important;align-items:end;justify-content:space-between;margin:3px 2px 12px}
  .desktop-section-title h2{margin:2px 0 0;font-size:20px;color:#172037}
  .desktop-section-title>span{font-size:11px;color:#8390a1;font-weight:750;padding-bottom:2px}
  .desktop-kicker{font-size:8.5px;letter-spacing:.1em;font-weight:950;color:#8793a4}

  .desktop-card{background:#fff;border:1px solid #e7ecf1;border-radius:22px;padding:17px;box-shadow:0 8px 24px rgba(20,35,61,.045)}
  .desktop-card h3{font-size:17px;margin:3px 0 0;color:#172037}
  .desktop-card-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:13px}
  .desktop-card-head button{border:0;background:transparent;color:#0a5b50;font-size:10px;font-weight:900;cursor:pointer;padding:0}
  .desktop-mini-list{display:grid;gap:8px}
  .desktop-mini-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:9px;align-items:center;padding:8px;border-radius:14px;background:#f8fafb;cursor:pointer}
  .desktop-mini-item:hover{background:#f2f6f7}
  .desktop-mini-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#fff;font-size:20px;border:1px solid #ebeff2}
  .desktop-mini-copy{min-width:0}
  .desktop-mini-copy strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#172037}
  .desktop-mini-copy small{display:block;margin-top:3px;font-size:9px;color:#8490a0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .desktop-mini-price{font-size:10px;font-weight:950;color:#0a5b50;white-space:nowrap}
  .desktop-mini-price.paid{color:#d55762}

  .trust-card{background:linear-gradient(145deg,#f5faf8,#fff)}
  .trust-card h3{margin-bottom:13px}
  .trust-points{display:grid;gap:9px}
  .trust-points span{font-size:10.5px;font-weight:800;color:#526174;display:flex;align-items:center;gap:7px}

  .desktop-discovery-grid{display:grid!important;grid-template-columns:1.1fr .9fr;gap:20px;margin-top:20px}
  .desktop-popular-chips{display:flex;flex-wrap:wrap;gap:9px}
  .desktop-popular-chips button{border:1px solid #e0e6eb;background:#f8fafb;border-radius:14px;padding:10px 12px;font-size:10.5px;font-weight:850;color:#344257;cursor:pointer}
  .desktop-popular-chips button:hover{border-color:#bdd4cd;background:#f1f7f5;color:#0a5b50}
  .desktop-new-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .desktop-new-item{border:1px solid #edf0f3;border-radius:14px;padding:9px 10px;cursor:pointer;min-width:0}
  .desktop-new-item:hover{background:#fafcfd}
  .desktop-new-item span{display:block;font-size:8.5px;color:#8b96a5;font-weight:900;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .desktop-new-item strong{display:block;margin-top:4px;font-size:10.5px;color:#263349;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

  .home-actions{display:none}
}

@media (min-width:900px) and (max-width:1100px){
  .desktop-launch-panel{grid-template-columns:1fr}
  .desktop-search-zone{grid-template-columns:minmax(220px,1fr) 145px 220px 105px}
  .desktop-quick-actions{grid-template-columns:1fr 1fr}
  .desktop-home-grid{grid-template-columns:minmax(0,1fr) 290px}
}


/* V6.1 — Débarras, urgence et navigation locale */
.urgent-filter{border-color:#ffd5d9;color:#c84752;background:#fff8f8}
.urgent-filter.active{background:#e6535f;border-color:#e6535f;color:#fff}
.urgent-switch{border:1px solid #ffe0e2;background:#fff8f8;border-radius:17px;padding:12px 14px;margin:4px 0 16px}
.urgent-switch strong{color:#b84049}
.urgent-badge{display:inline-flex;align-items:center;margin-left:7px;padding:3px 6px;border-radius:999px;background:#fff0f1;color:#cf4651;font-size:8px;letter-spacing:0;text-transform:none;white-space:nowrap}
.urgent-card{border-color:#f4c9ce!important;box-shadow:0 8px 22px rgba(205,70,81,.06)}
.detail-urgent{display:inline-flex;align-items:center;background:#fff0f1;color:#c84550;border:1px solid #ffd9dc;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:900;margin:6px 0 5px}

@media (min-width:900px){
  .desktop-city-section{margin-top:20px;background:#fff;border:1px solid #e7ecf1;border-radius:24px;padding:20px;box-shadow:0 8px 24px rgba(20,35,61,.045)}
  .desktop-city-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:16px}
  .desktop-city-head h2{margin:4px 0 0;font-size:21px;color:#172037}
  .desktop-city-head p{margin:0;max-width:460px;text-align:right;font-size:11px;line-height:1.45;color:#7d8999;font-weight:700}
  .major-city-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
  .major-city-card{border:1px solid #edf0f3;border-radius:17px;padding:12px 13px;background:#fafcfd;min-width:0}
  .major-city-card h3{margin:0 0 8px;font-size:13px;color:#172037}
  .major-city-links{display:flex;flex-wrap:wrap;gap:5px 7px}
  .major-city-links a{font-size:8.8px;font-weight:800;color:#647287;text-decoration:none;border-bottom:1px solid transparent}
  .major-city-links a:hover{color:#0a5b50;border-bottom-color:#0a5b50}
}
@media (min-width:900px) and (max-width:1100px){
  .desktop-stats{grid-template-columns:repeat(5,1fr)}
  .desktop-stats>div{padding:11px 10px}
  .desktop-stats span{font-size:9.5px}
  .major-city-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:899px){.desktop-city-section{display:none!important}}


/* V6.2 — rendre visibles rayon, urgences, débarras et 9 villes dès le haut de page */
@media (min-width:900px){
  .desktop-priority-row{
    display:grid!important;grid-template-columns:minmax(0,1fr);gap:10px;margin:-8px 0 16px;
    padding:12px 14px;background:#fff;border:1px solid #e8edf1;border-radius:18px
  }
  .desktop-priority-services,.desktop-city-quick{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
  .desktop-priority-label{font-size:8.5px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;color:#8a95a5;margin-right:4px}
  .desktop-priority-chip,.desktop-city-quick button{
    border:1px solid #e1e7ec;background:#f9fbfc;color:#354359;border-radius:999px;padding:7px 10px;
    font-size:9.5px;font-weight:850;cursor:pointer;white-space:nowrap
  }
  .desktop-priority-chip:hover,.desktop-city-quick button:hover{border-color:#bdd4cd;background:#f1f7f5;color:#0b5a50}
  .desktop-priority-chip.urgent{background:#fff3f4;border-color:#ffd5d9;color:#c84752}
  .desktop-priority-chip.urgent:hover{background:#e6535f;border-color:#e6535f;color:#fff}
  .desktop-city-quick{padding-top:9px;border-top:1px solid #eef1f4}
  .desktop-city-quick button.active{background:#0b5a50;color:#fff;border-color:#0b5a50}
}
@media (min-width:900px) and (max-width:1100px){
  .desktop-search-zone{grid-template-columns:minmax(210px,1fr) 135px 210px 100px}
}

/* === LOCA & NOUS V6.3 — identité orange & blanche === */
:root{
  --green:#f97316;
  --green-2:#ea580c;
  --sage:#fff0e5;
  --sage-2:#fff8f3;
  --coral:#fb923c;
  --sand:#fff2e8;
  --ink:#2b2118;
  --muted:#7d7067;
  --line:#f0ddd0;
  --white:#fff;
  --danger:#d94a1e;
  --shadow:0 14px 36px rgba(249,115,22,.11);
}
html,body{background:#fff7f1;color:var(--ink)}
.app,.topbar,.bottom-nav{background:#fff}
.auth-screen{background:radial-gradient(circle at 15% 10%,#ffe6d2 0,transparent 34%),radial-gradient(circle at 90% 90%,#fff1e7 0,transparent 36%),#fffaf7}
.auth-card{box-shadow:0 28px 70px rgba(249,115,22,.13)}
.brand-mark,.brand-mark.small{background:linear-gradient(145deg,#ff8a2b,#f26a0b)!important;color:#fff!important;box-shadow:0 7px 18px rgba(249,115,22,.24)!important}
.brand-name{color:#2b2118}
.brand-tag,.muted{color:#84746a}
.profile-bubble{background:#fff0e4!important;color:#c65409!important;border:1px solid #ffd8bc}
.icon-btn{background:#fff4ec;color:#d75d0c}
.eyebrow,.desktop-kicker{color:#e85d0b!important}
.btn-primary{background:linear-gradient(135deg,#f97316,#fb8c2f)!important;color:#fff}
.btn-coral{background:#fff!important;color:#e85d0b!important;border:1px solid #f7b27d!important}
.btn-light{background:#fff4ec;color:#d65a09}
.segmented{background:#fff2e8}
.seg.active{color:#d75d0c}
.field input:focus,.field textarea:focus,.field select:focus{border-color:#fb9a56;box-shadow:0 0 0 3px rgba(249,115,22,.10)}
.hero{background:linear-gradient(145deg,#fff0e5,#fffaf6)}
.hero:after{border-color:rgba(249,115,22,.08)}
.text-btn{color:#e15b08}
.price,.detail-price,.money-input span{color:#e7650f}
.tag.free{background:#fff4e9;color:#b9500c}
.tag.paid{background:#ffe6d5;color:#c64f08}
.choice-row .choice.active{border-color:#f7a66d;background:#fff2e8;color:#d95c0a}
.filter.active,.category-chip.active{background:#f97316!important;border-color:#f97316!important;color:#fff!important}
.category-chip{border-color:#f0ddd0;color:#55483f}
.category-scroll-arrow{border-color:#f3d7c4;color:#d95b09}
.category-scroll-arrow:hover,.category-scroll-arrow:not(:disabled):hover{background:#fff2e8}
.home-action.need{background:linear-gradient(135deg,#f97316,#fb8c2f)!important;color:#fff!important}
.home-action.help{background:#fff!important;color:#d95c0a!important;border:1px solid #f5b17f!important;box-shadow:0 8px 18px rgba(249,115,22,.06)!important}
.home-action.help .home-action-icon,.home-action.help .home-action-arrow{color:#d95c0a!important}
.publish-nav span{background:#f97316!important;box-shadow:0 8px 18px rgba(249,115,22,.28)!important}
.publish-nav{color:#d95c0a!important}
.nav-item.active{color:#d95c0a!important}
.heart-btn.liked{color:#f97316!important}
.msg.me{background:#f97316!important}
.mode-note{border-color:#f5d8c3;background:#fff8f3;color:#70584a}

@media (min-width: 860px){
  body{background:#fff5ee}
  .app{background:#fff;box-shadow:0 20px 70px rgba(156,72,15,.10)}
  .nav-item:hover{background:#fff3ea!important;color:#d95c0a!important}
  .nav-item.active{background:#fff0e5!important;color:#d95c0a!important}
  .publish-nav{background:#fff0e5!important;color:#d95c0a!important}
  .publish-nav.active{background:#f97316!important;color:#fff!important}
  .desktop-launch-panel{background:linear-gradient(135deg,#fff8f2,#fff)!important;border-color:#f2dfd2!important}
  .desktop-search-zone{background:#fff!important;border-color:#f0ddd0!important}
  .desktop-search-box,.desktop-location-box,.desktop-radius-box{background:#fffaf6!important;border-color:#f0ddd0!important}
  .desktop-search-box:focus-within,.desktop-location-box:focus-within,.desktop-radius-box:focus-within{border-color:#f3a56e!important;box-shadow:0 0 0 3px rgba(249,115,22,.09)!important}
  .desktop-search-btn{background:#f97316!important;color:#fff!important;box-shadow:0 7px 16px rgba(249,115,22,.18)}
  .desktop-top-urgent{border:0;border-radius:15px;background:#df5318;color:#fff;font-size:12px;font-weight:950;cursor:pointer;padding:0 16px;min-height:46px;box-shadow:0 7px 16px rgba(223,83,24,.20);white-space:nowrap}
  .desktop-top-urgent:hover{background:#c94410}
  .desktop-quick-btn.need{background:#f97316!important;color:#fff!important;border:1px solid #f97316!important}
  .desktop-quick-btn.help{background:#fff!important;color:#dc5c0a!important;border:1px solid #f4b17f!important}
  .desktop-quick-btn.need small{color:#fff3e8!important}
  .desktop-quick-btn.help small{color:#9a673f!important}
  .desktop-priority-row{border-color:#f1dfd2!important;background:#fffaf6!important}
  .desktop-priority-chip,.desktop-city-quick button{background:#fff!important;color:#b94d08!important;border-color:#f2d2bb!important}
  .desktop-priority-chip:hover,.desktop-city-quick button:hover{background:#fff0e5!important;color:#d95c0a!important;border-color:#f4a56d!important}
  .desktop-priority-chip.donation{background:#fff!important;color:#e4620d!important;border-color:#f5a972!important}
  .desktop-city-quick button.active{background:#f97316!important;color:#fff!important;border-color:#f97316!important}
  .desktop-stats>div{background:#fffaf6!important;border-color:#f1dfd2!important}
  .desktop-stats strong{color:#d95c0a!important}
  .desktop-card,.desktop-city-section{border-color:#f1dfd2!important;box-shadow:0 8px 24px rgba(157,75,18,.045)!important}
  .desktop-mini-item{background:#fff8f3!important}
  .desktop-mini-item:hover{background:#fff0e5!important}
  .desktop-mini-icon{border-color:#f2dfd2!important;background:#fff!important}
  .trust-card{background:linear-gradient(145deg,#fff8f2,#fff)!important}
  .desktop-popular-chips button{background:#fffaf6!important;border-color:#f0d8c7!important;color:#805032!important}
  .desktop-popular-chips button:hover{background:#fff0e5!important;border-color:#f2a66f!important;color:#d95c0a!important}
  .major-city-card{background:#fffaf7!important;border-color:#f3e1d4!important}
  .major-city-links a{color:#d95c0a!important}
}

.urgent-filter{border-color:#f4a27a!important;color:#c84513!important;background:#fff7f2!important}
.urgent-filter.active{background:#df5318!important;border-color:#df5318!important;color:#fff!important}
.urgent-switch{border-color:#f5b18f!important;background:#fff6f0!important}
.urgent-switch strong{color:#c84513!important}
.urgent-badge{background:#fff0e8!important;color:#c84513!important}
.urgent-card{border-color:#f2b091!important;box-shadow:0 8px 22px rgba(223,83,24,.07)!important}
.detail-urgent{background:#fff0e8!important;color:#c84513!important;border-color:#f4b18f!important}

/* === LOCA & NOUS V6.4 — identité locale par ville === */
:root{
  --city-primary:#722F48;
  --city-primary-2:#4E2032;
  --city-highlight:#E8A0B4;
  --city-soft:#F4E7EB;
  --city-soft-2:#FFF8F1;
  --city-ink:#722F48;
  --city-muted:#7C6B72;
  --city-line:#E9D7DD;
  --city-shadow:rgba(114,47,72,.12);
}
html,body{background:var(--city-soft-2)!important;color:var(--city-ink)!important}
body{transition:background-color .22s ease,color .22s ease}
.app,.topbar,.bottom-nav{background:#fff!important}
.auth-screen{background:radial-gradient(circle at 15% 10%,var(--city-soft) 0,transparent 34%),radial-gradient(circle at 90% 90%,#fff 0,transparent 36%),var(--city-soft-2)!important}
.auth-card{box-shadow:0 28px 70px var(--city-shadow)!important}
.brand-mark,.brand-mark.small{background:linear-gradient(145deg,var(--city-primary),var(--city-primary-2))!important;color:#fff!important;box-shadow:0 7px 18px var(--city-shadow)!important}
.brand-name{color:var(--city-ink)!important}
.brand-amp{color:var(--city-highlight)!important}
.brand-tag,.muted{color:var(--city-muted)!important}
.profile-bubble{background:var(--city-soft)!important;color:var(--city-primary-2)!important;border:1px solid var(--city-line)!important}
.icon-btn{background:var(--city-soft);color:var(--city-primary-2)}
.eyebrow,.desktop-kicker{color:var(--city-primary)!important}
.btn-primary{background:linear-gradient(135deg,var(--city-primary),var(--city-primary-2))!important;color:#fff!important}
.btn-coral{background:#fff!important;color:var(--city-primary)!important;border:1px solid var(--city-highlight)!important}
.btn-light{background:var(--city-soft);color:var(--city-primary-2)}
.segmented{background:var(--city-soft)!important}
.seg.active{color:var(--city-primary)!important}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--city-highlight)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--city-primary) 12%,transparent)!important}
.hero{background:linear-gradient(145deg,var(--city-soft),#fff)!important}
.hero:after{border-color:color-mix(in srgb,var(--city-primary) 9%,transparent)!important}
.text-btn{color:var(--city-primary)!important}
.price,.detail-price,.money-input span{color:var(--city-primary)!important}
.tag.free{background:var(--city-soft)!important;color:var(--city-primary-2)!important}
.tag.paid{background:color-mix(in srgb,var(--city-highlight) 22%,white)!important;color:var(--city-primary-2)!important}
.choice-row .choice.active{border-color:var(--city-highlight)!important;background:var(--city-soft)!important;color:var(--city-primary-2)!important}
.filter.active,.category-chip.active{background:var(--city-primary)!important;border-color:var(--city-primary)!important;color:#fff!important}
.category-chip{border-color:var(--city-line)!important;color:var(--city-ink)!important}
.category-scroll-arrow{border-color:var(--city-line)!important;color:var(--city-primary-2)!important}
.category-scroll-arrow:hover,.category-scroll-arrow:not(:disabled):hover{background:var(--city-soft)!important}
.home-action.need{background:linear-gradient(135deg,var(--city-primary),var(--city-primary-2))!important;color:#fff!important}
.home-action.help{background:#fff!important;color:var(--city-primary)!important;border:1px solid var(--city-highlight)!important;box-shadow:0 8px 18px color-mix(in srgb,var(--city-primary) 8%,transparent)!important}
.home-action.help .home-action-icon,.home-action.help .home-action-arrow{color:var(--city-primary)!important}
.publish-nav span{background:var(--city-primary)!important;box-shadow:0 8px 18px var(--city-shadow)!important}
.publish-nav,.nav-item.active{color:var(--city-primary)!important}
.heart-btn.liked{color:var(--city-primary)!important}
.msg.me{background:var(--city-primary)!important}
.mode-note{border-color:var(--city-line)!important;background:var(--city-soft-2)!important;color:var(--city-ink)!important}

@media (min-width:860px){
  body{background:var(--city-soft-2)!important}
  .app{background:#fff!important;box-shadow:0 20px 70px var(--city-shadow)!important}
  .nav-item:hover{background:var(--city-soft)!important;color:var(--city-primary)!important}
  .nav-item.active{background:var(--city-soft)!important;color:var(--city-primary)!important}
  .publish-nav{background:var(--city-soft)!important;color:var(--city-primary)!important}
  .publish-nav.active{background:var(--city-primary)!important;color:#fff!important}
  .desktop-launch-panel{background:linear-gradient(135deg,var(--city-soft-2),#fff)!important;border-color:var(--city-line)!important}
  .desktop-search-zone{background:#fff!important;border-color:var(--city-line)!important}
  .desktop-search-box,.desktop-location-box,.desktop-radius-box{background:var(--city-soft-2)!important;border-color:var(--city-line)!important}
  .desktop-search-box:focus-within,.desktop-location-box:focus-within,.desktop-radius-box:focus-within{border-color:var(--city-highlight)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--city-primary) 9%,transparent)!important}
  .desktop-search-btn{background:var(--city-primary)!important;color:#fff!important;box-shadow:0 7px 16px var(--city-shadow)!important}
  .desktop-quick-btn.need{background:var(--city-primary)!important;color:#fff!important;border-color:var(--city-primary)!important}
  .desktop-quick-btn.help{background:#fff!important;color:var(--city-primary)!important;border-color:var(--city-highlight)!important}
  .desktop-quick-btn.need small{color:#fff!important;opacity:.86}
  .desktop-quick-btn.help small{color:var(--city-muted)!important}
  .desktop-priority-row{border-color:var(--city-line)!important;background:var(--city-soft-2)!important}
  .desktop-priority-chip,.desktop-city-quick button{background:#fff!important;color:var(--city-primary-2)!important;border-color:var(--city-line)!important}
  .desktop-priority-chip:hover,.desktop-city-quick button:hover{background:var(--city-soft)!important;color:var(--city-primary)!important;border-color:var(--city-highlight)!important}
  .desktop-priority-chip.donation{background:#fff!important;color:var(--city-primary)!important;border-color:var(--city-highlight)!important}
  .desktop-city-quick button.active{background:var(--city-primary)!important;color:#fff!important;border-color:var(--city-primary)!important}
  .desktop-stats>div{background:var(--city-soft-2)!important;border-color:var(--city-line)!important}
  .desktop-stats strong{color:var(--city-primary)!important}
  .desktop-card,.desktop-city-section{border-color:var(--city-line)!important;box-shadow:0 8px 24px color-mix(in srgb,var(--city-primary) 5%,transparent)!important}
  .desktop-mini-item{background:var(--city-soft-2)!important}
  .desktop-mini-item:hover{background:var(--city-soft)!important}
  .desktop-mini-icon{border-color:var(--city-line)!important;background:#fff!important}
  .trust-card{background:linear-gradient(145deg,var(--city-soft-2),#fff)!important}
  .desktop-popular-chips button{background:var(--city-soft-2)!important;border-color:var(--city-line)!important;color:var(--city-ink)!important}
  .desktop-popular-chips button:hover{background:var(--city-soft)!important;border-color:var(--city-highlight)!important;color:var(--city-primary)!important}
  .major-city-card{background:var(--city-soft-2)!important;border-color:var(--city-line)!important}
  .major-city-links a{color:var(--city-primary)!important}
}
/* Urgence reste volontairement indépendante de la couleur locale. */
.urgent-filter,.desktop-priority-chip.urgent{border-color:#F6B7A8!important;color:#C84735!important;background:#FFF4F1!important}
.urgent-filter.active,.desktop-priority-chip.urgent:hover{background:#E95E4B!important;border-color:#E95E4B!important;color:#fff!important}
.urgent-switch{border-color:#F6C0B4!important;background:#FFF5F2!important}
.urgent-switch strong{color:#BF4333!important}
.urgent-badge,.detail-urgent{background:#FFF0EC!important;color:#C84735!important;border-color:#F4B7A8!important}
.urgent-card{border-color:#F1B7AA!important;box-shadow:0 8px 22px rgba(210,79,59,.07)!important}


/* === LOCA & NOUS V6.5 — wordmark logo, sans carré L&N === */
.brand-wordmark{gap:0!important;align-items:center!important}
.brand-wordmark .brand-name{
  color:var(--city-primary-2)!important;
  font-size:24px!important;
  font-weight:950!important;
  letter-spacing:.9px!important;
  line-height:.95!important;
  white-space:nowrap;
}
.brand-wordmark .brand-amp{
  color:var(--city-highlight)!important;
  display:inline-block;
  font-size:1.08em;
  font-weight:950;
  margin:0 .04em;
  transform:translateY(.01em);
}
.brand-wordmark .brand-tag{
  color:var(--city-muted)!important;
  font-size:11px!important;
  line-height:1.15;
  margin-top:5px!important;
  white-space:nowrap;
}
.auth-card .brand-wordmark .brand-name{font-size:29px!important;letter-spacing:1px!important}
.auth-card .brand-wordmark .brand-tag{font-size:12px!important}
.topbar .brand-wordmark{padding-left:2px}
.topbar .brand-wordmark .brand-name{font-size:22px!important}
.topbar .brand-wordmark .brand-tag{font-size:10.5px!important}
@media (max-width:720px){
  .topbar .brand-wordmark .brand-name{font-size:19px!important;letter-spacing:.65px!important}
  .topbar .brand-wordmark .brand-tag{font-size:9.5px!important;margin-top:4px!important}
}
@media (min-width:900px){
  .topbar .brand-wordmark .brand-name{font-size:23px!important}
  .topbar .brand-wordmark .brand-tag{font-size:11px!important}
}


/* === LOCA & NOUS V6.6 — Accès direct par pictogrammes, sans libellés === */
@media (min-width:900px){
  .desktop-priority-services{gap:10px!important}
  .desktop-priority-chip.desktop-priority-icon{
    width:46px!important;height:42px!important;min-width:46px!important;padding:0!important;border-radius:14px!important;
    display:inline-grid!important;place-items:center!important;position:relative;overflow:visible;
  }
  .desktop-priority-chip.desktop-priority-icon svg{
    width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;
  }
  .desktop-priority-chip.desktop-priority-icon:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(30,40,60,.08)}
  .desktop-priority-chip.desktop-priority-icon:focus-visible{outline:3px solid color-mix(in srgb,var(--city-highlight) 55%,transparent);outline-offset:2px}
}

/* === LOCA & NOUS V6.8 — pictogrammes Accès direct, famille visuelle uniforme === */
@media (min-width:900px){
  .desktop-priority-row{
    align-items:flex-start!important;
  }
  .direct-access-cards{
    flex:1 1 auto!important;
    display:grid!important;
    grid-template-columns:auto repeat(6,minmax(92px,1fr))!important;
    gap:10px!important;
    align-items:stretch!important;
    flex-wrap:nowrap!important;
  }
  .direct-access-cards .desktop-priority-label{
    align-self:center!important;
    margin-right:2px!important;
    white-space:nowrap!important;
  }
  .direct-access-card{
    min-width:0!important;
    min-height:82px!important;
    border:1px solid var(--city-line)!important;
    border-radius:16px!important;
    background:#fff!important;
    color:var(--city-primary)!important;
    padding:10px 8px 9px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    cursor:pointer!important;
    box-shadow:0 4px 14px rgba(40,32,28,.045)!important;
    transition:.18s ease!important;
  }
  .direct-access-card:hover{
    transform:translateY(-2px)!important;
    background:var(--city-soft)!important;
    border-color:var(--city-highlight)!important;
    box-shadow:0 8px 20px rgba(40,32,28,.08)!important;
  }
  .direct-access-icon{
    width:34px!important;
    height:34px!important;
    display:grid!important;
    place-items:center!important;
    color:var(--city-primary)!important;
  }
  .direct-access-icon svg{
    width:34px!important;
    height:34px!important;
    display:block!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:3.2!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }
  .direct-access-name{
    color:var(--city-primary-2)!important;
    font-size:11.5px!important;
    font-weight:900!important;
    line-height:1.05!important;
    text-align:center!important;
  }
  .urgent-direct .direct-access-icon,
  .urgent-direct .direct-access-name{color:#B23A2B!important}
  .urgent-direct{border-color:#F0C6BD!important;background:#FFF9F7!important}
  .urgent-direct:hover{background:#FFF0EC!important;border-color:#E58D7B!important}
}

@media (min-width:900px) and (max-width:1120px){
  .direct-access-cards{
    grid-template-columns:auto repeat(6,minmax(78px,1fr))!important;
    gap:7px!important;
  }
  .direct-access-card{min-height:76px!important;padding:8px 5px!important}
  .direct-access-icon,.direct-access-icon svg{width:30px!important;height:30px!important}
  .direct-access-name{font-size:10.5px!important}
}


/* === LOCA & NOUS V6.9 — zone de recherche desktop remise en ordre === */
@media (min-width:900px){
  /* Une seule colonne : recherche d'abord, actions ensuite */
  .desktop-launch-panel{
    grid-template-columns:1fr!important;
    gap:12px!important;
    align-items:stretch!important;
  }

  /* Barre de recherche sur toute la largeur en première ligne */
  .desktop-search-zone{
    grid-template-columns:180px minmax(320px,1fr) 145px 150px!important;
    grid-template-rows:60px minmax(66px,auto)!important;
    gap:10px!important;
    padding:12px!important;
    align-items:stretch!important;
  }
  .desktop-search-box{
    grid-column:1 / -1!important;
    grid-row:1!important;
    width:100%!important;
    height:60px!important;
    padding:0 18px!important;
    border-radius:17px!important;
  }
  .desktop-search-box span{font-size:24px!important}
  .desktop-search-box input{
    font-size:15px!important;
    font-weight:750!important;
  }

  /* Deuxième ligne : ville, rayon, rechercher, urgence */
  .desktop-location-box{
    grid-column:1!important;
    grid-row:2!important;
    height:auto!important;
    min-height:66px!important;
  }
  .desktop-radius-box{
    grid-column:2!important;
    grid-row:2!important;
    min-height:66px!important;
  }
  .desktop-search-btn{
    grid-column:3!important;
    grid-row:2!important;
    min-height:66px!important;
    font-size:13px!important;
  }
  .desktop-top-urgent{
    grid-column:4!important;
    grid-row:2!important;
    min-height:66px!important;
    font-size:13px!important;
  }

  /* Les deux actions restent distinctes, compactes et alignées à droite */
  .desktop-quick-actions{
    width:min(560px,100%)!important;
    margin-left:auto!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
  }
  .desktop-quick-btn{
    min-height:68px!important;
    border-radius:17px!important;
  }
}

@media (min-width:900px) and (max-width:1080px){
  .desktop-search-zone{
    grid-template-columns:155px minmax(250px,1fr) 125px 130px!important;
  }
}

/* V7.2 — palette 3 uniquement : bordeaux clair + crème + rose poudré. Aucune modification de structure. */

/* === LOCA & NOUS V7.3 — validation recherche + urgence larges et alignées (desktop uniquement) === */
@media (min-width:900px){
  .desktop-search-zone{
    grid-template-columns:180px minmax(320px,1fr)!important;
    grid-template-rows:60px minmax(66px,auto) 66px!important;
  }
  .desktop-search-box{
    grid-column:1 / -1!important;
    grid-row:1!important;
  }
  .desktop-location-box{
    grid-column:1!important;
    grid-row:2!important;
  }
  .desktop-radius-box{
    grid-column:2!important;
    grid-row:2!important;
  }
  .desktop-search-btn{
    grid-column:1!important;
    grid-row:3!important;
    width:100%!important;
    min-height:66px!important;
    font-size:14px!important;
    border-radius:17px!important;
  }
  .desktop-top-urgent{
    grid-column:2!important;
    grid-row:3!important;
    width:100%!important;
    min-height:66px!important;
    font-size:14px!important;
    border-radius:17px!important;
  }
}

@media (min-width:900px) and (max-width:1080px){
  .desktop-search-zone{
    grid-template-columns:160px minmax(280px,1fr)!important;
  }
}

/* === LOCA & NOUS V7.7 — Rechercher déplacé sous la barre, à gauche d’Urgence === */
@media (min-width:900px){
  .desktop-search-box{
    grid-column:1 / -1!important;
    grid-row:1!important;
    width:100%!important;
    height:60px!important;
    padding:0 18px!important;
  }
  .desktop-search-box input{
    flex:1 1 auto!important;
    min-width:0!important;
  }
  .desktop-location-box{
    grid-column:1!important;
    grid-row:2!important;
  }
  .desktop-radius-box{
    grid-column:2!important;
    grid-row:2!important;
  }
  .desktop-search-btn{
    grid-column:1!important;
    grid-row:3!important;
    width:100%!important;
    min-height:66px!important;
    font-size:14px!important;
    border-radius:17px!important;
  }
  .desktop-top-urgent{
    grid-column:2!important;
    grid-row:3!important;
    width:100%!important;
    min-height:66px!important;
    font-size:14px!important;
    border-radius:17px!important;
  }
}

@media (min-width:900px) and (max-width:1080px){
  .desktop-search-zone{
    grid-template-columns:160px minmax(280px,1fr)!important;
  }
}

/* === LOCA & NOUS V7.11 — fond général D8C7E6 === */
.app{background:#D8C7E6!important;}


/* === LOCA & NOUS V7.12 — note haute + liste des 9 grandes villes dans la localisation === */
.topbar-note{
  flex:0 1 420px;
  text-align:center;
  font-size:12.5px;
  font-weight:800;
  color:#6d487e;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(152,118,174,.18);
  border-radius:999px;
  padding:10px 16px;
  line-height:1.2;
  margin:0 8px;
}
.desktop-location-box select{
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  border:0;
  background:transparent;
  width:100%;
  min-width:0;
  font:inherit;
  color:inherit;
  outline:none;
  cursor:pointer;
}
.desktop-location-box{position:relative;}
.desktop-location-box::after{
  content:"▾";
  position:absolute;
  right:14px;
  top:50%;
  transform:translateY(-50%);
  font-size:14px;
  color:#43314f;
  pointer-events:none;
}
@media (max-width:899px){
  .topbar-note{display:none;}
}
@media (min-width:900px){
  .topbar{gap:14px!important;}
  .topbar .brand{flex:0 0 auto!important;}
  .topbar-note{display:flex;align-items:center;justify-content:center;min-height:44px;}
  .desktop-location-box select{padding-right:20px;font-weight:750!important;}
}
@media (min-width:900px) and (max-width:1180px){
  .topbar-note{font-size:11.5px;flex-basis:340px;padding:9px 12px;}
}

/* === LOCA & NOUS V7.15 — quasi plein écran PC === */
@media (min-width:900px){
  html,body{
    width:100%;
    min-width:100%;
    margin:0!important;
    padding:0!important;
  }
  body{
    padding:4px!important;
  }
  .app{
    width:calc(100vw - 8px)!important;
    max-width:none!important;
    margin:0!important;
    min-height:calc(100vh - 8px)!important;
    border-radius:14px!important;
  }
}

/* === LOCA & NOUS V7.16 — phrase haute plus grande, colorée et parfaitement centrée === */
@media (min-width:900px){
  .topbar{position:sticky!important;}
  .topbar-note{
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
    width:min(620px,52vw)!important;
    min-height:50px!important;
    margin:0!important;
    padding:12px 24px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    font-size:20px!important;
    line-height:1.15!important;
    font-weight:900!important;
    letter-spacing:.1px!important;
    color:#873C9C!important;
    background:rgba(255,255,255,.90)!important;
    border:1.5px solid rgba(135,60,156,.28)!important;
    border-radius:999px!important;
    box-shadow:0 6px 18px rgba(91,45,110,.10)!important;
    z-index:2!important;
  }
  .topbar .brand,
  .profile-bubble{position:relative;z-index:3;}
}


/* === LOCA & NOUS V7.17 — bloc “Comment ça marche ?” === */
.how-it-works{
  margin:14px 20px 18px;
  padding:18px 20px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(95,66,117,.12);
  border-radius:20px;
  box-shadow:0 8px 24px rgba(53,32,72,.05);
}
.how-it-works-head{
  display:flex;
  align-items:baseline;
  gap:12px;
  margin-bottom:14px;
}
.how-it-works-head strong{
  font-size:20px;
  font-weight:900;
  color:#24162d;
}
.how-it-works-head span{
  font-size:13px;
  font-weight:700;
  color:#7d6a87;
}
.how-it-works-steps{
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr;
  align-items:center;
  gap:12px;
}
.how-step{
  min-height:62px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:12px 14px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(135,60,156,.14);
  border-radius:16px;
  font-size:14px;
  font-weight:850;
  color:#32233c;
  text-align:center;
}
.how-step b{
  flex:0 0 34px;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#873C9C;
  color:#fff;
  font-size:15px;
  box-shadow:0 5px 12px rgba(135,60,156,.18);
}
.how-arrow{
  color:#873C9C;
  font-size:24px;
  font-weight:900;
}
@media (max-width:899px){
  .how-it-works{margin:12px 12px 16px;padding:16px;}
  .how-it-works-head{display:block;margin-bottom:12px;}
  .how-it-works-head strong{display:block;font-size:18px;margin-bottom:2px;}
  .how-it-works-steps{grid-template-columns:1fr;gap:8px;}
  .how-arrow{transform:rotate(90deg);text-align:center;font-size:18px;line-height:1;}
  .how-step{justify-content:flex-start;text-align:left;}
}

/* V7.18 — Bouton Publier toujours mis en avant sur ordinateur, comme dans la vue Publier */
@media (min-width:860px){
  .bottom-nav .publish-nav,
  .bottom-nav .publish-nav.active,
  .bottom-nav .publish-nav:hover{
    background:linear-gradient(135deg,var(--city-primary),var(--city-primary-2))!important;
    color:#fff!important;
    border:1px solid color-mix(in srgb,var(--city-primary) 78%,#000 8%)!important;
    box-shadow:0 8px 18px var(--city-shadow)!important;
    font-weight:900!important;
  }
  .bottom-nav .publish-nav span,
  .bottom-nav .publish-nav.active span,
  .bottom-nav .publish-nav:hover span{
    width:auto!important;
    height:auto!important;
    margin:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:#fff!important;
    box-shadow:none!important;
    font-size:21px!important;
    line-height:1!important;
  }
}

/* V7.19 — Navigation : l'encadrement mauve suit l'onglet sélectionné.
   Publier n'est plus bloqué en surbrillance ; le + reste toujours visible. */
@media (min-width:860px){
  .bottom-nav .nav-item,
  .bottom-nav .publish-nav{
    background:transparent!important;
    color:#243044!important;
    border:1px solid transparent!important;
    box-shadow:none!important;
    border-radius:16px!important;
    font-weight:800!important;
    transition:background .18s ease,color .18s ease,box-shadow .18s ease,border-color .18s ease,transform .18s ease!important;
  }

  .bottom-nav .nav-item:hover:not(.active){
    background:rgba(135,60,156,.08)!important;
    color:#6f2d83!important;
  }

  .bottom-nav .nav-item.active,
  .bottom-nav .publish-nav.active{
    background:linear-gradient(135deg,#6d214f 0%,#9a3fa7 100%)!important;
    color:#fff!important;
    border:1px solid #6d214f!important;
    box-shadow:0 8px 18px rgba(109,33,79,.24)!important;
  }

  /* Icônes normales : elles suivent la couleur du texte. */
  .bottom-nav .nav-item span{
    color:currentColor!important;
  }

  /* Publier : garder le vrai signe + en permanence, actif ou non. */
  .bottom-nav .publish-nav span,
  .bottom-nav .publish-nav.active span,
  .bottom-nav .publish-nav:hover span{
    display:inline!important;
    width:auto!important;
    height:auto!important;
    margin:0 7px 0 0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    font-size:21px!important;
    font-weight:900!important;
    line-height:1!important;
    color:currentColor!important;
  }
}


/* V7.20 — CTA Faire un don dans la barre du haut */
.donate-nav{display:none!important;}
@media (min-width:860px){
  .bottom-nav .donate-nav{
    display:flex!important;
    min-width:148px!important;
    color:var(--city-primary)!important;
    background:color-mix(in srgb,var(--city-soft) 58%,white 42%)!important;
    border-color:color-mix(in srgb,var(--city-primary) 20%,white)!important;
    font-weight:900!important;
  }
  .bottom-nav .donate-nav:hover,
  .bottom-nav .donate-nav.active{
    background:color-mix(in srgb,var(--city-soft) 78%,white 22%)!important;
    color:var(--city-primary)!important;
    border-color:color-mix(in srgb,var(--city-primary) 34%,white)!important;
    box-shadow:0 10px 24px color-mix(in srgb,var(--city-primary) 14%,transparent)!important;
  }
  .bottom-nav .donate-nav span{font-size:18px!important;}
}


/* === LOCA & NOUS V7.21 — accueil affiné + Faire un don actif comme les autres === */
@media (min-width:860px){
  /* Rendre la première page plus propre et plus finie */
  #view-home{
    padding-top:10px!important;
  }
  #view-home .desktop-launch-panel{
    margin-top:2px!important;
    padding:14px!important;
    background:rgba(255,255,255,.36)!important;
    border:1px solid rgba(114,47,72,.10)!important;
    border-radius:26px!important;
    box-shadow:0 10px 26px rgba(78,32,50,.06)!important;
  }
  #view-home .desktop-search-zone{
    box-shadow:0 8px 22px rgba(78,32,50,.05)!important;
    border-radius:24px!important;
  }
  #view-home .desktop-priority-row,
  #view-home .desktop-stats{
    box-shadow:0 8px 20px rgba(78,32,50,.045)!important;
  }

  /* Faire un don : même logique visuelle que les autres onglets quand actif */
  .bottom-nav .donate-nav{
    display:flex!important;
    min-width:148px!important;
    color:var(--city-primary)!important;
    background:color-mix(in srgb,var(--city-soft) 58%,white 42%)!important;
    border:1px solid color-mix(in srgb,var(--city-primary) 20%,white)!important;
    border-radius:16px!important;
    box-shadow:none!important;
    font-weight:900!important;
    transition:background .18s ease,color .18s ease,box-shadow .18s ease,border-color .18s ease,transform .18s ease!important;
  }
  .bottom-nav .donate-nav:hover:not(.active){
    background:rgba(135,60,156,.08)!important;
    color:#6f2d83!important;
    border-color:rgba(135,60,156,.14)!important;
  }
  .bottom-nav .donate-nav.active{
    background:linear-gradient(135deg,#6d214f 0%,#9a3fa7 100%)!important;
    color:#fff!important;
    border:1px solid #6d214f!important;
    box-shadow:0 8px 18px rgba(109,33,79,.24)!important;
  }
  .bottom-nav .donate-nav span,
  .bottom-nav .donate-nav:hover span,
  .bottom-nav .donate-nav.active span{
    color:currentColor!important;
    font-size:18px!important;
  }
}


/* V7.22 — état actif Faire un don verrouillé comme les autres onglets */
@media (min-width:860px){
  .bottom-nav .donate-nav.active{
    background:linear-gradient(135deg,#6d214f 0%,#9a3fa7 100%)!important;
    color:#fff!important;
    border:1px solid #6d214f!important;
    box-shadow:0 8px 18px rgba(109,33,79,.24)!important;
  }
  .bottom-nav .donate-nav.active span{color:#fff!important;}
}

/* === V7.23 — les deux boutons d'action accueil ont exactement la même dimension === */
@media (min-width:900px){
  .desktop-quick-actions{
    width:auto!important;
    margin-left:auto!important;
    display:grid!important;
    grid-template-columns:260px 260px!important;
    gap:12px!important;
    justify-content:end!important;
    align-items:stretch!important;
  }
  .desktop-quick-btn{
    width:260px!important;
    height:68px!important;
    min-height:68px!important;
    max-height:68px!important;
    box-sizing:border-box!important;
    border-radius:17px!important;
    padding:10px 14px!important;
    grid-template-columns:34px 1fr!important;
    grid-template-rows:auto auto!important;
    align-items:center!important;
  }
  .desktop-quick-btn>span{
    width:34px!important;
    height:34px!important;
  }
  .desktop-quick-btn strong{
    font-size:12.5px!important;
    line-height:1.1!important;
  }
  .desktop-quick-btn small{
    font-size:9.5px!important;
    line-height:1.1!important;
    margin-top:3px!important;
  }
}

/* === LOCA & NOUS V7.24 — les deux actions déplacées EN HAUT === */
@media (min-width:860px){
  #view-home .desktop-launch-panel{
    display:flex!important;
    flex-direction:column!important;
  }
  #view-home .desktop-quick-actions{
    order:0!important;
    width:min(560px,100%)!important;
    margin:0 0 14px auto!important;
  }
  #view-home .desktop-search-zone{
    order:1!important;
  }
}


/* === LOCA & NOUS V7.25 — actions placées dans la barre du haut, à droite de la phrase === */
@media (min-width:900px){
  .topbar .topbar-quick-actions{
    position:absolute!important;
    right:78px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    z-index:3!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    width:calc(50vw - min(310px,26vw) - 88px)!important;
    margin:0!important;
  }
  .topbar .topbar-quick-actions .desktop-quick-btn{
    width:auto!important;
    min-width:0!important;
  }
}
@media (min-width:1860px){
  .topbar .topbar-quick-actions{
    width:532px!important;
    gap:12px!important;
  }
  .topbar .topbar-quick-actions .desktop-quick-btn{
    width:260px!important;
  }
}


/* === LOCA & NOUS V7.31 — géolocalisation compacte === */
.geo-location-control{position:relative!important;}
.geo-location-control::after{right:57px!important;}
.geo-location-control select{padding-right:70px!important;}
.geo-locate-btn{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;}
.geo-locate-icon{
  position:absolute;right:8px;top:50%;transform:translateY(-50%);
  width:42px;height:42px;padding:0;border:0;border-radius:50%;
  background:var(--city-soft,#f4eef7);color:var(--city-primary,#722F48);
  display:grid;place-items:center;z-index:2;
  box-shadow:0 3px 10px var(--city-shadow,rgba(114,47,72,.10));
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease,color .15s ease;
}
.geo-locate-icon:hover{transform:translateY(-50%) scale(1.06);box-shadow:0 5px 15px var(--city-shadow,rgba(114,47,72,.16));}
.geo-locate-icon:focus-visible{outline:2px solid var(--city-primary,#722F48);outline-offset:2px;}
.geo-locate-icon.is-loading{animation:locaGeoPulse .9s ease-in-out infinite;}
.geo-locate-icon.is-active{background:var(--city-primary,#722F48);color:#fff;}
.geo-locate-icon.is-error{background:#fff1f1;color:#b42318;box-shadow:0 3px 10px rgba(180,35,24,.10);}
.geo-locate-symbol{font-size:23px!important;line-height:1!important;font-weight:800;display:block;transform:translateY(-1px);}
.geo-mobile-locate{
  display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;
  margin:4px 0 14px;padding:10px 14px;border:1px solid rgba(114,47,72,.22);border-radius:14px;
  background:rgba(255,255,255,.82);color:var(--city-primary,#722F48);font-weight:850;
  box-shadow:0 4px 14px rgba(114,47,72,.07);
}
.geo-mobile-locate.is-loading{opacity:.78;}
.geo-mobile-locate.is-active{background:var(--city-primary,#722F48);color:#fff;border-color:var(--city-primary,#722F48);}
.geo-mobile-locate.is-error{background:#fff5f5;color:#b42318;border-color:#f2b8b5;}
.geo-mobile-icon{font-size:19px;line-height:1;}
@media (min-width:900px){
  .geo-mobile-locate{display:none!important;}
  #view-home .desktop-search-zone{grid-template-columns:250px minmax(320px,1fr)!important;}
}
@media (min-width:900px) and (max-width:1080px){
  #view-home .desktop-search-zone{grid-template-columns:225px minmax(280px,1fr)!important;}
  .geo-locate-icon{width:40px;height:40px;}
  .geo-location-control::after{right:53px!important;}
  .geo-location-control select{padding-right:65px!important;}
}
@keyframes locaGeoPulse{0%,100%{opacity:1;transform:translateY(-50%) scale(1)}50%{opacity:.55;transform:translateY(-50%) scale(.93)}}
@media (prefers-reduced-motion:reduce){.geo-locate-icon{transition:none}.geo-locate-icon.is-loading{animation:none}}
.password-input-wrap{position:relative}.password-input-wrap input{padding-right:92px}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--city-primary,#722F48);font-weight:800;cursor:pointer}.auth-link{display:block;margin:12px auto 0;border:0;background:transparent;color:#722F48;text-decoration:underline;cursor:pointer}.auth-consent{display:flex;align-items:flex-start;gap:10px;margin:14px 0;font-size:.82rem;line-height:1.4;color:#66585e}.auth-consent input{margin-top:3px}.auth-consent button{padding:0;border:0;background:none;color:#722F48;text-decoration:underline;cursor:pointer}.profile-activity{margin-top:28px}.compact-head{margin-top:24px}.compact-head h2{margin-bottom:8px}.activity-card{position:relative}.activity-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.activity-actions .btn{width:auto;min-height:40px}.status-pill{display:inline-flex;padding:5px 9px;border-radius:999px;background:#f4e7eb;color:#722f48;font-size:.75rem;font-weight:800}.status-pill.accepted,.status-pill.in_progress{background:#e2f4e9;color:#20633b}.status-pill.rejected,.status-pill.cancelled{background:#f5e7e7;color:#872f38}.account-panel{margin-top:24px}.account-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.account-actions a{text-decoration:none}.legal-dialog{width:min(680px,calc(100% - 28px));max-height:82vh;border:0;border-radius:24px;padding:30px;box-shadow:0 24px 80px rgba(55,18,32,.25);color:#3f3338}.legal-dialog::backdrop{background:rgba(31,18,23,.55)}.legal-dialog h2{color:#722f48;margin-top:0}.legal-dialog h3{color:#722f48;margin-top:22px}.legal-dialog p,.legal-dialog li{line-height:1.6}.legal-close{position:absolute;right:16px;top:12px;border:0;background:none;font-size:2rem;color:#722f48;cursor:pointer}.offer-person{display:flex;align-items:center;gap:12px}.offer-person .avatar{width:42px;height:42px}.offer-message{margin:10px 0;color:#675860}.owner-actions{margin-top:16px}

/* V7.34 — paiement PayPal temporaire */
.payment-card{margin-top:22px;padding:22px;border:1px solid #e4d3db;border-radius:24px;background:linear-gradient(145deg,#fff,#fff7fa);box-shadow:0 16px 45px rgba(78,32,50,.09)}
.payment-card-head,.payment-summary{display:flex;align-items:center;justify-content:space-between;gap:16px}.payment-card h2{margin:4px 0 0}.payment-status{padding:8px 12px;border-radius:999px;background:#fff0d8;color:#795000;font-weight:800;font-size:.82rem}.payment-status.reported{background:#e5f6ea;color:#176b36}.payment-summary{margin:18px 0 8px;padding:15px 17px;border-radius:16px;background:#fff;border:1px solid #eadde2}.payment-summary strong{font-size:1.5rem}.paypal-btn{margin:16px 0 10px;background:#ffc439!important;color:#172c70!important;border-color:#ffc439!important}.payment-help{display:block;text-align:center;margin-top:12px;color:var(--muted,#776a70)}
@media(max-width:640px){.payment-card-head{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.account-actions,.activity-actions{flex-direction:column}.account-actions .btn,.account-actions a,.activity-actions .btn{width:100%}.legal-dialog{padding:26px 20px}.profile-activity{margin-top:18px}}

/* === LOCA & NOUS V7.33 — catégories agrandies et pictogrammes affinés === */
.geo-locate-symbol svg,.geo-mobile-icon svg{width:25px;height:25px;display:block;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.geo-locate-icon{width:48px!important;height:48px!important;background:#fff!important;color:var(--city-primary,#722F48)!important;border:2px solid color-mix(in srgb,var(--city-primary,#722F48) 34%,white)!important;box-shadow:0 5px 15px rgba(78,32,50,.14)!important}
.geo-locate-icon:hover{background:var(--city-soft,#f4e7eb)!important;border-color:var(--city-primary,#722F48)!important}
.geo-locate-icon.is-active{background:linear-gradient(135deg,var(--city-primary,#722F48),var(--city-primary-2,#4E2032))!important;color:#fff!important;border-color:transparent!important}
.geo-locate-icon.is-error{background:#fff1f1!important;color:#b42318!important;border-color:#efb5b0!important}

@media(min-width:900px){
  #view-home .category-strip-head{margin-top:22px!important;margin-bottom:13px!important}
  #view-home .category-strip-head strong{font-size:19px!important}
  #view-home .category-strip-head small{font-size:13px!important;margin-top:4px!important}
  #view-home .category-scroll-wrap{gap:12px!important}
  #view-home .category-chip{min-height:52px!important;padding:13px 19px!important;border-radius:18px!important;font-size:14px!important;gap:9px!important;box-shadow:0 5px 14px rgba(78,32,50,.07)!important}
  #view-home .category-chip span{font-size:21px!important}
  #view-home .category-scroll-arrow{width:48px!important;height:48px!important;font-size:27px!important}
  .direct-access-card{min-height:102px!important;padding:14px 10px 12px!important;gap:9px!important}
  .direct-access-icon,.direct-access-icon svg{width:42px!important;height:42px!important}
  .direct-access-name{font-size:13px!important}
}


/* ===== LOCA & NOUS V8.00 — fusion marketplace locale ===== */
.public-proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0 12px}
.public-proof-grid>div{border:1px solid var(--line);border-radius:14px;padding:10px 8px;background:#fff;text-align:center;display:grid;gap:2px}
.public-proof-grid strong{font-size:17px;color:var(--green)}
.public-proof-grid span{font-size:9px;line-height:1.2;color:var(--muted)}
.public-intent-row{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0 0 14px}
.public-intent-card{border:1px solid var(--line);border-radius:15px;background:#fff;text-align:left;padding:11px;display:grid;grid-template-columns:auto 1fr;gap:2px 8px;align-items:center;color:var(--ink)}
.public-intent-card>span{grid-row:1/3;font-size:19px}.public-intent-card strong{font-size:11px}.public-intent-card small{font-size:9px;color:var(--muted)}
.public-intent-card.need{background:linear-gradient(145deg,#fff6f3,#fff)}.public-intent-card.help{background:linear-gradient(145deg,#f1f6f3,#fff)}

.market-hero{border:1px solid var(--city-line,var(--line));background:linear-gradient(135deg,var(--city-soft,#f5ecef),#fff 52%,var(--city-soft-2,#fff8f1));border-radius:26px;padding:24px;display:grid;gap:18px;margin:10px 0 18px;box-shadow:0 18px 50px var(--city-shadow,rgba(114,47,72,.10))}
.market-kicker{font-size:10px;font-weight:950;letter-spacing:.9px;color:var(--city-primary,var(--green))}
.market-hero-copy h1{font-size:34px;line-height:1.02;letter-spacing:-1.6px;margin:8px 0 10px;max-width:680px}
.market-hero-copy>p{margin:0;color:var(--muted);max-width:690px;font-size:14px;line-height:1.5}
.market-hero-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:17px}.market-main-cta,.market-secondary-cta{width:auto!important}.market-secondary-cta{background:white;border:1px solid var(--city-line,var(--line));color:var(--city-primary,var(--green));font-weight:900}
.market-trust-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.market-trust-row span{font-size:10px;font-weight:800;background:rgba(255,255,255,.82);border:1px solid var(--line);border-radius:999px;padding:7px 9px;color:#5f6d67}
.market-hero-choice{display:grid;gap:9px}.market-role-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:12px;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;text-align:left;color:var(--ink)}
.market-role-card:hover{border-color:var(--city-highlight,#cfa);box-shadow:0 8px 22px rgba(30,50,42,.07)}.market-role-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--soft);font-size:18px}.market-role-card.need .market-role-icon{background:#fff0ec}.market-role-card.help .market-role-icon{background:#eaf3ee}.market-role-card.local .market-role-icon{background:#f4e7eb}.market-role-card strong{display:block;font-size:12px}.market-role-card small{display:block;color:var(--muted);font-size:9px;margin-top:2px}.market-role-card b{font-size:16px;color:var(--city-primary,var(--green))}

.service-market-grid{margin:2px 0 20px}.service-market-head{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:10px}.service-market-head h2{margin:2px 0 0;font-size:21px}.service-market-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.service-market-cards button{border:1px solid var(--line);background:#fff;border-radius:16px;padding:13px;text-align:left;display:grid;grid-template-columns:auto 1fr;column-gap:9px;align-items:center;color:var(--ink)}.service-market-cards button>span{grid-row:1/3;width:34px;height:34px;border-radius:11px;background:var(--soft);display:grid;place-items:center;font-size:17px}.service-market-cards strong{font-size:11px}.service-market-cards small{font-size:9px;color:var(--muted);line-height:1.2}

.guided-publish .publish-step-head{display:flex;gap:10px;align-items:center;margin:22px 0 12px;padding-top:4px;border-top:1px solid var(--line)}.guided-publish .publish-step-head:first-child{margin-top:0;border-top:0;padding-top:0}.publish-step-head>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--city-primary,var(--green));color:white;font-size:12px;font-weight:950;flex:0 0 auto}.publish-step-head strong{display:block;font-size:13px}.publish-step-head small{display:block;font-size:10px;color:var(--muted);margin-top:2px}

.provider-page-head{max-width:720px}.provider-toolbar{display:flex;gap:12px;align-items:end;margin-bottom:12px}.provider-search-field{flex:1;margin:0!important}.provider-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}.provider-count{font-size:11px;font-weight:850;color:var(--muted);margin:7px 2px 10px}.provider-grid{display:grid;grid-template-columns:1fr;gap:11px}.provider-card{border:1px solid var(--line);background:#fff;border-radius:19px;padding:15px;box-shadow:0 6px 18px rgba(26,62,50,.04)}.provider-card-top{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center}.provider-avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--city-soft,var(--sand));color:var(--city-primary,var(--green));font-weight:950;font-size:16px}.provider-identity strong{display:block;font-size:13px}.provider-identity span{display:block;font-size:10px;color:var(--muted);margin-top:2px}.provider-available{font-size:9px;font-weight:900;color:#2f6c53;background:#e6f3eb;padding:6px 8px;border-radius:999px}.provider-reputation{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:12px 0 8px;font-size:10px;color:#65746e}.provider-card p{font-size:11px;line-height:1.45;color:#5e6c66;min-height:31px}.provider-card .btn{margin-top:8px}

@media(min-width:900px){
  .market-hero{grid-template-columns:minmax(0,1.55fr) minmax(300px,.7fr);align-items:stretch;padding:34px}.market-hero-choice{align-content:center}.market-hero-copy h1{font-size:48px}.market-hero-copy>p{font-size:16px}.market-role-card{padding:14px}
  .service-market-cards{grid-template-columns:repeat(4,1fr)}.service-market-cards button{min-height:78px}
  .provider-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:699px){
  .public-proof-grid{grid-template-columns:1fr 1fr 1fr}.public-intent-row{grid-template-columns:1fr}.market-hero{padding:18px;border-radius:21px}.market-hero-copy h1{font-size:31px}.market-hero-actions{display:grid}.market-main-cta,.market-secondary-cta{width:100%!important}.market-trust-row{gap:5px}.market-trust-row span{font-size:9px;padding:6px 7px}.service-market-head{align-items:center}.service-market-head .text-btn{font-size:10px}.provider-toolbar{display:grid;align-items:stretch}.provider-toolbar-actions{display:grid;grid-template-columns:1fr 1fr}.provider-toolbar-actions .btn{width:100%}
}


/* ===== LOCA & NOUS V8.1 — découverte prestataires + lancement ===== */
.launch-zero-banner{margin:0 0 18px;padding:13px 15px;border:1px solid rgba(135,60,156,.18);background:linear-gradient(105deg,#f7ecfa,#fff 58%,#f4faf7);border-radius:18px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;box-shadow:0 8px 24px rgba(76,43,91,.05)}
.launch-zero-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#873C9C;color:#fff;font-size:17px;font-weight:950;box-shadow:0 7px 16px rgba(135,60,156,.18)}
.launch-zero-copy strong{display:block;font-size:12px;color:#2f1d37}.launch-zero-copy span{display:block;margin-top:2px;font-size:9.5px;line-height:1.35;color:#7b6a82}
.launch-zero-cta{border:0;background:transparent;color:#873C9C;font-size:10px;font-weight:950;white-space:nowrap;cursor:pointer}
.provider-toolbar{display:grid!important;grid-template-columns:minmax(210px,1.55fr) minmax(130px,.65fr) minmax(130px,.65fr) auto!important;align-items:end!important}
.provider-filter-field{margin:0!important}.provider-filter-field select{min-height:46px}
.provider-explain{display:flex;gap:7px;flex-wrap:wrap;margin:2px 0 12px}.provider-explain span{font-size:9.5px;font-weight:800;color:#6e6574;background:#f7f4f8;border:1px solid #ece4ef;border-radius:999px;padding:7px 9px}.provider-explain b{color:#873C9C}
.provider-badges{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 9px}.provider-badges>span{font-size:9px;font-weight:850;color:#68756e;background:#f4f7f5;border:1px solid #e6ece8;padding:6px 7px;border-radius:999px}
.provider-badges .provider-trust{color:#5f4a67;background:#f6eff8;border-color:#eadced}.provider-badges .provider-trust.top{color:#80581d;background:#fff7e6;border-color:#f1dfb6}.provider-badges .provider-trust.active{color:#2f6c53;background:#eaf6ef;border-color:#d5ebde}.provider-badges .provider-trust.rated{color:#315d86;background:#edf5fb;border-color:#dbe9f4}.provider-badges .provider-trust.new{color:#776d63;background:#f6f3ef;border-color:#ebe4dc}
.provider-empty{display:grid;gap:8px;justify-items:start}.provider-empty strong{font-size:13px}.provider-empty span{font-size:10px;color:var(--muted);line-height:1.4}.provider-empty .btn{width:auto;margin-top:3px}
@media(max-width:899px){
  .launch-zero-banner{grid-template-columns:auto 1fr;padding:12px}.launch-zero-icon{width:43px;height:43px}.launch-zero-cta{grid-column:1/-1;text-align:left;padding:2px 0 0 55px}
  .provider-toolbar{grid-template-columns:1fr 1fr!important}.provider-search-field{grid-column:1/-1}.provider-toolbar-actions{grid-column:1/-1}.provider-explain{margin-top:4px}
}
@media(max-width:430px){.provider-toolbar{grid-template-columns:1fr!important}.provider-search-field,.provider-toolbar-actions{grid-column:auto}.provider-toolbar-actions{grid-template-columns:1fr 1fr}.launch-zero-copy span{font-size:9px}}

/* ===== LOCA & NOUS V8.2 — profils, missions, avis et favoris ===== */
.field-help{display:block;margin-top:5px;font-size:9px;color:var(--muted)}
.home-provider-preview{margin:20px 0 24px;padding:18px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,#fff,#fbf8fc)}
.home-provider-preview-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:13px}
.home-provider-preview-head h2{margin:2px 0 3px;font-size:20px}.home-provider-preview-head p{margin:0;color:var(--muted);font-size:10px}
.home-provider-preview-grid{display:grid;grid-template-columns:1fr;gap:10px}
.provider-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.provider-card-actions .btn{margin:0!important;padding-left:8px;padding-right:8px}
.provider-avatar-button{border:0;cursor:pointer}.provider-favorite{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:#fff;font-size:22px;line-height:1;color:var(--muted);cursor:pointer}.provider-favorite.liked{color:var(--city-primary,var(--green));background:var(--city-soft,#f7eef3)}
.provider-online{color:#2f6c53!important;background:#eaf6ef!important;border-color:#d5ebde!important}.provider-skills{display:flex;gap:5px;flex-wrap:wrap;margin:8px 0}.provider-skills span{font-size:9px;font-weight:800;padding:5px 7px;border-radius:999px;background:#f7f4f8;border:1px solid #ece4ef;color:#685c6d}.provider-availability-note,.offer-availability{font-size:10px!important;line-height:1.4;color:var(--muted)!important;min-height:0!important;margin:8px 0}.provider-availability-note b,.offer-availability b{color:var(--ink)}
.provider-dialog{width:min(650px,calc(100vw - 24px));max-height:88vh;border:0;border-radius:22px;padding:0;box-shadow:0 30px 90px rgba(0,0,0,.22);overflow:auto}.provider-dialog::backdrop{background:rgba(28,20,25,.42);backdrop-filter:blur(4px)}.provider-dialog .legal-close{position:sticky;top:10px;float:right;z-index:2;margin:10px 10px 0 0}.provider-public-profile{padding:24px}.provider-public-head{display:grid;grid-template-columns:64px 1fr auto;gap:13px;align-items:center;padding-right:3px}.provider-public-avatar{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--city-soft,var(--sand));color:var(--city-primary,var(--green));font-size:22px;font-weight:950}.provider-public-head h2{margin:2px 0;font-size:24px}.provider-public-head p{margin:0;color:var(--muted);font-size:11px}.provider-profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.provider-profile-stats>div{border:1px solid var(--line);border-radius:14px;padding:11px;text-align:center}.provider-profile-stats strong{display:block;font-size:17px;color:var(--city-primary,var(--green))}.provider-profile-stats span{font-size:9px;color:var(--muted)}.provider-profile-block{border-top:1px solid var(--line);padding:15px 0 4px}.provider-profile-block h3{font-size:12px;margin:0 0 8px}.provider-profile-block>p{font-size:11px;line-height:1.5;color:#5e6c66}.provider-review-list{display:grid;gap:8px}.provider-review-list article{padding:10px 11px;border:1px solid var(--line);border-radius:13px;background:#fff}.provider-review-list article strong{font-size:12px;color:#9a6b18}.provider-review-list article p{font-size:10px;line-height:1.45;margin:5px 0;color:#5e6c66}.provider-review-list article small{font-size:8.5px;color:var(--muted)}
.detail-title-actions{display:flex;justify-content:space-between;align-items:center;gap:12px}.detail-heart{flex:0 0 auto}.owner-box-button{width:100%;border:1px solid var(--line);text-align:left;cursor:pointer}.owner-box-button[disabled]{cursor:default}.owner-profile-arrow{margin-left:auto;font-size:9px;font-weight:900;color:var(--city-primary,var(--green))}
.mission-progress{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:6px;margin-top:16px;padding:12px;border-radius:15px;background:#f8f6f8;border:1px solid var(--line)}.mission-progress-step{display:grid;justify-items:center;gap:5px;min-width:68px}.mission-progress-step span{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid #d9d1dc;color:#887d8c;font-size:10px;font-weight:950}.mission-progress-step small{font-size:8px;font-weight:800;text-align:center;color:#837989}.mission-progress-step.done span{background:var(--city-primary,var(--green));border-color:var(--city-primary,var(--green));color:#fff}.mission-progress-step.current small,.mission-progress-step.done small{color:var(--ink)}.mission-progress>b{height:2px;background:#ded8e0;border-radius:2px}.mission-progress-step.done+b{background:var(--city-highlight,var(--city-primary,var(--green)))}
.review-panel{margin-top:16px;padding:15px;border:1px solid var(--line);border-radius:16px;background:#fff}.review-panel h3{margin:4px 0;font-size:14px}.review-panel.review-done>strong{display:block;font-size:18px;color:#9a6b18;margin:7px 0}.review-panel.review-done>p{font-size:11px;line-height:1.45;color:#5e6c66}.review-panel.review-done>small{font-size:9px;color:var(--muted)}.review-form{margin-top:11px}.review-form .field{margin-bottom:10px}.chat-mission-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 4px}.mission-participant-card .status-pill{display:inline-block}.avatar-button{border:0;cursor:pointer}
.favorites-two-col{display:grid;grid-template-columns:1fr;gap:16px}.favorites-two-col>div>h3{font-size:11px;margin:0 0 8px;color:var(--muted)}
.launch-free-payment{background:linear-gradient(145deg,#f2fbf6,#fff)}
@media(min-width:900px){.home-provider-preview-grid{grid-template-columns:repeat(3,1fr)}.favorites-two-col{grid-template-columns:1fr 1fr}.provider-dialog{width:min(700px,calc(100vw - 40px))}}
@media(max-width:520px){.home-provider-preview{padding:14px}.home-provider-preview-head{align-items:flex-start;flex-direction:column}.provider-card-actions{grid-template-columns:1fr}.provider-public-profile{padding:18px}.provider-public-head{grid-template-columns:52px 1fr auto}.provider-public-avatar{width:52px;height:52px;font-size:18px}.provider-public-head h2{font-size:20px}.mission-progress{grid-template-columns:1fr;gap:5px}.mission-progress>b{width:2px;height:12px;justify-self:center}.mission-progress-step{grid-template-columns:30px 1fr;justify-items:start;align-items:center;width:100%;min-width:0}.mission-progress-step small{text-align:left}.owner-profile-arrow{display:none}}


/* V8.4 — parcours mise en relation / disponibilité immédiate */
.v84-dashboard{margin:0 0 18px;padding:18px;border:1px solid var(--city-line,var(--line));border-radius:22px;background:#fff;box-shadow:0 10px 30px rgba(40,31,35,.05)}
.v84-dashboard-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.v84-dashboard-head h2{margin:3px 0 4px;font-size:22px}.v84-dashboard-head p{margin:0;color:var(--muted);font-size:12px}.v84-now-badge{font-size:10px;font-weight:900;padding:8px 10px;border-radius:999px;background:#f4f1f3;color:#776b71;white-space:nowrap}.v84-now-badge.active{background:#e4f5e9;color:#1e693d}
.v84-dashboard-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.v84-action{border:1px solid var(--line);border-radius:16px;background:#fff;padding:13px;display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:9px;text-align:left;cursor:pointer;color:var(--ink)}.v84-action>span{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:var(--city-soft,#f7eef1);font-size:16px}.v84-action strong{display:block;font-size:12px}.v84-action small{display:block;color:var(--muted);font-size:9px;margin-top:2px}.v84-action b{color:var(--city-primary,#722f48)}.v84-action.now.active{border-color:#9bd5ad;background:#f4fbf6}.v84-action.now.active>span{background:#daf1e1}
.available-now-card{margin:12px 0 16px;padding:13px;border:1px solid var(--line);border-radius:16px;background:#fbfafb;display:flex;justify-content:space-between;align-items:center;gap:12px}.available-now-card>div{display:flex;align-items:center;gap:10px}.available-now-icon{width:36px;height:36px;border-radius:12px;background:#e8f5ec;display:grid;place-items:center}.available-now-card strong,.available-now-card small{display:block}.available-now-card small{font-size:9px;color:var(--muted);margin-top:2px}.available-now-card .btn{width:auto;margin:0}
.provider-card.available-now{border-color:#a9d9b7;box-shadow:0 8px 24px rgba(43,119,72,.09)}.provider-online.now{background:#def3e5!important;color:#176638!important}.offer-compare-card{padding:15px}.offer-compare-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.offer-compare-price{text-align:right;min-width:78px}.offer-compare-price small,.offer-compare-price strong{display:block}.offer-compare-price small{font-size:8px;color:var(--muted);text-transform:uppercase;font-weight:900}.offer-compare-price strong{font-size:18px;color:var(--city-primary,#722f48);margin-top:3px}.offer-compare-foot{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:10px}.offer-compare-foot .activity-actions{margin:0;justify-content:flex-end}.mission-role{display:inline-flex;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.5px;color:var(--city-primary,#722f48);background:var(--city-soft,#f5ecef);padding:4px 7px;border-radius:999px;margin-bottom:5px}.mission-summary-card .mission-progress{margin:12px 0 0}
@media(max-width:760px){.v84-dashboard-head{display:block}.v84-now-badge{display:inline-flex;margin-top:10px}.v84-dashboard-actions{grid-template-columns:1fr}.offer-compare-head,.offer-compare-foot{align-items:stretch;flex-direction:column}.offer-compare-price{text-align:left}.offer-compare-foot .activity-actions{justify-content:flex-start}.available-now-card{align-items:stretch;flex-direction:column}.available-now-card .btn{width:100%}}

.mission-progress{grid-template-columns:auto 1fr auto 1fr auto 1fr auto}
@media(max-width:520px){.mission-progress{grid-template-columns:1fr}}


/* V8.5 — notifications + matching intelligent */
.notification-bell{position:relative;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#fff;display:grid;place-items:center;cursor:pointer;font-size:17px;margin-right:8px}.notification-badge{position:absolute;right:-3px;top:-4px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#c5283d;color:#fff;font-size:10px;font-weight:900;display:grid;place-items:center;border:2px solid #fff}.notification-badge.hidden{display:none}.notifications-list{display:grid;gap:10px}.notification-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.notification-toolbar .btn{width:auto;margin:0}.notification-card{width:100%;display:grid;grid-template-columns:46px 1fr auto;gap:12px;align-items:center;text-align:left;border:1px solid var(--line);border-radius:18px;background:#fff;padding:14px;cursor:pointer;color:var(--ink)}.notification-card.unread{border-color:#d6a6b5;background:#fff9fb;box-shadow:0 8px 24px rgba(114,47,72,.07)}.notification-icon{width:42px;height:42px;border-radius:14px;background:var(--city-soft,#f4e7eb);display:grid;place-items:center;font-size:18px}.notification-copy strong,.notification-copy small,.notification-copy em{display:block}.notification-copy small{margin-top:3px;color:var(--muted);font-size:10px;line-height:1.4}.notification-copy em{margin-top:5px;color:#9a8c92;font-size:8px;font-style:normal}.notification-dot{width:9px;height:9px;border-radius:50%;background:var(--city-primary,#722f48)}
.smart-match-bar{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 15px;margin:0 0 14px;border:1px solid #dfd1d7;border-radius:18px;background:linear-gradient(135deg,#fff,#fff8fa)}.smart-match-bar strong,.smart-match-bar small{display:block}.smart-match-bar strong{font-size:12px;margin:2px 0}.smart-match-bar small{font-size:9px;color:var(--muted)}.smart-match-bar .btn{width:auto;margin:0}.match-badge{margin-left:6px;padding:4px 7px;border-radius:999px;background:#e9f6ee;color:#216b3c;font-size:8px;font-weight:950}.request-card .request-category-line{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
@media(max-width:700px){.notification-toolbar,.smart-match-bar{align-items:stretch;flex-direction:column}.notification-toolbar .btn,.smart-match-bar .btn{width:100%}.notification-card{grid-template-columns:42px 1fr auto}.notification-bell{width:38px;height:38px;margin-right:4px}}


/* V8.6 — paiement PayPal + frais plateforme */
.v86-fee-banner .launch-zero-icon{font-size:18px}.v86-fee-note{background:#fff9ef!important;border-color:#ecd7aa!important}.v86-wallet-panel{margin-top:18px}.v86-wallet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.v86-wallet-head h2{margin:3px 0 0}.v86-wallet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:16px 0}.v86-wallet-grid>div{border:1px solid var(--line);border-radius:15px;padding:12px;background:#fff}.v86-wallet-grid small,.v86-wallet-grid strong{display:block}.v86-wallet-grid small{font-size:9px;color:var(--muted)}.v86-wallet-grid strong{margin-top:4px;font-size:17px;color:var(--city-primary,#722f48)}.v86-order-list{margin-top:14px}.v86-orders-title{font-size:10px;font-weight:900;margin-bottom:7px}.v86-order-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--line);font-size:9px}.v86-order-row strong{text-align:right}.v86-no-orders{font-size:9px}.v86-fee-breakdown{display:grid;gap:0;margin:16px 0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}.v86-fee-breakdown>div{display:flex;justify-content:space-between;gap:16px;padding:11px 13px;border-bottom:1px solid var(--line)}.v86-fee-breakdown>div:last-child{border-bottom:0}.v86-fee-breakdown span{font-size:10px;color:var(--muted)}.v86-fee-breakdown strong{font-size:12px}.v86-fee-breakdown .total{background:#f8f3f5}.v86-fee-breakdown .total span,.v86-fee-breakdown .total strong{font-weight:900;color:var(--ink)}
@media(max-width:650px){.v86-wallet-grid{grid-template-columns:1fr}.v86-order-row{align-items:flex-start;flex-direction:column}.v86-order-row strong{text-align:left}}

/* V8.7 — matching automatique */
.v87-recommendations{margin:22px 0;padding:20px;border:1px solid var(--city-line,#ead8de);border-radius:22px;background:linear-gradient(135deg,#fff 0%,var(--city-soft-2,#fff8f1) 100%);box-shadow:0 12px 30px rgba(40,20,28,.06)}
.v87-recommendations-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin-bottom:14px}.v87-recommendations-head h2{margin:3px 0 5px}.v87-recommendations-head p{margin:0;color:var(--muted,#74666b)}
.v87-reco-meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px;font-size:.86rem;color:var(--muted,#74666b)}
.v87-recommendation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.v87-recommendation-grid .request-card{margin:0}
.match-reasons{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.match-reasons span{font-size:.73rem;padding:4px 7px;border-radius:999px;background:#f6eef1;color:var(--city-primary,#722f48);font-weight:700}
.match-badge.strong{box-shadow:0 0 0 2px rgba(114,47,72,.12);font-weight:800}.recommended-filter.active{background:var(--city-primary,#722f48);color:#fff;border-color:var(--city-primary,#722f48)}
.v87-match-settings{padding:14px;border:1px solid var(--city-line,#ead8de);border-radius:16px;background:#fffaf7;margin-bottom:14px}.v87-alert-switch{margin:4px 0 0}
@media(max-width:720px){.v87-recommendations{padding:15px}.v87-recommendations-head{align-items:flex-start;flex-direction:column}.v87-reco-meta{align-items:flex-start}.v87-recommendation-grid{grid-template-columns:1fr}.match-reasons{gap:4px}}

/* V8.8 — confiance, vérifications, signalement et blocage */
.trust-center-panel{margin-top:18px;overflow:hidden}.trust-center-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.trust-center-head h2{margin:3px 0 5px}.trust-center-head p{margin:0;color:var(--muted);font-size:10px;line-height:1.5;max-width:560px}.trust-score{min-width:88px;text-align:center;border:1px solid var(--line);border-radius:16px;background:#fff;padding:11px}.trust-score strong,.trust-score span{display:block}.trust-score strong{font-size:22px;color:var(--city-primary,#722f48)}.trust-score span{font-size:8px;color:var(--muted);margin-top:2px}.trust-progress{height:8px;border-radius:999px;background:#eee7ea;margin:15px 0 13px;overflow:hidden}.trust-progress>span{display:block;height:100%;width:0;border-radius:inherit;background:var(--city-primary,#722f48);transition:width .25s ease}.trust-check-list{display:grid;gap:8px;margin:0 0 13px}.trust-check-list>div{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;padding:11px;border:1px solid var(--line);border-radius:14px;background:#fff}.trust-check-icon{width:36px;height:36px;border-radius:12px;background:var(--city-soft,#f4e7eb);display:grid;place-items:center}.trust-check-list strong,.trust-check-list small{display:block}.trust-check-list strong{font-size:11px}.trust-check-list small{font-size:8.5px;color:var(--muted);margin-top:2px;line-height:1.35}.trust-state{font-size:8px;font-weight:950;padding:5px 8px;border-radius:999px;white-space:nowrap}.trust-state.ok{background:#e5f6e9;color:#216a3b}.trust-state.pending{background:#fff1cf;color:#8b6411}.trust-state.muted{background:#f0edef;color:#776b71}.trust-center-note{display:block;margin-top:9px;font-size:8.5px;line-height:1.4;color:var(--muted)}
.trust-badge{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:4px 7px;font-size:8px;font-weight:900}.trust-badge.email{background:#edf4ff;color:#2e5e9e}.trust-badge.phone{background:#ecf8ef;color:#216a3b}.trust-badge.identity{background:#f3ebff;color:#6340a0}.trust-badge.neutral{background:#f0edef;color:#756a70}.provider-trust.verified{background:#f3ebff!important;color:#6340a0!important}.provider-trust.verified-lite{background:#eaf5ff!important;color:#275f8a!important}
.provider-safety-actions{margin-top:15px}.provider-safety-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.danger-soft{color:#a02d3f!important;border-color:#e8c4cb!important;background:#fff8f9!important}.blocked-profile-note{padding:11px;border:1px solid #efc9cf;border-radius:13px;background:#fff7f8;color:#8b2e3c;font-size:9.5px;line-height:1.45}.safety-dialog{max-width:560px}.safety-report-form h2{margin:5px 0 7px}.safety-report-form>p{font-size:10px;color:var(--muted);line-height:1.5;margin:0 0 14px}.safety-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.safety-dialog-actions .btn{margin:0}.provider-badges .trust-badge{margin:0}
@media(max-width:620px){.trust-center-head{display:block}.trust-score{margin-top:11px;width:100%;text-align:left}.trust-score strong,.trust-score span{display:inline}.trust-score span{margin-left:6px}.trust-check-list>div{grid-template-columns:32px 1fr}.trust-check-icon{width:32px;height:32px}.trust-state{grid-column:2;justify-self:start}.provider-safety-row,.safety-dialog-actions{grid-template-columns:1fr}}
.offer-trust-badges{display:flex;gap:4px;flex-wrap:wrap;margin:3px 0}.offer-trust-badges:empty{display:none}

/* V8.9 — paiement complet de la prestation */
.v89-wallet-panel{border-color:#ddcbd2}.v89-receive-box{margin:16px 0;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fffafc}.v89-receive-box h3{margin:3px 0 4px;font-size:14px}.v89-receive-box p{margin:0 0 10px;color:var(--muted);font-size:9px;line-height:1.45}.v89-payment-link-row{display:grid;grid-template-columns:1fr auto;gap:8px}.v89-payment-link-row input{min-width:0}.v89-payment-link-row .btn{width:auto;margin:0}.v89-service-history{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}.v89-service-card{border-color:#dbc5ce;background:linear-gradient(135deg,#fff,#fff8fb)}.v89-service-amount{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid var(--line);border-radius:16px;padding:13px;margin:14px 0;background:#fff}.v89-service-amount span{font-size:10px;color:var(--muted)}.v89-service-amount strong{font-size:20px;color:var(--city-primary,#722f48)}.v89-payment-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.v89-payment-actions .btn{margin:0}.v89-payment-warning{font-size:9.5px;line-height:1.45;padding:11px;border-radius:13px;background:#fff7e8;border:1px solid #ecd8ae;color:#76591b;margin:10px 0}.v89-payment-ref{display:block;margin:-5px 0 10px;color:var(--muted);font-size:8.5px}.v89-service-row span{font-weight:700}.payment-status.danger-soft{background:#fff0f2;color:#a02d3f;border:1px solid #e8c4cb}
@media(max-width:620px){.v89-payment-link-row,.v89-payment-actions{grid-template-columns:1fr}.v89-payment-link-row .btn{width:100%}}

/* ===== V11 — Stripe Connect prêt à activer, PayPal conservé ===== */
.v110-stripe-ready{margin-top:18px;padding:18px;border:1px solid #d8c9e8;border-radius:20px;background:linear-gradient(145deg,#fff 0%,#faf7ff 100%)}
.v110-stripe-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.v110-stripe-head h3{margin:4px 0 5px;font-size:17px}.v110-stripe-head p{max-width:690px;margin:0;color:var(--muted);font-size:10px;line-height:1.5}.v110-methods{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.v110-methods span{padding:6px 10px;border:1px solid #ded4eb;border-radius:999px;background:#fff;color:#514160;font-size:9px;font-weight:900}.v110-payment-flow{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px;border-radius:14px;background:#32223f;color:#fff;font-size:9px;font-weight:850}.v110-payment-flow b{color:#c8a7e5}.v110-stripe-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.v110-stripe-grid>div{display:grid;gap:4px;padding:11px;border:1px solid #e5ddea;border-radius:13px;background:#fff}.v110-stripe-grid small{color:var(--muted);font-size:8px}.v110-stripe-grid strong{font-size:15px;color:#4d3261}.v110-connect-box{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px;border:1px solid #e5ddea;border-radius:15px;background:#fff}.v110-connect-box>div:first-child{display:grid;gap:4px}.v110-connect-box small,.v110-safety{color:var(--muted);font-size:8.5px;line-height:1.4}.v110-connect-box>div:last-child{display:flex;gap:7px;flex-wrap:wrap}.v110-connect-box .btn{width:auto;margin:0}.v110-safety{display:block;margin-top:12px;text-align:center}.v110-stripe-ready .v86-order-list{margin-top:12px}
@media(max-width:700px){.v110-stripe-head,.v110-connect-box{flex-direction:column}.v110-stripe-grid{grid-template-columns:1fr 1fr}.v110-payment-flow{display:grid;grid-template-columns:1fr;text-align:center}.v110-payment-flow b{transform:rotate(90deg)}.v110-connect-box>div:last-child,.v110-connect-box .btn{width:100%}}


/* V9.0 — centre de litiges */
.v90-dispute-card{border:1px solid rgba(114,47,72,.16);background:linear-gradient(180deg,#fff,#fffaf7)}
.v90-dispute-card.active{border-color:#d88b71;box-shadow:0 10px 30px rgba(114,47,72,.08)}
.v90-dispute-card.resolved{border-color:#8ab39a}
.v90-dispute-center{margin-top:18px}
.v90-dispute-center-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.v90-dispute-center-head h2{margin:.2rem 0}.v90-dispute-center-head p{margin:0;color:var(--muted)}
.v90-shield{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#fff1eb;font-size:22px}
.v90-dispute-list{display:grid;gap:9px}
.v90-dispute-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;border:1px solid var(--line);background:#fff;border-radius:14px;padding:13px 14px;cursor:pointer}
.v90-dispute-row:hover{border-color:#c7a0ad}.v90-dispute-row span{display:grid;gap:3px}.v90-dispute-row small{color:var(--muted)}
.v90-dispute-state{display:inline-flex;align-items:center;white-space:nowrap;border-radius:999px;padding:6px 9px;background:#edf6ef;color:#356044;font-size:.78rem}
.v90-dispute-state.active{background:#fff0eb;color:#934d39}
.v90-admin-center{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}.v90-dispute-row.admin{background:#fbf7ff}
.v90-dispute-dialog{width:min(760px,calc(100vw - 24px));max-height:90vh;overflow:auto}
.v90-case-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding-right:30px}
.v90-case-head h2{margin:.3rem 0}.v90-case-head p{margin:0;color:var(--muted)}
.v90-dispute-form textarea,.v90-message-form textarea{min-height:120px}
.v90-case-warning{padding:12px;border-radius:12px;background:#fff4e8;color:#7e522b;font-size:.9rem;margin-bottom:12px}
.v90-case-summary,.v90-resolution{margin:16px 0;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}
.v90-case-summary p,.v90-resolution p{white-space:pre-wrap;margin:.5rem 0 0}
.v90-resolution{background:#f3faf5;border-color:#bcd7c4}
.v90-timeline{margin:18px 0}.v90-timeline h3{margin-bottom:10px}
.v90-timeline-item{display:grid;grid-template-columns:32px 1fr;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}
.v90-timeline-item>span{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#f6f0f2}
.v90-timeline-item p{white-space:pre-wrap;margin:.35rem 0}.v90-timeline-item small{color:var(--muted)}
.v90-message-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin-top:14px}
.v90-message-form textarea{min-height:88px}
.v90-evidence-upload{margin:14px 0;padding:13px;border:1px dashed #c9b4bb;border-radius:14px;display:grid;gap:9px;background:#fffdfb}
.v90-evidence-upload>div{display:grid}.v90-evidence-upload small{color:var(--muted)}
.v90-evidence-upload input[type=file],.v90-evidence-upload input[type=text]{width:100%}
.v90-admin-box{margin-top:18px;padding:15px;border-radius:16px;border:1px solid #d5c4ea;background:#fbf8ff}
.v90-admin-box h3{margin:.25rem 0 12px}
@media(max-width:640px){.v90-message-form{grid-template-columns:1fr}.v90-case-head{display:grid}.v90-dispute-row{align-items:flex-start;flex-direction:column}.v90-dispute-state{align-self:flex-start}}


/* V9.8 — Agenda intelligent */
.v84-action.agenda{border-color:#d9c9ff;background:linear-gradient(135deg,#fff,#f6f1ff)}
.v91-agenda-head{margin-bottom:18px}.v91-agenda-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.v91-agenda-summary>div{background:#fff;border:1px solid var(--border,#eadfe2);border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:4px}.v91-agenda-summary small{font-weight:800;color:#7f6970;text-transform:uppercase;font-size:11px;letter-spacing:.05em}.v91-agenda-summary strong{font-size:25px;color:#4d2031}.v91-agenda-summary span{font-size:12px;color:#77666b}.v91-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.v91-section-head h2{margin:3px 0 3px}.v91-section-head p{margin:0;color:#786a6e;font-size:13px}.v91-agenda-filters{margin-bottom:14px}.v91-agenda-card{display:flex;gap:14px;align-items:stretch}.v91-agenda-card-date{min-width:62px;border-radius:15px;background:#f8eef2;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:10px}.v91-agenda-card-date b{font-size:25px}.v91-agenda-card-date span{text-transform:uppercase;font-size:11px;font-weight:800}.v91-agenda-card-main{flex:1}.v91-agenda-state{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;background:#f4eef0;font-size:11px;font-weight:800}.v91-agenda-state.done{background:#eaf7ef;color:#1f7442}.v91-agenda-state.unscheduled{background:#fff3d8;color:#8b6114}.v91-agenda-state.today{background:#fff0e0;color:#9a5418}.v91-agenda-state.soon{background:#ffe5e5;color:#a92e2e}.v91-reminder-list{display:grid;gap:8px;margin:0 0 14px}.v91-reminder{width:100%;border:1px solid #f0d8b6;background:#fffaf1;border-radius:15px;padding:12px 14px;display:flex;align-items:center;gap:12px;text-align:left}.v91-reminder.urgent{border-color:#efb0b0;background:#fff4f4}.v91-reminder span{font-size:22px}.v91-reminder div{flex:1;display:flex;flex-direction:column;gap:2px}.v91-reminder small{color:#786a6e}.v91-week-grid{display:grid;gap:8px;margin-bottom:14px}.v91-week-row{display:grid;grid-template-columns:minmax(125px,1fr) 105px 20px 105px;align-items:center;gap:8px;padding:10px 12px;border:1px solid #eee2e5;border-radius:13px;background:#fff}.v91-day-toggle{display:flex;align-items:center;gap:9px}.v91-day-toggle input{width:18px;height:18px}.v91-week-row input[type=time]{padding:8px;border:1px solid #dfd2d6;border-radius:9px}.v91-block-form{margin-bottom:12px}.v91-block-list{display:grid;gap:8px}.v91-block-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid #eee2e5;border-radius:12px}.v91-block-item div{display:flex;flex-direction:column;gap:2px}.v91-block-item small{color:#77686c}.text-btn.danger{color:#ac3434}.v91-profile-agenda{margin:12px 0;padding:12px;border:1px solid #e8dde0;border-radius:14px;background:#fcf9fa}.v91-compat{margin-top:12px;padding:10px 12px;border-radius:12px;font-size:13px;font-weight:800}.v91-compat.ok,.v91-offer-slot.ok{background:#eaf7ef;color:#1f7442}.v91-compat.warn,.v91-offer-slot.warn{background:#fff3dd;color:#8d6117}.v91-compat.danger{background:#ffe8e8;color:#a52e2e}.v91-compat.neutral,.v91-offer-slot.neutral{background:#f4f0f2;color:#6f6266}.v91-offer-slot{display:inline-flex;margin:8px 0 3px;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:800}.v91-open-agenda-btn{margin-top:10px}.v91-reminder-settings{margin-bottom:90px}
@media(max-width:700px){.v91-agenda-summary{grid-template-columns:1fr 1fr}.v91-agenda-summary>div:last-child{grid-column:1/-1}.v91-week-row{grid-template-columns:1fr 90px 14px 90px;padding:9px}.v91-agenda-card{gap:9px}.v91-agenda-card-date{min-width:54px;padding:8px}.v91-section-head{flex-direction:column}.v84-dashboard-actions{grid-template-columns:1fr 1fr}}


/* V9.2 — expérience application mobile / PWA */
html{overscroll-behavior-y:none}
body.pwa-standalone{padding-top:env(safe-area-inset-top);background:#fff8f1}
body.pwa-standalone .topbar{padding-top:max(8px,env(safe-area-inset-top))}
body.pwa-standalone .bottom-nav{padding-bottom:max(8px,env(safe-area-inset-bottom))}
.v92-quick-dock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0 20px}
.v92-quick-dock button{border:1px solid #e6d9dd;background:#fff;border-radius:16px;padding:12px 8px;display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;color:#4d2031;box-shadow:0 6px 18px rgba(80,35,51,.04)}
.v92-quick-dock button span{font-size:22px}.v92-quick-dock button strong{font-size:11px}
.v92-mobile-panel{margin-top:16px;border-color:#d9cad0;background:linear-gradient(145deg,#fff,#fff8f4)}
.v92-mobile-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.v92-mobile-head h2{margin:3px 0}.v92-mobile-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}
.v92-app-state{white-space:nowrap;padding:7px 10px;border-radius:999px;background:#f3edef;color:#705d63;font-size:11px;font-weight:800}.v92-app-state.installed{background:#e9f7ee;color:#24643c}
.v92-mobile-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.v92-mobile-card{border:1px solid #e9dde1;border-radius:16px;background:#fff;padding:13px;display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center}.v92-mobile-card>span{font-size:25px}.v92-mobile-card>div{display:grid;gap:2px}.v92-mobile-card small{color:var(--muted);font-size:10px;line-height:1.35}.v92-mobile-card .btn{margin:0;width:auto;white-space:nowrap}
.v92-mobile-actions{display:flex;gap:8px;margin-top:10px}.v92-mobile-actions .btn{margin:0}.v92-ios-help{margin:12px 0 0;padding:11px 12px;border:1px solid #e7d5a6;border-radius:12px;background:#fff9e9;color:#70541a;font-size:10px;line-height:1.45}
@media(max-width:700px){
  .v92-quick-dock{position:sticky;top:66px;z-index:8;background:rgba(255,248,241,.94);backdrop-filter:blur(12px);padding:7px 0;margin:8px 0 16px}
  .v92-quick-dock button{padding:9px 5px;border-radius:13px}.v92-quick-dock button span{font-size:20px}.v92-quick-dock button strong{font-size:9.5px}
  .v92-mobile-head{display:block}.v92-app-state{display:inline-flex;margin-top:9px}.v92-mobile-grid{grid-template-columns:1fr}.v92-mobile-card{grid-template-columns:34px 1fr}.v92-mobile-card .btn{grid-column:1/-1;width:100%}.v92-mobile-actions{display:grid;grid-template-columns:1fr}.v92-mobile-actions .btn{width:100%}
}


/* V9.3 — espace travailleur complet */
.v84-action.worker{border-color:#c9d9ef;background:linear-gradient(135deg,#fff,#f2f7ff)}
.v93-worker-head{margin-bottom:16px}
.v93-worker-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border:1px solid #e5d8dd;border-radius:22px;background:linear-gradient(135deg,#fff,#fff8f3);margin-bottom:14px}
.v93-worker-identity{display:flex;align-items:center;gap:14px}.v93-worker-avatar{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:#722f48;color:#fff;font-size:22px;font-weight:900}.v93-worker-identity small{font-size:10px;font-weight:900;letter-spacing:.08em;color:#8a727a}.v93-worker-identity h2{margin:3px 0 2px}.v93-worker-identity p{margin:0;color:var(--muted);font-size:12px}
.v93-badge-strip{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.v93-badge-strip span,.v93-public-badge{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;background:#f6eef1;border:1px solid #e5d4da;font-size:11px;font-weight:800;color:#633145}
.v93-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}.v93-kpi-grid article{background:#fff;border:1px solid #e9dde1;border-radius:18px;padding:14px;display:grid;gap:4px;min-width:0}.v93-kpi-grid article>span{font-size:20px}.v93-kpi-grid small{font-weight:800;color:#7c686f;font-size:10px;text-transform:uppercase;letter-spacing:.04em}.v93-kpi-grid strong{font-size:21px;color:#4d2031}.v93-kpi-grid em{font-style:normal;font-size:10px;color:#8a7a7f;line-height:1.35}
.v93-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.v93-section-head h2{margin:3px 0}.v93-section-head p{margin:0;color:var(--muted);font-size:12px}.v93-counter{padding:6px 9px;border-radius:999px;background:#f3edef;color:#6d5a61;font-size:11px;font-weight:800;white-space:nowrap}
.v93-month-list{display:grid;gap:10px}.v93-month-row{display:grid;grid-template-columns:70px 1fr 110px;align-items:center;gap:12px}.v93-month-row>strong{text-transform:capitalize;font-size:12px}.v93-month-bars{display:grid;gap:5px}.v93-month-bars>div{height:8px;background:#f2ebed;border-radius:99px;overflow:hidden}.v93-month-bars span{display:block;height:100%;border-radius:99px;background:#722f48}.v93-month-bars .missions span{background:#d99963}.v93-month-values{text-align:right;display:grid}.v93-month-values b{font-size:12px}.v93-month-values small{font-size:10px;color:var(--muted)}
.v93-badge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.v93-badge-card{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;padding:12px;border:1px solid #e7dce0;border-radius:14px;background:#fff}.v93-badge-card>span{font-size:24px}.v93-badge-card>div{display:grid;gap:2px}.v93-badge-card small{color:var(--muted);font-size:10px}.v93-badge-card>b{font-size:16px}.v93-badge-card.locked{opacity:.52;filter:grayscale(.65)}.v93-badge-card.unlocked{border-color:#c7ddcd;background:#f7fcf8}.v93-badge-card.unlocked>b{color:#2e7a45}
.v93-recent-card{display:flex;align-items:center;justify-content:space-between;gap:12px}.v93-recent-card h3{margin:4px 0}.v93-recent-card .btn{width:auto;margin:0}
.v93-portfolio-form{margin-bottom:14px}.v93-portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.v93-portfolio-item{border:1px solid #e7dce0;border-radius:16px;overflow:hidden;background:#fff}.v93-portfolio-item img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#f1ecee}.v93-portfolio-item>div{padding:10px;display:grid;gap:4px}.v93-portfolio-item span{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#8c737c;font-weight:900}.v93-portfolio-item strong{font-size:12px}.v93-portfolio-item .text-btn{justify-self:start;padding:0;font-size:10px}
.v93-worker-launch{width:100%;margin:0 0 14px;border:1px solid #d8cad0;border-radius:18px;background:linear-gradient(135deg,#fff,#fff5ef);padding:14px;display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:center;text-align:left;cursor:pointer}.v93-worker-launch>span{font-size:28px}.v93-worker-launch>div{display:grid;gap:2px}.v93-worker-launch small{font-size:9px;color:#8e747d;font-weight:900;letter-spacing:.07em}.v93-worker-launch strong{font-size:14px;color:#4d2031}.v93-worker-launch em{font-style:normal;color:#722f48;font-size:11px;font-weight:800}
.v93-public-badges{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0}.v93-public-portfolio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.v93-public-portfolio figure{margin:0;border:1px solid #e7dce0;border-radius:12px;overflow:hidden;background:#fff}.v93-public-portfolio img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}.v93-public-portfolio figcaption{padding:7px;display:grid;gap:2px}.v93-public-portfolio figcaption strong{font-size:10px}.v93-public-portfolio figcaption small{font-size:9px;color:var(--muted)}
@media(max-width:900px){.v93-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v93-kpi-grid article:last-child{grid-column:1/-1}.v84-dashboard-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.v93-worker-hero{display:grid}.v93-badge-strip{justify-content:flex-start}.v93-kpi-grid{grid-template-columns:1fr 1fr}.v93-kpi-grid article:last-child{grid-column:1/-1}.v93-month-row{grid-template-columns:58px 1fr 92px;gap:7px}.v93-badge-grid{grid-template-columns:1fr}.v93-portfolio-grid,.v93-public-portfolio{grid-template-columns:1fr 1fr}.v93-section-head{flex-direction:column}.v93-recent-card{align-items:flex-start}.v93-recent-card .btn{white-space:nowrap}}


/* ===== V9.4 — Radar de missions / Matching ===== */
.v94-radar{position:relative;overflow:hidden}
.v94-radar::before{content:"";position:absolute;right:-70px;top:-85px;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,rgba(114,47,72,.10),rgba(114,47,72,0) 68%);pointer-events:none}
.v94-match-settings-head{display:grid;gap:3px;margin:2px 0 15px;padding:13px 14px;border-radius:15px;background:linear-gradient(135deg,var(--city-soft,#f4e7eb),#fff);border:1px solid var(--city-line,#ead8de)}
.v94-match-settings-head span{font-size:9px;letter-spacing:.08em;font-weight:950;color:var(--city-primary,#722f48)}
.v94-match-settings-head strong{font-size:14px;color:var(--ink,#172037)}
.v94-match-settings-head small{font-size:10px;line-height:1.4;color:var(--muted,#74666b)}
.v94-money-pref{display:flex;align-items:center;border:1px solid var(--line,#e3e7ea);border-radius:14px;background:#fff;overflow:hidden}
.v94-money-pref input{border:0!important;border-radius:0!important;box-shadow:none!important;min-width:0}
.v94-money-pref span{padding:0 15px;font-weight:950;color:var(--city-primary,#722f48);border-left:1px solid var(--line,#e3e7ea)}
.v94-category-pref-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:7px}
.v94-category-pref{display:flex;align-items:center;gap:7px;min-height:42px;padding:8px 9px;border:1px solid var(--line,#e3e7ea);border-radius:13px;background:#fff;cursor:pointer;transition:.15s}
.v94-category-pref input{position:absolute;opacity:0;pointer-events:none}.v94-category-pref span{font-size:16px;flex:0 0 auto}.v94-category-pref strong{font-size:10px;line-height:1.2;color:#465266}
.v94-category-pref.active{border-color:var(--city-primary,#722f48);background:var(--city-soft,#f4e7eb);box-shadow:0 0 0 1px color-mix(in srgb,var(--city-primary,#722f48) 18%,transparent)}
.v94-category-pref.active strong{color:var(--city-primary,#722f48)}
.v94-request-meta{flex-wrap:wrap;margin-bottom:8px;color:#6e7b91}.v94-request-meta span{font-size:11px;font-weight:700}
.v94-card-action{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;padding-top:10px;border-top:1px solid #edf0f3}
.v94-card-status{display:grid;gap:1px}.v94-card-action small{font-size:8px;text-transform:uppercase;letter-spacing:.06em;color:#8a95a5;font-weight:900}.v94-card-action strong{font-size:13px;color:var(--city-primary,#722f48);line-height:1.2}
.v94-apply-btn{width:auto!important;min-width:94px;min-height:38px!important;padding:8px 14px!important;border-radius:12px!important;font-size:11px!important;box-shadow:none!important}
.v87-recommendation-grid .v94-card-action{margin-top:9px}.v87-recommendation-grid .v94-apply-btn{min-width:88px}
@media(max-width:720px){.v94-category-pref-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.request-quick-facts{gap:6px}.quick-fact{font-size:10.5px;padding:5px 8px}.v94-card-action{align-items:flex-start;flex-direction:column}.v94-apply-btn{min-width:86px;width:100%}}
@media(max-width:390px){.v94-category-pref-grid{grid-template-columns:1fr 1fr}.v94-category-pref{padding:7px}.v94-category-pref strong{font-size:9px}}

/* ===== V9.5 — Vraies candidatures & propositions ===== */
.v95-application-card{margin-top:18px;padding:20px;border:1px solid #e8d8de;border-radius:22px;background:linear-gradient(180deg,#fff 0%,#fffafc 100%);box-shadow:0 12px 34px rgba(80,34,51,.06)}
.v95-application-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}.v95-application-head h3{margin:3px 0 5px;font-size:21px}.v95-application-head p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.v95-application-state{flex:none;border:1px solid #eadde2;background:#f8f0f3;color:var(--city-primary,#722f48);border-radius:999px;padding:6px 10px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.v95-offer-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.v95-free-offer{display:flex;align-items:center;gap:12px;min-height:88px;padding:14px;border:1px solid #dcece1;background:#f4fbf6;border-radius:15px}.v95-free-offer>span{font-size:26px}.v95-free-offer div{display:flex;flex-direction:column;gap:3px}.v95-free-offer small{color:var(--muted)}
.v95-submit-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:10px;padding-top:14px;border-top:1px solid #efe4e8}.v95-submit-row small{max-width:520px;color:var(--muted);line-height:1.4}.v95-submit-row .btn{width:auto;min-width:190px}
.v95-existing-offer-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.v95-existing-offer-head>div{display:flex;flex-direction:column;gap:3px}.v95-my-offer-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.v95-my-offer-summary>div{padding:12px;border:1px solid #eee2e6;border-radius:13px;background:#fcfafb;display:flex;flex-direction:column;gap:3px}.v95-my-offer-summary small{text-transform:uppercase;font-size:9px;font-weight:900;color:#8a737b}.v95-my-offer-summary strong{font-size:14px}
.v95-candidate-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:14px 0;padding:14px 15px;border:1px solid #eadde2;background:#fcf8fa;border-radius:16px}.v95-candidate-toolbar>div:first-child{display:flex;flex-direction:column;gap:3px}.v95-candidate-toolbar>div:first-child>strong{font-size:18px}.v95-candidate-toolbar small{color:var(--muted)}.v95-sort-buttons{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.v95-sort-buttons button{border:1px solid #e3d4d9;background:#fff;color:#65555b;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:850;cursor:pointer}.v95-sort-buttons button.active{background:var(--city-primary,#722f48);border-color:var(--city-primary,#722f48);color:#fff}
.v95-candidate-card{position:relative}.v95-candidate-card.best{border-color:#d2b6c1;box-shadow:0 10px 28px rgba(114,47,72,.08)}.v95-candidate-name{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.v95-best-badge{display:inline-flex;align-items:center;border-radius:999px;background:#fff1ce;color:#825b12;padding:4px 7px;font-size:9px;font-weight:900}.v95-profile-btn{width:auto!important;min-height:36px!important;white-space:nowrap}
.v95-candidate-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}.v95-candidate-metrics>div{border:1px solid #eee2e6;border-radius:12px;padding:10px;background:#fff;display:flex;flex-direction:column;gap:2px}.v95-candidate-metrics small{font-size:8px;text-transform:uppercase;letter-spacing:.05em;font-weight:900;color:#8c757d}.v95-candidate-metrics strong{font-size:15px;color:#442d35}.v95-candidate-metrics span{font-size:9px;color:var(--muted)}.v95-my-application .offer-message{margin-top:10px}
@media(max-width:760px){.v95-offer-form-grid{grid-template-columns:1fr}.v95-submit-row,.v95-candidate-toolbar{align-items:stretch;flex-direction:column}.v95-submit-row .btn{width:100%}.v95-sort-buttons{justify-content:flex-start}.v95-candidate-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.v95-profile-btn{width:100%!important}.v95-my-offer-summary{grid-template-columns:1fr}}

/* ===== V9.6 — Centre de mission ===== */
.v96-mission-center{margin:0 0 16px;padding:20px;border:1px solid #dfcfd5;border-radius:24px;background:linear-gradient(145deg,#fff 0%,#fff9fb 62%,#fff6ef 100%);box-shadow:0 14px 38px rgba(78,35,51,.08)}
.v96-center-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.v96-center-head h1{margin:5px 0 5px;font-size:27px;line-height:1.1}.v96-center-head p{margin:0;color:var(--muted);font-size:11px}.v96-state-badge{display:inline-flex;align-items:center;justify-content:center;min-width:92px;padding:8px 11px;border-radius:999px;background:#f2ecef;color:#65545b;border:1px solid #e4d7dc;font-size:10px;font-weight:900;white-space:nowrap}.v96-state-badge.confirmed{background:#edf5ff;color:#315d8c;border-color:#ccddf1}.v96-state-badge.in_progress{background:#fff1da;color:#8a5c14;border-color:#ecd19d}.v96-state-badge.completed{background:#e9f7ee;color:#257044;border-color:#bfe0ca}.v96-state-badge.cancelled{background:#fff0f2;color:#9a3344;border-color:#e7c1c8}
.v96-status-track{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto 1fr auto;align-items:start;gap:6px;margin:18px 0;padding:14px;border:1px solid #eadde2;border-radius:17px;background:#fff}.v96-status-step{display:grid;justify-items:center;gap:6px;min-width:64px}.v96-status-step span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:2px solid #ddd3d7;background:#fff;color:#8c7b82;font-size:10px;font-weight:950}.v96-status-step small{font-size:8px;font-weight:900;color:#8c7b82;text-align:center;white-space:nowrap}.v96-status-line{height:2px;background:#e7dfe2;margin-top:14px;border-radius:99px}.v96-status-step.done span,.v96-status-step.current span{background:var(--city-primary,#722f48);border-color:var(--city-primary,#722f48);color:#fff}.v96-status-step.done small,.v96-status-step.current small{color:#382b30}.v96-status-step.done+.v96-status-line{background:var(--city-primary,#722f48)}.v96-status-step.cancelled span{background:#b53e50;border-color:#b53e50;color:#fff}.v96-status-step.cancelled small{color:#8f3040}
.v96-mission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.v96-mission-grid article{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:start;padding:13px;border:1px solid #ebdfe3;border-radius:15px;background:rgba(255,255,255,.92)}.v96-mission-grid article>span{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:#f7edf1;color:var(--city-primary,#722f48);font-size:17px;font-weight:900}.v96-mission-grid article>div{min-width:0;display:grid;gap:3px}.v96-mission-grid small{font-size:8px;text-transform:uppercase;letter-spacing:.06em;font-weight:900;color:#8a747c}.v96-mission-grid strong{font-size:12px;line-height:1.35;color:#392d31;overflow-wrap:anywhere}.v96-mission-grid em{font-size:9px;color:var(--muted);font-style:normal}
.v96-center-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}.v96-center-actions .btn{width:auto;margin:0}.v96-main-action{min-width:175px}.v96-cancelled-action{color:#9a3344!important}.v96-review-note{margin-top:12px;padding:10px 12px;border-radius:12px;background:#edf8f1;color:#2b7146;font-size:10px;font-weight:800}.v96-pre-mission{padding:18px;border:1px solid #eadde2;border-radius:20px;background:#fff}.v96-pre-mission h1{margin:5px 0}.v96-pre-mission p{margin:0;color:var(--muted)}
#view-chat #chatHeader{padding-bottom:0}#view-chat .chat-box{min-height:330px;background:#fbfafb;border-radius:20px;padding:14px}#view-chat .chat-box:before{content:"CONVERSATION";display:block;margin:0 0 10px;font-size:9px;font-weight:950;letter-spacing:.08em;color:#8b757d}.msg{max-width:78%;line-height:1.42}.chat-compose{border-top:1px solid #eee3e7;margin-top:10px;padding-top:12px}
@media(max-width:720px){.v96-center-head{display:grid}.v96-state-badge{justify-self:start}.v96-center-head h1{font-size:23px}.v96-status-track{grid-template-columns:1fr;gap:4px}.v96-status-line{width:2px;height:12px;margin:0 0 0 14px}.v96-status-step{grid-template-columns:32px 1fr;align-items:center;justify-items:start;min-width:0}.v96-status-step small{white-space:normal;text-align:left}.v96-mission-grid{grid-template-columns:1fr}.v96-center-actions{display:grid}.v96-center-actions .btn,.v96-main-action{width:100%}.msg{max-width:88%}}


/* ===== V9.7 — Confiance & sécurité ===== */
.v97-trust-center{border-color:#dbc7cf;background:linear-gradient(180deg,#fff,#fff9fb)}
.v97-tier-preview{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 14px;min-height:30px;align-items:center}
.v97-trust-tier{display:inline-flex;align-items:center;gap:5px;border:1px solid #e5d9de;border-radius:999px;padding:6px 9px;background:#fff;font-size:9px;font-weight:950;color:#604a53}
.v97-trust-tier.new{background:#f5f1ec;color:#6d604f}.v97-trust-tier.verified{background:#edf8f1;color:#256b42;border-color:#c8e5d3}.v97-trust-tier.excellent{background:#fff8df;color:#805f16;border-color:#ead79a}.v97-trust-tier.top{background:#f4ecff;color:#654291;border-color:#d9c7ed}.v97-trust-tier.pro{background:#252025;color:#fff;border-color:#252025}
.trust-badge.pro{background:#252025;color:#fff}.v97-trust-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.v97-trust-actions .btn{margin:0;min-height:42px}
.v97-phone-dialog{max-width:520px}.v97-phone-head h2{margin:5px 0}.v97-phone-head p{margin:0 0 15px;color:var(--muted);font-size:10px;line-height:1.5}.v97-phone-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.v97-phone-actions .btn{margin:0}
.v96-center-actions #chatNoShow,.v96-center-actions #chatReportParticipant{font-size:9px}.v96-center-actions #chatCancelMission{font-size:9px}
@media(max-width:720px){.v97-trust-actions,.v97-phone-actions{grid-template-columns:1fr}.v97-trust-actions .btn,.v97-phone-actions .btn{width:100%}.v97-tier-preview{gap:5px}.v97-trust-tier{font-size:8.5px}}

.v97-cancel-note{margin-top:12px;padding:10px 12px;border-radius:12px;background:#fff2f4;color:#8d3342;border:1px solid #efccd2;font-size:9.5px;font-weight:800}


/* V9.8 — Agenda intelligent */
.v98-agenda-smartbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 14px}
.v98-agenda-smartbar>div{display:flex;gap:11px;align-items:flex-start;padding:13px 14px;border:1px solid #e9dfe3;border-radius:16px;background:linear-gradient(145deg,#fff,#fbf7f9)}
.v98-agenda-smartbar>div>span{font-size:22px;line-height:1}
.v98-agenda-smartbar p{margin:0;display:flex;flex-direction:column;gap:3px}
.v98-agenda-smartbar strong{font-size:13px;color:#4d2031}
.v98-agenda-smartbar small{font-size:11px;line-height:1.35;color:#786a6e}
.v98-schedule-alert{display:flex;align-items:flex-start;gap:10px;margin:12px 0;padding:11px 12px;border-radius:13px;border:1px solid}
.v98-schedule-alert>span{font-size:18px}.v98-schedule-alert>div{display:flex;flex-direction:column;gap:2px}.v98-schedule-alert strong{font-size:13px}.v98-schedule-alert small{font-size:11px;line-height:1.35}
.v98-schedule-alert.late{border-color:#efd7a9;background:#fff9ed;color:#805716}
.v98-schedule-alert.unavailable{border-color:#efc3c3;background:#fff4f4;color:#8e2e2e}
.v98-schedule-alert.compact{margin:9px 0 0;padding:8px 10px}.v98-schedule-alert.compact>span{font-size:15px}.v98-schedule-alert.compact strong{font-size:11px}
.v98-travel-card{grid-column:span 2;background:linear-gradient(145deg,#f8f4ff,#fff)!important;border-color:#dcd0f6!important}
.v98-travel-card .v98-travel-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:5px}
.v98-travel-card .text-btn{font-size:11px;font-weight:800;text-decoration:none}
.v98-late-btn{border-color:#e8c98d!important;background:#fffaf0!important;color:#7f5b18!important}
.v98-unavailable-btn{border-color:#ebc0c0!important;background:#fff7f7!important;color:#923737!important}
.v98-schedule-dialog{max-width:520px}
.v98-schedule-dialog form{display:flex;flex-direction:column;gap:12px}
.v98-schedule-dialog h2{margin:0}.v98-schedule-dialog p{margin:0;color:#77686c}
.v98-schedule-dialog-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:10px}
@media(max-width:700px){
  .v98-agenda-smartbar{grid-template-columns:1fr}
  .v98-travel-card{grid-column:1/-1}
  .v98-schedule-dialog-actions{grid-template-columns:1fr}
}

/* V9.9 — Paiement intégré & portefeuille Stripe */
.v99-wallet-panel{position:relative;overflow:hidden}
.v99-wallet-panel:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,#635bff,#7b73ff,#9c97ff)}
.v99-wallet-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.v99-connect-box{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:18px 0;padding:18px;border:1px solid var(--border,#e8e6ef);border-radius:18px;background:linear-gradient(135deg,rgba(99,91,255,.08),rgba(255,255,255,.7))}
.v99-connect-box h3{margin:3px 0 4px}.v99-connect-box p{margin:0;color:var(--muted,#6f6b78)}
.v99-connect-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.v99-flow{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;margin:16px 0;padding:12px;border-radius:14px;background:rgba(99,91,255,.06);font-size:.88rem;font-weight:700}
.v99-flow b{opacity:.45}.v99-marketplace-card{border-color:rgba(99,91,255,.22);box-shadow:0 14px 35px rgba(74,63,160,.08)}
.v99-payment-breakdown{display:grid;gap:9px;margin:15px 0}.v99-payment-breakdown>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(0,0,0,.06)}
.v99-payment-breakdown .total{font-size:1.05rem;border-bottom:0;padding-top:13px}.v99-payment-breakdown .total strong{font-size:1.3rem}
.v99-pay-btn{font-size:1rem}.v99-wallet-row strong{text-align:right}
@media(max-width:780px){.v99-wallet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v99-connect-box{align-items:flex-start;flex-direction:column}.v99-connect-actions{width:100%}.v99-connect-actions .btn{flex:1}.v99-flow{justify-content:flex-start;font-size:.78rem}}
.v99-legacy-fallback{margin-top:20px;padding:14px 16px;border:1px dashed rgba(110,104,126,.3);border-radius:14px;background:rgba(0,0,0,.015)}
.v99-legacy-fallback summary{cursor:pointer;font-weight:750;color:var(--muted,#6f6b78)}
.v99-legacy-fallback[hidden]{display:none!important}

/* === V10.0 MARKETPLACE CORE === */
.v10-marketplace-core{margin:18px 0 22px;padding:18px;border:1px solid #d8e2dc;border-radius:24px;background:linear-gradient(145deg,#fff,#f3f7f4);box-shadow:0 12px 30px rgba(23,48,42,.06)}
.v10-market-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.v10-market-head h2{margin:4px 0 5px;font-size:22px;letter-spacing:-.55px}.v10-market-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.v10-market-summary{background:#edf4f0;border:1px solid #d6e4dc;border-radius:999px;padding:8px 11px;font-size:10px;font-weight:900;color:var(--green);white-space:nowrap}
.v10-market-toolbar{display:grid;grid-template-columns:1fr;gap:8px}.v10-market-toolbar select,.v10-market-filters select{border:1px solid var(--line);border-radius:13px;background:#fff;padding:11px 12px;color:var(--ink);font-weight:750}.v10-searchbox{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:0 12px}.v10-searchbox span{font-size:19px;color:var(--green-2)}.v10-searchbox input{width:100%;border:0;outline:0;padding:12px 0;background:transparent;color:var(--ink)}
.v10-market-modes{display:flex;gap:8px;margin:12px 0 9px}.v10-market-modes button,.v10-market-filters button{border:1px solid var(--line);background:#fff;color:#61716a;border-radius:999px;padding:8px 11px;font-size:11px;font-weight:900;white-space:nowrap}.v10-market-modes button.active,.v10-market-filters button.active{background:var(--green);border-color:var(--green);color:#fff}.v10-market-filters{display:flex;gap:7px;overflow:auto;padding:1px 0 11px;align-items:center}.v10-market-results{display:grid;gap:11px}.v10-market-results.worker-results{grid-template-columns:1fr}
.v10-conflict-badge{font-size:9px;font-weight:950;padding:4px 7px;border-radius:999px;background:#fff0e5;color:#9b552a;border:1px solid #efd2bc;white-space:nowrap}
.v10-provider-card{position:relative}.v10-provider-topright{display:flex;align-items:flex-start;gap:7px}.v10-provider-score{min-width:49px;height:42px;border-radius:13px;display:grid;place-content:center;text-align:center;background:#edf4f0;color:var(--green);font-size:15px;font-weight:950;line-height:.9;border:1px solid #d7e5dc}.v10-provider-score small{display:block;font-size:8px;margin-top:3px;color:#668078}.v10-provider-headline{display:block;color:#566a61;margin-top:3px;line-height:1.25;max-width:230px}.v10-provider-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:10px 0}.v10-provider-metrics span{display:grid;gap:2px;padding:8px;border:1px solid var(--line);background:#f8faf9;border-radius:11px}.v10-provider-metrics small{font-size:8px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-weight:900}.v10-provider-metrics b{font-size:11px;color:var(--green)}
.v10-inline-score{font-size:9px;font-weight:950;border-radius:999px;padding:4px 6px;background:#edf4f0;color:var(--green);border:1px solid #d7e5dc}.v10-candidate-metrics{grid-template-columns:repeat(3,1fr)!important}.v10-public-profile .provider-public-head p{line-height:1.45}.v10-profile-stats{grid-template-columns:repeat(3,1fr)!important}.v10-profile-stats div:nth-child(n+4){background:#f7faf8}.v10-profile-market-grid{display:grid;grid-template-columns:1fr;gap:0}

@media (min-width:700px){
  .v10-market-toolbar{grid-template-columns:minmax(260px,1fr) 170px 120px}.v10-market-results.worker-results{grid-template-columns:repeat(2,minmax(0,1fr))}.v10-profile-market-grid{grid-template-columns:1fr 1fr;gap:10px}
}
@media (min-width:900px){
  .v10-marketplace-core{padding:22px}.v10-market-head h2{font-size:26px}.v10-market-results.mission-results{grid-template-columns:repeat(2,minmax(0,1fr))}.v10-market-results.worker-results{grid-template-columns:repeat(2,minmax(0,1fr))}.v10-market-toolbar{grid-template-columns:minmax(360px,1fr) 180px 130px}.v10-profile-stats{grid-template-columns:repeat(6,1fr)!important}
}

/* V10.1 — Marketplace publique sans inscription */
.guest-auth-btn{
  border:1px solid rgba(114,47,72,.22);background:#fff;color:#722f48;border-radius:999px;
  padding:.65rem 1rem;font-weight:800;cursor:pointer;white-space:nowrap;
}
.v101-browse-box{display:grid;gap:.45rem;margin:1rem 0 .9rem;text-align:center}
.v101-browse-btn{border:1px solid rgba(114,47,72,.24)}
.v101-browse-box small{color:var(--muted,#6b6670);line-height:1.4}
.v101-public-access-note{display:inline-flex;align-items:center;gap:.4rem;margin:.15rem 0 1rem;padding:.5rem .75rem;border-radius:999px;background:rgba(255,255,255,.78);border:1px solid rgba(114,47,72,.12);font-size:.86rem;font-weight:800;color:#5f263c}
.v101-public-pill{display:inline-flex;align-items:center;border-radius:999px;padding:.35rem .58rem;background:#f6edf1;color:#722f48;font-size:.75rem;font-weight:900;white-space:nowrap}
.v101-auth-cta{text-align:center}
.v101-auth-cta h3{margin:.25rem 0 .45rem}
.v101-auth-cta p{margin:0 0 1rem;color:var(--muted,#6b6670)}
body.guest-mode .v84-dashboard,
body.guest-mode .v92-quick-dock,
body.guest-mode .v87-recommendations{display:none!important}
body.guest-mode .bottom-nav [data-go="messages"],
body.guest-mode .bottom-nav [data-go="profile"]{opacity:.7}
body.guest-mode .topbar{gap:.55rem}
@media(max-width:680px){
  .guest-auth-btn{padding:.55rem .78rem;font-size:.84rem}
  .v101-public-access-note{border-radius:14px;font-size:.8rem}
}

/* V10.2 — Photos partout */
.profile-bubble.has-photo,.v93-worker-avatar.has-photo,.v102-avatar-preview.has-photo,.provider-avatar,.provider-public-avatar,.avatar.avatar-button,.owner-box .avatar{overflow:hidden}
.profile-bubble img,.v93-worker-avatar img,.v102-avatar-preview img,.provider-avatar img,.provider-public-avatar img,.avatar.avatar-button img,.owner-box .avatar img{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit}
.v102-profile-media-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:6px}
.v102-profile-photo-row{display:flex;align-items:center;gap:14px}
.v102-avatar-preview{width:76px;height:76px;flex:0 0 76px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:24px;background:var(--surface-2,#f3f3f6);border:1px solid var(--line,#e5e5ea);overflow:hidden}
.v102-cover-preview{width:100%;height:110px;border-radius:16px;overflow:hidden;border:1px dashed var(--line,#d9d9df);background:var(--surface-2,#f6f6f8);display:grid;place-items:center;color:var(--muted,#777);margin-bottom:10px}
.v102-cover-preview img{width:100%;height:100%;object-fit:cover;display:block}
.v102-public-cover{height:170px;margin:-2px -2px 18px;border-radius:22px 22px 14px 14px;overflow:hidden;background:#f2f2f4}
.v102-public-cover img{width:100%;height:100%;object-fit:cover;display:block}
.v102-upload-preview{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:10px}
.v102-upload-preview:empty{display:none}
.v102-upload-preview>div{min-width:0}
.v102-upload-preview img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:12px;display:block;border:1px solid var(--line,#e6e6eb)}
.v102-upload-preview small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px}
.v102-request-gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:14px 0 18px}
.v102-gallery-item{border:0;padding:0;background:transparent;cursor:pointer;border-radius:14px;overflow:hidden;min-width:0}
.v102-gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .18s ease}
.v102-gallery-item:hover img{transform:scale(1.025)}
.v102-review-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.v102-review-photos{display:grid;grid-template-columns:repeat(2,minmax(0,180px));gap:10px;margin:10px 0}
.v102-review-photos figure{margin:0}
.v102-review-photos img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;display:block}
.v102-review-photos figcaption{font-size:12px;font-weight:700;margin-top:4px;color:var(--muted,#707078)}
.v102-chat-compose{display:grid;grid-template-columns:auto 1fr auto;align-items:center}
.v102-chat-attachment{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;cursor:pointer;background:var(--surface-2,#f4f4f7);border:1px solid var(--line,#dedee5);font-size:20px}
.v102-chat-attachment input{display:none}
.msg .v102-message-media{display:block;margin-top:8px;max-width:280px}
.msg .v102-message-media img{display:block;width:100%;max-height:280px;object-fit:cover;border-radius:12px}
.msg .v102-message-file{display:block;margin-top:8px;font-weight:700;text-decoration:underline;color:inherit}
.provider-review-list .v102-review-photos{grid-template-columns:repeat(2,minmax(0,120px))}
.provider-review-list .v102-review-photos img{border-radius:10px}
.request-thumb img{object-fit:cover}
.v103-private-banner{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;padding:16px;margin-bottom:20px;border:1px solid #7b61ff;border-radius:16px;background:linear-gradient(135deg,#f5f1ff,#fff);color:#34245f}
.v103-private-banner>span{font-size:24px}.v103-private-banner small,.v103-private-banner strong,.v103-private-banner p{display:block}.v103-private-banner small{font-size:11px;font-weight:900;letter-spacing:.08em;color:#7256d8}.v103-private-banner strong{margin:2px 0 3px}.v103-private-banner p{margin:0;font-size:13px}.v103-private-banner button{border:0;background:transparent;color:#7256d8;font-size:24px;cursor:pointer}
.v103-private-detail{margin:10px 0 14px;padding:10px 12px;border-radius:12px;background:#f3efff;color:#5c42b5;font-weight:800;font-size:13px}
.v103-private-response{border:1px solid #8b72e8;background:linear-gradient(180deg,#fbf9ff,#fff)}
.v104-candidate-tools{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.v104-compare-btn{white-space:nowrap}
.v104-compare-dialog{width:min(940px,calc(100% - 24px));max-width:940px}.v104-compare-head{padding-right:35px}.v104-compare-head h2{margin:4px 0}.v104-compare-head p{margin:0 0 18px;color:var(--muted)}
.v104-table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:16px}.v104-compare-table{width:100%;min-width:650px;border-collapse:collapse;background:#fff}.v104-compare-table th,.v104-compare-table td{padding:14px 16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center}.v104-compare-table th:first-child{text-align:left;width:140px;background:#f8f8fa}.v104-compare-table thead th{background:#f4f0ff;color:var(--green)}.v104-compare-table thead th:first-child{background:#ece6ff}.v104-compare-table tr:last-child th,.v104-compare-table tr:last-child td{border-bottom:0}.v104-compare-table th:last-child,.v104-compare-table td:last-child{border-right:0}.v104-compare-table thead strong{display:block;margin-top:6px}.v104-compare-avatar{display:grid;width:44px;height:44px;margin:auto;border-radius:50%;overflow:hidden;background:var(--sand);place-items:center}.v104-compare-avatar img{width:100%;height:100%;object-fit:cover}.v104-check{color:#18875d;font-size:21px;font-weight:900}.v104-choice-row .btn{padding:9px 15px}
@media(max-width:720px){.v104-candidate-tools{align-items:stretch;width:100%}.v104-compare-btn{width:100%}.v104-compare-dialog{padding:18px 10px}.v104-compare-table th,.v104-compare-table td{padding:12px 10px}}
.v105-recurrence-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.v105-recurrence-choices button{border:1px solid var(--line);border-radius:12px;background:#fff;padding:12px 10px;color:var(--text);font-weight:750;cursor:pointer;text-align:left}.v105-recurrence-choices button span{color:#7457d6;margin-right:4px}.v105-recurrence-choices button.active{border-color:#7457d6;background:#f4f0ff;color:#5037a2}.v105-recurring-badge{padding:4px 8px;border-radius:999px;background:#eee8ff;color:#6243bd;font-size:11px}.v105-recurring-detail{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:10px 0 14px;padding:12px 14px;border:1px solid #cfc2fa;border-radius:12px;background:#f7f4ff;color:#51379f}.v105-recurring-detail span{font-size:13px;font-weight:700}
@media(max-width:720px){.v105-recurrence-choices{grid-template-columns:1fr 1fr}.v105-recurring-detail{align-items:flex-start;flex-direction:column}}
.v106-live-status{display:flex;align-items:center;gap:12px;margin:14px 0;padding:14px 16px;border:1px solid #b9d4ff;border-radius:15px;background:#eef6ff;color:#194f8b}.v106-live-status>span{font-size:26px}.v106-live-status>div{flex:1}.v106-live-status strong,.v106-live-status small{display:block}.v106-live-status small{margin-top:3px}.v106-live-status.arrived{border-color:#a9dfbd;background:#effbf3;color:#17653a}.v106-system-message{margin:8px auto!important;background:#f0f3f7!important;color:#344050!important;text-align:center!important;max-width:420px}.v106-system-message strong,.v106-system-message small{display:block}.v106-system-message small{margin-top:3px;opacity:.75}.v106-system-message.location{background:#eef6ff!important;color:#194f8b!important}.v96-status-track{grid-template-columns:auto 1fr auto 1fr auto 1fr auto 1fr auto 1fr auto 1fr auto;overflow-x:auto}.v96-status-step{min-width:72px}
@media(max-width:720px){.v106-live-status{align-items:flex-start;flex-wrap:wrap}.v106-live-status .btn{width:100%}.v96-status-track{grid-template-columns:1fr}}
.v107-verification-dialog{width:min(680px,calc(100% - 24px));max-width:680px}.v107-verification-dialog h2{margin:5px 35px 5px 0}.v107-verification-dialog>form>p{margin:0 0 18px;color:var(--muted)}.v107-verification-dialog input[type="file"]{padding:10px;background:#fafafa}.v107-consent{display:flex;align-items:flex-start;gap:10px;margin:15px 0;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fafafa;font-size:13px}.v107-consent input{margin-top:2px}.v107-verification-dialog .trust-center-note{display:block;margin-top:10px;text-align:center}
.v108-replacement-alert{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin:0 0 16px;padding:17px;border:1px solid #edb2b8;border-radius:16px;background:linear-gradient(135deg,#fff3f4,#fff);color:#71313b}.v108-replacement-alert>span{font-size:28px}.v108-replacement-alert strong{font-size:17px}.v108-replacement-alert p{margin:4px 0 0;font-size:13px}.v108-cancel-message{background:#fff1f2!important;color:#8b3340!important}
@media(max-width:720px){.v108-replacement-alert{grid-template-columns:auto 1fr}.v108-replacement-alert .btn{grid-column:1/-1;width:100%}}
.admin-backoffice-btn{border:1px solid #d6c9f4;border-radius:999px;background:#f4f0ff;color:#563a9e;padding:9px 13px;font-weight:850;cursor:pointer}.v109-admin-head{padding-bottom:12px}.v109-admin-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:14px}.v109-admin-stats article{padding:15px;border:1px solid var(--line);border-radius:15px;background:#fff}.v109-admin-stats strong,.v109-admin-stats span{display:block}.v109-admin-stats strong{font-size:25px;color:var(--city-primary,var(--green))}.v109-admin-stats span{font-size:11px;font-weight:750;margin-top:4px}.v109-admin-tabs{display:flex;gap:7px;overflow-x:auto;padding:4px 0 12px}.v109-admin-tabs button{white-space:nowrap;border:1px solid var(--line);border-radius:999px;background:#fff;padding:9px 13px;font-weight:800;cursor:pointer}.v109-admin-tabs button.active{background:var(--city-primary,var(--green));border-color:var(--city-primary,var(--green));color:#fff}.v109-admin-panel{padding:0;overflow:hidden}.v109-table-wrap{overflow:auto}.v109-table{width:100%;min-width:760px;border-collapse:collapse}.v109-table th,.v109-table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.v109-table th{background:#f7f5f8;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.v109-table td{font-size:13px}.v109-table td small{display:block;color:var(--muted);margin-top:3px}.v109-row-actions{display:flex;gap:6px}.v109-row-actions .btn,.v109-table .btn{padding:8px 11px}.v109-stat-detail{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:16px}.v109-stat-detail article{padding:20px;border-radius:15px;background:#f8f6fa;text-align:center}.v109-stat-detail strong,.v109-stat-detail span{display:block}.v109-stat-detail strong{font-size:28px;color:var(--city-primary,var(--green))}.v109-stat-detail span{font-size:12px;margin-top:4px}.v109-admin-panel>.empty-card,#adminBackofficeContent>.empty-card{margin:16px}
@media(max-width:900px){.v109-admin-stats{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.admin-backoffice-btn{padding:8px;font-size:0}.admin-backoffice-btn::first-letter{font-size:16px}.v109-admin-stats{grid-template-columns:1fr 1fr}.v109-stat-detail{grid-template-columns:1fr 1fr}}
@media(max-width:720px){
  .v102-profile-media-fields,.v102-review-upload-grid{grid-template-columns:1fr}
  .v102-upload-preview,.v102-request-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
  .v102-public-cover{height:125px}
  .v102-review-photos{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* V11.2 — onboarding utilisateur */
.v112-profile-progress{margin-bottom:16px;border:1px solid rgba(114,47,72,.18);background:linear-gradient(135deg,#fff,#fbf4f7)}
.v112-profile-progress-head,.v112-onboarding-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.v112-profile-progress-head h2,.v112-onboarding-head h2{margin:4px 0 5px}.v112-profile-progress-head p,.v112-onboarding-head p{margin:0;color:var(--muted);line-height:1.45}
.v112-profile-progress-head>strong,.v112-onboarding-head>strong{font-size:28px;color:var(--city-primary,#722f48);white-space:nowrap}
.v112-progress-track{height:9px;margin:15px 0;border-radius:999px;background:#eee8eb;overflow:hidden}.v112-progress-track>span{display:block;width:0;height:100%;border-radius:inherit;background:var(--city-primary,#722f48);transition:width .25s ease}
.v112-profile-progress-actions{display:flex;gap:10px;flex-wrap:wrap}.v112-profile-progress-actions .btn{min-width:170px}
.v112-onboarding-dialog{width:min(720px,calc(100% - 24px));max-width:720px;padding:24px}.v112-onboarding-dialog::backdrop{background:rgba(25,18,21,.48);backdrop-filter:blur(2px)}
.v112-role-choice>h2{margin:5px 35px 5px 0}.v112-role-choice>p{margin:0 0 18px;color:var(--muted);line-height:1.5}
.v112-role-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.v112-role-grid button{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;text-align:left;border:1px solid var(--line);border-radius:18px;background:#fff;padding:18px;cursor:pointer;color:var(--text)}.v112-role-grid button:hover{border-color:var(--city-primary,#722f48);box-shadow:0 8px 24px rgba(70,35,48,.08)}.v112-role-grid button>span{grid-row:1/3;font-size:28px}.v112-role-grid strong{font-size:16px}.v112-role-grid small{color:var(--muted);line-height:1.35}
.v112-step-meta{display:flex;justify-content:space-between;gap:12px;margin:0 0 16px;font-size:12px;font-weight:800;color:var(--muted)}.v112-step-meta #onboardingStepStatus.done{color:#177b55}
.v112-step-body{min-height:185px;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff}.v112-step-body .field:last-child{margin-bottom:0}
.v112-tip{padding:12px 14px;margin:0 0 14px;border-radius:13px;background:#f7f2f5;color:#633248;font-size:13px;font-weight:700;line-height:1.4}
.v112-status-card{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;padding:16px;margin-bottom:14px;border:1px solid #e4dce0;border-radius:15px;background:#faf8f9}.v112-status-card>span{font-size:26px}.v112-status-card strong,.v112-status-card small{display:block}.v112-status-card small{margin-top:3px;color:var(--muted)}.v112-status-card.done{border-color:#b9decf;background:#f1fbf6}.v112-status-card.done strong{color:#177b55}
.v112-profile-mini{display:flex;align-items:center;gap:12px;margin-bottom:16px}.v112-mini-avatar{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:#f0eaed;font-weight:900;font-size:20px}.v112-mini-avatar img{width:100%;height:100%;object-fit:cover}.v112-profile-mini strong,.v112-profile-mini small{display:block}.v112-profile-mini small{margin-top:3px;color:var(--muted)}
.v112-onboarding-actions{display:grid;grid-template-columns:auto auto 1fr;gap:9px;margin-top:16px}.v112-onboarding-actions #onboardingNextBtn{justify-self:end;min-width:190px}.v112-onboarding-actions button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:640px){.v112-onboarding-dialog{padding:20px 14px}.v112-role-grid{grid-template-columns:1fr}.v112-profile-progress-head,.v112-onboarding-head{gap:10px}.v112-profile-progress-head>strong,.v112-onboarding-head>strong{font-size:23px}.v112-onboarding-actions{grid-template-columns:1fr 1fr}.v112-onboarding-actions #onboardingNextBtn{grid-column:1/-1;width:100%;justify-self:stretch}.v112-profile-progress-actions .btn{flex:1;min-width:0}.v112-step-body{padding:14px}}

/* V11.3 — Assistance en cas d’incident */
.v113-incident-panel{margin-top:16px}
.v113-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}
.v113-section-head h2{margin:4px 0 5px;font-size:21px}.v113-section-head p{margin:0;color:var(--muted);line-height:1.5;max-width:720px}.v113-section-head>.btn{white-space:nowrap}
.v113-incident-features{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 15px}.v113-incident-features span{padding:8px 10px;border:1px solid #eadbe1;border-radius:999px;background:#fbf6f8;color:#6c3a4c;font-size:11px;font-weight:800}
.v113-case-list{display:grid;gap:9px;margin-top:12px}.v113-case-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px 13px;color:inherit}.v113-case-row:hover{border-color:#c8aeb8;background:#fdfafb}.v113-case-row span{min-width:0}.v113-case-row strong,.v113-case-row small{display:block}.v113-case-row small{margin-top:3px;color:var(--muted)}
.v113-incident-dialog{width:min(720px,calc(100% - 24px));max-width:720px}.v113-incident-dialog>form>p{color:var(--muted);line-height:1.5}.v113-evidence-grid input[type="file"],.v113-incident-dialog input[type="file"]{padding:10px;background:#fafafa}
@media(max-width:760px){.v113-section-head{flex-direction:column}.v113-section-head>.btn{width:100%}}



/* V11.4 — Devis, facture et justificatif de mission */
.v114-documents-panel{margin-top:16px;border-color:#ded1d6;background:linear-gradient(180deg,#fff,#fcfafb)}
.v114-doc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.v114-doc-head h2{margin:4px 0 5px;font-size:21px}.v114-doc-head p{margin:0;color:var(--muted);font-size:13px}
.v114-current-quote{margin:14px 0 10px;padding:14px;border:1px solid #eadde2;border-radius:15px;background:#fff}.v114-current-quote>strong,.v114-current-quote>small{display:block}.v114-current-quote>small{margin-top:8px;color:var(--muted)}
.v114-empty-doc{margin:13px 0;padding:12px 14px;border:1px dashed #d9ccd1;border-radius:13px;color:var(--muted);font-size:13px}
.v114-breakdown{display:grid;gap:6px;margin-top:10px}.v114-breakdown>div{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:12px}.v114-breakdown>div.total{padding-top:7px;border-top:1px solid #eee4e8;font-weight:900;font-size:13px}
.v114-doc-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px}.v114-doc-actions .btn{width:auto;margin:0}.v114-waiting-note{display:inline-flex;align-items:center;padding:9px 11px;border-radius:10px;background:#f5f2f3;color:var(--muted);font-size:11px;font-weight:750}
.v114-dialog{width:min(720px,calc(100% - 24px));max-width:720px}.v114-dialog>form>p{margin:0 0 16px;color:var(--muted);line-height:1.45}.v114-dialog h2{margin:5px 35px 5px 0}.v114-quote-grid{grid-template-columns:1fr 1fr 1fr}.v114-total{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:10px 0 12px;padding:14px 16px;border-radius:14px;background:#f7f1f4;border:1px solid #eadde2}.v114-total strong{font-size:21px;color:var(--city-primary,#722f48)}
.v114-quote-message{display:grid!important;gap:5px!important}.v114-quote-message>small{font-size:9px;font-weight:900;letter-spacing:.08em;opacity:.75}.v114-quote-message>em{font-style:normal;font-size:10px;font-weight:850;margin-top:5px}.v114-quote-message .v114-breakdown{margin-top:4px}.v114-quote-message .v114-breakdown>div{font-size:10px}.v114-accepted-message{background:#edf8f1!important;color:#256b42!important}.v114-invoice-message{background:#f8f2ff!important;color:#60408c!important}
@media(max-width:720px){.v114-doc-head{display:grid}.v114-doc-actions{display:grid}.v114-doc-actions .btn{width:100%}.v114-quote-grid{grid-template-columns:1fr}.v114-dialog .two-col{grid-template-columns:1fr}}

/* ===== LE JOB OFFICIEL V12.0 — pré-lancement / conformité ===== */
.v120-prelaunch{display:grid;gap:18px}
.v120-prelaunch-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.v120-prelaunch-head h2{margin:.2rem 0 .35rem}
.v120-prelaunch-head p{margin:0;color:var(--muted,#6f6470)}
.v120-requirements{margin:0}
.v120-checklist{display:grid;gap:10px}
.v120-checklist>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid rgba(114,47,72,.12);border-radius:14px;background:rgba(255,255,255,.72)}
.v120-checklist>div>span:first-child{font-weight:650}
.v120-audit-box{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px;border-radius:16px;background:rgba(114,47,72,.06);border:1px solid rgba(114,47,72,.12)}
.v120-audit-box>div{display:grid;gap:4px}
.v120-audit-box small{color:var(--muted,#6f6470)}
.v120-audit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.v120-audit-grid>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 12px;border:1px solid rgba(114,47,72,.1);border-radius:12px;background:#fff}
.v120-audit-grid>div>span:first-child{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.83rem;overflow-wrap:anywhere}
.v120-audit-grid>div>small{grid-column:1/-1;color:#8b3d4f;overflow-wrap:anywhere}
#accountPrivacyStatus{display:block;margin:8px 0 12px}
@media (max-width:760px){.v120-audit-grid{grid-template-columns:1fr}.v120-audit-box,.v120-checklist>div{align-items:flex-start;flex-direction:column}.v120-audit-box .btn{width:100%}}

/* ===== V12.2 — carte mission plus premium ===== */
.request-card.feed-card{
  padding:12px;
  border:1px solid #e8dce2;
  border-radius:24px;
  background:linear-gradient(180deg,#ffffff 0%,#fffafc 100%);
  box-shadow:0 10px 24px rgba(44,32,53,.08);
}
.request-card.feed-card.compact{min-height:128px}
.request-thumb{
  height:110px;
  border-radius:18px;
  background:#eef1f4;
  box-shadow:inset 0 0 0 1px rgba(114,47,72,.08);
}
.request-content{align-items:flex-start;padding:2px 2px 1px 0}
.request-title-row{gap:10px}
.request-card .request-category-line{
  gap:6px;
  margin:0 0 6px;
  font-size:9.5px;
  letter-spacing:.08em;
  color:#826f7d;
}
.feed-card h3{
  font-size:18px;
  line-height:1.12;
  margin:0 0 8px;
  color:#172037;
  letter-spacing:-.35px;
}
.request-quick-facts{gap:8px;margin:0 0 9px}
.quick-fact{
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid #e9edf3;
  background:#f7f9fc;
  color:#42506a;
  font-size:11px;
  font-weight:850;
}
.quick-fact-published{
  background:#fff4ea;
  border-color:#ffd7b5;
  color:#9a5220;
}
.quick-fact-price{
  background:#f5eef9;
  border-color:#e3d1ef;
  color:var(--city-primary,#722f48);
}
.request-excerpt{
  font-size:12.5px;
  line-height:1.35;
  color:#59667e;
  margin:0 0 10px;
}
.match-reasons{margin-top:10px}
.urgent-badge{
  padding:4px 8px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#ff7a45,#ff5b61)!important;
  color:#fff!important;
  box-shadow:0 6px 14px rgba(255,91,97,.22);
  font-size:8px!important;
  font-weight:900!important;
}
.heart-btn{
  width:34px;
  height:34px;
  border:1px solid #e8edf4;
  background:#fff;
  color:#7690b0;
  font-size:25px;
  line-height:1;
  box-shadow:0 4px 10px rgba(30,41,59,.06);
}
.v94-request-meta{
  margin-bottom:10px;
  color:#6e7b91;
}
.v94-card-action{
  margin-top:auto;
  padding:11px 12px;
  border:1px solid #efe4ea;
  border-radius:16px;
  background:#fcf8fb;
}
.v94-card-status strong{
  font-size:12.5px;
  line-height:1.25;
  color:#4b556b;
}
.v94-apply-btn{
  min-width:110px;
  min-height:42px!important;
  padding:10px 16px!important;
  border-radius:14px!important;
  font-size:11.5px!important;
  font-weight:900!important;
  box-shadow:0 10px 18px rgba(114,47,72,.16)!important;
}
.v87-recommendation-grid .request-card.feed-card{
  min-height:100%;
}
@media(max-width:720px){
  .request-card.feed-card,#view-nearby .request-card.feed-card{grid-template-columns:96px minmax(0,1fr);gap:11px}
  .request-thumb{height:102px;border-radius:16px}
  .feed-card h3{font-size:16.5px}
  .quick-fact{font-size:10.5px;padding:5px 8px}
  .v94-card-action{padding:10px 11px}
}
@media(max-width:430px){
  .request-card.feed-card,#view-nearby .request-card.feed-card{grid-template-columns:1fr}
  .request-thumb{height:142px}
  .request-title-row{grid-template-columns:minmax(0,1fr) 34px}
}

/* ===== V12.3 — cartes mission premium, plus compactes et hiérarchisées ===== */
.request-card.feed-card.v123-mission-card{
  position:relative;
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:16px;
  min-height:178px;
  padding:13px;
  border:1px solid #e8e2e6;
  border-radius:22px;
  background:#fff;
  box-shadow:0 10px 28px rgba(28,24,32,.07);
  overflow:hidden;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.request-card.feed-card.v123-mission-card:hover{
  transform:translateY(-2px);
  border-color:#d9cbd1;
  box-shadow:0 16px 36px rgba(35,27,34,.11);
}
.v123-request-thumb{
  height:152px!important;
  border-radius:17px!important;
  overflow:hidden;
  background:#f2f3f5;
}
.v123-request-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}
.v123-mission-card:hover .v123-request-thumb img{transform:scale(1.025)}
.v123-image-urgent{
  position:absolute;
  left:10px;
  top:10px;
  z-index:2;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(36,25,31,.88);
  color:#fff;
  font-size:9px;
  font-weight:950;
  letter-spacing:.02em;
  backdrop-filter:blur(8px);
}
.v123-mission-card .request-content{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  padding:2px 1px 0 0;
}
.v123-mission-card .request-title-row{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) 36px;
  gap:12px;
  align-items:start;
}
.v123-mission-card .request-category-line{
  min-height:22px;
  margin:0 0 5px;
  gap:6px;
  font-size:9.5px;
  letter-spacing:.065em;
  color:#7b6f78;
}
.v123-mission-card .request-category-line>span:first-child{font-size:13px}
.v123-mission-card h3{
  margin:0 0 9px;
  max-width:95%;
  color:#161a27;
  font-size:20px;
  line-height:1.08;
  letter-spacing:-.5px;
}
.v123-quick-facts{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  margin:0 0 8px;
}
.v123-mission-card .quick-fact{
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:28px;
  padding:5px 8px;
  border:1px solid #ece9ec;
  border-radius:9px;
  background:#faf9fa;
  color:#555e70;
  font-size:10.5px;
  font-weight:800;
}
.v123-mission-card .quick-fact b{font-size:11px}
.v123-mission-card .quick-fact-published{
  border-color:#eadfe4;
  background:#fff7fa;
  color:#7a4054;
}
.v123-mission-card .v123-timing{background:#f8fafb;color:#58677b}
.v123-mission-card .request-excerpt{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin:0 0 8px;
  color:#697183;
  font-size:11.5px;
  line-height:1.38;
}
.v123-mission-card .match-reasons{
  display:flex;
  gap:5px;
  flex-wrap:wrap;
  margin:2px 0 8px;
}
.v123-mission-card .match-reasons span{
  padding:4px 7px;
  border:0;
  border-radius:7px;
  background:#f3f0f2;
  color:#675660;
  font-size:9px;
  font-weight:800;
}
.v123-mission-card .heart-btn{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:1px solid #e8e4e7;
  border-radius:11px;
  background:#fff;
  color:#66758a;
  font-size:23px;
  line-height:1;
  box-shadow:none;
}
.v123-mission-card .heart-btn:hover{background:#fbf6f8;border-color:#dccbd2;color:var(--city-primary,#722f48)}
.v123-card-footer{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:12px;
  margin-top:auto;
  padding-top:10px;
  border-top:1px solid #eee9ec;
}
.v123-budget{display:grid;gap:1px;min-width:0}
.v123-budget small{
  color:#8c8289;
  font-size:8px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.v123-budget strong{
  color:#221c20;
  font-size:19px;
  line-height:1.05;
  letter-spacing:-.3px;
}
.v123-footer-action{display:flex;align-items:center;gap:9px;min-width:0}
.v123-footer-action>span{
  color:#90868c;
  font-size:9px;
  font-weight:750;
  white-space:nowrap;
}
.v123-mission-card .v94-apply-btn{
  min-width:96px;
  min-height:38px!important;
  margin:0!important;
  padding:9px 14px!important;
  border-radius:11px!important;
  font-size:10.5px!important;
  font-weight:900!important;
  box-shadow:none!important;
}
.v123-mission-card .match-badge{
  margin-left:0;
  padding:4px 6px;
  border-radius:6px;
  background:#eef5f2;
  color:#2f6f59;
  font-size:8px;
  font-weight:900;
}
.v123-mission-card .match-badge.strong{box-shadow:none;background:#e7f5ed;color:#246245}
.v123-mission-card .v105-recurring-badge,.v123-mission-card .v10-conflict-badge{border-radius:6px!important}

@media(min-width:900px){
  .v87-recommendation-grid .request-card.feed-card.v123-mission-card,
  .home-feed .request-card.feed-card.v123-mission-card,
  #view-nearby .request-card.feed-card.v123-mission-card{min-height:204px}
}
@media(max-width:1100px) and (min-width:721px){
  .request-card.feed-card.v123-mission-card{grid-template-columns:124px minmax(0,1fr);gap:12px}
  .v123-request-thumb{height:132px!important}
  .v123-mission-card h3{font-size:18px}
  .v123-footer-action>span{display:none}
}
@media(max-width:720px){
  .request-card.feed-card.v123-mission-card,#view-nearby .request-card.feed-card.v123-mission-card{
    grid-template-columns:104px minmax(0,1fr);
    gap:11px;
    min-height:154px;
    padding:10px;
    border-radius:18px;
  }
  .v123-request-thumb{height:112px!important;border-radius:14px!important}
  .v123-mission-card h3{font-size:17px;margin-bottom:7px}
  .v123-mission-card .quick-fact{font-size:9.5px;padding:4px 7px;min-height:25px}
  .v123-mission-card .request-excerpt{font-size:10.5px}
  .v123-card-footer{align-items:center;padding-top:8px}
  .v123-budget strong{font-size:17px}
  .v123-footer-action>span{display:none}
  .v123-mission-card .v94-apply-btn{min-width:82px;min-height:35px!important;padding:8px 11px!important}
}
@media(max-width:460px){
  .request-card.feed-card.v123-mission-card,#view-nearby .request-card.feed-card.v123-mission-card{grid-template-columns:92px minmax(0,1fr)}
  .v123-request-thumb{height:104px!important}
  .v123-mission-card .request-title-row{grid-template-columns:minmax(0,1fr) 31px;gap:7px}
  .v123-mission-card .heart-btn{width:31px;height:31px;border-radius:9px;font-size:20px}
  .v123-mission-card .request-excerpt{display:none}
  .v123-mission-card .match-reasons{display:none}
  .v123-mission-card .v123-timing{display:none}
  .v123-card-footer{gap:8px}
}

/* V12.8 — Disponible dans l’heure */
.v128-hour-help{margin:-7px 0 16px;padding:10px 12px;border-radius:12px;background:#f4fbf6;color:#42614d;font-size:10px;line-height:1.45;border:1px solid #d4eadb}.provider-online.now{font-weight:900}.provider-card.available-now{position:relative}.provider-card.available-now:before{content:"⚡ INTERVENTION < 1 H";position:absolute;top:10px;right:10px;font-size:7px;font-weight:1000;letter-spacing:.45px;padding:4px 7px;border-radius:999px;background:#e3f5e8;color:#176638;border:1px solid #b8dec4;z-index:1}@media(max-width:520px){.provider-card.available-now:before{position:static;display:inline-flex;margin:0 0 8px}}

/* V12.9 — État des lieux Avant / Après */
.v129-report{margin:18px 0 4px;padding:18px;border:1px solid var(--line,#e4e6eb);border-radius:20px;background:var(--card,#fff)}
.v129-report-head,.v129-phase-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.v129-report-head h2,.v129-phase-head h3{margin:.2rem 0}.v129-report-head p{max-width:720px;margin:.35rem 0;color:var(--muted,#69707a)}
.v129-phase-card{margin-top:16px;padding:16px;border:1px solid var(--line,#e5e7eb);border-radius:16px;background:rgba(127,127,127,.035)}.v129-phase-card.complete{border-color:#98d5b3}.v129-phase-state{white-space:nowrap;padding:7px 10px;border-radius:999px;background:#eef1f4;font-size:.78rem;font-weight:800}.v129-phase-state.done{background:#e8f8ef}.v129-phase-state.locked{background:#fff1d7}
.v129-entry-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:14px 0}.v129-entry{overflow:hidden;border:1px solid var(--line,#e5e7eb);border-radius:14px;background:var(--card,#fff)}.v129-entry img,.v129-entry video{display:block;width:100%;height:170px;object-fit:cover;background:#111}.v129-entry-copy{padding:12px}.v129-entry-copy p{margin:5px 0;color:#a23b3b}.v129-entry-copy small{display:block;margin-top:5px;color:var(--muted,#69707a);overflow-wrap:anywhere}.v129-empty,.v129-loading,.v129-media-missing{padding:18px;border:1px dashed var(--line,#d7dbe0);border-radius:12px;color:var(--muted,#69707a)}
.v129-signatures{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.v129-sign-status{display:flex;gap:10px;align-items:center;border:1px solid var(--line,#e1e4e8);padding:11px;border-radius:12px}.v129-sign-status>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#eef1f4;font-weight:900}.v129-sign-status.signed>span{background:#dff6e8}.v129-sign-status.invalid{border-color:#e7a0a0}.v129-sign-status.invalid>span{background:#ffe4e4}.v129-sign-status small{display:block;color:var(--muted,#69707a);margin-top:2px}.v129-phase-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.v129-hash{margin-top:12px;padding-top:10px;border-top:1px dashed var(--line,#ddd)}.v129-hash span{display:block;font-size:.75rem;font-weight:800;color:var(--muted,#69707a)}.v129-hash code{display:block;margin-top:4px;font-size:.68rem;overflow-wrap:anywhere}.v129-integrity-alert{padding:10px 12px;border-radius:10px;background:#fff0f0;color:#9b2525;font-weight:700;margin:10px 0}
.v129-dialog-card{width:min(680px,calc(100vw - 28px))}.v129-dialog-card textarea{min-height:84px}.v129-canvas-label{display:block;font-weight:800;margin:14px 0 7px}.v129-dialog-card canvas{display:block;width:100%;height:180px;border:1px solid var(--line,#d8dce1);border-radius:12px;background:#fff;touch-action:none}.v129-otp-box{margin:15px 0;padding:14px;border:1px solid var(--line,#e1e4e8);border-radius:14px;background:rgba(127,127,127,.04)}.v129-otp-box p{margin:.35rem 0 .7rem}.v129-sign-preview{display:grid;grid-template-columns:1fr 2fr;gap:10px;margin:12px 0}.v129-sign-preview>div{padding:10px;border-radius:10px;background:rgba(127,127,127,.07)}.v129-sign-preview span,.v129-sign-preview small{display:block}.v129-sign-preview span{font-weight:900;overflow-wrap:anywhere}.v129-sign-preview small{color:var(--muted,#69707a)}
@media(max-width:680px){.v129-report-head,.v129-phase-head{flex-direction:column}.v129-phase-state{white-space:normal}.v129-signatures{grid-template-columns:1fr}.v129-entry-grid{grid-template-columns:1fr}.v129-dialog-card canvas{height:150px}}


/* V12.9 — Accès compte propre dans la barre haute */
.top-account-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}
.top-account-btn,.top-logout-btn{min-height:40px;border-radius:999px;padding:0 12px;font-weight:850;cursor:pointer;white-space:nowrap;transition:transform .15s ease,background .15s ease,border-color .15s ease}
.top-account-btn{border:1px solid rgba(114,47,72,.22);background:#fff;color:#722f48}
.top-logout-btn{border:1px solid rgba(101,107,118,.16);background:#f5f6f7;color:#555b64}
.top-account-btn:hover,.top-logout-btn:hover,.guest-auth-btn:hover{transform:translateY(-1px)}
.top-account-btn:focus-visible,.top-logout-btn:focus-visible,.guest-auth-btn:focus-visible{outline:3px solid rgba(114,47,72,.16);outline-offset:2px}
@media(max-width:899px){.guest-auth-btn,.top-account-actions{margin-left:auto}.top-account-btn,.top-logout-btn{min-height:38px;padding:0 10px;font-size:.78rem}.notification-bell{flex:0 0 auto}}
@media(max-width:430px){.top-account-actions{gap:5px}.top-account-btn,.top-logout-btn{padding:0 8px;font-size:.7rem}.top-account-label{font-size:0}.top-account-label::after{content:"Compte";font-size:.7rem}.top-logout-btn{font-size:0}.top-logout-btn::after{content:"Déconnexion";font-size:.68rem}}
