.sso-session-badge {
	position:fixed;
	right:max(0.5rem, env(safe-area-inset-right));
	bottom:max(0.5rem, env(safe-area-inset-bottom));
	z-index:1100;
	box-sizing:border-box;
	max-width:calc(100% - 1rem);
	border:1px solid rgba(255,255,255,0.35);
	border-radius:0.45rem;
	background:#5b2c6f;
	box-shadow:0 0.25rem 0.9rem rgba(0,0,0,0.3);
	color:#fff;
	font-size:0.85rem;
}
.sso-session-badge summary {
	box-sizing:border-box;
	min-height:44px;
	padding:0.75rem;
	cursor:pointer;
	overflow-wrap:anywhere;
}
.sso-session-badge summary:focus-visible,
.sso-session-badge a:focus-visible {
	outline:2px solid #fff;
	outline-offset:-3px;
}
.sso-session-badge__panel {
	box-sizing:border-box;
	max-width:34rem;
	max-height:60vh;
	max-height:60dvh;
	overflow-y:auto;
	padding:0 0.75rem 0.5rem;
	overflow-wrap:anywhere;
}
.sso-session-badge__title {
	font-weight:600;
}
.sso-session-badge__actions {
	display:flex;
	flex-wrap:wrap;
	gap:0 0.9rem;
	padding-top:0.5rem;
}
.sso-session-badge a {
	display:flex;
	align-items:center;
	min-height:44px;
	color:#fff;
	text-decoration:underline;
}
.sso-session-badge a:hover,
.sso-session-badge a:focus {
	color:#fff;
	text-decoration:none;
}
body:has(.sso-session-badge) {
	padding-bottom:calc(5rem + env(safe-area-inset-bottom));
}
@media (max-width:600px) {
	.sso-session-badge__actions {
		flex-direction:column;
	}
}
@media print {
	.sso-session-badge {
		display:none;
	}
}
