/* RIZOLL_PNL_MONTHLY_COMPARISON_V2: compact sales-summary pattern, scoped to P&L. */
.finance-main:has(.pnl-annual), .finance-content:has(.pnl-annual) { min-width: 0; }
.pnl-annual {
    --pnl-good: #74d69a;
    --pnl-bad: #ff8992;
    --pnl-fair: #f4b85f;
    --pnl-line: #3c4e5e;
    --pnl-surface: #1e2c3a;
    --pnl-section: #293e50;
    --pnl-group: #253545;
    width: 100%; max-width: 100%; min-width: 0; color: #e5edf5;
    font-variant-numeric: tabular-nums; container-type: inline-size; container-name: pnl-summary;
}
.pnl-annual-toolbar, .pnl-annual-period, .pnl-annual-actions, .pnl-annual-caption, .pnl-annual-legend, .pnl-annual-months {
    display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
}
.pnl-annual-toolbar { justify-content: space-between; margin-bottom: 10px; }
.pnl-annual-period label { display: flex; align-items: center; gap: 8px; color: var(--text-secondary); font-size: 13px; }
.pnl-annual-period input { padding: 7px 8px; border: 1px solid var(--pnl-line); border-radius: 7px; background: var(--pnl-surface); color: #e5edf5; font: inherit; width: 86px; min-height: 34px; }
.pnl-annual-months { gap: 5px; margin: 10px 0 16px; }
.pnl-annual-month { display: inline-flex; align-items: center; gap: 5px; padding: 5px 8px; border: 1px solid var(--pnl-line); border-radius: 6px; color: #b9cad9; background: var(--pnl-surface); cursor: pointer; font-size: 12px; }
.pnl-annual-month:has(input:checked) { background: #29455c; color: #e5f2ff; border-color: #5486ad; }
.pnl-annual-month input { margin: 0; accent-color: #5eb5f7; }
.pnl-annual-month-disabled { opacity: .45; cursor: default; }
.pnl-annual-caption { justify-content: space-between; margin: 12px 0; }
.pnl-annual-caption strong { font-size: 17px; }
.pnl-annual-caption > span { font-size: 12px; color: #a6b6c6; }
.pnl-annual-overview { border: 1px solid var(--pnl-line); border-radius: 9px; background: var(--pnl-surface); padding: 12px 14px; margin: 12px 0; font-size: 13px; }
.pnl-annual-overview-title { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px; }
.pnl-annual-overview-title > span { font-size: 12px; color: #b3c3d1; }
.pnl-annual-overview-title > strong { font-size: 16px; }
.pnl-annual-overview-title small { font-size: 12px; white-space: nowrap; }
.pnl-annual-driver-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 20px; margin-top: 12px; }
.pnl-annual-drivers { display: grid; gap: 6px; min-width: 0; font-size: 12px; }
.pnl-annual-drivers > span { display: flex; justify-content: space-between; gap: 12px; overflow-wrap: anywhere; }
.pnl-annual-drivers strong { white-space: nowrap; }
.pnl-annual-overview p { color: #9aafc0; font-size: 11px; margin: 10px 0 0; }
.pnl-annual-legend { gap: 5px 12px; margin: 12px 0; font-size: 12px; line-height: 1.5; color: #a6b6c6; }
.pnl-annual-scroll {
    width: 100%; max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain;
    border: 1px solid var(--pnl-line); border-radius: 8px; background: var(--pnl-surface); isolation: isolate;
}
.pnl-annual-table { width: 100%; table-layout: auto; border-collapse: separate; border-spacing: 0; font-size: 13px; line-height: 1.3; }
.pnl-annual-label-col { width: 180px; }
.pnl-annual-total-col { width: 100px; }
.pnl-annual-trend-col { width: 88px; }
.pnl-annual-table caption { text-align: left; padding: 9px 12px; font-size: 11px; color: #a6b6c6; }
.pnl-annual-table th, .pnl-annual-table td {
    box-sizing: border-box; padding: 8px 6px; border-right: 1px solid var(--pnl-line); border-bottom: 1px solid var(--pnl-line);
    text-align: right; vertical-align: middle; white-space: nowrap;
}
.pnl-annual-table thead th { background: #172938; color: #c0cfdd; font-size: 12px; font-weight: 650; }
.pnl-annual-table thead th:first-child { position: sticky; left: 0; z-index: 3; text-align: left; min-width: 165px; }
.pnl-annual-table thead small { display: block; color: #97adbf; font-weight: 400; margin-top: 3px; font-size: 10px; }
.pnl-annual-table thead button { background: none; border: 0; padding: 0; color: inherit; font: inherit; font-weight: 700; cursor: pointer; text-decoration: underline; text-decoration-color: #647b91; text-underline-offset: 4px; }
.pnl-annual-table .pnl-annual-label { position: sticky; left: 0; z-index: 2; min-width: 165px; max-width: 215px; background: var(--pnl-surface); white-space: normal; overflow-wrap: anywhere; text-align: left; font-size: 12px; font-weight: 500; padding-left: calc(9px + var(--pnl-depth, 0) * 10px); box-shadow: 1px 0 var(--pnl-line); }
.pnl-annual-label > small { display: block; color: #99aebf; font-size: 10px; font-weight: 400; margin-top: 3px; }
.pnl-annual-toggle { display: flex; align-items: baseline; gap: 5px; background: none; border: 0; padding: 0; color: inherit; font: inherit; text-align: left; font-weight: inherit; cursor: pointer; width: 100%; }
.pnl-annual-toggle > span { color: #a6cdef; flex-shrink: 0; width: 9px; }
.pnl-annual button:focus-visible, .pnl-annual-scroll:focus-visible, .pnl-annual input:focus-visible { outline: 2px solid #60a5fa; outline-offset: -2px; }
.pnl-annual-row-section > *, .pnl-annual-row-section .pnl-annual-label { background: var(--pnl-section); font-weight: 750; border-top: 1px solid #7190a9; }
.pnl-annual-row-group > *, .pnl-annual-row-group .pnl-annual-label { background: var(--pnl-group); font-weight: 650; }
.pnl-annual-row-result > *, .pnl-annual-row-result .pnl-annual-label { background: #203b40; font-weight: 700; }
.pnl-annual-row-net > *, .pnl-annual-row-net .pnl-annual-label { background: #3d392b; font-weight: 750; border-top: 2px solid #8d7d49; border-bottom: 2px solid #8d7d49; }
.pnl-annual-row-ratio > *, .pnl-annual-row-ratio .pnl-annual-label { font-size: 12px; color: #b4c9dc; }
.pnl-annual-table .pnl-annual-total { font-weight: 750; border-left: 1px solid #71889c; background: #223444; }
.pnl-annual-value { display: block; }
.pnl-annual-table .pnl-annual-cell-good { color: var(--pnl-good); background: rgba(116,214,154,.07); }
.pnl-annual-table .pnl-annual-cell-bad { color: var(--pnl-bad); background: rgba(255,137,146,.07); }
.pnl-annual-table .pnl-annual-cell-fair { color: var(--pnl-fair); background: rgba(244,184,95,.045); }
.pnl-annual-table .pnl-annual-cell-neutral { color: #d3deea; }
.pnl-annual .pnl-annual-good { color: var(--pnl-good); }
.pnl-annual .pnl-annual-bad, .pnl-annual .pnl-annual-negative { color: var(--pnl-bad); }
.pnl-annual .pnl-annual-fair { color: var(--pnl-fair); }
.pnl-annual .pnl-annual-neutral { color: #a6b6c6; }
.pnl-annual-delta { display: block; margin-top: 3px; font-size: 10px; font-weight: 500; }
.pnl-annual-table .pnl-annual-chart { padding: 4px 6px; text-align: center; }
.pnl-annual-trend-heading { text-align: center!important; }
.pnl-annual-spark { width: 76px; height: 28px; display: block; margin: auto; overflow: hidden; }
.pnl-annual-spark-line { stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; }
.pnl-annual-spark-dot { fill: currentColor; }
.pnl-annual-change { display: block; margin-top: 3px; text-align: center; font-size: 10px; font-weight: 650; }
.pnl-annual-row:hover > * { box-shadow: inset 0 0 0 999px rgba(150,190,220,.035); }
.pnl-annual-row:hover .pnl-annual-label { background: #2c4152; }
.pnl-annual-footnote { font-size: 11px; line-height: 1.5; color: #a6b6c6; margin: 12px 0; }
.pnl-annual-message { padding: 38px 16px; text-align: center; color: #a6b6c6; }
@container pnl-summary (max-width: 650px) {
    .pnl-annual-driver-grid { grid-template-columns: minmax(0,1fr); gap: 14px; }
    .pnl-annual-overview-title { display: grid; }
    .pnl-annual-table .pnl-annual-label, .pnl-annual-table thead th:first-child { min-width: 135px; max-width: 170px; }
    .pnl-annual-actions .btn, .pnl-annual-period .btn { font-size: 12px; padding: 7px 8px; }
}
