/* Neutral checkbox shared across ASKDAT, independent of the tenant palette. */
input[type="checkbox"] {
    appearance: none;
    box-sizing: border-box;
    width: 20px;
    height: 20px;
    min-width: 20px;
    max-width: 20px;
    flex: 0 0 auto;
    position: static;
    vertical-align: middle;
    margin: 0 4px 0 0;
    padding: 0;
    border: 1.5px solid #a3a3a3;
    border-radius: 3px;
    background-color: #ffffff !important;
    background-image: none;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 18px 18px;
    box-shadow: none;
    cursor: pointer;
    transition: border-color 120ms ease;
}

input[type="checkbox"]:hover:not(:disabled):not(:checked):not(:indeterminate) {
    border-color: #333333;
}

input[type="checkbox"]:checked {
    border-color: #111111;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4.5 10l3.7 3.7L15.5 6.5' fill='none' stroke='%23111111' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

input[type="checkbox"]:indeterminate {
    border-color: #111111;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10h10' fill='none' stroke='%23111111' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}

input[type="checkbox"]:focus-visible {
    outline: 2px solid #111111;
    outline-offset: 3px;
}

input[type="checkbox"]:disabled {
    opacity: 0.45;
    cursor: default;
}

/* Native indicators stay legible in system high-contrast modes. */
@media (forced-colors: active) {
    input[type="checkbox"],
    input[type="checkbox"]:checked,
    input[type="checkbox"]:indeterminate {
        appearance: auto;
        background-image: none;
        background-color: Canvas !important;
        border-color: ButtonText;
    }
}
