/* ---- UI polish: long usernames must never break the header ---- */
.menu-name .user-display-name {
	display: inline-block;
	max-width: 140px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	vertical-align: middle;
	margin-right: 10px;
}
@media (max-width: 991.98px) {
	.menu-name .user-display-name { max-width: 90px; }
}
.menu-text.menu-name { min-width: 0; }

/* ---- "NEW" highlight (sidebar + profile nav) ---- */
.c-number--new {
	background: linear-gradient(135deg, #7b2ff7, #f107a3);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .5px;
	padding: 2px 8px;
	border-radius: 30px;
	animation: sfgNewPulse 2s ease-in-out infinite;
}
.pn-new-pill {
	background: linear-gradient(135deg, #7b2ff7, #f107a3);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .5px;
	padding: 2px 7px;
	border-radius: 30px;
	vertical-align: middle;
	margin-left: 4px;
}
@keyframes sfgNewPulse {
	0%, 100% { box-shadow: 0 0 0 0 rgba(241, 7, 163, .45); }
	50% { box-shadow: 0 0 0 6px rgba(241, 7, 163, 0); }
}

/* ---- light nav polish ---- */
.nav__dock > li > a {
	transition: background-color .15s ease, padding-left .15s ease;
	border-radius: 6px;
}
.nav__dock > li > a:hover { padding-left: 22px; }

/* ---- dashboard "My Profiles" promo card ---- */
.sfg-profiles-promo {
	position: relative;
	background: linear-gradient(120deg, #4a00e0 0%, #8e2de2 55%, #f107a3 130%);
	color: #fff;
	border-radius: 12px;
	padding: 16px 46px 16px 18px;
	margin-bottom: 18px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	box-shadow: 0 8px 20px rgba(102, 45, 226, .25);
}
.sfg-profiles-promo .promo-icon {
	font-size: 26px;
	background: rgba(255,255,255,.16);
	border-radius: 10px;
	width: 48px; height: 48px;
	display: flex; align-items: center; justify-content: center;
	flex: 0 0 48px;
}
.sfg-profiles-promo .promo-body { flex: 1 1 260px; min-width: 0; }
.sfg-profiles-promo .promo-title { font-weight: 700; font-size: 15px; margin: 0 0 2px; }
.sfg-profiles-promo .promo-title .pn-new-pill { margin-left: 6px; }
.sfg-profiles-promo .promo-sub { margin: 0; font-size: 13px; opacity: .92; }
.sfg-profiles-promo .promo-cta {
	background: #fff; color: #6a11cb; font-weight: 700;
	border-radius: 30px; padding: 8px 18px; font-size: 13px;
	white-space: nowrap; text-decoration: none;
	transition: transform .15s ease;
}
.sfg-profiles-promo .promo-cta:hover { transform: translateY(-1px); color: #4a00e0; }
.sfg-profiles-promo .promo-close {
	position: absolute; top: 8px; right: 12px;
	color: rgba(255,255,255,.75); font-size: 16px; cursor: pointer;
	background: none; border: none; line-height: 1;
}
.sfg-profiles-promo .promo-close:hover { color: #fff; }

.nav-link-user .user-title.user-display-name {
	display: inline-block;
	max-width: 120px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	vertical-align: middle;
}
@media (max-width: 575.98px) {
	.nav-link-user .user-title.user-display-name { max-width: 70px; }
}
