/* --- Report Specific Styles --- */
.report-content {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    align-items: center; /* Center chart horizontally */
}

.chart-container {
    position: relative;
    width: 100%;
    max-width: 950px; /* Adjusted for better proportions */
    height: 450px; /* Set a fixed height for the canvas */
}

.message.info {
    color: #007bff; /* Blue for info messages */
}

.report-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 1rem;
}

.report-table th, .report-table td {
    padding: 0.4rem 1rem;
    text-align: left;
    vertical-align: middle;
    border-bottom: 1px solid var(--border-color);
}

.report-table thead th {
    background-color: var(--background-secondary);
    font-weight: 600;
    color: var(--text-secondary);
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    border-top: 1px solid var(--border-color);
    border-bottom: 2px solid var(--border-color);
}

.report-table tbody tr:hover {
    background-color: var(--background-secondary);
}

/* Right-align all numeric columns for better readability */
.report-table td:not(:first-child) {
    text-align: right;
}

/* Toggle cell (first column on Potential Weekly Gains) shouldn't be right-aligned. */
.report-table td.toggle-cell {
    text-align: center;
    width: 2.5rem;
}

/* When the user excludes a row from the Potential Weekly Gains total, dim it
   and strike through the row so the exclusion is visually obvious. */
.report-table tbody tr.row-excluded td {
    text-decoration: line-through;
    opacity: 0.45;
}
.report-table tbody tr.row-excluded td.toggle-cell {
    text-decoration: none;
    opacity: 1;
}

/* Styles for the nested weekly income details table */
.detail-table {
    width: 98%; /* Slightly inset for visual separation */
    margin: 0.5rem auto;
    border-collapse: collapse;
}
.detail-table th, .detail-table td {
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--border-color);
    vertical-align: middle;
    font-size: 0.8rem;
}
.detail-table td:last-child, .detail-table th:last-child {
    text-align: right;
}