/* ============================================================
   SOCAETI — Espace client (compte, devis, messagerie)
   ============================================================ */
.compte-wrap{background:#f5faf5;min-height:60vh;padding:2.5rem 0 4rem}
.compte-card{background:#fff;border:1px solid #dcefdc;border-radius:18px;box-shadow:0 4px 20px rgba(20,60,20,.06)}
.compte-auth{max-width:460px;margin:0 auto}
.compte-auth .compte-card{padding:2.2rem}
.compte-auth h4{font-family:var(--fh);font-weight:800;margin-bottom:.3rem}
.compte-side{background:#fff;border:1px solid #dcefdc;border-radius:18px;overflow:hidden}
.compte-side .side-item{
  display:flex;align-items:center;gap:.7rem;padding:.75rem 1.1rem;
  color:#2a4a2a;text-decoration:none;font-weight:600;font-size:.88rem;
  border-left:3px solid transparent;transition:all .2s;
}
.compte-side .side-item i{width:18px;text-align:center;color:var(--green-dk)}
.compte-side .side-item:hover{background:var(--green-lt)}
.compte-side .side-item.active{background:var(--green-lt);border-left-color:var(--green);color:var(--green-dk)}
.compte-side .side-item .cnt{margin-left:auto;background:#ef4444;color:#fff;border-radius:50px;font-size:.68rem;font-weight:700;padding:.1rem .5rem}

.compte-stat{background:#fff;border:1px solid #dcefdc;border-radius:16px;padding:1.1rem 1.3rem}
.compte-stat .v{font-family:var(--fh);font-weight:800;font-size:1.7rem;color:#1a2e1a;line-height:1}
.compte-stat .l{font-size:.75rem;color:#5a7a5a;font-weight:600;margin-top:.25rem}

.thread-list a{display:block;text-decoration:none;color:inherit}
.thread-item{
  display:flex;gap:.9rem;padding:1rem 1.2rem;border-bottom:1px solid #eef7ee;transition:background .2s;
}
.thread-item:hover{background:#f7fdf7}
.thread-item .dot{width:9px;height:9px;border-radius:50%;background:#ef4444;flex-shrink:0;margin-top:6px}
.thread-item .dot.read{background:transparent}

.bubble-wrap{display:flex;flex-direction:column;gap:.9rem;padding:1.2rem}
.bubble{max-width:78%;padding:.75rem 1rem;border-radius:16px;font-size:.88rem;line-height:1.5;position:relative}
.bubble .meta{font-size:.68rem;opacity:.65;margin-top:.35rem}
.bubble.admin{align-self:flex-start;background:#f0f4f8;color:#1a2233;border-bottom-left-radius:4px}
.bubble.client{align-self:flex-end;background:linear-gradient(135deg,var(--green-dk),var(--green));color:#fff;border-bottom-right-radius:4px}
.bubble.origin{align-self:flex-start;background:#fff;border:1.5px dashed #cfe6cf;color:#1a2e1a;border-bottom-left-radius:4px}

.badge-statut{font-size:.68rem;font-weight:700;border-radius:50px;padding:.28rem .7rem}

.status-track{display:flex;flex-wrap:wrap;gap:.4rem}
.status-track .st{
  padding:.35rem .8rem;border-radius:50px;font-size:.72rem;font-weight:700;
  background:#eef4ee;color:#8aa08a;
}
.status-track .st.done{background:var(--green-lt);color:var(--green-dk)}
.status-track .st.current{background:var(--green);color:#fff}

@media(max-width:767px){
  .compte-wrap{padding:1.5rem 0 3rem}
  .bubble{max-width:90%}
}
