/* Shared visual treatment; retain native checkbox semantics and keyboard behavior. */
body input[type="checkbox"]:not(.btn-check) {
    appearance: none !important;
    -webkit-appearance: none !important;
    position: relative;
    display: inline-block;
    box-sizing: border-box;
    width: 42px !important;
    min-width: 42px;
    height: 26px !important;
    flex: 0 0 42px !important;
    border: 1px solid transparent !important;
    border-radius: 999px !important;
    background: #8e8e93 !important;
    vertical-align: middle;
    cursor: pointer;
    transition: background-color 180ms ease;
}
body input[type="checkbox"]:not(.btn-check)::after {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px #0004;
    transform: translateX(0);
    transition: transform 180ms ease;
}
body input[type="checkbox"]:not(.btn-check):checked { background: #248a3d !important; }
body input[type="checkbox"]:not(.btn-check):checked::after { transform: translateX(16px); }
body input[type="checkbox"]:not(.btn-check):indeterminate { background: #007aff !important; }
body input[type="checkbox"]:not(.btn-check):indeterminate::after { transform: translateX(8px); }
body input[type="checkbox"]:not(.btn-check):focus-visible { outline: 3px solid #007aff; outline-offset: 3px; }
body input[type="checkbox"]:not(.btn-check):disabled { opacity: .5; cursor: not-allowed; }
body input[type="checkbox"]:not(.btn-check)[hidden] { display: none !important; }
body .form-check:has(> input[type="checkbox"]:not(.btn-check)) { padding-left: 3.25rem; min-height: 30px; }
body .form-check > input[type="checkbox"]:not(.btn-check) { margin-left: -3.25rem; margin-top: 0; }
body label > input[type="checkbox"]:not(.btn-check) { margin-right: .5rem; }
@media (prefers-reduced-motion: reduce) {
    body input[type="checkbox"]:not(.btn-check), body input[type="checkbox"]:not(.btn-check)::after { transition: none; }
}
@media (forced-colors: active) {
    body input[type="checkbox"]:not(.btn-check) {
        appearance: auto !important;
        -webkit-appearance: auto !important;
        background: initial !important;
        border: initial !important;
    }
    body input[type="checkbox"]:not(.btn-check)::after { display: none; }
}
