/* D&A NEXUS — Client V4.2: chat discret + download + notifications */

/* ---------------------------------------------------------
   CHAT CLIENT
   Le launcher n'est plus fixe en bas de l'ecran.
   Il devient un petit bouton discret dans le header.
   --------------------------------------------------------- */
body.pp-client-active.pp-client-v42 .pp-client-header{
  position:relative!important;
}

body.pp-client-active.pp-client-v42 .pp-header-chat-launcher{
  position:static!important;
  right:auto!important;
  bottom:auto!important;
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  min-height:40px!important;
  margin:0 0 0 auto!important;
  padding:0!important;
  border-radius:12px!important;
  display:grid!important;
  place-items:center!important;
  gap:0!important;
  overflow:hidden!important;
  color:var(--pp-accent)!important;
  background:color-mix(in srgb,var(--pp-accent) 7%,white 93%)!important;
  border:1px solid color-mix(in srgb,var(--pp-accent) 17%,var(--pp-line))!important;
  box-shadow:none!important;
  opacity:.72!important;
  transform:none!important;
  transition:opacity .16s ease,background .16s ease,border-color .16s ease!important;
}

body.pp-client-active.pp-client-v42 .pp-header-chat-launcher:hover,
body.pp-client-active.pp-client-v42 .pp-header-chat-launcher:focus-visible{
  opacity:1!important;
  background:color-mix(in srgb,var(--pp-accent) 11%,white 89%)!important;
  border-color:color-mix(in srgb,var(--pp-accent) 30%,var(--pp-line))!important;
}

body.pp-client-active.pp-client-v42 .pp-header-chat-launcher>span{
  display:none!important;
}

body.pp-client-active.pp-client-v42 .pp-header-chat-launcher>.pp-icon{
  width:19px!important;
  height:19px!important;
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:currentColor!important;
}

body.pp-client-active.pp-client-v42.pp-client-chat-open .pp-header-chat-launcher{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* Une fois ouverte, la vraie discussion devient claire. */
body.pp-client-active.pp-client-v42 #portal-chat-window.active{
  display:flex!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  filter:none!important;
  z-index:10050!important;
  box-shadow:0 26px 70px rgba(18,24,38,.25)!important;
}


/* ---------------------------------------------------------
   TELECHARGEMENT INDIVIDUEL
   --------------------------------------------------------- */
body.pp-client-active.pp-client-v42 .pp-deliverable-card .pp-resource-actions{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}

body.pp-client-active.pp-client-v42 .pp-deliverable-card .pp-resource-actions button{
  min-width:0!important;
  padding:0 8px!important;
}

body.pp-client-active.pp-client-v42 .pp-individual-download{
  color:var(--pp-accent)!important;
  border-color:color-mix(in srgb,var(--pp-accent) 24%,var(--pp-line))!important;
  background:color-mix(in srgb,var(--pp-accent) 4%,white 96%)!important;
}

body.pp-client-active.pp-client-v42 .pp-individual-download:hover{
  background:color-mix(in srgb,var(--pp-accent) 9%,white 91%)!important;
}

body.pp-client-active.pp-client-v42 .pp-individual-download.is-unavailable{
  color:#8d919c!important;
  border-color:var(--pp-line)!important;
  background:#f8f8f9!important;
}


/* ---------------------------------------------------------
   NOTIFICATIONS A LA PLACE DE MESSAGES
   --------------------------------------------------------- */
body.pp-client-active.pp-client-v42 .pp-notification-nav{
  position:relative!important;
}

body.pp-client-active.pp-client-v42 .pp-notification-nav.has-unread{
  color:var(--pp-accent)!important;
}

body.pp-client-active.pp-client-v42 .pp-nav-badge{
  position:absolute;
  top:3px;
  right:4px;
  min-width:16px;
  height:16px;
  padding:0 4px;
  border-radius:999px;
  background:var(--pp-accent);
  color:#fff;
  border:2px solid #fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font:800 8px/1 Inter,Arial,sans-serif;
  box-sizing:border-box;
}

body.pp-client-active.pp-client-v42 .pp-nav-badge[hidden]{
  display:none!important;
}

body.pp-client-active.pp-client-v42 .pp-notification-panel{
  position:absolute;
  top:calc(100% + 10px);
  right:84px;
  z-index:10060;
  width:min(390px,calc(100vw - 34px));
  max-height:min(560px,72vh);
  display:none;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.9);
  border-radius:18px;
  background:rgba(255,255,255,.97);
  box-shadow:0 24px 70px rgba(30,28,37,.18);
  backdrop-filter:blur(18px);
}

body.pp-client-active.pp-client-v42 .pp-notification-panel.active{
  display:flex;
}

.pp-notification-head{
  padding:16px 17px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-bottom:1px solid var(--pp-line);
}

.pp-notification-head>div{
  min-width:0;
}

.pp-notification-head strong{
  display:block;
  color:var(--pp-ink);
  font:800 14px/1.2 Inter,Arial,sans-serif;
}

.pp-notification-head span{
  display:block;
  margin-top:4px;
  color:var(--pp-muted);
  font:500 10px/1.3 Inter,Arial,sans-serif;
}

.pp-notification-head button{
  width:34px;
  height:34px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid var(--pp-line);
  border-radius:10px;
  background:#fff;
  color:var(--pp-accent);
  cursor:pointer;
}

.pp-notification-head button .pp-icon{
  width:15px;
  height:15px;
}

.pp-notification-list{
  padding:8px;
  overflow:auto;
}

.pp-notification-item{
  width:100%;
  min-height:70px;
  padding:11px 10px;
  display:grid;
  grid-template-columns:8px minmax(0,1fr) auto 16px;
  align-items:center;
  gap:9px;
  border:0;
  border-radius:12px;
  background:transparent;
  color:var(--pp-ink);
  text-align:left;
  cursor:pointer;
}

.pp-notification-item:hover{
  background:#f8f5f5;
}

.pp-notification-item.is-unread{
  background:color-mix(in srgb,var(--pp-accent) 4%,white 96%);
}

.pp-notification-dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:#c7c9cf;
}

.pp-notification-item.is-unread .pp-notification-dot{
  background:var(--pp-accent);
}

.pp-notification-copy{
  min-width:0;
}

.pp-notification-copy strong{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font:750 11px/1.3 Inter,Arial,sans-serif;
}

.pp-notification-copy small{
  display:block;
  margin-top:3px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--pp-muted);
  font:500 9px/1.35 Inter,Arial,sans-serif;
}

.pp-notification-time{
  color:#9b9eaa;
  font:600 8px/1 Inter,Arial,sans-serif;
  white-space:nowrap;
}

.pp-notification-item>.pp-icon{
  width:14px;
  height:14px;
  color:#9a9da7;
}

.pp-notification-empty{
  padding:28px 18px;
  color:var(--pp-muted);
  text-align:center;
  font:600 11px/1.5 Inter,Arial,sans-serif;
}

@media(max-width:1180px){
  body.pp-client-active.pp-client-v42 .pp-notification-panel{
    right:18px;
  }
}

@media(max-width:760px){
  body.pp-client-active.pp-client-v42 .pp-header-chat-launcher{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
  }

  body.pp-client-active.pp-client-v42 .pp-deliverable-card .pp-resource-actions{
    grid-template-columns:1fr!important;
  }

  body.pp-client-active.pp-client-v42 .pp-notification-panel{
    position:fixed;
    top:74px;
    left:12px;
    right:12px;
    width:auto;
    max-height:70vh;
  }
}
