.cf-chart{--chart-capital:#4167c6;--chart-interest:#34a68a;--chart-late:#e77755;--chart-fees:#a37acc;min-width:0;position:relative}
.latest-totals{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px;align-items:baseline}.latest-totals strong{display:block;font-size:1.1rem}.latest-totals>div:first-child strong{font-size:1.5rem}.latest-totals>div:last-child{text-align:right}.latest-totals small{display:block;font-size:.7rem;margin-top:5px}.latest-composition{height:11px;display:flex;background:var(--line);border-radius:7px;overflow:hidden}.latest-composition>span{height:100%;border-right:1px solid var(--surface)}.latest-composition>span:hover{filter:brightness(1.15)}.latest-legend{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0;font-size:.65rem}.latest-legend i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:3px}.latest-receipts{max-height:174px;overflow:auto;margin-top:16px;border-top:1px solid var(--line)}.latest-receipts>a{display:flex;gap:9px;align-items:center;padding:10px 2px;color:var(--ink);border-bottom:1px solid var(--line)}.latest-receipts>a:hover{background:var(--surface-alt)}.latest-person{flex:1;min-width:0}.latest-person strong{display:block;font-size:.7rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.latest-person small{display:block;font-size:.65rem;overflow-wrap:anywhere}.latest-amount{font-size:.75rem;font-weight:600;text-align:right}.latest-amount small{display:block;font-size:.65rem;margin-top:3px}
.cf-chart-legend{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 10px}
.cf-chart-legend button{display:inline-flex;gap:6px;align-items:center;border:1px solid var(--line);border-radius:20px;background:var(--surface);color:var(--ink);padding:6px 9px;font-size:.75rem;line-height:1.3;transition:background .16s,opacity .16s;min-height:30px}
.cf-chart-legend button:hover{background:var(--surface-alt)}.cf-chart-legend button[aria-pressed=false]{opacity:.55;text-decoration:line-through}.cf-chart-legend i,.cf-tip-dot{display:inline-block;flex-shrink:0;width:8px;height:8px;border-radius:50%;background:var(--series-color)}
.cf-chart-plot{height:228px;position:relative;touch-action:pan-y;border-radius:8px;cursor:crosshair}.cf-chart-plot:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.cf-chart-plot svg{display:block;width:100%;height:100%;overflow:visible}
.cf-chart-grid{stroke:var(--line);stroke-dasharray:3 5;stroke-width:1;vector-effect:non-scaling-stroke}.cf-chart-axis{fill:var(--muted);font-size:12px;font-family:inherit}.cf-chart-zero{stroke:var(--muted);stroke-opacity:.35;vector-effect:non-scaling-stroke}
.cf-chart-line{fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.cf-chart-area{opacity:.09}.cf-chart-crosshair{stroke:var(--muted);stroke-dasharray:4 4;stroke-opacity:.65;vector-effect:non-scaling-stroke}.cf-chart-point{stroke:var(--surface);stroke-width:2;vector-effect:non-scaling-stroke}.cf-chart-focus{pointer-events:none}.cf-chart-focus[hidden]{display:none}
.cf-chart-date rect{fill:var(--surface-alt);stroke:var(--line)}.cf-chart-date text{fill:var(--ink);font-size:12px;text-anchor:middle}
.cf-chart-help{display:block;margin:8px 0;color:var(--muted);font-size:.7rem;line-height:1.45}.cf-chart-empty{display:block;color:var(--muted);padding:6px 0;font-size:.75rem}
.cf-chart-tooltip{position:fixed;z-index:100;pointer-events:none;max-width:min(300px,calc(100vw - 16px));min-width:170px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 28px #12274726;font-size:.75rem;font-variant-numeric:tabular-nums;overflow:hidden}.cf-chart-tooltip[hidden]{display:none!important}.cf-chart-tooltip header{background:var(--surface-alt);padding:10px 12px;border-bottom:1px solid var(--line);font-weight:600}.cf-chart-tooltip ul{list-style:none;padding:5px 12px;margin:0}.cf-chart-tooltip li{display:flex;align-items:center;gap:8px;padding:7px 0}.cf-chart-tooltip li span:nth-child(2){overflow-wrap:anywhere}.cf-chart-tooltip li strong{margin-left:auto;padding-left:10px;white-space:nowrap}.cf-chart-tooltip footer{border-top:1px solid var(--line);padding:8px 12px;color:var(--muted);font-size:.7rem}
.cf-ring-plot{width:210px;height:210px;position:relative;margin:12px auto;max-width:100%;touch-action:pan-y}.cf-ring-plot svg{width:100%;height:100%;display:block;transform:rotate(-90deg)}.cf-ring-track{fill:none;stroke:var(--line);stroke-width:26}.cf-ring-segment{fill:none;stroke-width:26;transition:stroke-width .15s,opacity .15s;cursor:pointer}.cf-ring-segment.is-highlighted{stroke-width:33}.cf-ring-plot.is-highlighted .cf-ring-segment:not(.is-highlighted){opacity:.35}.cf-ring-center{position:absolute;inset:24%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;pointer-events:none}.cf-ring-center strong{font-size:1rem}.cf-ring-center small{font-size:.7rem}.cf-ring-legend{justify-content:center}.cf-ring-legend button[aria-pressed=false]{opacity:1;text-decoration:none}.cf-ring-legend button[aria-pressed=true]{background:var(--surface-alt);border-color:var(--muted)}
[data-chart-tip]{position:relative}[data-chart-tip]:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.collector-bar[data-chart-tip]:hover{background:var(--surface-alt);border-radius:6px}.loan-payment-bars>[data-chart-tip]:hover{background:var(--surface-alt);border-radius:6px}
:root[data-theme=dark] .cf-chart{--chart-capital:#8caafb;--chart-interest:#6dc9ad;--chart-late:#eea083;--chart-fees:#c4a1ec}:root[data-theme=dark] .cf-chart-tooltip{box-shadow:0 8px 28px #0006}:root[data-theme=dark] .cf-chart-area{opacity:.13}
@media(max-width:650px){.cf-chart-plot{height:215px}.cf-chart-help{font-size:.72rem}.cf-chart-legend button{padding:7px 9px}}
@media(prefers-reduced-motion:reduce){.cf-chart-legend button,.cf-ring-segment{transition:none}}
@media print{.cf-chart-tooltip,.cf-chart-help,.cf-chart-focus{display:none!important}.cf-chart-legend button{border:0;padding:2px}.cf-chart-plot{height:180px}.cf-ring-segment{opacity:1!important;stroke-width:26!important}}
