.tf-chart-tooltip{background:var(--color-neutral-primary-soft);border:1px solid var(--color-border-default);min-width:220px;font-family:var(--font-family);border-radius:8px;padding:10px 12px;box-shadow:0 8px 24px #1118271a}.tf-chart-tooltip-date{color:var(--color-body-subtle);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--color-border-default);margin:0 0 8px;padding-bottom:6px;font-size:11px;font-weight:600}.tf-chart-tooltip-rows{flex-direction:column;gap:4px;display:flex}.tf-chart-tooltip-row{grid-template-columns:12px 1fr auto;align-items:center;gap:8px;display:grid}.tf-chart-tooltip-dot{border-radius:999px;width:8px;height:8px}.tf-chart-tooltip-name{color:var(--color-body);font-size:13px}.tf-chart-tooltip-value{color:var(--color-heading);font-variant-numeric:tabular-nums;font-feature-settings:"tnum";font-size:13px;font-weight:600}.tf-chart-legend{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.tf-chart-legend-item{align-items:center;gap:6px;display:flex}.tf-chart-legend-dot{border-radius:999px;flex-shrink:0;width:8px;height:8px}.tf-chart-legend-label{color:var(--color-body);font-size:13px}
.tf-donut{flex-direction:column;flex:1;min-height:0;display:flex}.tf-donut-title{color:var(--color-heading);margin-bottom:10px;font-size:13px;font-weight:600}.tf-donut-body{flex-wrap:wrap;flex:1;justify-content:center;align-items:center;gap:24px;min-height:0;display:flex}.tf-donut-chart{flex-shrink:0;width:200px;height:200px;position:relative}.tf-donut-arc{animation:.7s both tf-donut-sweep}@keyframes tf-donut-sweep{0%{stroke-dasharray:0 490.088}}.tf-donut-center{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.tf-donut-center-value{color:var(--color-heading);font-variant-numeric:tabular-nums;font-size:26px;font-weight:700;line-height:1.1}.tf-donut-center-label{color:var(--color-body-subtle);margin-top:2px;font-size:11px}.tf-donut-legend{flex-direction:column;flex:1;justify-content:center;gap:16px;min-width:180px;display:flex}.tf-donut-legend-row{flex-direction:column;gap:7px;display:flex}.tf-donut-legend-line{align-items:center;gap:8px;font-size:15px;display:flex}.tf-donut-legend-dot{border-radius:999px;flex-shrink:0;width:10px;height:10px}.tf-donut-legend-name{color:var(--color-body);flex:1}.tf-donut-legend-value{color:var(--color-heading);font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}.tf-donut-legend-pct{color:var(--color-body-subtle);text-align:right;font-variant-numeric:tabular-nums;width:52px;font-size:13px}.tf-donut-legend-bar{background:var(--color-neutral-tertiary-soft);border-radius:999px;height:8px;display:block;overflow:hidden}.tf-donut-legend-bar-fill{transform-origin:0;border-radius:999px;height:100%;animation:.7s cubic-bezier(.22,1,.36,1) both tf-donut-bar-grow;display:block}@keyframes tf-donut-bar-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.tf-donut-footer{gap:12px;margin-top:20px;display:flex}.tf-donut-footer-stat{border:1px solid #0000;border-radius:12px;flex:1;align-items:center;gap:13px;min-width:0;padding:16px 18px;display:flex}.tf-donut-footer-stat--input{background:var(--color-brand-softer);border-color:var(--color-border-brand-subtle)}.tf-donut-footer-stat--output{background:var(--color-warning-soft);border-color:var(--color-border-warning-subtle)}.tf-donut-footer-icon{background:var(--color-neutral-primary-soft);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.tf-donut-footer-stat--input .tf-donut-footer-icon{color:var(--color-brand)}.tf-donut-footer-stat--output .tf-donut-footer-icon{color:var(--color-warning)}.tf-donut-footer-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.tf-donut-footer-label{color:var(--color-body-subtle);font-size:12px}.tf-donut-footer-value{color:var(--color-heading);font-variant-numeric:tabular-nums;font-size:22px;font-weight:700;line-height:1.15}.tf-donut-footer-pct{font-variant-numeric:tabular-nums;flex-shrink:0;font-size:22px;font-weight:700}.tf-donut-footer-stat--input .tf-donut-footer-pct{color:var(--color-brand)}.tf-donut-footer-stat--output .tf-donut-footer-pct{color:var(--color-warning)}@media (prefers-reduced-motion:reduce){.tf-donut-arc,.tf-donut-legend-bar-fill{animation:none}}
.tf-hud-line{pointer-events:none;z-index:1059;width:100vw;height:100vh;position:fixed;inset:0;overflow:visible}.tf-hud-line path{fill:none;stroke:var(--color-brand-medium);stroke-width:1px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px;animation:.3s cubic-bezier(.22,1,.36,1) forwards tf-hud-draw}.tf-hud-node{fill:var(--color-brand);opacity:0;animation:.18s ease-out .1s forwards tf-hud-fade}@keyframes tf-hud-draw{to{stroke-dashoffset:0}}@keyframes tf-hud-fade{to{opacity:1}}.tf-hud{z-index:1060;border-radius:var(--radius-overlay);-webkit-backdrop-filter:blur(16px)saturate(1.8);backdrop-filter:blur(16px)saturate(1.8);min-width:172px;color:var(--color-heading);font-family:var(--font-family);opacity:0;background:#ffffffb3;border:1px solid #ffffff80;padding:12px 16px;transition:opacity .16s,transform .16s;position:fixed;transform:translateY(4px);box-shadow:0 8px 32px #0f172a1f,inset 0 1px #ffffffb3}.tf-hud--ready{opacity:1;transform:translateY(0)}.tf-hud-head{border-bottom:1px solid #0f172a14;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;padding-bottom:8px;display:flex}.tf-hud-date{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-heading)}.tf-hud-weekday{font-size:var(--font-size-xs);color:var(--color-body-subtle)}.tf-hud-metric{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:2px;display:flex}.tf-hud-metric:last-of-type{margin-bottom:0}.tf-hud-val{font-variant-numeric:tabular-nums;font-weight:var(--font-weight-semibold);line-height:1.2}.tf-hud-metric--major .tf-hud-val{color:var(--color-brand);font-size:22px}.tf-hud-metric:not(.tf-hud-metric--major) .tf-hud-val{color:var(--color-heading);font-size:15px}.tf-hud-unit{font-size:var(--font-size-xs);color:var(--color-body-subtle);font-weight:var(--font-weight-medium)}@media (prefers-reduced-motion:reduce){.tf-hud-line path{stroke-dashoffset:0;animation:none}.tf-hud-node{opacity:1;animation:none}}
.tf-heatmap-head{margin-bottom:12px}.tf-heatmap-title{color:var(--color-heading);margin-bottom:10px;font-size:13px;font-weight:600}.tf-heatmap-head .tf-heatmap-title{margin-bottom:2px}.tf-heatmap-subtitle{color:var(--color-body-subtle);font-size:11px;line-height:1.4}.tf-cal{width:100%}.tf-cal-nav{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.tf-cal-nav-btn{border:1px solid var(--color-border-default);border-radius:var(--radius-sm);background:var(--color-neutral-primary-soft);width:28px;height:28px;color:var(--color-body);cursor:pointer;justify-content:center;align-items:center;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.tf-cal-nav-btn:hover:not(:disabled){border-color:var(--color-brand);color:var(--color-fg-brand);background:var(--color-brand-softer)}.tf-cal-nav-btn:disabled{opacity:.4;cursor:not-allowed}.tf-cal-month{color:var(--color-heading);font-size:14px;font-weight:600;font-family:var(--font-family)}.tf-cal-dow{margin-bottom:4px;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;width:100%;max-width:480px;margin-inline:auto;display:grid}.tf-cal-dow-cell{text-align:center;color:var(--color-body-subtle);font-size:11px;font-weight:500;font-family:var(--font-family)}.tf-cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;width:100%;max-width:480px;margin-inline:auto;display:grid}.tf-heat-cell{aspect-ratio:1;border-radius:var(--radius-sm);justify-content:center;align-items:center;min-width:0;animation:.28s ease-out both tf-heat-cell-in;display:flex}.tf-cal-day-num{color:var(--color-body-subtle);font-size:12px;font-weight:500;font-family:var(--font-family)}.tf-heat-cell--0,.tf-heat-cell--out{background:var(--color-neutral-tertiary-soft)}.tf-heat-cell--1{background:var(--color-brand-soft)}.tf-heat-cell--1 .tf-cal-day-num{color:var(--color-fg-brand-strong)}.tf-heat-cell--2{background:var(--color-brand-medium)}.tf-heat-cell--2 .tf-cal-day-num{color:var(--color-fg-brand-strong)}.tf-heat-cell--3{background:var(--color-brand)}.tf-heat-cell--4{background:var(--color-brand-strong)}.tf-heat-cell--3 .tf-cal-day-num,.tf-heat-cell--4 .tf-cal-day-num{color:var(--color-white);font-weight:600}.tf-heat-cell--out{animation:none}.tf-heatmap-legend{justify-content:flex-end;align-items:center;gap:4px;margin-top:12px;display:flex}.tf-heatmap-legend-text{color:var(--color-body-subtle);font-size:10px}.tf-heatmap-legend-swatch{border-radius:var(--radius-sm);width:14px;height:14px}.tf-heatmap-legend-swatch--0{background:var(--color-neutral-tertiary-soft)}.tf-heatmap-legend-swatch--1{background:var(--color-brand-soft)}.tf-heatmap-legend-swatch--2{background:var(--color-brand-medium)}.tf-heatmap-legend-swatch--3{background:var(--color-brand)}.tf-heatmap-legend-swatch--4{background:var(--color-brand-strong)}@keyframes tf-heat-cell-in{0%{opacity:0;transform:scale(.85)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.tf-heat-cell{animation:none}}
.tf-activity-list.ant-collapse-ghost>.ant-collapse-item{border-bottom:1px solid var(--color-border-default)}.tf-activity-list.ant-collapse-ghost>.ant-collapse-item:last-child{border-bottom:none}.tf-activity-list .ant-collapse-header{transition:background .12s;align-items:center!important;padding:12px 16px!important}.tf-activity-list .ant-collapse-item:hover>.ant-collapse-header{background:var(--color-neutral-secondary-soft)}.tf-activity-list .ant-collapse-item-active>.ant-collapse-header{background:var(--color-brand-softer)}.tf-activity-list .ant-collapse-arrow{color:var(--color-body-subtle)!important}.tf-activity-list .ant-collapse-content{border-top:1px solid var(--color-border-default);background:var(--color-neutral-secondary-soft)!important}.tf-activity-list .ant-collapse-content-box{padding:16px!important}.tf-charts .tremor-card,.tf-charts .tremor-card-tr{background:var(--color-neutral-primary-soft);border:1px solid var(--color-border-default);border-radius:8px;padding:16px;box-shadow:none!important}.tf-charts .recharts-cartesian-grid-horizontal line,.tf-charts .recharts-cartesian-grid-vertical line{stroke:var(--viz-gridline)!important;opacity:.9!important}.tf-charts .recharts-xAxis .recharts-cartesian-axis-tick-value,.tf-charts .recharts-yAxis .recharts-cartesian-axis-tick-value{font-variant-numeric:tabular-nums;fill:var(--viz-ink-secondary)!important;font-size:11px!important}.tf-charts .recharts-cartesian-axis line,.tf-charts .recharts-cartesian-axis-tick-line{stroke:var(--viz-gridline)!important}.tf-charts .recharts-bar-rect{rx:3;transition:opacity .12s}.tf-charts .recharts-bar-rect:hover{opacity:.82}.tf-charts .recharts-area path.recharts-curve{stroke-width:2px!important}.tf-charts .recharts-tooltip-cursor{fill:var(--viz-cursor)!important;opacity:.5!important}.tf-charts .recharts-cartesian-axis-bottom line{stroke:var(--viz-baseline)!important}.tf-charts .tremor-title{color:var(--color-heading)!important;font-size:14px!important;font-weight:600!important}.tf-charts .tremor-content{color:var(--viz-ink-secondary)!important}linearGradient#blue{color:var(--viz-c-1)!important}linearGradient#amber{color:var(--viz-c-2)!important}linearGradient#teal{color:var(--viz-c-3)!important}linearGradient#violet,linearGradient#purple{color:var(--viz-c-4)!important}linearGradient#lime{color:var(--viz-c-5)!important}linearGradient#pink{color:var(--viz-c-6)!important}linearGradient#cyan,linearGradient#sky{color:var(--viz-c-7)!important}linearGradient#orange{color:var(--viz-c-8)!important}linearGradient#indigo{color:var(--viz-c-1)!important}linearGradient#emerald,linearGradient#green{color:var(--viz-status-good)!important}linearGradient#red{color:var(--viz-status-danger)!important}linearGradient#yellow{color:var(--viz-status-warning)!important}.fill-blue-500{fill:var(--viz-c-1)!important}.fill-amber-500{fill:var(--viz-c-2)!important}.fill-teal-500{fill:var(--viz-c-3)!important}.fill-violet-500,.fill-purple-500{fill:var(--viz-c-4)!important}.fill-lime-500{fill:var(--viz-c-5)!important}.fill-pink-500{fill:var(--viz-c-6)!important}.fill-cyan-500,.fill-sky-500{fill:var(--viz-c-7)!important}.fill-orange-500{fill:var(--viz-c-8)!important}.fill-indigo-500{fill:var(--viz-c-1)!important}.fill-emerald-500,.fill-green-500{fill:var(--viz-status-good)!important}.fill-red-500{fill:var(--viz-status-danger)!important}.fill-yellow-500{fill:var(--viz-status-warning)!important}.recharts-sector{transition:opacity .12s;stroke:var(--viz-surface)!important;stroke-width:2px!important}.recharts-sector:hover{opacity:.85}.recharts-bar-rect,.recharts-bar rect{rx:4;ry:4;transition:opacity .12s}.recharts-bar-rect:hover,.recharts-bar rect:hover{opacity:.85}.recharts-area path.recharts-curve{stroke-width:2px!important}.dark .tf-charts .recharts-area path.recharts-curve,[data-theme=dark] .tf-charts .recharts-area path.recharts-curve{filter:drop-shadow(0 0 6px #60a5fa73)}@media (prefers-reduced-motion:reduce){.dark .tf-charts .recharts-area path.recharts-curve,[data-theme=dark] .tf-charts .recharts-area path.recharts-curve{filter:none}}
