/* Sufijos de rol NicaNetWork ? Owner, Admin, Staff, Reclutador */
.nn-role{
  display:inline-flex;align-items:center;gap:.35rem;
  font-weight:800;letter-spacing:.07em;text-transform:uppercase;
  border-radius:999px;padding:.22rem .6rem;font-size:.62rem;line-height:1;
  position:relative;border:1px solid transparent;white-space:nowrap;
  vertical-align:middle;backdrop-filter:blur(8px);
  transition:transform .15s ease, box-shadow .15s ease;
}
.nn-role i{font-size:.58rem;opacity:.95;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35));}
.nn-role-text{position:relative;z-index:1;}
.nn-role--sm{font-size:.56rem;padding:.16rem .48rem;gap:.28rem;}
.nn-role--sm i{font-size:.5rem;}
.nn-role--md{font-size:.62rem;padding:.22rem .6rem;}
.nn-role--lg{font-size:.72rem;padding:.32rem .78rem;gap:.4rem;}
.nn-role--lg i{font-size:.65rem;}
.nn-role--nav{font-size:.56rem;padding:.14rem .45rem;letter-spacing:.08em;flex-shrink:0;}
.btn-user-nav .nn-role--nav{animation:none;}
.nn-role--chat{font-size:.58rem;padding:.18rem .52rem;}

.nn-role--owner{
  background:linear-gradient(135deg,rgba(126,34,206,.55),rgba(234,179,8,.35),rgba(168,85,247,.4));
  color:#fef3c7;border-color:rgba(253,224,71,.45);
  box-shadow:0 0 22px rgba(168,85,247,.35),inset 0 1px 0 rgba(255,255,255,.2);
  animation:nnRoleOwnerGlow 3.2s ease-in-out infinite;
}
.nn-role--admin{
  background:linear-gradient(135deg,rgba(234,88,12,.5),rgba(239,68,68,.28));
  color:#ffedd5;border-color:rgba(251,146,60,.5);
  box-shadow:0 0 18px rgba(249,115,22,.28),inset 0 1px 0 rgba(255,255,255,.12);
}
.nn-role--staff{
  background:linear-gradient(135deg,rgba(234,179,8,.45),rgba(132,204,22,.25));
  color:#fef9c3;border-color:rgba(250,204,21,.45);
  box-shadow:0 0 16px rgba(234,179,8,.22),inset 0 1px 0 rgba(255,255,255,.1);
}
.nn-role--member{
  background:linear-gradient(135deg,rgba(148,163,184,.35),rgba(100,116,139,.22));
  color:#e2e8f0;border-color:rgba(148,163,184,.4);
  box-shadow:0 0 12px rgba(148,163,184,.15),inset 0 1px 0 rgba(255,255,255,.08);
}
.nn-role--recruiter{
  background:linear-gradient(135deg,rgba(34,211,238,.4),rgba(59,130,246,.28));
  color:#e0f2fe;border-color:rgba(56,189,248,.45);
  box-shadow:0 0 16px rgba(34,211,238,.25),inset 0 1px 0 rgba(255,255,255,.12);
  animation:nnRoleRecruitPulse 2.8s ease-in-out infinite;
}

.nn-role:hover{transform:translateY(-1px) scale(1.03);}

.nn-user-line{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.4rem .45rem;min-width:0;}
.nn-user-line--stack{flex-direction:column;align-items:flex-start;gap:.25rem;}
.nn-user-name{
  font-weight:700;color:#fff;letter-spacing:-.01em;
  max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.nn-user-name--owner{
  background:linear-gradient(90deg,#f5d0fe 0%,#fde68a 45%,#f5d0fe 90%);
  background-size:220% auto;-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  animation:nnNameShine 4.5s linear infinite;
  filter:drop-shadow(0 0 12px rgba(168,85,247,.35));
}
.nn-user-name--admin{
  background:linear-gradient(90deg,#fed7aa,#fdba74,#fb923c);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.nn-user-name--staff{
  background:linear-gradient(90deg,#fef08a,#fde047,#facc15);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.nn-user-name--member{color:#cbd5e1;}
.nn-user-name--recruiter{
  background:linear-gradient(90deg,#a5f3fc,#67e8f9,#38bdf8);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}

.nn-role-hero{margin-top:.65rem;}
.nn-role-hero .nn-role{font-size:.78rem;padding:.4rem 1rem;letter-spacing:.1em;}
.nn-role-hero .nn-role i{font-size:.72rem;}

@keyframes nnRoleOwnerGlow{
  0%,100%{box-shadow:0 0 22px rgba(168,85,247,.35),inset 0 1px 0 rgba(255,255,255,.2);}
  50%{box-shadow:0 0 28px rgba(234,179,8,.45),0 0 40px rgba(168,85,247,.2),inset 0 1px 0 rgba(255,255,255,.25);}
}
@keyframes nnRoleRecruitPulse{
  0%,100%{box-shadow:0 0 16px rgba(34,211,238,.25);}
  50%{box-shadow:0 0 22px rgba(59,130,246,.35);}
}
@keyframes nnNameShine{
  0%{background-position:0% center;}
  100%{background-position:220% center;}
}

/* Chat ? reutiliza nn-role dentro de burbujas */
.chat-head .nn-role{margin-left:0;}
.chat-row.owner .chat-bubble{border-color:rgba(168,85,247,.55);}
.chat-row.recruiter .chat-bubble{
  border-color:rgba(34,211,238,.4);
  background:linear-gradient(145deg,rgba(34,211,238,.12),rgba(59,130,246,.05));
  box-shadow:0 6px 26px rgba(34,211,238,.1);
}
.chat-row.recruiter .chat-avatar{box-shadow:0 0 0 2px rgba(34,211,238,.45),0 4px 16px rgba(34,211,238,.18);}

/* Tickets */
.msg-role .nn-role{vertical-align:middle;margin-left:.25rem;}
.msg.msg-owner{border-left:3px solid #a855f7;}
.msg.msg-admin{border-left:3px solid #f97316;}
.msg.msg-staff{border-left:3px solid #eab308;}
.msg.msg-recruiter{border-left:3px solid #22d3ee;}
