kv-params * {
	box-sizing: border-box;
}

kv-params select {
	max-width: 12rem;
}

kv-params label>span {
	display: block;
	font-weight: bolder;
	font-size: smaller;
	padding: var(--padding);
}

kv-params input,
kv-params select,
kv-params textarea {
	border: thin solid;
	padding: var(--padding);
}

kv-params input[type="number"] {
	max-width: 5rem;
}

kv-params table {
	width: 100%;
	border-collapse: collapse;
}

kv-params thead {
	position: sticky;
	top: 0;
}

kv-params thead tr {
	background-color: Canvas;
}

kv-params th {
	padding: var(--padding);
}

kv-params tbody.kv-params {
	counter-reset: row;
}

kv-params tbody.kv-params tr>td:first-child {
	white-space: nowrap;
}

kv-params tbody.kv-params tr>td:first-child:not([colspan])::before {
	display: inline-block;
	font-family: monospace;
	counter-increment: row;
	content: counter(row, decimal) ". ";
	width: 4ch;
}

kv-params td {
	padding: var(--padding);
	vertical-align: middle;
}

kv-params td>span {
	float: right;
	padding-right: 1rem;
	font-size: smaller;
}

kv-params thead i:not(.set) {
	color: CanvasText;
}

kv-params tr:not(.selected) i.set {
	color: Highlight;
}

kv-params tr {
	line-height: 1.75rem;;
}

kv-params tbody.kv-params tr {
	border-top: thin solid GrayText;
	border-bottom: thin solid GrayText;
}
kv-params tbody.kv-params tr.colspan {
	border-bottom: thin solid ButtonText;
	font-weight: bolder;
}

kv-params tbody.kv-params tr:hover:not(.colspan) {
	background-color: ButtonFace;
	color: ButtonText;
}

kv-params tr:not(.colspan).selected input,
kv-params tr:not(.colspan).selected select,
kv-params tr:not(.colspan).selected textarea,
kv-params tr:not(.colspan).selected {
	background-color: Highlight !important;
	color: HighlightText !important;
}

kv-params textarea {
	padding: var(--padding);
	width: -webkit-fill-available;
}

kv-params :invalid {
	border-color: var(--error-color);
}

kv-params .fas,
kv-params .far {
	padding: var(--padding);
}

kv-params td.range {
	font-size: smaller;
	font-family: monospace;
	white-space: nowrap;
	text-align: right;
}

kv-params .deselected {
	opacity: 0.4;
}

kv-params dialog button {
	min-width: 5rem;
	padding: var(--padding);
	margin-top: 0.5rem;
}

kv-params dialog span {
	display: inherit;
}

kv-params dialog fieldset {
	display: inherit;
	margin: var(--margin) 0;
}

kv-params .hide {
	display: none;
}

xkv-params [disabled] {
	color: FieldText;
}
