
/* CBE guest guard / login label / delayed loading UI. */
.cbe-login-user-label{
	display:inline-flex;
	align-items:center;
	max-width:180px;
	min-width:0;
	font-size:13px;
	font-weight:700;
	line-height:1.2;
	color:inherit;
	vertical-align:middle;
}
.cbe-login-user-label__text{
	display:block;
	min-width:0;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}
.cbe-login-user-label.is-injected{
	margin-left:8px;
}
.bsae-portal-header-actions .cbe-login-user-label{
	max-width:160px;
	padding:8px 10px;
	border-radius:999px;
	background:rgba(15,23,42,.06);
	color:#334155;
}
@media (max-width: 767px){
	.cbe-login-user-label{
		max-width:86px;
		font-size:12px;
	}
	.cbe-login-user-label.is-injected{
		margin-left:4px;
	}
	.bsae-portal-header-actions .cbe-login-user-label{
		max-width:72px;
		padding:7px 8px;
	}
}
@media (max-width: 420px){
	.cbe-login-user-label{
		max-width:64px;
	}
	.bsae-portal-header-actions .cbe-login-user-label{
		max-width:58px;
	}
}
.cbe-delayed-loading{
	position:fixed;
	inset:0;
	z-index:2147483000;
	display:flex;
	align-items:center;
	justify-content:center;
	pointer-events:none;
	background:rgba(255,255,255,.28);
	opacity:0;
	visibility:hidden;
	transition:opacity .16s ease, visibility .16s ease;
}
.cbe-delayed-loading.is-active{
	opacity:1;
	visibility:visible;
}
.cbe-delayed-loading__box{
	display:inline-flex;
	align-items:center;
	gap:10px;
	padding:12px 16px;
	border-radius:999px;
	background:rgba(15,23,42,.88);
	color:#fff;
	font-size:13px;
	font-weight:700;
	box-shadow:0 16px 34px rgba(15,23,42,.18);
}
.cbe-delayed-loading__spinner{
	width:18px;
	height:18px;
	border-radius:999px;
	border:2px solid rgba(255,255,255,.35);
	border-top-color:#fff;
	animation:cbeDelayedLoadingSpin .75s linear infinite;
}
@keyframes cbeDelayedLoadingSpin{
	to{transform:rotate(360deg)}
}

/* Mobile: show the logged-in label inside the drawer/menu, not beside the narrow header icon. */
.cbe-login-user-label-drawer-row{
	display:block;
	padding:12px 16px 10px;
	border-bottom:1px solid rgba(15,23,42,.08);
}
.cbe-login-user-label.cbe-login-user-label--drawer{
	display:inline-flex;
	max-width:100%;
	padding:8px 12px;
	border-radius:999px;
	background:rgba(15,23,42,.06);
	color:#334155;
	font-size:13px;
}
@media (max-width: 767px){
	/* Drawer label is preferred on mobile. Inline header injection is disabled by JS,
	   but keep this guard in case the markup is rendered manually. */
	header .cbe-login-user-label.is-injected,
	.site-header .cbe-login-user-label.is-injected{
		display:none!important;
	}
	.cbe-login-user-label-drawer-row .cbe-login-user-label{
		max-width:100%;
	}
}
