.chart{width:100%;min-width:0}.chart__svg{display:block;width:100%;height:auto;overflow:visible}.chart__grid line{stroke:var(--line-soft);stroke-width:1}.chart__axis text{fill:var(--ink-3);font-size:11px;font-family:var(--font);font-variant-numeric:tabular-nums}.chart__zero{stroke:var(--line-strong);stroke-width:1}.chart__bar{transition:opacity var(--dur-fast) var(--ease),transform var(--dur-chart) var(--ease-out)}.chart__line{transition:stroke-dashoffset var(--dur-chart) var(--ease-out)}.chart__area,.spark__area{transition:opacity var(--dur-chart) var(--ease-out)}.chart:hover .chart__bar{opacity:.55}.chart .chart__bar:hover{opacity:1}.chart__dot{transition:r var(--dur-fast) var(--ease)}.legend{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4);margin-top:var(--sp-3)}.legend__item{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-xs);color:var(--ink-2);transition:opacity var(--dur-fast) var(--ease)}.legend__item--muted{opacity:.4}.legend__swatch{width:9px;height:9px;border-radius:3px;flex:none}.legend__value{color:var(--ink);font-weight:var(--w-medium);font-variant-numeric:tabular-nums}.donut{position:relative;display:flex;align-items:center;justify-content:center}.donut__center{position:absolute;text-align:center;pointer-events:none}.donut__value{font-size:26px;font-weight:var(--w-semibold);letter-spacing:var(--tr-display);color:var(--ink);line-height:1.1;font-variant-numeric:tabular-nums}.donut__label{font-size:var(--t-xs);color:var(--ink-3);margin-top:2px}.donut__seg{transition:opacity var(--dur-fast) var(--ease),stroke-dasharray var(--dur-chart) var(--ease-out)}.donut:hover .donut__seg{opacity:.45}.donut .donut__seg:hover{opacity:1}.ratiobar{display:flex;height:8px;border-radius:var(--r-full);overflow:hidden;background:var(--viz-track)}.ratiobar__seg{height:100%;transition:flex-grow var(--dur-chart) var(--ease-out)}.spark{display:block;overflow:visible}.chartsplit{display:grid;grid-template-columns:minmax(0,1fr) 236px;gap:var(--sp-5);align-items:stretch}.chartsplit__side{border-left:1px solid var(--line-soft);padding-left:var(--sp-5);display:flex;flex-direction:column;justify-content:center;gap:var(--sp-5)}@media (max-width: 1000px){.chartsplit{grid-template-columns:minmax(0,1fr)}.chartsplit__side{border-left:0;border-top:1px solid var(--line-soft);padding-left:0;padding-top:var(--sp-4);flex-direction:row;flex-wrap:wrap;gap:var(--sp-6)}}.calendar{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:var(--surface)}.calendar__head{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:var(--surface-2);border-bottom:1px solid var(--line)}.calendar__dayname{padding:9px var(--sp-2);text-align:center;font-size:var(--t-2xs);font-weight:var(--w-semibold);color:var(--ink-3);text-transform:uppercase;letter-spacing:var(--tr-label)}.calendar__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar__cell{min-height:118px;border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);padding:7px;display:flex;flex-direction:column;gap:5px;text-align:left;transition:background var(--dur-fast) var(--ease);min-width:0}.calendar__cell:nth-child(7n){border-right:0}.calendar__cell:hover,.calendar__cell--outside{background:var(--surface-2)}.calendar__cell--outside .calendar__date{color:var(--ink-4)}.calendar__cell--today{background:var(--brand-50);box-shadow:inset 0 0 0 1.5px var(--brand-700)}.calendar__date{font-size:var(--t-xs);font-weight:var(--w-medium);color:var(--ink-2);font-variant-numeric:tabular-nums}.calendar__cell--today .calendar__date{color:var(--brand-800);font-weight:var(--w-bold)}.calevent{display:flex;align-items:center;gap:5px;padding:4px 6px;border-radius:var(--r-xs);border-left:3px solid var(--ink-4);font-size:var(--t-2xs);font-weight:var(--w-medium);background:var(--surface-3);color:var(--ink);text-align:left;width:100%;min-width:0;cursor:grab;transition:background var(--dur-fast) var(--ease)}.calevent:hover{background:var(--surface-4)}.calevent:active{cursor:grabbing}.calevent__time{color:var(--ink-3);font-variant-numeric:tabular-nums;flex:none}.calendar__cell--drop{background:var(--accent-50);box-shadow:inset 0 0 0 1.5px var(--accent-500)}.calendar__more{font-size:var(--t-2xs);color:var(--ink-3);padding-left:6px}@media (max-width: 860px){.calendar__cell{min-height:86px;padding:5px}.calendar__dayname{font-size:9px}}.heat{display:flex;gap:3px;flex-wrap:wrap}.heat__cell{width:13px;height:13px;border-radius:3px;background:var(--viz-track)}
