/* Base reset so we can style it */
input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 16px;
    height: 16px;
    border: 2px solid #ccc;
    background: white;
    cursor: pointer;
    display: inline-block;
    position: relative;
    border-radius: 2px;
}

/* Black background + white checkmark when checked */
input[type="checkbox"]:checked {
    background: #444;
    border-color: #444;
}

input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    left: 4px;
    top: 0px;
    width: 4px;
    height: 8px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

/* Disabled state */
input[type="checkbox"][disabled] {
    opacity: 1;
    cursor: not-allowed;
}

input[type="checkbox"][disabled]:checked {
    background: #444;
    border-color: #444;
}

input[type="checkbox"][disabled]:checked::after {
    border-color: white;
}