.expensesTable {
    padding-left: 20px;
    padding-right: 20px;
}

.expensesTable,
.expensesTable td {
    border: 1px solid gray;
    border-collapse: collapse;
}

.expensesTable thead {
    font-weight: bold;
}

.expensesTable td {
    padding-left: 10px;
    padding-right: 10px;
}

.analysisTable {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 8pt;
}

.analysisTable,
.analysisTable td {
    border-collapse: collapse;
    padding-left: 7px;
    padding-right: 7px;
    padding-top: 2px;
    padding-bottom: 2px;
}

.headerRow {
    font-weight: bold;
    background-color: lightblue;
}

.compositeRow {
    font-weight: bold;
    background-color: lightblue;
}

.totalCell {
    font-weight: bold;
    background-color: lightblue;
}

.numCell {
    text-align: right;
    font-size: 8pt;
    font-family: monospace;
}

.overBudget {
    background-color: lightpink;
}

.headerRow > td:not(.categoryHeader) {
    text-align: right;
}

.badCategory {
    color: red;
    font-weight: bold;
}

.negativeExpense {
    color: green;
    font-weight: bold;
}

.amountCell {
    text-align: right;
}

.nextPrevLink {
    display: inline-block;
    vertical-align: middle;
}