/* =====================================================================
   V2.056 — MES BESOINS, PROPOSITION B (validée par le fondateur)
   =====================================================================
   Un titre simple, trois onglets soulignés (Publiés, Résultats,
   Favoris), une carte par besoin avec sa vignette et son nombre de
   propositions, puis l'invitation à publier. « Voir les propositions »
   ouvre le panneau des propositions filtré sur ce besoin.

   Sélecteurs ancrés sur `html body.yf-needs-page` : ils passent devant
   les feuilles plus anciennes de la page sans surenchère inutile. */
html body.yf-needs-page{--yb-fond:#eef3f7;--yb-carte:#fff;--yb-ligne:#e3eaf0;--yb-ligne2:#dbe4ec;--yb-texte:#071a2e;--yb-doux:#4a5d70;--yb-pastille:#eef3f7;--yb-lien:#0b4f7a;background:var(--yb-fond)!important;color:var(--yb-texte)}
html body.yf-needs-page main{background:transparent!important}

/* 1. La tête */
html body.yf-needs-page .yf-needs-hero.yfb-tete{display:flex!important;align-items:center!important;gap:12px!important;padding:18px 0 14px!important;background:transparent!important;color:var(--yb-texte)!important}
html body.yf-needs-page .yf-needs-hero.yfb-tete::before{display:none!important}
html body.yf-needs-page .yfb-tete>div{flex:1;min-width:0}
html body.yf-needs-page .yfb-tete h1{margin:0!important;font:800 28px/1.15 Sora,Manrope,Arial,sans-serif!important;letter-spacing:-.02em!important;color:var(--yb-texte)!important;-webkit-text-fill-color:currentColor!important}
html body.yf-needs-page .yfb-tete p{margin:4px 0 0!important;font:600 14px/1.45 Manrope,Arial,sans-serif!important;color:var(--yb-doux)!important;-webkit-text-fill-color:currentColor!important}
html body.yf-needs-page .yfb-tete :is(.yf-needs-retour,.yf-history-btn){flex:none;width:44px!important;height:44px!important;min-width:0!important;padding:0!important;margin:0!important;border-radius:22px!important;border:1px solid var(--yb-ligne2)!important;background:var(--yb-carte)!important;color:var(--yb-texte)!important;display:grid!important;place-items:center;box-shadow:none!important}
html body.yf-needs-page .yfb-tete .yf-history-btn span{display:none!important}
html body.yf-needs-page .yfb-tete :is(.yf-needs-retour,.yf-history-btn) :is(svg,i){width:18px;height:18px;font-size:16px;color:inherit!important}

/* 2. Les onglets soulignés */
html body.yf-needs-page #matchSubtabs.yfb-onglets{display:flex!important;gap:22px!important;margin:0!important;padding:0!important;border:0!important;border-bottom:1px solid var(--yb-ligne2)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow-x:auto;scrollbar-width:none}
html body.yf-needs-page #matchSubtabs.yfb-onglets>button{position:relative;flex:none!important;width:auto!important;min-width:0!important;height:auto!important;padding:13px 0!important;margin:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;color:#6a7b8c!important;-webkit-text-fill-color:currentColor!important;font:700 15px Manrope,Arial,sans-serif!important}
html body.yf-needs-page #matchSubtabs.yfb-onglets>button[hidden]{display:none!important}
html body.yf-needs-page #matchSubtabs.yfb-onglets>button.active{color:var(--yb-texte)!important;font-weight:800!important}
html body.yf-needs-page #matchSubtabs.yfb-onglets>button::before{display:none!important}
html body.yf-needs-page #matchSubtabs.yfb-onglets>button::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;border-radius:2px;background:transparent;display:block!important}
html body.yf-needs-page #matchSubtabs.yfb-onglets>button.active::after{background:#2f7fc1}
html body.yf-needs-page #matchSubtabs.yfb-onglets .tab-count{min-width:0!important;height:auto!important;padding:0 0 0 3px!important;border:0!important;background:none!important;color:var(--yb-lien)!important;font:800 13px Manrope,Arial,sans-serif!important;box-shadow:none!important}
html body.yf-needs-page #matchSubtabs.yfb-onglets .tab-count[hidden]{display:none!important}
/* Dans les propositions d'un besoin, aucun onglet n'est souligné. */
html body.yf-needs-page:has([data-subpanel="inbox"].active) #matchSubtabs.yfb-onglets{display:none!important}

/* 3. Les panneaux */
html body.yf-needs-page .yf-match-subpanel{margin-top:18px!important;padding:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
html body.yf-needs-page [data-subpanel="besoins"]>.summary{display:none!important}
html body.yf-needs-page .yf-match-subpanel>.summary h2,html body.yf-needs-page .yf-match-subpanel>.summary h2 *{color:var(--yb-texte)!important;-webkit-text-fill-color:currentColor!important;font:800 19px/1.25 Sora,Manrope,Arial,sans-serif!important}
html body.yf-needs-page .yf-match-subpanel>.summary p{color:var(--yb-doux)!important;-webkit-text-fill-color:currentColor!important;font:600 13.5px/1.45 Manrope,Arial,sans-serif!important}
html body.yf-needs-page #besoinsSubGrid{display:flex!important;flex-direction:column!important;gap:14px!important;grid-template-columns:none!important}

/* 4. La carte d'un besoin */
html body.yf-needs-page .yf-besoin-card.yfb-besoin{display:block!important;margin:0!important;padding:0!important;border-radius:24px!important;border:1px solid var(--yb-ligne)!important;background:var(--yb-carte)!important;box-shadow:none!important;overflow:hidden;color:var(--yb-texte)}
html body.yf-needs-page .yfb-besoin-corps{display:flex;gap:12px;padding:14px}
html body.yf-needs-page .yfb-vignette{position:relative;flex:none;width:92px!important;height:92px!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:18px!important;overflow:hidden;background:#0b2a40!important;cursor:pointer;box-shadow:none!important}
html body.yf-needs-page .yfb-vignette img{width:100%;height:100%;object-fit:cover;display:block}
html body.yf-needs-page .yfb-vignette span{position:absolute;inset:0;display:grid;place-items:center;background:rgba(7,26,46,.45);color:#fff;font:800 22px Sora,Manrope,Arial,sans-serif}
html body.yf-needs-page .yfb-besoin-texte{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
html body.yf-needs-page .yfb-besoin-texte>b{font:800 15px/1.3 Manrope,Arial,sans-serif;color:var(--yb-texte)}
html body.yf-needs-page .yfb-besoin-texte>p{margin:0;font:500 13px/1.45 Manrope,Arial,sans-serif;color:var(--yb-doux);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
html body.yf-needs-page .yfb-etat{padding:4px 9px;border-radius:10px;font:800 11.5px Manrope,Arial,sans-serif}
html body.yf-needs-page .yfb-etat.est-actif{background:#e3f5ec;color:#0f6b3e}
html body.yf-needs-page .yfb-etat.est-nouveau{background:#e3f0fb;color:#0b4f7a}
html body.yf-needs-page .yfb-etat.est-attente{background:#fdf1e3;color:#8a4b0f}
html body.yf-needs-page .yfb-criteres{display:flex;flex-wrap:wrap;gap:5px}
html body.yf-needs-page .yfb-criteres span{padding:6px 11px;border-radius:12px;background:var(--yb-pastille);font:700 12.5px Manrope,Arial,sans-serif;color:var(--yb-doux)}
html body.yf-needs-page .yfb-besoin-pied{display:flex!important;margin:0!important;padding:0!important;border:0!important;border-top:1px solid var(--yb-ligne)!important;background:none!important}
html body.yf-needs-page .yfb-besoin-pied>button{flex:none;width:auto!important;min-height:0!important;height:auto!important;margin:0!important;padding:13px 18px!important;border:0!important;border-left:1px solid var(--yb-ligne)!important;border-radius:0!important;background:none!important;box-shadow:none!important;color:var(--yb-doux)!important;font:700 14px Manrope,Arial,sans-serif!important;cursor:pointer}
html body.yf-needs-page .yfb-besoin-pied>button.yfb-voir{flex:1;border-left:0!important;text-align:center;color:var(--yb-lien)!important;font-weight:800!important}
html body.yf-needs-page .yfb-besoin-pied>button.yfb-voir:disabled{color:var(--yb-doux)!important;font-weight:700!important;cursor:default;opacity:.8}
html body.yf-needs-page .yfb-besoin-pied>button.yfb-retirer{padding:13px 16px!important;color:#b4232c!important;display:grid;place-items:center}
html body.yf-needs-page .yfb-besoin-pied>button.yfb-retirer svg{width:17px;height:17px}

/* 5. L'invitation à publier */
html body.yf-needs-page .yfb-promo{position:relative;margin:14px 0 0;padding:20px;border-radius:24px;overflow:hidden;color:#fff;isolation:isolate}
html body.yf-needs-page .yfb-promo img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
html body.yf-needs-page .yfb-promo::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,26,46,.92),rgba(7,26,46,.4))}
html body.yf-needs-page .yfb-promo>div{max-width:75%;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
html body.yf-needs-page .yfb-promo b{font:800 18px/1.25 Sora,Manrope,Arial,sans-serif;color:#fff}
html body.yf-needs-page .yfb-promo span{font:500 13px/1.5 Manrope,Arial,sans-serif;color:rgba(255,255,255,.88)}
html body.yf-needs-page .yfb-promo button{margin-top:4px;height:42px;padding:0 18px;border:0;border-radius:21px;background:#fff;color:#071a2e;font:800 14px Manrope,Arial,sans-serif;cursor:pointer}
html body.yf-needs-page [data-subpanel]:not(.active) .yfb-promo{display:none}

/* 6. Les propositions d'un besoin */
html body.yf-needs-page .summary.yfb-props-tete{display:flex!important;align-items:center;gap:12px;margin:0 0 14px!important;padding:0!important;border:0!important;background:none!important}
html body.yf-needs-page .yfb-props-retour{flex:none;width:44px;height:44px;border-radius:22px;border:1px solid var(--yb-ligne2);background:var(--yb-carte);color:var(--yb-texte);display:grid;place-items:center;cursor:pointer}
html body.yf-needs-page .yfb-props-retour svg{width:18px;height:18px}
html body.yf-needs-page .yfb-props-tete h2{margin:0!important}
html body.yf-needs-page .yfb-props-tete p{margin:2px 0 0!important}
html body.yf-needs-page .yfb-mot{margin:10px 0 0;padding:10px 12px;border-radius:4px 16px 16px 16px;background:var(--yb-carte);border:1px solid var(--yb-ligne);font:500 13.5px/1.5 Manrope,Arial,sans-serif;color:var(--yb-doux)}
html body.yf-needs-page .yfb-mot b{display:block;color:var(--yb-texte);font-size:12.5px;font-weight:800}

/* =====================================================================
   MODE NUIT
   ===================================================================== */
html[data-theme="nuit"] body.yf-needs-page{--yb-fond:#06131f;--yb-carte:rgba(255,255,255,.06);--yb-ligne:rgba(255,255,255,.1);--yb-ligne2:rgba(255,255,255,.14);--yb-texte:#eef4f9;--yb-doux:rgba(238,244,249,.65);--yb-pastille:rgba(255,255,255,.08);--yb-lien:#8fd3ff}
html[data-theme="nuit"] body.yf-needs-page #matchSubtabs.yfb-onglets>button{color:rgba(238,244,249,.55)!important}
html[data-theme="nuit"] body.yf-needs-page #matchSubtabs.yfb-onglets>button.active{color:#eef4f9!important}
html[data-theme="nuit"] body.yf-needs-page .yfb-etat.est-actif{background:rgba(52,201,122,.16);color:#7fe0aa}
html[data-theme="nuit"] body.yf-needs-page .yfb-etat.est-nouveau{background:rgba(143,211,255,.14);color:#8fd3ff}
html[data-theme="nuit"] body.yf-needs-page .yfb-etat.est-attente{background:rgba(240,162,74,.16);color:#f3b46b}
html[data-theme="nuit"] body.yf-needs-page .yfb-besoin-pied>button.yfb-retirer{color:#ff8a8f!important}
html[data-theme="nuit"] body.yf-needs-page .empty{background:var(--yb-carte)!important;border-color:var(--yb-ligne)!important;color:var(--yb-texte)!important}
html[data-theme="nuit"] body.yf-needs-page .empty :is(h3,p){color:inherit!important;-webkit-text-fill-color:currentColor!important}

/* Dans les propositions d'un besoin, la tête de page s'efface : la
   tête du besoin, avec son retour, la remplace. */
html body.yf-needs-page:has([data-subpanel="inbox"].active) .yfb-tete{display:none!important}
html body.yf-needs-page #matchInboxSubGrid{display:flex!important;flex-direction:column!important;gap:18px!important;grid-template-columns:none!important}
html body.yf-needs-page .yf-proposition-wrap{position:relative;margin:0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important}
html body.yf-needs-page .yf-proposition-wrap::before{display:none!important}
html body.yf-needs-page .yf-proposition-wrap>.yf-new-badge{display:none!important}
html body.yf-needs-page .yf-proposition-wrap>.yf-proposition-status{position:absolute;z-index:6;top:56px;left:12px;margin:0!important}
html body.yf-needs-page .yf-proposition-carte{display:flex;flex-direction:column;gap:0;padding:0!important;border:0!important;background:none!important;box-shadow:none!important}
html body.yf-needs-page .yf-proposition-refus{align-self:flex-start;margin-top:10px!important;height:40px!important;padding:0 16px!important;border-radius:20px!important;border:1px solid var(--yb-ligne2)!important;background:var(--yb-carte)!important;color:var(--yb-doux)!important;font:700 13.5px Manrope,Arial,sans-serif!important;box-shadow:none!important;width:auto!important}
html body.yf-needs-page .yf-proposition-carte>article.card{margin:0!important}

/* V2.059 — Le panneau « Mes besoins » (l'historique) prend l'allure de la
   page : fond clair, grand titre, lignes en cartes douces, bouton bleu nuit. */
html body.yf-needs-page #searchHistoryPanel{background:var(--yb-fond)!important;color:var(--yb-texte)!important;border:0!important;box-shadow:var(--ombre-haute)!important}
html body.yf-needs-page #searchHistoryPanel>header{background:transparent!important;color:var(--yb-texte)!important;padding:22px 18px 14px!important;border-bottom:1px solid var(--yb-ligne2)!important;align-items:flex-start!important}
html body.yf-needs-page #searchHistoryPanel>header h2{margin:0!important;font:800 26px/1.15 Sora,Manrope,Arial,sans-serif!important;letter-spacing:-.02em!important;color:var(--yb-texte)!important;-webkit-text-fill-color:currentColor!important}
html body.yf-needs-page #searchHistoryPanel>header p{margin:5px 0 0!important;font:600 13.5px/1.45 Manrope,Arial,sans-serif!important;color:var(--yb-doux)!important;-webkit-text-fill-color:currentColor!important}
html body.yf-needs-page #searchHistoryPanel>header button{width:42px!important;height:42px!important;border-radius:21px!important;border:1px solid var(--yb-ligne2)!important;background:var(--yb-carte)!important;color:var(--yb-texte)!important;box-shadow:none!important;display:grid!important;place-items:center!important}
html body.yf-needs-page #searchHistoryPanel>header .yf-history-clear-all{color:#c0392b!important}
html body.yf-needs-page #searchHistoryPanel .yf-history-list{padding:14px 14px 30px!important;display:flex!important;flex-direction:column!important;gap:10px!important;background:transparent!important}
html body.yf-needs-page #searchHistoryPanel .yf-history-item{position:relative;padding:14px 14px 14px 64px!important;border-radius:22px!important;border:1px solid var(--yb-ligne)!important;background:var(--yb-carte)!important;box-shadow:none!important}
html body.yf-needs-page #searchHistoryPanel .yf-history-item::before{content:"";position:absolute;left:14px;top:14px;width:38px;height:38px;border-radius:12px;background:var(--yb-pastille) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b4f7a' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") center/18px no-repeat}
html body.yf-needs-page #searchHistoryPanel .yf-history-item.active{border-color:var(--yb-texte)!important}
html body.yf-needs-page #searchHistoryPanel .yf-history-item strong{font:800 15px/1.3 Manrope,Arial,sans-serif!important;color:var(--yb-texte)!important}
html body.yf-needs-page #searchHistoryPanel .yf-history-item .meta span{display:inline-flex;padding:4px 10px!important;border-radius:12px!important;background:var(--yb-pastille)!important;color:var(--yb-doux)!important;font:700 12px Manrope,Arial,sans-serif!important;border:0!important}
html body.yf-needs-page #searchHistoryPanel .yf-history-delete{width:34px!important;height:34px!important;border-radius:17px!important;border:0!important;background:transparent!important;color:#8a99a8!important;box-shadow:none!important}
html body.yf-needs-page #searchHistoryPanel .yf-history-view{height:38px!important;padding:0 16px!important;border-radius:19px!important;border:0!important;background:var(--yb-texte)!important;color:var(--yb-fond)!important;font:800 13px Manrope,Arial,sans-serif!important;box-shadow:none!important}
html body.yf-needs-page #searchHistoryPanel .yf-history-empty{padding:30px 10px!important;text-align:center;color:var(--yb-doux)!important;font:600 14px Manrope,Arial,sans-serif!important;background:none!important;border:0!important}
html[data-theme="nuit"] body.yf-needs-page #searchHistoryPanel .yf-history-item::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238fd3ff' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E")}
html[data-theme="nuit"] body.yf-needs-page #searchHistoryPanel>header .yf-history-clear-all{color:#ff8a8f!important}
