.checkbox-wrapper{display:flex;align-items:center;gap:10px;}

.checkbox-wrapper input {
  --active: var(--main-color);
  --active-inner: #fff;
  --focus: 2px rgba(39, 94, 254, .3);
  --border: var(--main-color);
  --border-hover: var(--main-color);
  --background: #fff;
  --disabled: #F6F8FF;
  --disabled-inner: #E1E6F9;
  -webkit-appearance: none;
  -moz-appearance: none;
  height: 20px;
  aspect-ratio:1/1;
  outline: none;
  display: inline-block;
  vertical-align: top;
  position: relative;
  margin: 0;
  cursor: pointer;
  border: 1px solid var(--bc, var(--border));
  background: var(--b, var(--background));
  transition: background 0.3s, border-color 0.3s, box-shadow 0.2s;
}
.checkbox-wrapper input:after {
  content: "";
  display: block;
  left: 0;
  top: 0;
  position: absolute;
  transition: transform var(--d-t, 0.3s) var(--d-t-e, ease), opacity var(--d-o, 0.2s);
}
.checkbox-wrapper input:checked {
  --b: var(--active);
  --bc: var(--active);
  --d-o: .3s;
  --d-t: .6s;
  --d-t-e: cubic-bezier(.2, .85, .32, 1.2);
}
.checkbox-wrapper input:disabled {
  --b: var(--disabled);
  cursor: not-allowed;
  opacity: 0.9;
  border-color:#ddd;
}
.checkbox-wrapper input:disabled:checked {
  --b: var(--disabled-inner);
  --bc: var(--border);
}
.checkbox-wrapper input:disabled + label {
  cursor: not-allowed;
}
.checkbox-wrapper input:hover:not(:checked):not(:disabled) {
  --bc: var(--border-hover);
}
/* .checkbox-wrapper input:focus {
  box-shadow: 0 0 0 var(--focus);
} */
.checkbox-wrapper input:not(.switch) {
  width: 21px;
}
.checkbox-wrapper input:not(.switch):after {
  opacity: var(--o, 0);
}
.checkbox-wrapper input:not(.switch):checked {
  --o: 1;
}
.checkbox-wrapper input + label {
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
}

.checkbox-wrapper input:not(.switch) {
  border-radius: 7px;
}
.checkbox-wrapper input:not(.switch):after {
  width: 5px;
  height: 10px;
  border: 2px solid var(--active-inner);
  border-top: 0;
  border-left: 0;
  left: 7px;
  top: 2px;
  transform: rotate(var(--r, 20deg));
}
.checkbox-wrapper input:not(.switch):checked {
  --r: 43deg;
}

.checkbox-wrapper * {
	box-sizing: inherit;
}
.checkbox-wrapper *:before,
.checkbox-wrapper *:after {
	box-sizing: inherit;
}