tr:nth-child(odd) {
	background-color: #f8f8f8;
}

tr.have {
	background-color: #ff0;
}

tr.source {
	background-color: #afa;
}

tr.error, td.error, th.error {
	background-color: #f88 !important;
}

textarea {
	width: calc(100% - 4px);
	border: 1px solid #888;
	padding: 1px;
	margin: 1px;
}

div.controls, div.stats { display: inline-block; padding: 10px;
	vertical-align: top;
}

table.stats {
	border-collapse: collapse;
	width: 34em;
	border: 1px solid #888;
	padding: 1px;
	margin: 1px;
}

table.stats td {
	padding: 4px;
}

table.stats tr td:first-child {
	min-width: 10em;
	text-align: left;
}

.left {
	text-align: left;
}

.right {
	text-align: right;
}

.center {
	text-align: center !important;
}

table.stats tr td:nth-child(1n+2) {
	min-width: 6em;
	text-align: right;
}

span.tip {
	color: grey;
}

.fr {
	float: right;
}

.top {
	display: table-cell;
	vertical-align: top;
}

h1 {
	font-size: 28px;
	margin: 2px;
	padding: 1px;
}

button, select, input {
	border: 1px solid #ccc;
	border-radius: 4px;
	padding: 4px;
	margin: 1px;
	background-color: #e8e8a0;
}

button:focus, select:focus, input:focus {
	border: 1px solid #000;
}

input.count {
	width: 4em;
}