@keyframes opaque{0%{opacity:0}to{opacity:1}}@keyframes resizeanim{0%,to{opacity:0}}.apexcharts-canvas{position:relative;direction:ltr!important;-webkit-user-select:none;user-select:none;--apexcharts-focus-color: #008FFB}.apexcharts-canvas .apexcharts-theme-dark,.apexcharts-theme-dark.apexcharts-canvas{--apexcharts-focus-color: #FFD500}.apexcharts-canvas.apexcharts-high-contrast,.apexcharts-high-contrast.apexcharts-canvas{--apexcharts-focus-color: #FFFF00}.apexcharts-sr-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-reduced-motion: reduce){.apexcharts-canvas *,.apexcharts-canvas *:before,.apexcharts-canvas *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.apexcharts-canvas ::-webkit-scrollbar{-webkit-appearance:none;width:6px}.apexcharts-canvas ::-webkit-scrollbar-thumb{border-radius:4px;background-color:#00000080;box-shadow:0 0 1px #ffffff80;-webkit-box-shadow:0 0 1px rgba(255,255,255,.5)}.apexcharts-inner{position:relative}.apexcharts-text tspan{font-family:inherit}rect.legend-mouseover-inactive,.legend-mouseover-inactive rect,.legend-mouseover-inactive path,.legend-mouseover-inactive circle,.legend-mouseover-inactive line,.legend-mouseover-inactive text.apexcharts-yaxis-title-text,.legend-mouseover-inactive text.apexcharts-yaxis-label{transition:.15s ease all;opacity:.2}.apexcharts-crossfilter-dimmed{transition:opacity .25s ease;opacity:var(--apx-cf-dim, .2)}.apexcharts-cf-table{border-collapse:collapse;width:100%;font-size:13px}.apexcharts-cf-table caption{caption-side:bottom;text-align:right;padding:6px 2px;font-size:12px;opacity:.7}.apexcharts-cf-table th,.apexcharts-cf-table td{padding:6px 10px;text-align:left;border-bottom:1px solid rgba(0,0,0,.08)}.apexcharts-cf-table th{font-weight:600;border-bottom-width:2px}.apexcharts-cf-table tbody tr:hover{background:#6366f10f}.apexcharts-canvas{--apx-measure-up: #16a34a;--apx-measure-down: #dc2626;--apx-measure-neutral: #64748b;--apx-measure-guide: #94a3b8}.apexcharts-measure-capture{cursor:crosshair}.apexcharts-canvas{--apx-menu-bg: #ffffff;--apx-menu-fg: #1e293b;--apx-menu-border: #e2e8f0;--apx-menu-hover: #f1f5f9;--apx-menu-shadow: rgba(15, 23, 42, .18)}.apexcharts-context-menu{min-width:168px;padding:4px;border-radius:8px;background:var(--apx-menu-bg);border:1px solid var(--apx-menu-border);box-shadow:0 6px 22px var(--apx-menu-shadow);font-family:Helvetica,Arial,sans-serif;font-size:13px;z-index:20;-webkit-user-select:none;user-select:none}.apexcharts-context-menu-item{display:block;width:100%;box-sizing:border-box;text-align:left;padding:7px 12px;border:0;border-radius:5px;background:transparent;color:var(--apx-menu-fg);font:inherit;cursor:pointer}.apexcharts-context-menu-item:hover,.apexcharts-context-menu-item--active{background:var(--apx-menu-hover)}.apexcharts-context-menu-item:focus{outline:none}.apexcharts-canvas{--apx-ink-card-bg: #ffffff;--apx-ink-card-fg: #1e293b;--apx-ink-card-border: #e2e8f0;--apx-ink-card-hover: #f1f5f9;--apx-ink-card-accent: #6366f1;--apx-ink-card-shadow: rgba(15, 23, 42, .18)}.apexcharts-ink-card{position:absolute;z-index:25;display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:8px;background:var(--apx-ink-card-bg);border:1px solid var(--apx-ink-card-border);box-shadow:0 6px 22px var(--apx-ink-card-shadow);font-family:Helvetica,Arial,sans-serif;font-size:12px;color:var(--apx-ink-card-fg);-webkit-user-select:none;user-select:none}.apexcharts-ink-card-row{display:flex;align-items:center;gap:4px}.apexcharts-ink-card input.apexcharts-ink-editor{flex:1 1 auto;width:150px;min-width:0;box-sizing:border-box;padding:4px 6px;font:inherit;color:inherit;background:transparent;border:1px solid var(--apx-ink-card-border);border-radius:5px}.apexcharts-ink-card input.apexcharts-ink-editor:focus{outline:none;border-color:var(--apx-ink-card-accent)}.apexcharts-ink-btn{flex:0 0 auto;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:5px;background:transparent;color:inherit;font:inherit;font-size:12px;line-height:1;cursor:pointer}.apexcharts-ink-btn:hover,.apexcharts-ink-btn--active{background:var(--apx-ink-card-hover)}.apexcharts-ink-btn:focus-visible,.apexcharts-ink-swatch:focus-visible{outline:2px solid var(--apx-ink-card-accent);outline-offset:1px}.apexcharts-ink-btn--bold{font-weight:700}.apexcharts-ink-btn--delete:hover{color:#dc2626}.apexcharts-ink-swatch{flex:0 0 auto;width:16px;height:16px;padding:0;border:1px solid rgba(100,116,139,.45);border-radius:50%;cursor:pointer}.apexcharts-ink-swatch--active{box-shadow:0 0 0 2px var(--apx-ink-card-bg),0 0 0 4px var(--apx-ink-card-accent)}.apexcharts-ink-sep{flex:0 0 auto;width:1px;height:16px;margin:0 2px;background:var(--apx-ink-card-border)}.apexcharts-ink-cardlabel{flex:0 0 auto;font-size:10px;letter-spacing:.4px;text-transform:uppercase;opacity:.65;margin-right:2px}.apexcharts-ink-marker-size{flex:0 0 auto;min-width:16px;text-align:center;font-variant-numeric:tabular-nums}.apexcharts-legend-text{padding-left:15px;margin-left:-15px}.apexcharts-legend-series[role=button]:focus{outline:2px solid var(--apexcharts-focus-color, #008FFB);outline-offset:2px}.apexcharts-legend-series[role=button]:focus:not(:focus-visible){outline:none}.apexcharts-legend-series[role=button]:focus-visible{outline:2px solid var(--apexcharts-focus-color, #008FFB);outline-offset:2px}.apexcharts-series-collapsed{opacity:0}.apexcharts-canvas svg:focus:not(:focus-visible){outline:none}.apexcharts-bar-area.apexcharts-keyboard-focused,.apexcharts-candlestick-area.apexcharts-keyboard-focused,.apexcharts-boxPlot-area.apexcharts-keyboard-focused,.apexcharts-rangebar-area.apexcharts-keyboard-focused,.apexcharts-pie-area.apexcharts-keyboard-focused,.apexcharts-heatmap-rect.apexcharts-keyboard-focused,.apexcharts-treemap-rect.apexcharts-keyboard-focused{stroke:var(--apexcharts-focus-color, #008FFB);stroke-width:2;stroke-opacity:1}.apexcharts-tooltip{--apx-tt-bg: #ffffff;--apx-tt-border: rgba(15, 23, 42, .06);--apx-tt-shadow-y-mid: 8px;--apx-tt-shadow-y-far: 16px;--apx-tt-shadow: 0 0 0 1px rgba(15, 23, 42, .04), 0 var(--apx-tt-shadow-y-mid) 16px -6px rgba(15, 23, 42, .12), 0 var(--apx-tt-shadow-y-far) 36px -12px rgba(15, 23, 42, .18);--apx-tt-arrow-bg: var(--apx-tt-bg);--apx-tt-arrow-drop-y: 2px;--apx-tt-arrow-shadow: drop-shadow(0 0 .5px rgba(15, 23, 42, .2)) drop-shadow(0 var(--apx-tt-arrow-drop-y) 4px rgba(15, 23, 42, .2));--apx-tt-color: #0f172a;--apx-tt-color-muted: rgba(15, 23, 42, .55);border-radius:8px;background:var(--apx-tt-bg);border:1px solid var(--apx-tt-border);box-shadow:var(--apx-tt-shadow);color:var(--apx-tt-color);cursor:default;font-size:13px;left:0;top:0;opacity:0;pointer-events:none;position:absolute;display:flex;flex-direction:column;padding:2px 0;white-space:nowrap;z-index:12;transition:opacity .12s ease}.apexcharts-tooltip.apexcharts-active{opacity:1;transition:opacity .12s ease}.apexcharts-tooltip.apexcharts-active[data-positioned=true]{transition:opacity .12s ease,left .16s ease-out,top .16s ease-out}.apexcharts-tooltip.apexcharts-theme-dark{--apx-tt-bg: #1c1c1f;--apx-tt-border: rgba(255, 255, 255, .08);--apx-tt-shadow: 0 0 0 1px rgba(0, 0, 0, .4), 0 var(--apx-tt-shadow-y-mid) 16px -6px rgba(0, 0, 0, .45), 0 var(--apx-tt-shadow-y-far) 36px -12px rgba(0, 0, 0, .55);--apx-tt-arrow-shadow: drop-shadow(0 0 .5px rgba(0, 0, 0, .55)) drop-shadow(0 var(--apx-tt-arrow-drop-y) 4px rgba(0, 0, 0, .45));--apx-tt-color: #f3f4f6;--apx-tt-color-muted: rgba(243, 244, 246, .55)}.apexcharts-tooltip *{font-family:inherit}.apexcharts-tooltip.apexcharts-annotation-tooltip{padding:6px 10px;max-width:240px;white-space:normal;line-height:1.4;pointer-events:none;z-index:13}.apexcharts-tooltip-title{padding:8px 12px 4px;font-size:12px;font-weight:600;letter-spacing:.01em;color:var(--apx-tt-color-muted);background:transparent;border-bottom:none;margin-bottom:0}.apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title,.apexcharts-tooltip.apexcharts-theme-dark .apexcharts-tooltip-title{background:transparent;border-bottom:none}.apexcharts-tooltip.apexcharts-tooltip-fill-series{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border:none;padding:0;overflow:hidden;color:#fff}.apexcharts-tooltip.apexcharts-tooltip-fill-series .apexcharts-tooltip-title{background:#00000038;color:#fff;opacity:1;padding:6px 12px}.apexcharts-tooltip.apexcharts-tooltip-fill-series .apexcharts-tooltip-series-group{color:#fff}.apexcharts-tooltip-arrow{position:absolute;width:7px;height:14px;background:var(--apx-tt-arrow-bg);-webkit-filter:var(--apx-tt-arrow-shadow);filter:var(--apx-tt-arrow-shadow);pointer-events:none;top:calc(var(--apx-tt-arrow-y, 50%) - 7px)}.apexcharts-tooltip[data-placement=right] .apexcharts-tooltip-arrow{left:-7px;clip-path:polygon(0 50%,100% 0,100% 100%)}.apexcharts-tooltip[data-placement=left] .apexcharts-tooltip-arrow{right:-7px;clip-path:polygon(100% 50%,0 0,0 100%)}.apexcharts-tooltip[data-placement=top] .apexcharts-tooltip-arrow,.apexcharts-tooltip[data-placement=bottom] .apexcharts-tooltip-arrow{width:14px;height:7px;top:auto;left:calc(var(--apx-tt-arrow-x, 50%) - 7px)}.apexcharts-tooltip[data-placement=top] .apexcharts-tooltip-arrow{bottom:-7px;clip-path:polygon(50% 100%,0 0,100% 0)}.apexcharts-tooltip[data-placement=bottom] .apexcharts-tooltip-arrow{top:-7px;clip-path:polygon(50% 0,0 100%,100% 100%)}.apexcharts-tooltip[data-placement=bottom]{--apx-tt-shadow-y-mid: -8px;--apx-tt-shadow-y-far: -16px;--apx-tt-arrow-drop-y: -2px }.apexcharts-tooltip-text-goals-value,.apexcharts-tooltip-text-y-value,.apexcharts-tooltip-text-z-value{display:inline-block;margin-left:5px;font-weight:600}.apexcharts-tooltip-text-goals-label:empty,.apexcharts-tooltip-text-goals-value:empty,.apexcharts-tooltip-text-y-label:empty,.apexcharts-tooltip-text-y-value:empty,.apexcharts-tooltip-text-z-value:empty,.apexcharts-tooltip-title:empty{display:none}.apexcharts-tooltip-text-goals-label,.apexcharts-tooltip-text-goals-value{padding:6px 0 5px}.apexcharts-tooltip-goals-group,.apexcharts-tooltip-text-goals-label,.apexcharts-tooltip-text-goals-value{display:flex}.apexcharts-tooltip-text-goals-label:not(:empty),.apexcharts-tooltip-text-goals-value:not(:empty){margin-top:-6px}.apexcharts-tooltip-marker{display:inline-flex;align-items:center;justify-content:center;position:relative;width:12px;height:12px;margin-right:6px;vertical-align:middle;color:inherit}.apexcharts-tooltip-marker svg{width:100%;height:100%;display:block}.apexcharts-tooltip-series-group{padding:4px 12px;display:none;gap:8px;text-align:left;justify-content:left;align-items:center}.apexcharts-tooltip-series-group.apexcharts-active .apexcharts-tooltip-marker{opacity:1}.apexcharts-tooltip-series-group.apexcharts-active:last-child,.apexcharts-tooltip-series-group:last-child{padding-bottom:8px}.apexcharts-tooltip-y-group{padding:6px 0 5px}.apexcharts-custom-tooltip,.apexcharts-tooltip-box{padding:4px 8px}.apexcharts-tooltip-boxPlot{display:flex;flex-direction:column-reverse}.apexcharts-tooltip-box>div{margin:4px 0}.apexcharts-tooltip-box span.value{font-weight:700}.apexcharts-tooltip-rangebar{padding:5px 8px}.apexcharts-tooltip-rangebar .category{font-weight:600;color:#777}.apexcharts-tooltip-rangebar .series-name{font-weight:700;display:block;margin-bottom:5px}.apexcharts-xaxistooltip,.apexcharts-yaxistooltip{--apx-axt-bg: #ffffff;--apx-axt-border: rgba(15, 23, 42, .08);--apx-axt-color: #0f172a;--apx-axt-shadow: 0 4px 12px -4px rgba(15, 23, 42, .18), 0 1px 3px -1px rgba(15, 23, 42, .12);opacity:0;pointer-events:none;color:var(--apx-axt-color);font-size:12px;font-weight:500;text-align:center;border-radius:6px;position:absolute;z-index:10;background:var(--apx-axt-bg);border:1px solid var(--apx-axt-border);box-shadow:var(--apx-axt-shadow)}.apexcharts-xaxistooltip.apexcharts-theme-dark,.apexcharts-yaxistooltip.apexcharts-theme-dark{--apx-axt-bg: #1c1c1f;--apx-axt-border: rgba(255, 255, 255, .1);--apx-axt-color: #f3f4f6;--apx-axt-shadow: 0 4px 12px -4px rgba(0, 0, 0, .55), 0 1px 3px -1px rgba(0, 0, 0, .45) }.apexcharts-xaxistooltip{padding:4px 8px;transition:.15s ease all}.apexcharts-xaxistooltip:after,.apexcharts-xaxistooltip:before{left:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.apexcharts-xaxistooltip:after{border-color:transparent;border-width:5px;margin-left:-5px}.apexcharts-xaxistooltip:before{border-color:transparent;border-width:6px;margin-left:-6px}.apexcharts-xaxistooltip-bottom:after,.apexcharts-xaxistooltip-bottom:before{bottom:100%}.apexcharts-xaxistooltip-top:after,.apexcharts-xaxistooltip-top:before{top:100%}.apexcharts-xaxistooltip-bottom:after{border-bottom-color:var(--apx-axt-bg)}.apexcharts-xaxistooltip-bottom:before{border-bottom-color:var(--apx-axt-border)}.apexcharts-xaxistooltip-top:after{border-top-color:var(--apx-axt-bg)}.apexcharts-xaxistooltip-top:before{border-top-color:var(--apx-axt-border)}.apexcharts-xaxistooltip.apexcharts-active{opacity:1;transition:.15s ease all}.apexcharts-yaxistooltip{padding:3px 8px}.apexcharts-yaxistooltip:after,.apexcharts-yaxistooltip:before{top:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.apexcharts-yaxistooltip:after{border-color:transparent;border-width:5px;margin-top:-5px}.apexcharts-yaxistooltip:before{border-color:transparent;border-width:6px;margin-top:-6px}.apexcharts-yaxistooltip-left:after,.apexcharts-yaxistooltip-left:before{left:100%}.apexcharts-yaxistooltip-right:after,.apexcharts-yaxistooltip-right:before{right:100%}.apexcharts-yaxistooltip-left:after{border-left-color:var(--apx-axt-bg)}.apexcharts-yaxistooltip-left:before{border-left-color:var(--apx-axt-border)}.apexcharts-yaxistooltip-right:after{border-right-color:var(--apx-axt-bg)}.apexcharts-yaxistooltip-right:before{border-right-color:var(--apx-axt-border)}.apexcharts-yaxistooltip.apexcharts-active{opacity:1}.apexcharts-yaxistooltip-hidden{display:none}.apexcharts-xcrosshairs,.apexcharts-ycrosshairs{pointer-events:none;opacity:0;transition:.15s ease all}.apexcharts-xcrosshairs.apexcharts-active,.apexcharts-ycrosshairs.apexcharts-active{opacity:1;transition:.15s ease all}.apexcharts-ycrosshairs-hidden{opacity:0}.apexcharts-selection-rect{cursor:move}.svg_select_shape{stroke-width:1;stroke-dasharray:10 10;stroke:#000;stroke-opacity:.1;pointer-events:none;fill:none}.svg_select_handle{stroke-width:3;stroke:#000;fill:none}.svg_select_handle_r{cursor:e-resize}.svg_select_handle_l{cursor:w-resize}.apexcharts-svg.apexcharts-zoomable.hovering-zoom{cursor:crosshair}.apexcharts-svg.apexcharts-zoomable.hovering-pan{cursor:move}.apexcharts-menu-icon,.apexcharts-measure-icon,.apexcharts-pan-icon,.apexcharts-reset-icon,.apexcharts-selection-icon,.apexcharts-toolbar-custom-icon,.apexcharts-zoom-icon,.apexcharts-zoomin-icon,.apexcharts-zoomout-icon{cursor:pointer;width:26px;height:24px;line-height:24px;color:#6e8192;text-align:center;padding:0;margin:0;background:transparent;border:0;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;transition:background-color .12s ease,color .12s ease}.apexcharts-menu-icon svg,.apexcharts-measure-icon svg,.apexcharts-pan-icon svg,.apexcharts-reset-icon svg,.apexcharts-selection-icon svg,.apexcharts-zoom-icon svg,.apexcharts-zoomin-icon svg,.apexcharts-zoomout-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.apexcharts-theme-dark .apexcharts-menu-icon,.apexcharts-theme-dark .apexcharts-measure-icon,.apexcharts-theme-dark .apexcharts-pan-icon,.apexcharts-theme-dark .apexcharts-reset-icon,.apexcharts-theme-dark .apexcharts-selection-icon,.apexcharts-theme-dark .apexcharts-toolbar-custom-icon,.apexcharts-theme-dark .apexcharts-zoom-icon,.apexcharts-theme-dark .apexcharts-zoomin-icon,.apexcharts-theme-dark .apexcharts-zoomout-icon{color:#d4d6dc}.apexcharts-canvas .apexcharts-measure-icon.apexcharts-selected,.apexcharts-canvas .apexcharts-pan-icon.apexcharts-selected,.apexcharts-canvas .apexcharts-reset-zoom-icon.apexcharts-selected,.apexcharts-canvas .apexcharts-selection-icon.apexcharts-selected,.apexcharts-canvas .apexcharts-zoom-icon.apexcharts-selected{background:#008ffb1f;color:#008ffb}.apexcharts-theme-light .apexcharts-menu-icon:hover,.apexcharts-theme-light .apexcharts-measure-icon:not(.apexcharts-selected):hover,.apexcharts-theme-light .apexcharts-pan-icon:not(.apexcharts-selected):hover,.apexcharts-theme-light .apexcharts-reset-icon:hover,.apexcharts-theme-light .apexcharts-selection-icon:not(.apexcharts-selected):hover,.apexcharts-theme-light .apexcharts-zoom-icon:not(.apexcharts-selected):hover,.apexcharts-theme-light .apexcharts-zoomin-icon:hover,.apexcharts-theme-light .apexcharts-zoomout-icon:hover{background:#0f172a0f;color:#1f2937}.apexcharts-theme-dark .apexcharts-menu-icon:hover,.apexcharts-theme-dark .apexcharts-measure-icon:not(.apexcharts-selected):hover,.apexcharts-theme-dark .apexcharts-pan-icon:not(.apexcharts-selected):hover,.apexcharts-theme-dark .apexcharts-reset-icon:hover,.apexcharts-theme-dark .apexcharts-selection-icon:not(.apexcharts-selected):hover,.apexcharts-theme-dark .apexcharts-zoom-icon:not(.apexcharts-selected):hover,.apexcharts-theme-dark .apexcharts-zoomin-icon:hover,.apexcharts-theme-dark .apexcharts-zoomout-icon:hover{background:#ffffff14;color:#fff}.apexcharts-menu-icon,.apexcharts-selection-icon{position:relative}.apexcharts-toolbar{position:absolute;z-index:11;display:inline-flex;align-items:center;gap:1px;padding:3px;border-radius:8px;background:#ffffffd9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.apexcharts-theme-dark .apexcharts-toolbar{background:#1c1c1fd1}.apexcharts-menu{background:#fffffff2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);position:absolute;top:calc(100% + 4px);border:1px solid rgba(15,23,42,.08);border-radius:8px;padding:4px;right:0;opacity:0;min-width:120px;transition:opacity .15s ease,transform .15s ease;transform:translateY(-2px);pointer-events:none;box-shadow:0 4px 16px -4px #0f172a1f,0 2px 4px -1px #0f172a0f}.apexcharts-menu.apexcharts-menu-open{opacity:1;transform:translateY(0);pointer-events:all}.apexcharts-menu-item{padding:6px 9px;font-size:12px;border-radius:5px;cursor:pointer}.apexcharts-theme-light .apexcharts-menu-item:hover{background:#0f172a0f}.apexcharts-theme-dark .apexcharts-menu{background:#1c1c1feb;border-color:#ffffff14;color:#f3f4f6;box-shadow:0 4px 16px -4px #00000080,0 2px 4px -1px #0006}.apexcharts-theme-dark .apexcharts-menu-item:hover{background:#ffffff14}@media screen and (min-width:768px){.apexcharts-canvas:hover .apexcharts-toolbar{opacity:1}}.apexcharts-toolbar:focus-within{opacity:1}.apexcharts-menu-icon:focus-visible,.apexcharts-measure-icon:focus-visible,.apexcharts-pan-icon:focus-visible,.apexcharts-reset-icon:focus-visible,.apexcharts-selection-icon:focus-visible,.apexcharts-toolbar-custom-icon:focus-visible,.apexcharts-zoom-icon:focus-visible,.apexcharts-zoomin-icon:focus-visible,.apexcharts-zoomout-icon:focus-visible{outline:2px solid var(--apexcharts-focus-color, #008FFB);outline-offset:1px;border-radius:5px}.apexcharts-menu-item:focus-visible{outline:2px solid var(--apexcharts-focus-color, #008FFB);outline-offset:-2px;background:#eee}.apexcharts-canvas .apexcharts-element-hidden,.apexcharts-datalabel.apexcharts-element-hidden,.apexcharts-hide .apexcharts-series-points{opacity:0}.apexcharts-hidden-element-shown{opacity:1;transition:.25s ease all}.apexcharts-datalabel,.apexcharts-datalabel-label,.apexcharts-datalabel-value,.apexcharts-datalabels,.apexcharts-pie-label,.apexcharts-pie-name-label,.apexcharts-pie-name-label-group,.apexcharts-pie-label-connector{cursor:default;pointer-events:none}.apexcharts-pie-label-connector{fill:none}.apexcharts-pie-label-delay{opacity:0;animation-name:opaque;animation-duration:.3s;animation-fill-mode:forwards;animation-timing-function:ease}.apexcharts-radialbar-label{cursor:pointer}.apexcharts-annotation-rect,.apexcharts-area-series .apexcharts-area,.apexcharts-gridline,.apexcharts-line,.apexcharts-point-annotation-label,.apexcharts-radar-series path:not(.apexcharts-marker),.apexcharts-radar-series polygon,.apexcharts-toolbar svg,.apexcharts-tooltip .apexcharts-marker,.apexcharts-xaxis-annotation-label,.apexcharts-yaxis-annotation-label,.apexcharts-zoom-rect,.no-pointer-events{pointer-events:none}.apexcharts-tooltip-active .apexcharts-marker{transition:.15s ease all}.apexcharts-radar-series .apexcharts-yaxis{pointer-events:none}.resize-triggers{animation:1ms resizeanim;visibility:hidden;opacity:0;height:100%;width:100%;overflow:hidden}.contract-trigger:before,.resize-triggers,.resize-triggers>div{content:" ";display:block;position:absolute;top:0;left:0}.resize-triggers>div{height:100%;width:100%;background:#eee;overflow:auto}.contract-trigger:before{overflow:hidden;width:200%;height:200%}.apexcharts-bar-goals-markers,.apexcharts-bar-shadows,.apexcharts-rangebar-goals-markers{pointer-events:none}.apexcharts-drilldown-target{cursor:pointer}.apexcharts-breadcrumb{position:absolute;z-index:11;display:inline-flex;align-items:center;gap:2px;font-size:12px;font-family:inherit;padding:2px 4px}.apexcharts-breadcrumb-item{background:transparent;border:none;padding:2px 6px;border-radius:3px;font:inherit;color:inherit;cursor:pointer;line-height:1.2}.apexcharts-breadcrumb-item:hover:not(.apexcharts-breadcrumb-current){background:#00000014}.apexcharts-breadcrumb-arrow{margin-right:4px;font-weight:600;-webkit-user-select:none;user-select:none}.apexcharts-breadcrumb-current{cursor:default;font-weight:600;opacity:.85}.apexcharts-breadcrumb-separator{opacity:.5;-webkit-user-select:none;user-select:none}.apexcharts-theme-dark .apexcharts-breadcrumb-item:hover:not(.apexcharts-breadcrumb-current){background:#ffffff1f}.apexcharts-disable-transitions *{transition:none!important}:root{--color-bg: #0f1119;--color-surface: #1a1d2e;--color-surface-raised: #242736;--color-surface-hover: #2a2e3f;--color-border: #2a2e3f;--color-border-light: #323654;--color-text: #e8eaf0;--color-text-secondary: #9ca3b8;--color-text-muted: #6b728c;--color-text-inverse: #0f1119;--color-primary: #6366f1;--color-primary-hover: #818cf8;--color-primary-rgb: 99, 102, 241;--color-primary-subtle: rgba(99, 102, 241, .12);--color-accent: #a78bfa;--color-accent-rgb: 167, 139, 250;--color-accent-subtle: rgba(167, 139, 250, .12);--color-success: #22c55e;--color-success-rgb: 34, 197, 94;--color-success-subtle: rgba(34, 197, 94, .12);--color-warning: #f59e0b;--color-warning-rgb: 245, 158, 11;--color-warning-subtle: rgba(245, 158, 11, .12);--color-danger: #ef4444;--color-danger-rgb: 239, 68, 68;--color-danger-subtle: rgba(239, 68, 68, .12);--color-info: #06b6d4;--color-info-rgb: 6, 182, 212;--color-info-subtle: rgba(6, 182, 212, .12);--gradient-primary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #a78bfa 100%);--gradient-success: linear-gradient(135deg, #22c55e 0%, #10b981 100%);--gradient-warning: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);--gradient-danger: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);--gradient-info: linear-gradient(135deg, #06b6d4 0%, #3b82f6 100%);--gradient-sidebar: linear-gradient(180deg, #1a1040 0%, #0f1535 40%, #0f1119 100%);--font-sans: "Wix Madefor Text", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Fira Code", monospace;--font-size-xs: .75rem;--font-size-sm: .8125rem;--font-size-base: .875rem;--font-size-lg: 1rem;--font-size-xl: 1.125rem;--font-size-2xl: 1.25rem;--font-size-3xl: 1.5rem;--font-size-4xl: 1.875rem;--line-height: 1.6;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4), 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 6px rgba(0, 0, 0, .3), 0 2px 4px rgba(0, 0, 0, .2);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .4), 0 4px 10px rgba(0, 0, 0, .2);--shadow-xl: 0 20px 50px rgba(0, 0, 0, .5);--shadow-glow-primary: 0 0 20px rgba(99, 102, 241, .3);--shadow-glow-success: 0 0 20px rgba(34, 197, 94, .3);--shadow-glow-danger: 0 0 20px rgba(239, 68, 68, .3);--sidebar-width: 260px;--sidebar-collapsed-width: 72px;--topbar-height: 64px;--content-max-width: 1400px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--z-sidebar: 40;--z-topbar: 50;--z-overlay: 60;--z-modal: 70;--z-toast: 80}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;scroll-behavior:smooth}body{min-height:100vh;line-height:var(--line-height);font-family:var(--font-sans);font-size:var(--font-size-base);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video,canvas{display:block;max-width:100%}svg{display:inline-block;vertical-align:-.125em;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}a{color:inherit;text-decoration:none}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;color:var(--color-text)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}table{border-collapse:collapse;width:100%}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border-light);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}::selection{background:#6366f14d;color:var(--color-text)}.flex,.d-flex{display:flex}.flex-col{display:flex;flex-direction:column}.flex-wrap{flex-wrap:wrap}.d-inline-flex{display:inline-flex}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.flex-grow-1{flex:1}.items-center,.align-items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between,.justify-content-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.m-0{margin:0}.mb-0{margin-bottom:0}.mt-0{margin-top:0}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-5{margin-top:var(--space-5)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-5{margin-bottom:var(--space-5)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.ml-1{margin-left:var(--space-1)}.ml-2{margin-left:var(--space-2)}.ml-3{margin-left:var(--space-3)}.ml-4{margin-left:var(--space-4)}.mr-1{margin-right:var(--space-1)}.mr-2{margin-right:var(--space-2)}.mr-3{margin-right:var(--space-3)}.mr-4{margin-right:var(--space-4)}.mx-auto{margin-left:auto;margin-right:auto}.p-0{padding:0}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.px-2{padding-left:var(--space-2);padding-right:var(--space-2)}.px-3{padding-left:var(--space-3);padding-right:var(--space-3)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.px-5{padding-left:var(--space-5);padding-right:var(--space-5)}.px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.py-1{padding-top:var(--space-1);padding-bottom:var(--space-1)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-3{padding-top:var(--space-3);padding-bottom:var(--space-3)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.py-5{padding-top:var(--space-5);padding-bottom:var(--space-5)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-mono{font-family:var(--font-mono)}.text-primary{color:var(--color-primary)}.text-accent{color:var(--color-accent)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-danger{color:var(--color-danger)}.text-info{color:var(--color-info)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-uppercase{text-transform:uppercase;letter-spacing:.05em}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.w-full{width:100%}.w-auto{width:auto}.max-w-sm{max-width:480px}.max-w-md{max-width:640px}.max-w-lg{max-width:800px}.display-block{display:block}.display-flex{display:flex}.display-inline-block{display:inline-block}.hidden{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.cursor-pointer{cursor:pointer}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.row{display:flex;flex-wrap:wrap;margin-left:calc(var(--space-3) * -1);margin-right:calc(var(--space-3) * -1)}.row>*{padding-left:var(--space-3);padding-right:var(--space-3);flex-shrink:0;width:100%;max-width:100%}.col{flex:1 0 0%}.col-auto{flex:0 0 auto;width:auto}.col-12{flex:0 0 auto;width:100%}.col-6{flex:0 0 auto;width:50%}.col-4{flex:0 0 auto;width:33.333333%}.col-3{flex:0 0 auto;width:25%}.g-0{--grid-gap: 0}.g-3{--grid-gap: var(--space-3)}.g-4{--grid-gap: var(--space-4)}.row.g-0>*{padding-left:0;padding-right:0}.row.g-3{margin-left:calc(var(--space-3) * -1);margin-right:calc(var(--space-3) * -1)}.row.g-3>*{padding-left:var(--space-3);padding-right:var(--space-3)}@media (min-width: 576px){.col-sm-6{flex:0 0 auto;width:50%}.col-sm-4{flex:0 0 auto;width:33.333333%}}@media (min-width: 768px){.col-md-6{flex:0 0 auto;width:50%}.col-md-4{flex:0 0 auto;width:33.333333%}.col-md-3{flex:0 0 auto;width:25%}.col-md-2{flex:0 0 auto;width:16.666667%}}@media (min-width: 992px){.col-lg-6{flex:0 0 auto;width:50%}.col-lg-4{flex:0 0 auto;width:33.333333%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-2{flex:0 0 auto;width:16.666667%}.col-lg-8{flex:0 0 auto;width:66.666667%}.col-lg-12{flex:0 0 auto;width:100%}.text-lg-end{text-align:right}}@media (min-width: 1200px){.col-xl-6{flex:0 0 auto;width:50%}.col-xl-4{flex:0 0 auto;width:33.333333%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-8{flex:0 0 auto;width:66.666667%}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 8px #6366f166}50%{box-shadow:0 0 20px #6366f199}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner{display:inline-block;width:2rem;height:2rem;border:.2em solid rgba(99,102,241,.2);border-top-color:#6366f1;border-radius:50%;animation:spin .7s linear infinite}.spinner-sm{width:1rem;height:1rem;border-width:.15em}.animate-fade-in{animation:fadeIn var(--transition-base) ease-out}.animate-slide-up{animation:slideUp var(--transition-slow) ease-out}.animate-slide-down{animation:slideDown var(--transition-base) ease-out}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--space-5);transition:box-shadow var(--transition-base);overflow:hidden}.card:hover{box-shadow:var(--shadow-md)}.card-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);gap:var(--space-3)}.card-header h3,.card-header h4,.card-title{font-size:var(--font-size-lg);font-weight:600;margin:0}.card-body{padding:var(--space-5)}.card-footer{padding:var(--space-3) var(--space-5);border-top:1px solid var(--color-border);background:#ffffff04}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);position:relative;overflow:hidden;transition:all var(--transition-base)}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-primary);opacity:0;transition:opacity var(--transition-base)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.stat-card:hover:before{opacity:1}.stat-card .stat-icon{width:44px;height:44px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:var(--space-3)}.stat-card .stat-icon.primary{background:var(--color-primary-subtle);color:var(--color-primary)}.stat-card .stat-icon.success{background:var(--color-success-subtle);color:var(--color-success)}.stat-card .stat-icon.warning{background:var(--color-warning-subtle);color:var(--color-warning)}.stat-card .stat-icon.danger{background:var(--color-danger-subtle);color:var(--color-danger)}.stat-card .stat-icon.info{background:var(--color-info-subtle);color:var(--color-info)}.stat-card .stat-value{font-size:var(--font-size-3xl);font-weight:700;color:var(--color-text);line-height:1;margin-bottom:var(--space-1)}.stat-card .stat-label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:.5rem 1rem;font-size:var(--font-size-sm);font-weight:600;border-radius:var(--radius-md);transition:all var(--transition-fast);white-space:nowrap;line-height:1;height:38px;cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid transparent}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-sm{height:30px;padding:.25rem .75rem;font-size:var(--font-size-xs);border-radius:var(--radius-sm)}.btn-lg{height:46px;padding:.625rem 1.5rem;font-size:var(--font-size-base);border-radius:var(--radius-lg)}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 2px 8px #6366f14d}.btn-primary:hover{box-shadow:0 4px 16px #6366f180;transform:translateY(-1px)}.btn-success{background:var(--gradient-success);color:#fff;box-shadow:0 2px 8px #22c55e4d}.btn-success:hover{box-shadow:0 4px 16px #22c55e80;transform:translateY(-1px)}.btn-danger{background:var(--gradient-danger);color:#fff;box-shadow:0 2px 8px #ef44444d}.btn-danger:hover{box-shadow:0 4px 16px #ef444480;transform:translateY(-1px)}.btn-warning{background:var(--gradient-warning);color:#1a1a1a;box-shadow:0 2px 8px #f59e0b4d}.btn-warning:hover{box-shadow:0 4px 16px #f59e0b80;transform:translateY(-1px)}.btn-info{background:var(--gradient-info);color:#fff;box-shadow:0 2px 8px #06b6d44d}.btn-info:hover{box-shadow:0 4px 16px #06b6d480;transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--color-text-secondary);border-color:var(--color-border)}.btn-ghost:hover{background:var(--color-surface-hover);color:var(--color-text);border-color:var(--color-border-light)}.btn-outline{background:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn-outline:hover{background:var(--color-primary-subtle)}.btn-ghost-danger{background:transparent;color:var(--color-danger);border-color:transparent}.btn-ghost-danger:hover{background:var(--color-danger-subtle)}.btn-ghost-primary{background:transparent;color:var(--color-primary);border-color:transparent}.btn-ghost-primary:hover{background:var(--color-primary-subtle)}.btn-icon{width:34px;height:34px;padding:0;border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--color-text-secondary);border:1px solid transparent;transition:all var(--transition-fast)}.btn-icon:hover{background:var(--color-surface-hover);color:var(--color-text)}.btn-icon.primary:hover{color:var(--color-primary);background:var(--color-primary-subtle)}.btn-icon.danger:hover{color:var(--color-danger);background:var(--color-danger-subtle)}.btn-icon.sm{width:28px;height:28px;font-size:14px}.table-wrapper{overflow-x:auto;border-radius:var(--radius-md)}table{width:100%;border-collapse:collapse}table th{padding:var(--space-3) var(--space-4);font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;text-align:left;white-space:nowrap;background:#ffffff05;border-bottom:1px solid var(--color-border)}table td{padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);vertical-align:middle}table tbody tr{transition:background var(--transition-fast)}table tbody tr:hover{background:#ffffff05}table tbody tr:last-child td{border-bottom:none}table.striped tbody tr:nth-child(2n){background:#ffffff04}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:.2em .65em;font-size:var(--font-size-xs);font-weight:600;border-radius:var(--radius-full);white-space:nowrap;line-height:1.4}.badge-primary{background:var(--color-primary-subtle);color:var(--color-primary)}.badge-success{background:var(--color-success-subtle);color:var(--color-success)}.badge-warning{background:var(--color-warning-subtle);color:var(--color-warning)}.badge-danger{background:var(--color-danger-subtle);color:var(--color-danger)}.badge-info{background:var(--color-info-subtle);color:var(--color-info)}.badge-default{background:var(--color-surface-hover);color:var(--color-text-secondary)}.badge-dot{width:7px;height:7px;padding:0;border-radius:var(--radius-full)}.badge-dot.success{background:var(--color-success)}.badge-dot.warning{background:var(--color-warning)}.badge-dot.danger{background:var(--color-danger)}.badge-dot.info{background:var(--color-info)}.badge-dot.muted{background:var(--color-text-muted)}.form-group{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}.form-label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary)}.form-input,.form-select,.form-textarea{width:100%;padding:.5rem .75rem;font-size:var(--font-size-sm);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);transition:all var(--transition-fast);line-height:1.5}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #6366f126;outline:none}.form-input::placeholder{color:var(--color-text-muted)}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%236b728c' viewBox='0 0 16 16'%3E%3Cpath d='M4.646 5.646a.5.5 0 0 1 .708 0L8 8.293l2.646-2.647a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.5rem}.form-textarea{resize:vertical;min-height:80px}.form-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--space-1)}.form-error{font-size:var(--font-size-xs);color:var(--color-danger);margin-top:var(--space-1)}.form-input.error,.form-select.error{border-color:var(--color-danger)}.form-input.error:focus{box-shadow:0 0 0 3px #ef444426}.form-check{display:flex;align-items:center;gap:var(--space-2);cursor:pointer}.form-check input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border:1.5px solid var(--color-border-light);border-radius:3px;background:var(--color-bg);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;position:relative}.form-check input[type=checkbox]:checked{background:var(--color-primary);border-color:var(--color-primary)}.form-check input[type=checkbox]:checked:after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.form-switch{display:flex;align-items:center;gap:var(--space-2);cursor:pointer}.form-switch input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:36px;height:20px;background:var(--color-border);border-radius:var(--radius-full);position:relative;cursor:pointer;transition:background var(--transition-fast);flex-shrink:0}.form-switch input:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform var(--transition-fast)}.form-switch input:checked{background:var(--color-primary)}.form-switch input:checked:after{transform:translate(16px)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);animation:fadeIn var(--transition-fast) ease-out}.modal{background:var(--color-surface-raised);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:90%;max-width:640px;max-height:85vh;overflow-y:auto;animation:slideUp var(--transition-base) ease-out}.modal-sm{max-width:420px}.modal-lg{max-width:800px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border)}.modal-header h3{font-size:var(--font-size-lg);font-weight:600}.modal-body{padding:var(--space-5)}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border)}.modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);color:var(--color-text-muted);transition:all var(--transition-fast)}.modal-close:hover{background:var(--color-surface-hover);color:var(--color-text)}.alert{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid;font-size:var(--font-size-sm);margin-bottom:var(--space-4)}.alert-info{background:#06b6d41a;border-color:#06b6d44d;color:var(--color-info)}.alert-success{background:#22c55e1a;border-color:#22c55e4d;color:var(--color-success)}.alert-warning{background:#f59e0b1a;border-color:#f59e0b4d;color:var(--color-warning)}.alert-danger{background:#ef44441a;border-color:#ef44444d;color:var(--color-danger)}.spinner{width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .6s linear infinite}.spinner-sm{width:14px;height:14px;border-width:1.5px}.spinner-lg{width:32px;height:32px;border-width:3px}.skeleton{background:linear-gradient(90deg,var(--color-surface) 25%,var(--color-surface-hover) 50%,var(--color-surface) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}.skeleton-text{height:14px;margin-bottom:var(--space-2)}.skeleton-text:last-child{width:60%}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12) var(--space-4);text-align:center;color:var(--color-text-muted)}.empty-state .empty-icon{font-size:48px;margin-bottom:var(--space-4);opacity:.4}.empty-state .empty-title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--space-2)}.search-input-wrapper{position:relative}.search-input-wrapper .search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--color-text-muted);font-size:16px;pointer-events:none}.search-input-wrapper .form-input{padding-left:2.25rem}.toast-container{position:fixed;top:var(--space-6);right:var(--space-6);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-3)}.toast{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface-raised);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);font-size:var(--font-size-sm);animation:slideUp var(--transition-base) ease-out;min-width:300px}.toast.success{border-left:3px solid var(--color-success)}.toast.error{border-left:3px solid var(--color-danger)}.toast.warning{border-left:3px solid var(--color-warning)}.toast.info{border-left:3px solid var(--color-info)}.dropdown{position:relative;display:inline-block}.dropdown-menu{position:absolute;top:100%;right:0;margin-top:var(--space-2);min-width:200px;background:var(--color-surface-raised);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-1);z-index:var(--z-overlay);animation:slideDown var(--transition-fast) ease-out}.dropdown-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.dropdown-item:hover{background:var(--color-surface-hover);color:var(--color-text)}.dropdown-divider{height:1px;background:var(--color-border);margin:var(--space-1) 0}.pagination{display:flex;align-items:center;gap:var(--space-1)}.pagination .page-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-secondary);border:1px solid var(--color-border);background:transparent;transition:all var(--transition-fast)}.pagination .page-btn:hover:not(.active):not(:disabled){background:var(--color-surface-hover);color:var(--color-text)}.pagination .page-btn.active{background:var(--gradient-primary);color:#fff;border-color:transparent}.pagination .page-btn:disabled{opacity:.3;cursor:not-allowed}.tabs{display:flex;gap:0;border-bottom:1px solid var(--color-border);margin-bottom:var(--space-5)}.tab{padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-muted);border-bottom:2px solid transparent;transition:all var(--transition-fast);cursor:pointer;background:none}.tab:hover{color:var(--color-text-secondary)}.tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.page-header{margin-bottom:var(--space-6)}.page-title{font-size:var(--font-size-3xl);font-weight:700;color:var(--color-text);margin-bottom:var(--space-1)}.page-subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted)}code{font-family:var(--font-mono);font-size:.85em;padding:.15em .4em;background:var(--color-surface-hover);border-radius:var(--radius-sm);color:var(--color-accent)}.bg-primary-subtle{background:var(--color-primary-subtle)}.bg-success-subtle{background:var(--color-success-subtle)}.bg-warning-subtle{background:var(--color-warning-subtle)}.bg-danger-subtle{background:var(--color-danger-subtle)}.bg-info-subtle{background:var(--color-info-subtle)}.avatar-sm{width:3rem;height:3rem;display:flex;align-items:center;justify-content:center}.rounded-circle{border-radius:var(--radius-full)}.btn-group{display:inline-flex;gap:0}.btn-group .btn{border-radius:0}.btn-group .btn:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md)}.btn-group .btn:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0}.w-100{width:100%}.d-block{display:block}.d-none{display:none}@media (min-width: 768px){.d-md-block{display:block}}.me-1{margin-right:var(--space-1)}.me-2{margin-right:var(--space-2)}.ms-1{margin-left:var(--space-1)}.ms-2{margin-left:var(--space-2)}.flex-column{flex-direction:column}.align-items-start{align-items:flex-start}.invalid-feedback{font-size:var(--font-size-xs);color:var(--color-danger)}
