.input-container
{
	width: 100%;
	margin-bottom: 5px;
}

.input-container label:not(.inline-label,.hidden)
{
	display: inline-block;
}

.input-container:has(input.has-action-icon)
{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	row-gap: 0;
}

.input-container:has(input.has-action-icon) label
{
	flex: 0 0 100%;
}

.input-container input:not([type="radio"],[type="checkbox"],.has-action-icon)
{
	height: 28px;
	width: 100%;
	box-sizing: border-box;
}

.input-container input.has-action-icon
{
	flex: 1 1 auto;
	width: auto;
	box-sizing: border-box;
}

.input-container input.has-action-icon + i
{
	flex: 0 0 auto;
	line-height: 28px;
	height: 28px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	cursor: pointer;
}

.input-container select
{
	width: 100%;
	box-sizing: border-box;
}

.input-container textarea
{
	width: 100%;
	box-sizing: border-box;
}

.input-container input[type="radio"]
{
	float: left;
	margin: 0px;
}

.radio-label, input[type="radio"]
{
	float: left;
	padding-left: 5px;
	line-height: 28px;
	height: 28px;
	vertical-align: middle;
}

.flex input[type="radio"]
{
	height: 21px;
}

textarea
{
	border-radius: 4px;
	border: 1px solid #ccc;
}

textarea.resize-none
{
	resize: none;
}

input:not([type="checkbox"])
{
	height: 28px;
	border-radius: 4px;
	border: 1px solid #ccc;
}

table input[type="checkbox"]
{
	box-sizing: border-box;
	width: 22px;
	height: 22px;
	margin: 2px;
	padding: 0;
	border: 2px solid var(--checkbox-border-color);
}

.large-field-space
{
	width: 100%;
	height: 104px;
}

input[readonly]
{
	background-color: #f0f0f0;
	border: 1px solid #ccc;
}

.checkbox-large
{
	align-items: center; 
	display: inline-flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
	padding: 6px 0;
}

/* Hide native checkbox */
.checkbox-large > input[type="checkbox"]
{
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

/* Visual checkbox box */
.checkbox-large .checkbox-box
{
	width: 24px;
	height: 24px;
	border-radius: 4px;
	border: 2px solid #676a6e;
	box-sizing: border-box;
	position: relative;   /* required for absolute checkmark */
	flex-shrink: 0;       /* stops layout jump */
	display: inline-flex;        /* <-- add this */
	align-items: center;         /* <-- and this */
	justify-content: center; 
}

/* The ✓ */
.checkbox-large .checkbox-box::after
{
	content: "✓";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: none;
	font-size: 18px;
	color: #ffffff;
	line-height: 1;
}

/* Checked state */
.checkbox-large > input[type="checkbox"]:checked + .checkbox-box
{
	background-color: #eb1e26;
	border-color: #eb1e26; /* SAME border width, prevents jump */
}

.checkbox-large > input[type="checkbox"]:checked + .checkbox-box::after
{
	display: block;
}

.checkbox-large .checkbox-label
{
	display: inline-flex;
	align-items: center;
	position: relative;
	top: -5px;
}
