.custom-checkbox input[type="checkbox"] {
position: absolute;
opacity: 0;
width: 0;
height: 0;
}

.custom-checkbox label {
position: relative;
padding-top: 30px;
padding-left: 35px;
cursor: pointer;
display: inline-block;
line-height: 25px;
user-select: none;
}

.custom-checkbox label::before {
content: "";
position: absolute;
left: 0;
top: 30px;
width: 25px;
height: 25px;
border: 2px solid #3498db;
border-radius: 4px;
background-color: transparent;
transition: all 0.25s ease;
box-sizing: border-box;
}

.custom-checkbox input[type="checkbox"]:checked + label::before {
background-color: #3498db;
}

.custom-checkbox input[type="checkbox"]:checked + label::after {
content: "";
position: absolute;
left: 9px;
top: 5px;
width: 7px;
height: 12px;
border: solid white;
border-width: 0 3px 3px 0;
transform: rotate(45deg);
transition: all 0.2s ease;
}

.custom-checkbox input[type="checkbox"]:focus + label::before {
box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.3);
}

.custom-checkbox input[type="checkbox"]:hover + label::before {
border-color: #2980b9;
}

.custom-checkbox input[type="checkbox"]:disabled + label {
opacity: 0.6;
cursor: not-allowed;
}

.custom-checkbox input[type="checkbox"]:disabled + label::before {
border-color: #bdc3c7;
background-color: #ecf0f1;
}

.custom-checkbox label::before {
/* Предыдущие стили */
transform-origin: center;
transform: scale(1);
}

.custom-checkbox input[type="checkbox"]:checked + label::before {
/* Предыдущие стили */
animation: pulse 0.3s;
}

@keyframes pulse {
0% { transform: scale(1); }
50% { transform: scale(1.1); }
100% { transform: scale(1); }
}

.custom-checkbox input[type="checkbox"] + label::after {
content: "";
position: absolute;
left: 9px;
top: 5px;
width: 7px;
height: 12px;
border: solid transparent;
border-width: 0 3px 3px 0;
transform: rotate(45deg) scale(0);
transition: all 0.2s ease;
}

.custom-checkbox input[type="checkbox"]:checked + label::after {
border-color: white;
transform: rotate(45deg) scale(1);
transition-delay: 0.1s;
}

