.adv-side-head,.adv-dock{display:none}
.chat-back{display:none}
@media(max-width:900px){
  body.role-adv.is-app,body.role-family.is-app{
    --adv-top-h:calc(env(safe-area-inset-top,0px) + 116px);
    --adv-dock-h:calc(62px + env(safe-area-inset-bottom,0px));
  }
  body.role-adv.is-app .adv-main,body.role-family.is-app .adv-main{
    margin:var(--adv-top-h) 0 var(--adv-dock-h) 0;min-width:0;overflow-x:hidden;
  }
  body.role-adv.is-app .adv-body,body.role-family.is-app .adv-body{
    padding:14px 12px 24px;
  }
  body.adv-nav-open{overflow:hidden}
  body.adv-nav-open .side-back{display:block}

  body.role-adv.is-app #advTop,
  body.role-family.is-app #advTop,
  .adv-top{
    height:auto;display:grid;
    grid-template-columns:44px minmax(0,1fr) auto;
    grid-template-areas:"menu brand user" "search search search";
    align-items:center;gap:8px 10px;
    padding:calc(8px + env(safe-area-inset-top,0px)) 12px 10px;
  }
  .adv-menu{display:grid;place-items:center;grid-area:menu;width:44px;height:44px;font-size:20px}
  .adv-brand{grid-area:brand;min-width:0;gap:8px}
  .adv-brand img{width:36px;height:36px}
  .adv-brand b{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .adv-brand small{display:none}
  .adv-search{grid-area:search;max-width:none;padding:10px 14px}
  .adv-search input{font-size:16px}
  .adv-top-user{grid-area:user;gap:8px;margin-left:0}
  .adv-bell{width:40px;height:40px}
  .adv-who b,.adv-who .chev{display:none}
  .adv-who img{width:36px;height:36px}
  .notif-pop{top:calc(var(--adv-top-h) + 6px);right:12px}

  .adv-side{
    transform:translateX(-105%);transition:transform .25s;
    width:min(300px,88vw);top:0;height:100dvh;z-index:32;
    padding:calc(14px + env(safe-area-inset-top,0px)) 14px calc(16px + env(safe-area-inset-bottom,0px));
  }
  body.adv-nav-open .adv-side{transform:none}
  .adv-side-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px;padding:0 2px 10px;border-bottom:1px solid rgba(255,255,255,.12)}
  .adv-side-head strong{font:800 16px Manrope,sans-serif}
  .adv-side-head button{border:0;background:rgba(255,255,255,.12);color:#fff;border-radius:8px;padding:8px 12px;font-weight:700;min-height:40px}
  .adv-nav button{min-height:46px;padding:12px;font-size:14px}
  .adv-nav button .nav-ico{width:20px;height:20px}

  .adv-dock{
    display:flex;position:fixed;left:0;right:0;bottom:0;z-index:28;
    background:rgba(255,255,255,.96);backdrop-filter:blur(12px);
    border-top:1px solid #e4e9f0;
    padding:4px 4px calc(4px + env(safe-area-inset-bottom,0px));
  }
  .adv-dock button{
    flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:3px;border:0;background:transparent;color:#6b7a90;border-radius:12px;
    padding:6px 2px;min-height:54px;font:700 10px/1.15 DM Sans,sans-serif;position:relative;
  }
  .adv-dock button .nav-ico{width:20px;height:20px}
  .adv-dock button.on{color:var(--red);background:#fff1ee}
  .adv-dock .pill{position:absolute;top:4px;right:calc(50% - 18px);min-width:16px;height:16px;padding:0 4px;border-radius:99px;background:var(--red);color:#fff;font:800 9px/16px DM Sans,sans-serif}

  .adv-hello{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:14px}
  .adv-hello h2{font-size:26px;letter-spacing:-.6px;overflow-wrap:break-word}
  .adv-hello p{font-size:14px}
  .adv-quote{display:none}
  .adv-kpis{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
  .adv-kpi{padding:12px;border-radius:14px;min-width:0}
  .adv-kpi small{font-size:11px;line-height:1.25}
  .adv-kpi b{font-size:22px;margin:4px 0 6px}
  .adv-kpi em{font-size:11px;flex-wrap:wrap}
  .adv-kpi .ico-wrap{width:28px;height:28px}
  .adv-card{padding:14px;border-radius:14px;min-width:0;overflow-wrap:break-word;word-break:normal}
  .adv-card h3{font-size:16px;flex-wrap:wrap}
  .adv-card-head{flex-wrap:wrap;align-items:flex-start;gap:8px}

  #espaceFamily,.fam-mid,.fam-bot,.adv-mid,.fam-alert{display:grid;grid-template-columns:1fr;width:100%;min-width:0}
  #espaceFamily > *,.fam-mid > *,.fam-bot > *{min-width:0;max-width:100%}
  .fam-alert{padding:14px;gap:12px;border-radius:14px;margin-bottom:12px;grid-template-columns:1fr}
  .fam-need-stats{flex-wrap:wrap;gap:10px 16px}
  .fam-bot{gap:12px}
  .fam-bot .espace-actions{display:grid;grid-template-columns:1fr}
  .fam-bot .btn{width:100%;min-height:46px}
  .fam-alert h3{font-size:16px}
  .fam-alert p{font-size:13px;line-height:1.45}
  .fam-alert-actions{display:grid;grid-template-columns:1fr;width:100%}
  .fam-alert-actions .btn{width:100%;min-height:46px}
  .fam-reco{grid-template-columns:52px 1fr;gap:10px;padding:14px 0}
  .fam-reco img{width:52px;height:52px}
  .fam-reco-top{flex-direction:column;gap:4px}
  .fam-reco-actions{display:grid;grid-template-columns:44px 1fr 1fr;gap:8px}
  .fam-reco-actions .btn{width:100%;min-height:44px;padding:10px 8px;font-size:13px}
  .fam-heart{width:44px;height:44px}

  .req-card{grid-template-columns:48px 1fr;gap:12px}
  .req-card .espace-actions .btn{width:100%}
  .msg-row p{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .ad-title{font-size:15px}
  .inc-head h2{font-size:24px}
  .inc-badge{white-space:normal}
  body.role-family.is-app .espace-actions .btn,
  body.role-adv.is-app .espace-actions .btn,
  body.role-family.is-app #needForm .btn,
  body.role-family.is-app #view-search .espace-actions .btn{width:100%;min-height:46px}

  .inbox{min-height:calc(100dvh - var(--adv-top-h) - var(--adv-dock-h) - 28px);border-radius:16px}
  .inbox .chat{display:none}
  .inbox.is-open .threads{display:none}
  .inbox.is-open .chat{display:flex;min-height:calc(100dvh - var(--adv-top-h) - var(--adv-dock-h) - 28px)}
  .chat-back{display:grid;place-items:center;width:40px;height:40px;border:1px solid #e4e9f0;border-radius:10px;background:#fff;flex-shrink:0;font-size:18px}
  .chat-form{padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px))}
  .chat-form input{font-size:16px;min-height:46px}
  .chat-form .btn{min-height:46px}
  .threads{max-height:none}
  .fiche-actions .btn{width:100%;min-height:46px}
  .result-card{grid-template-columns:64px 1fr}
  .need-card .espace-actions .btn{width:100%}
}
