.mks-sat-lms-pwa-install {
	position: fixed;
	right: 18px;
	bottom: 18px;
	z-index: 9998;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 48px;
	padding: 0 18px;
	border: 1px solid #6d28d9;
	border-radius: 999px;
	background: linear-gradient(135deg, #a66bff 0%, #8746f1 48%, #6223bc 100%);
	color: #ffffff;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.1;
	box-shadow: 0 14px 28px rgba(91, 33, 182, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.24);
	cursor: pointer;
	transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
	max-width: min(calc(100vw - 24px), 240px);
}

.mks-sat-lms-pwa-install:hover {
	transform: translateY(-1px);
	filter: saturate(1.03);
	box-shadow: 0 18px 32px rgba(76, 29, 149, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.mks-sat-lms-pwa-install[hidden] {
	display: none !important;
}

.mks-sat-lms-pwa-back {
	position: fixed;
	left: calc(env(safe-area-inset-left, 0px) + 16px);
	top: calc(env(safe-area-inset-top, 0px) + 16px);
	z-index: 9998;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 38px;
	padding: 0 13px;
	border: 1px solid #6d1ed1;
	border-radius: 999px;
	background: linear-gradient(135deg, #973cff 0%, #8222ee 52%, #6a18c8 100%);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	box-shadow: 0 12px 28px rgba(130, 34, 238, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.18);
	cursor: pointer;
	transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease, background 0.18s ease;
}

.mks-sat-lms-pwa-back:hover {
	transform: translateY(-1px);
	background: linear-gradient(135deg, #a24bff 0%, #8f31f4 52%, #741dd8 100%);
	box-shadow: 0 16px 34px rgba(130, 34, 238, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.22);
	filter: saturate(1.04);
}

.mks-sat-lms-pwa-back:active {
	transform: translateY(0);
	box-shadow: 0 10px 22px rgba(130, 34, 238, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.16);
}

.mks-sat-lms-pwa-back:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px rgba(130, 34, 238, 0.18), 0 16px 34px rgba(130, 34, 238, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.mks-sat-lms-pwa-back[hidden] {
	display: none !important;
}

.mks-sat-lms-pwa-back-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 15px;
	height: 15px;
	font-size: 16px;
	line-height: 1;
	transform: translateY(-1px);
}

.mks-sat-lms-pwa-toast {
	position: fixed;
	left: 50%;
	bottom: 82px;
	z-index: 9998;
	display: grid;
	gap: 6px;
	transform: translateX(-50%);
	width: min(calc(100vw - 24px), 360px);
	padding: 14px 16px;
	border: 1px solid rgba(109, 40, 217, 0.22);
	border-radius: 18px;
	background: rgba(15, 23, 42, 0.94);
	color: #f8fafc;
	box-shadow: 0 18px 44px rgba(15, 23, 42, 0.34);
}

.mks-sat-lms-pwa-toast[hidden] {
	display: none !important;
}

.mks-sat-lms-pwa-toast strong {
	font-size: 15px;
	line-height: 1.25;
}

.mks-sat-lms-pwa-toast p {
	margin: 0;
	font-size: 13px;
	line-height: 1.5;
	color: #e2e8f0;
}

.mks-sat-lms-pwa-toast-close {
	justify-self: end;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 999px;
	background: transparent;
	color: #ffffff;
	font-size: 16px;
	line-height: 1;
	cursor: pointer;
}

.mks-sat-lms-pwa-toast-close:hover {
	background: rgba(255, 255, 255, 0.08);
}
