:root{--bar-chart-primary: #3b82f6;--bar-chart-secondary: #6b7280;--bar-chart-success: #10b981;--bar-chart-warning: #f59e0b;--bar-chart-error: #ef4444;--bar-chart-background: #ffffff;--bar-chart-text: #1f2937;--bar-chart-text-muted: #6b7280;--bar-chart-border: #e5e7eb;--bar-chart-font-family: system-ui, -apple-system, sans-serif;--bar-chart-font-size: 12px;--bar-chart-font-size-title: 16px;--bar-chart-border-radius: 4px;--bar-chart-animation-duration: .3s;--bar-chart-animation-easing: ease-in-out}@media (prefers-color-scheme: dark){:root{--bar-chart-background: #1f2937;--bar-chart-text: #f9fafb;--bar-chart-text-muted: #9ca3af;--bar-chart-border: #374151}}.bar-chart-container{position:relative;background:var(--bar-chart-background);border-radius:var(--bar-chart-border-radius);font-family:var(--bar-chart-font-family);color:var(--bar-chart-text)}.bar-chart-svg{display:block;width:100%;height:auto;overflow:visible}.bar-chart-svg .bar{fill:var(--bar-chart-primary);stroke:none;transition:opacity var(--bar-chart-animation-duration) var(--bar-chart-animation-easing),fill var(--bar-chart-animation-duration) var(--bar-chart-animation-easing)}.bar-chart-svg .bar:hover{opacity:.8}.bar-chart-svg .x-axis,.bar-chart-svg .y-axis{font-size:var(--bar-chart-font-size);color:var(--bar-chart-text)}.bar-chart-svg .x-axis .domain,.bar-chart-svg .y-axis .domain{stroke:var(--bar-chart-border);stroke-width:1}.bar-chart-svg .x-axis .tick line,.bar-chart-svg .y-axis .tick line{stroke:var(--bar-chart-border);stroke-width:1}.bar-chart-svg .x-axis .tick text,.bar-chart-svg .y-axis .tick text{fill:var(--bar-chart-text-muted);font-size:var(--bar-chart-font-size)}.bar-chart-svg .grid line{stroke:var(--bar-chart-border);stroke-opacity:.3;stroke-dasharray:2,2}.bar-chart-svg .grid path{stroke-width:0}.bar-chart-container .empty-state{display:flex;align-items:center;justify-content:center;height:200px;color:var(--bar-chart-text-muted);font-size:var(--bar-chart-font-size);border:2px dashed var(--bar-chart-border);border-radius:var(--bar-chart-border-radius)}.bar-chart-tooltip{position:absolute;background:var(--bar-chart-background);border:1px solid var(--bar-chart-border);border-radius:var(--bar-chart-border-radius);padding:8px 12px;font-size:var(--bar-chart-font-size);color:var(--bar-chart-text);box-shadow:0 4px 6px -1px #0000001a;pointer-events:none;z-index:1000;opacity:0;transition:opacity var(--bar-chart-animation-duration) var(--bar-chart-animation-easing)}.bar-chart-tooltip.visible{opacity:1}.bar-chart-container.loading{opacity:.6;pointer-events:none}.bar-chart-container.loading:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid var(--bar-chart-border);border-top-color:var(--bar-chart-primary);border-radius:50%;animation:bar-chart-spin 1s linear infinite}@keyframes bar-chart-spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.bar-chart-svg .x-axis .tick text,.bar-chart-svg .y-axis .tick text{font-size:10px}.bar-chart-container{font-size:10px}}@media (prefers-reduced-motion: reduce){.bar-chart-svg .bar,.bar-chart-tooltip,.bar-chart-container.loading:after{transition:none;animation:none}}@media (prefers-contrast: high){:root{--bar-chart-border: #000000;--bar-chart-text: #000000}.bar-chart-svg .bar{stroke:var(--bar-chart-text);stroke-width:1}}.bar-chart-container[data-orientation=horizontal] .bar-chart-svg .x-axis .tick text{text-anchor:middle}.bar-chart-container[data-orientation=horizontal] .bar-chart-svg .y-axis .tick text{text-anchor:end}.bar-chart-container[data-orientation=vertical] .bar-chart-svg .x-axis .tick text{text-anchor:middle}.bar-chart-container[data-orientation=vertical] .bar-chart-svg .y-axis .tick text{text-anchor:end}.bar-chart-container[data-color-scheme=categorical] .bar{fill:var(--bar-chart-primary)}.bar-chart-container[data-color-scheme=categorical] .bar:nth-child(2n){fill:var(--bar-chart-secondary)}.bar-chart-container[data-color-scheme=categorical] .bar:nth-child(3n){fill:var(--bar-chart-success)}.bar-chart-container[data-color-scheme=categorical] .bar:nth-child(4n){fill:var(--bar-chart-warning)}.bar-chart-container[data-color-scheme=categorical] .bar:nth-child(5n){fill:var(--bar-chart-error)}.line-chart{--line-chart-primary: #3b82f6;--line-chart-secondary: #ef4444;--line-chart-background: #ffffff;--line-chart-text: #374151;--line-chart-border: #d1d5db;--line-chart-grid: #e5e7eb}.line-chart svg{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.line-chart .axis text{font-size:12px;fill:var(--line-chart-text)}.line-chart .axis path,.line-chart .axis line{stroke:var(--line-chart-border);shape-rendering:crispEdges}.line-chart .grid-line{stroke:var(--line-chart-grid);stroke-dasharray:2,2;shape-rendering:crispEdges}.line-chart .line{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.line-chart .area{fill-opacity:.1}.line-chart .dot{stroke:#fff;stroke-width:2}.line-chart .dot:hover{stroke-width:3;r:6}@media (prefers-color-scheme: dark){.line-chart{--line-chart-background: #1f2937;--line-chart-text: #d1d5db;--line-chart-border: #4b5563;--line-chart-grid: #374151}}@media (max-width: 768px){.line-chart svg{font-size:10px}.line-chart .axis text{font-size:10px}}.line-chart .line{transition:stroke-width .2s ease}.line-chart .line:hover{stroke-width:3}.line-chart .dot{transition:all .2s ease}.line-chart-tooltip{position:absolute;z-index:1000;padding:8px 12px;background:#000c;color:#fff;border-radius:4px;font-size:12px;pointer-events:none;box-shadow:0 2px 8px #00000026}.line-chart-tooltip:before{content:"";position:absolute;top:100%;left:50%;margin-left:-4px;border:4px solid transparent;border-top-color:#000c}.area-chart-container{font-family:system-ui,-apple-system,sans-serif}.area-chart-svg{overflow:visible}.area-path{transition:all .2s ease}.area-path:hover{filter:brightness(1.1)}.grid-line-x,.grid-line-y{pointer-events:none}.x-axis,.y-axis{font-size:12px}.x-axis text,.y-axis text{fill:#374151}.x-axis .domain,.y-axis .domain{stroke:#9ca3af}.x-axis .tick line,.y-axis .tick line{stroke:#9ca3af}.legend{max-width:100%}.legend .flex-col{max-height:200px;overflow-y:auto}.dots circle{transition:r .2s ease}.dots circle:hover{r:5;stroke-width:3}@media (max-width: 768px){.area-chart-container{flex-direction:column}.legend{order:2!important;margin:16px 0 0!important}.chart-area{order:1}.x-axis text,.y-axis text{font-size:10px}}@media (prefers-color-scheme: dark){.x-axis text,.y-axis text{fill:#d1d5db}.x-axis .domain,.y-axis .domain,.x-axis .tick line,.y-axis .tick line{stroke:#6b7280}.grid-line-x,.grid-line-y{stroke:#374151}.legend span{color:#d1d5db!important}.empty-state{color:#9ca3af}}.pie-chart-container{font-family:system-ui,-apple-system,sans-serif}.pie-chart-svg{overflow:visible}.pie-slice{transition:all .2s ease}.pie-slice:hover path{filter:brightness(1.1)}.pie-label text{font-weight:500;pointer-events:none}.pie-label polyline{opacity:.7}.center-text{pointer-events:none}.center-total,.center-label{dominant-baseline:middle}.legend{max-width:300px}.legend .flex-col{max-height:400px;overflow-y:auto}.legend .flex-col::-webkit-scrollbar{width:4px}.legend .flex-col::-webkit-scrollbar-track{background:#f1f5f9;border-radius:2px}.legend .flex-col::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}.legend .flex-col::-webkit-scrollbar-thumb:hover{background:#94a3b8}.empty-state{display:flex;align-items:center;justify-content:center;min-height:200px;color:#6b7280}@media (max-width: 768px){.pie-chart-container{flex-direction:column}.legend{max-width:100%;order:2!important;margin:16px 0 0!important}.chart-area{order:1}}@media (prefers-color-scheme: dark){.pie-label text{fill:#d1d5db}.pie-label polyline{stroke:#6b7280}.legend span{color:#d1d5db!important}.empty-state{color:#9ca3af}}
