.toggleBoxContainer {
	display: flex;
	gap: 4px;
	align-items: center;
	padding: 11px 16px;
}

.toggleBoxContainer .toggleBox {
	display: flex;
	align-items: center;
	padding: 0;
	height: 19px;
	border-radius: 9px;
	position: relative;
	border: 2px solid var(--mdc-theme-text-icon-on-background);
	background: transparent;
}

.toggleBoxContainer .toggleBox::before {
	content: '';
	background-color: transparent;
	border-radius: 20px;
	position: absolute;
	top: -12px;
	left: -13px;
	width: 56px;
	height: 40px;
	z-index: 0;
	transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
}

.toggleBoxContainer .toggleBox:has(input:focus):has(span.toggleStatus.toggletrue)::before,
.toggleBoxContainer .toggleBox:hover:has(span.toggleStatus.toggletrue)::before {
	opacity: 0.1;
	background-color: var(--mdc-theme-primary);
}

.toggleBoxContainer .toggleBox:has(input:focus)::before,
.toggleBoxContainer .toggleBox:hover::before {
	background-color: var(--mdc-theme-custom-background-light);
}

.toggleBoxContainer .toggleBox:has(input:disabled),
.toggleBoxContainer .toggleBox:has(input:disabled):hover,
.toggleBoxContainer .toggleBox:has(input:disabled):focus-visible {
	background: var(--mdc-theme-text-disabled-on-background);
	box-shadow: none;
}

.toggleBoxContainer .toggleBox:has(input:disabled) label,
.toggleBoxContainer .toggleBox:has(input:disabled):hover label,
.toggleBoxContainer .toggleBox:has(input:disabled):focus-visible label {
	box-shadow: none;
	cursor: default;
	font-size: 14px;
}

.toggleBoxContainer .toggleBox:has(input:disabled)::before {
	background-color: transparent;
}

.toggleBoxContainer input,
.toggleBoxContainer span.toggleStatus,
.toggleBoxContainer label {
	width: 15px;
	height: 15px;
	padding: 0;
	margin: 0;
	border-radius: 50%;
	display: block;
	flex: 0 0 auto;
}

.toggleBoxContainer input {
	z-index: 2;
	opacity: 0;
	cursor: pointer;
	color: transparent;
}

.toggleBoxContainer input[disabled] {
	cursor: default;
}

.toggleBox label,
.fieldContainer .toggleBox label {
	color: transparent;
	z-index: 1;
	box-shadow: 0 0 0 2px var(--mdc-theme-text-icon-on-background) inset;
	background: transparent;
	padding: 0;
	font-size: 14px;
}

.fieldContainer .toggleBox label,
.fieldContainer .toggleBox label:hover,
.fieldContainer .toggleBoxlabel:focus,
.fieldContainer:hover .toggleBox label {
	font-size: 14px;
	min-height: unset;
	opacity: .3;
}

.toggleBox label:has(input:checked),
.toggleBoxContainer label:has(input:checked:focus-visible) {
	box-shadow: none;
}

.toggleBox label:hover,
.toggleBox label:has(input:focus-visible) {
	box-shadow: 0 0 0 2px var(--mdc-theme-primary) inset;
	opacity: 1;
}

.toggleBox span.toggleStatus {
	position: absolute;
	top: 0;
	left: 0;
	transition: all 0.3s ease-in-out;
	z-index: 3;
}

.toggleBox span.toggleStatus.toggletrue {
	background: var(--mdc-theme-primary);
	left: 15px;
}

.toggleBox .toggleBox:has(input:disabled) span.toggleStatus.toggletrue {
	background: color-mix(in srgb, var(--mdc-theme-primary), var(--mdc-theme-background) 50%);
}

.toggleBox span.toggleStatus.togglefalse {
	background: var(--mdc-theme-text-disabled-opaque);
}

.toggleBox .toggleBox:has(input:disabled) span.toggleStatus.togglefalse {
	background: var(--mdc-theme-text-disabled-on-dark);
}

.toggleBox span.toggleStatus.toggleunset {
	display: none;
}

.toggleBoxContainer label.labelTextInline {
	width: auto;
	color: var(--mdc-theme-text-secondary-on-background);
	font-size: 14px;
}

.toggleBoxContainer:hover label.labelTextInline,
.toggleBoxContainer:focus label.labelTextInline,
.toggleBoxContainer label:hover.labelTextInline,
.fieldContainer:hover .toggleBoxContainer label.labelTextInline,
.fieldContainer:focus-within .toggleBoxContainer label.labelTextInline,
.fieldContainer .toggleBoxContainer label:hover.labelTextInline,
.fieldContainer .toggleBoxContainer label:focus.labelTextInline {
	color: var(--mdc-theme-text-secondary-on-background);
	font-size: 14px;
}
