.ksw-notifications-page #notificationsList {
	border: 1px solid rgba(0,0,0,.08);
	border-radius: .5rem;
	overflow: hidden;
	background: #fff;
}

.ksw-notifications-page .ksw-notification-card {
	border-bottom: 1px solid rgba(0,0,0,.06);
}

.ksw-notifications-page .ksw-notification-card:last-child {
	border-bottom: 0;
}
.ksw-notifications-page .ksw-notification-clickable {
	cursor: pointer;
}

.ksw-notifications-page .ksw-notification-clickable:hover,
.ksw-notifications-page .ksw-notification-clickable:focus {
	background: rgba(0,0,0,.035);
	outline: none;
}

.ksw-notifications-page .ksw-notification-clickable:focus-visible {
	box-shadow: inset 0 0 0 2px rgba(13,110,253,.35);
}

.ksw-notifications-page .ksw-notification-link-cue {
	font-size: .8rem;
}

.ksw-notifications-page .ksw-notification-row {
	padding: .4rem .6rem;
	min-height: 44px;
}

.ksw-notifications-page .ksw-notification-unread {
	background: rgba(0,0,0,.025);
}

.ksw-notification-avatar {
	width: 28px;
	height: 28px;
}

.ksw-notification-avatar img,
.ksw-notification-avatar span {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	object-fit: cover;
	background: rgba(0,0,0,.06);
	font-size: .8rem;
}

.ksw-notification-main {
	min-width: 0;
}

.ksw-notification-title {
	font-weight: 500;
	line-height: 1.2;
}

.ksw-notification-body {
	font-size: .84rem;
	line-height: 1.2;
	margin-top: .05rem;
}

.ksw-notification-date {
	white-space: nowrap;
	font-size: .78rem;
}

/* A full-width, persistent row in the ticker area, with no outer card gap. */
#kswPushEnableBar {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.ksw-push-enable-bar {
    margin: 0;
    padding: .5rem .75rem;
    border: 0;
    border-bottom: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 0;
    box-shadow: none;
    background-color: var(--bs-primary-bg-subtle, #e7f1ff);
    color: var(--bs-body-color, #212529);
}

.ksw-push-enable-bar .min-width-0,
.ksw-push-device-card .min-width-0 {
	min-width: 0;
}

.ksw-push-enable-bar-icon {
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(var(--bs-primary-rgb), .13);
	color: var(--bs-primary);
	font-size: .9rem;
}

.ksw-push-device-icon {
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(var(--bs-primary-rgb), .13);
	color: var(--bs-primary);
	font-size: .85rem;
}

.ksw-push-enable-title,
.ksw-push-enable-description {
	line-height: 1.3;
}

.ksw-push-enable-description {
	overflow-wrap: anywhere;
}

.ksw-push-enable-actions .btn {
	white-space: nowrap;
}

.ksw-push-device-card {
	background: var(--bs-body-bg);
}

.ksw-push-device-summary {
	flex: 1 1 18rem;
}

.ksw-push-device-card [data-ksw-push-device-description] {
	line-height: 1.25;
	overflow-wrap: anywhere;
}

.ksw-push-device-actions {
	flex: 0 1 auto;
}

.ksw-push-device-actions .btn {
	white-space: nowrap;
}

.ksw-push-busy {
	pointer-events: none;
	opacity: .7;
}


.ksw-notification-pref-table td,
.ksw-notification-pref-table th {
	vertical-align: middle;
}

.ksw-notification-empty {
	padding: 2rem;
	text-align: center;
}

.ksw-notification-pref-toggle .form-check {
	margin: 0 auto;
}

.ksw-notification-pref-toggle .form-check-label {
	margin: 0 !important;
}

.ksw-notifications-page .min-width-0 {
	min-width: 0;
}

.ksw-notifications-page #notificationsPager {
	border: 1px solid rgba(0,0,0,.08);
	border-top: 0;
	border-radius: 0 0 .5rem .5rem;
	background: #fff;
}

.ksw-notifications-page #notificationsSentinel {
	height: 1px;
}

@media (max-width: 575.98px) {

	.ksw-notifications-page .ksw-notification-row {
		align-items: flex-start !important;
	}

	.ksw-notifications-page .ksw-notification-title {
		overflow: visible;
		text-overflow: clip;
		white-space: normal;
		overflow-wrap: anywhere;
	}

	.ksw-push-enable-actions .btn {
		flex: 1 1 auto;
		min-height: 2.75rem;
	}

	.ksw-push-device-actions {
		width: 100%;
	}

	.ksw-push-device-actions .btn {
		min-height: 2.25rem;
	}

	.ksw-notifications-page .ksw-notification-pref-pane .table-responsive {
		overflow: visible;
	}

	.ksw-notifications-page .ksw-notification-pref-table,
	.ksw-notifications-page .ksw-notification-pref-table tbody {
		display: block;
		width: 100%;
	}

	.ksw-notifications-page .ksw-notification-pref-table thead {
		position: absolute !important;
		width: 1px !important;
		height: 1px !important;
		padding: 0 !important;
		margin: -1px !important;
		overflow: hidden !important;
		clip: rect(0, 0, 0, 0) !important;
		white-space: nowrap !important;
		border: 0 !important;
	}

	.ksw-notifications-page .ksw-notification-pref-table tbody tr {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		border-bottom: 1px solid var(--bs-border-color);
		padding: .7rem 0;
	}

	.ksw-notifications-page .ksw-notification-pref-table tbody tr:last-child {
		border-bottom: 0;
	}

	.ksw-notifications-page .ksw-notification-pref-table tbody td {
		display: flex;
		min-width: 0;
		border: 0;
		padding: .35rem .2rem;
		align-items: center;
		justify-content: center;
	}

	.ksw-notifications-page .ksw-notification-pref-table tbody td:first-child {
		grid-column: 1 / -1;
		display: block;
		padding: 0 .25rem .45rem;
		text-align: left;
	}

	.ksw-notifications-page .ksw-notification-pref-table .ksw-notification-pref-toggle {
		flex-direction: column;
		gap: .25rem;
		min-height: 3rem;
		cursor: pointer;
	}

	.ksw-notifications-page .ksw-notification-pref-table .ksw-notification-pref-toggle::before {
		content: attr(data-channel-label);
		color: var(--bs-secondary-color);
		font-size: .8rem;
		font-weight: 600;
		line-height: 1.1;
		text-align: center;
	}

	.ksw-notifications-page .ksw-notification-pref-row-child td:first-child {
		border-left: 3px solid rgba(var(--bs-primary-rgb), .2);
		padding-left: .65rem;
	}
}

@media (max-width: 399.98px) {
	.ksw-notifications-page .ksw-notification-pref-table tbody tr {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}


.ksw-notification-pref-row-child td {
	background: rgba(0,0,0,.015);
}

.ksw-notification-pref-row-child td:first-child {
	border-left: 3px solid rgba(13,110,253,.18);
}

.ksw-notification-pref-toggle-child .form-check {
	opacity: .95;
}
