.tsv-viewer {
	font-size: 14px;
	line-height: 1.4;
}

.tsv-server {
	display: flex;
	align-items: center;
	gap: .5rem;
	padding: .7rem .8rem;
	border-bottom: 1px solid rgba(127,127,127,.25);
}

.tsv-server-icon {
	color: #3cb371;
	font-size: 11px;
}

.tsv-count {
	margin-left: auto;
	opacity: .7;
	font-size: .9em;
}

.tsv-tree {
	padding: .45rem 0;
}

.tsv-channel,
.tsv-client {
	display: flex;
	align-items: center;
	gap: .35rem;
	min-height: 28px;
	padding-left: calc(.7rem + (var(--tsv-depth) * 1.15rem));
	padding-right: .6rem;
}

.tsv-channel {
	font-weight: 600;
}

.tsv-client {
	font-weight: 400;
}

.tsv-channel:hover,
.tsv-client:hover {
	background: rgba(127,127,127,.10);
}

.tsv-chevron {
	width: .8rem;
	text-align: center;
	opacity: .7;
}

.tsv-channel-icon,
.tsv-client-icon {
	width: 1.25rem;
	text-align: center;
}

.tsv-channel-name,
.tsv-client-name {
	overflow-wrap: anywhere;
}

.tsv-client-status,
.tsv-country {
	margin-left: .35rem;
	opacity: .55;
	font-size: .8em;
}

.tsv-lock {
	margin-left: .25rem;
	font-size: .85em;
}

.tsv-warning {
	margin: .6rem;
	padding: .55rem .7rem;
	border: 1px solid rgba(200,150,0,.35);
	background: rgba(255,200,0,.08);
	border-radius: 4px;
	font-size: .9em;
}

.tsv-offline {
	padding: 1rem;
	text-align: center;
	opacity: .75;
}

.tsv-connect-wrap {
	padding: .8rem;
	border-top: 1px solid rgba(127,127,127,.25);
}

.tsv-connect {
	display: inline-block;
}
