/* Shared dashboard charts: presentation only, never recompute data. */
:root{--chart-blue:#2d47b2;--chart-pink:#db2353;--chart-grid:#e8ecf7}
.harvyo-chart-tooltip{position:fixed;z-index:10050;box-sizing:border-box;max-width:min(320px,calc(100vw - 16px));padding:12px 16px;border:1px solid #324676;border-radius:12px;background:#142459;color:#fff;font-size:13px;font-weight:600;line-height:1.5;box-shadow:0 8px 24px #14245933;overflow-wrap:anywhere}
.harvyo-chart-tooltip[hidden]{display:none!important}
body .hv-chart-target.has-tip::before,body .hv-chart-target.has-tip::after{display:none!important}
body .bar-chart{border-bottom-color:var(--chart-grid);background:repeating-linear-gradient(to top,transparent 0,transparent calc(25% - 1px),var(--chart-grid) calc(25% - 1px),var(--chart-grid) 25%);background-size:100% calc(100% - 29px);background-repeat:no-repeat;gap:8px}
body .bar-chart .bars i{border-radius:7px 7px 2px 2px;transform-origin:center bottom;background:linear-gradient(0deg,#2d47b2,#637bd7);transition:filter .18s ease;min-height:0}
body .bar-chart .bars .expense-bar{background:linear-gradient(0deg,#db2353,#ee7294)}
body .bar-chart .bars i:hover,body .bar-chart .bars i:focus-visible{filter:brightness(1.12);outline:2px solid var(--chart-blue);outline-offset:3px}
body .bar-column>span{font-weight:600;color:#66708b;font-size:11px}
body .chart-legend{flex-wrap:wrap;gap:10px 18px;line-height:1.5;padding-top:8px}
body .chart-legend>span{display:inline-flex;align-items:center;gap:7px}
body .chart-legend i{display:inline-block;flex:0 0 10px;width:10px;height:10px;border-radius:50%}
body .chart-legend :is(.revenue-dot,.occupancy-dot,.weekday-dot){background:var(--chart-blue)!important}
body .chart-legend .expense-dot{background:var(--chart-pink)!important}
body .donut-chart{width:min(210px,100%);height:auto;aspect-ratio:1;margin:20px auto 14px}
body .donut-track{stroke:#edf0fa}
body .donut-segment{transition:filter .18s ease}
body .donut-segment:hover,body .donut-segment:focus-visible{filter:brightness(1.12);outline:none}
body .donut-center-label{fill:#142459}
body .donut-center-sub{fill:#66708b}
body .occ-line{stroke-width:3}
body .occ-gridline{stroke:var(--chart-grid);stroke-dasharray:3 5}
body .ds-chart-total{text-align:center;color:#142459;font-weight:700}
@media(prefers-reduced-motion:reduce){body .bar-chart .bars i,body .donut-segment{transition:none}}
