html, body {
	height: 100%;
}

* {
	margin: 0;
	padding: 0;
}

body {
	background: #ddd;
}

#page {
	background: #fff;
	width: 960px;
	margin: 0 auto;
	padding: 0 20px;
}


th.aktuell,
td.aktuell {
	background: #ddf;
	border-left: 1px solid #666;
	border-right: 1px solid #666;
}

th {
	font-size: 12px;
	font-weight: 500;
}
th small {
	font-size: 11px;
	font-weight: 200;
}

td.month {
	width: 46px;
	height: 34px;
	text-align: center;
}

th.left {
	text-align: left;
	width: 175px;
}

div.pay {
	display: inline-block;
	width: 36px;
	height: 24px;
	border: 1px solid #666;
	background: #fff;
	font-size: 9px;
	text-align: center;
	color: #000;
	line-height: 9px;
	vertical-align: middle;
}

div.pay.free {
	background: #ccc !important;
}

div.pay.good {
	background: #060;
}
div.pay.bad {
	background: #a00;
}
div.pay.tolate:after {
	content: "!";
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	position: relative;
	top: 7px;
}
div.pay.warn {
	background: #fa0;
}
div.pay.payed {
	border: 3px solid #0a0;
}
div.pay.away {
	border: 3px solid #666;
}
div.pay.away.payed {
	border-color: #0a0 #0a0;
}

.table th.number,
.table td.number {
	text-align: right;
}
.table td.number.green {
	color: #0a0;
}
.table td.number.red {
	color: #a00;
}

table tr.legende {
	height: 36px;	
}

.summary {
	margin: 10px 0 10px auto; 
	width: 250px; 
	background: #f0f0f0; 
	border: 1px solid #ccc; 
	padding: 15px;
}

.summary .vlabel {
	display: inline-block;
	width: 140px;
}
.summary .value {
	display: inline-block;
	text-align: right;
	width: 90px;
	font-weight: normal;
	font-family: monospace;
}
.summary hr {
	margin: 2px 0 5px 0;
	height: 1px;
	background: #666;
	border: 0 none;
}