/* D&A NEXUS — Client layout V4.4 */

/* =========================================================
   LAYOUT GENERAL
   ========================================================= */
body.pp-client-active.pp-client-v45 #nexus-premium-client-shell{
  max-width:1660px!important;
  margin:0 auto!important;
  padding:16px!important;
  display:grid!important;
  grid-template-columns:258px minmax(0,1fr)!important;
  grid-template-rows:auto 1fr!important;
  gap:18px!important;
  align-items:start!important;
}

body.pp-client-active.pp-client-v45 #nexus-premium-client-shell>.pp-client-header{
  grid-column:2!important;
  grid-row:1!important;
  max-width:none!important;
  width:100%!important;
  margin:0!important;
}

body.pp-client-active.pp-client-v45 #nexus-premium-client-shell>.pp-client-main{
  grid-column:2!important;
  grid-row:2!important;
  max-width:none!important;
  width:100%!important;
  margin:0!important;
  min-width:0!important;
}

/* =========================================================
   SIDEBAR
   ========================================================= */
.pp-v45-sidebar{
  grid-column:1;
  grid-row:1 / span 2;
  position:sticky;
  top:16px;
  height:calc(100vh - 32px);
  min-height:650px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.82);
  border-radius:22px;
  background:rgba(255,255,255,.84);
  box-shadow:0 18px 48px rgba(44,36,41,.06);
  backdrop-filter:blur(18px);
}

.pp-v45-brand{
  min-height:82px;
  padding:17px 18px;
  display:flex;
  align-items:center;
  gap:12px;
  border-bottom:1px solid var(--pp-line);
}

.pp-v45-brand img{
  width:44px;
  height:44px;
  object-fit:contain;
  border-radius:12px;
  background:#fff;
  box-shadow:0 5px 16px rgba(30,30,40,.07);
}

.pp-v45-brand>div{
  min-width:0;
}

.pp-v45-brand strong{
  display:block;
  color:var(--pp-ink);
  font:800 14px/1.15 Inter,Arial,sans-serif;
  letter-spacing:.015em;
}

.pp-v45-brand small{
  display:block;
  max-width:155px;
  margin-top:4px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--pp-muted);
  font:600 9px/1.2 Inter,Arial,sans-serif;
}

.pp-v45-project-card{
  margin:12px 12px 6px;
  padding:12px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  align-items:center;
  gap:10px;
  border:1px solid var(--pp-line);
  border-radius:15px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--pp-accent) 6%,white 94%),#fff);
}

.pp-v45-project-card>span{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:color-mix(in srgb,var(--pp-accent) 11%,white 89%);
  color:var(--pp-accent);
  font:850 15px/1 Inter,Arial,sans-serif;
}

.pp-v45-project-card>div{
  min-width:0;
}

.pp-v45-project-card strong{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--pp-ink);
  font:750 11px/1.25 Inter,Arial,sans-serif;
}

.pp-v45-project-card small{
  display:block;
  margin-top:4px;
  color:var(--pp-muted);
  font:550 8.5px/1.2 Inter,Arial,sans-serif;
}

.pp-v45-sidebar-scroll{
  flex:1;
  overflow:auto;
  padding:3px 12px 12px;
}

.pp-v45-sidebar-scroll section{
  padding:11px 0 8px;
}

.pp-v45-sidebar-scroll label{
  display:block;
  padding:0 10px 7px;
  color:#737683;
  font:800 8px/1 Inter,Arial,sans-serif;
  letter-spacing:.16em;
}

.pp-v45-sidebar-scroll button{
  width:100%;
  min-height:42px;
  padding:0 11px;
  margin:2px 0;
  display:flex;
  align-items:center;
  gap:10px;
  border:0;
  border-radius:11px;
  background:transparent;
  color:#343744;
  cursor:pointer;
  text-align:left;
  transition:background .14s ease,color .14s ease,transform .14s ease;
}

.pp-v45-sidebar-scroll button:hover{
  background:#f7f5f6;
}

.pp-v45-sidebar-scroll button.active{
  color:var(--pp-accent);
  background:color-mix(in srgb,var(--pp-accent) 9%,white 91%);
  box-shadow:inset 3px 0 0 var(--pp-accent);
}

.pp-v45-sidebar-scroll button>span{
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  flex:0 0 20px;
}

.pp-v45-sidebar-scroll button svg{
  width:18px;
  height:18px;
}

.pp-v45-sidebar-scroll button strong{
  font:700 10.5px/1 Inter,Arial,sans-serif;
}

.pp-v45-contact-card{
  margin:10px 12px 12px;
  padding:16px;
  border-radius:17px;
  background:linear-gradient(145deg,#272727,#151515);
  color:#fff;
  box-shadow:0 14px 28px rgba(16,16,20,.18);
}

.pp-v45-contact-card>div strong{
  display:block;
  font:750 11px/1.2 Inter,Arial,sans-serif;
}

.pp-v45-contact-card>div span{
  display:block;
  margin-top:3px;
  color:rgba(255,255,255,.66);
  font:500 9px/1.3 Inter,Arial,sans-serif;
}

.pp-v45-contact-card button{
  width:100%;
  min-height:40px;
  margin-top:12px;
  padding:0 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:0;
  border-radius:11px;
  background:#fff;
  color:#1f222c;
  font:750 9.5px/1 Inter,Arial,sans-serif;
  cursor:pointer;
}

.pp-v45-contact-card button svg{
  width:16px;
  height:16px;
}


/* =========================================================
   HEADER — garde Accueil / Mon projet / Livrables
   ========================================================= */
body.pp-client-active.pp-client-v45 .pp-client-header.pp-v45-header{
  position:relative!important;
  min-height:72px!important;
  padding:11px 14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  grid-template-columns:none!important;
}

body.pp-client-active.pp-client-v45 .pp-client-header.pp-v45-header>.pp-brand{
  display:none!important;
}

body.pp-client-active.pp-client-v45 .pp-client-header.pp-v45-header>.pp-nav{
  display:inline-flex!important;
  align-items:center!important;
  gap:3px!important;
  padding:5px!important;
  border-radius:17px!important;
  background:rgba(255,255,255,.74)!important;
  border:1px solid rgba(40,42,54,.045)!important;
}

body.pp-client-active.pp-client-v45 .pp-client-header.pp-v45-header>.pp-nav button{
  min-width:125px!important;
  height:44px!important;
  padding:0 16px!important;
  border-radius:13px!important;
  justify-content:center!important;
  font-size:11px!important;
}

body.pp-client-active.pp-client-v45 .pp-client-header.pp-v45-header>.pp-nav button.active{
  color:#fff!important;
  background:var(--pp-accent)!important;
  box-shadow:0 8px 20px color-mix(in srgb,var(--pp-accent) 22%,transparent)!important;
}

body.pp-client-active.pp-client-v45 .pp-client-header.pp-v45-header>.pp-nav .pp-v45-hidden-nav{
  display:none!important;
}

.pp-v45-header-tools{
  position:relative;
  display:flex;
  align-items:center;
  gap:9px;
  margin-left:auto;
}

body.pp-client-active.pp-client-v45 .pp-v45-header-tools>.pp-client-id{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin:0 7px 0 0!important;
  padding:0 16px 0 0!important;
  border-right:1px solid var(--pp-line)!important;
  max-width:230px!important;
}

body.pp-client-active.pp-client-v45 .pp-v45-header-tools>.pp-client-id strong{
  max-width:150px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

.pp-v45-tool{
  position:relative;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid var(--pp-line);
  border-radius:13px;
  background:rgba(255,255,255,.86);
  color:var(--pp-ink);
  cursor:pointer;
  box-shadow:0 5px 16px rgba(25,25,35,.025);
}

.pp-v45-tool:hover,
.pp-v45-tool.active{
  color:var(--pp-accent);
  border-color:color-mix(in srgb,var(--pp-accent) 24%,var(--pp-line));
  background:color-mix(in srgb,var(--pp-accent) 6%,white 94%);
}

.pp-v45-tool svg{
  width:18px;
  height:18px;
}

#pp-v45-notification-badge{
  position:absolute;
  top:-5px;
  right:-5px;
  min-width:17px;
  height:17px;
  padding:0 4px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:2px solid #fff;
  border-radius:999px;
  background:#c5224e;
  color:#fff;
  font:800 8px/1 Inter,Arial,sans-serif;
}

#pp-v45-notification-badge[hidden]{
  display:none!important;
}


/* =========================================================
   POPOVERS
   ========================================================= */
.pp-v45-popover{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  z-index:10080;
  width:min(370px,calc(100vw - 34px));
  display:none;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.92);
  border-radius:18px;
  background:rgba(255,255,255,.985);
  box-shadow:0 24px 70px rgba(30,28,37,.17);
  backdrop-filter:blur(18px);
}

.pp-v45-popover.active{
  display:block;
}

.pp-v45-popover-head{
  min-height:62px;
  padding:14px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-bottom:1px solid var(--pp-line);
}

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

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

.pp-v45-popover-head button{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid var(--pp-line);
  border-radius:9px;
  background:#fff;
  color:var(--pp-accent);
  cursor:pointer;
}

.pp-v45-popover-head button svg{
  width:14px;
  height:14px;
}

.pp-v45-notification-list{
  max-height:420px;
  padding:7px;
  overflow:auto;
}

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

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

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

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

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

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

.pp-v45-notification-item small{
  display:block;
  max-width:235px;
  margin-top:3px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--pp-muted);
  font:500 8.5px/1.3 Inter,Arial,sans-serif;
}

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

.pp-v45-setting-row{
  min-height:66px;
  padding:11px 16px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 40px;
  align-items:center;
  gap:12px;
  border-bottom:1px solid var(--pp-line);
  cursor:pointer;
}

.pp-v45-setting-row strong{
  display:block;
  color:var(--pp-ink);
  font:700 10.5px/1.3 Inter,Arial,sans-serif;
}

.pp-v45-setting-row small{
  display:block;
  margin-top:3px;
  color:var(--pp-muted);
  font:500 8.5px/1.3 Inter,Arial,sans-serif;
}

.pp-v45-setting-row input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.pp-v45-setting-row i{
  position:relative;
  width:36px;
  height:21px;
  border-radius:999px;
  background:#d9dbe0;
}

.pp-v45-setting-row i::after{
  content:"";
  position:absolute;
  top:3px;
  left:3px;
  width:15px;
  height:15px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 2px 5px rgba(20,20,30,.16);
  transition:transform .15s ease;
}

.pp-v45-setting-row input:checked+i{
  background:var(--pp-accent);
}

.pp-v45-setting-row input:checked+i::after{
  transform:translateX(15px);
}

.pp-v45-browser-notif{
  width:100%;
  min-height:64px;
  padding:11px 16px;
  display:grid;
  grid-template-columns:32px minmax(0,1fr);
  align-items:center;
  gap:10px;
  border:0;
  background:#fff;
  color:var(--pp-ink);
  text-align:left;
  cursor:pointer;
}

.pp-v45-browser-notif:hover{
  background:#faf8f9;
}

.pp-v45-browser-notif>svg{
  width:17px;
  height:17px;
  color:var(--pp-accent);
}

.pp-v45-browser-notif strong{
  display:block;
  font:700 10.5px/1.3 Inter,Arial,sans-serif;
}

.pp-v45-browser-notif small{
  display:block;
  margin-top:3px;
  color:var(--pp-muted);
  font:500 8.5px/1.3 Inter,Arial,sans-serif;
}


/* =========================================================
   PLANNING
   ========================================================= */
.pp-v45-planning-section{
  margin-bottom:20px;
  padding:24px;
  border:1px solid rgba(255,255,255,.82);
  border-radius:22px;
  background:rgba(255,255,255,.82);
  box-shadow:0 12px 32px rgba(45,37,43,.035);
  scroll-margin-top:22px;
}

.pp-v45-section-head span{
  color:var(--pp-accent);
  font:800 9px/1 Inter,Arial,sans-serif;
  letter-spacing:.13em;
}

.pp-v45-section-head h2{
  margin:7px 0 4px;
  color:var(--pp-ink);
  font:700 27px/1.05 "Cormorant Garamond",Georgia,serif;
}

.pp-v45-section-head p{
  margin:0;
  color:var(--pp-muted);
  font:500 10px/1.5 Inter,Arial,sans-serif;
}

.pp-v45-planning-list{
  margin-top:17px;
  display:grid;
  gap:8px;
}

.pp-v45-planning-list article{
  min-height:58px;
  padding:11px 13px;
  display:grid;
  grid-template-columns:110px minmax(0,1fr);
  align-items:center;
  gap:13px;
  border:1px solid var(--pp-line);
  border-radius:12px;
  background:#fff;
}

.pp-v45-planning-list time{
  color:var(--pp-accent);
  font:750 9px/1.2 Inter,Arial,sans-serif;
}

.pp-v45-planning-list strong{
  display:block;
  color:var(--pp-ink);
  font:700 10.5px/1.3 Inter,Arial,sans-serif;
}

.pp-v45-planning-list small{
  display:block;
  margin-top:3px;
  color:var(--pp-muted);
  font:500 8.5px/1.3 Inter,Arial,sans-serif;
}

.pp-v45-empty{
  padding:22px;
  text-align:center;
  color:var(--pp-muted);
}

.pp-v45-empty strong{
  display:block;
  color:var(--pp-ink);
  font:700 10.5px/1.3 Inter,Arial,sans-serif;
}

.pp-v45-empty span{
  display:block;
  margin-top:4px;
  font:500 9px/1.4 Inter,Arial,sans-serif;
}


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

body.pp-client-active.pp-client-v45 .pp-v45-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-v45 .pp-v45-download.is-unavailable{
  color:#92959f!important;
  border-color:var(--pp-line)!important;
  background:#f7f7f8!important;
}


/* =========================================================
   CHAT
   ========================================================= */
body.pp-client-active.pp-client-v45 .pp-v45-hide-floating-chat{
  display:none!important;
}

body.pp-client-active.pp-client-v45 #portal-chat-window.pp-v45-chat-window.active{
  position:fixed!important;
  right:24px!important;
  bottom:24px!important;
  top:auto!important;
  left:auto!important;
  width:min(410px,calc(100vw - 32px))!important;
  max-height:min(650px,calc(100vh - 48px))!important;
  z-index:10100!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  filter:none!important;
  box-shadow:0 30px 80px rgba(18,24,38,.3)!important;
}


/* =========================================================
   COMPTE
   ========================================================= */
.pp-v45-modal-backdrop{
  position:fixed;
  inset:0;
  z-index:10150;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(24,25,31,.26);
  backdrop-filter:blur(8px);
}

.pp-v45-account-card{
  width:min(590px,100%);
  padding:22px;
  border:1px solid rgba(255,255,255,.9);
  border-radius:22px;
  background:#fff;
  box-shadow:0 28px 80px rgba(24,25,31,.2);
}

.pp-v45-account-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding-bottom:16px;
  border-bottom:1px solid var(--pp-line);
}

.pp-v45-account-head span{
  color:var(--pp-accent);
  font:800 8px/1 Inter,Arial,sans-serif;
  letter-spacing:.14em;
}

.pp-v45-account-head h2{
  margin:6px 0 0;
  color:var(--pp-ink);
  font:700 28px/1 "Cormorant Garamond",Georgia,serif;
}

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

.pp-v45-account-head button svg{
  width:15px;
  height:15px;
}

.pp-v45-account-grid{
  margin-top:17px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.pp-v45-account-grid article{
  min-height:76px;
  padding:13px;
  border:1px solid var(--pp-line);
  border-radius:13px;
  background:#faf9f9;
}

.pp-v45-account-grid small{
  display:block;
  color:var(--pp-muted);
  font:600 8px/1.2 Inter,Arial,sans-serif;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.pp-v45-account-grid strong{
  display:block;
  margin-top:7px;
  color:var(--pp-ink);
  font:700 10.5px/1.35 Inter,Arial,sans-serif;
  word-break:break-word;
}


/* =========================================================
   REDUCTION ANIMATIONS
   ========================================================= */
body.pp-v45-reduced-motion *,
body.pp-v45-reduced-motion *::before,
body.pp-v45-reduced-motion *::after{
  animation-duration:.001ms!important;
  animation-iteration-count:1!important;
  transition-duration:.001ms!important;
  scroll-behavior:auto!important;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */
@media(max-width:1180px){
  body.pp-client-active.pp-client-v45 #nexus-premium-client-shell{
    grid-template-columns:220px minmax(0,1fr)!important;
    gap:12px!important;
    padding:12px!important;
  }

  .pp-v45-sidebar{
    top:12px;
    height:calc(100vh - 24px);
  }

  body.pp-client-active.pp-client-v45 .pp-client-header.pp-v45-header>.pp-nav button{
    min-width:102px!important;
  }

  body.pp-client-active.pp-client-v45 .pp-v45-header-tools>.pp-client-id{
    display:none!important;
  }
}

@media(max-width:820px){
  body.pp-client-active.pp-client-v45 #nexus-premium-client-shell{
    display:block!important;
    padding:10px!important;
  }

  .pp-v45-sidebar{
    position:relative;
    top:auto;
    height:auto;
    min-height:0;
    margin-bottom:10px;
  }

  .pp-v45-brand,
  .pp-v45-project-card,
  .pp-v45-contact-card{
    display:none;
  }

  .pp-v45-sidebar-scroll{
    display:flex;
    overflow-x:auto;
    padding:7px;
  }

  .pp-v45-sidebar-scroll section{
    display:flex;
    padding:0;
  }

  .pp-v45-sidebar-scroll label{
    display:none;
  }

  .pp-v45-sidebar-scroll button{
    width:auto;
    min-width:max-content;
    margin:0 2px;
    padding:0 10px;
  }

  .pp-v45-sidebar-scroll button.active{
    box-shadow:none;
  }

  body.pp-client-active.pp-client-v45 #nexus-premium-client-shell>.pp-client-header,
  body.pp-client-active.pp-client-v45 #nexus-premium-client-shell>.pp-client-main{
    width:100%!important;
  }

  body.pp-client-active.pp-client-v45 .pp-client-header.pp-v45-header{
    min-height:62px!important;
    padding:8px!important;
    gap:8px!important;
  }

  body.pp-client-active.pp-client-v45 .pp-client-header.pp-v45-header>.pp-nav{
    max-width:calc(100vw - 120px);
    overflow-x:auto;
  }

  body.pp-client-active.pp-client-v45 .pp-client-header.pp-v45-header>.pp-nav button{
    min-width:44px!important;
    width:44px!important;
    padding:0!important;
  }

  body.pp-client-active.pp-client-v45 .pp-client-header.pp-v45-header>.pp-nav button span{
    display:none!important;
  }

  .pp-v45-tool{
    width:40px;
    height:40px;
  }

  .pp-v45-popover{
    position:fixed;
    top:74px;
    left:12px;
    right:12px;
    width:auto;
  }

  .pp-v45-account-grid{
    grid-template-columns:1fr;
  }

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


/* =========================================================
   V4.5 — PAGES DÉDIÉES
   ========================================================= */
body.pp-client-active.pp-client-v45 .pp-client-main[data-pp-v45-dedicated]{
  min-height:720px!important;
}

.pp-v45-route-page{
  width:100%;
  min-height:680px;
  display:flex;
  flex-direction:column;
  gap:18px;
}

.pp-v45-page-head{
  min-height:150px;
  padding:28px 30px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  border:1px solid rgba(255,255,255,.86);
  border-radius:24px;
  background:
    radial-gradient(circle at 92% 0%,color-mix(in srgb,var(--pp-accent) 8%,transparent),transparent 36%),
    rgba(255,255,255,.86);
  box-shadow:0 16px 42px rgba(40,34,39,.045);
}

.pp-v45-page-head>div:first-child{
  min-width:0;
}

.pp-v45-page-head>div:first-child>span{
  display:block;
  color:var(--pp-accent);
  font:850 9px/1 Inter,Arial,sans-serif;
  letter-spacing:.15em;
}

.pp-v45-page-head h1{
  margin:9px 0 6px;
  color:var(--pp-ink);
  font:700 clamp(34px,4vw,52px)/.95 "Cormorant Garamond",Georgia,serif;
  letter-spacing:-.025em;
}

.pp-v45-page-head p{
  margin:0;
  max-width:680px;
  color:var(--pp-muted);
  font:500 11px/1.55 Inter,Arial,sans-serif;
}

.pp-v45-page-actions{
  flex:0 0 auto;
}

.pp-v45-primary{
  min-height:46px;
  padding:0 17px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:0;
  border-radius:13px;
  background:var(--pp-accent);
  color:#fff;
  box-shadow:0 10px 24px color-mix(in srgb,var(--pp-accent) 22%,transparent);
  cursor:pointer;
  font:750 10.5px/1 Inter,Arial,sans-serif;
}

.pp-v45-primary svg{
  width:16px;
  height:16px;
}

.pp-v45-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.pp-v45-stats article{
  min-height:112px;
  padding:18px 20px;
  border:1px solid rgba(255,255,255,.88);
  border-radius:18px;
  background:rgba(255,255,255,.82);
  box-shadow:0 10px 28px rgba(40,34,39,.03);
}

.pp-v45-stats small{
  display:block;
  color:#7b7e89;
  font:800 8px/1 Inter,Arial,sans-serif;
  letter-spacing:.12em;
}

.pp-v45-stats strong{
  display:block;
  margin-top:12px;
  color:var(--pp-ink);
  font:800 21px/1.05 Inter,Arial,sans-serif;
}

.pp-v45-stats span{
  display:block;
  margin-top:7px;
  color:var(--pp-muted);
  font:500 9px/1.35 Inter,Arial,sans-serif;
}

.pp-v45-mini-progress{
  height:5px;
  margin-top:12px;
  overflow:hidden;
  border-radius:999px;
  background:#ebe9ea;
}

.pp-v45-mini-progress i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:var(--pp-accent);
}

.pp-v45-page-card{
  padding:22px;
  border:1px solid rgba(255,255,255,.88);
  border-radius:22px;
  background:rgba(255,255,255,.84);
  box-shadow:0 12px 34px rgba(40,34,39,.035);
}

.pp-v45-card-title{
  min-height:50px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:0 2px 15px;
  border-bottom:1px solid var(--pp-line);
}

.pp-v45-card-title span{
  display:block;
  color:var(--pp-accent);
  font:850 8px/1 Inter,Arial,sans-serif;
  letter-spacing:.14em;
}

.pp-v45-card-title h2{
  margin:6px 0 0;
  color:var(--pp-ink);
  font:700 24px/1 "Cormorant Garamond",Georgia,serif;
}

.pp-v45-timeline{
  padding-top:6px;
}

.pp-v45-timeline article{
  min-height:72px;
  display:grid;
  grid-template-columns:112px 14px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:10px 4px;
  border-bottom:1px solid var(--pp-line);
}

.pp-v45-timeline article:last-child{
  border-bottom:0;
}

.pp-v45-date-block strong{
  display:block;
  color:var(--pp-ink);
  font:750 10px/1.25 Inter,Arial,sans-serif;
}

.pp-v45-date-block small{
  display:block;
  margin-top:4px;
  color:var(--pp-muted);
  font:600 8px/1 Inter,Arial,sans-serif;
}

.pp-v45-timeline-dot{
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--pp-accent);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--pp-accent) 9%,white 91%);
}

.pp-v45-timeline-copy strong{
  display:block;
  color:var(--pp-ink);
  font:700 10.5px/1.3 Inter,Arial,sans-serif;
}

.pp-v45-timeline-copy small{
  display:block;
  margin-top:4px;
  color:var(--pp-muted);
  font:500 8.7px/1.35 Inter,Arial,sans-serif;
}

.pp-v45-timeline em{
  padding:6px 9px;
  border-radius:999px;
  background:#f4f2f3;
  color:#777a84;
  font:700 8px/1 Inter,Arial,sans-serif;
  font-style:normal;
  white-space:nowrap;
}

.pp-v45-task-phases{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.pp-v45-task-phase{
  overflow:hidden;
  border:1px solid rgba(255,255,255,.9);
  border-radius:20px;
  background:rgba(255,255,255,.85);
  box-shadow:0 12px 32px rgba(40,34,39,.035);
}

.pp-v45-task-phase-head{
  min-height:76px;
  padding:15px 16px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  align-items:center;
  gap:11px;
  border-bottom:1px solid var(--pp-line);
  background:linear-gradient(135deg,color-mix(in srgb,var(--pp-accent) 5%,white 95%),#fff);
}

.pp-v45-task-phase-head>span{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:color-mix(in srgb,var(--pp-accent) 10%,white 90%);
  color:var(--pp-accent);
  font:850 10px/1 Inter,Arial,sans-serif;
}

.pp-v45-task-phase-head strong{
  display:block;
  color:var(--pp-ink);
  font:800 11px/1.25 Inter,Arial,sans-serif;
}

.pp-v45-task-phase-head small{
  display:block;
  margin-top:4px;
  color:var(--pp-muted);
  font:500 8.5px/1.3 Inter,Arial,sans-serif;
}

.pp-v45-task-list{
  padding:7px 13px;
}

.pp-v45-task-row{
  min-height:56px;
  display:grid;
  grid-template-columns:9px minmax(0,1fr) 82px 82px;
  align-items:center;
  gap:10px;
  border-bottom:1px solid var(--pp-line);
}

.pp-v45-task-row:last-child{
  border-bottom:0;
}

.pp-v45-status-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#b7bac1;
}

.pp-v45-status-dot.done{background:#31a873}
.pp-v45-status-dot.progress{background:#4d91c6}
.pp-v45-status-dot.waiting{background:#e0a627}
.pp-v45-status-dot.validate{background:#bd5874}
.pp-v45-status-dot.complete{background:#856bd1}

.pp-v45-task-row>div strong{
  display:block;
  color:var(--pp-ink);
  font:700 9.5px/1.3 Inter,Arial,sans-serif;
}

.pp-v45-task-row>div small{
  display:block;
  margin-top:3px;
  color:var(--pp-muted);
  font:500 8px/1.25 Inter,Arial,sans-serif;
}

.pp-v45-task-row time{
  color:#80838e;
  font:600 8px/1 Inter,Arial,sans-serif;
}

.pp-v45-task-row em{
  justify-self:end;
  min-width:72px;
  padding:6px 8px;
  border-radius:999px;
  text-align:center;
  color:#6f727b;
  background:#f2f2f3;
  font:700 7.7px/1 Inter,Arial,sans-serif;
  font-style:normal;
}

.pp-v45-task-row em.done{color:#207a54;background:#e9f7f0}
.pp-v45-task-row em.progress{color:#3272a2;background:#eaf3fa}
.pp-v45-task-row em.waiting{color:#946d13;background:#fff4d7}
.pp-v45-task-row em.validate{color:#98415a;background:#faeaf0}
.pp-v45-task-row em.complete{color:#6b55ad;background:#f0edfb}

.pp-v45-comments-grid{
  padding-top:16px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.pp-v45-comment-card{
  min-height:128px;
  padding:15px;
  border:1px solid var(--pp-line);
  border-radius:15px;
  background:#fff;
}

.pp-v45-comment-top{
  display:grid;
  grid-template-columns:36px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
}

.pp-v45-comment-avatar{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:color-mix(in srgb,var(--pp-accent) 10%,white 90%);
  color:var(--pp-accent);
  font:800 10px/1 Inter,Arial,sans-serif;
}

.pp-v45-comment-top>div:nth-child(2) strong{
  display:block;
  color:var(--pp-ink);
  font:750 9.5px/1.25 Inter,Arial,sans-serif;
}

.pp-v45-comment-top>div:nth-child(2) small{
  display:block;
  margin-top:3px;
  color:#9a9ca4;
  font:500 7.8px/1.25 Inter,Arial,sans-serif;
}

.pp-v45-comment-actions{
  display:flex;
  gap:5px;
}

.pp-v45-comment-actions button{
  min-height:28px;
  padding:0 8px;
  border:1px solid var(--pp-line);
  border-radius:8px;
  background:#fff;
  color:#777a84;
  cursor:pointer;
  font:650 7.8px/1 Inter,Arial,sans-serif;
}

.pp-v45-comment-actions button:hover{
  color:var(--pp-accent);
  border-color:color-mix(in srgb,var(--pp-accent) 20%,var(--pp-line));
}

.pp-v45-comment-card p{
  margin:13px 0 0;
  color:#4e515c;
  font:500 9.5px/1.5 Inter,Arial,sans-serif;
}

.pp-v45-account-layout{
  display:grid;
  grid-template-columns:310px minmax(0,1fr);
  gap:14px;
}

.pp-v45-account-profile,
.pp-v45-account-info{
  border:1px solid rgba(255,255,255,.88);
  border-radius:20px;
  background:rgba(255,255,255,.84);
  box-shadow:0 12px 34px rgba(40,34,39,.035);
}

.pp-v45-account-profile{
  min-height:260px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:26px;
}

.pp-v45-account-avatar{
  width:76px;
  height:76px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:color-mix(in srgb,var(--pp-accent) 11%,white 89%);
  color:var(--pp-accent);
  font:850 25px/1 Inter,Arial,sans-serif;
}

.pp-v45-account-profile strong{
  display:block;
  margin-top:15px;
  color:var(--pp-ink);
  font:800 15px/1.2 Inter,Arial,sans-serif;
}

.pp-v45-account-profile small{
  display:block;
  margin-top:5px;
  color:var(--pp-muted);
  font:600 9px/1.2 Inter,Arial,sans-serif;
}

.pp-v45-account-info{
  padding:14px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.pp-v45-account-info article{
  min-height:108px;
  padding:17px;
  border:1px solid var(--pp-line);
  border-radius:14px;
  background:#fff;
}

.pp-v45-account-info small{
  display:block;
  color:#898c95;
  font:800 8px/1 Inter,Arial,sans-serif;
  letter-spacing:.1em;
}

.pp-v45-account-info strong{
  display:block;
  margin-top:12px;
  color:var(--pp-ink);
  font:750 11px/1.4 Inter,Arial,sans-serif;
  word-break:break-word;
}

.pp-v45-support-grid{
  display:grid;
  grid-template-columns:1.5fr .75fr .75fr;
  gap:13px;
}

.pp-v45-support-grid>article{
  min-height:190px;
  padding:22px;
  border:1px solid rgba(255,255,255,.88);
  border-radius:20px;
  background:rgba(255,255,255,.84);
  box-shadow:0 12px 34px rgba(40,34,39,.035);
}

.pp-v45-support-main{
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:16px;
}

.pp-v45-support-icon{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:color-mix(in srgb,var(--pp-accent) 10%,white 90%);
  color:var(--pp-accent);
}

.pp-v45-support-icon svg{
  width:21px;
  height:21px;
}

.pp-v45-support-main small,
.pp-v45-support-info small{
  color:var(--pp-accent);
  font:850 8px/1 Inter,Arial,sans-serif;
  letter-spacing:.1em;
}

.pp-v45-support-main h2{
  margin:8px 0 7px;
  color:var(--pp-ink);
  font:700 27px/1 "Cormorant Garamond",Georgia,serif;
}

.pp-v45-support-main p{
  margin:0 0 16px;
  max-width:560px;
  color:var(--pp-muted);
  font:500 9.5px/1.5 Inter,Arial,sans-serif;
}

.pp-v45-support-info strong{
  display:block;
  margin-top:14px;
  color:var(--pp-ink);
  font:800 13px/1.3 Inter,Arial,sans-serif;
}

.pp-v45-support-info span{
  display:block;
  margin-top:8px;
  color:var(--pp-muted);
  font:500 9px/1.45 Inter,Arial,sans-serif;
}

@media(max-width:1180px){
  .pp-v45-task-phases,
  .pp-v45-comments-grid{
    grid-template-columns:1fr;
  }

  .pp-v45-account-layout,
  .pp-v45-support-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:760px){
  .pp-v45-page-head{
    min-height:0;
    padding:20px;
    flex-direction:column;
    align-items:stretch;
  }

  .pp-v45-page-head h1{
    font-size:38px;
  }

  .pp-v45-stats{
    grid-template-columns:1fr;
  }

  .pp-v45-timeline article{
    grid-template-columns:86px 10px minmax(0,1fr);
  }

  .pp-v45-timeline em{
    grid-column:3;
    justify-self:start;
  }

  .pp-v45-task-row{
    grid-template-columns:8px minmax(0,1fr);
    padding:10px 0;
  }

  .pp-v45-task-row time,
  .pp-v45-task-row em{
    grid-column:2;
    justify-self:start;
  }

  .pp-v45-account-info{
    grid-template-columns:1fr;
  }
}
