table {
	margin-top: 3mm;
	border-collapse: collapse;
	width: calc(100% - 3mm);
	border: 1px solid gray;
	box-sizing: border-box;
	caption-side: bottom;
}
table sup {
	font-weight: normal;
	font-size: 75%;
}
caption {
	margin-top: 2mm;
}
thead, tbody {
	border-bottom: 1px solid gray;
	border-top: 1px solid gray;
}
th, td {
	text-align: center;
	padding: 1mm;
	padding-right: 3mm;
	padding-left: 3mm;
}
tr:not(:last-child) {
	border-bottom: 1px solid gainsboro;
}

form table, /*form tr:not(:last-child),*/ form thead, form tbody {
	border: none;
}

form tr {
	border-top: 1px solid gainsboro;
	border-bottom: 1px solid gainsboro;
}

form td {
	text-align: left;
}

form table {
	width: auto;
}
