/* Global Form Element Styles */
:root {
    /* Checkbox Teal Theme - Aliases for forms.css */
    --global-form-checkbox-border-color: var(--global-color-teal-checkbox-border);
    --global-form-checkbox-teal-checked-bg-color: var(--global-color-teal-checkbox);
    --global-form-checkbox-teal-checked-border-color: var(--global-color-teal-checkbox-border);
    --global-form-checkbox-teal-checked-icon-color: var(--global-color-white);
    --global-form-checkbox-teal-focus-border-color: var(--global-color-teal-checkbox-border);
    --global-form-checkbox-teal-disabled-opacity: var(--global-opacity-form-disabled);
    --global-form-checkbox-teal-disabled-checked-bg-color: var(--global-color-teal-checkbox-disabled-bg);
    --global-form-checkbox-teal-disabled-checked-border-color: var(--global-color-teal-checkbox-disabled-border);
    --global-form-checkbox-teal-indeterminate-bg-color: var(--global-color-teal-checkbox);
    --global-form-checkbox-teal-indeterminate-border-color: var(--global-color-teal-checkbox-border);
    --global-form-checkbox-teal-indeterminate-icon-color: var(--global-color-white);

    /* Local form variables */
    --forms-checkbox-size: 1.15rem;
}
/* --- Custom Checkboxes --- */
/* Provides a base style for custom checkboxes, using primary theme by default.
   Apply .teal-theme class for the teal variant. */

.custom-form-check-input {
    width: var(--forms-checkbox-size);
    height: var(--forms-checkbox-size);
    margin-top: 0.175em; /* Minor adjustment for vertical alignment with label */
    vertical-align: top;
    background-color: var(--global-color-white);
    border: var(--global-border-width) solid var(--global-border-color-dark-gray);
    border-radius: var(--global-form-checkbox-border-radius);
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    transition: background-color var(--global-transition-duration-normal) var(--global-transition-timing-function-ease-in-out),
                border-color var(--global-transition-duration-normal) var(--global-transition-timing-function-ease-in-out),
                box-shadow var(--global-transition-duration-normal) var(--global-transition-timing-function-ease-in-out);
    cursor: pointer;
}

/* Checked state - Primary Theme */
.form-check-input.custom-form-check-input:checked {
    background-color: var(--global-form-checkbox-teal-checked-bg-color);
    border-color: var(--global-form-checkbox-teal-checked-border-color);
    background-image: none;
    background-position: center;
    background-size: 65%; /* Adjust as needed for icon appearance */
}

/* Indeterminate state - Primary Theme */
.form-check-input.custom-form-check-input:indeterminate {
    background-color: var(--global-form-checkbox-teal-indeterminate-bg-color);
    border-color: var(--global-form-checkbox-teal-indeterminate-border-color);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 8h12'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 65%; /* Adjust as needed for icon appearance */
}

/* Focus state - Primary Theme */
.form-check-input.custom-form-check-input:focus {
    border-color: var(--global-form-checkbox-teal-focus-border-color);
    outline: 0;
    box-shadow: 0 0 0 0.25rem var(--global-color-teal-checkbox-focus-shadow-color);
}

/* Disabled state */
.custom-form-check-input:disabled {
    pointer-events: none;
    filter: none;
    opacity: var(--global-form-checkbox-teal-disabled-opacity);
}

.form-check-input.custom-form-check-input:disabled:checked,
.form-check-input.custom-form-check-input:disabled:indeterminate {
    background-color: var(--global-form-checkbox-teal-disabled-checked-bg-color);
    border-color: var(--global-form-checkbox-teal-disabled-checked-border-color);
}


/* Modern Form Styles */
  