/**
 * App-wide fix: theme .form-check hides label-nested inputs (expects .input-helper).
 * Native Bootstrap checkboxes/radios stay visible and aligned; theme toggles unchanged.
 */
.form-check,
.modal .form-check {
    padding-left: 0 !important;
}

/* --- Native inputs inside label (no .input-helper sibling) --- */
.form-check .form-check-label > input[type="checkbox"]:not(:has(+ .input-helper)),
.form-check .form-check-label > input[type="radio"]:not(:has(+ .input-helper)),
.modal .form-check .form-check-label > input[type="checkbox"]:not(:has(+ .input-helper)),
.modal .form-check .form-check-label > input[type="radio"]:not(:has(+ .input-helper)),
.form-check .form-check-label input[type="checkbox"]:not(:has(+ .input-helper)),
.form-check .form-check-label input[type="radio"]:not(:has(+ .input-helper)) {
    position: static !important;
    opacity: 1 !important;
    filter: none !important;
    float: none !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    margin: 0 0.45rem 0 0 !important;
    width: 1rem !important;
    height: 1rem !important;
    min-width: 1rem !important;
    min-height: 1rem !important;
    flex-shrink: 0 !important;
    cursor: pointer;
    z-index: auto !important;
    -webkit-appearance: auto !important;
    appearance: auto !important;
}

.form-check .form-check-label:has(> input[type="checkbox"]:not(:has(+ .input-helper))),
.form-check .form-check-label:has(> input[type="radio"]:not(:has(+ .input-helper))),
.form-check .form-check-label:has(input[type="checkbox"]:not(:has(+ .input-helper))),
.form-check .form-check-label:has(input[type="radio"]:not(:has(+ .input-helper))),
.modal .form-check .form-check-label:has(> input[type="checkbox"]:not(:has(+ .input-helper))),
.modal .form-check .form-check-label:has(> input[type="radio"]:not(:has(+ .input-helper))) {
    display: inline-flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 0.35rem !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    cursor: pointer;
    line-height: 1.35 !important;
}

.form-check .form-check-label.ml-3,
.form-check .form-check-label.ml-4 {
    margin-left: 0 !important;
}

.form-check .form-check-label.d-inline,
label.form-check-label.d-inline {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.35rem !important;
}

.form-check .form-check-label input.form-check-input,
label.form-check-label input.form-check-input {
    position: static !important;
    opacity: 1 !important;
    margin: 0 0.45rem 0 0 !important;
    flex-shrink: 0 !important;
}

.form-check.form-check-inline,
.form-check-inline,
.form-check.role-permission-item,
.form-check.w-fit-content {
    display: inline-flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 0.35rem !important;
    margin-right: 1rem;
    padding-left: 0 !important;
}

/* Bootstrap: input sibling before label */
.form-check > .form-check-input[type="checkbox"],
.form-check > .form-check-input[type="radio"] {
    position: static !important;
    opacity: 1 !important;
    float: none !important;
    margin: 0.15rem 0.4rem 0 0 !important;
    flex-shrink: 0;
    width: 1rem !important;
    height: 1rem !important;
    cursor: pointer;
}

.form-check:has(> .form-check-input) {
    display: flex !important;
    align-items: flex-start !important;
    flex-wrap: nowrap !important;
    gap: 0.4rem !important;
    padding-left: 0 !important;
}

.form-check:has(> .form-check-input) > .form-check-label {
    margin: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    display: block !important;
}

.role-permissions-form .form-check.role-permission-item {
    align-items: flex-start !important;
}

/* --- Theme custom toggles (.input-helper) — keep original behavior --- */
.form-check .form-check-label > input:has(+ .input-helper) {
    position: absolute !important;
    opacity: 0 !important;
    margin: 0 !important;
    width: 18px !important;
    height: 18px !important;
    left: 0 !important;
    top: 0 !important;
}

.form-check .form-check-label:has(> input:has(+ .input-helper)) {
    display: block !important;
    margin-left: 1.75rem !important;
    padding-left: 0 !important;
}

.form-check .form-check-label:has(> input:has(+ .input-helper)) input[type="checkbox"],
.form-check .form-check-label:has(> input:has(+ .input-helper)) input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    margin: 0 !important;
    width: 18px !important;
    height: 18px !important;
}

.rtl .form-check .form-check-label:has(> input:has(+ .input-helper)) {
    margin-left: 0 !important;
    margin-right: 1.75rem !important;
}

.rtl .form-check .form-check-label > input[type="checkbox"]:not(:has(+ .input-helper)),
.rtl .form-check .form-check-label > input[type="radio"]:not(:has(+ .input-helper)),
.rtl .form-check .form-check-label input[type="checkbox"]:not(:has(+ .input-helper)),
.rtl .form-check .form-check-label input[type="radio"]:not(:has(+ .input-helper)) {
    margin: 0 0 0 0.45rem !important;
}

.rtl .form-check:has(> .form-check-input) > .form-check-input {
    margin: 0.15rem 0 0 0.4rem !important;
}
