@layer shared{.checkbox-or-radio{display:flex;align-items:center;gap:var(--spacing-2xs);position:relative;--size:24px;--checkmark-size:16px;--radio-dot-size:10px;--bg-color:var(--background-secondary);--border-color:var(--border-tertiary);--border-radius:var(--border-radius-xs)}.checkbox-or-radio.size-s{--size:16px;--checkmark-size:12px;--radio-dot-size:6px;--border-radius:var(--border-radius-2xs)}.checkbox-or-radio.size-l{--size:32px;--checkmark-size:24px;--radio-dot-size:14px;--border-radius:var(--border-radius-sm)}.checkbox-or-radio:has(>[type=radio]){--border-radius:var(--border-radius-round)}.checkbox-or-radio__input{display:block;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:var(--size);height:var(--size);border:1px solid var(--border-highlight,var(--border-color));border-radius:var(--border-radius);background:var(--bg-highlight,var(--bg-color));margin:0}.checkbox-or-radio__input:not(:disabled){cursor:pointer}@media(hover){.checkbox-or-radio__input:not(:disabled):hover{--bg-highlight:var(--background-secondary-hover)}.checkbox-or-radio__input:not(:disabled):active{--bg-highlight:var(--background-secondary-active)}}.checkbox-or-radio__input:checked{--border-highlight:var(--border-success);--bg-highlight:var(--background-input-success)}.checkbox-or-radio__input.has-errors{--border-highlight:var(--border-error);--bg-highlight:var(--background-input-error)}.checkbox-or-radio__input:disabled{--border-highlight:var(--background-disabled);--bg-highlight:var(--background-disabled)}.checkbox-or-radio__checkmark,.checkbox-or-radio__dot{--icon-size:var(--checkmark-size);--icon-fill:var(--background-icon-primary);display:none}:checked+.checkbox-or-radio__checkmark,:checked+.checkbox-or-radio__dot{display:block;position:absolute;left:calc((var(--size) - var(--icon-size))/2);width:var(--icon-size);aspect-ratio:1;fill:var(--icon-fill);pointer-events:none}:disabled+.checkbox-or-radio__checkmark,:disabled+.checkbox-or-radio__dot{--icon-fill:var(--background-icon-disabled)}.checkbox-or-radio__dot{--icon-size:var(--radio-dot-size);background-color:var(--icon-fill);border-radius:var(--border-radius-round)}}