osi-cards-lib 1.5.45 → 1.5.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, inject, DestroyRef, NgZone, InjectionToken, PLATFORM_ID, Optional, Inject, signal, computed, Input, ChangeDetectionStrategy, Component, EventEmitter, Output, ChangeDetectorRef, ViewChild, ElementRef, Renderer2, HostListener, Directive, NgModule, makeEnvironmentProviders, ViewEncapsulation, ViewContainerRef, Injector, isDevMode, HostBinding, TemplateRef } from '@angular/core';
2
+ import { Injectable, inject, DestroyRef, NgZone, InjectionToken, PLATFORM_ID, Optional, Inject, signal, computed, Input, ChangeDetectionStrategy, Component, EventEmitter, Output, ChangeDetectorRef, effect, ViewChild, ElementRef, Renderer2, HostListener, Directive, NgModule, makeEnvironmentProviders, ViewEncapsulation, ViewContainerRef, Injector, isDevMode, HostBinding, TemplateRef } from '@angular/core';
3
3
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
4
  import { BehaviorSubject, Subject, filter, map, fromEvent, takeUntil, EMPTY, ReplaySubject, throwError, timer, firstValueFrom, merge, interval, catchError as catchError$1, of } from 'rxjs';
5
5
  import { tap, filter as filter$1, catchError, shareReplay, retryWhen, mergeMap, map as map$1, distinctUntilChanged, takeUntil as takeUntil$1 } from 'rxjs/operators';
@@ -7,6 +7,7 @@ import * as i1 from '@angular/common';
7
7
  import { DOCUMENT, isPlatformBrowser, CommonModule } from '@angular/common';
8
8
  import { __decorate } from 'tslib';
9
9
  import { HttpClient } from '@angular/common/http';
10
+ import { BaseChartDirective } from 'ng2-charts';
10
11
  import { FormsModule } from '@angular/forms';
11
12
  import * as i1$1 from '@angular/platform-browser';
12
13
  import * as i2 from 'lucide-angular';
@@ -4905,8 +4906,8 @@ function getSectionsRequiringExternalLibs() {
4905
4906
  * Manifest metadata
4906
4907
  */
4907
4908
  const MANIFEST_META = {
4908
- generatedAt: '2026-01-08T11:23:10.205Z',
4909
- registryVersion: '1.5.45',
4909
+ generatedAt: '2026-01-08T13:31:21.254Z',
4910
+ registryVersion: '1.5.46',
4910
4911
  totalSections: 20,
4911
4912
  publicSections: 20
4912
4913
  };
@@ -18569,553 +18570,758 @@ var brandColorsSection_component = /*#__PURE__*/Object.freeze({
18569
18570
  });
18570
18571
 
18571
18572
  /**
18572
- * Optional Import Utility
18573
+ * Abstract Base Classes for Section Patterns
18573
18574
  *
18574
- * Provides safe dynamic imports for optional dependencies that may not be installed.
18575
- * This is particularly useful for libraries like frappe-charts and leaflet that are
18576
- * declared as optional dependencies but may not be present in consuming applications.
18575
+ * Provides specialized abstract base classes for different section types:
18576
+ * - FieldBasedSectionComponent: For sections that primarily display fields
18577
+ * - ItemBasedSectionComponent: For sections that primarily display items/lists
18578
+ * - ChartSectionBaseComponent: For sections with data visualizations
18579
+ * - MixedContentSectionComponent: For sections with both fields and items
18580
+ *
18581
+ * @module components/sections/abstract-section-bases
18582
+ */
18583
+ // ============================================================================
18584
+ // FIELD-BASED SECTION
18585
+ // ============================================================================
18586
+ /**
18587
+ * Abstract base for sections that primarily display fields (key-value pairs).
18588
+ *
18589
+ * Use this for sections like:
18590
+ * - Info Section
18591
+ * - Analytics Section
18592
+ * - Financials Section
18593
+ * - Overview Section
18577
18594
  *
18578
18595
  * @example
18579
18596
  * ```typescript
18580
- * const result = await safeImport('frappe-charts');
18581
- * if (result.success) {
18582
- * const Chart = result.module;
18583
- * // Use Chart...
18584
- * } else {
18585
- * console.error('frappe-charts not installed:', result.error);
18597
+ * @Component({...})
18598
+ * export class InfoSectionComponent extends FieldBasedSectionComponent {
18599
+ * static override readonly layoutConfig: SectionLayoutConfig = {
18600
+ * preferredColumns: 1,
18601
+ * minColumns: 1,
18602
+ * maxColumns: 2,
18603
+ * expandOnFieldCount: 6
18604
+ * };
18586
18605
  * }
18587
18606
  * ```
18588
18607
  */
18608
+ class FieldBasedSectionComponent extends BaseSectionComponent {
18609
+ constructor() {
18610
+ super(...arguments);
18611
+ /**
18612
+ * Fields to display (computed from section)
18613
+ */
18614
+ this.displayFields = computed(() => this.getDisplayFields(), ...(ngDevMode ? [{ debugName: "displayFields" }] : []));
18615
+ /**
18616
+ * Number of visible fields
18617
+ */
18618
+ this.fieldCount = computed(() => this.displayFields().length, ...(ngDevMode ? [{ debugName: "fieldCount" }] : []));
18619
+ /**
18620
+ * Whether the section has displayable content
18621
+ */
18622
+ this.hasContent = computed(() => this.fieldCount() > 0, ...(ngDevMode ? [{ debugName: "hasContent" }] : []));
18623
+ }
18624
+ /**
18625
+ * Override in subclass to customize layout behavior
18626
+ */
18627
+ static { this.layoutConfig = {
18628
+ ...DEFAULT_LAYOUT_CONFIG$1,
18629
+ expandOnFieldCount: 5,
18630
+ }; }
18631
+ /**
18632
+ * Get fields filtered for display (removes streaming placeholders)
18633
+ */
18634
+ getDisplayFields() {
18635
+ return this.getFields().filter((field) => {
18636
+ const value = this.getFieldValue(field);
18637
+ return value !== undefined && value !== null && !this.isStreamingPlaceholder(value);
18638
+ });
18639
+ }
18640
+ /**
18641
+ * Format field value for display
18642
+ */
18643
+ formatFieldValue(field) {
18644
+ const value = this.getFieldValue(field);
18645
+ if (value === null || value === undefined) {
18646
+ return '';
18647
+ }
18648
+ // Handle formatting based on field.format
18649
+ switch (field.format) {
18650
+ case 'currency':
18651
+ return this.formatCurrency(value);
18652
+ case 'percentage':
18653
+ return this.formatPercentage(value);
18654
+ case 'number':
18655
+ return this.formatNumber(value);
18656
+ default:
18657
+ return String(value);
18658
+ }
18659
+ }
18660
+ /**
18661
+ * Format value as currency
18662
+ */
18663
+ formatCurrency(value) {
18664
+ if (typeof value === 'number') {
18665
+ return new Intl.NumberFormat('en-US', {
18666
+ style: 'currency',
18667
+ currency: 'USD',
18668
+ }).format(value);
18669
+ }
18670
+ return String(value);
18671
+ }
18672
+ /**
18673
+ * Format value as percentage
18674
+ */
18675
+ formatPercentage(value) {
18676
+ if (typeof value === 'number') {
18677
+ return `${value}%`;
18678
+ }
18679
+ return String(value);
18680
+ }
18681
+ /**
18682
+ * Format value as number
18683
+ */
18684
+ formatNumber(value) {
18685
+ if (typeof value === 'number') {
18686
+ return new Intl.NumberFormat('en-US').format(value);
18687
+ }
18688
+ return String(value);
18689
+ }
18690
+ /**
18691
+ * Handle field click
18692
+ */
18693
+ onFieldClick(field, index) {
18694
+ this.emitFieldInteraction(field, {
18695
+ action: 'click',
18696
+ index,
18697
+ });
18698
+ }
18699
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: FieldBasedSectionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
18700
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.14", type: FieldBasedSectionComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
18701
+ }
18702
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: FieldBasedSectionComponent, decorators: [{
18703
+ type: Component,
18704
+ args: [{
18705
+ template: '',
18706
+ changeDetection: ChangeDetectionStrategy.OnPush,
18707
+ }]
18708
+ }] });
18709
+ // ============================================================================
18710
+ // ITEM-BASED SECTION
18711
+ // ============================================================================
18589
18712
  /**
18590
- * Safely import an optional module
18713
+ * Abstract base for sections that primarily display items (lists, cards).
18591
18714
  *
18592
- * This function wraps dynamic imports in a try-catch to gracefully handle
18593
- * cases where the module is not installed. It provides helpful error messages
18594
- * to guide users on how to install missing dependencies.
18715
+ * Use this for sections like:
18716
+ * - List Section
18717
+ * - News Section
18718
+ * - Network Card Section
18719
+ *
18720
+ * @example
18721
+ * ```typescript
18722
+ * @Component({...})
18723
+ * export class ListSectionComponent extends ItemBasedSectionComponent {
18724
+ * static override readonly layoutConfig: SectionLayoutConfig = {
18725
+ * preferredColumns: 1,
18726
+ * minColumns: 1,
18727
+ * maxColumns: 2,
18728
+ * expandOnItemCount: 4
18729
+ * };
18730
+ * }
18731
+ * ```
18732
+ */
18733
+ class ItemBasedSectionComponent extends BaseSectionComponent {
18734
+ constructor() {
18735
+ super(...arguments);
18736
+ /**
18737
+ * Maximum items to show before "show more"
18738
+ */
18739
+ this.maxVisibleItems = 10;
18740
+ /**
18741
+ * Whether to show expand/collapse toggle
18742
+ */
18743
+ this.showExpandToggle = true;
18744
+ /**
18745
+ * Expanded state
18746
+ */
18747
+ this.isExpanded = signal(false, ...(ngDevMode ? [{ debugName: "isExpanded" }] : []));
18748
+ /**
18749
+ * Items to display (computed from section)
18750
+ */
18751
+ this.displayItems = computed(() => this.getDisplayItems(), ...(ngDevMode ? [{ debugName: "displayItems" }] : []));
18752
+ /**
18753
+ * Total item count
18754
+ */
18755
+ this.itemCount = computed(() => this.displayItems().length, ...(ngDevMode ? [{ debugName: "itemCount" }] : []));
18756
+ /**
18757
+ * Visible items (respects maxVisibleItems when collapsed)
18758
+ */
18759
+ this.visibleItems = computed(() => {
18760
+ const items = this.displayItems();
18761
+ if (this.isExpanded() || items.length <= this.maxVisibleItems) {
18762
+ return items;
18763
+ }
18764
+ return items.slice(0, this.maxVisibleItems);
18765
+ }, ...(ngDevMode ? [{ debugName: "visibleItems" }] : []));
18766
+ /**
18767
+ * Whether there are more items to show
18768
+ */
18769
+ this.hasMoreItems = computed(() => this.displayItems().length > this.maxVisibleItems, ...(ngDevMode ? [{ debugName: "hasMoreItems" }] : []));
18770
+ /**
18771
+ * Number of hidden items
18772
+ */
18773
+ this.hiddenItemCount = computed(() => Math.max(0, this.displayItems().length - this.maxVisibleItems), ...(ngDevMode ? [{ debugName: "hiddenItemCount" }] : []));
18774
+ /**
18775
+ * Whether the section has displayable content
18776
+ */
18777
+ this.hasContent = computed(() => this.itemCount() > 0, ...(ngDevMode ? [{ debugName: "hasContent" }] : []));
18778
+ }
18779
+ /**
18780
+ * Override in subclass to customize layout behavior
18781
+ */
18782
+ static { this.layoutConfig = {
18783
+ ...DEFAULT_LAYOUT_CONFIG$1,
18784
+ expandOnItemCount: 4,
18785
+ }; }
18786
+ /**
18787
+ * Get items filtered for display
18788
+ */
18789
+ getDisplayItems() {
18790
+ return this.getItems().filter((item) => {
18791
+ const title = item.title;
18792
+ return title !== undefined && title !== null && !this.isStreamingPlaceholder(title);
18793
+ });
18794
+ }
18795
+ /**
18796
+ * Toggle expanded state
18797
+ */
18798
+ toggleExpanded() {
18799
+ this.isExpanded.update((v) => !v);
18800
+ }
18801
+ /**
18802
+ * Expand to show all items
18803
+ */
18804
+ expand() {
18805
+ this.isExpanded.set(true);
18806
+ }
18807
+ /**
18808
+ * Collapse to show limited items
18809
+ */
18810
+ collapse() {
18811
+ this.isExpanded.set(false);
18812
+ }
18813
+ /**
18814
+ * Handle item click
18815
+ */
18816
+ onItemClick(item, index) {
18817
+ this.emitItemInteraction(item, {
18818
+ action: 'click',
18819
+ index,
18820
+ });
18821
+ }
18822
+ /**
18823
+ * Handle item action (e.g., link click)
18824
+ */
18825
+ onItemAction(item, action) {
18826
+ const meta = item.meta;
18827
+ this.emitItemInteraction(item, {
18828
+ action,
18829
+ url: meta?.['url'],
18830
+ linkText: meta?.['linkText'],
18831
+ });
18832
+ }
18833
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ItemBasedSectionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
18834
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.14", type: ItemBasedSectionComponent, isStandalone: true, selector: "ng-component", inputs: { maxVisibleItems: "maxVisibleItems", showExpandToggle: "showExpandToggle" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
18835
+ }
18836
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ItemBasedSectionComponent, decorators: [{
18837
+ type: Component,
18838
+ args: [{
18839
+ template: '',
18840
+ changeDetection: ChangeDetectionStrategy.OnPush,
18841
+ }]
18842
+ }], propDecorators: { maxVisibleItems: [{
18843
+ type: Input
18844
+ }], showExpandToggle: [{
18845
+ type: Input
18846
+ }] } });
18847
+ /**
18848
+ * Abstract base for sections with data visualizations.
18595
18849
  *
18596
- * @param moduleName - The name of the module to import (e.g., 'frappe-charts')
18597
- * @param installCommand - Optional npm install command to suggest (e.g., 'npm install frappe-charts')
18598
- * @returns Promise resolving to either success with module or failure with error
18850
+ * Use this for:
18851
+ * - Chart Section
18852
+ * - Analytics sections with charts
18599
18853
  *
18600
18854
  * @example
18601
18855
  * ```typescript
18602
- * const result = await safeImport('frappe-charts', 'npm install frappe-charts');
18603
- * if (result.success) {
18604
- * // Use result.module
18605
- * } else {
18606
- * // Handle error: result.error and result.message
18856
+ * @Component({...})
18857
+ * export class ChartSectionComponent extends ChartSectionBaseComponent {
18858
+ * static override readonly layoutConfig: SectionLayoutConfig = {
18859
+ * preferredColumns: 2,
18860
+ * minColumns: 1,
18861
+ * maxColumns: 4
18862
+ * };
18607
18863
  * }
18608
18864
  * ```
18609
18865
  */
18610
- async function safeImport(moduleName, installCommand) {
18611
- try {
18612
- // Use dynamic import - Vite will try to resolve this at build time
18613
- // The @vite-ignore comment tells Vite to skip analyzing this import
18614
- // If the module doesn't exist, it will fail at runtime and we catch it here
18615
- // Note: For this to work properly, the consuming app should install the dependency
18616
- // or configure Vite to externalize it
18617
- const module = await import(
18618
- /* @vite-ignore */
18619
- moduleName);
18620
- return {
18621
- success: true,
18622
- module: module,
18623
- };
18866
+ class ChartSectionBaseComponent extends BaseSectionComponent {
18867
+ constructor() {
18868
+ super(...arguments);
18869
+ /**
18870
+ * Whether the chart library is loaded
18871
+ */
18872
+ this.chartLibraryLoaded = signal(false, ...(ngDevMode ? [{ debugName: "chartLibraryLoaded" }] : []));
18873
+ /**
18874
+ * Chart loading error
18875
+ */
18876
+ this.chartError = signal(null, ...(ngDevMode ? [{ debugName: "chartError" }] : []));
18877
+ /**
18878
+ * Chart type (bar, line, pie, doughnut)
18879
+ */
18880
+ this.chartType = computed(() => this.section.chartType ?? 'bar', ...(ngDevMode ? [{ debugName: "chartType" }] : []));
18881
+ /**
18882
+ * Processed chart configuration
18883
+ */
18884
+ this.chartConfig = computed(() => {
18885
+ const chartData = this.section.chartData;
18886
+ if (!chartData)
18887
+ return null;
18888
+ return {
18889
+ type: this.chartType(),
18890
+ labels: chartData.labels ?? [],
18891
+ datasets: (chartData.datasets ?? []).map((ds) => {
18892
+ const dataset = {
18893
+ label: ds.label,
18894
+ data: ds.data.map((v) => (v === null ? 0 : v)),
18895
+ borderWidth: ds.borderWidth ?? 1,
18896
+ };
18897
+ // Only add optional properties if defined
18898
+ if (ds.backgroundColor !== undefined) {
18899
+ dataset.backgroundColor = ds.backgroundColor;
18900
+ }
18901
+ if (ds.borderColor !== undefined) {
18902
+ dataset.borderColor = ds.borderColor;
18903
+ }
18904
+ return dataset;
18905
+ }),
18906
+ };
18907
+ }, ...(ngDevMode ? [{ debugName: "chartConfig" }] : []));
18908
+ /**
18909
+ * Whether the chart has valid data
18910
+ */
18911
+ this.hasValidData = computed(() => {
18912
+ const config = this.chartConfig();
18913
+ return (config !== null &&
18914
+ config.datasets.length > 0 &&
18915
+ config.datasets.some((ds) => ds.data.length > 0));
18916
+ }, ...(ngDevMode ? [{ debugName: "hasValidData" }] : []));
18917
+ /**
18918
+ * Total value across all datasets
18919
+ */
18920
+ this.totalValue = computed(() => {
18921
+ const config = this.chartConfig();
18922
+ if (!config)
18923
+ return 0;
18924
+ return config.datasets.reduce((sum, ds) => sum + ds.data.reduce((a, b) => a + b, 0), 0);
18925
+ }, ...(ngDevMode ? [{ debugName: "totalValue" }] : []));
18624
18926
  }
18625
- catch (error) {
18626
- // Handle different types of import errors
18627
- const errorMessage = error instanceof Error ? error.message : typeof error === 'string' ? error : 'Unknown error';
18628
- // Check if it's a module resolution error
18629
- const isModuleNotFound = errorMessage.includes('Cannot find module') ||
18630
- errorMessage.includes('Failed to resolve') ||
18631
- errorMessage.includes('does not exist') ||
18632
- errorMessage.includes('MODULE_NOT_FOUND');
18633
- const installSuggestion = installCommand || `npm install ${moduleName}`;
18634
- const userMessage = isModuleNotFound
18635
- ? `${moduleName} is not installed. Please install it using: ${installSuggestion}`
18636
- : `Failed to import ${moduleName}: ${errorMessage}`;
18637
- const importError = new Error(userMessage);
18638
- if (error instanceof Error) {
18639
- importError.stack = error.stack;
18640
- importError.cause = error;
18927
+ /**
18928
+ * Override in subclass to customize layout behavior
18929
+ */
18930
+ static { this.layoutConfig = {
18931
+ ...DEFAULT_LAYOUT_CONFIG$1,
18932
+ preferredColumns: 2,
18933
+ }; }
18934
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ChartSectionBaseComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
18935
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.14", type: ChartSectionBaseComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
18936
+ }
18937
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ChartSectionBaseComponent, decorators: [{
18938
+ type: Component,
18939
+ args: [{
18940
+ template: '',
18941
+ changeDetection: ChangeDetectionStrategy.OnPush,
18942
+ }]
18943
+ }] });
18944
+ // ============================================================================
18945
+ // MIXED CONTENT SECTION
18946
+ // ============================================================================
18947
+ /**
18948
+ * Abstract base for sections with both fields and items.
18949
+ *
18950
+ * Use this for:
18951
+ * - Event Section (event details + timeline items)
18952
+ * - Solutions Section (overview fields + solution items)
18953
+ * - Social Media Section (profile fields + posts)
18954
+ *
18955
+ * @example
18956
+ * ```typescript
18957
+ * @Component({...})
18958
+ * export class EventSectionComponent extends MixedContentSectionComponent {
18959
+ * static override readonly layoutConfig: SectionLayoutConfig = {
18960
+ * preferredColumns: 1,
18961
+ * minColumns: 1,
18962
+ * maxColumns: 2
18963
+ * };
18964
+ * }
18965
+ * ```
18966
+ */
18967
+ class MixedContentSectionComponent extends BaseSectionComponent {
18968
+ constructor() {
18969
+ super(...arguments);
18970
+ /**
18971
+ * Fields to display
18972
+ */
18973
+ this.displayFields = computed(() => this.getFilteredFields(), ...(ngDevMode ? [{ debugName: "displayFields" }] : []));
18974
+ /**
18975
+ * Items to display
18976
+ */
18977
+ this.displayItems = computed(() => this.getFilteredItems(), ...(ngDevMode ? [{ debugName: "displayItems" }] : []));
18978
+ /**
18979
+ * Field count
18980
+ */
18981
+ this.fieldCount = computed(() => this.displayFields().length, ...(ngDevMode ? [{ debugName: "fieldCount" }] : []));
18982
+ /**
18983
+ * Item count
18984
+ */
18985
+ this.itemCount = computed(() => this.displayItems().length, ...(ngDevMode ? [{ debugName: "itemCount" }] : []));
18986
+ /**
18987
+ * Whether section has any displayable content
18988
+ */
18989
+ this.hasContent = computed(() => this.fieldCount() > 0 || this.itemCount() > 0, ...(ngDevMode ? [{ debugName: "hasContent" }] : []));
18990
+ /**
18991
+ * Whether section has both fields and items
18992
+ */
18993
+ this.hasMixedContent = computed(() => this.fieldCount() > 0 && this.itemCount() > 0, ...(ngDevMode ? [{ debugName: "hasMixedContent" }] : []));
18994
+ }
18995
+ /**
18996
+ * Override in subclass to customize layout behavior
18997
+ */
18998
+ static { this.layoutConfig = DEFAULT_LAYOUT_CONFIG$1; }
18999
+ /**
19000
+ * Get filtered fields for display
19001
+ */
19002
+ getFilteredFields() {
19003
+ return this.getFields().filter((field) => {
19004
+ const value = this.getFieldValue(field);
19005
+ return value !== undefined && value !== null && !this.isStreamingPlaceholder(value);
19006
+ });
19007
+ }
19008
+ /**
19009
+ * Get filtered items for display
19010
+ */
19011
+ getFilteredItems() {
19012
+ return this.getItems().filter((item) => {
19013
+ const title = item.title;
19014
+ return title !== undefined && title !== null && !this.isStreamingPlaceholder(title);
19015
+ });
19016
+ }
19017
+ /**
19018
+ * Handle field interaction
19019
+ */
19020
+ onFieldClick(field, index) {
19021
+ this.emitFieldInteraction(field, {
19022
+ action: 'click',
19023
+ index,
19024
+ contentType: 'field',
19025
+ });
19026
+ }
19027
+ /**
19028
+ * Handle item interaction
19029
+ */
19030
+ onItemClick(item, index) {
19031
+ // Type assertion needed since MixedContent handles both CardField and CardItem
19032
+ this.emitItemInteraction(item, {
19033
+ action: 'click',
19034
+ index,
19035
+ contentType: 'item',
19036
+ });
19037
+ }
19038
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: MixedContentSectionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
19039
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.14", type: MixedContentSectionComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19040
+ }
19041
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: MixedContentSectionComponent, decorators: [{
19042
+ type: Component,
19043
+ args: [{
19044
+ template: '',
19045
+ changeDetection: ChangeDetectionStrategy.OnPush,
19046
+ }]
19047
+ }] });
19048
+ /**
19049
+ * Abstract base for contact/profile sections.
19050
+ *
19051
+ * Use this for:
19052
+ * - Contact Card Section
19053
+ * - Profile sections
19054
+ *
19055
+ * @example
19056
+ * ```typescript
19057
+ * @Component({...})
19058
+ * export class ContactCardSectionComponent extends ContactSectionBaseComponent {
19059
+ * static override readonly layoutConfig: SectionLayoutConfig = {
19060
+ * preferredColumns: 2,
19061
+ * minColumns: 1,
19062
+ * maxColumns: 2
19063
+ * };
19064
+ * }
19065
+ * ```
19066
+ */
19067
+ class ContactSectionBaseComponent extends FieldBasedSectionComponent {
19068
+ constructor() {
19069
+ super(...arguments);
19070
+ /**
19071
+ * Extracted contact information
19072
+ */
19073
+ this.contactInfo = computed(() => {
19074
+ const fields = this.getFields();
19075
+ const info = {};
19076
+ for (const field of fields) {
19077
+ const label = (field.label ?? '').toLowerCase();
19078
+ const value = this.getFieldValue(field);
19079
+ if (typeof value !== 'string')
19080
+ continue;
19081
+ if (label.includes('name'))
19082
+ info.name = value;
19083
+ else if (label.includes('title') || label.includes('role'))
19084
+ info.title = value;
19085
+ else if (label.includes('company') || label.includes('organization'))
19086
+ info.company = value;
19087
+ else if (label.includes('email'))
19088
+ info.email = value;
19089
+ else if (label.includes('phone') || label.includes('tel'))
19090
+ info.phone = value;
19091
+ else if (label.includes('linkedin'))
19092
+ info.linkedIn = value;
19093
+ else if (label.includes('twitter'))
19094
+ info.twitter = value;
19095
+ }
19096
+ // Check for image URL in section metadata
19097
+ const sectionMeta = this.section.meta ?? {};
19098
+ if (typeof sectionMeta['imageUrl'] === 'string') {
19099
+ info.imageUrl = sectionMeta['imageUrl'];
19100
+ }
19101
+ return info;
19102
+ }, ...(ngDevMode ? [{ debugName: "contactInfo" }] : []));
19103
+ /**
19104
+ * Get initials from name
19105
+ */
19106
+ this.initials = computed(() => {
19107
+ const name = this.contactInfo().name;
19108
+ if (!name)
19109
+ return '';
19110
+ return name
19111
+ .split(' ')
19112
+ .map((part) => part[0])
19113
+ .filter(Boolean)
19114
+ .slice(0, 2)
19115
+ .join('')
19116
+ .toUpperCase();
19117
+ }, ...(ngDevMode ? [{ debugName: "initials" }] : []));
19118
+ }
19119
+ /**
19120
+ * Override in subclass to customize layout behavior
19121
+ */
19122
+ static { this.layoutConfig = {
19123
+ ...DEFAULT_LAYOUT_CONFIG$1,
19124
+ preferredColumns: 2,
19125
+ matchItemCount: true,
19126
+ }; }
19127
+ /**
19128
+ * Handle email action
19129
+ */
19130
+ onEmailClick() {
19131
+ const email = this.contactInfo().email;
19132
+ if (email) {
19133
+ const mailtoUrl = `mailto:${email}`;
19134
+ // Platform-specific: Windows uses mailto: (New Outlook compatibility), Mac uses ms-outlook:
19135
+ if (typeof navigator !== 'undefined') {
19136
+ const isWindows = /Win/i.test(navigator.platform) || /Windows/i.test(navigator.userAgent);
19137
+ if (isWindows) {
19138
+ // Windows: Use mailto: (New Outlook doesn't support custom schemes)
19139
+ // Will open Outlook if set as default email client
19140
+ window.location.href = mailtoUrl;
19141
+ return;
19142
+ }
19143
+ }
19144
+ // Mac: Use ms-outlook: scheme (works with Outlook desktop app)
19145
+ window.location.href = mailtoUrl;
18641
19146
  }
18642
- return {
18643
- success: false,
18644
- error: importError,
18645
- message: userMessage,
18646
- };
18647
19147
  }
19148
+ /**
19149
+ * Handle phone action
19150
+ */
19151
+ onPhoneClick() {
19152
+ const phone = this.contactInfo().phone;
19153
+ if (phone) {
19154
+ window.location.href = `tel:${phone}`;
19155
+ }
19156
+ }
19157
+ /**
19158
+ * Handle LinkedIn action
19159
+ */
19160
+ onLinkedInClick() {
19161
+ const linkedIn = this.contactInfo().linkedIn;
19162
+ if (linkedIn) {
19163
+ window.open(linkedIn, '_blank', 'noopener,noreferrer');
19164
+ }
19165
+ }
19166
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ContactSectionBaseComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
19167
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.14", type: ContactSectionBaseComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
18648
19168
  }
19169
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ContactSectionBaseComponent, decorators: [{
19170
+ type: Component,
19171
+ args: [{
19172
+ template: '',
19173
+ changeDetection: ChangeDetectionStrategy.OnPush,
19174
+ }]
19175
+ }] });
18649
19176
 
18650
19177
  /**
18651
19178
  * Chart Section Component
18652
19179
  *
18653
- * Displays data visualizations using Frappe Charts.
18654
- * Supports: bar, line, pie, percentage (doughnut), area charts.
19180
+ * Displays data visualizations using Chart.js library.
19181
+ * Supports bar, line, pie, and doughnut chart types.
18655
19182
  *
18656
- * Note: Requires frappe-charts to be installed.
19183
+ * Note: Requires Chart.js library to be installed.
18657
19184
  */
18658
- class ChartSectionComponent extends BaseSectionComponent {
19185
+ class ChartSectionComponent extends ChartSectionBaseComponent {
18659
19186
  constructor() {
18660
19187
  super(...arguments);
18661
19188
  this.layoutService = inject(SectionLayoutPreferenceService);
18662
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
18663
- this.chartInstance = null;
18664
- this.chartLibraryLoaded = false;
18665
- this.chartError = null;
18666
- this.isRendering = false;
19189
+ this.chartInitFailed = false;
19190
+ this.chartLoading = true;
19191
+ // Chart.js configuration
19192
+ this.chartData = {
19193
+ labels: [],
19194
+ datasets: [],
19195
+ };
19196
+ this.chartOptions = {
19197
+ responsive: true,
19198
+ maintainAspectRatio: false,
19199
+ plugins: {
19200
+ legend: {
19201
+ display: true,
19202
+ position: 'bottom',
19203
+ },
19204
+ },
19205
+ };
19206
+ // Chart.js chart type (different from base class computed chartType)
19207
+ this.chartJsType = 'bar';
18667
19208
  }
18668
19209
  ngOnInit() {
18669
19210
  // Register layout preference function for this section type
18670
19211
  this.layoutService.register('chart', (section, availableColumns) => {
18671
19212
  return this.calculateChartLayoutPreferences(section, availableColumns);
18672
19213
  });
19214
+ // Watch for chart config changes and update chart
19215
+ effect(() => {
19216
+ const config = this.chartConfig();
19217
+ if (config && this.chartLibraryLoaded()) {
19218
+ this.updateChartData(config);
19219
+ }
19220
+ });
18673
19221
  }
18674
19222
  ngAfterViewInit() {
18675
- // Use setTimeout to ensure ViewChild is fully initialized
18676
- setTimeout(() => {
18677
- this.renderChart();
18678
- }, 0);
19223
+ this.initializeChart();
18679
19224
  }
18680
19225
  ngOnDestroy() {
18681
19226
  this.destroyChart();
18682
19227
  }
18683
- ngOnChanges(changes) {
18684
- // Call parent implementation for animation state management
18685
- super.ngOnChanges(changes);
18686
- if (changes['section']) {
18687
- const currentChartType = this.section.chartType || 'bar';
18688
- const currentDataHash = JSON.stringify(this.section.chartData);
18689
- // Wait for ViewChild to be available if not already
18690
- if (!this.chartContainer) {
18691
- // If view isn't initialized yet, ngAfterViewInit will handle rendering
18692
- this.previousChartType = currentChartType;
18693
- this.previousChartDataHash = currentDataHash;
18694
- return;
18695
- }
18696
- // If chart type changed, destroy and recreate
18697
- if (this.previousChartType !== undefined && this.previousChartType !== currentChartType) {
18698
- this.destroyChart();
18699
- setTimeout(() => {
18700
- this.renderChart();
18701
- }, 0);
18702
- }
18703
- // If data changed but type is same, update existing chart
18704
- else if (this.chartInstance && this.previousChartDataHash !== currentDataHash) {
18705
- this.updateChart();
18706
- }
18707
- // Initial render case
18708
- else if (!this.chartInstance && this.section.chartData) {
18709
- setTimeout(() => {
18710
- this.renderChart();
18711
- }, 0);
18712
- }
18713
- this.previousChartType = currentChartType;
18714
- this.previousChartDataHash = currentDataHash;
18715
- }
18716
- }
18717
19228
  /**
18718
- * Render chart using Frappe Charts (if available)
19229
+ * Load Chart.js library dynamically
18719
19230
  */
18720
- async renderChart() {
18721
- // Prevent multiple simultaneous render calls
18722
- if (this.isRendering) {
18723
- return;
18724
- }
18725
- // Ensure container element exists
18726
- if (!this.chartContainer?.nativeElement) {
18727
- console.warn('Chart container element not available');
18728
- return;
18729
- }
18730
- const chartData = this.section.chartData;
18731
- const chartType = this.section.chartType || 'bar';
18732
- if (!chartData || !chartData.datasets || chartData.datasets.length === 0) {
18733
- this.chartError = 'No chart data available';
18734
- this.cdr.detectChanges();
18735
- return;
18736
- }
18737
- this.isRendering = true;
19231
+ async loadChartLibrary() {
18738
19232
  try {
18739
- // Dynamic import of Frappe Charts using safe import helper
18740
- // This gracefully handles cases where frappe-charts is not installed
18741
- const importResult = await safeImport('frappe-charts', 'npm install frappe-charts');
18742
- if (!importResult.success) {
18743
- this.chartLibraryLoaded = false;
18744
- this.chartError = importResult.message;
18745
- console.error('Frappe Charts import error:', importResult.error);
18746
- this.cdr.detectChanges();
18747
- return;
18748
- }
18749
- const frappeChartsModule = importResult.module;
18750
- // Handle different module export patterns (CJS/ESM interop)
18751
- // Frappe Charts exports Chart as default, but build tools may wrap it differently
18752
- let Chart = null;
18753
- const module = frappeChartsModule;
18754
- // Pattern 1: Direct default export (most common for ESM)
18755
- if (module.default) {
18756
- if (typeof module.default === 'function') {
18757
- Chart = module.default;
18758
- }
18759
- else if (typeof module.default === 'object' &&
18760
- module.default !== null &&
18761
- 'Chart' in module.default &&
18762
- typeof module.default.Chart === 'function') {
18763
- // Default is an object containing Chart
18764
- Chart = module.default.Chart;
18765
- }
18766
- else if (typeof module.default === 'object' &&
18767
- module.default !== null &&
18768
- 'default' in module.default &&
18769
- typeof module.default.default === 'function') {
18770
- // Nested default (some build tools)
18771
- Chart = module.default.default;
18772
- }
18773
- }
18774
- // Pattern 2: Named export Chart (if default didn't work)
18775
- if (!Chart && module.Chart && typeof module.Chart === 'function') {
18776
- Chart = module.Chart;
18777
- }
18778
- // Pattern 3: Module itself is the Chart (unlikely but possible)
18779
- if (!Chart && typeof frappeChartsModule === 'function') {
18780
- Chart = frappeChartsModule;
18781
- }
18782
- // Validate that Chart is a constructor
18783
- if (!Chart || typeof Chart !== 'function') {
18784
- console.error('Frappe Charts module structure:', {
18785
- module: frappeChartsModule,
18786
- defaultType: typeof frappeChartsModule.default,
18787
- hasChart: 'Chart' in frappeChartsModule,
18788
- moduleKeys: Object.keys(frappeChartsModule),
18789
- });
18790
- throw new Error('Chart is not a constructor. Frappe Charts library may not be loaded correctly. ' +
18791
- 'Please ensure frappe-charts is installed: npm install frappe-charts');
18792
- }
18793
- this.chartLibraryLoaded = true;
18794
- this.chartError = null;
18795
- // Ensure container is visible and has dimensions
18796
- const container = this.chartContainer.nativeElement;
18797
- const containerParent = container.parentElement;
18798
- // Wait for container to have dimensions
18799
- if (containerParent) {
18800
- const rect = containerParent.getBoundingClientRect();
18801
- if (rect.width === 0 || rect.height === 0) {
18802
- // Use requestAnimationFrame for better timing
18803
- this.isRendering = false;
18804
- requestAnimationFrame(() => {
18805
- setTimeout(() => this.renderChart(), 50);
18806
- });
18807
- return;
18808
- }
18809
- }
18810
- // Destroy existing chart if it exists
18811
- if (this.chartInstance) {
18812
- try {
18813
- // Frappe Charts doesn't have a destroy method, just clear the container
18814
- container.innerHTML = '';
18815
- }
18816
- catch {
18817
- // Ignore errors during destruction
18818
- }
18819
- this.chartInstance = null;
18820
- }
18821
- // Check if data contains revenue/monetary values for currency formatting
18822
- const isRevenueData = this.detectRevenueData(chartData);
18823
- // Convert Chart.js format to Frappe Charts format
18824
- const frappeData = this.convertToFrappeFormat(chartData, chartType);
18825
- // Map chart types: bar -> bar, line -> line, pie -> pie, doughnut -> percentage
18826
- const frappeChartType = this.mapChartType(chartType);
18827
- // Ensure Chart is a constructor function before instantiating
18828
- if (typeof Chart !== 'function' || !Chart.prototype) {
18829
- throw new Error('Chart is not a valid constructor. Received: ' +
18830
- typeof Chart +
18831
- '. Please ensure frappe-charts is properly installed.');
18832
- }
18833
- // Create chart instance with compact sizing
18834
- // Type assertion needed because Chart comes from dynamic import
18835
- const ChartConstructor = Chart;
18836
- this.chartInstance = new ChartConstructor(container, {
18837
- data: frappeData,
18838
- type: frappeChartType,
18839
- height: 140, // Fixed compact height for chart area
18840
- colors: this.extractColors(chartData),
18841
- axisOptions: {
18842
- xIsSeries: chartType === 'line' || chartType === 'area', // Line/area charts use series mode
18843
- },
18844
- tooltipOptions: {
18845
- formatTooltipX: (d) => String(d),
18846
- formatTooltipY: (d) => {
18847
- if (d === null || d === undefined) {
18848
- return '—';
18849
- }
18850
- return isRevenueData ? this.formatCurrency(d) : String(d);
18851
- },
18852
- },
18853
- lineOptions: {
18854
- dotSize: 3,
18855
- hideDots: chartType === 'area', // Hide dots for area charts
18856
- },
18857
- barOptions: {
18858
- spaceRatio: 0.3, // Compact bar spacing
18859
- },
18860
- });
18861
- // Fix Y-axis labels after chart is rendered
18862
- // Use setTimeout to ensure chart is fully rendered
18863
- setTimeout(() => {
18864
- this.fixYAxisLabels(container);
18865
- this.fixLegendLabels(container);
18866
- }, 100);
18867
- this.cdr.detectChanges();
19233
+ // Chart.js is loaded via ng2-charts, but we need to ensure it's available
19234
+ // Dynamic import of chart.js to ensure it's loaded
19235
+ // @ts-ignore - chart.js may not be installed yet
19236
+ await import('chart.js/auto');
19237
+ this.chartLibraryLoaded.set(true);
19238
+ this.chartError.set(null);
18868
19239
  }
18869
19240
  catch (error) {
18870
- this.chartLibraryLoaded = false;
18871
- // Provide user-friendly error messages
18872
- if (error instanceof Error) {
18873
- // Check if it's a module not found error
18874
- if (error.message.includes('Cannot find module') ||
18875
- error.message.includes('Failed to resolve') ||
18876
- error.message.includes('does not exist') ||
18877
- error.message.includes('MODULE_NOT_FOUND')) {
18878
- this.chartError =
18879
- 'frappe-charts is not installed. Please install it using: npm install frappe-charts';
18880
- }
18881
- else {
18882
- this.chartError = `Failed to initialize chart: ${error.message}`;
18883
- }
18884
- }
18885
- else {
18886
- this.chartError =
18887
- 'Failed to load Frappe Charts library. Please ensure frappe-charts is installed: npm install frappe-charts';
18888
- }
18889
- console.error('Frappe Charts initialization error:', error);
18890
- this.cdr.detectChanges();
18891
- }
18892
- finally {
18893
- this.isRendering = false;
19241
+ this.chartLibraryLoaded.set(false);
19242
+ this.chartError.set(error instanceof Error ? error.message : 'Failed to load Chart.js library');
19243
+ this.chartInitFailed = true;
19244
+ this.chartLoading = false;
19245
+ console.warn('[ChartSection] Chart.js not available', error);
19246
+ throw error;
18894
19247
  }
18895
19248
  }
18896
19249
  /**
18897
- * Update existing chart with new data
19250
+ * Initialize the chart
18898
19251
  */
18899
- updateChart() {
18900
- if (!this.chartInstance || !this.section.chartData || !this.chartContainer?.nativeElement) {
19252
+ async initializeChart() {
19253
+ const config = this.chartConfig();
19254
+ if (!config || !this.hasValidData()) {
19255
+ this.chartLoading = false;
19256
+ this.chartInitFailed = true;
18901
19257
  return;
18902
19258
  }
18903
- const chartData = this.section.chartData;
18904
- const chartType = this.section.chartType || 'bar';
18905
- // Convert Chart.js format to Frappe Charts format
18906
- const frappeData = this.convertToFrappeFormat(chartData, chartType);
18907
- // Update chart data
18908
- this.chartInstance.update({
18909
- data: frappeData,
18910
- type: this.mapChartType(this.section.chartType || 'bar'),
18911
- });
18912
- // Fix Y-axis labels and legend after update
18913
- setTimeout(() => {
18914
- this.fixYAxisLabels(this.chartContainer.nativeElement);
18915
- this.fixLegendLabels(this.chartContainer.nativeElement);
18916
- }, 100);
18917
- }
18918
- /**
18919
- * Convert Chart.js data format to Frappe Charts format
18920
- */
18921
- convertToFrappeFormat(chartData, chartType) {
18922
- if (!chartData.datasets || chartData.datasets.length === 0) {
18923
- return {
18924
- labels: chartData.labels || [],
18925
- datasets: [],
18926
- };
18927
- }
18928
- if (chartType === 'pie' || chartType === 'doughnut') {
18929
- // Pie/percentage charts: simple array of values
18930
- const firstDataset = chartData.datasets[0];
18931
- if (!firstDataset) {
18932
- return {
18933
- labels: chartData.labels || [],
18934
- datasets: [],
18935
- };
18936
- }
18937
- // Filter out null values and convert to numbers
18938
- const values = (firstDataset.data || []).filter((v) => v !== null);
18939
- return {
18940
- labels: chartData.labels || [],
18941
- datasets: [
18942
- {
18943
- values,
18944
- },
18945
- ],
18946
- };
19259
+ try {
19260
+ await this.loadChartLibrary();
19261
+ // Wait for next tick to ensure ViewChild is initialized
19262
+ await Promise.resolve();
19263
+ this.updateChartData(config);
19264
+ this.chartLoading = false;
19265
+ this.chartInitFailed = false;
19266
+ this.cdr.markForCheck();
19267
+ // Ensure chart renders after view init
19268
+ setTimeout(() => {
19269
+ if (this.chart && this.chart.chart) {
19270
+ this.chart.update();
19271
+ }
19272
+ }, 0);
18947
19273
  }
18948
- else {
18949
- // Bar/line/area charts: labels + datasets
18950
- const datasets = chartData.datasets.map((dataset) => ({
18951
- name: dataset.label || '',
18952
- // Filter out null values and convert to numbers
18953
- values: (dataset.data || []).filter((v) => v !== null),
18954
- }));
18955
- return {
18956
- labels: chartData.labels || [],
18957
- datasets,
18958
- };
19274
+ catch (error) {
19275
+ this.chartInitFailed = true;
19276
+ this.chartLoading = false;
19277
+ this.cdr.markForCheck();
18959
19278
  }
18960
19279
  }
18961
19280
  /**
18962
- * Map Chart.js chart types to Frappe Charts types
19281
+ * Update chart data from ChartConfig
18963
19282
  */
18964
- mapChartType(chartType) {
18965
- const typeMap = {
18966
- bar: 'bar',
18967
- line: 'line',
18968
- area: 'line', // Frappe uses line with area fill
18969
- pie: 'pie',
18970
- doughnut: 'percentage',
18971
- radar: 'line', // Fallback to line for unsupported types
19283
+ updateChartData(config) {
19284
+ if (!config || config.datasets.length === 0) {
19285
+ return;
19286
+ }
19287
+ // Map ChartConfig to Chart.js format
19288
+ this.chartJsType = config.type;
19289
+ this.chartData = {
19290
+ labels: config.labels,
19291
+ datasets: config.datasets.map((ds) => ({
19292
+ label: ds.label,
19293
+ data: ds.data,
19294
+ backgroundColor: ds.backgroundColor,
19295
+ borderColor: ds.borderColor,
19296
+ borderWidth: ds.borderWidth ?? 1,
19297
+ })),
18972
19298
  };
18973
- return typeMap[chartType] || 'bar';
18974
- }
18975
- /**
18976
- * Extract colors from Chart.js format
18977
- */
18978
- extractColors(chartData) {
18979
- const colors = [];
18980
- chartData.datasets?.forEach((dataset) => {
18981
- if (Array.isArray(dataset.backgroundColor)) {
18982
- colors.push(...dataset.backgroundColor);
18983
- }
18984
- else if (dataset.backgroundColor) {
18985
- colors.push(dataset.backgroundColor);
18986
- }
18987
- });
18988
- return colors.length > 0 ? colors : undefined;
18989
- }
18990
- /**
18991
- * Detect if chart data contains revenue/monetary values
18992
- */
18993
- detectRevenueData(chartData) {
18994
- if (!chartData?.datasets)
18995
- return false;
18996
- // Check if any dataset label contains revenue/money keywords
18997
- const revenueKeywords = ['revenue', 'profit', 'cost', 'sales', 'income', '$', 'usd', 'eur'];
18998
- return chartData.datasets.some((dataset) => {
18999
- const label = (dataset.label || '').toLowerCase();
19000
- return revenueKeywords.some((keyword) => label.includes(keyword));
19001
- });
19299
+ // Update chart if it exists and is ready
19300
+ if (this.chart && this.chart.chart) {
19301
+ this.chart.update();
19302
+ }
19303
+ this.cdr.markForCheck();
19002
19304
  }
19003
19305
  /**
19004
- * Format value as currency
19306
+ * Update the chart with new data
19005
19307
  */
19006
- formatCurrency(value) {
19007
- if (value === null || value === undefined || isNaN(value)) {
19008
- return '$0';
19009
- }
19010
- if (value >= 1000000) {
19011
- return `$${(value / 1000000).toFixed(1)}M`;
19012
- }
19013
- else if (value >= 1000) {
19014
- return `$${(value / 1000).toFixed(1)}K`;
19308
+ updateChart() {
19309
+ const config = this.chartConfig();
19310
+ if (config && this.chartLibraryLoaded()) {
19311
+ this.updateChartData(config);
19015
19312
  }
19016
- else {
19017
- return `$${value.toFixed(0)}`;
19018
- }
19019
- }
19020
- /**
19021
- * Fix Y-axis label rendering issues
19022
- */
19023
- fixYAxisLabels(container) {
19024
- // Find all SVG text elements in the chart
19025
- const allTexts = container.querySelectorAll('svg text, .frappe-chart text');
19026
- allTexts.forEach((textEl) => {
19027
- const element = textEl;
19028
- const textContent = element.textContent?.trim() || '';
19029
- // Check if this is likely a Y-axis label
19030
- // Y-axis labels are typically numeric and positioned on the left side
19031
- const isNumeric = /^[\d.,]+$/.test(textContent);
19032
- const x = parseFloat(element.getAttribute('x') || '0');
19033
- const y = parseFloat(element.getAttribute('y') || '0');
19034
- // Y-axis labels are typically on the left side (x < 50) and have numeric content
19035
- // or are part of the Y-axis structure
19036
- const isYAxisLabel = (isNumeric && x < 100 && y > 0 && y < 200) || // Position-based detection
19037
- element.getAttribute('class')?.includes('y-axis') ||
19038
- element.closest('.y-axis, .axis-y, [class*="y-axis"]') !== null;
19039
- if (isYAxisLabel) {
19040
- // Ensure horizontal text orientation
19041
- element.setAttribute('writing-mode', 'horizontal-tb');
19042
- element.setAttribute('text-orientation', 'mixed');
19043
- element.style.writingMode = 'horizontal-tb';
19044
- element.style.textOrientation = 'mixed';
19045
- element.style.transform = 'none';
19046
- element.style.whiteSpace = 'nowrap';
19047
- element.style.textAnchor = 'end';
19048
- // Remove any rotation transforms
19049
- const transform = element.getAttribute('transform') || '';
19050
- if (transform.includes('rotate')) {
19051
- element.setAttribute('transform', transform.replace(/rotate\([^)]*\)/g, '').trim());
19052
- }
19053
- }
19054
- });
19055
- }
19056
- /**
19057
- * Fix legend label truncation
19058
- */
19059
- fixLegendLabels(container) {
19060
- // Find all legend-related elements (both SVG and HTML)
19061
- const legendContainers = container.querySelectorAll('.frappe-chart .legend, .legend-item, [class*="legend"], .chart-legend');
19062
- legendContainers.forEach((containerEl) => {
19063
- // Fix SVG text elements in legend
19064
- const svgTexts = containerEl.querySelectorAll('text');
19065
- svgTexts.forEach((textEl) => {
19066
- const element = textEl;
19067
- element.style.whiteSpace = 'nowrap';
19068
- element.style.overflow = 'visible';
19069
- element.style.textOverflow = 'clip';
19070
- // Ensure text is not clipped
19071
- if (element.getAttribute('clip-path')) {
19072
- element.removeAttribute('clip-path');
19073
- }
19074
- });
19075
- // Fix HTML text elements in legend
19076
- const htmlTexts = containerEl.querySelectorAll('span, div, label');
19077
- htmlTexts.forEach((textEl) => {
19078
- const element = textEl;
19079
- element.style.whiteSpace = 'nowrap';
19080
- element.style.overflow = 'visible';
19081
- element.style.textOverflow = 'clip';
19082
- element.style.maxWidth = 'none';
19083
- });
19084
- });
19085
- // Also fix any text elements that might be part of legend structure
19086
- const allLegendTexts = container.querySelectorAll('.frappe-chart text, [class*="legend"] text, [class*="legend"] span, [class*="legend"] div');
19087
- allLegendTexts.forEach((textEl) => {
19088
- const element = textEl;
19089
- if (element instanceof SVGTextElement) {
19090
- element.style.whiteSpace = 'nowrap';
19091
- element.style.overflow = 'visible';
19092
- element.style.textOverflow = 'clip';
19093
- }
19094
- else if (element instanceof HTMLElement) {
19095
- element.style.whiteSpace = 'nowrap';
19096
- element.style.overflow = 'visible';
19097
- element.style.textOverflow = 'clip';
19098
- element.style.maxWidth = 'none';
19099
- }
19100
- });
19101
19313
  }
19102
19314
  /**
19103
- * Destroy chart instance
19315
+ * Destroy the chart instance
19104
19316
  */
19105
19317
  destroyChart() {
19106
- if (this.chartInstance) {
19107
- try {
19108
- // Frappe Charts doesn't have a destroy method, just clear the container
19109
- if (this.chartContainer?.nativeElement) {
19110
- this.chartContainer.nativeElement.innerHTML = '';
19111
- }
19112
- }
19113
- catch (error) {
19114
- // Ignore errors during destruction
19115
- console.warn('Error destroying chart:', error);
19116
- }
19117
- this.chartInstance = null;
19318
+ if (this.chart?.chart) {
19319
+ // BaseChartDirective has a chart property that contains the Chart.js instance
19320
+ this.chart.chart.destroy();
19118
19321
  }
19322
+ this.chart = undefined;
19323
+ this.chartLibraryLoaded.set(false);
19324
+ this.chartError.set(null);
19119
19325
  }
19120
19326
  /**
19121
19327
  * Calculate layout preferences for chart section based on content.
@@ -19125,10 +19331,8 @@ class ChartSectionComponent extends BaseSectionComponent {
19125
19331
  // Chart sections prefer 2 columns for optimal viewing
19126
19332
  // Can expand to 3-4 for wide charts, shrink to 1 for compact layouts
19127
19333
  let preferredColumns = 2;
19128
- // Check if chart type suggests wider layout
19129
- const chartType = section.chartType;
19130
- const isWideChart = chartType === 'line' || chartType === 'bar';
19131
- if (isWideChart && availableColumns >= 3) {
19334
+ // Charts benefit from wider layouts when space is available
19335
+ if (availableColumns >= 3) {
19132
19336
  preferredColumns = 3;
19133
19337
  }
19134
19338
  // Respect explicit preferences
@@ -19143,7 +19347,7 @@ class ChartSectionComponent extends BaseSectionComponent {
19143
19347
  canShrinkToFill: true,
19144
19348
  shrinkPriority: 25, // Higher priority for shrinking (promotes side-by-side placement)
19145
19349
  expandOnContent: {
19146
- // Charts can expand based on data complexity
19350
+ // Charts can expand based on dataset count
19147
19351
  },
19148
19352
  };
19149
19353
  }
@@ -19158,14 +19362,14 @@ class ChartSectionComponent extends BaseSectionComponent {
19158
19362
  return this.calculateChartLayoutPreferences(this.section, availableColumns);
19159
19363
  }
19160
19364
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ChartSectionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
19161
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.14", type: ChartSectionComponent, isStandalone: true, selector: "lib-chart-section", viewQueries: [{ propertyName: "chartContainer", first: true, predicate: ["chartContainer"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"ai-section ai-section--chart section-content\">\n <!-- Section Header -->\n <lib-section-header [title]=\"section.title\" [description]=\"section.description\"> </lib-section-header>\n\n <!-- Chart Container -->\n <div class=\"chart-container\" *ngIf=\"section.chartData && !chartError\">\n <div class=\"chart-wrapper\">\n <div #chartContainer class=\"chart-canvas-wrapper\"></div>\n </div>\n </div>\n\n <!-- Error State -->\n <lib-empty-state *ngIf=\"chartError\" [message]=\"chartError\" icon=\"\u26A0\uFE0F\" variant=\"minimal\"> </lib-empty-state>\n\n <!-- No Data State -->\n <lib-empty-state\n *ngIf=\"!section.chartData && !chartError\"\n message=\"No chart data available\"\n icon=\"\uD83D\uDCCA\"\n variant=\"minimal\"\n >\n </lib-empty-state>\n</div>\n", styles: [":root{--osi-spacing-2px: 2px;--osi-spacing-4px: 4px;--osi-spacing-6px: 6px;--osi-spacing-8px: 8px;--osi-spacing-10px: 10px;--osi-spacing-xs: 4px;--osi-spacing-sm: 8px;--osi-spacing-md: 12px;--osi-spacing-lg: 16px;--osi-spacing-xl: 24px;--osi-spacing-2xl: 32px;--osi-spacing-3xl: 48px;--osi-section-header-gap: 2px;--osi-section-padding: var(--osi-spacing-sm);--osi-section-gap: var(--osi-spacing-md);--osi-item-padding: var(--osi-spacing-sm);--osi-item-gap: var(--osi-spacing-xs);--osi-element-gap: 2px;--osi-text-xs: .75rem;--osi-text-sm: .875rem;--osi-text-base: 1rem;--osi-text-md: 1.125rem;--osi-text-lg: 1.25rem;--osi-text-xl: 1.5rem;--osi-text-2xl: 1.875rem;--osi-text-3xl: 2.25rem;--text-xs: .6875rem;--text-sm: .75rem;--text-base: .8125rem;--text-md: .875rem;--text-lg: 1.0625rem;--text-xl: 1.1875rem;--text-2xl: 1.375rem;--text-3xl: 1.625rem;--osi-font-normal: 400;--osi-font-medium: 500;--osi-font-semibold: 600;--osi-font-bold: 700;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--osi-leading-tight: 1.25;--osi-leading-snug: 1.375;--osi-leading-normal: 1.5;--osi-leading-relaxed: 1.625;--osi-leading-loose: 2;--leading-tight: 1.2;--leading-snug: 1.3;--leading-normal: 1.4;--leading-relaxed: 1.5;--leading-loose: 1.75;--osi-tracking-tight: -.025em;--osi-tracking-normal: 0;--osi-tracking-wide: .025em;--osi-tracking-wider: .05em;--osi-surface: hsl(0, 0%, 10%);--osi-surface-raised: hsl(0, 0%, 15%);--osi-surface-hover: hsl(0, 0%, 20%);--osi-surface-subtle: hsl(0, 0%, 12%);--osi-foreground: var( --foreground, hsl(0, 0%, 95%) );--osi-foreground-strong: var(--foreground, hsl(0, 0%, 100%));--osi-muted-foreground: var( --muted-foreground, hsl(0, 0%, 60%) );--osi-disabled-foreground: var(--muted-foreground, hsl(0, 0%, 40%));--osi-accent: hsl(25, 100%, 50%);--osi-accent-bright: hsl(25, 100%, 60%);--osi-accent-muted: hsl(25, 50%, 40%);--osi-success: hsl(142, 71%, 45%);--osi-success-bg: hsla(142, 71%, 45%, .15);--osi-success-bright: hsl(142, 71%, 55%);--osi-error: hsl(0, 84%, 60%);--osi-error-bg: hsla(0, 84%, 60%, .15);--osi-error-bright: hsl(0, 84%, 70%);--osi-warning: hsl(45, 93%, 47%);--osi-warning-bg: hsla(45, 93%, 47%, .15);--osi-warning-bright: hsl(45, 93%, 57%);--osi-info: hsl(221, 83%, 53%);--osi-info-bg: hsla(221, 83%, 53%, .15);--osi-info-bright: hsl(221, 83%, 63%);--osi-border: hsla(0, 0%, 100%, .2);--osi-border-muted: hsla(0, 0%, 100%, .06);--osi-border-strong: hsla(0, 0%, 100%, .35);--osi-radius-none: 0;--osi-radius-xs: 2px;--osi-radius-sm: 4px;--osi-radius-md: 8px;--osi-radius-lg: 12px;--osi-radius-xl: 16px;--osi-radius-full: 9999px;--osi-shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--osi-shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--osi-shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--osi-shadow-xl: 0 20px 25px rgba(0, 0, 0, .15);--osi-shadow-2xl: 0 25px 50px rgba(0, 0, 0, .25);--osi-duration-fast: .15s;--osi-duration-normal: .2s;--osi-duration-medium: .3s;--osi-duration-slow: .6s;--osi-ease-linear: linear;--osi-ease-in: cubic-bezier(.4, 0, 1, 1);--osi-ease-out: cubic-bezier(0, 0, .2, 1);--osi-ease-in-out: cubic-bezier(.4, 0, .2, 1);--osi-ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--osi-z-base: 0;--osi-z-raised: 10;--osi-z-dropdown: 100;--osi-z-fixed: 300;--osi-z-modal: 400;--osi-z-popover: 500;--osi-z-tooltip: 600;--osi-grid-gap: var(--osi-spacing-md);--osi-grid-row-gap: var(--osi-grid-gap);--osi-grid-column-gap: var(--osi-grid-gap);--osi-grid-min-small: 140px;--osi-grid-min-medium: 200px;--osi-grid-min-large: 300px;--osi-grid-min-xs: 120px;--osi-grid-min-sm: 140px;--osi-grid-min-md: 160px;--osi-grid-min-lg: 180px;--osi-grid-min-xl: 200px;--osi-grid-min-2xl: 250px;--osi-grid-min-3xl: 280px;--osi-grid-min-4xl: 300px;--osi-card-min-height: 90px;--osi-card-min-height-large: 120px;--osi-card-min-height-xs: 70px;--osi-card-min-height-sm: 80px;--osi-card-min-height-md: 90px;--osi-card-min-height-lg: 95px;--osi-card-min-height-xl: 110px}@media (prefers-color-scheme: dark){:root{--osi-surface: hsl(0, 0%, 8%);--osi-surface-raised: hsl(0, 0%, 12%);--osi-surface-hover: hsl(0, 0%, 16%);--osi-border-muted: hsla(0, 0%, 100%, .04)}}@media (prefers-contrast: high){:root{--osi-border: hsla(0, 0%, 100%, .4);--osi-border-strong: hsla(0, 0%, 100%, .6)}}@media (prefers-reduced-motion: reduce){:root{--osi-duration-fast: 0ms;--osi-duration-normal: 0ms;--osi-duration-medium: 0ms;--osi-duration-slow: 0ms}}.osi-card-container{container-type:inline-size;container-name:card;--card-padding: 4px;--card-gap: .5rem;--card-title-size: 1rem;--section-title-size: .875rem;--field-label-size: .75rem;--field-value-size: .875rem}.masonry-container{--masonry-columns: 1}@media (min-width: 480px){.masonry-container{--masonry-columns: 2}}@media (min-width: 1024px){.masonry-container{--masonry-columns: 3}}@media (min-width: 1280px){.masonry-container{--masonry-columns: 4}}@container card (min-width: 400px){.masonry-container--container-responsive{--masonry-columns: 2}}@container card (min-width: 700px){.masonry-container--container-responsive{--masonry-columns: 3}}@container card (min-width: 1000px){.masonry-container--container-responsive{--masonry-columns: 4}}.ai-section--info .section-field-grid{grid-template-columns:1fr}@media (min-width: 480px){.ai-section--info .section-field-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.ai-section--info .section-field-grid{grid-template-columns:repeat(3,1fr)}}.ai-section--analytics .metric-grid{grid-template-columns:1fr}@media (min-width: 320px){.ai-section--analytics .metric-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 768px){.ai-section--analytics .metric-grid{grid-template-columns:repeat(3,1fr)}}.ai-section--analytics .metric-value{font-size:var(--text-2xl)}.ai-section--timeline .timeline-items{flex-direction:column}@media (min-width: 1024px){.ai-section--timeline .timeline-items{flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory}.ai-section--timeline .timeline-items>*{scroll-snap-align:start;min-width:280px}}.ai-section--contact .contact-grid{grid-template-columns:1fr}@media (min-width: 480px){.ai-section--contact .contact-grid{grid-template-columns:repeat(2,1fr)}}.text-responsive{font-size:.875rem;line-height:1.5}.heading-responsive{font-size:1.25rem;line-height:1.2}.space-responsive{padding:.5rem}.gap-responsive{gap:.5rem}.touch-target{min-height:44px;min-width:44px}@media (min-width: 1024px){.touch-target{min-height:36px;min-width:36px}}@media (max-width: 767px){.hide-mobile{display:none!important}}@media (min-width: 768px){.hide-desktop{display:none!important}}.show-mobile{display:none!important}@media (max-width: 767px){.show-mobile{display:block!important}}.show-desktop{display:none!important}@media (min-width: 768px){.show-desktop{display:block!important}}@media print{.osi-card-container{--card-padding: 1rem;box-shadow:none;border:1px solid #ddd;break-inside:avoid}.masonry-container{--masonry-columns: 2;display:block}.masonry-container .masonry-item{break-inside:avoid;margin-bottom:1rem}.hide-print{display:none!important}}:root{--spacing-none: 0;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-base: 16px;--spacing-lg: 20px;--spacing-xl: 28px;--spacing-2xl: 40px;--spacing-3xl: 56px;--spacing-compact-xs: 3px;--spacing-compact-sm: 6px;--spacing-compact-md: 9px;--spacing-compact-base: 12px;--spacing-compact-lg: 16px;--section-card-min-height: 110px;--section-card-compact-height: 90px;--section-header-gap: 2px;--section-content-gap: var(--spacing-sm);--section-card-gap: var(--spacing-md);--section-card-padding: var(--spacing-md)}:root{--text-xs: .6875rem;--text-sm: .75rem;--text-base: .8125rem;--text-md: .875rem;--text-lg: 1.0625rem;--text-xl: 1.1875rem;--text-2xl: 1.375rem;--text-3xl: 1.625rem;--text-4xl: 2rem;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--leading-tight: 1.2;--leading-snug: 1.3;--leading-normal: 1.4;--leading-relaxed: 1.5;--leading-loose: 1.75}:root{--radius-none: 0;--radius-xs: 2px;--radius-sm: 3px;--radius-md: 5px;--radius-lg: 7px;--radius-xl: 10px;--radius-2xl: 14px;--radius-full: 9999px}:root{--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .05);--glow-sm: 0 0 10px rgba(var(--accent-rgb), .15);--glow-md: 0 0 20px rgba(var(--accent-rgb), .2);--glow-lg: 0 0 30px rgba(var(--accent-rgb), .25)}@media (prefers-color-scheme: dark){:root{--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .2);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .3), 0 1px 2px -1px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -2px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -4px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .5), 0 8px 10px -6px rgba(0, 0, 0, .5)}}:root{--duration-fast: .15s;--duration-base: .2s;--duration-slow: .3s;--duration-slower: .5s;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--ease-smooth: cubic-bezier(.4, 0, .6, 1);--transition-base: all var(--duration-base) var(--ease-out);--transition-fast: all var(--duration-fast) var(--ease-out);--transition-slow: all var(--duration-slow) var(--ease-out);--transition-colors: background-color var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out);--transition-shadow: box-shadow var(--duration-base) var(--ease-out);--transition-transform: transform var(--duration-base) var(--ease-out)}:root{--z-base: 1;--z-dropdown: 100;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-toast: 800;--z-max: 9999}:root{--blur-none: 0;--blur-sm: 4px;--blur-md: 8px;--blur-lg: 16px;--blur-xl: 24px;--glass-bg: rgba(255, 255, 255, .7);--glass-border: rgba(255, 255, 255, .2);--glass-blur: var(--blur-md)}@media (prefers-color-scheme: dark){:root{--glass-bg: rgba(0, 0, 0, .4);--glass-border: rgba(255, 255, 255, .1)}}:root{--opacity-0: 0;--opacity-5: .05;--opacity-10: .1;--opacity-20: .2;--opacity-30: .3;--opacity-40: .4;--opacity-50: .5;--opacity-60: .6;--opacity-70: .7;--opacity-80: .8;--opacity-90: .9;--opacity-100: 1}:root{--surface-base: var(--osi-section-item-background);--surface-raised: var(--osi-section-item-background-hover);--surface-overlay: var(--glass-bg);--border-light: rgba(var(--foreground-rgb), .08);--border-base: var(--border);--border-strong: rgba(var(--foreground-rgb), .2);--state-hover-opacity: .08;--state-active-opacity: .12;--state-focus-opacity: .16;--state-disabled-opacity: .5}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes fade-in-up{0%{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes fade-in-scale{0%{opacity:0;transform:translateZ(0) scale(.95)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes metal-sweep-ltr{0%{transform:translate(-100%);opacity:0}20%{opacity:.3}50%{opacity:.5}80%{opacity:.3}to{transform:translate(200%);opacity:0}}@keyframes metal-sweep-rtl{0%{transform:translate(200%);opacity:0}20%{opacity:.3}50%{opacity:.5}80%{opacity:.3}to{transform:translate(-100%);opacity:0}}@keyframes section-fade-in{0%{opacity:0}to{opacity:1}}@keyframes section-fade-in-up{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.unified-card,.section-card,[class*=__card],[class*=-card],[class*=__item],[class*=-item],.metric-card,.list-item,.analytics-card{transition:none!important;animation:none!important}.unified-card:hover,.section-card:hover,[class*=__card]:hover,[class*=-card]:hover,[class*=__item]:hover,[class*=-item]:hover,.metric-card:hover,.list-item:hover,.analytics-card:hover{transform:none!important}}.unified-card{background:var(--osi-section-item-background);border:var(--osi-section-item-border);border-radius:var(--osi-section-item-border-radius);box-shadow:var(--osi-section-item-shadow);padding:var(--osi-section-item-padding-normal);display:flex;flex-direction:column;gap:var(--osi-section-item-gap);min-height:var(--card-min-height, auto);cursor:pointer;overflow-x:hidden;width:100%!important;max-width:100%!important;box-sizing:border-box!important;text-align:left;word-wrap:break-word;overflow-wrap:break-word;transition:var(--osi-section-item-transition);position:relative;overflow:hidden}.unified-card:before{content:\"\";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;border-radius:inherit;animation:none;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%);width:50%;mix-blend-mode:overlay}.unified-card:hover:before{opacity:1;animation:metal-sweep-ltr .23s ease-out forwards}.unified-card:not(:hover):before{animation:none;opacity:0}@media (prefers-reduced-motion: reduce){.unified-card:before{display:none}}.unified-card:hover{border-color:var(--osi-section-item-border-hover-enhanced-color);box-shadow:var(--osi-section-item-shadow-hover-enhanced)}.unified-card:focus-visible{outline:none}@media (prefers-reduced-motion: reduce){.unified-card{transition:none}}.section-card{background:var(--osi-section-item-background);border:var(--osi-section-item-border);border-radius:var(--osi-section-item-border-radius);box-shadow:var(--osi-section-item-shadow);padding:var(--osi-section-item-padding-normal);display:flex;flex-direction:column;gap:var(--osi-section-item-gap);min-height:var(--card-min-height, auto);cursor:pointer;overflow-x:hidden;width:100%!important;max-width:100%!important;box-sizing:border-box!important;text-align:left;word-wrap:break-word;overflow-wrap:break-word;transition:var(--osi-section-item-transition);position:relative;overflow:hidden}.section-card:before{content:\"\";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;border-radius:inherit;animation:none;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%);width:50%;mix-blend-mode:overlay}.section-card:hover:before{opacity:1;animation:metal-sweep-ltr .23s ease-out forwards}.section-card:not(:hover):before{animation:none;opacity:0}@media (prefers-reduced-motion: reduce){.section-card:before{display:none}}.section-card:hover{border-color:var(--osi-section-item-border-hover-enhanced-color);box-shadow:var(--osi-section-item-shadow-hover-enhanced)}.section-card:focus-visible{outline:none}@media (prefers-reduced-motion: reduce){.section-card{transition:none}}.section-card{width:100%!important;max-width:100%!important;box-sizing:border-box!important}.section-item{transition:border-color var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),box-shadow var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),var(--osi-section-item-transition);position:relative;overflow:hidden}.section-item:before{content:\"\";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;border-radius:inherit;animation:none;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%);width:50%;mix-blend-mode:overlay}.section-item:hover{border-color:var(--osi-section-item-border-hover-enhanced-color)!important;box-shadow:var(--osi-section-item-shadow-hover-enhanced)!important;background:var(--osi-section-item-background)!important}.section-item:hover:before{opacity:1;animation:metal-sweep-ltr .23s ease-out forwards}.section-item:not(:hover):before{animation:none;opacity:0}@media (prefers-reduced-motion: reduce){.section-item{transition:none}.section-item:after{display:none}}.status--completed,.status--success{color:#22c55e;background:#22c55e1a}.status--active,.status--in-progress{color:var(--accent);background:#ff79001a}.status--pending,.status--warning{color:#f59e0b;background:#f59e0b1a}.status--blocked,.status--cancelled,.status--delayed,.status--inactive,.status--error{color:#ef4444;background:#ef44441a}.status--default{color:var(--muted-foreground);background:var(--muted)}.priority--high{color:#ef4444;background:#ef44441a}.priority--medium{color:#f59e0b;background:#f59e0b1a}.priority--low{color:#22c55e;background:#22c55e1a}.priority--default{color:var(--muted-foreground);background:var(--muted)}.masonry-container .masonry-item:nth-child(4n+1) .section-item:before,.masonry-container .masonry-item:nth-child(4n+1) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+1) .section-card:before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+2) .section-item:before,.masonry-container .masonry-item:nth-child(4n+2) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+2) .section-card:before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):before{background:linear-gradient(270deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container .masonry-item:nth-child(4n+1) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+1) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+1) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+2) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+2) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+2) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-rtl .23s ease-out forwards!important}.masonry-container .masonry-item:nth-child(4n+3) .section-item:before,.masonry-container .masonry-item:nth-child(4n+3) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+3) .section-card:before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+4) .section-item:before,.masonry-container .masonry-item:nth-child(4n+4) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+4) .section-card:before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-item:before,.masonry-container .masonry-item[data-col-span=\"3\"] .unified-card:before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-card:before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-item:before,.masonry-container .masonry-item[data-col-span=\"4\"] .unified-card:before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-card:before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-item:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .unified-card:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-card:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-item:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .unified-card:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-card:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):before{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container .masonry-item:nth-child(4n+3) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+3) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+3) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+4) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+4) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+4) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-item:hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] .unified-card:hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-card:hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-item:hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] .unified-card:hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-card:hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-item:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .unified-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-item:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .unified-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-ltr .23s ease-out forwards!important}@supports (grid-template-rows: masonry){.masonry-container--native .masonry-item:nth-child(4n+1) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+1) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+1) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+2) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):before{background:linear-gradient(270deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container--native .masonry-item:nth-child(4n+1) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-rtl .23s ease-out forwards!important}.masonry-container--native .masonry-item:nth-child(4n+3) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+3) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+3) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+4) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):before{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container--native .masonry-item:nth-child(4n+3) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-ltr .23s ease-out forwards!important}}@media (prefers-reduced-motion: reduce){.unified-card,.section-card,[class*=__card],[class*=-card],[class*=__item],[class*=-item]{transition:none;animation:none}}@keyframes item-stream{0%{opacity:0;transform:translate3d(0,var(--osi-motion-distance-sm, 8px),0)}to{opacity:1;transform:translateZ(0)}}.ai-section h1,.ai-section h2,.ai-section h3,.ai-section h4,.ai-section h5,.ai-section h6,.ai-section [class*=title],.ai-section [class*=heading],.ai-section [class*=header]{margin-bottom:.05em!important;line-height:1.3!important}.ai-section br{margin-top:.05em!important;line-height:1.3!important}.ai-section p,.ai-section div,.ai-section span{line-height:1.3!important}.ai-section h1+p,.ai-section h1+div,.ai-section h1+span,.ai-section h2+p,.ai-section h2+div,.ai-section h2+span,.ai-section h3+p,.ai-section h3+div,.ai-section h3+span,.ai-section h4+p,.ai-section h4+div,.ai-section h4+span,.ai-section h5+p,.ai-section h5+div,.ai-section h5+span,.ai-section h6+p,.ai-section h6+div,.ai-section h6+span,.ai-section [class*=title]+p,.ai-section [class*=title]+div,.ai-section [class*=title]+span,.ai-section [class*=heading]+p,.ai-section [class*=heading]+div,.ai-section [class*=heading]+span,.ai-section [class*=header]+p,.ai-section [class*=header]+div,.ai-section [class*=header]+span{margin-top:.05em!important}.ai-section.ai-section--overview .overview-item--single-text .overview-item__value--single-text br{margin-top:7px!important;height:7px!important;line-height:1.3!important;display:block!important;content:\"\"}.ai-section{--section-accent: var(--osi-section-accent);--section-border: var(--osi-section-border);--section-border-hover: var(--osi-section-border-hover);--section-box-shadow: var(--osi-section-shadow);--section-background: var(--osi-section-background);--section-background-hover: var(--osi-section-background-hover);--section-backdrop-filter: var(--osi-section-backdrop-filter);--section-spacing-bottom: var(--osi-section-spacing-bottom, 12px);--section-glow-background: var(--osi-section-glow-background);--section-glow-opacity-hover: var(--osi-section-glow-opacity-hover);--section-title-underline-length: var(--osi-section-title-underline-length);--section-title-underline-hover-length: var(--osi-section-title-underline-hover-length);--section-title-underline-height: var(--osi-section-title-underline-height);--section-title-underline-offset: var(--osi-section-title-underline-offset);--section-title-hover-color: var(--osi-section-title-hover-color);width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;margin-bottom:var(--section-spacing-bottom, 12px)!important;margin-top:0!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;contain:layout style;transition:border-color var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),box-shadow var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1)}.ai-section *{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.ai-section:not(.masonry-item .ai-section){position:relative;display:flex;flex-direction:column;gap:var(--section-card-gap);padding:0!important;border-radius:var(--osi-section-item-border-radius);background:var(--section-background);border:var(--section-border);box-shadow:var(--section-box-shadow);width:100%!important;max-width:100%!important;box-sizing:border-box!important;transition:border-color var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),box-shadow var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1)}.ai-section:not(.masonry-item .ai-section):hover{border-color:var(--osi-section-border-hover-enhanced-color);box-shadow:var(--osi-section-shadow-hover-enhanced)}@media (prefers-reduced-motion: reduce){.ai-section:not(.masonry-item .ai-section){transition:none}}.masonry-item .ai-section{display:flex!important;flex-direction:column!important;gap:var(--osi-section-gap, 8px)!important;height:auto!important}.ai-section:hover{border-color:var(--osi-section-border-hover-enhanced-color);box-shadow:var(--osi-section-shadow-hover-enhanced)}@media (prefers-reduced-motion: reduce){.ai-section{transition:none}}.ai-section__header{display:flex;flex-direction:column;gap:var(--osi-section-header-gap);width:100%;box-sizing:border-box;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;padding:0 0 var(--osi-section-header-padding-bottom) 0!important;border-bottom:none!important;background:transparent!important;margin:0!important;flex-wrap:wrap!important;gap:var(--osi-section-header-gap)!important;text-align:left!important}.ai-section__title{font-size:var(--section-title-font-size, .9375rem);font-weight:var(--section-title-font-weight, 700);letter-spacing:var(--section-title-letter-spacing, -.02em);line-height:var(--section-title-line-height, 1.3);color:var(--card-text-primary, #1c1c1f);margin:0;font-size:var(--osi-section-title-font-size)!important;font-weight:700!important;letter-spacing:var(--osi-section-title-letter-spacing)!important;line-height:var(--osi-section-title-line-height)!important;color:var(--osi-section-title-color)!important;opacity:1!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;position:relative!important;transition:var(--osi-section-title-transition)!important;padding:0!important;margin:0 0 var(--osi-section-title-margin-bottom) 0!important;text-align:left!important;font-family:inherit!important;border:none!important}.ai-section__title:before{content:\"\"!important;position:absolute!important;left:0!important;bottom:var(--osi-section-title-underline-offset)!important;width:var(--osi-section-title-underline-length)!important;height:var(--osi-section-title-underline-height)!important;background:var(--osi-section-title-underline-color)!important;border-radius:var(--radius-xs)!important;transition:width .22s ease,opacity .22s ease!important;transform-origin:left!important;opacity:.6!important}.ai-section__title:hover{color:var(--osi-section-title-color)!important}.ai-section__title:hover:before{width:var(--osi-section-title-underline-hover-length)!important;opacity:1!important}.ai-section__icon{display:none!important;width:var(--icon-size-section)!important;height:var(--icon-size-section)!important}.ai-section__details{display:flex!important;flex-direction:column!important;gap:var(--osi-section-header-gap)!important;align-items:flex-start!important;text-align:left!important}.ai-section__description{font-size:var(--section-description-font-size, .75rem);font-weight:400;color:var(--card-text-secondary, rgba(28, 28, 31, .6));line-height:1.3;margin:0;color:var(--osi-section-description-color)!important;letter-spacing:.01em!important;line-height:1.2!important;font-weight:400!important;overflow:hidden!important;text-overflow:ellipsis!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;margin-top:0!important;padding-top:0!important;text-align:left!important;transition:var(--osi-section-description-transition)!important;font-family:inherit!important}.ai-section:hover .ai-section__description{color:var(--osi-section-description-color-hover)!important}.ai-section__badge{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;font-size:.55rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:#ff7900;background:#ff79001a;border-radius:4px;white-space:nowrap;display:none!important;padding:var(--tag-padding-y-sm) var(--tag-padding-x)!important;border-radius:var(--radius-sm)!important}.ai-section--contact-card .ai-section__badge,.ai-section--solutions .ai-section__badge,.ai-section--event .ai-section__badge,.ai-section--chart .ai-section__badge,.ai-section--financials .ai-section__badge{display:none!important;align-items:center!important;padding:var(--osi-section-badge-padding)!important;background:var(--osi-section-badge-bg)!important;color:var(--osi-section-badge-color)!important;border:none!important;box-shadow:none!important;border-radius:var(--osi-section-border-radius)!important;font-size:var(--card-meta-font-size, .6rem)!important;font-weight:var(--card-meta-font-weight, 500)!important;transition:opacity .2s ease,background .2s ease!important;line-height:1.2!important}.ai-section:hover .ai-section__badge{opacity:1!important;background:var(--osi-section-badge-bg-hover)!important}.ai-section__body{display:flex;flex-direction:column;gap:var(--osi-section-gap-internal);width:100%;box-sizing:border-box;padding:0!important;margin:0!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}.ai-section .section-empty{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;padding:var(--osi-section-padding)!important;text-align:center!important;color:var(--muted-foreground)!important;min-height:auto!important;border-radius:var(--radius-md)!important;background:var(--osi-section-empty-bg)!important;border:var(--osi-section-empty-border)!important;transition:opacity .2s ease,background .2s ease!important}.ai-section .section-empty lucide-icon{margin-bottom:var(--osi-section-gap)!important;opacity:var(--osi-section-empty-icon-opacity)!important;color:var(--accent)!important;transition:all .2s ease!important}.ai-section .section-empty p{font-size:var(--font-section-description, .85rem)!important;margin:0!important;font-weight:500!important;font-family:inherit!important}.ai-section .section-empty:hover{background:var(--osi-section-empty-bg-hover)!important;border-color:var(--osi-section-empty-border-hover)!important}.ai-section .section-empty:hover lucide-icon{opacity:var(--osi-section-empty-icon-opacity-hover)!important}.ai-section--info{--section-accent: var(--osi-section-accent-info)}.ai-section--analytics{--section-accent: var(--osi-section-accent-analytics)}.ai-section--financials{--section-accent: var(--osi-section-accent-financials)}.ai-section--map{--section-accent: var(--osi-section-accent-map)}.ai-section--network-card{--section-accent: var(--osi-section-accent-network)}.ai-section--contact-card{--section-accent: var(--osi-section-accent-contact)}.ai-section--product{--section-accent: var(--osi-section-accent-product)}.ai-section--solutions{--section-accent: var(--osi-section-accent-solutions)}.ai-section--overview{--section-accent: var(--osi-section-accent-overview)}.ai-section--overview .ai-section__title{font-size:calc(var(--osi-section-title-font-size) - 1.5px)!important}.ai-section--list,.ai-section--info-list{--section-accent: var(--osi-section-accent-list)}.ai-section--event{--section-accent: var(--osi-section-accent-event)}.ai-section--chart{--section-accent: var(--osi-section-accent-chart)}.ai-section--text-reference{--section-accent: var(--osi-section-accent-reference)}.ai-section--quotation{--section-accent: var(--osi-section-accent-quotation)}.ai-card-surface--fullscreen .ai-section{--section-padding: var(--osi-section-padding);--section-spacing-bottom: var(--osi-section-spacing-bottom);--section-gap: var(--osi-section-gap);--section-gap-internal: var(--osi-section-gap-internal);--section-title-underline-length: var(--osi-section-title-underline-length);--section-title-underline-hover-length: var(--osi-section-title-underline-hover-length);--section-title-underline-height: var(--osi-section-title-underline-height);--section-title-underline-offset: var(--osi-section-title-underline-offset);--section-box-shadow: none !important;--section-box-shadow-hover: none !important}.ai-card-surface--fullscreen .masonry-item,.ai-card-surface--fullscreen .masonry-item:hover{box-shadow:var(--osi-section-shadow-fullscreen)!important}.ai-card-surface--fullscreen .ai-section__header{padding:0 0 var(--osi-section-header-padding-bottom) 0!important;gap:var(--osi-section-header-gap)!important}.ai-card-surface--fullscreen .ai-section__title{font-size:var(--card-title-font-size, .95rem)!important}.ai-card-surface--fullscreen .ai-section__body{gap:var(--osi-section-gap-internal)!important}.ai-card-surface--fullscreen .ai-section__description{font-size:var(--card-meta-font-size, .6rem)!important;margin-top:0!important;padding-top:0!important}.section-content{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;padding:0!important;margin:0!important}.section-content>*{width:100%!important;max-width:100%!important;box-sizing:border-box!important}.ai-section--faq,.ai-section--faq .list,.ai-section--faq .item{min-width:0!important;width:100%!important;max-width:100%!important}:host{display:block;width:100%}.chart-container{display:flex;flex-direction:column;gap:0;width:100%;min-height:var(--osi-card-min-height-large);max-height:var(--osi-card-min-height-large);height:var(--osi-card-min-height-large)}.chart-wrapper{padding:0;background:transparent;border:none;box-shadow:none;min-height:180px;max-height:180px;height:180px;display:flex;flex-direction:column;gap:0;overflow:visible;box-sizing:border-box;width:100%}.chart-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--osi-section-item-gap-xs);flex-wrap:wrap;padding-bottom:var(--osi-section-item-padding-compact);border-bottom:1px solid var(--border)}.chart-title{font-weight:var(--font-semibold);line-height:var(--leading-normal);color:var(--foreground);font-size:var(--text-base);margin:0;line-height:var(--leading-tight)}.chart-legend{display:flex;gap:var(--osi-section-item-gap-xs);flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:var(--osi-section-item-gap-xs);font-size:var(--text-xs);color:var(--muted-foreground)}.legend-color{width:var(--osi-spacing-sm);height:var(--osi-spacing-sm);border-radius:var(--osi-radius-xs);flex-shrink:0}.chart-canvas-wrapper{flex:1;position:relative;min-height:var(--osi-card-min-height-large);max-height:var(--osi-card-min-height-large);height:var(--osi-card-min-height-large);width:100%;overflow:visible;box-sizing:border-box}.chart-canvas-wrapper :deep(.frappe-chart){width:100%!important;height:var(--osi-card-min-height-large)!important;max-height:var(--osi-card-min-height-large)!important}.chart-canvas-wrapper :deep(.frappe-chart) .y-axis .tick text{writing-mode:horizontal-tb!important;text-orientation:mixed!important;transform:none!important;white-space:nowrap!important}.chart-canvas-wrapper :deep(.frappe-chart) text.y-axis-text,.chart-canvas-wrapper :deep(.frappe-chart) .y-axis text,.chart-canvas-wrapper :deep(.frappe-chart) .axis-y text{writing-mode:horizontal-tb!important;text-orientation:mixed!important;transform:none!important;white-space:nowrap!important;text-anchor:end!important}.chart-canvas-wrapper :deep(.frappe-chart) .legend .legend-item,.chart-canvas-wrapper :deep(.frappe-chart) .legend .legend-text{white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;max-width:none!important}.chart-canvas-wrapper :deep(.frappe-chart) text{writing-mode:horizontal-tb!important;text-orientation:mixed!important}.chart-footer{display:flex;justify-content:space-around;gap:var(--osi-section-item-gap);padding-top:var(--osi-section-item-padding-compact);border-top:1px solid var(--border)}.chart-stat{display:flex;flex-direction:column;align-items:center;gap:var(--osi-section-item-gap-xs)}.chart-stat-value{font-size:var(--text-sm);font-weight:var(--font-semibold);line-height:var(--leading-normal);color:var(--foreground);font-weight:var(--font-bold)}.chart-stat-label{font-size:var(--text-xs);font-weight:var(--font-medium);line-height:var(--leading-tight);color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.05em}@media (max-width: 767px){.chart-container{min-height:170px;max-height:170px;height:170px}.chart-wrapper{padding:0;min-height:170px;max-height:170px;height:170px}.chart-canvas-wrapper{min-height:130px;max-height:170px;height:130px}.chart-canvas-wrapper :deep(.frappe-chart){height:130px!important;max-height:170px!important}.chart-canvas-wrapper :deep(.frappe-chart) .y-axis .tick text{writing-mode:horizontal-tb!important;text-orientation:mixed!important;transform:none!important;white-space:nowrap!important}.chart-canvas-wrapper :deep(.frappe-chart) text.y-axis-text,.chart-canvas-wrapper :deep(.frappe-chart) .y-axis text,.chart-canvas-wrapper :deep(.frappe-chart) .axis-y text{writing-mode:horizontal-tb!important;text-orientation:mixed!important;transform:none!important;white-space:nowrap!important;text-anchor:end!important}.chart-canvas-wrapper :deep(.frappe-chart) .legend .legend-item,.chart-canvas-wrapper :deep(.frappe-chart) .legend .legend-text{white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;max-width:none!important}.chart-canvas-wrapper :deep(.frappe-chart) text{writing-mode:horizontal-tb!important;text-orientation:mixed!important}}@media (max-width: 479px){.chart-container{min-height:160px;max-height:160px;height:160px}.chart-wrapper{padding:0;min-height:160px;max-height:160px;height:160px}.chart-canvas-wrapper{min-height:120px;max-height:160px;height:120px}.chart-canvas-wrapper :deep(.frappe-chart){height:120px!important;max-height:160px!important}.chart-canvas-wrapper :deep(.frappe-chart) .y-axis .tick text{writing-mode:horizontal-tb!important;text-orientation:mixed!important;transform:none!important;white-space:nowrap!important}.chart-canvas-wrapper :deep(.frappe-chart) text.y-axis-text,.chart-canvas-wrapper :deep(.frappe-chart) .y-axis text,.chart-canvas-wrapper :deep(.frappe-chart) .axis-y text{writing-mode:horizontal-tb!important;text-orientation:mixed!important;transform:none!important;white-space:nowrap!important;text-anchor:end!important}.chart-canvas-wrapper :deep(.frappe-chart) .legend .legend-item,.chart-canvas-wrapper :deep(.frappe-chart) .legend .legend-text{white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;max-width:none!important}.chart-canvas-wrapper :deep(.frappe-chart) text{writing-mode:horizontal-tb!important;text-orientation:mixed!important}.chart-header{flex-direction:column}.chart-footer{flex-direction:column;gap:var(--osi-section-item-gap-xs)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SectionHeaderComponent, selector: "lib-section-header", inputs: ["title", "description", "level", "headerClass", "titleClass", "descriptionClass"] }, { kind: "component", type: EmptyStateComponent, selector: "lib-empty-state", inputs: ["message", "icon", "actionLabel", "variant", "size", "containerClass"], outputs: ["action"] }] }); }
19365
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.14", type: ChartSectionComponent, isStandalone: true, selector: "lib-chart-section", viewQueries: [{ propertyName: "chart", first: true, predicate: BaseChartDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ai-section ai-section--chart section-content\">\n <!-- Section Header -->\n <lib-section-header [title]=\"section.title\" [description]=\"section.description\"> </lib-section-header>\n\n <!-- Chart Display -->\n <div class=\"chart-wrapper\" *ngIf=\"!chartInitFailed && hasValidData()\">\n <div class=\"chart-container\" *ngIf=\"chartLibraryLoaded() && !chartLoading\">\n <canvas baseChart [data]=\"chartData\" [options]=\"chartOptions\" [type]=\"chartJsType\"></canvas>\n </div>\n <div class=\"chart-loading-overlay\" *ngIf=\"chartLoading\">\n <div class=\"chart-loading-spinner\"></div>\n <span class=\"chart-loading-text\">Loading chart...</span>\n </div>\n </div>\n\n <!-- Error State -->\n <lib-empty-state\n *ngIf=\"chartInitFailed && section.chartData\"\n [message]=\"chartError() || 'Chart unavailable'\"\n icon=\"\uD83D\uDCCA\"\n variant=\"minimal\"\n >\n </lib-empty-state>\n\n <!-- Empty State -->\n <lib-empty-state *ngIf=\"!section.chartData || !hasValidData()\" message=\"No chart data\" icon=\"\uD83D\uDCCA\" variant=\"minimal\">\n </lib-empty-state>\n</div>\n", styles: ["@keyframes osi-fade-in{0%{opacity:0}to{opacity:1}}@keyframes osi-slide-up{0%{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes osi-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes osi-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}:root{--osi-spacing-2px: 2px;--osi-spacing-4px: 4px;--osi-spacing-6px: 6px;--osi-spacing-8px: 8px;--osi-spacing-10px: 10px;--osi-spacing-xs: 4px;--osi-spacing-sm: 8px;--osi-spacing-md: 12px;--osi-spacing-lg: 16px;--osi-spacing-xl: 24px;--osi-spacing-2xl: 32px;--osi-spacing-3xl: 48px;--osi-section-header-gap: 2px;--osi-section-padding: var(--osi-spacing-sm);--osi-section-gap: var(--osi-spacing-md);--osi-item-padding: var(--osi-spacing-sm);--osi-item-gap: var(--osi-spacing-xs);--osi-element-gap: 2px;--osi-text-xs: .75rem;--osi-text-sm: .875rem;--osi-text-base: 1rem;--osi-text-md: 1.125rem;--osi-text-lg: 1.25rem;--osi-text-xl: 1.5rem;--osi-text-2xl: 1.875rem;--osi-text-3xl: 2.25rem;--text-xs: .6875rem;--text-sm: .75rem;--text-base: .8125rem;--text-md: .875rem;--text-lg: 1.0625rem;--text-xl: 1.1875rem;--text-2xl: 1.375rem;--text-3xl: 1.625rem;--osi-font-normal: 400;--osi-font-medium: 500;--osi-font-semibold: 600;--osi-font-bold: 700;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--osi-leading-tight: 1.25;--osi-leading-snug: 1.375;--osi-leading-normal: 1.5;--osi-leading-relaxed: 1.625;--osi-leading-loose: 2;--leading-tight: 1.2;--leading-snug: 1.3;--leading-normal: 1.4;--leading-relaxed: 1.5;--leading-loose: 1.75;--osi-tracking-tight: -.025em;--osi-tracking-normal: 0;--osi-tracking-wide: .025em;--osi-tracking-wider: .05em;--osi-surface: hsl(0, 0%, 10%);--osi-surface-raised: hsl(0, 0%, 15%);--osi-surface-hover: hsl(0, 0%, 20%);--osi-surface-subtle: hsl(0, 0%, 12%);--osi-foreground: var( --foreground, hsl(0, 0%, 95%) );--osi-foreground-strong: var(--foreground, hsl(0, 0%, 100%));--osi-muted-foreground: var( --muted-foreground, hsl(0, 0%, 60%) );--osi-disabled-foreground: var(--muted-foreground, hsl(0, 0%, 40%));--osi-accent: hsl(25, 100%, 50%);--osi-accent-bright: hsl(25, 100%, 60%);--osi-accent-muted: hsl(25, 50%, 40%);--osi-success: hsl(142, 71%, 45%);--osi-success-bg: hsla(142, 71%, 45%, .15);--osi-success-bright: hsl(142, 71%, 55%);--osi-error: hsl(0, 84%, 60%);--osi-error-bg: hsla(0, 84%, 60%, .15);--osi-error-bright: hsl(0, 84%, 70%);--osi-warning: hsl(45, 93%, 47%);--osi-warning-bg: hsla(45, 93%, 47%, .15);--osi-warning-bright: hsl(45, 93%, 57%);--osi-info: hsl(221, 83%, 53%);--osi-info-bg: hsla(221, 83%, 53%, .15);--osi-info-bright: hsl(221, 83%, 63%);--osi-border: hsla(0, 0%, 100%, .2);--osi-border-muted: hsla(0, 0%, 100%, .06);--osi-border-strong: hsla(0, 0%, 100%, .35);--osi-radius-none: 0;--osi-radius-xs: 2px;--osi-radius-sm: 4px;--osi-radius-md: 8px;--osi-radius-lg: 12px;--osi-radius-xl: 16px;--osi-radius-full: 9999px;--osi-shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--osi-shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--osi-shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--osi-shadow-xl: 0 20px 25px rgba(0, 0, 0, .15);--osi-shadow-2xl: 0 25px 50px rgba(0, 0, 0, .25);--osi-duration-fast: .15s;--osi-duration-normal: .2s;--osi-duration-medium: .3s;--osi-duration-slow: .6s;--osi-ease-linear: linear;--osi-ease-in: cubic-bezier(.4, 0, 1, 1);--osi-ease-out: cubic-bezier(0, 0, .2, 1);--osi-ease-in-out: cubic-bezier(.4, 0, .2, 1);--osi-ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--osi-z-base: 0;--osi-z-raised: 10;--osi-z-dropdown: 100;--osi-z-fixed: 300;--osi-z-modal: 400;--osi-z-popover: 500;--osi-z-tooltip: 600;--osi-grid-gap: var(--osi-spacing-md);--osi-grid-row-gap: var(--osi-grid-gap);--osi-grid-column-gap: var(--osi-grid-gap);--osi-grid-min-small: 140px;--osi-grid-min-medium: 200px;--osi-grid-min-large: 300px;--osi-grid-min-xs: 120px;--osi-grid-min-sm: 140px;--osi-grid-min-md: 160px;--osi-grid-min-lg: 180px;--osi-grid-min-xl: 200px;--osi-grid-min-2xl: 250px;--osi-grid-min-3xl: 280px;--osi-grid-min-4xl: 300px;--osi-card-min-height: 90px;--osi-card-min-height-large: 120px;--osi-card-min-height-xs: 70px;--osi-card-min-height-sm: 80px;--osi-card-min-height-md: 90px;--osi-card-min-height-lg: 95px;--osi-card-min-height-xl: 110px}@media (prefers-color-scheme: dark){:root{--osi-surface: hsl(0, 0%, 8%);--osi-surface-raised: hsl(0, 0%, 12%);--osi-surface-hover: hsl(0, 0%, 16%);--osi-border-muted: hsla(0, 0%, 100%, .04)}}@media (prefers-contrast: high){:root{--osi-border: hsla(0, 0%, 100%, .4);--osi-border-strong: hsla(0, 0%, 100%, .6)}}@media (prefers-reduced-motion: reduce){:root{--osi-duration-fast: 0ms;--osi-duration-normal: 0ms;--osi-duration-medium: 0ms;--osi-duration-slow: 0ms}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.osi-card-container{container-type:inline-size;container-name:card;--card-padding: 4px;--card-gap: .5rem;--card-title-size: 1rem;--section-title-size: .875rem;--field-label-size: .75rem;--field-value-size: .875rem}.masonry-container{--masonry-columns: 1}@media (min-width: 480px){.masonry-container{--masonry-columns: 2}}@media (min-width: 1024px){.masonry-container{--masonry-columns: 3}}@media (min-width: 1280px){.masonry-container{--masonry-columns: 4}}@container card (min-width: 400px){.masonry-container--container-responsive{--masonry-columns: 2}}@container card (min-width: 700px){.masonry-container--container-responsive{--masonry-columns: 3}}@container card (min-width: 1000px){.masonry-container--container-responsive{--masonry-columns: 4}}.ai-section--info .section-field-grid{grid-template-columns:1fr}@media (min-width: 480px){.ai-section--info .section-field-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.ai-section--info .section-field-grid{grid-template-columns:repeat(3,1fr)}}.ai-section--analytics .metric-grid{grid-template-columns:1fr}@media (min-width: 320px){.ai-section--analytics .metric-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 768px){.ai-section--analytics .metric-grid{grid-template-columns:repeat(3,1fr)}}.ai-section--analytics .metric-value{font-size:var(--text-2xl)}.ai-section--timeline .timeline-items{flex-direction:column}@media (min-width: 1024px){.ai-section--timeline .timeline-items{flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory}.ai-section--timeline .timeline-items>*{scroll-snap-align:start;min-width:280px}}.ai-section--contact .contact-grid{grid-template-columns:1fr}@media (min-width: 480px){.ai-section--contact .contact-grid{grid-template-columns:repeat(2,1fr)}}.text-responsive{font-size:.875rem;line-height:1.5}.heading-responsive{font-size:1.25rem;line-height:1.2}.space-responsive{padding:.5rem}.gap-responsive{gap:.5rem}.touch-target{min-height:44px;min-width:44px}@media (min-width: 1024px){.touch-target{min-height:36px;min-width:36px}}@media (max-width: 767px){.hide-mobile{display:none!important}}@media (min-width: 768px){.hide-desktop{display:none!important}}.show-mobile{display:none!important}@media (max-width: 767px){.show-mobile{display:block!important}}.show-desktop{display:none!important}@media (min-width: 768px){.show-desktop{display:block!important}}@media print{.osi-card-container{--card-padding: 1rem;box-shadow:none;border:1px solid #ddd;break-inside:avoid}.masonry-container{--masonry-columns: 2;display:block}.masonry-container .masonry-item{break-inside:avoid;margin-bottom:1rem}.hide-print{display:none!important}}:root{--spacing-none: 0;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-base: 16px;--spacing-lg: 20px;--spacing-xl: 28px;--spacing-2xl: 40px;--spacing-3xl: 56px;--spacing-compact-xs: 3px;--spacing-compact-sm: 6px;--spacing-compact-md: 9px;--spacing-compact-base: 12px;--spacing-compact-lg: 16px;--section-card-min-height: 110px;--section-card-compact-height: 90px;--section-header-gap: 2px;--section-content-gap: var(--spacing-sm);--section-card-gap: var(--spacing-md);--section-card-padding: var(--spacing-md)}:root{--text-xs: .6875rem;--text-sm: .75rem;--text-base: .8125rem;--text-md: .875rem;--text-lg: 1.0625rem;--text-xl: 1.1875rem;--text-2xl: 1.375rem;--text-3xl: 1.625rem;--text-4xl: 2rem;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--leading-tight: 1.2;--leading-snug: 1.3;--leading-normal: 1.4;--leading-relaxed: 1.5;--leading-loose: 1.75}:root{--radius-none: 0;--radius-xs: 2px;--radius-sm: 3px;--radius-md: 5px;--radius-lg: 7px;--radius-xl: 10px;--radius-2xl: 14px;--radius-full: 9999px}:root{--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .05);--glow-sm: 0 0 10px rgba(var(--accent-rgb), .15);--glow-md: 0 0 20px rgba(var(--accent-rgb), .2);--glow-lg: 0 0 30px rgba(var(--accent-rgb), .25)}@media (prefers-color-scheme: dark){:root{--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .2);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .3), 0 1px 2px -1px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -2px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -4px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .5), 0 8px 10px -6px rgba(0, 0, 0, .5)}}:root{--duration-fast: .15s;--duration-base: .2s;--duration-slow: .3s;--duration-slower: .5s;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--ease-smooth: cubic-bezier(.4, 0, .6, 1);--transition-base: all var(--duration-base) var(--ease-out);--transition-fast: all var(--duration-fast) var(--ease-out);--transition-slow: all var(--duration-slow) var(--ease-out);--transition-colors: background-color var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out);--transition-shadow: box-shadow var(--duration-base) var(--ease-out);--transition-transform: transform var(--duration-base) var(--ease-out)}:root{--z-base: 1;--z-dropdown: 100;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-toast: 800;--z-max: 9999}:root{--blur-none: 0;--blur-sm: 4px;--blur-md: 8px;--blur-lg: 16px;--blur-xl: 24px;--glass-bg: rgba(255, 255, 255, .7);--glass-border: rgba(255, 255, 255, .2);--glass-blur: var(--blur-md)}@media (prefers-color-scheme: dark){:root{--glass-bg: rgba(0, 0, 0, .4);--glass-border: rgba(255, 255, 255, .1)}}:root{--opacity-0: 0;--opacity-5: .05;--opacity-10: .1;--opacity-20: .2;--opacity-30: .3;--opacity-40: .4;--opacity-50: .5;--opacity-60: .6;--opacity-70: .7;--opacity-80: .8;--opacity-90: .9;--opacity-100: 1}:root{--surface-base: var(--osi-section-item-background);--surface-raised: var(--osi-section-item-background-hover);--surface-overlay: var(--glass-bg);--border-light: rgba(var(--foreground-rgb), .08);--border-base: var(--border);--border-strong: rgba(var(--foreground-rgb), .2);--state-hover-opacity: .08;--state-active-opacity: .12;--state-focus-opacity: .16;--state-disabled-opacity: .5}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes fade-in-up{0%{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes fade-in-scale{0%{opacity:0;transform:translateZ(0) scale(.95)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes metal-sweep-ltr{0%{transform:translate(-100%);opacity:0}20%{opacity:.3}50%{opacity:.5}80%{opacity:.3}to{transform:translate(200%);opacity:0}}@keyframes metal-sweep-rtl{0%{transform:translate(200%);opacity:0}20%{opacity:.3}50%{opacity:.5}80%{opacity:.3}to{transform:translate(-100%);opacity:0}}@keyframes section-fade-in{0%{opacity:0}to{opacity:1}}@keyframes section-fade-in-up{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.unified-card,.section-card,[class*=__card],[class*=-card],[class*=__item],[class*=-item],.metric-card,.list-item,.analytics-card{transition:none!important;animation:none!important}.unified-card:hover,.section-card:hover,[class*=__card]:hover,[class*=-card]:hover,[class*=__item]:hover,[class*=-item]:hover,.metric-card:hover,.list-item:hover,.analytics-card:hover{transform:none!important}}.unified-card{background:var(--osi-section-item-background);border:var(--osi-section-item-border);border-radius:var(--osi-section-item-border-radius);box-shadow:var(--osi-section-item-shadow);padding:var(--osi-section-item-padding-normal);display:flex;flex-direction:column;gap:var(--osi-section-item-gap);min-height:var(--card-min-height, auto);cursor:pointer;overflow-x:hidden;width:100%!important;max-width:100%!important;box-sizing:border-box!important;text-align:left;word-wrap:break-word;overflow-wrap:break-word;transition:var(--osi-section-item-transition);position:relative;overflow:hidden}.unified-card:before{content:\"\";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;border-radius:inherit;animation:none;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%);width:50%;mix-blend-mode:overlay}.unified-card:hover:before{opacity:1;animation:metal-sweep-ltr .23s ease-out forwards}.unified-card:not(:hover):before{animation:none;opacity:0}@media (prefers-reduced-motion: reduce){.unified-card:before{display:none}}.unified-card:hover{border-color:var(--osi-section-item-border-hover-enhanced-color);box-shadow:var(--osi-section-item-shadow-hover-enhanced)}.unified-card:focus-visible{outline:none}@media (prefers-reduced-motion: reduce){.unified-card{transition:none}}.section-card{background:var(--osi-section-item-background);border:var(--osi-section-item-border);border-radius:var(--osi-section-item-border-radius);box-shadow:var(--osi-section-item-shadow);padding:var(--osi-section-item-padding-normal);display:flex;flex-direction:column;gap:var(--osi-section-item-gap);min-height:var(--card-min-height, auto);cursor:pointer;overflow-x:hidden;width:100%!important;max-width:100%!important;box-sizing:border-box!important;text-align:left;word-wrap:break-word;overflow-wrap:break-word;transition:var(--osi-section-item-transition);position:relative;overflow:hidden}.section-card:before{content:\"\";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;border-radius:inherit;animation:none;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%);width:50%;mix-blend-mode:overlay}.section-card:hover:before{opacity:1;animation:metal-sweep-ltr .23s ease-out forwards}.section-card:not(:hover):before{animation:none;opacity:0}@media (prefers-reduced-motion: reduce){.section-card:before{display:none}}.section-card:hover{border-color:var(--osi-section-item-border-hover-enhanced-color);box-shadow:var(--osi-section-item-shadow-hover-enhanced)}.section-card:focus-visible{outline:none}@media (prefers-reduced-motion: reduce){.section-card{transition:none}}.section-card{width:100%!important;max-width:100%!important;box-sizing:border-box!important}.section-item{transition:border-color var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),box-shadow var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),var(--osi-section-item-transition);position:relative;overflow:hidden}.section-item:before{content:\"\";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;border-radius:inherit;animation:none;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%);width:50%;mix-blend-mode:overlay}.section-item:hover{border-color:var(--osi-section-item-border-hover-enhanced-color)!important;box-shadow:var(--osi-section-item-shadow-hover-enhanced)!important;background:var(--osi-section-item-background)!important}.section-item:hover:before{opacity:1;animation:metal-sweep-ltr .23s ease-out forwards}.section-item:not(:hover):before{animation:none;opacity:0}@media (prefers-reduced-motion: reduce){.section-item{transition:none}.section-item:after{display:none}}.status--completed,.status--success{color:#22c55e;background:#22c55e1a}.status--active,.status--in-progress{color:var(--accent);background:#ff79001a}.status--pending,.status--warning{color:#f59e0b;background:#f59e0b1a}.status--blocked,.status--cancelled,.status--delayed,.status--inactive,.status--error{color:#ef4444;background:#ef44441a}.status--default{color:var(--muted-foreground);background:var(--muted)}.priority--high{color:#ef4444;background:#ef44441a}.priority--medium{color:#f59e0b;background:#f59e0b1a}.priority--low{color:#22c55e;background:#22c55e1a}.priority--default{color:var(--muted-foreground);background:var(--muted)}.masonry-container .masonry-item:nth-child(4n+1) .section-item:before,.masonry-container .masonry-item:nth-child(4n+1) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+1) .section-card:before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+2) .section-item:before,.masonry-container .masonry-item:nth-child(4n+2) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+2) .section-card:before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):before{background:linear-gradient(270deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container .masonry-item:nth-child(4n+1) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+1) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+1) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+2) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+2) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+2) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-rtl .23s ease-out forwards!important}.masonry-container .masonry-item:nth-child(4n+3) .section-item:before,.masonry-container .masonry-item:nth-child(4n+3) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+3) .section-card:before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+4) .section-item:before,.masonry-container .masonry-item:nth-child(4n+4) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+4) .section-card:before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-item:before,.masonry-container .masonry-item[data-col-span=\"3\"] .unified-card:before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-card:before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-item:before,.masonry-container .masonry-item[data-col-span=\"4\"] .unified-card:before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-card:before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-item:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .unified-card:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-card:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-item:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .unified-card:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-card:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):before{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container .masonry-item:nth-child(4n+3) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+3) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+3) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+4) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+4) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+4) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-item:hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] .unified-card:hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-card:hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-item:hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] .unified-card:hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-card:hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-item:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .unified-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-item:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .unified-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-ltr .23s ease-out forwards!important}@supports (grid-template-rows: masonry){.masonry-container--native .masonry-item:nth-child(4n+1) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+1) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+1) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+2) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):before{background:linear-gradient(270deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container--native .masonry-item:nth-child(4n+1) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-rtl .23s ease-out forwards!important}.masonry-container--native .masonry-item:nth-child(4n+3) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+3) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+3) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+4) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):before{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container--native .masonry-item:nth-child(4n+3) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-ltr .23s ease-out forwards!important}}@media (prefers-reduced-motion: reduce){.unified-card,.section-card,[class*=__card],[class*=-card],[class*=__item],[class*=-item]{transition:none;animation:none}}@keyframes item-stream{0%{opacity:0;transform:translate3d(0,var(--osi-motion-distance-sm, 8px),0)}to{opacity:1;transform:translateZ(0)}}.ai-section h1,.ai-section h2,.ai-section h3,.ai-section h4,.ai-section h5,.ai-section h6,.ai-section [class*=title],.ai-section [class*=heading],.ai-section [class*=header]{margin-bottom:.05em!important;line-height:1.3!important}.ai-section br{margin-top:.05em!important;line-height:1.3!important}.ai-section p,.ai-section div,.ai-section span{line-height:1.3!important}.ai-section h1+p,.ai-section h1+div,.ai-section h1+span,.ai-section h2+p,.ai-section h2+div,.ai-section h2+span,.ai-section h3+p,.ai-section h3+div,.ai-section h3+span,.ai-section h4+p,.ai-section h4+div,.ai-section h4+span,.ai-section h5+p,.ai-section h5+div,.ai-section h5+span,.ai-section h6+p,.ai-section h6+div,.ai-section h6+span,.ai-section [class*=title]+p,.ai-section [class*=title]+div,.ai-section [class*=title]+span,.ai-section [class*=heading]+p,.ai-section [class*=heading]+div,.ai-section [class*=heading]+span,.ai-section [class*=header]+p,.ai-section [class*=header]+div,.ai-section [class*=header]+span{margin-top:.05em!important}.ai-section.ai-section--overview .overview-item--single-text .overview-item__value--single-text br{margin-top:7px!important;height:7px!important;line-height:1.3!important;display:block!important;content:\"\"}.ai-section{--section-accent: var(--osi-section-accent);--section-border: var(--osi-section-border);--section-border-hover: var(--osi-section-border-hover);--section-box-shadow: var(--osi-section-shadow);--section-background: var(--osi-section-background);--section-background-hover: var(--osi-section-background-hover);--section-backdrop-filter: var(--osi-section-backdrop-filter);--section-spacing-bottom: var(--osi-section-spacing-bottom, 12px);--section-glow-background: var(--osi-section-glow-background);--section-glow-opacity-hover: var(--osi-section-glow-opacity-hover);--section-title-underline-length: var(--osi-section-title-underline-length);--section-title-underline-hover-length: var(--osi-section-title-underline-hover-length);--section-title-underline-height: var(--osi-section-title-underline-height);--section-title-underline-offset: var(--osi-section-title-underline-offset);--section-title-hover-color: var(--osi-section-title-hover-color);width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;margin-bottom:var(--section-spacing-bottom, 12px)!important;margin-top:0!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;contain:layout style;transition:border-color var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),box-shadow var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1)}.ai-section *{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.ai-section:not(.masonry-item .ai-section){position:relative;display:flex;flex-direction:column;gap:var(--section-card-gap);padding:0!important;border-radius:var(--osi-section-item-border-radius);background:var(--section-background);border:var(--section-border);box-shadow:var(--section-box-shadow);width:100%!important;max-width:100%!important;box-sizing:border-box!important;transition:border-color var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),box-shadow var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1)}.ai-section:not(.masonry-item .ai-section):hover{border-color:var(--osi-section-border-hover-enhanced-color);box-shadow:var(--osi-section-shadow-hover-enhanced)}@media (prefers-reduced-motion: reduce){.ai-section:not(.masonry-item .ai-section){transition:none}}.masonry-item .ai-section{display:flex!important;flex-direction:column!important;gap:var(--osi-section-gap, 8px)!important;height:auto!important}.ai-section:hover{border-color:var(--osi-section-border-hover-enhanced-color);box-shadow:var(--osi-section-shadow-hover-enhanced)}@media (prefers-reduced-motion: reduce){.ai-section{transition:none}}.ai-section__header{display:flex;flex-direction:column;gap:var(--osi-section-header-gap);width:100%;box-sizing:border-box;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;padding:0 0 var(--osi-section-header-padding-bottom) 0!important;border-bottom:none!important;background:transparent!important;margin:0!important;flex-wrap:wrap!important;gap:var(--osi-section-header-gap)!important;text-align:left!important}.ai-section__title{font-size:var(--section-title-font-size, .9375rem);font-weight:var(--section-title-font-weight, 700);letter-spacing:var(--section-title-letter-spacing, -.02em);line-height:var(--section-title-line-height, 1.3);color:var(--card-text-primary, #1c1c1f);margin:0;font-size:var(--osi-section-title-font-size)!important;font-weight:700!important;letter-spacing:var(--osi-section-title-letter-spacing)!important;line-height:var(--osi-section-title-line-height)!important;color:var(--osi-section-title-color)!important;opacity:1!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;position:relative!important;transition:var(--osi-section-title-transition)!important;padding:0!important;margin:0 0 var(--osi-section-title-margin-bottom) 0!important;text-align:left!important;font-family:inherit!important;border:none!important}.ai-section__title:before{content:\"\"!important;position:absolute!important;left:0!important;bottom:var(--osi-section-title-underline-offset)!important;width:var(--osi-section-title-underline-length)!important;height:var(--osi-section-title-underline-height)!important;background:var(--osi-section-title-underline-color)!important;border-radius:var(--radius-xs)!important;transition:width .22s ease,opacity .22s ease!important;transform-origin:left!important;opacity:.6!important}.ai-section__title:hover{color:var(--osi-section-title-color)!important}.ai-section__title:hover:before{width:var(--osi-section-title-underline-hover-length)!important;opacity:1!important}.ai-section__icon{display:none!important;width:var(--icon-size-section)!important;height:var(--icon-size-section)!important}.ai-section__details{display:flex!important;flex-direction:column!important;gap:var(--osi-section-header-gap)!important;align-items:flex-start!important;text-align:left!important}.ai-section__description{font-size:var(--section-description-font-size, .75rem);font-weight:400;color:var(--card-text-secondary, rgba(28, 28, 31, .6));line-height:1.3;margin:0;color:var(--osi-section-description-color)!important;letter-spacing:.01em!important;line-height:1.2!important;font-weight:400!important;overflow:hidden!important;text-overflow:ellipsis!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;margin-top:0!important;padding-top:0!important;text-align:left!important;transition:var(--osi-section-description-transition)!important;font-family:inherit!important}.ai-section:hover .ai-section__description{color:var(--osi-section-description-color-hover)!important}.ai-section__badge{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;font-size:.55rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:#ff7900;background:#ff79001a;border-radius:4px;white-space:nowrap;display:none!important;padding:var(--tag-padding-y-sm) var(--tag-padding-x)!important;border-radius:var(--radius-sm)!important}.ai-section--contact-card .ai-section__badge,.ai-section--solutions .ai-section__badge,.ai-section--event .ai-section__badge,.ai-section--chart .ai-section__badge,.ai-section--financials .ai-section__badge{display:none!important;align-items:center!important;padding:var(--osi-section-badge-padding)!important;background:var(--osi-section-badge-bg)!important;color:var(--osi-section-badge-color)!important;border:none!important;box-shadow:none!important;border-radius:var(--osi-section-border-radius)!important;font-size:var(--card-meta-font-size, .6rem)!important;font-weight:var(--card-meta-font-weight, 500)!important;transition:opacity .2s ease,background .2s ease!important;line-height:1.2!important}.ai-section:hover .ai-section__badge{opacity:1!important;background:var(--osi-section-badge-bg-hover)!important}.ai-section__body{display:flex;flex-direction:column;gap:var(--osi-section-gap-internal);width:100%;box-sizing:border-box;padding:0!important;margin:0!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}.ai-section .section-empty{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;padding:var(--osi-section-padding)!important;text-align:center!important;color:var(--muted-foreground)!important;min-height:auto!important;border-radius:var(--radius-md)!important;background:var(--osi-section-empty-bg)!important;border:var(--osi-section-empty-border)!important;transition:opacity .2s ease,background .2s ease!important}.ai-section .section-empty lucide-icon{margin-bottom:var(--osi-section-gap)!important;opacity:var(--osi-section-empty-icon-opacity)!important;color:var(--accent)!important;transition:all .2s ease!important}.ai-section .section-empty p{font-size:var(--font-section-description, .85rem)!important;margin:0!important;font-weight:500!important;font-family:inherit!important}.ai-section .section-empty:hover{background:var(--osi-section-empty-bg-hover)!important;border-color:var(--osi-section-empty-border-hover)!important}.ai-section .section-empty:hover lucide-icon{opacity:var(--osi-section-empty-icon-opacity-hover)!important}.ai-section--info{--section-accent: var(--osi-section-accent-info)}.ai-section--analytics{--section-accent: var(--osi-section-accent-analytics)}.ai-section--financials{--section-accent: var(--osi-section-accent-financials)}.ai-section--map{--section-accent: var(--osi-section-accent-map)}.ai-section--network-card{--section-accent: var(--osi-section-accent-network)}.ai-section--contact-card{--section-accent: var(--osi-section-accent-contact)}.ai-section--product{--section-accent: var(--osi-section-accent-product)}.ai-section--solutions{--section-accent: var(--osi-section-accent-solutions)}.ai-section--overview{--section-accent: var(--osi-section-accent-overview)}.ai-section--overview .ai-section__title{font-size:calc(var(--osi-section-title-font-size) - 1.5px)!important}.ai-section--list,.ai-section--info-list{--section-accent: var(--osi-section-accent-list)}.ai-section--event{--section-accent: var(--osi-section-accent-event)}.ai-section--chart{--section-accent: var(--osi-section-accent-chart)}.ai-section--text-reference{--section-accent: var(--osi-section-accent-reference)}.ai-section--quotation{--section-accent: var(--osi-section-accent-quotation)}.ai-card-surface--fullscreen .ai-section{--section-padding: var(--osi-section-padding);--section-spacing-bottom: var(--osi-section-spacing-bottom);--section-gap: var(--osi-section-gap);--section-gap-internal: var(--osi-section-gap-internal);--section-title-underline-length: var(--osi-section-title-underline-length);--section-title-underline-hover-length: var(--osi-section-title-underline-hover-length);--section-title-underline-height: var(--osi-section-title-underline-height);--section-title-underline-offset: var(--osi-section-title-underline-offset);--section-box-shadow: none !important;--section-box-shadow-hover: none !important}.ai-card-surface--fullscreen .masonry-item,.ai-card-surface--fullscreen .masonry-item:hover{box-shadow:var(--osi-section-shadow-fullscreen)!important}.ai-card-surface--fullscreen .ai-section__header{padding:0 0 var(--osi-section-header-padding-bottom) 0!important;gap:var(--osi-section-header-gap)!important}.ai-card-surface--fullscreen .ai-section__title{font-size:var(--card-title-font-size, .95rem)!important}.ai-card-surface--fullscreen .ai-section__body{gap:var(--osi-section-gap-internal)!important}.ai-card-surface--fullscreen .ai-section__description{font-size:var(--card-meta-font-size, .6rem)!important;margin-top:0!important;padding-top:0!important}.section-content{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;padding:0!important;margin:0!important}.section-content>*{width:100%!important;max-width:100%!important;box-sizing:border-box!important}.ai-section--faq,.ai-section--faq .list,.ai-section--faq .item{min-width:0!important;width:100%!important;max-width:100%!important}:host{display:block;width:100%}.chart-container{display:flex;flex-direction:column;gap:var(--osi-section-item-gap)!important}.chart-wrapper{background:var(--osi-card-bg, white);border:1px solid var(--osi-card-border, var(--osi-neutral-200));border-radius:var(--osi-card-radius, var(--osi-radius-xl));box-shadow:var(--osi-card-shadow, var(--osi-shadow-md));overflow:hidden;height:280px;padding:var(--osi-section-item-padding-compact);position:relative}@media (max-width: 479px){.chart-wrapper{height:180px;padding:var(--osi-section-item-padding-compact-xs)}}.chart-container{width:100%;height:100%;position:relative}.chart-container canvas{max-width:100%;max-height:100%}.chart-loading-overlay{position:absolute;inset:0;background-color:color-mix(in srgb,var(--background) 85%,transparent);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--osi-section-item-gap);z-index:1000;pointer-events:none;transition:opacity .3s ease}.chart-loading-overlay .chart-loading-spinner{width:32px;height:32px;border:3px solid color-mix(in srgb,var(--foreground) 20%,transparent);border-top-color:var(--status-info, #3b82f6);border-radius:50%;animation:chart-spin 1s linear infinite}.chart-loading-overlay .chart-loading-text{font-weight:var(--font-semibold);color:var(--foreground);text-transform:none;color:var(--muted-foreground);font-size:var(--text-sm)}@keyframes chart-spin{to{transform:rotate(360deg)}}:host ::ng-deep canvas{display:block!important;max-width:100%;max-height:100%}:host ::ng-deep .chartjs-legend{color:var(--foreground)}:host ::ng-deep .chartjs-tooltip{background-color:var(--osi-section-item-background, var(--card-section-bg))!important;color:var(--foreground)!important;border:1px solid var(--border);border-radius:var(--osi-radius-md);box-shadow:0 4px 12px #0006;padding:8px 12px}:host ::ng-deep .chartjs-tooltip-body{color:var(--foreground)!important}:host ::ng-deep .chartjs-tooltip-header{color:var(--foreground)!important;border-bottom:1px solid var(--border)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: BaseChartDirective, selector: "canvas[baseChart]", inputs: ["type", "legend", "data", "options", "plugins", "labels", "datasets"], outputs: ["chartClick", "chartHover"], exportAs: ["base-chart"] }, { kind: "component", type: SectionHeaderComponent, selector: "lib-section-header", inputs: ["title", "description", "level", "headerClass", "titleClass", "descriptionClass"] }, { kind: "component", type: EmptyStateComponent, selector: "lib-empty-state", inputs: ["message", "icon", "actionLabel", "variant", "size", "containerClass"], outputs: ["action"] }] }); }
19162
19366
  }
19163
19367
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ChartSectionComponent, decorators: [{
19164
19368
  type: Component,
19165
- args: [{ selector: 'lib-chart-section', standalone: true, imports: [CommonModule, SectionHeaderComponent, EmptyStateComponent], template: "<div class=\"ai-section ai-section--chart section-content\">\n <!-- Section Header -->\n <lib-section-header [title]=\"section.title\" [description]=\"section.description\"> </lib-section-header>\n\n <!-- Chart Container -->\n <div class=\"chart-container\" *ngIf=\"section.chartData && !chartError\">\n <div class=\"chart-wrapper\">\n <div #chartContainer class=\"chart-canvas-wrapper\"></div>\n </div>\n </div>\n\n <!-- Error State -->\n <lib-empty-state *ngIf=\"chartError\" [message]=\"chartError\" icon=\"\u26A0\uFE0F\" variant=\"minimal\"> </lib-empty-state>\n\n <!-- No Data State -->\n <lib-empty-state\n *ngIf=\"!section.chartData && !chartError\"\n message=\"No chart data available\"\n icon=\"\uD83D\uDCCA\"\n variant=\"minimal\"\n >\n </lib-empty-state>\n</div>\n", styles: [":root{--osi-spacing-2px: 2px;--osi-spacing-4px: 4px;--osi-spacing-6px: 6px;--osi-spacing-8px: 8px;--osi-spacing-10px: 10px;--osi-spacing-xs: 4px;--osi-spacing-sm: 8px;--osi-spacing-md: 12px;--osi-spacing-lg: 16px;--osi-spacing-xl: 24px;--osi-spacing-2xl: 32px;--osi-spacing-3xl: 48px;--osi-section-header-gap: 2px;--osi-section-padding: var(--osi-spacing-sm);--osi-section-gap: var(--osi-spacing-md);--osi-item-padding: var(--osi-spacing-sm);--osi-item-gap: var(--osi-spacing-xs);--osi-element-gap: 2px;--osi-text-xs: .75rem;--osi-text-sm: .875rem;--osi-text-base: 1rem;--osi-text-md: 1.125rem;--osi-text-lg: 1.25rem;--osi-text-xl: 1.5rem;--osi-text-2xl: 1.875rem;--osi-text-3xl: 2.25rem;--text-xs: .6875rem;--text-sm: .75rem;--text-base: .8125rem;--text-md: .875rem;--text-lg: 1.0625rem;--text-xl: 1.1875rem;--text-2xl: 1.375rem;--text-3xl: 1.625rem;--osi-font-normal: 400;--osi-font-medium: 500;--osi-font-semibold: 600;--osi-font-bold: 700;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--osi-leading-tight: 1.25;--osi-leading-snug: 1.375;--osi-leading-normal: 1.5;--osi-leading-relaxed: 1.625;--osi-leading-loose: 2;--leading-tight: 1.2;--leading-snug: 1.3;--leading-normal: 1.4;--leading-relaxed: 1.5;--leading-loose: 1.75;--osi-tracking-tight: -.025em;--osi-tracking-normal: 0;--osi-tracking-wide: .025em;--osi-tracking-wider: .05em;--osi-surface: hsl(0, 0%, 10%);--osi-surface-raised: hsl(0, 0%, 15%);--osi-surface-hover: hsl(0, 0%, 20%);--osi-surface-subtle: hsl(0, 0%, 12%);--osi-foreground: var( --foreground, hsl(0, 0%, 95%) );--osi-foreground-strong: var(--foreground, hsl(0, 0%, 100%));--osi-muted-foreground: var( --muted-foreground, hsl(0, 0%, 60%) );--osi-disabled-foreground: var(--muted-foreground, hsl(0, 0%, 40%));--osi-accent: hsl(25, 100%, 50%);--osi-accent-bright: hsl(25, 100%, 60%);--osi-accent-muted: hsl(25, 50%, 40%);--osi-success: hsl(142, 71%, 45%);--osi-success-bg: hsla(142, 71%, 45%, .15);--osi-success-bright: hsl(142, 71%, 55%);--osi-error: hsl(0, 84%, 60%);--osi-error-bg: hsla(0, 84%, 60%, .15);--osi-error-bright: hsl(0, 84%, 70%);--osi-warning: hsl(45, 93%, 47%);--osi-warning-bg: hsla(45, 93%, 47%, .15);--osi-warning-bright: hsl(45, 93%, 57%);--osi-info: hsl(221, 83%, 53%);--osi-info-bg: hsla(221, 83%, 53%, .15);--osi-info-bright: hsl(221, 83%, 63%);--osi-border: hsla(0, 0%, 100%, .2);--osi-border-muted: hsla(0, 0%, 100%, .06);--osi-border-strong: hsla(0, 0%, 100%, .35);--osi-radius-none: 0;--osi-radius-xs: 2px;--osi-radius-sm: 4px;--osi-radius-md: 8px;--osi-radius-lg: 12px;--osi-radius-xl: 16px;--osi-radius-full: 9999px;--osi-shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--osi-shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--osi-shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--osi-shadow-xl: 0 20px 25px rgba(0, 0, 0, .15);--osi-shadow-2xl: 0 25px 50px rgba(0, 0, 0, .25);--osi-duration-fast: .15s;--osi-duration-normal: .2s;--osi-duration-medium: .3s;--osi-duration-slow: .6s;--osi-ease-linear: linear;--osi-ease-in: cubic-bezier(.4, 0, 1, 1);--osi-ease-out: cubic-bezier(0, 0, .2, 1);--osi-ease-in-out: cubic-bezier(.4, 0, .2, 1);--osi-ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--osi-z-base: 0;--osi-z-raised: 10;--osi-z-dropdown: 100;--osi-z-fixed: 300;--osi-z-modal: 400;--osi-z-popover: 500;--osi-z-tooltip: 600;--osi-grid-gap: var(--osi-spacing-md);--osi-grid-row-gap: var(--osi-grid-gap);--osi-grid-column-gap: var(--osi-grid-gap);--osi-grid-min-small: 140px;--osi-grid-min-medium: 200px;--osi-grid-min-large: 300px;--osi-grid-min-xs: 120px;--osi-grid-min-sm: 140px;--osi-grid-min-md: 160px;--osi-grid-min-lg: 180px;--osi-grid-min-xl: 200px;--osi-grid-min-2xl: 250px;--osi-grid-min-3xl: 280px;--osi-grid-min-4xl: 300px;--osi-card-min-height: 90px;--osi-card-min-height-large: 120px;--osi-card-min-height-xs: 70px;--osi-card-min-height-sm: 80px;--osi-card-min-height-md: 90px;--osi-card-min-height-lg: 95px;--osi-card-min-height-xl: 110px}@media (prefers-color-scheme: dark){:root{--osi-surface: hsl(0, 0%, 8%);--osi-surface-raised: hsl(0, 0%, 12%);--osi-surface-hover: hsl(0, 0%, 16%);--osi-border-muted: hsla(0, 0%, 100%, .04)}}@media (prefers-contrast: high){:root{--osi-border: hsla(0, 0%, 100%, .4);--osi-border-strong: hsla(0, 0%, 100%, .6)}}@media (prefers-reduced-motion: reduce){:root{--osi-duration-fast: 0ms;--osi-duration-normal: 0ms;--osi-duration-medium: 0ms;--osi-duration-slow: 0ms}}.osi-card-container{container-type:inline-size;container-name:card;--card-padding: 4px;--card-gap: .5rem;--card-title-size: 1rem;--section-title-size: .875rem;--field-label-size: .75rem;--field-value-size: .875rem}.masonry-container{--masonry-columns: 1}@media (min-width: 480px){.masonry-container{--masonry-columns: 2}}@media (min-width: 1024px){.masonry-container{--masonry-columns: 3}}@media (min-width: 1280px){.masonry-container{--masonry-columns: 4}}@container card (min-width: 400px){.masonry-container--container-responsive{--masonry-columns: 2}}@container card (min-width: 700px){.masonry-container--container-responsive{--masonry-columns: 3}}@container card (min-width: 1000px){.masonry-container--container-responsive{--masonry-columns: 4}}.ai-section--info .section-field-grid{grid-template-columns:1fr}@media (min-width: 480px){.ai-section--info .section-field-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.ai-section--info .section-field-grid{grid-template-columns:repeat(3,1fr)}}.ai-section--analytics .metric-grid{grid-template-columns:1fr}@media (min-width: 320px){.ai-section--analytics .metric-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 768px){.ai-section--analytics .metric-grid{grid-template-columns:repeat(3,1fr)}}.ai-section--analytics .metric-value{font-size:var(--text-2xl)}.ai-section--timeline .timeline-items{flex-direction:column}@media (min-width: 1024px){.ai-section--timeline .timeline-items{flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory}.ai-section--timeline .timeline-items>*{scroll-snap-align:start;min-width:280px}}.ai-section--contact .contact-grid{grid-template-columns:1fr}@media (min-width: 480px){.ai-section--contact .contact-grid{grid-template-columns:repeat(2,1fr)}}.text-responsive{font-size:.875rem;line-height:1.5}.heading-responsive{font-size:1.25rem;line-height:1.2}.space-responsive{padding:.5rem}.gap-responsive{gap:.5rem}.touch-target{min-height:44px;min-width:44px}@media (min-width: 1024px){.touch-target{min-height:36px;min-width:36px}}@media (max-width: 767px){.hide-mobile{display:none!important}}@media (min-width: 768px){.hide-desktop{display:none!important}}.show-mobile{display:none!important}@media (max-width: 767px){.show-mobile{display:block!important}}.show-desktop{display:none!important}@media (min-width: 768px){.show-desktop{display:block!important}}@media print{.osi-card-container{--card-padding: 1rem;box-shadow:none;border:1px solid #ddd;break-inside:avoid}.masonry-container{--masonry-columns: 2;display:block}.masonry-container .masonry-item{break-inside:avoid;margin-bottom:1rem}.hide-print{display:none!important}}:root{--spacing-none: 0;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-base: 16px;--spacing-lg: 20px;--spacing-xl: 28px;--spacing-2xl: 40px;--spacing-3xl: 56px;--spacing-compact-xs: 3px;--spacing-compact-sm: 6px;--spacing-compact-md: 9px;--spacing-compact-base: 12px;--spacing-compact-lg: 16px;--section-card-min-height: 110px;--section-card-compact-height: 90px;--section-header-gap: 2px;--section-content-gap: var(--spacing-sm);--section-card-gap: var(--spacing-md);--section-card-padding: var(--spacing-md)}:root{--text-xs: .6875rem;--text-sm: .75rem;--text-base: .8125rem;--text-md: .875rem;--text-lg: 1.0625rem;--text-xl: 1.1875rem;--text-2xl: 1.375rem;--text-3xl: 1.625rem;--text-4xl: 2rem;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--leading-tight: 1.2;--leading-snug: 1.3;--leading-normal: 1.4;--leading-relaxed: 1.5;--leading-loose: 1.75}:root{--radius-none: 0;--radius-xs: 2px;--radius-sm: 3px;--radius-md: 5px;--radius-lg: 7px;--radius-xl: 10px;--radius-2xl: 14px;--radius-full: 9999px}:root{--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .05);--glow-sm: 0 0 10px rgba(var(--accent-rgb), .15);--glow-md: 0 0 20px rgba(var(--accent-rgb), .2);--glow-lg: 0 0 30px rgba(var(--accent-rgb), .25)}@media (prefers-color-scheme: dark){:root{--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .2);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .3), 0 1px 2px -1px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -2px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -4px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .5), 0 8px 10px -6px rgba(0, 0, 0, .5)}}:root{--duration-fast: .15s;--duration-base: .2s;--duration-slow: .3s;--duration-slower: .5s;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--ease-smooth: cubic-bezier(.4, 0, .6, 1);--transition-base: all var(--duration-base) var(--ease-out);--transition-fast: all var(--duration-fast) var(--ease-out);--transition-slow: all var(--duration-slow) var(--ease-out);--transition-colors: background-color var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out);--transition-shadow: box-shadow var(--duration-base) var(--ease-out);--transition-transform: transform var(--duration-base) var(--ease-out)}:root{--z-base: 1;--z-dropdown: 100;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-toast: 800;--z-max: 9999}:root{--blur-none: 0;--blur-sm: 4px;--blur-md: 8px;--blur-lg: 16px;--blur-xl: 24px;--glass-bg: rgba(255, 255, 255, .7);--glass-border: rgba(255, 255, 255, .2);--glass-blur: var(--blur-md)}@media (prefers-color-scheme: dark){:root{--glass-bg: rgba(0, 0, 0, .4);--glass-border: rgba(255, 255, 255, .1)}}:root{--opacity-0: 0;--opacity-5: .05;--opacity-10: .1;--opacity-20: .2;--opacity-30: .3;--opacity-40: .4;--opacity-50: .5;--opacity-60: .6;--opacity-70: .7;--opacity-80: .8;--opacity-90: .9;--opacity-100: 1}:root{--surface-base: var(--osi-section-item-background);--surface-raised: var(--osi-section-item-background-hover);--surface-overlay: var(--glass-bg);--border-light: rgba(var(--foreground-rgb), .08);--border-base: var(--border);--border-strong: rgba(var(--foreground-rgb), .2);--state-hover-opacity: .08;--state-active-opacity: .12;--state-focus-opacity: .16;--state-disabled-opacity: .5}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes fade-in-up{0%{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes fade-in-scale{0%{opacity:0;transform:translateZ(0) scale(.95)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes metal-sweep-ltr{0%{transform:translate(-100%);opacity:0}20%{opacity:.3}50%{opacity:.5}80%{opacity:.3}to{transform:translate(200%);opacity:0}}@keyframes metal-sweep-rtl{0%{transform:translate(200%);opacity:0}20%{opacity:.3}50%{opacity:.5}80%{opacity:.3}to{transform:translate(-100%);opacity:0}}@keyframes section-fade-in{0%{opacity:0}to{opacity:1}}@keyframes section-fade-in-up{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.unified-card,.section-card,[class*=__card],[class*=-card],[class*=__item],[class*=-item],.metric-card,.list-item,.analytics-card{transition:none!important;animation:none!important}.unified-card:hover,.section-card:hover,[class*=__card]:hover,[class*=-card]:hover,[class*=__item]:hover,[class*=-item]:hover,.metric-card:hover,.list-item:hover,.analytics-card:hover{transform:none!important}}.unified-card{background:var(--osi-section-item-background);border:var(--osi-section-item-border);border-radius:var(--osi-section-item-border-radius);box-shadow:var(--osi-section-item-shadow);padding:var(--osi-section-item-padding-normal);display:flex;flex-direction:column;gap:var(--osi-section-item-gap);min-height:var(--card-min-height, auto);cursor:pointer;overflow-x:hidden;width:100%!important;max-width:100%!important;box-sizing:border-box!important;text-align:left;word-wrap:break-word;overflow-wrap:break-word;transition:var(--osi-section-item-transition);position:relative;overflow:hidden}.unified-card:before{content:\"\";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;border-radius:inherit;animation:none;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%);width:50%;mix-blend-mode:overlay}.unified-card:hover:before{opacity:1;animation:metal-sweep-ltr .23s ease-out forwards}.unified-card:not(:hover):before{animation:none;opacity:0}@media (prefers-reduced-motion: reduce){.unified-card:before{display:none}}.unified-card:hover{border-color:var(--osi-section-item-border-hover-enhanced-color);box-shadow:var(--osi-section-item-shadow-hover-enhanced)}.unified-card:focus-visible{outline:none}@media (prefers-reduced-motion: reduce){.unified-card{transition:none}}.section-card{background:var(--osi-section-item-background);border:var(--osi-section-item-border);border-radius:var(--osi-section-item-border-radius);box-shadow:var(--osi-section-item-shadow);padding:var(--osi-section-item-padding-normal);display:flex;flex-direction:column;gap:var(--osi-section-item-gap);min-height:var(--card-min-height, auto);cursor:pointer;overflow-x:hidden;width:100%!important;max-width:100%!important;box-sizing:border-box!important;text-align:left;word-wrap:break-word;overflow-wrap:break-word;transition:var(--osi-section-item-transition);position:relative;overflow:hidden}.section-card:before{content:\"\";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;border-radius:inherit;animation:none;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%);width:50%;mix-blend-mode:overlay}.section-card:hover:before{opacity:1;animation:metal-sweep-ltr .23s ease-out forwards}.section-card:not(:hover):before{animation:none;opacity:0}@media (prefers-reduced-motion: reduce){.section-card:before{display:none}}.section-card:hover{border-color:var(--osi-section-item-border-hover-enhanced-color);box-shadow:var(--osi-section-item-shadow-hover-enhanced)}.section-card:focus-visible{outline:none}@media (prefers-reduced-motion: reduce){.section-card{transition:none}}.section-card{width:100%!important;max-width:100%!important;box-sizing:border-box!important}.section-item{transition:border-color var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),box-shadow var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),var(--osi-section-item-transition);position:relative;overflow:hidden}.section-item:before{content:\"\";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;border-radius:inherit;animation:none;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%);width:50%;mix-blend-mode:overlay}.section-item:hover{border-color:var(--osi-section-item-border-hover-enhanced-color)!important;box-shadow:var(--osi-section-item-shadow-hover-enhanced)!important;background:var(--osi-section-item-background)!important}.section-item:hover:before{opacity:1;animation:metal-sweep-ltr .23s ease-out forwards}.section-item:not(:hover):before{animation:none;opacity:0}@media (prefers-reduced-motion: reduce){.section-item{transition:none}.section-item:after{display:none}}.status--completed,.status--success{color:#22c55e;background:#22c55e1a}.status--active,.status--in-progress{color:var(--accent);background:#ff79001a}.status--pending,.status--warning{color:#f59e0b;background:#f59e0b1a}.status--blocked,.status--cancelled,.status--delayed,.status--inactive,.status--error{color:#ef4444;background:#ef44441a}.status--default{color:var(--muted-foreground);background:var(--muted)}.priority--high{color:#ef4444;background:#ef44441a}.priority--medium{color:#f59e0b;background:#f59e0b1a}.priority--low{color:#22c55e;background:#22c55e1a}.priority--default{color:var(--muted-foreground);background:var(--muted)}.masonry-container .masonry-item:nth-child(4n+1) .section-item:before,.masonry-container .masonry-item:nth-child(4n+1) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+1) .section-card:before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+2) .section-item:before,.masonry-container .masonry-item:nth-child(4n+2) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+2) .section-card:before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):before{background:linear-gradient(270deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container .masonry-item:nth-child(4n+1) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+1) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+1) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+2) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+2) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+2) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-rtl .23s ease-out forwards!important}.masonry-container .masonry-item:nth-child(4n+3) .section-item:before,.masonry-container .masonry-item:nth-child(4n+3) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+3) .section-card:before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+4) .section-item:before,.masonry-container .masonry-item:nth-child(4n+4) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+4) .section-card:before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-item:before,.masonry-container .masonry-item[data-col-span=\"3\"] .unified-card:before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-card:before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-item:before,.masonry-container .masonry-item[data-col-span=\"4\"] .unified-card:before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-card:before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-item:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .unified-card:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-card:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-item:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .unified-card:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-card:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):before{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container .masonry-item:nth-child(4n+3) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+3) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+3) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+4) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+4) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+4) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-item:hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] .unified-card:hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-card:hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-item:hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] .unified-card:hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-card:hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-item:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .unified-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-item:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .unified-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-ltr .23s ease-out forwards!important}@supports (grid-template-rows: masonry){.masonry-container--native .masonry-item:nth-child(4n+1) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+1) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+1) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+2) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):before{background:linear-gradient(270deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container--native .masonry-item:nth-child(4n+1) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-rtl .23s ease-out forwards!important}.masonry-container--native .masonry-item:nth-child(4n+3) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+3) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+3) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+4) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):before{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container--native .masonry-item:nth-child(4n+3) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-ltr .23s ease-out forwards!important}}@media (prefers-reduced-motion: reduce){.unified-card,.section-card,[class*=__card],[class*=-card],[class*=__item],[class*=-item]{transition:none;animation:none}}@keyframes item-stream{0%{opacity:0;transform:translate3d(0,var(--osi-motion-distance-sm, 8px),0)}to{opacity:1;transform:translateZ(0)}}.ai-section h1,.ai-section h2,.ai-section h3,.ai-section h4,.ai-section h5,.ai-section h6,.ai-section [class*=title],.ai-section [class*=heading],.ai-section [class*=header]{margin-bottom:.05em!important;line-height:1.3!important}.ai-section br{margin-top:.05em!important;line-height:1.3!important}.ai-section p,.ai-section div,.ai-section span{line-height:1.3!important}.ai-section h1+p,.ai-section h1+div,.ai-section h1+span,.ai-section h2+p,.ai-section h2+div,.ai-section h2+span,.ai-section h3+p,.ai-section h3+div,.ai-section h3+span,.ai-section h4+p,.ai-section h4+div,.ai-section h4+span,.ai-section h5+p,.ai-section h5+div,.ai-section h5+span,.ai-section h6+p,.ai-section h6+div,.ai-section h6+span,.ai-section [class*=title]+p,.ai-section [class*=title]+div,.ai-section [class*=title]+span,.ai-section [class*=heading]+p,.ai-section [class*=heading]+div,.ai-section [class*=heading]+span,.ai-section [class*=header]+p,.ai-section [class*=header]+div,.ai-section [class*=header]+span{margin-top:.05em!important}.ai-section.ai-section--overview .overview-item--single-text .overview-item__value--single-text br{margin-top:7px!important;height:7px!important;line-height:1.3!important;display:block!important;content:\"\"}.ai-section{--section-accent: var(--osi-section-accent);--section-border: var(--osi-section-border);--section-border-hover: var(--osi-section-border-hover);--section-box-shadow: var(--osi-section-shadow);--section-background: var(--osi-section-background);--section-background-hover: var(--osi-section-background-hover);--section-backdrop-filter: var(--osi-section-backdrop-filter);--section-spacing-bottom: var(--osi-section-spacing-bottom, 12px);--section-glow-background: var(--osi-section-glow-background);--section-glow-opacity-hover: var(--osi-section-glow-opacity-hover);--section-title-underline-length: var(--osi-section-title-underline-length);--section-title-underline-hover-length: var(--osi-section-title-underline-hover-length);--section-title-underline-height: var(--osi-section-title-underline-height);--section-title-underline-offset: var(--osi-section-title-underline-offset);--section-title-hover-color: var(--osi-section-title-hover-color);width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;margin-bottom:var(--section-spacing-bottom, 12px)!important;margin-top:0!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;contain:layout style;transition:border-color var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),box-shadow var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1)}.ai-section *{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.ai-section:not(.masonry-item .ai-section){position:relative;display:flex;flex-direction:column;gap:var(--section-card-gap);padding:0!important;border-radius:var(--osi-section-item-border-radius);background:var(--section-background);border:var(--section-border);box-shadow:var(--section-box-shadow);width:100%!important;max-width:100%!important;box-sizing:border-box!important;transition:border-color var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),box-shadow var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1)}.ai-section:not(.masonry-item .ai-section):hover{border-color:var(--osi-section-border-hover-enhanced-color);box-shadow:var(--osi-section-shadow-hover-enhanced)}@media (prefers-reduced-motion: reduce){.ai-section:not(.masonry-item .ai-section){transition:none}}.masonry-item .ai-section{display:flex!important;flex-direction:column!important;gap:var(--osi-section-gap, 8px)!important;height:auto!important}.ai-section:hover{border-color:var(--osi-section-border-hover-enhanced-color);box-shadow:var(--osi-section-shadow-hover-enhanced)}@media (prefers-reduced-motion: reduce){.ai-section{transition:none}}.ai-section__header{display:flex;flex-direction:column;gap:var(--osi-section-header-gap);width:100%;box-sizing:border-box;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;padding:0 0 var(--osi-section-header-padding-bottom) 0!important;border-bottom:none!important;background:transparent!important;margin:0!important;flex-wrap:wrap!important;gap:var(--osi-section-header-gap)!important;text-align:left!important}.ai-section__title{font-size:var(--section-title-font-size, .9375rem);font-weight:var(--section-title-font-weight, 700);letter-spacing:var(--section-title-letter-spacing, -.02em);line-height:var(--section-title-line-height, 1.3);color:var(--card-text-primary, #1c1c1f);margin:0;font-size:var(--osi-section-title-font-size)!important;font-weight:700!important;letter-spacing:var(--osi-section-title-letter-spacing)!important;line-height:var(--osi-section-title-line-height)!important;color:var(--osi-section-title-color)!important;opacity:1!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;position:relative!important;transition:var(--osi-section-title-transition)!important;padding:0!important;margin:0 0 var(--osi-section-title-margin-bottom) 0!important;text-align:left!important;font-family:inherit!important;border:none!important}.ai-section__title:before{content:\"\"!important;position:absolute!important;left:0!important;bottom:var(--osi-section-title-underline-offset)!important;width:var(--osi-section-title-underline-length)!important;height:var(--osi-section-title-underline-height)!important;background:var(--osi-section-title-underline-color)!important;border-radius:var(--radius-xs)!important;transition:width .22s ease,opacity .22s ease!important;transform-origin:left!important;opacity:.6!important}.ai-section__title:hover{color:var(--osi-section-title-color)!important}.ai-section__title:hover:before{width:var(--osi-section-title-underline-hover-length)!important;opacity:1!important}.ai-section__icon{display:none!important;width:var(--icon-size-section)!important;height:var(--icon-size-section)!important}.ai-section__details{display:flex!important;flex-direction:column!important;gap:var(--osi-section-header-gap)!important;align-items:flex-start!important;text-align:left!important}.ai-section__description{font-size:var(--section-description-font-size, .75rem);font-weight:400;color:var(--card-text-secondary, rgba(28, 28, 31, .6));line-height:1.3;margin:0;color:var(--osi-section-description-color)!important;letter-spacing:.01em!important;line-height:1.2!important;font-weight:400!important;overflow:hidden!important;text-overflow:ellipsis!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;margin-top:0!important;padding-top:0!important;text-align:left!important;transition:var(--osi-section-description-transition)!important;font-family:inherit!important}.ai-section:hover .ai-section__description{color:var(--osi-section-description-color-hover)!important}.ai-section__badge{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;font-size:.55rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:#ff7900;background:#ff79001a;border-radius:4px;white-space:nowrap;display:none!important;padding:var(--tag-padding-y-sm) var(--tag-padding-x)!important;border-radius:var(--radius-sm)!important}.ai-section--contact-card .ai-section__badge,.ai-section--solutions .ai-section__badge,.ai-section--event .ai-section__badge,.ai-section--chart .ai-section__badge,.ai-section--financials .ai-section__badge{display:none!important;align-items:center!important;padding:var(--osi-section-badge-padding)!important;background:var(--osi-section-badge-bg)!important;color:var(--osi-section-badge-color)!important;border:none!important;box-shadow:none!important;border-radius:var(--osi-section-border-radius)!important;font-size:var(--card-meta-font-size, .6rem)!important;font-weight:var(--card-meta-font-weight, 500)!important;transition:opacity .2s ease,background .2s ease!important;line-height:1.2!important}.ai-section:hover .ai-section__badge{opacity:1!important;background:var(--osi-section-badge-bg-hover)!important}.ai-section__body{display:flex;flex-direction:column;gap:var(--osi-section-gap-internal);width:100%;box-sizing:border-box;padding:0!important;margin:0!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}.ai-section .section-empty{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;padding:var(--osi-section-padding)!important;text-align:center!important;color:var(--muted-foreground)!important;min-height:auto!important;border-radius:var(--radius-md)!important;background:var(--osi-section-empty-bg)!important;border:var(--osi-section-empty-border)!important;transition:opacity .2s ease,background .2s ease!important}.ai-section .section-empty lucide-icon{margin-bottom:var(--osi-section-gap)!important;opacity:var(--osi-section-empty-icon-opacity)!important;color:var(--accent)!important;transition:all .2s ease!important}.ai-section .section-empty p{font-size:var(--font-section-description, .85rem)!important;margin:0!important;font-weight:500!important;font-family:inherit!important}.ai-section .section-empty:hover{background:var(--osi-section-empty-bg-hover)!important;border-color:var(--osi-section-empty-border-hover)!important}.ai-section .section-empty:hover lucide-icon{opacity:var(--osi-section-empty-icon-opacity-hover)!important}.ai-section--info{--section-accent: var(--osi-section-accent-info)}.ai-section--analytics{--section-accent: var(--osi-section-accent-analytics)}.ai-section--financials{--section-accent: var(--osi-section-accent-financials)}.ai-section--map{--section-accent: var(--osi-section-accent-map)}.ai-section--network-card{--section-accent: var(--osi-section-accent-network)}.ai-section--contact-card{--section-accent: var(--osi-section-accent-contact)}.ai-section--product{--section-accent: var(--osi-section-accent-product)}.ai-section--solutions{--section-accent: var(--osi-section-accent-solutions)}.ai-section--overview{--section-accent: var(--osi-section-accent-overview)}.ai-section--overview .ai-section__title{font-size:calc(var(--osi-section-title-font-size) - 1.5px)!important}.ai-section--list,.ai-section--info-list{--section-accent: var(--osi-section-accent-list)}.ai-section--event{--section-accent: var(--osi-section-accent-event)}.ai-section--chart{--section-accent: var(--osi-section-accent-chart)}.ai-section--text-reference{--section-accent: var(--osi-section-accent-reference)}.ai-section--quotation{--section-accent: var(--osi-section-accent-quotation)}.ai-card-surface--fullscreen .ai-section{--section-padding: var(--osi-section-padding);--section-spacing-bottom: var(--osi-section-spacing-bottom);--section-gap: var(--osi-section-gap);--section-gap-internal: var(--osi-section-gap-internal);--section-title-underline-length: var(--osi-section-title-underline-length);--section-title-underline-hover-length: var(--osi-section-title-underline-hover-length);--section-title-underline-height: var(--osi-section-title-underline-height);--section-title-underline-offset: var(--osi-section-title-underline-offset);--section-box-shadow: none !important;--section-box-shadow-hover: none !important}.ai-card-surface--fullscreen .masonry-item,.ai-card-surface--fullscreen .masonry-item:hover{box-shadow:var(--osi-section-shadow-fullscreen)!important}.ai-card-surface--fullscreen .ai-section__header{padding:0 0 var(--osi-section-header-padding-bottom) 0!important;gap:var(--osi-section-header-gap)!important}.ai-card-surface--fullscreen .ai-section__title{font-size:var(--card-title-font-size, .95rem)!important}.ai-card-surface--fullscreen .ai-section__body{gap:var(--osi-section-gap-internal)!important}.ai-card-surface--fullscreen .ai-section__description{font-size:var(--card-meta-font-size, .6rem)!important;margin-top:0!important;padding-top:0!important}.section-content{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;padding:0!important;margin:0!important}.section-content>*{width:100%!important;max-width:100%!important;box-sizing:border-box!important}.ai-section--faq,.ai-section--faq .list,.ai-section--faq .item{min-width:0!important;width:100%!important;max-width:100%!important}:host{display:block;width:100%}.chart-container{display:flex;flex-direction:column;gap:0;width:100%;min-height:var(--osi-card-min-height-large);max-height:var(--osi-card-min-height-large);height:var(--osi-card-min-height-large)}.chart-wrapper{padding:0;background:transparent;border:none;box-shadow:none;min-height:180px;max-height:180px;height:180px;display:flex;flex-direction:column;gap:0;overflow:visible;box-sizing:border-box;width:100%}.chart-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--osi-section-item-gap-xs);flex-wrap:wrap;padding-bottom:var(--osi-section-item-padding-compact);border-bottom:1px solid var(--border)}.chart-title{font-weight:var(--font-semibold);line-height:var(--leading-normal);color:var(--foreground);font-size:var(--text-base);margin:0;line-height:var(--leading-tight)}.chart-legend{display:flex;gap:var(--osi-section-item-gap-xs);flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:var(--osi-section-item-gap-xs);font-size:var(--text-xs);color:var(--muted-foreground)}.legend-color{width:var(--osi-spacing-sm);height:var(--osi-spacing-sm);border-radius:var(--osi-radius-xs);flex-shrink:0}.chart-canvas-wrapper{flex:1;position:relative;min-height:var(--osi-card-min-height-large);max-height:var(--osi-card-min-height-large);height:var(--osi-card-min-height-large);width:100%;overflow:visible;box-sizing:border-box}.chart-canvas-wrapper :deep(.frappe-chart){width:100%!important;height:var(--osi-card-min-height-large)!important;max-height:var(--osi-card-min-height-large)!important}.chart-canvas-wrapper :deep(.frappe-chart) .y-axis .tick text{writing-mode:horizontal-tb!important;text-orientation:mixed!important;transform:none!important;white-space:nowrap!important}.chart-canvas-wrapper :deep(.frappe-chart) text.y-axis-text,.chart-canvas-wrapper :deep(.frappe-chart) .y-axis text,.chart-canvas-wrapper :deep(.frappe-chart) .axis-y text{writing-mode:horizontal-tb!important;text-orientation:mixed!important;transform:none!important;white-space:nowrap!important;text-anchor:end!important}.chart-canvas-wrapper :deep(.frappe-chart) .legend .legend-item,.chart-canvas-wrapper :deep(.frappe-chart) .legend .legend-text{white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;max-width:none!important}.chart-canvas-wrapper :deep(.frappe-chart) text{writing-mode:horizontal-tb!important;text-orientation:mixed!important}.chart-footer{display:flex;justify-content:space-around;gap:var(--osi-section-item-gap);padding-top:var(--osi-section-item-padding-compact);border-top:1px solid var(--border)}.chart-stat{display:flex;flex-direction:column;align-items:center;gap:var(--osi-section-item-gap-xs)}.chart-stat-value{font-size:var(--text-sm);font-weight:var(--font-semibold);line-height:var(--leading-normal);color:var(--foreground);font-weight:var(--font-bold)}.chart-stat-label{font-size:var(--text-xs);font-weight:var(--font-medium);line-height:var(--leading-tight);color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.05em}@media (max-width: 767px){.chart-container{min-height:170px;max-height:170px;height:170px}.chart-wrapper{padding:0;min-height:170px;max-height:170px;height:170px}.chart-canvas-wrapper{min-height:130px;max-height:170px;height:130px}.chart-canvas-wrapper :deep(.frappe-chart){height:130px!important;max-height:170px!important}.chart-canvas-wrapper :deep(.frappe-chart) .y-axis .tick text{writing-mode:horizontal-tb!important;text-orientation:mixed!important;transform:none!important;white-space:nowrap!important}.chart-canvas-wrapper :deep(.frappe-chart) text.y-axis-text,.chart-canvas-wrapper :deep(.frappe-chart) .y-axis text,.chart-canvas-wrapper :deep(.frappe-chart) .axis-y text{writing-mode:horizontal-tb!important;text-orientation:mixed!important;transform:none!important;white-space:nowrap!important;text-anchor:end!important}.chart-canvas-wrapper :deep(.frappe-chart) .legend .legend-item,.chart-canvas-wrapper :deep(.frappe-chart) .legend .legend-text{white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;max-width:none!important}.chart-canvas-wrapper :deep(.frappe-chart) text{writing-mode:horizontal-tb!important;text-orientation:mixed!important}}@media (max-width: 479px){.chart-container{min-height:160px;max-height:160px;height:160px}.chart-wrapper{padding:0;min-height:160px;max-height:160px;height:160px}.chart-canvas-wrapper{min-height:120px;max-height:160px;height:120px}.chart-canvas-wrapper :deep(.frappe-chart){height:120px!important;max-height:160px!important}.chart-canvas-wrapper :deep(.frappe-chart) .y-axis .tick text{writing-mode:horizontal-tb!important;text-orientation:mixed!important;transform:none!important;white-space:nowrap!important}.chart-canvas-wrapper :deep(.frappe-chart) text.y-axis-text,.chart-canvas-wrapper :deep(.frappe-chart) .y-axis text,.chart-canvas-wrapper :deep(.frappe-chart) .axis-y text{writing-mode:horizontal-tb!important;text-orientation:mixed!important;transform:none!important;white-space:nowrap!important;text-anchor:end!important}.chart-canvas-wrapper :deep(.frappe-chart) .legend .legend-item,.chart-canvas-wrapper :deep(.frappe-chart) .legend .legend-text{white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;max-width:none!important}.chart-canvas-wrapper :deep(.frappe-chart) text{writing-mode:horizontal-tb!important;text-orientation:mixed!important}.chart-header{flex-direction:column}.chart-footer{flex-direction:column;gap:var(--osi-section-item-gap-xs)}}\n"] }]
19166
- }], propDecorators: { chartContainer: [{
19369
+ args: [{ selector: 'lib-chart-section', standalone: true, imports: [CommonModule, BaseChartDirective, SectionHeaderComponent, EmptyStateComponent], template: "<div class=\"ai-section ai-section--chart section-content\">\n <!-- Section Header -->\n <lib-section-header [title]=\"section.title\" [description]=\"section.description\"> </lib-section-header>\n\n <!-- Chart Display -->\n <div class=\"chart-wrapper\" *ngIf=\"!chartInitFailed && hasValidData()\">\n <div class=\"chart-container\" *ngIf=\"chartLibraryLoaded() && !chartLoading\">\n <canvas baseChart [data]=\"chartData\" [options]=\"chartOptions\" [type]=\"chartJsType\"></canvas>\n </div>\n <div class=\"chart-loading-overlay\" *ngIf=\"chartLoading\">\n <div class=\"chart-loading-spinner\"></div>\n <span class=\"chart-loading-text\">Loading chart...</span>\n </div>\n </div>\n\n <!-- Error State -->\n <lib-empty-state\n *ngIf=\"chartInitFailed && section.chartData\"\n [message]=\"chartError() || 'Chart unavailable'\"\n icon=\"\uD83D\uDCCA\"\n variant=\"minimal\"\n >\n </lib-empty-state>\n\n <!-- Empty State -->\n <lib-empty-state *ngIf=\"!section.chartData || !hasValidData()\" message=\"No chart data\" icon=\"\uD83D\uDCCA\" variant=\"minimal\">\n </lib-empty-state>\n</div>\n", styles: ["@keyframes osi-fade-in{0%{opacity:0}to{opacity:1}}@keyframes osi-slide-up{0%{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes osi-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes osi-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}:root{--osi-spacing-2px: 2px;--osi-spacing-4px: 4px;--osi-spacing-6px: 6px;--osi-spacing-8px: 8px;--osi-spacing-10px: 10px;--osi-spacing-xs: 4px;--osi-spacing-sm: 8px;--osi-spacing-md: 12px;--osi-spacing-lg: 16px;--osi-spacing-xl: 24px;--osi-spacing-2xl: 32px;--osi-spacing-3xl: 48px;--osi-section-header-gap: 2px;--osi-section-padding: var(--osi-spacing-sm);--osi-section-gap: var(--osi-spacing-md);--osi-item-padding: var(--osi-spacing-sm);--osi-item-gap: var(--osi-spacing-xs);--osi-element-gap: 2px;--osi-text-xs: .75rem;--osi-text-sm: .875rem;--osi-text-base: 1rem;--osi-text-md: 1.125rem;--osi-text-lg: 1.25rem;--osi-text-xl: 1.5rem;--osi-text-2xl: 1.875rem;--osi-text-3xl: 2.25rem;--text-xs: .6875rem;--text-sm: .75rem;--text-base: .8125rem;--text-md: .875rem;--text-lg: 1.0625rem;--text-xl: 1.1875rem;--text-2xl: 1.375rem;--text-3xl: 1.625rem;--osi-font-normal: 400;--osi-font-medium: 500;--osi-font-semibold: 600;--osi-font-bold: 700;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--osi-leading-tight: 1.25;--osi-leading-snug: 1.375;--osi-leading-normal: 1.5;--osi-leading-relaxed: 1.625;--osi-leading-loose: 2;--leading-tight: 1.2;--leading-snug: 1.3;--leading-normal: 1.4;--leading-relaxed: 1.5;--leading-loose: 1.75;--osi-tracking-tight: -.025em;--osi-tracking-normal: 0;--osi-tracking-wide: .025em;--osi-tracking-wider: .05em;--osi-surface: hsl(0, 0%, 10%);--osi-surface-raised: hsl(0, 0%, 15%);--osi-surface-hover: hsl(0, 0%, 20%);--osi-surface-subtle: hsl(0, 0%, 12%);--osi-foreground: var( --foreground, hsl(0, 0%, 95%) );--osi-foreground-strong: var(--foreground, hsl(0, 0%, 100%));--osi-muted-foreground: var( --muted-foreground, hsl(0, 0%, 60%) );--osi-disabled-foreground: var(--muted-foreground, hsl(0, 0%, 40%));--osi-accent: hsl(25, 100%, 50%);--osi-accent-bright: hsl(25, 100%, 60%);--osi-accent-muted: hsl(25, 50%, 40%);--osi-success: hsl(142, 71%, 45%);--osi-success-bg: hsla(142, 71%, 45%, .15);--osi-success-bright: hsl(142, 71%, 55%);--osi-error: hsl(0, 84%, 60%);--osi-error-bg: hsla(0, 84%, 60%, .15);--osi-error-bright: hsl(0, 84%, 70%);--osi-warning: hsl(45, 93%, 47%);--osi-warning-bg: hsla(45, 93%, 47%, .15);--osi-warning-bright: hsl(45, 93%, 57%);--osi-info: hsl(221, 83%, 53%);--osi-info-bg: hsla(221, 83%, 53%, .15);--osi-info-bright: hsl(221, 83%, 63%);--osi-border: hsla(0, 0%, 100%, .2);--osi-border-muted: hsla(0, 0%, 100%, .06);--osi-border-strong: hsla(0, 0%, 100%, .35);--osi-radius-none: 0;--osi-radius-xs: 2px;--osi-radius-sm: 4px;--osi-radius-md: 8px;--osi-radius-lg: 12px;--osi-radius-xl: 16px;--osi-radius-full: 9999px;--osi-shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--osi-shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--osi-shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--osi-shadow-xl: 0 20px 25px rgba(0, 0, 0, .15);--osi-shadow-2xl: 0 25px 50px rgba(0, 0, 0, .25);--osi-duration-fast: .15s;--osi-duration-normal: .2s;--osi-duration-medium: .3s;--osi-duration-slow: .6s;--osi-ease-linear: linear;--osi-ease-in: cubic-bezier(.4, 0, 1, 1);--osi-ease-out: cubic-bezier(0, 0, .2, 1);--osi-ease-in-out: cubic-bezier(.4, 0, .2, 1);--osi-ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--osi-z-base: 0;--osi-z-raised: 10;--osi-z-dropdown: 100;--osi-z-fixed: 300;--osi-z-modal: 400;--osi-z-popover: 500;--osi-z-tooltip: 600;--osi-grid-gap: var(--osi-spacing-md);--osi-grid-row-gap: var(--osi-grid-gap);--osi-grid-column-gap: var(--osi-grid-gap);--osi-grid-min-small: 140px;--osi-grid-min-medium: 200px;--osi-grid-min-large: 300px;--osi-grid-min-xs: 120px;--osi-grid-min-sm: 140px;--osi-grid-min-md: 160px;--osi-grid-min-lg: 180px;--osi-grid-min-xl: 200px;--osi-grid-min-2xl: 250px;--osi-grid-min-3xl: 280px;--osi-grid-min-4xl: 300px;--osi-card-min-height: 90px;--osi-card-min-height-large: 120px;--osi-card-min-height-xs: 70px;--osi-card-min-height-sm: 80px;--osi-card-min-height-md: 90px;--osi-card-min-height-lg: 95px;--osi-card-min-height-xl: 110px}@media (prefers-color-scheme: dark){:root{--osi-surface: hsl(0, 0%, 8%);--osi-surface-raised: hsl(0, 0%, 12%);--osi-surface-hover: hsl(0, 0%, 16%);--osi-border-muted: hsla(0, 0%, 100%, .04)}}@media (prefers-contrast: high){:root{--osi-border: hsla(0, 0%, 100%, .4);--osi-border-strong: hsla(0, 0%, 100%, .6)}}@media (prefers-reduced-motion: reduce){:root{--osi-duration-fast: 0ms;--osi-duration-normal: 0ms;--osi-duration-medium: 0ms;--osi-duration-slow: 0ms}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.osi-card-container{container-type:inline-size;container-name:card;--card-padding: 4px;--card-gap: .5rem;--card-title-size: 1rem;--section-title-size: .875rem;--field-label-size: .75rem;--field-value-size: .875rem}.masonry-container{--masonry-columns: 1}@media (min-width: 480px){.masonry-container{--masonry-columns: 2}}@media (min-width: 1024px){.masonry-container{--masonry-columns: 3}}@media (min-width: 1280px){.masonry-container{--masonry-columns: 4}}@container card (min-width: 400px){.masonry-container--container-responsive{--masonry-columns: 2}}@container card (min-width: 700px){.masonry-container--container-responsive{--masonry-columns: 3}}@container card (min-width: 1000px){.masonry-container--container-responsive{--masonry-columns: 4}}.ai-section--info .section-field-grid{grid-template-columns:1fr}@media (min-width: 480px){.ai-section--info .section-field-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.ai-section--info .section-field-grid{grid-template-columns:repeat(3,1fr)}}.ai-section--analytics .metric-grid{grid-template-columns:1fr}@media (min-width: 320px){.ai-section--analytics .metric-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 768px){.ai-section--analytics .metric-grid{grid-template-columns:repeat(3,1fr)}}.ai-section--analytics .metric-value{font-size:var(--text-2xl)}.ai-section--timeline .timeline-items{flex-direction:column}@media (min-width: 1024px){.ai-section--timeline .timeline-items{flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory}.ai-section--timeline .timeline-items>*{scroll-snap-align:start;min-width:280px}}.ai-section--contact .contact-grid{grid-template-columns:1fr}@media (min-width: 480px){.ai-section--contact .contact-grid{grid-template-columns:repeat(2,1fr)}}.text-responsive{font-size:.875rem;line-height:1.5}.heading-responsive{font-size:1.25rem;line-height:1.2}.space-responsive{padding:.5rem}.gap-responsive{gap:.5rem}.touch-target{min-height:44px;min-width:44px}@media (min-width: 1024px){.touch-target{min-height:36px;min-width:36px}}@media (max-width: 767px){.hide-mobile{display:none!important}}@media (min-width: 768px){.hide-desktop{display:none!important}}.show-mobile{display:none!important}@media (max-width: 767px){.show-mobile{display:block!important}}.show-desktop{display:none!important}@media (min-width: 768px){.show-desktop{display:block!important}}@media print{.osi-card-container{--card-padding: 1rem;box-shadow:none;border:1px solid #ddd;break-inside:avoid}.masonry-container{--masonry-columns: 2;display:block}.masonry-container .masonry-item{break-inside:avoid;margin-bottom:1rem}.hide-print{display:none!important}}:root{--spacing-none: 0;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-base: 16px;--spacing-lg: 20px;--spacing-xl: 28px;--spacing-2xl: 40px;--spacing-3xl: 56px;--spacing-compact-xs: 3px;--spacing-compact-sm: 6px;--spacing-compact-md: 9px;--spacing-compact-base: 12px;--spacing-compact-lg: 16px;--section-card-min-height: 110px;--section-card-compact-height: 90px;--section-header-gap: 2px;--section-content-gap: var(--spacing-sm);--section-card-gap: var(--spacing-md);--section-card-padding: var(--spacing-md)}:root{--text-xs: .6875rem;--text-sm: .75rem;--text-base: .8125rem;--text-md: .875rem;--text-lg: 1.0625rem;--text-xl: 1.1875rem;--text-2xl: 1.375rem;--text-3xl: 1.625rem;--text-4xl: 2rem;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--leading-tight: 1.2;--leading-snug: 1.3;--leading-normal: 1.4;--leading-relaxed: 1.5;--leading-loose: 1.75}:root{--radius-none: 0;--radius-xs: 2px;--radius-sm: 3px;--radius-md: 5px;--radius-lg: 7px;--radius-xl: 10px;--radius-2xl: 14px;--radius-full: 9999px}:root{--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .05);--glow-sm: 0 0 10px rgba(var(--accent-rgb), .15);--glow-md: 0 0 20px rgba(var(--accent-rgb), .2);--glow-lg: 0 0 30px rgba(var(--accent-rgb), .25)}@media (prefers-color-scheme: dark){:root{--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .2);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .3), 0 1px 2px -1px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -2px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -4px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .5), 0 8px 10px -6px rgba(0, 0, 0, .5)}}:root{--duration-fast: .15s;--duration-base: .2s;--duration-slow: .3s;--duration-slower: .5s;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--ease-smooth: cubic-bezier(.4, 0, .6, 1);--transition-base: all var(--duration-base) var(--ease-out);--transition-fast: all var(--duration-fast) var(--ease-out);--transition-slow: all var(--duration-slow) var(--ease-out);--transition-colors: background-color var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out);--transition-shadow: box-shadow var(--duration-base) var(--ease-out);--transition-transform: transform var(--duration-base) var(--ease-out)}:root{--z-base: 1;--z-dropdown: 100;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-toast: 800;--z-max: 9999}:root{--blur-none: 0;--blur-sm: 4px;--blur-md: 8px;--blur-lg: 16px;--blur-xl: 24px;--glass-bg: rgba(255, 255, 255, .7);--glass-border: rgba(255, 255, 255, .2);--glass-blur: var(--blur-md)}@media (prefers-color-scheme: dark){:root{--glass-bg: rgba(0, 0, 0, .4);--glass-border: rgba(255, 255, 255, .1)}}:root{--opacity-0: 0;--opacity-5: .05;--opacity-10: .1;--opacity-20: .2;--opacity-30: .3;--opacity-40: .4;--opacity-50: .5;--opacity-60: .6;--opacity-70: .7;--opacity-80: .8;--opacity-90: .9;--opacity-100: 1}:root{--surface-base: var(--osi-section-item-background);--surface-raised: var(--osi-section-item-background-hover);--surface-overlay: var(--glass-bg);--border-light: rgba(var(--foreground-rgb), .08);--border-base: var(--border);--border-strong: rgba(var(--foreground-rgb), .2);--state-hover-opacity: .08;--state-active-opacity: .12;--state-focus-opacity: .16;--state-disabled-opacity: .5}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes fade-in-up{0%{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes fade-in-scale{0%{opacity:0;transform:translateZ(0) scale(.95)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes metal-sweep-ltr{0%{transform:translate(-100%);opacity:0}20%{opacity:.3}50%{opacity:.5}80%{opacity:.3}to{transform:translate(200%);opacity:0}}@keyframes metal-sweep-rtl{0%{transform:translate(200%);opacity:0}20%{opacity:.3}50%{opacity:.5}80%{opacity:.3}to{transform:translate(-100%);opacity:0}}@keyframes section-fade-in{0%{opacity:0}to{opacity:1}}@keyframes section-fade-in-up{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.unified-card,.section-card,[class*=__card],[class*=-card],[class*=__item],[class*=-item],.metric-card,.list-item,.analytics-card{transition:none!important;animation:none!important}.unified-card:hover,.section-card:hover,[class*=__card]:hover,[class*=-card]:hover,[class*=__item]:hover,[class*=-item]:hover,.metric-card:hover,.list-item:hover,.analytics-card:hover{transform:none!important}}.unified-card{background:var(--osi-section-item-background);border:var(--osi-section-item-border);border-radius:var(--osi-section-item-border-radius);box-shadow:var(--osi-section-item-shadow);padding:var(--osi-section-item-padding-normal);display:flex;flex-direction:column;gap:var(--osi-section-item-gap);min-height:var(--card-min-height, auto);cursor:pointer;overflow-x:hidden;width:100%!important;max-width:100%!important;box-sizing:border-box!important;text-align:left;word-wrap:break-word;overflow-wrap:break-word;transition:var(--osi-section-item-transition);position:relative;overflow:hidden}.unified-card:before{content:\"\";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;border-radius:inherit;animation:none;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%);width:50%;mix-blend-mode:overlay}.unified-card:hover:before{opacity:1;animation:metal-sweep-ltr .23s ease-out forwards}.unified-card:not(:hover):before{animation:none;opacity:0}@media (prefers-reduced-motion: reduce){.unified-card:before{display:none}}.unified-card:hover{border-color:var(--osi-section-item-border-hover-enhanced-color);box-shadow:var(--osi-section-item-shadow-hover-enhanced)}.unified-card:focus-visible{outline:none}@media (prefers-reduced-motion: reduce){.unified-card{transition:none}}.section-card{background:var(--osi-section-item-background);border:var(--osi-section-item-border);border-radius:var(--osi-section-item-border-radius);box-shadow:var(--osi-section-item-shadow);padding:var(--osi-section-item-padding-normal);display:flex;flex-direction:column;gap:var(--osi-section-item-gap);min-height:var(--card-min-height, auto);cursor:pointer;overflow-x:hidden;width:100%!important;max-width:100%!important;box-sizing:border-box!important;text-align:left;word-wrap:break-word;overflow-wrap:break-word;transition:var(--osi-section-item-transition);position:relative;overflow:hidden}.section-card:before{content:\"\";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;border-radius:inherit;animation:none;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%);width:50%;mix-blend-mode:overlay}.section-card:hover:before{opacity:1;animation:metal-sweep-ltr .23s ease-out forwards}.section-card:not(:hover):before{animation:none;opacity:0}@media (prefers-reduced-motion: reduce){.section-card:before{display:none}}.section-card:hover{border-color:var(--osi-section-item-border-hover-enhanced-color);box-shadow:var(--osi-section-item-shadow-hover-enhanced)}.section-card:focus-visible{outline:none}@media (prefers-reduced-motion: reduce){.section-card{transition:none}}.section-card{width:100%!important;max-width:100%!important;box-sizing:border-box!important}.section-item{transition:border-color var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),box-shadow var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),var(--osi-section-item-transition);position:relative;overflow:hidden}.section-item:before{content:\"\";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;border-radius:inherit;animation:none;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%);width:50%;mix-blend-mode:overlay}.section-item:hover{border-color:var(--osi-section-item-border-hover-enhanced-color)!important;box-shadow:var(--osi-section-item-shadow-hover-enhanced)!important;background:var(--osi-section-item-background)!important}.section-item:hover:before{opacity:1;animation:metal-sweep-ltr .23s ease-out forwards}.section-item:not(:hover):before{animation:none;opacity:0}@media (prefers-reduced-motion: reduce){.section-item{transition:none}.section-item:after{display:none}}.status--completed,.status--success{color:#22c55e;background:#22c55e1a}.status--active,.status--in-progress{color:var(--accent);background:#ff79001a}.status--pending,.status--warning{color:#f59e0b;background:#f59e0b1a}.status--blocked,.status--cancelled,.status--delayed,.status--inactive,.status--error{color:#ef4444;background:#ef44441a}.status--default{color:var(--muted-foreground);background:var(--muted)}.priority--high{color:#ef4444;background:#ef44441a}.priority--medium{color:#f59e0b;background:#f59e0b1a}.priority--low{color:#22c55e;background:#22c55e1a}.priority--default{color:var(--muted-foreground);background:var(--muted)}.masonry-container .masonry-item:nth-child(4n+1) .section-item:before,.masonry-container .masonry-item:nth-child(4n+1) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+1) .section-card:before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+2) .section-item:before,.masonry-container .masonry-item:nth-child(4n+2) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+2) .section-card:before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):before{background:linear-gradient(270deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container .masonry-item:nth-child(4n+1) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+1) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+1) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+2) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+2) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+2) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-rtl .23s ease-out forwards!important}.masonry-container .masonry-item:nth-child(4n+3) .section-item:before,.masonry-container .masonry-item:nth-child(4n+3) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+3) .section-card:before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+4) .section-item:before,.masonry-container .masonry-item:nth-child(4n+4) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+4) .section-card:before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-item:before,.masonry-container .masonry-item[data-col-span=\"3\"] .unified-card:before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-card:before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-item:before,.masonry-container .masonry-item[data-col-span=\"4\"] .unified-card:before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-card:before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-item:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .unified-card:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-card:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-item:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .unified-card:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-card:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):before{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container .masonry-item:nth-child(4n+3) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+3) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+3) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+4) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+4) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+4) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-item:hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] .unified-card:hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-card:hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-item:hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] .unified-card:hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-card:hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-item:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .unified-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-item:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .unified-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-ltr .23s ease-out forwards!important}@supports (grid-template-rows: masonry){.masonry-container--native .masonry-item:nth-child(4n+1) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+1) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+1) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+2) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):before{background:linear-gradient(270deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container--native .masonry-item:nth-child(4n+1) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-rtl .23s ease-out forwards!important}.masonry-container--native .masonry-item:nth-child(4n+3) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+3) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+3) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+4) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):before{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container--native .masonry-item:nth-child(4n+3) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-ltr .23s ease-out forwards!important}}@media (prefers-reduced-motion: reduce){.unified-card,.section-card,[class*=__card],[class*=-card],[class*=__item],[class*=-item]{transition:none;animation:none}}@keyframes item-stream{0%{opacity:0;transform:translate3d(0,var(--osi-motion-distance-sm, 8px),0)}to{opacity:1;transform:translateZ(0)}}.ai-section h1,.ai-section h2,.ai-section h3,.ai-section h4,.ai-section h5,.ai-section h6,.ai-section [class*=title],.ai-section [class*=heading],.ai-section [class*=header]{margin-bottom:.05em!important;line-height:1.3!important}.ai-section br{margin-top:.05em!important;line-height:1.3!important}.ai-section p,.ai-section div,.ai-section span{line-height:1.3!important}.ai-section h1+p,.ai-section h1+div,.ai-section h1+span,.ai-section h2+p,.ai-section h2+div,.ai-section h2+span,.ai-section h3+p,.ai-section h3+div,.ai-section h3+span,.ai-section h4+p,.ai-section h4+div,.ai-section h4+span,.ai-section h5+p,.ai-section h5+div,.ai-section h5+span,.ai-section h6+p,.ai-section h6+div,.ai-section h6+span,.ai-section [class*=title]+p,.ai-section [class*=title]+div,.ai-section [class*=title]+span,.ai-section [class*=heading]+p,.ai-section [class*=heading]+div,.ai-section [class*=heading]+span,.ai-section [class*=header]+p,.ai-section [class*=header]+div,.ai-section [class*=header]+span{margin-top:.05em!important}.ai-section.ai-section--overview .overview-item--single-text .overview-item__value--single-text br{margin-top:7px!important;height:7px!important;line-height:1.3!important;display:block!important;content:\"\"}.ai-section{--section-accent: var(--osi-section-accent);--section-border: var(--osi-section-border);--section-border-hover: var(--osi-section-border-hover);--section-box-shadow: var(--osi-section-shadow);--section-background: var(--osi-section-background);--section-background-hover: var(--osi-section-background-hover);--section-backdrop-filter: var(--osi-section-backdrop-filter);--section-spacing-bottom: var(--osi-section-spacing-bottom, 12px);--section-glow-background: var(--osi-section-glow-background);--section-glow-opacity-hover: var(--osi-section-glow-opacity-hover);--section-title-underline-length: var(--osi-section-title-underline-length);--section-title-underline-hover-length: var(--osi-section-title-underline-hover-length);--section-title-underline-height: var(--osi-section-title-underline-height);--section-title-underline-offset: var(--osi-section-title-underline-offset);--section-title-hover-color: var(--osi-section-title-hover-color);width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;margin-bottom:var(--section-spacing-bottom, 12px)!important;margin-top:0!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;contain:layout style;transition:border-color var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),box-shadow var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1)}.ai-section *{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.ai-section:not(.masonry-item .ai-section){position:relative;display:flex;flex-direction:column;gap:var(--section-card-gap);padding:0!important;border-radius:var(--osi-section-item-border-radius);background:var(--section-background);border:var(--section-border);box-shadow:var(--section-box-shadow);width:100%!important;max-width:100%!important;box-sizing:border-box!important;transition:border-color var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),box-shadow var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1)}.ai-section:not(.masonry-item .ai-section):hover{border-color:var(--osi-section-border-hover-enhanced-color);box-shadow:var(--osi-section-shadow-hover-enhanced)}@media (prefers-reduced-motion: reduce){.ai-section:not(.masonry-item .ai-section){transition:none}}.masonry-item .ai-section{display:flex!important;flex-direction:column!important;gap:var(--osi-section-gap, 8px)!important;height:auto!important}.ai-section:hover{border-color:var(--osi-section-border-hover-enhanced-color);box-shadow:var(--osi-section-shadow-hover-enhanced)}@media (prefers-reduced-motion: reduce){.ai-section{transition:none}}.ai-section__header{display:flex;flex-direction:column;gap:var(--osi-section-header-gap);width:100%;box-sizing:border-box;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;padding:0 0 var(--osi-section-header-padding-bottom) 0!important;border-bottom:none!important;background:transparent!important;margin:0!important;flex-wrap:wrap!important;gap:var(--osi-section-header-gap)!important;text-align:left!important}.ai-section__title{font-size:var(--section-title-font-size, .9375rem);font-weight:var(--section-title-font-weight, 700);letter-spacing:var(--section-title-letter-spacing, -.02em);line-height:var(--section-title-line-height, 1.3);color:var(--card-text-primary, #1c1c1f);margin:0;font-size:var(--osi-section-title-font-size)!important;font-weight:700!important;letter-spacing:var(--osi-section-title-letter-spacing)!important;line-height:var(--osi-section-title-line-height)!important;color:var(--osi-section-title-color)!important;opacity:1!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;position:relative!important;transition:var(--osi-section-title-transition)!important;padding:0!important;margin:0 0 var(--osi-section-title-margin-bottom) 0!important;text-align:left!important;font-family:inherit!important;border:none!important}.ai-section__title:before{content:\"\"!important;position:absolute!important;left:0!important;bottom:var(--osi-section-title-underline-offset)!important;width:var(--osi-section-title-underline-length)!important;height:var(--osi-section-title-underline-height)!important;background:var(--osi-section-title-underline-color)!important;border-radius:var(--radius-xs)!important;transition:width .22s ease,opacity .22s ease!important;transform-origin:left!important;opacity:.6!important}.ai-section__title:hover{color:var(--osi-section-title-color)!important}.ai-section__title:hover:before{width:var(--osi-section-title-underline-hover-length)!important;opacity:1!important}.ai-section__icon{display:none!important;width:var(--icon-size-section)!important;height:var(--icon-size-section)!important}.ai-section__details{display:flex!important;flex-direction:column!important;gap:var(--osi-section-header-gap)!important;align-items:flex-start!important;text-align:left!important}.ai-section__description{font-size:var(--section-description-font-size, .75rem);font-weight:400;color:var(--card-text-secondary, rgba(28, 28, 31, .6));line-height:1.3;margin:0;color:var(--osi-section-description-color)!important;letter-spacing:.01em!important;line-height:1.2!important;font-weight:400!important;overflow:hidden!important;text-overflow:ellipsis!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;margin-top:0!important;padding-top:0!important;text-align:left!important;transition:var(--osi-section-description-transition)!important;font-family:inherit!important}.ai-section:hover .ai-section__description{color:var(--osi-section-description-color-hover)!important}.ai-section__badge{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;font-size:.55rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:#ff7900;background:#ff79001a;border-radius:4px;white-space:nowrap;display:none!important;padding:var(--tag-padding-y-sm) var(--tag-padding-x)!important;border-radius:var(--radius-sm)!important}.ai-section--contact-card .ai-section__badge,.ai-section--solutions .ai-section__badge,.ai-section--event .ai-section__badge,.ai-section--chart .ai-section__badge,.ai-section--financials .ai-section__badge{display:none!important;align-items:center!important;padding:var(--osi-section-badge-padding)!important;background:var(--osi-section-badge-bg)!important;color:var(--osi-section-badge-color)!important;border:none!important;box-shadow:none!important;border-radius:var(--osi-section-border-radius)!important;font-size:var(--card-meta-font-size, .6rem)!important;font-weight:var(--card-meta-font-weight, 500)!important;transition:opacity .2s ease,background .2s ease!important;line-height:1.2!important}.ai-section:hover .ai-section__badge{opacity:1!important;background:var(--osi-section-badge-bg-hover)!important}.ai-section__body{display:flex;flex-direction:column;gap:var(--osi-section-gap-internal);width:100%;box-sizing:border-box;padding:0!important;margin:0!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}.ai-section .section-empty{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;padding:var(--osi-section-padding)!important;text-align:center!important;color:var(--muted-foreground)!important;min-height:auto!important;border-radius:var(--radius-md)!important;background:var(--osi-section-empty-bg)!important;border:var(--osi-section-empty-border)!important;transition:opacity .2s ease,background .2s ease!important}.ai-section .section-empty lucide-icon{margin-bottom:var(--osi-section-gap)!important;opacity:var(--osi-section-empty-icon-opacity)!important;color:var(--accent)!important;transition:all .2s ease!important}.ai-section .section-empty p{font-size:var(--font-section-description, .85rem)!important;margin:0!important;font-weight:500!important;font-family:inherit!important}.ai-section .section-empty:hover{background:var(--osi-section-empty-bg-hover)!important;border-color:var(--osi-section-empty-border-hover)!important}.ai-section .section-empty:hover lucide-icon{opacity:var(--osi-section-empty-icon-opacity-hover)!important}.ai-section--info{--section-accent: var(--osi-section-accent-info)}.ai-section--analytics{--section-accent: var(--osi-section-accent-analytics)}.ai-section--financials{--section-accent: var(--osi-section-accent-financials)}.ai-section--map{--section-accent: var(--osi-section-accent-map)}.ai-section--network-card{--section-accent: var(--osi-section-accent-network)}.ai-section--contact-card{--section-accent: var(--osi-section-accent-contact)}.ai-section--product{--section-accent: var(--osi-section-accent-product)}.ai-section--solutions{--section-accent: var(--osi-section-accent-solutions)}.ai-section--overview{--section-accent: var(--osi-section-accent-overview)}.ai-section--overview .ai-section__title{font-size:calc(var(--osi-section-title-font-size) - 1.5px)!important}.ai-section--list,.ai-section--info-list{--section-accent: var(--osi-section-accent-list)}.ai-section--event{--section-accent: var(--osi-section-accent-event)}.ai-section--chart{--section-accent: var(--osi-section-accent-chart)}.ai-section--text-reference{--section-accent: var(--osi-section-accent-reference)}.ai-section--quotation{--section-accent: var(--osi-section-accent-quotation)}.ai-card-surface--fullscreen .ai-section{--section-padding: var(--osi-section-padding);--section-spacing-bottom: var(--osi-section-spacing-bottom);--section-gap: var(--osi-section-gap);--section-gap-internal: var(--osi-section-gap-internal);--section-title-underline-length: var(--osi-section-title-underline-length);--section-title-underline-hover-length: var(--osi-section-title-underline-hover-length);--section-title-underline-height: var(--osi-section-title-underline-height);--section-title-underline-offset: var(--osi-section-title-underline-offset);--section-box-shadow: none !important;--section-box-shadow-hover: none !important}.ai-card-surface--fullscreen .masonry-item,.ai-card-surface--fullscreen .masonry-item:hover{box-shadow:var(--osi-section-shadow-fullscreen)!important}.ai-card-surface--fullscreen .ai-section__header{padding:0 0 var(--osi-section-header-padding-bottom) 0!important;gap:var(--osi-section-header-gap)!important}.ai-card-surface--fullscreen .ai-section__title{font-size:var(--card-title-font-size, .95rem)!important}.ai-card-surface--fullscreen .ai-section__body{gap:var(--osi-section-gap-internal)!important}.ai-card-surface--fullscreen .ai-section__description{font-size:var(--card-meta-font-size, .6rem)!important;margin-top:0!important;padding-top:0!important}.section-content{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;padding:0!important;margin:0!important}.section-content>*{width:100%!important;max-width:100%!important;box-sizing:border-box!important}.ai-section--faq,.ai-section--faq .list,.ai-section--faq .item{min-width:0!important;width:100%!important;max-width:100%!important}:host{display:block;width:100%}.chart-container{display:flex;flex-direction:column;gap:var(--osi-section-item-gap)!important}.chart-wrapper{background:var(--osi-card-bg, white);border:1px solid var(--osi-card-border, var(--osi-neutral-200));border-radius:var(--osi-card-radius, var(--osi-radius-xl));box-shadow:var(--osi-card-shadow, var(--osi-shadow-md));overflow:hidden;height:280px;padding:var(--osi-section-item-padding-compact);position:relative}@media (max-width: 479px){.chart-wrapper{height:180px;padding:var(--osi-section-item-padding-compact-xs)}}.chart-container{width:100%;height:100%;position:relative}.chart-container canvas{max-width:100%;max-height:100%}.chart-loading-overlay{position:absolute;inset:0;background-color:color-mix(in srgb,var(--background) 85%,transparent);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--osi-section-item-gap);z-index:1000;pointer-events:none;transition:opacity .3s ease}.chart-loading-overlay .chart-loading-spinner{width:32px;height:32px;border:3px solid color-mix(in srgb,var(--foreground) 20%,transparent);border-top-color:var(--status-info, #3b82f6);border-radius:50%;animation:chart-spin 1s linear infinite}.chart-loading-overlay .chart-loading-text{font-weight:var(--font-semibold);color:var(--foreground);text-transform:none;color:var(--muted-foreground);font-size:var(--text-sm)}@keyframes chart-spin{to{transform:rotate(360deg)}}:host ::ng-deep canvas{display:block!important;max-width:100%;max-height:100%}:host ::ng-deep .chartjs-legend{color:var(--foreground)}:host ::ng-deep .chartjs-tooltip{background-color:var(--osi-section-item-background, var(--card-section-bg))!important;color:var(--foreground)!important;border:1px solid var(--border);border-radius:var(--osi-radius-md);box-shadow:0 4px 12px #0006;padding:8px 12px}:host ::ng-deep .chartjs-tooltip-body{color:var(--foreground)!important}:host ::ng-deep .chartjs-tooltip-header{color:var(--foreground)!important;border-bottom:1px solid var(--border)}\n"] }]
19370
+ }], propDecorators: { chart: [{
19167
19371
  type: ViewChild,
19168
- args: ['chartContainer', { static: false }]
19372
+ args: [BaseChartDirective, { static: false }]
19169
19373
  }] } });
19170
19374
 
19171
19375
  var chartSection_component = /*#__PURE__*/Object.freeze({
@@ -20108,11 +20312,11 @@ class ListSectionComponent extends BaseSectionComponent {
20108
20312
  return this.expandedIndex === index;
20109
20313
  }
20110
20314
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ListSectionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
20111
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.14", type: ListSectionComponent, isStandalone: true, selector: "lib-list-section", usesInheritance: true, ngImport: i0, template: "<div class=\"ai-section ai-section--list section-content\">\n <lib-section-header *ngIf=\"section.title\" [title]=\"section.title\" [description]=\"section.description\">\n </lib-section-header>\n\n <div class=\"list-container\" *ngIf=\"section.items?.length\">\n <div class=\"section-item\" *ngFor=\"let item of section.items; let i = index\" [class.expanded]=\"expandedIndex === i\">\n <span class=\"list-icon\" *ngIf=\"item.icon\">{{ item.icon }}</span>\n <span class=\"list-bullet\" *ngIf=\"!item.icon\">\u2022</span>\n <div class=\"list-content\">\n <div class=\"list-header\">\n <h4 class=\"list-title\">{{ item.title }}</h4>\n <div class=\"list-badges\">\n <lib-badge *ngIf=\"item.status\" [variant]=\"getStatusVariant(item.status)\" size=\"sm\">\n {{ item.status }}\n </lib-badge>\n <lib-badge *ngIf=\"item.priority\" [variant]=\"getPriorityVariant(item.priority)\" size=\"sm\">\n {{ item.priority }}\n </lib-badge>\n </div>\n </div>\n <div class=\"list-description-wrapper\" *ngIf=\"item.description\">\n <p class=\"list-description\" [class.list-description--expanded]=\"isItemExpanded(i)\" *ngIf=\"item.description\">\n {{ item.description }}\n </p>\n <button\n *ngIf=\"shouldShowExpandButton(item)\"\n class=\"list-expand-btn\"\n type=\"button\"\n (click)=\"toggleExpanded(i); $event.stopPropagation()\"\n [attr.aria-expanded]=\"isItemExpanded(i)\"\n [attr.aria-label]=\"(isItemExpanded(i) ? 'Collapse' : 'Expand') + ' description'\"\n >\n {{ isItemExpanded(i) ? 'Show less' : 'Show more' }}\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <lib-empty-state *ngIf=\"!section.items?.length\" message=\"No items\" icon=\"\uD83D\uDCDD\" variant=\"minimal\"> </lib-empty-state>\n</div>\n", styles: [".osi-card-container{container-type:inline-size;container-name:card;--card-padding: 4px;--card-gap: .5rem;--card-title-size: 1rem;--section-title-size: .875rem;--field-label-size: .75rem;--field-value-size: .875rem}.masonry-container{--masonry-columns: 1}@media (min-width: 480px){.masonry-container{--masonry-columns: 2}}@media (min-width: 1024px){.masonry-container{--masonry-columns: 3}}@media (min-width: 1280px){.masonry-container{--masonry-columns: 4}}@container card (min-width: 400px){.masonry-container--container-responsive{--masonry-columns: 2}}@container card (min-width: 700px){.masonry-container--container-responsive{--masonry-columns: 3}}@container card (min-width: 1000px){.masonry-container--container-responsive{--masonry-columns: 4}}.ai-section--info .section-field-grid{grid-template-columns:1fr}@media (min-width: 480px){.ai-section--info .section-field-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.ai-section--info .section-field-grid{grid-template-columns:repeat(3,1fr)}}.ai-section--analytics .metric-grid{grid-template-columns:1fr}@media (min-width: 320px){.ai-section--analytics .metric-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 768px){.ai-section--analytics .metric-grid{grid-template-columns:repeat(3,1fr)}}.ai-section--analytics .metric-value{font-size:var(--text-2xl)}.ai-section--timeline .timeline-items{flex-direction:column}@media (min-width: 1024px){.ai-section--timeline .timeline-items{flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory}.ai-section--timeline .timeline-items>*{scroll-snap-align:start;min-width:280px}}.ai-section--contact .contact-grid{grid-template-columns:1fr}@media (min-width: 480px){.ai-section--contact .contact-grid{grid-template-columns:repeat(2,1fr)}}.text-responsive{font-size:.875rem;line-height:1.5}.heading-responsive{font-size:1.25rem;line-height:1.2}.space-responsive{padding:.5rem}.gap-responsive{gap:.5rem}.touch-target{min-height:44px;min-width:44px}@media (min-width: 1024px){.touch-target{min-height:36px;min-width:36px}}@media (max-width: 767px){.hide-mobile{display:none!important}}@media (min-width: 768px){.hide-desktop{display:none!important}}.show-mobile{display:none!important}@media (max-width: 767px){.show-mobile{display:block!important}}.show-desktop{display:none!important}@media (min-width: 768px){.show-desktop{display:block!important}}@media print{.osi-card-container{--card-padding: 1rem;box-shadow:none;border:1px solid #ddd;break-inside:avoid}.masonry-container{--masonry-columns: 2;display:block}.masonry-container .masonry-item{break-inside:avoid;margin-bottom:1rem}.hide-print{display:none!important}}:root{--spacing-none: 0;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-base: 16px;--spacing-lg: 20px;--spacing-xl: 28px;--spacing-2xl: 40px;--spacing-3xl: 56px;--spacing-compact-xs: 3px;--spacing-compact-sm: 6px;--spacing-compact-md: 9px;--spacing-compact-base: 12px;--spacing-compact-lg: 16px;--section-card-min-height: 110px;--section-card-compact-height: 90px;--section-header-gap: 2px;--section-content-gap: var(--spacing-sm);--section-card-gap: var(--spacing-md);--section-card-padding: var(--spacing-md)}:root{--text-xs: .6875rem;--text-sm: .75rem;--text-base: .8125rem;--text-md: .875rem;--text-lg: 1.0625rem;--text-xl: 1.1875rem;--text-2xl: 1.375rem;--text-3xl: 1.625rem;--text-4xl: 2rem;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--leading-tight: 1.2;--leading-snug: 1.3;--leading-normal: 1.4;--leading-relaxed: 1.5;--leading-loose: 1.75}:root{--radius-none: 0;--radius-xs: 2px;--radius-sm: 3px;--radius-md: 5px;--radius-lg: 7px;--radius-xl: 10px;--radius-2xl: 14px;--radius-full: 9999px}:root{--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .05);--glow-sm: 0 0 10px rgba(var(--accent-rgb), .15);--glow-md: 0 0 20px rgba(var(--accent-rgb), .2);--glow-lg: 0 0 30px rgba(var(--accent-rgb), .25)}@media (prefers-color-scheme: dark){:root{--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .2);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .3), 0 1px 2px -1px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -2px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -4px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .5), 0 8px 10px -6px rgba(0, 0, 0, .5)}}:root{--duration-fast: .15s;--duration-base: .2s;--duration-slow: .3s;--duration-slower: .5s;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--ease-smooth: cubic-bezier(.4, 0, .6, 1);--transition-base: all var(--duration-base) var(--ease-out);--transition-fast: all var(--duration-fast) var(--ease-out);--transition-slow: all var(--duration-slow) var(--ease-out);--transition-colors: background-color var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out);--transition-shadow: box-shadow var(--duration-base) var(--ease-out);--transition-transform: transform var(--duration-base) var(--ease-out)}:root{--z-base: 1;--z-dropdown: 100;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-toast: 800;--z-max: 9999}:root{--blur-none: 0;--blur-sm: 4px;--blur-md: 8px;--blur-lg: 16px;--blur-xl: 24px;--glass-bg: rgba(255, 255, 255, .7);--glass-border: rgba(255, 255, 255, .2);--glass-blur: var(--blur-md)}@media (prefers-color-scheme: dark){:root{--glass-bg: rgba(0, 0, 0, .4);--glass-border: rgba(255, 255, 255, .1)}}:root{--opacity-0: 0;--opacity-5: .05;--opacity-10: .1;--opacity-20: .2;--opacity-30: .3;--opacity-40: .4;--opacity-50: .5;--opacity-60: .6;--opacity-70: .7;--opacity-80: .8;--opacity-90: .9;--opacity-100: 1}:root{--surface-base: var(--osi-section-item-background);--surface-raised: var(--osi-section-item-background-hover);--surface-overlay: var(--glass-bg);--border-light: rgba(var(--foreground-rgb), .08);--border-base: var(--border);--border-strong: rgba(var(--foreground-rgb), .2);--state-hover-opacity: .08;--state-active-opacity: .12;--state-focus-opacity: .16;--state-disabled-opacity: .5}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes fade-in-up{0%{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes fade-in-scale{0%{opacity:0;transform:translateZ(0) scale(.95)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes metal-sweep-ltr{0%{transform:translate(-100%);opacity:0}20%{opacity:.3}50%{opacity:.5}80%{opacity:.3}to{transform:translate(200%);opacity:0}}@keyframes metal-sweep-rtl{0%{transform:translate(200%);opacity:0}20%{opacity:.3}50%{opacity:.5}80%{opacity:.3}to{transform:translate(-100%);opacity:0}}@keyframes section-fade-in{0%{opacity:0}to{opacity:1}}@keyframes section-fade-in-up{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.unified-card,.section-card,[class*=__card],[class*=-card],[class*=__item],[class*=-item],.metric-card,.list-item,.analytics-card{transition:none!important;animation:none!important}.unified-card:hover,.section-card:hover,[class*=__card]:hover,[class*=-card]:hover,[class*=__item]:hover,[class*=-item]:hover,.metric-card:hover,.list-item:hover,.analytics-card:hover{transform:none!important}}.unified-card{background:var(--osi-section-item-background);border:var(--osi-section-item-border);border-radius:var(--osi-section-item-border-radius);box-shadow:var(--osi-section-item-shadow);padding:var(--osi-section-item-padding-normal);display:flex;flex-direction:column;gap:var(--osi-section-item-gap);min-height:var(--card-min-height, auto);cursor:pointer;overflow-x:hidden;width:100%!important;max-width:100%!important;box-sizing:border-box!important;text-align:left;word-wrap:break-word;overflow-wrap:break-word;transition:var(--osi-section-item-transition);position:relative;overflow:hidden}.unified-card:before{content:\"\";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;border-radius:inherit;animation:none;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%);width:50%;mix-blend-mode:overlay}.unified-card:hover:before{opacity:1;animation:metal-sweep-ltr .23s ease-out forwards}.unified-card:not(:hover):before{animation:none;opacity:0}@media (prefers-reduced-motion: reduce){.unified-card:before{display:none}}.unified-card:hover{border-color:var(--osi-section-item-border-hover-enhanced-color);box-shadow:var(--osi-section-item-shadow-hover-enhanced)}.unified-card:focus-visible{outline:none}@media (prefers-reduced-motion: reduce){.unified-card{transition:none}}.section-card{background:var(--osi-section-item-background);border:var(--osi-section-item-border);border-radius:var(--osi-section-item-border-radius);box-shadow:var(--osi-section-item-shadow);padding:var(--osi-section-item-padding-normal);display:flex;flex-direction:column;gap:var(--osi-section-item-gap);min-height:var(--card-min-height, auto);cursor:pointer;overflow-x:hidden;width:100%!important;max-width:100%!important;box-sizing:border-box!important;text-align:left;word-wrap:break-word;overflow-wrap:break-word;transition:var(--osi-section-item-transition);position:relative;overflow:hidden}.section-card:before{content:\"\";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;border-radius:inherit;animation:none;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%);width:50%;mix-blend-mode:overlay}.section-card:hover:before{opacity:1;animation:metal-sweep-ltr .23s ease-out forwards}.section-card:not(:hover):before{animation:none;opacity:0}@media (prefers-reduced-motion: reduce){.section-card:before{display:none}}.section-card:hover{border-color:var(--osi-section-item-border-hover-enhanced-color);box-shadow:var(--osi-section-item-shadow-hover-enhanced)}.section-card:focus-visible{outline:none}@media (prefers-reduced-motion: reduce){.section-card{transition:none}}.section-card{width:100%!important;max-width:100%!important;box-sizing:border-box!important}.section-item{transition:border-color var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),box-shadow var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),var(--osi-section-item-transition);position:relative;overflow:hidden}.section-item:hover{border-color:var(--osi-section-item-border-hover-enhanced-color)!important;box-shadow:var(--osi-section-item-shadow-hover-enhanced)!important;background:var(--osi-section-item-background)!important}@media (prefers-reduced-motion: reduce){.section-item{transition:none}.section-item:after{display:none}}.status--completed,.status--success{color:#22c55e;background:#22c55e1a}.status--active,.status--in-progress{color:var(--accent);background:#ff79001a}.status--pending,.status--warning{color:#f59e0b;background:#f59e0b1a}.status--blocked,.status--cancelled,.status--delayed,.status--inactive,.status--error{color:#ef4444;background:#ef44441a}.status--default{color:var(--muted-foreground);background:var(--muted)}.priority--high{color:#ef4444;background:#ef44441a}.priority--medium{color:#f59e0b;background:#f59e0b1a}.priority--low{color:#22c55e;background:#22c55e1a}.priority--default{color:var(--muted-foreground);background:var(--muted)}.masonry-container .masonry-item:nth-child(4n+1) .section-item:before,.masonry-container .masonry-item:nth-child(4n+1) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+1) .section-card:before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+2) .section-item:before,.masonry-container .masonry-item:nth-child(4n+2) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+2) .section-card:before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):before{background:linear-gradient(270deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container .masonry-item:nth-child(4n+1) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+1) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+1) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+2) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+2) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+2) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-rtl .23s ease-out forwards!important}.masonry-container .masonry-item:nth-child(4n+3) .section-item:before,.masonry-container .masonry-item:nth-child(4n+3) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+3) .section-card:before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+4) .section-item:before,.masonry-container .masonry-item:nth-child(4n+4) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+4) .section-card:before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-item:before,.masonry-container .masonry-item[data-col-span=\"3\"] .unified-card:before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-card:before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-item:before,.masonry-container .masonry-item[data-col-span=\"4\"] .unified-card:before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-card:before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-item:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .unified-card:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-card:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-item:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .unified-card:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-card:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):before{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container .masonry-item:nth-child(4n+3) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+3) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+3) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+4) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+4) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+4) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-item:hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] .unified-card:hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-card:hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-item:hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] .unified-card:hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-card:hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-item:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .unified-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-item:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .unified-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-ltr .23s ease-out forwards!important}@supports (grid-template-rows: masonry){.masonry-container--native .masonry-item:nth-child(4n+1) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+1) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+1) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+2) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):before{background:linear-gradient(270deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container--native .masonry-item:nth-child(4n+1) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-rtl .23s ease-out forwards!important}.masonry-container--native .masonry-item:nth-child(4n+3) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+3) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+3) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+4) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):before{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container--native .masonry-item:nth-child(4n+3) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-ltr .23s ease-out forwards!important}}@media (prefers-reduced-motion: reduce){.unified-card,.section-card,[class*=__card],[class*=-card],[class*=__item],[class*=-item]{transition:none;animation:none}}@keyframes item-stream{0%{opacity:0;transform:translate3d(0,var(--osi-motion-distance-sm, 8px),0)}to{opacity:1;transform:translateZ(0)}}.ai-section h1,.ai-section h2,.ai-section h3,.ai-section h4,.ai-section h5,.ai-section h6,.ai-section [class*=title],.ai-section [class*=heading],.ai-section [class*=header]{margin-bottom:.05em!important;line-height:1.3!important}.ai-section br{margin-top:.05em!important;line-height:1.3!important}.ai-section p,.ai-section div,.ai-section span{line-height:1.3!important}.ai-section h1+p,.ai-section h1+div,.ai-section h1+span,.ai-section h2+p,.ai-section h2+div,.ai-section h2+span,.ai-section h3+p,.ai-section h3+div,.ai-section h3+span,.ai-section h4+p,.ai-section h4+div,.ai-section h4+span,.ai-section h5+p,.ai-section h5+div,.ai-section h5+span,.ai-section h6+p,.ai-section h6+div,.ai-section h6+span,.ai-section [class*=title]+p,.ai-section [class*=title]+div,.ai-section [class*=title]+span,.ai-section [class*=heading]+p,.ai-section [class*=heading]+div,.ai-section [class*=heading]+span,.ai-section [class*=header]+p,.ai-section [class*=header]+div,.ai-section [class*=header]+span{margin-top:.05em!important}.ai-section.ai-section--overview .overview-item--single-text .overview-item__value--single-text br{margin-top:7px!important;height:7px!important;line-height:1.3!important;display:block!important;content:\"\"}.ai-section{--section-accent: var(--osi-section-accent);--section-border: var(--osi-section-border);--section-border-hover: var(--osi-section-border-hover);--section-box-shadow: var(--osi-section-shadow);--section-background: var(--osi-section-background);--section-background-hover: var(--osi-section-background-hover);--section-backdrop-filter: var(--osi-section-backdrop-filter);--section-spacing-bottom: var(--osi-section-spacing-bottom, 12px);--section-glow-background: var(--osi-section-glow-background);--section-glow-opacity-hover: var(--osi-section-glow-opacity-hover);--section-title-underline-length: var(--osi-section-title-underline-length);--section-title-underline-hover-length: var(--osi-section-title-underline-hover-length);--section-title-underline-height: var(--osi-section-title-underline-height);--section-title-underline-offset: var(--osi-section-title-underline-offset);--section-title-hover-color: var(--osi-section-title-hover-color);width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;margin-bottom:var(--section-spacing-bottom, 12px)!important;margin-top:0!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;contain:layout style;transition:border-color var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),box-shadow var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1)}.ai-section *{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.ai-section:not(.masonry-item .ai-section){position:relative;display:flex;flex-direction:column;gap:var(--section-card-gap);padding:0!important;border-radius:var(--osi-section-item-border-radius);background:var(--section-background);border:var(--section-border);box-shadow:var(--section-box-shadow);width:100%!important;max-width:100%!important;box-sizing:border-box!important;transition:border-color var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),box-shadow var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1)}.ai-section:not(.masonry-item .ai-section):hover{border-color:var(--osi-section-border-hover-enhanced-color);box-shadow:var(--osi-section-shadow-hover-enhanced)}@media (prefers-reduced-motion: reduce){.ai-section:not(.masonry-item .ai-section){transition:none}}.masonry-item .ai-section{display:flex!important;flex-direction:column!important;gap:var(--osi-section-gap, 8px)!important;height:auto!important}.ai-section:hover{border-color:var(--osi-section-border-hover-enhanced-color);box-shadow:var(--osi-section-shadow-hover-enhanced)}@media (prefers-reduced-motion: reduce){.ai-section{transition:none}}.ai-section__header{display:flex;flex-direction:column;gap:var(--osi-section-header-gap);width:100%;box-sizing:border-box;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;padding:0 0 var(--osi-section-header-padding-bottom) 0!important;border-bottom:none!important;background:transparent!important;margin:0!important;flex-wrap:wrap!important;gap:var(--osi-section-header-gap)!important;text-align:left!important}.ai-section__title{font-size:var(--section-title-font-size, .9375rem);font-weight:var(--section-title-font-weight, 700);letter-spacing:var(--section-title-letter-spacing, -.02em);line-height:var(--section-title-line-height, 1.3);color:var(--card-text-primary, #1c1c1f);margin:0;font-size:var(--osi-section-title-font-size)!important;font-weight:700!important;letter-spacing:var(--osi-section-title-letter-spacing)!important;line-height:var(--osi-section-title-line-height)!important;color:var(--osi-section-title-color)!important;opacity:1!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;position:relative!important;transition:var(--osi-section-title-transition)!important;padding:0!important;margin:0 0 var(--osi-section-title-margin-bottom) 0!important;text-align:left!important;font-family:inherit!important;border:none!important}.ai-section__title:before{content:\"\"!important;position:absolute!important;left:0!important;bottom:var(--osi-section-title-underline-offset)!important;width:var(--osi-section-title-underline-length)!important;height:var(--osi-section-title-underline-height)!important;background:var(--osi-section-title-underline-color)!important;border-radius:var(--radius-xs)!important;transition:width .22s ease,opacity .22s ease!important;transform-origin:left!important;opacity:.6!important}.ai-section__title:hover{color:var(--osi-section-title-color)!important}.ai-section__title:hover:before{width:var(--osi-section-title-underline-hover-length)!important;opacity:1!important}.ai-section__icon{display:none!important;width:var(--icon-size-section)!important;height:var(--icon-size-section)!important}.ai-section__details{display:flex!important;flex-direction:column!important;gap:var(--osi-section-header-gap)!important;align-items:flex-start!important;text-align:left!important}.ai-section__description{font-size:var(--section-description-font-size, .75rem);font-weight:400;color:var(--card-text-secondary, rgba(28, 28, 31, .6));line-height:1.3;margin:0;color:var(--osi-section-description-color)!important;letter-spacing:.01em!important;line-height:1.2!important;font-weight:400!important;overflow:hidden!important;text-overflow:ellipsis!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;margin-top:0!important;padding-top:0!important;text-align:left!important;transition:var(--osi-section-description-transition)!important;font-family:inherit!important}.ai-section:hover .ai-section__description{color:var(--osi-section-description-color-hover)!important}.ai-section__badge{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;font-size:.55rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:#ff7900;background:#ff79001a;border-radius:4px;white-space:nowrap;display:none!important;padding:var(--tag-padding-y-sm) var(--tag-padding-x)!important;border-radius:var(--radius-sm)!important}.ai-section--contact-card .ai-section__badge,.ai-section--solutions .ai-section__badge,.ai-section--event .ai-section__badge,.ai-section--chart .ai-section__badge,.ai-section--financials .ai-section__badge{display:none!important;align-items:center!important;padding:var(--osi-section-badge-padding)!important;background:var(--osi-section-badge-bg)!important;color:var(--osi-section-badge-color)!important;border:none!important;box-shadow:none!important;border-radius:var(--osi-section-border-radius)!important;font-size:var(--card-meta-font-size, .6rem)!important;font-weight:var(--card-meta-font-weight, 500)!important;transition:opacity .2s ease,background .2s ease!important;line-height:1.2!important}.ai-section:hover .ai-section__badge{opacity:1!important;background:var(--osi-section-badge-bg-hover)!important}.ai-section__body{display:flex;flex-direction:column;gap:var(--osi-section-gap-internal);width:100%;box-sizing:border-box;padding:0!important;margin:0!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}.ai-section .section-empty{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;padding:var(--osi-section-padding)!important;text-align:center!important;color:var(--muted-foreground)!important;min-height:auto!important;border-radius:var(--radius-md)!important;background:var(--osi-section-empty-bg)!important;border:var(--osi-section-empty-border)!important;transition:opacity .2s ease,background .2s ease!important}.ai-section .section-empty lucide-icon{margin-bottom:var(--osi-section-gap)!important;opacity:var(--osi-section-empty-icon-opacity)!important;color:var(--accent)!important;transition:all .2s ease!important}.ai-section .section-empty p{font-size:var(--font-section-description, .85rem)!important;margin:0!important;font-weight:500!important;font-family:inherit!important}.ai-section .section-empty:hover{background:var(--osi-section-empty-bg-hover)!important;border-color:var(--osi-section-empty-border-hover)!important}.ai-section .section-empty:hover lucide-icon{opacity:var(--osi-section-empty-icon-opacity-hover)!important}.ai-section--info{--section-accent: var(--osi-section-accent-info)}.ai-section--analytics{--section-accent: var(--osi-section-accent-analytics)}.ai-section--financials{--section-accent: var(--osi-section-accent-financials)}.ai-section--map{--section-accent: var(--osi-section-accent-map)}.ai-section--network-card{--section-accent: var(--osi-section-accent-network)}.ai-section--contact-card{--section-accent: var(--osi-section-accent-contact)}.ai-section--product{--section-accent: var(--osi-section-accent-product)}.ai-section--solutions{--section-accent: var(--osi-section-accent-solutions)}.ai-section--overview{--section-accent: var(--osi-section-accent-overview)}.ai-section--overview .ai-section__title{font-size:calc(var(--osi-section-title-font-size) - 1.5px)!important}.ai-section--list,.ai-section--info-list{--section-accent: var(--osi-section-accent-list)}.ai-section--event{--section-accent: var(--osi-section-accent-event)}.ai-section--chart{--section-accent: var(--osi-section-accent-chart)}.ai-section--text-reference{--section-accent: var(--osi-section-accent-reference)}.ai-section--quotation{--section-accent: var(--osi-section-accent-quotation)}.ai-card-surface--fullscreen .ai-section{--section-padding: var(--osi-section-padding);--section-spacing-bottom: var(--osi-section-spacing-bottom);--section-gap: var(--osi-section-gap);--section-gap-internal: var(--osi-section-gap-internal);--section-title-underline-length: var(--osi-section-title-underline-length);--section-title-underline-hover-length: var(--osi-section-title-underline-hover-length);--section-title-underline-height: var(--osi-section-title-underline-height);--section-title-underline-offset: var(--osi-section-title-underline-offset);--section-box-shadow: none !important;--section-box-shadow-hover: none !important}.ai-card-surface--fullscreen .masonry-item,.ai-card-surface--fullscreen .masonry-item:hover{box-shadow:var(--osi-section-shadow-fullscreen)!important}.ai-card-surface--fullscreen .ai-section__header{padding:0 0 var(--osi-section-header-padding-bottom) 0!important;gap:var(--osi-section-header-gap)!important}.ai-card-surface--fullscreen .ai-section__title{font-size:var(--card-title-font-size, .95rem)!important}.ai-card-surface--fullscreen .ai-section__body{gap:var(--osi-section-gap-internal)!important}.ai-card-surface--fullscreen .ai-section__description{font-size:var(--card-meta-font-size, .6rem)!important;margin-top:0!important;padding-top:0!important}.section-content{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;padding:0!important;margin:0!important}.section-content>*{width:100%!important;max-width:100%!important;box-sizing:border-box!important}.ai-section--faq,.ai-section--faq .list,.ai-section--faq .item{min-width:0!important;width:100%!important;max-width:100%!important}:host{display:block;width:100%;max-width:100%;min-width:0}@media (max-width: 479px){:host{min-width:0}}.list-section{display:flex;flex-direction:column;gap:var(--osi-section-item-gap)!important}.list-container{width:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:var(--osi-section-item-gap)!important}.section-item{background:var(--osi-section-item-background);border:var(--osi-section-item-border);border-radius:var(--osi-section-item-border-radius);box-shadow:var(--osi-section-item-shadow);padding:var(--osi-section-item-padding-normal);flex-direction:column;gap:var(--osi-section-item-gap);min-height:var(--card-min-height, auto);cursor:pointer;overflow-x:hidden;width:100%!important;max-width:100%!important;box-sizing:border-box!important;text-align:left;word-wrap:break-word;overflow-wrap:break-word;width:100%;display:flex;align-items:flex-start;box-sizing:border-box;-webkit-tap-highlight-color:transparent;transition:var(--osi-section-item-transition);position:relative;overflow:hidden}.section-item:focus-visible{outline:none}@media (prefers-reduced-motion: reduce){.section-item{transition:none}}.section-item:before{content:\"\";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;border-radius:inherit;animation:none;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%);width:50%;mix-blend-mode:overlay}.section-item:hover:before{opacity:1;animation:metal-sweep-ltr .23s ease-out forwards}.section-item:not(:hover):before{animation:none;opacity:0}@media (prefers-reduced-motion: reduce){.section-item:before{display:none}}.section-item:hover{border-color:var(--osi-section-item-border-hover-enhanced-color);box-shadow:var(--osi-section-item-shadow-hover-enhanced)}.section-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:var(--shadow-lg),0 0 0 4px rgba(var(--accent-rgb, 255, 121, 0),.1)}@media (prefers-reduced-motion: reduce){.section-item{transition:none}.section-item:hover{box-shadow:var(--shadow-md)}}.section-item:hover .list-bullet,.section-item:hover .list-icon{color:var(--accent);opacity:1}.section-item:hover .list-title{color:var(--accent)}.section-item:focus-visible{outline:2px solid rgba(var(--accent-rgb),.7);outline-offset:2px}.list-bullet{font-size:var(--text-lg);color:var(--accent);opacity:.6;line-height:1;font-weight:var(--font-bold);transition:color var(--osi-section-item-transition),opacity var(--osi-section-item-transition);margin-top:var(--osi-spacing-2px);flex-shrink:0}.list-icon{font-size:var(--text-2xl);line-height:1;transition:color var(--osi-section-item-transition),opacity var(--osi-section-item-transition);margin-top:var(--osi-spacing-2px);flex-shrink:0;opacity:.8;display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem}.list-content{flex:1;display:flex;flex-direction:column;gap:var(--osi-section-item-gap-xs);min-width:0;width:100%;box-sizing:border-box}.list-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--osi-section-item-gap);flex-wrap:wrap}.list-title{font-size:var(--text-sm);font-weight:var(--font-semibold);line-height:var(--leading-normal);color:var(--foreground);flex:1;margin:0;transition:color var(--osi-section-item-transition)}.list-badges{display:flex;gap:var(--osi-section-item-gap-xs);flex-shrink:0}.list-description-wrapper{display:flex;flex-direction:column;gap:var(--osi-section-item-gap-xs)}.list-description{font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--foreground);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;max-width:100%;box-sizing:border-box;color:color-mix(in srgb,var(--foreground) 75%,transparent);margin:0;line-height:var(--leading-relaxed);word-wrap:break-word;overflow-wrap:break-word;font-weight:var(--font-normal)}.list-description--expanded{display:block;-webkit-line-clamp:unset;overflow:visible}.list-expand-btn{align-self:flex-start;background:none;border:none;color:var(--accent);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;padding:var(--osi-section-item-padding-compact) 0;text-decoration:underline;transition:opacity var(--osi-section-item-transition)}.list-expand-btn:hover{opacity:.8}.list-expand-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--osi-radius-xs)}.list-item.expanded{background:var(--osi-section-item-background-hover);border-color:var(--osi-section-item-border-hover);box-shadow:var(--osi-section-item-shadow-hover)}@media (max-width: 479px){.list-container,.list-item{max-width:100%;overflow-x:hidden}.list-header{flex-direction:column;gap:var(--osi-section-item-gap-xs)}.list-content{max-width:100%;min-width:0}}@media (max-width: 600px){.list-container{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.list-item{transition:none;transform:none!important}.list-bullet,.list-icon{transition:none}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SectionHeaderComponent, selector: "lib-section-header", inputs: ["title", "description", "level", "headerClass", "titleClass", "descriptionClass"] }, { kind: "component", type: EmptyStateComponent, selector: "lib-empty-state", inputs: ["message", "icon", "actionLabel", "variant", "size", "containerClass"], outputs: ["action"] }, { kind: "component", type: BadgeComponent, selector: "lib-badge", inputs: ["variant", "size", "outlined", "pill", "dot", "badgeClass", "icon", "interactive", "ariaLabel"] }] }); }
20315
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.14", type: ListSectionComponent, isStandalone: true, selector: "lib-list-section", usesInheritance: true, ngImport: i0, template: "<div class=\"ai-section ai-section--list section-content\">\n <lib-section-header *ngIf=\"section.title\" [title]=\"section.title\" [description]=\"section.description\">\n </lib-section-header>\n\n <div class=\"list-container\" *ngIf=\"section.items?.length\">\n <div class=\"section-item\" *ngFor=\"let item of section.items; let i = index\">\n <div class=\"list-content\">\n <div class=\"list-header\">\n <h4 class=\"list-title\">{{ item.title }}</h4>\n <div class=\"list-badges\">\n <lib-badge *ngIf=\"item.status\" [variant]=\"getStatusVariant(item.status)\" size=\"sm\">\n {{ item.status }}\n </lib-badge>\n <lib-badge *ngIf=\"item.priority\" [variant]=\"getPriorityVariant(item.priority)\" size=\"sm\">\n {{ item.priority }}\n </lib-badge>\n </div>\n </div>\n <div class=\"list-description-wrapper\" *ngIf=\"item.description\">\n <p class=\"list-description\" *ngIf=\"item.description\">\n {{ item.description }}\n </p>\n </div>\n </div>\n </div>\n </div>\n\n <lib-empty-state *ngIf=\"!section.items?.length\" message=\"No items\" icon=\"\uD83D\uDCDD\" variant=\"minimal\"> </lib-empty-state>\n</div>\n", styles: [".osi-card-container{container-type:inline-size;container-name:card;--card-padding: 4px;--card-gap: .5rem;--card-title-size: 1rem;--section-title-size: .875rem;--field-label-size: .75rem;--field-value-size: .875rem}.masonry-container{--masonry-columns: 1}@media (min-width: 480px){.masonry-container{--masonry-columns: 2}}@media (min-width: 1024px){.masonry-container{--masonry-columns: 3}}@media (min-width: 1280px){.masonry-container{--masonry-columns: 4}}@container card (min-width: 400px){.masonry-container--container-responsive{--masonry-columns: 2}}@container card (min-width: 700px){.masonry-container--container-responsive{--masonry-columns: 3}}@container card (min-width: 1000px){.masonry-container--container-responsive{--masonry-columns: 4}}.ai-section--info .section-field-grid{grid-template-columns:1fr}@media (min-width: 480px){.ai-section--info .section-field-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.ai-section--info .section-field-grid{grid-template-columns:repeat(3,1fr)}}.ai-section--analytics .metric-grid{grid-template-columns:1fr}@media (min-width: 320px){.ai-section--analytics .metric-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 768px){.ai-section--analytics .metric-grid{grid-template-columns:repeat(3,1fr)}}.ai-section--analytics .metric-value{font-size:var(--text-2xl)}.ai-section--timeline .timeline-items{flex-direction:column}@media (min-width: 1024px){.ai-section--timeline .timeline-items{flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory}.ai-section--timeline .timeline-items>*{scroll-snap-align:start;min-width:280px}}.ai-section--contact .contact-grid{grid-template-columns:1fr}@media (min-width: 480px){.ai-section--contact .contact-grid{grid-template-columns:repeat(2,1fr)}}.text-responsive{font-size:.875rem;line-height:1.5}.heading-responsive{font-size:1.25rem;line-height:1.2}.space-responsive{padding:.5rem}.gap-responsive{gap:.5rem}.touch-target{min-height:44px;min-width:44px}@media (min-width: 1024px){.touch-target{min-height:36px;min-width:36px}}@media (max-width: 767px){.hide-mobile{display:none!important}}@media (min-width: 768px){.hide-desktop{display:none!important}}.show-mobile{display:none!important}@media (max-width: 767px){.show-mobile{display:block!important}}.show-desktop{display:none!important}@media (min-width: 768px){.show-desktop{display:block!important}}@media print{.osi-card-container{--card-padding: 1rem;box-shadow:none;border:1px solid #ddd;break-inside:avoid}.masonry-container{--masonry-columns: 2;display:block}.masonry-container .masonry-item{break-inside:avoid;margin-bottom:1rem}.hide-print{display:none!important}}:root{--spacing-none: 0;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-base: 16px;--spacing-lg: 20px;--spacing-xl: 28px;--spacing-2xl: 40px;--spacing-3xl: 56px;--spacing-compact-xs: 3px;--spacing-compact-sm: 6px;--spacing-compact-md: 9px;--spacing-compact-base: 12px;--spacing-compact-lg: 16px;--section-card-min-height: 110px;--section-card-compact-height: 90px;--section-header-gap: 2px;--section-content-gap: var(--spacing-sm);--section-card-gap: var(--spacing-md);--section-card-padding: var(--spacing-md)}:root{--text-xs: .6875rem;--text-sm: .75rem;--text-base: .8125rem;--text-md: .875rem;--text-lg: 1.0625rem;--text-xl: 1.1875rem;--text-2xl: 1.375rem;--text-3xl: 1.625rem;--text-4xl: 2rem;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--leading-tight: 1.2;--leading-snug: 1.3;--leading-normal: 1.4;--leading-relaxed: 1.5;--leading-loose: 1.75}:root{--radius-none: 0;--radius-xs: 2px;--radius-sm: 3px;--radius-md: 5px;--radius-lg: 7px;--radius-xl: 10px;--radius-2xl: 14px;--radius-full: 9999px}:root{--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .05);--glow-sm: 0 0 10px rgba(var(--accent-rgb), .15);--glow-md: 0 0 20px rgba(var(--accent-rgb), .2);--glow-lg: 0 0 30px rgba(var(--accent-rgb), .25)}@media (prefers-color-scheme: dark){:root{--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .2);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .3), 0 1px 2px -1px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -2px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -4px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .5), 0 8px 10px -6px rgba(0, 0, 0, .5)}}:root{--duration-fast: .15s;--duration-base: .2s;--duration-slow: .3s;--duration-slower: .5s;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--ease-smooth: cubic-bezier(.4, 0, .6, 1);--transition-base: all var(--duration-base) var(--ease-out);--transition-fast: all var(--duration-fast) var(--ease-out);--transition-slow: all var(--duration-slow) var(--ease-out);--transition-colors: background-color var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out);--transition-shadow: box-shadow var(--duration-base) var(--ease-out);--transition-transform: transform var(--duration-base) var(--ease-out)}:root{--z-base: 1;--z-dropdown: 100;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-toast: 800;--z-max: 9999}:root{--blur-none: 0;--blur-sm: 4px;--blur-md: 8px;--blur-lg: 16px;--blur-xl: 24px;--glass-bg: rgba(255, 255, 255, .7);--glass-border: rgba(255, 255, 255, .2);--glass-blur: var(--blur-md)}@media (prefers-color-scheme: dark){:root{--glass-bg: rgba(0, 0, 0, .4);--glass-border: rgba(255, 255, 255, .1)}}:root{--opacity-0: 0;--opacity-5: .05;--opacity-10: .1;--opacity-20: .2;--opacity-30: .3;--opacity-40: .4;--opacity-50: .5;--opacity-60: .6;--opacity-70: .7;--opacity-80: .8;--opacity-90: .9;--opacity-100: 1}:root{--surface-base: var(--osi-section-item-background);--surface-raised: var(--osi-section-item-background-hover);--surface-overlay: var(--glass-bg);--border-light: rgba(var(--foreground-rgb), .08);--border-base: var(--border);--border-strong: rgba(var(--foreground-rgb), .2);--state-hover-opacity: .08;--state-active-opacity: .12;--state-focus-opacity: .16;--state-disabled-opacity: .5}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes fade-in-up{0%{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes fade-in-scale{0%{opacity:0;transform:translateZ(0) scale(.95)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes metal-sweep-ltr{0%{transform:translate(-100%);opacity:0}20%{opacity:.3}50%{opacity:.5}80%{opacity:.3}to{transform:translate(200%);opacity:0}}@keyframes metal-sweep-rtl{0%{transform:translate(200%);opacity:0}20%{opacity:.3}50%{opacity:.5}80%{opacity:.3}to{transform:translate(-100%);opacity:0}}@keyframes section-fade-in{0%{opacity:0}to{opacity:1}}@keyframes section-fade-in-up{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.unified-card,.section-card,[class*=__card],[class*=-card],[class*=__item],[class*=-item],.metric-card,.list-item,.analytics-card{transition:none!important;animation:none!important}.unified-card:hover,.section-card:hover,[class*=__card]:hover,[class*=-card]:hover,[class*=__item]:hover,[class*=-item]:hover,.metric-card:hover,.list-item:hover,.analytics-card:hover{transform:none!important}}.unified-card{background:var(--osi-section-item-background);border:var(--osi-section-item-border);border-radius:var(--osi-section-item-border-radius);box-shadow:var(--osi-section-item-shadow);padding:var(--osi-section-item-padding-normal);display:flex;flex-direction:column;gap:var(--osi-section-item-gap);min-height:var(--card-min-height, auto);cursor:pointer;overflow-x:hidden;width:100%!important;max-width:100%!important;box-sizing:border-box!important;text-align:left;word-wrap:break-word;overflow-wrap:break-word;transition:var(--osi-section-item-transition);position:relative;overflow:hidden}.unified-card:before{content:\"\";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;border-radius:inherit;animation:none;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%);width:50%;mix-blend-mode:overlay}.unified-card:hover:before{opacity:1;animation:metal-sweep-ltr .23s ease-out forwards}.unified-card:not(:hover):before{animation:none;opacity:0}@media (prefers-reduced-motion: reduce){.unified-card:before{display:none}}.unified-card:hover{border-color:var(--osi-section-item-border-hover-enhanced-color);box-shadow:var(--osi-section-item-shadow-hover-enhanced)}.unified-card:focus-visible{outline:none}@media (prefers-reduced-motion: reduce){.unified-card{transition:none}}.section-card{background:var(--osi-section-item-background);border:var(--osi-section-item-border);border-radius:var(--osi-section-item-border-radius);box-shadow:var(--osi-section-item-shadow);padding:var(--osi-section-item-padding-normal);display:flex;flex-direction:column;gap:var(--osi-section-item-gap);min-height:var(--card-min-height, auto);cursor:pointer;overflow-x:hidden;width:100%!important;max-width:100%!important;box-sizing:border-box!important;text-align:left;word-wrap:break-word;overflow-wrap:break-word;transition:var(--osi-section-item-transition);position:relative;overflow:hidden}.section-card:before{content:\"\";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;border-radius:inherit;animation:none;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%);width:50%;mix-blend-mode:overlay}.section-card:hover:before{opacity:1;animation:metal-sweep-ltr .23s ease-out forwards}.section-card:not(:hover):before{animation:none;opacity:0}@media (prefers-reduced-motion: reduce){.section-card:before{display:none}}.section-card:hover{border-color:var(--osi-section-item-border-hover-enhanced-color);box-shadow:var(--osi-section-item-shadow-hover-enhanced)}.section-card:focus-visible{outline:none}@media (prefers-reduced-motion: reduce){.section-card{transition:none}}.section-card{width:100%!important;max-width:100%!important;box-sizing:border-box!important}.section-item{transition:border-color var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),box-shadow var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),var(--osi-section-item-transition);position:relative;overflow:hidden}.section-item:hover{border-color:var(--osi-section-item-border-hover-enhanced-color)!important;box-shadow:var(--osi-section-item-shadow-hover-enhanced)!important;background:var(--osi-section-item-background)!important}@media (prefers-reduced-motion: reduce){.section-item{transition:none}.section-item:after{display:none}}.status--completed,.status--success{color:#22c55e;background:#22c55e1a}.status--active,.status--in-progress{color:var(--accent);background:#ff79001a}.status--pending,.status--warning{color:#f59e0b;background:#f59e0b1a}.status--blocked,.status--cancelled,.status--delayed,.status--inactive,.status--error{color:#ef4444;background:#ef44441a}.status--default{color:var(--muted-foreground);background:var(--muted)}.priority--high{color:#ef4444;background:#ef44441a}.priority--medium{color:#f59e0b;background:#f59e0b1a}.priority--low{color:#22c55e;background:#22c55e1a}.priority--default{color:var(--muted-foreground);background:var(--muted)}.masonry-container .masonry-item:nth-child(4n+1) .section-item:before,.masonry-container .masonry-item:nth-child(4n+1) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+1) .section-card:before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+2) .section-item:before,.masonry-container .masonry-item:nth-child(4n+2) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+2) .section-card:before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):before{background:linear-gradient(270deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container .masonry-item:nth-child(4n+1) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+1) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+1) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+2) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+2) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+2) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-rtl .23s ease-out forwards!important}.masonry-container .masonry-item:nth-child(4n+3) .section-item:before,.masonry-container .masonry-item:nth-child(4n+3) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+3) .section-card:before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+4) .section-item:before,.masonry-container .masonry-item:nth-child(4n+4) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+4) .section-card:before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-item:before,.masonry-container .masonry-item[data-col-span=\"3\"] .unified-card:before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-card:before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-item:before,.masonry-container .masonry-item[data-col-span=\"4\"] .unified-card:before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-card:before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-item:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .unified-card:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-card:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-item:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .unified-card:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-card:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):before{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container .masonry-item:nth-child(4n+3) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+3) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+3) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+4) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+4) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+4) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-item:hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] .unified-card:hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-card:hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-item:hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] .unified-card:hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-card:hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-item:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .unified-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-item:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .unified-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-ltr .23s ease-out forwards!important}@supports (grid-template-rows: masonry){.masonry-container--native .masonry-item:nth-child(4n+1) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+1) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+1) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+2) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):before{background:linear-gradient(270deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container--native .masonry-item:nth-child(4n+1) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-rtl .23s ease-out forwards!important}.masonry-container--native .masonry-item:nth-child(4n+3) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+3) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+3) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+4) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):before{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container--native .masonry-item:nth-child(4n+3) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-ltr .23s ease-out forwards!important}}@media (prefers-reduced-motion: reduce){.unified-card,.section-card,[class*=__card],[class*=-card],[class*=__item],[class*=-item]{transition:none;animation:none}}@keyframes item-stream{0%{opacity:0;transform:translate3d(0,var(--osi-motion-distance-sm, 8px),0)}to{opacity:1;transform:translateZ(0)}}.ai-section h1,.ai-section h2,.ai-section h3,.ai-section h4,.ai-section h5,.ai-section h6,.ai-section [class*=title],.ai-section [class*=heading],.ai-section [class*=header]{margin-bottom:.05em!important;line-height:1.3!important}.ai-section br{margin-top:.05em!important;line-height:1.3!important}.ai-section p,.ai-section div,.ai-section span{line-height:1.3!important}.ai-section h1+p,.ai-section h1+div,.ai-section h1+span,.ai-section h2+p,.ai-section h2+div,.ai-section h2+span,.ai-section h3+p,.ai-section h3+div,.ai-section h3+span,.ai-section h4+p,.ai-section h4+div,.ai-section h4+span,.ai-section h5+p,.ai-section h5+div,.ai-section h5+span,.ai-section h6+p,.ai-section h6+div,.ai-section h6+span,.ai-section [class*=title]+p,.ai-section [class*=title]+div,.ai-section [class*=title]+span,.ai-section [class*=heading]+p,.ai-section [class*=heading]+div,.ai-section [class*=heading]+span,.ai-section [class*=header]+p,.ai-section [class*=header]+div,.ai-section [class*=header]+span{margin-top:.05em!important}.ai-section.ai-section--overview .overview-item--single-text .overview-item__value--single-text br{margin-top:7px!important;height:7px!important;line-height:1.3!important;display:block!important;content:\"\"}.ai-section{--section-accent: var(--osi-section-accent);--section-border: var(--osi-section-border);--section-border-hover: var(--osi-section-border-hover);--section-box-shadow: var(--osi-section-shadow);--section-background: var(--osi-section-background);--section-background-hover: var(--osi-section-background-hover);--section-backdrop-filter: var(--osi-section-backdrop-filter);--section-spacing-bottom: var(--osi-section-spacing-bottom, 12px);--section-glow-background: var(--osi-section-glow-background);--section-glow-opacity-hover: var(--osi-section-glow-opacity-hover);--section-title-underline-length: var(--osi-section-title-underline-length);--section-title-underline-hover-length: var(--osi-section-title-underline-hover-length);--section-title-underline-height: var(--osi-section-title-underline-height);--section-title-underline-offset: var(--osi-section-title-underline-offset);--section-title-hover-color: var(--osi-section-title-hover-color);width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;margin-bottom:var(--section-spacing-bottom, 12px)!important;margin-top:0!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;contain:layout style;transition:border-color var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),box-shadow var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1)}.ai-section *{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.ai-section:not(.masonry-item .ai-section){position:relative;display:flex;flex-direction:column;gap:var(--section-card-gap);padding:0!important;border-radius:var(--osi-section-item-border-radius);background:var(--section-background);border:var(--section-border);box-shadow:var(--section-box-shadow);width:100%!important;max-width:100%!important;box-sizing:border-box!important;transition:border-color var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),box-shadow var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1)}.ai-section:not(.masonry-item .ai-section):hover{border-color:var(--osi-section-border-hover-enhanced-color);box-shadow:var(--osi-section-shadow-hover-enhanced)}@media (prefers-reduced-motion: reduce){.ai-section:not(.masonry-item .ai-section){transition:none}}.masonry-item .ai-section{display:flex!important;flex-direction:column!important;gap:var(--osi-section-gap, 8px)!important;height:auto!important}.ai-section:hover{border-color:var(--osi-section-border-hover-enhanced-color);box-shadow:var(--osi-section-shadow-hover-enhanced)}@media (prefers-reduced-motion: reduce){.ai-section{transition:none}}.ai-section__header{display:flex;flex-direction:column;gap:var(--osi-section-header-gap);width:100%;box-sizing:border-box;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;padding:0 0 var(--osi-section-header-padding-bottom) 0!important;border-bottom:none!important;background:transparent!important;margin:0!important;flex-wrap:wrap!important;gap:var(--osi-section-header-gap)!important;text-align:left!important}.ai-section__title{font-size:var(--section-title-font-size, .9375rem);font-weight:var(--section-title-font-weight, 700);letter-spacing:var(--section-title-letter-spacing, -.02em);line-height:var(--section-title-line-height, 1.3);color:var(--card-text-primary, #1c1c1f);margin:0;font-size:var(--osi-section-title-font-size)!important;font-weight:700!important;letter-spacing:var(--osi-section-title-letter-spacing)!important;line-height:var(--osi-section-title-line-height)!important;color:var(--osi-section-title-color)!important;opacity:1!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;position:relative!important;transition:var(--osi-section-title-transition)!important;padding:0!important;margin:0 0 var(--osi-section-title-margin-bottom) 0!important;text-align:left!important;font-family:inherit!important;border:none!important}.ai-section__title:before{content:\"\"!important;position:absolute!important;left:0!important;bottom:var(--osi-section-title-underline-offset)!important;width:var(--osi-section-title-underline-length)!important;height:var(--osi-section-title-underline-height)!important;background:var(--osi-section-title-underline-color)!important;border-radius:var(--radius-xs)!important;transition:width .22s ease,opacity .22s ease!important;transform-origin:left!important;opacity:.6!important}.ai-section__title:hover{color:var(--osi-section-title-color)!important}.ai-section__title:hover:before{width:var(--osi-section-title-underline-hover-length)!important;opacity:1!important}.ai-section__icon{display:none!important;width:var(--icon-size-section)!important;height:var(--icon-size-section)!important}.ai-section__details{display:flex!important;flex-direction:column!important;gap:var(--osi-section-header-gap)!important;align-items:flex-start!important;text-align:left!important}.ai-section__description{font-size:var(--section-description-font-size, .75rem);font-weight:400;color:var(--card-text-secondary, rgba(28, 28, 31, .6));line-height:1.3;margin:0;color:var(--osi-section-description-color)!important;letter-spacing:.01em!important;line-height:1.2!important;font-weight:400!important;overflow:hidden!important;text-overflow:ellipsis!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;margin-top:0!important;padding-top:0!important;text-align:left!important;transition:var(--osi-section-description-transition)!important;font-family:inherit!important}.ai-section:hover .ai-section__description{color:var(--osi-section-description-color-hover)!important}.ai-section__badge{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;font-size:.55rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:#ff7900;background:#ff79001a;border-radius:4px;white-space:nowrap;display:none!important;padding:var(--tag-padding-y-sm) var(--tag-padding-x)!important;border-radius:var(--radius-sm)!important}.ai-section--contact-card .ai-section__badge,.ai-section--solutions .ai-section__badge,.ai-section--event .ai-section__badge,.ai-section--chart .ai-section__badge,.ai-section--financials .ai-section__badge{display:none!important;align-items:center!important;padding:var(--osi-section-badge-padding)!important;background:var(--osi-section-badge-bg)!important;color:var(--osi-section-badge-color)!important;border:none!important;box-shadow:none!important;border-radius:var(--osi-section-border-radius)!important;font-size:var(--card-meta-font-size, .6rem)!important;font-weight:var(--card-meta-font-weight, 500)!important;transition:opacity .2s ease,background .2s ease!important;line-height:1.2!important}.ai-section:hover .ai-section__badge{opacity:1!important;background:var(--osi-section-badge-bg-hover)!important}.ai-section__body{display:flex;flex-direction:column;gap:var(--osi-section-gap-internal);width:100%;box-sizing:border-box;padding:0!important;margin:0!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}.ai-section .section-empty{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;padding:var(--osi-section-padding)!important;text-align:center!important;color:var(--muted-foreground)!important;min-height:auto!important;border-radius:var(--radius-md)!important;background:var(--osi-section-empty-bg)!important;border:var(--osi-section-empty-border)!important;transition:opacity .2s ease,background .2s ease!important}.ai-section .section-empty lucide-icon{margin-bottom:var(--osi-section-gap)!important;opacity:var(--osi-section-empty-icon-opacity)!important;color:var(--accent)!important;transition:all .2s ease!important}.ai-section .section-empty p{font-size:var(--font-section-description, .85rem)!important;margin:0!important;font-weight:500!important;font-family:inherit!important}.ai-section .section-empty:hover{background:var(--osi-section-empty-bg-hover)!important;border-color:var(--osi-section-empty-border-hover)!important}.ai-section .section-empty:hover lucide-icon{opacity:var(--osi-section-empty-icon-opacity-hover)!important}.ai-section--info{--section-accent: var(--osi-section-accent-info)}.ai-section--analytics{--section-accent: var(--osi-section-accent-analytics)}.ai-section--financials{--section-accent: var(--osi-section-accent-financials)}.ai-section--map{--section-accent: var(--osi-section-accent-map)}.ai-section--network-card{--section-accent: var(--osi-section-accent-network)}.ai-section--contact-card{--section-accent: var(--osi-section-accent-contact)}.ai-section--product{--section-accent: var(--osi-section-accent-product)}.ai-section--solutions{--section-accent: var(--osi-section-accent-solutions)}.ai-section--overview{--section-accent: var(--osi-section-accent-overview)}.ai-section--overview .ai-section__title{font-size:calc(var(--osi-section-title-font-size) - 1.5px)!important}.ai-section--list,.ai-section--info-list{--section-accent: var(--osi-section-accent-list)}.ai-section--event{--section-accent: var(--osi-section-accent-event)}.ai-section--chart{--section-accent: var(--osi-section-accent-chart)}.ai-section--text-reference{--section-accent: var(--osi-section-accent-reference)}.ai-section--quotation{--section-accent: var(--osi-section-accent-quotation)}.ai-card-surface--fullscreen .ai-section{--section-padding: var(--osi-section-padding);--section-spacing-bottom: var(--osi-section-spacing-bottom);--section-gap: var(--osi-section-gap);--section-gap-internal: var(--osi-section-gap-internal);--section-title-underline-length: var(--osi-section-title-underline-length);--section-title-underline-hover-length: var(--osi-section-title-underline-hover-length);--section-title-underline-height: var(--osi-section-title-underline-height);--section-title-underline-offset: var(--osi-section-title-underline-offset);--section-box-shadow: none !important;--section-box-shadow-hover: none !important}.ai-card-surface--fullscreen .masonry-item,.ai-card-surface--fullscreen .masonry-item:hover{box-shadow:var(--osi-section-shadow-fullscreen)!important}.ai-card-surface--fullscreen .ai-section__header{padding:0 0 var(--osi-section-header-padding-bottom) 0!important;gap:var(--osi-section-header-gap)!important}.ai-card-surface--fullscreen .ai-section__title{font-size:var(--card-title-font-size, .95rem)!important}.ai-card-surface--fullscreen .ai-section__body{gap:var(--osi-section-gap-internal)!important}.ai-card-surface--fullscreen .ai-section__description{font-size:var(--card-meta-font-size, .6rem)!important;margin-top:0!important;padding-top:0!important}.section-content{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;padding:0!important;margin:0!important}.section-content>*{width:100%!important;max-width:100%!important;box-sizing:border-box!important}.ai-section--faq,.ai-section--faq .list,.ai-section--faq .item{min-width:0!important;width:100%!important;max-width:100%!important}:host{display:block;width:100%;max-width:100%;min-width:0}@media (max-width: 479px){:host{min-width:0}}.list-section{display:flex;flex-direction:column;gap:var(--osi-section-item-gap)!important}.list-container{width:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:var(--osi-section-item-gap)!important}.section-item{background:var(--osi-section-item-background);border:var(--osi-section-item-border);border-radius:var(--osi-section-item-border-radius);box-shadow:var(--osi-section-item-shadow);padding:var(--osi-section-item-padding-normal);flex-direction:column;gap:var(--osi-section-item-gap);min-height:var(--card-min-height, auto);cursor:pointer;overflow-x:hidden;width:100%!important;max-width:100%!important;box-sizing:border-box!important;text-align:left;word-wrap:break-word;overflow-wrap:break-word;width:100%;display:flex;align-items:flex-start;box-sizing:border-box;-webkit-tap-highlight-color:transparent;transition:var(--osi-section-item-transition);position:relative;overflow:hidden}.section-item:focus-visible{outline:none}@media (prefers-reduced-motion: reduce){.section-item{transition:none}}.section-item:before{content:\"\";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;border-radius:inherit;animation:none;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%);width:50%;mix-blend-mode:overlay}.section-item:hover:before{opacity:1;animation:metal-sweep-ltr .23s ease-out forwards}.section-item:not(:hover):before{animation:none;opacity:0}@media (prefers-reduced-motion: reduce){.section-item:before{display:none}}.section-item:hover{border-color:var(--osi-section-item-border-hover-enhanced-color);box-shadow:var(--osi-section-item-shadow-hover-enhanced)}.section-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:var(--shadow-lg),0 0 0 4px rgba(var(--accent-rgb, 255, 121, 0),.1)}@media (prefers-reduced-motion: reduce){.section-item{transition:none}.section-item:hover{box-shadow:var(--shadow-md)}}.section-item:hover .list-bullet,.section-item:hover .list-icon{color:var(--accent);opacity:1}.section-item:hover .list-title{color:var(--accent)}.section-item:focus-visible{outline:2px solid rgba(var(--accent-rgb),.7);outline-offset:2px}.list-bullet{font-size:var(--text-lg);color:var(--accent);opacity:.6;line-height:1;font-weight:var(--font-bold);transition:color var(--osi-section-item-transition),opacity var(--osi-section-item-transition);margin-top:var(--osi-spacing-2px);flex-shrink:0}.list-icon{font-size:var(--text-2xl);line-height:1;transition:color var(--osi-section-item-transition),opacity var(--osi-section-item-transition);margin-top:var(--osi-spacing-2px);flex-shrink:0;opacity:.8;display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem}.list-content{flex:1;display:flex;flex-direction:column;gap:var(--osi-section-item-gap-xs);min-width:0;width:100%;box-sizing:border-box}.list-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--osi-section-item-gap);flex-wrap:wrap}.list-title{font-size:var(--text-sm);font-weight:var(--font-semibold);line-height:var(--leading-normal);color:var(--foreground);flex:1;margin:0;transition:color var(--osi-section-item-transition)}.list-badges{display:flex;gap:var(--osi-section-item-gap-xs);flex-shrink:0}.list-description-wrapper{display:flex;flex-direction:column;gap:var(--osi-section-item-gap-xs)}.list-description{font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--foreground);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;max-width:100%;box-sizing:border-box;color:color-mix(in srgb,var(--foreground) 75%,transparent);margin:0;line-height:var(--leading-relaxed);word-wrap:break-word;overflow-wrap:break-word;font-weight:var(--font-normal)}.list-description--expanded{display:block;-webkit-line-clamp:unset;overflow:visible}.list-expand-btn{align-self:flex-start;background:none;border:none;color:var(--accent);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;padding:var(--osi-section-item-padding-compact) 0;text-decoration:underline;transition:opacity var(--osi-section-item-transition)}.list-expand-btn:hover{opacity:.8}.list-expand-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--osi-radius-xs)}.list-item.expanded{background:var(--osi-section-item-background-hover);border-color:var(--osi-section-item-border-hover);box-shadow:var(--osi-section-item-shadow-hover)}@media (max-width: 479px){.list-container,.list-item{max-width:100%;overflow-x:hidden}.list-header{flex-direction:column;gap:var(--osi-section-item-gap-xs)}.list-content{max-width:100%;min-width:0}}@media (max-width: 600px){.list-container{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.list-item{transition:none;transform:none!important}.list-bullet,.list-icon{transition:none}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SectionHeaderComponent, selector: "lib-section-header", inputs: ["title", "description", "level", "headerClass", "titleClass", "descriptionClass"] }, { kind: "component", type: EmptyStateComponent, selector: "lib-empty-state", inputs: ["message", "icon", "actionLabel", "variant", "size", "containerClass"], outputs: ["action"] }, { kind: "component", type: BadgeComponent, selector: "lib-badge", inputs: ["variant", "size", "outlined", "pill", "dot", "badgeClass", "icon", "interactive", "ariaLabel"] }] }); }
20112
20316
  }
20113
20317
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ListSectionComponent, decorators: [{
20114
20318
  type: Component,
20115
- args: [{ selector: 'lib-list-section', standalone: true, imports: [CommonModule, SectionHeaderComponent, EmptyStateComponent, BadgeComponent], template: "<div class=\"ai-section ai-section--list section-content\">\n <lib-section-header *ngIf=\"section.title\" [title]=\"section.title\" [description]=\"section.description\">\n </lib-section-header>\n\n <div class=\"list-container\" *ngIf=\"section.items?.length\">\n <div class=\"section-item\" *ngFor=\"let item of section.items; let i = index\" [class.expanded]=\"expandedIndex === i\">\n <span class=\"list-icon\" *ngIf=\"item.icon\">{{ item.icon }}</span>\n <span class=\"list-bullet\" *ngIf=\"!item.icon\">\u2022</span>\n <div class=\"list-content\">\n <div class=\"list-header\">\n <h4 class=\"list-title\">{{ item.title }}</h4>\n <div class=\"list-badges\">\n <lib-badge *ngIf=\"item.status\" [variant]=\"getStatusVariant(item.status)\" size=\"sm\">\n {{ item.status }}\n </lib-badge>\n <lib-badge *ngIf=\"item.priority\" [variant]=\"getPriorityVariant(item.priority)\" size=\"sm\">\n {{ item.priority }}\n </lib-badge>\n </div>\n </div>\n <div class=\"list-description-wrapper\" *ngIf=\"item.description\">\n <p class=\"list-description\" [class.list-description--expanded]=\"isItemExpanded(i)\" *ngIf=\"item.description\">\n {{ item.description }}\n </p>\n <button\n *ngIf=\"shouldShowExpandButton(item)\"\n class=\"list-expand-btn\"\n type=\"button\"\n (click)=\"toggleExpanded(i); $event.stopPropagation()\"\n [attr.aria-expanded]=\"isItemExpanded(i)\"\n [attr.aria-label]=\"(isItemExpanded(i) ? 'Collapse' : 'Expand') + ' description'\"\n >\n {{ isItemExpanded(i) ? 'Show less' : 'Show more' }}\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <lib-empty-state *ngIf=\"!section.items?.length\" message=\"No items\" icon=\"\uD83D\uDCDD\" variant=\"minimal\"> </lib-empty-state>\n</div>\n", styles: [".osi-card-container{container-type:inline-size;container-name:card;--card-padding: 4px;--card-gap: .5rem;--card-title-size: 1rem;--section-title-size: .875rem;--field-label-size: .75rem;--field-value-size: .875rem}.masonry-container{--masonry-columns: 1}@media (min-width: 480px){.masonry-container{--masonry-columns: 2}}@media (min-width: 1024px){.masonry-container{--masonry-columns: 3}}@media (min-width: 1280px){.masonry-container{--masonry-columns: 4}}@container card (min-width: 400px){.masonry-container--container-responsive{--masonry-columns: 2}}@container card (min-width: 700px){.masonry-container--container-responsive{--masonry-columns: 3}}@container card (min-width: 1000px){.masonry-container--container-responsive{--masonry-columns: 4}}.ai-section--info .section-field-grid{grid-template-columns:1fr}@media (min-width: 480px){.ai-section--info .section-field-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.ai-section--info .section-field-grid{grid-template-columns:repeat(3,1fr)}}.ai-section--analytics .metric-grid{grid-template-columns:1fr}@media (min-width: 320px){.ai-section--analytics .metric-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 768px){.ai-section--analytics .metric-grid{grid-template-columns:repeat(3,1fr)}}.ai-section--analytics .metric-value{font-size:var(--text-2xl)}.ai-section--timeline .timeline-items{flex-direction:column}@media (min-width: 1024px){.ai-section--timeline .timeline-items{flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory}.ai-section--timeline .timeline-items>*{scroll-snap-align:start;min-width:280px}}.ai-section--contact .contact-grid{grid-template-columns:1fr}@media (min-width: 480px){.ai-section--contact .contact-grid{grid-template-columns:repeat(2,1fr)}}.text-responsive{font-size:.875rem;line-height:1.5}.heading-responsive{font-size:1.25rem;line-height:1.2}.space-responsive{padding:.5rem}.gap-responsive{gap:.5rem}.touch-target{min-height:44px;min-width:44px}@media (min-width: 1024px){.touch-target{min-height:36px;min-width:36px}}@media (max-width: 767px){.hide-mobile{display:none!important}}@media (min-width: 768px){.hide-desktop{display:none!important}}.show-mobile{display:none!important}@media (max-width: 767px){.show-mobile{display:block!important}}.show-desktop{display:none!important}@media (min-width: 768px){.show-desktop{display:block!important}}@media print{.osi-card-container{--card-padding: 1rem;box-shadow:none;border:1px solid #ddd;break-inside:avoid}.masonry-container{--masonry-columns: 2;display:block}.masonry-container .masonry-item{break-inside:avoid;margin-bottom:1rem}.hide-print{display:none!important}}:root{--spacing-none: 0;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-base: 16px;--spacing-lg: 20px;--spacing-xl: 28px;--spacing-2xl: 40px;--spacing-3xl: 56px;--spacing-compact-xs: 3px;--spacing-compact-sm: 6px;--spacing-compact-md: 9px;--spacing-compact-base: 12px;--spacing-compact-lg: 16px;--section-card-min-height: 110px;--section-card-compact-height: 90px;--section-header-gap: 2px;--section-content-gap: var(--spacing-sm);--section-card-gap: var(--spacing-md);--section-card-padding: var(--spacing-md)}:root{--text-xs: .6875rem;--text-sm: .75rem;--text-base: .8125rem;--text-md: .875rem;--text-lg: 1.0625rem;--text-xl: 1.1875rem;--text-2xl: 1.375rem;--text-3xl: 1.625rem;--text-4xl: 2rem;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--leading-tight: 1.2;--leading-snug: 1.3;--leading-normal: 1.4;--leading-relaxed: 1.5;--leading-loose: 1.75}:root{--radius-none: 0;--radius-xs: 2px;--radius-sm: 3px;--radius-md: 5px;--radius-lg: 7px;--radius-xl: 10px;--radius-2xl: 14px;--radius-full: 9999px}:root{--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .05);--glow-sm: 0 0 10px rgba(var(--accent-rgb), .15);--glow-md: 0 0 20px rgba(var(--accent-rgb), .2);--glow-lg: 0 0 30px rgba(var(--accent-rgb), .25)}@media (prefers-color-scheme: dark){:root{--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .2);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .3), 0 1px 2px -1px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -2px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -4px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .5), 0 8px 10px -6px rgba(0, 0, 0, .5)}}:root{--duration-fast: .15s;--duration-base: .2s;--duration-slow: .3s;--duration-slower: .5s;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--ease-smooth: cubic-bezier(.4, 0, .6, 1);--transition-base: all var(--duration-base) var(--ease-out);--transition-fast: all var(--duration-fast) var(--ease-out);--transition-slow: all var(--duration-slow) var(--ease-out);--transition-colors: background-color var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out);--transition-shadow: box-shadow var(--duration-base) var(--ease-out);--transition-transform: transform var(--duration-base) var(--ease-out)}:root{--z-base: 1;--z-dropdown: 100;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-toast: 800;--z-max: 9999}:root{--blur-none: 0;--blur-sm: 4px;--blur-md: 8px;--blur-lg: 16px;--blur-xl: 24px;--glass-bg: rgba(255, 255, 255, .7);--glass-border: rgba(255, 255, 255, .2);--glass-blur: var(--blur-md)}@media (prefers-color-scheme: dark){:root{--glass-bg: rgba(0, 0, 0, .4);--glass-border: rgba(255, 255, 255, .1)}}:root{--opacity-0: 0;--opacity-5: .05;--opacity-10: .1;--opacity-20: .2;--opacity-30: .3;--opacity-40: .4;--opacity-50: .5;--opacity-60: .6;--opacity-70: .7;--opacity-80: .8;--opacity-90: .9;--opacity-100: 1}:root{--surface-base: var(--osi-section-item-background);--surface-raised: var(--osi-section-item-background-hover);--surface-overlay: var(--glass-bg);--border-light: rgba(var(--foreground-rgb), .08);--border-base: var(--border);--border-strong: rgba(var(--foreground-rgb), .2);--state-hover-opacity: .08;--state-active-opacity: .12;--state-focus-opacity: .16;--state-disabled-opacity: .5}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes fade-in-up{0%{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes fade-in-scale{0%{opacity:0;transform:translateZ(0) scale(.95)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes metal-sweep-ltr{0%{transform:translate(-100%);opacity:0}20%{opacity:.3}50%{opacity:.5}80%{opacity:.3}to{transform:translate(200%);opacity:0}}@keyframes metal-sweep-rtl{0%{transform:translate(200%);opacity:0}20%{opacity:.3}50%{opacity:.5}80%{opacity:.3}to{transform:translate(-100%);opacity:0}}@keyframes section-fade-in{0%{opacity:0}to{opacity:1}}@keyframes section-fade-in-up{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.unified-card,.section-card,[class*=__card],[class*=-card],[class*=__item],[class*=-item],.metric-card,.list-item,.analytics-card{transition:none!important;animation:none!important}.unified-card:hover,.section-card:hover,[class*=__card]:hover,[class*=-card]:hover,[class*=__item]:hover,[class*=-item]:hover,.metric-card:hover,.list-item:hover,.analytics-card:hover{transform:none!important}}.unified-card{background:var(--osi-section-item-background);border:var(--osi-section-item-border);border-radius:var(--osi-section-item-border-radius);box-shadow:var(--osi-section-item-shadow);padding:var(--osi-section-item-padding-normal);display:flex;flex-direction:column;gap:var(--osi-section-item-gap);min-height:var(--card-min-height, auto);cursor:pointer;overflow-x:hidden;width:100%!important;max-width:100%!important;box-sizing:border-box!important;text-align:left;word-wrap:break-word;overflow-wrap:break-word;transition:var(--osi-section-item-transition);position:relative;overflow:hidden}.unified-card:before{content:\"\";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;border-radius:inherit;animation:none;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%);width:50%;mix-blend-mode:overlay}.unified-card:hover:before{opacity:1;animation:metal-sweep-ltr .23s ease-out forwards}.unified-card:not(:hover):before{animation:none;opacity:0}@media (prefers-reduced-motion: reduce){.unified-card:before{display:none}}.unified-card:hover{border-color:var(--osi-section-item-border-hover-enhanced-color);box-shadow:var(--osi-section-item-shadow-hover-enhanced)}.unified-card:focus-visible{outline:none}@media (prefers-reduced-motion: reduce){.unified-card{transition:none}}.section-card{background:var(--osi-section-item-background);border:var(--osi-section-item-border);border-radius:var(--osi-section-item-border-radius);box-shadow:var(--osi-section-item-shadow);padding:var(--osi-section-item-padding-normal);display:flex;flex-direction:column;gap:var(--osi-section-item-gap);min-height:var(--card-min-height, auto);cursor:pointer;overflow-x:hidden;width:100%!important;max-width:100%!important;box-sizing:border-box!important;text-align:left;word-wrap:break-word;overflow-wrap:break-word;transition:var(--osi-section-item-transition);position:relative;overflow:hidden}.section-card:before{content:\"\";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;border-radius:inherit;animation:none;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%);width:50%;mix-blend-mode:overlay}.section-card:hover:before{opacity:1;animation:metal-sweep-ltr .23s ease-out forwards}.section-card:not(:hover):before{animation:none;opacity:0}@media (prefers-reduced-motion: reduce){.section-card:before{display:none}}.section-card:hover{border-color:var(--osi-section-item-border-hover-enhanced-color);box-shadow:var(--osi-section-item-shadow-hover-enhanced)}.section-card:focus-visible{outline:none}@media (prefers-reduced-motion: reduce){.section-card{transition:none}}.section-card{width:100%!important;max-width:100%!important;box-sizing:border-box!important}.section-item{transition:border-color var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),box-shadow var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),var(--osi-section-item-transition);position:relative;overflow:hidden}.section-item:hover{border-color:var(--osi-section-item-border-hover-enhanced-color)!important;box-shadow:var(--osi-section-item-shadow-hover-enhanced)!important;background:var(--osi-section-item-background)!important}@media (prefers-reduced-motion: reduce){.section-item{transition:none}.section-item:after{display:none}}.status--completed,.status--success{color:#22c55e;background:#22c55e1a}.status--active,.status--in-progress{color:var(--accent);background:#ff79001a}.status--pending,.status--warning{color:#f59e0b;background:#f59e0b1a}.status--blocked,.status--cancelled,.status--delayed,.status--inactive,.status--error{color:#ef4444;background:#ef44441a}.status--default{color:var(--muted-foreground);background:var(--muted)}.priority--high{color:#ef4444;background:#ef44441a}.priority--medium{color:#f59e0b;background:#f59e0b1a}.priority--low{color:#22c55e;background:#22c55e1a}.priority--default{color:var(--muted-foreground);background:var(--muted)}.masonry-container .masonry-item:nth-child(4n+1) .section-item:before,.masonry-container .masonry-item:nth-child(4n+1) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+1) .section-card:before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+2) .section-item:before,.masonry-container .masonry-item:nth-child(4n+2) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+2) .section-card:before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):before{background:linear-gradient(270deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container .masonry-item:nth-child(4n+1) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+1) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+1) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+2) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+2) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+2) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-rtl .23s ease-out forwards!important}.masonry-container .masonry-item:nth-child(4n+3) .section-item:before,.masonry-container .masonry-item:nth-child(4n+3) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+3) .section-card:before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+4) .section-item:before,.masonry-container .masonry-item:nth-child(4n+4) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+4) .section-card:before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-item:before,.masonry-container .masonry-item[data-col-span=\"3\"] .unified-card:before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-card:before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-item:before,.masonry-container .masonry-item[data-col-span=\"4\"] .unified-card:before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-card:before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-item:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .unified-card:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-card:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-item:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .unified-card:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-card:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):before{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container .masonry-item:nth-child(4n+3) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+3) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+3) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+4) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+4) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+4) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-item:hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] .unified-card:hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-card:hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-item:hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] .unified-card:hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-card:hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-item:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .unified-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-item:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .unified-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-ltr .23s ease-out forwards!important}@supports (grid-template-rows: masonry){.masonry-container--native .masonry-item:nth-child(4n+1) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+1) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+1) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+2) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):before{background:linear-gradient(270deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container--native .masonry-item:nth-child(4n+1) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-rtl .23s ease-out forwards!important}.masonry-container--native .masonry-item:nth-child(4n+3) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+3) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+3) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+4) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):before{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container--native .masonry-item:nth-child(4n+3) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-ltr .23s ease-out forwards!important}}@media (prefers-reduced-motion: reduce){.unified-card,.section-card,[class*=__card],[class*=-card],[class*=__item],[class*=-item]{transition:none;animation:none}}@keyframes item-stream{0%{opacity:0;transform:translate3d(0,var(--osi-motion-distance-sm, 8px),0)}to{opacity:1;transform:translateZ(0)}}.ai-section h1,.ai-section h2,.ai-section h3,.ai-section h4,.ai-section h5,.ai-section h6,.ai-section [class*=title],.ai-section [class*=heading],.ai-section [class*=header]{margin-bottom:.05em!important;line-height:1.3!important}.ai-section br{margin-top:.05em!important;line-height:1.3!important}.ai-section p,.ai-section div,.ai-section span{line-height:1.3!important}.ai-section h1+p,.ai-section h1+div,.ai-section h1+span,.ai-section h2+p,.ai-section h2+div,.ai-section h2+span,.ai-section h3+p,.ai-section h3+div,.ai-section h3+span,.ai-section h4+p,.ai-section h4+div,.ai-section h4+span,.ai-section h5+p,.ai-section h5+div,.ai-section h5+span,.ai-section h6+p,.ai-section h6+div,.ai-section h6+span,.ai-section [class*=title]+p,.ai-section [class*=title]+div,.ai-section [class*=title]+span,.ai-section [class*=heading]+p,.ai-section [class*=heading]+div,.ai-section [class*=heading]+span,.ai-section [class*=header]+p,.ai-section [class*=header]+div,.ai-section [class*=header]+span{margin-top:.05em!important}.ai-section.ai-section--overview .overview-item--single-text .overview-item__value--single-text br{margin-top:7px!important;height:7px!important;line-height:1.3!important;display:block!important;content:\"\"}.ai-section{--section-accent: var(--osi-section-accent);--section-border: var(--osi-section-border);--section-border-hover: var(--osi-section-border-hover);--section-box-shadow: var(--osi-section-shadow);--section-background: var(--osi-section-background);--section-background-hover: var(--osi-section-background-hover);--section-backdrop-filter: var(--osi-section-backdrop-filter);--section-spacing-bottom: var(--osi-section-spacing-bottom, 12px);--section-glow-background: var(--osi-section-glow-background);--section-glow-opacity-hover: var(--osi-section-glow-opacity-hover);--section-title-underline-length: var(--osi-section-title-underline-length);--section-title-underline-hover-length: var(--osi-section-title-underline-hover-length);--section-title-underline-height: var(--osi-section-title-underline-height);--section-title-underline-offset: var(--osi-section-title-underline-offset);--section-title-hover-color: var(--osi-section-title-hover-color);width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;margin-bottom:var(--section-spacing-bottom, 12px)!important;margin-top:0!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;contain:layout style;transition:border-color var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),box-shadow var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1)}.ai-section *{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.ai-section:not(.masonry-item .ai-section){position:relative;display:flex;flex-direction:column;gap:var(--section-card-gap);padding:0!important;border-radius:var(--osi-section-item-border-radius);background:var(--section-background);border:var(--section-border);box-shadow:var(--section-box-shadow);width:100%!important;max-width:100%!important;box-sizing:border-box!important;transition:border-color var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),box-shadow var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1)}.ai-section:not(.masonry-item .ai-section):hover{border-color:var(--osi-section-border-hover-enhanced-color);box-shadow:var(--osi-section-shadow-hover-enhanced)}@media (prefers-reduced-motion: reduce){.ai-section:not(.masonry-item .ai-section){transition:none}}.masonry-item .ai-section{display:flex!important;flex-direction:column!important;gap:var(--osi-section-gap, 8px)!important;height:auto!important}.ai-section:hover{border-color:var(--osi-section-border-hover-enhanced-color);box-shadow:var(--osi-section-shadow-hover-enhanced)}@media (prefers-reduced-motion: reduce){.ai-section{transition:none}}.ai-section__header{display:flex;flex-direction:column;gap:var(--osi-section-header-gap);width:100%;box-sizing:border-box;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;padding:0 0 var(--osi-section-header-padding-bottom) 0!important;border-bottom:none!important;background:transparent!important;margin:0!important;flex-wrap:wrap!important;gap:var(--osi-section-header-gap)!important;text-align:left!important}.ai-section__title{font-size:var(--section-title-font-size, .9375rem);font-weight:var(--section-title-font-weight, 700);letter-spacing:var(--section-title-letter-spacing, -.02em);line-height:var(--section-title-line-height, 1.3);color:var(--card-text-primary, #1c1c1f);margin:0;font-size:var(--osi-section-title-font-size)!important;font-weight:700!important;letter-spacing:var(--osi-section-title-letter-spacing)!important;line-height:var(--osi-section-title-line-height)!important;color:var(--osi-section-title-color)!important;opacity:1!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;position:relative!important;transition:var(--osi-section-title-transition)!important;padding:0!important;margin:0 0 var(--osi-section-title-margin-bottom) 0!important;text-align:left!important;font-family:inherit!important;border:none!important}.ai-section__title:before{content:\"\"!important;position:absolute!important;left:0!important;bottom:var(--osi-section-title-underline-offset)!important;width:var(--osi-section-title-underline-length)!important;height:var(--osi-section-title-underline-height)!important;background:var(--osi-section-title-underline-color)!important;border-radius:var(--radius-xs)!important;transition:width .22s ease,opacity .22s ease!important;transform-origin:left!important;opacity:.6!important}.ai-section__title:hover{color:var(--osi-section-title-color)!important}.ai-section__title:hover:before{width:var(--osi-section-title-underline-hover-length)!important;opacity:1!important}.ai-section__icon{display:none!important;width:var(--icon-size-section)!important;height:var(--icon-size-section)!important}.ai-section__details{display:flex!important;flex-direction:column!important;gap:var(--osi-section-header-gap)!important;align-items:flex-start!important;text-align:left!important}.ai-section__description{font-size:var(--section-description-font-size, .75rem);font-weight:400;color:var(--card-text-secondary, rgba(28, 28, 31, .6));line-height:1.3;margin:0;color:var(--osi-section-description-color)!important;letter-spacing:.01em!important;line-height:1.2!important;font-weight:400!important;overflow:hidden!important;text-overflow:ellipsis!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;margin-top:0!important;padding-top:0!important;text-align:left!important;transition:var(--osi-section-description-transition)!important;font-family:inherit!important}.ai-section:hover .ai-section__description{color:var(--osi-section-description-color-hover)!important}.ai-section__badge{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;font-size:.55rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:#ff7900;background:#ff79001a;border-radius:4px;white-space:nowrap;display:none!important;padding:var(--tag-padding-y-sm) var(--tag-padding-x)!important;border-radius:var(--radius-sm)!important}.ai-section--contact-card .ai-section__badge,.ai-section--solutions .ai-section__badge,.ai-section--event .ai-section__badge,.ai-section--chart .ai-section__badge,.ai-section--financials .ai-section__badge{display:none!important;align-items:center!important;padding:var(--osi-section-badge-padding)!important;background:var(--osi-section-badge-bg)!important;color:var(--osi-section-badge-color)!important;border:none!important;box-shadow:none!important;border-radius:var(--osi-section-border-radius)!important;font-size:var(--card-meta-font-size, .6rem)!important;font-weight:var(--card-meta-font-weight, 500)!important;transition:opacity .2s ease,background .2s ease!important;line-height:1.2!important}.ai-section:hover .ai-section__badge{opacity:1!important;background:var(--osi-section-badge-bg-hover)!important}.ai-section__body{display:flex;flex-direction:column;gap:var(--osi-section-gap-internal);width:100%;box-sizing:border-box;padding:0!important;margin:0!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}.ai-section .section-empty{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;padding:var(--osi-section-padding)!important;text-align:center!important;color:var(--muted-foreground)!important;min-height:auto!important;border-radius:var(--radius-md)!important;background:var(--osi-section-empty-bg)!important;border:var(--osi-section-empty-border)!important;transition:opacity .2s ease,background .2s ease!important}.ai-section .section-empty lucide-icon{margin-bottom:var(--osi-section-gap)!important;opacity:var(--osi-section-empty-icon-opacity)!important;color:var(--accent)!important;transition:all .2s ease!important}.ai-section .section-empty p{font-size:var(--font-section-description, .85rem)!important;margin:0!important;font-weight:500!important;font-family:inherit!important}.ai-section .section-empty:hover{background:var(--osi-section-empty-bg-hover)!important;border-color:var(--osi-section-empty-border-hover)!important}.ai-section .section-empty:hover lucide-icon{opacity:var(--osi-section-empty-icon-opacity-hover)!important}.ai-section--info{--section-accent: var(--osi-section-accent-info)}.ai-section--analytics{--section-accent: var(--osi-section-accent-analytics)}.ai-section--financials{--section-accent: var(--osi-section-accent-financials)}.ai-section--map{--section-accent: var(--osi-section-accent-map)}.ai-section--network-card{--section-accent: var(--osi-section-accent-network)}.ai-section--contact-card{--section-accent: var(--osi-section-accent-contact)}.ai-section--product{--section-accent: var(--osi-section-accent-product)}.ai-section--solutions{--section-accent: var(--osi-section-accent-solutions)}.ai-section--overview{--section-accent: var(--osi-section-accent-overview)}.ai-section--overview .ai-section__title{font-size:calc(var(--osi-section-title-font-size) - 1.5px)!important}.ai-section--list,.ai-section--info-list{--section-accent: var(--osi-section-accent-list)}.ai-section--event{--section-accent: var(--osi-section-accent-event)}.ai-section--chart{--section-accent: var(--osi-section-accent-chart)}.ai-section--text-reference{--section-accent: var(--osi-section-accent-reference)}.ai-section--quotation{--section-accent: var(--osi-section-accent-quotation)}.ai-card-surface--fullscreen .ai-section{--section-padding: var(--osi-section-padding);--section-spacing-bottom: var(--osi-section-spacing-bottom);--section-gap: var(--osi-section-gap);--section-gap-internal: var(--osi-section-gap-internal);--section-title-underline-length: var(--osi-section-title-underline-length);--section-title-underline-hover-length: var(--osi-section-title-underline-hover-length);--section-title-underline-height: var(--osi-section-title-underline-height);--section-title-underline-offset: var(--osi-section-title-underline-offset);--section-box-shadow: none !important;--section-box-shadow-hover: none !important}.ai-card-surface--fullscreen .masonry-item,.ai-card-surface--fullscreen .masonry-item:hover{box-shadow:var(--osi-section-shadow-fullscreen)!important}.ai-card-surface--fullscreen .ai-section__header{padding:0 0 var(--osi-section-header-padding-bottom) 0!important;gap:var(--osi-section-header-gap)!important}.ai-card-surface--fullscreen .ai-section__title{font-size:var(--card-title-font-size, .95rem)!important}.ai-card-surface--fullscreen .ai-section__body{gap:var(--osi-section-gap-internal)!important}.ai-card-surface--fullscreen .ai-section__description{font-size:var(--card-meta-font-size, .6rem)!important;margin-top:0!important;padding-top:0!important}.section-content{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;padding:0!important;margin:0!important}.section-content>*{width:100%!important;max-width:100%!important;box-sizing:border-box!important}.ai-section--faq,.ai-section--faq .list,.ai-section--faq .item{min-width:0!important;width:100%!important;max-width:100%!important}:host{display:block;width:100%;max-width:100%;min-width:0}@media (max-width: 479px){:host{min-width:0}}.list-section{display:flex;flex-direction:column;gap:var(--osi-section-item-gap)!important}.list-container{width:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:var(--osi-section-item-gap)!important}.section-item{background:var(--osi-section-item-background);border:var(--osi-section-item-border);border-radius:var(--osi-section-item-border-radius);box-shadow:var(--osi-section-item-shadow);padding:var(--osi-section-item-padding-normal);flex-direction:column;gap:var(--osi-section-item-gap);min-height:var(--card-min-height, auto);cursor:pointer;overflow-x:hidden;width:100%!important;max-width:100%!important;box-sizing:border-box!important;text-align:left;word-wrap:break-word;overflow-wrap:break-word;width:100%;display:flex;align-items:flex-start;box-sizing:border-box;-webkit-tap-highlight-color:transparent;transition:var(--osi-section-item-transition);position:relative;overflow:hidden}.section-item:focus-visible{outline:none}@media (prefers-reduced-motion: reduce){.section-item{transition:none}}.section-item:before{content:\"\";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;border-radius:inherit;animation:none;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%);width:50%;mix-blend-mode:overlay}.section-item:hover:before{opacity:1;animation:metal-sweep-ltr .23s ease-out forwards}.section-item:not(:hover):before{animation:none;opacity:0}@media (prefers-reduced-motion: reduce){.section-item:before{display:none}}.section-item:hover{border-color:var(--osi-section-item-border-hover-enhanced-color);box-shadow:var(--osi-section-item-shadow-hover-enhanced)}.section-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:var(--shadow-lg),0 0 0 4px rgba(var(--accent-rgb, 255, 121, 0),.1)}@media (prefers-reduced-motion: reduce){.section-item{transition:none}.section-item:hover{box-shadow:var(--shadow-md)}}.section-item:hover .list-bullet,.section-item:hover .list-icon{color:var(--accent);opacity:1}.section-item:hover .list-title{color:var(--accent)}.section-item:focus-visible{outline:2px solid rgba(var(--accent-rgb),.7);outline-offset:2px}.list-bullet{font-size:var(--text-lg);color:var(--accent);opacity:.6;line-height:1;font-weight:var(--font-bold);transition:color var(--osi-section-item-transition),opacity var(--osi-section-item-transition);margin-top:var(--osi-spacing-2px);flex-shrink:0}.list-icon{font-size:var(--text-2xl);line-height:1;transition:color var(--osi-section-item-transition),opacity var(--osi-section-item-transition);margin-top:var(--osi-spacing-2px);flex-shrink:0;opacity:.8;display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem}.list-content{flex:1;display:flex;flex-direction:column;gap:var(--osi-section-item-gap-xs);min-width:0;width:100%;box-sizing:border-box}.list-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--osi-section-item-gap);flex-wrap:wrap}.list-title{font-size:var(--text-sm);font-weight:var(--font-semibold);line-height:var(--leading-normal);color:var(--foreground);flex:1;margin:0;transition:color var(--osi-section-item-transition)}.list-badges{display:flex;gap:var(--osi-section-item-gap-xs);flex-shrink:0}.list-description-wrapper{display:flex;flex-direction:column;gap:var(--osi-section-item-gap-xs)}.list-description{font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--foreground);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;max-width:100%;box-sizing:border-box;color:color-mix(in srgb,var(--foreground) 75%,transparent);margin:0;line-height:var(--leading-relaxed);word-wrap:break-word;overflow-wrap:break-word;font-weight:var(--font-normal)}.list-description--expanded{display:block;-webkit-line-clamp:unset;overflow:visible}.list-expand-btn{align-self:flex-start;background:none;border:none;color:var(--accent);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;padding:var(--osi-section-item-padding-compact) 0;text-decoration:underline;transition:opacity var(--osi-section-item-transition)}.list-expand-btn:hover{opacity:.8}.list-expand-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--osi-radius-xs)}.list-item.expanded{background:var(--osi-section-item-background-hover);border-color:var(--osi-section-item-border-hover);box-shadow:var(--osi-section-item-shadow-hover)}@media (max-width: 479px){.list-container,.list-item{max-width:100%;overflow-x:hidden}.list-header{flex-direction:column;gap:var(--osi-section-item-gap-xs)}.list-content{max-width:100%;min-width:0}}@media (max-width: 600px){.list-container{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.list-item{transition:none;transform:none!important}.list-bullet,.list-icon{transition:none}}\n"] }]
20319
+ args: [{ selector: 'lib-list-section', standalone: true, imports: [CommonModule, SectionHeaderComponent, EmptyStateComponent, BadgeComponent], template: "<div class=\"ai-section ai-section--list section-content\">\n <lib-section-header *ngIf=\"section.title\" [title]=\"section.title\" [description]=\"section.description\">\n </lib-section-header>\n\n <div class=\"list-container\" *ngIf=\"section.items?.length\">\n <div class=\"section-item\" *ngFor=\"let item of section.items; let i = index\">\n <div class=\"list-content\">\n <div class=\"list-header\">\n <h4 class=\"list-title\">{{ item.title }}</h4>\n <div class=\"list-badges\">\n <lib-badge *ngIf=\"item.status\" [variant]=\"getStatusVariant(item.status)\" size=\"sm\">\n {{ item.status }}\n </lib-badge>\n <lib-badge *ngIf=\"item.priority\" [variant]=\"getPriorityVariant(item.priority)\" size=\"sm\">\n {{ item.priority }}\n </lib-badge>\n </div>\n </div>\n <div class=\"list-description-wrapper\" *ngIf=\"item.description\">\n <p class=\"list-description\" *ngIf=\"item.description\">\n {{ item.description }}\n </p>\n </div>\n </div>\n </div>\n </div>\n\n <lib-empty-state *ngIf=\"!section.items?.length\" message=\"No items\" icon=\"\uD83D\uDCDD\" variant=\"minimal\"> </lib-empty-state>\n</div>\n", styles: [".osi-card-container{container-type:inline-size;container-name:card;--card-padding: 4px;--card-gap: .5rem;--card-title-size: 1rem;--section-title-size: .875rem;--field-label-size: .75rem;--field-value-size: .875rem}.masonry-container{--masonry-columns: 1}@media (min-width: 480px){.masonry-container{--masonry-columns: 2}}@media (min-width: 1024px){.masonry-container{--masonry-columns: 3}}@media (min-width: 1280px){.masonry-container{--masonry-columns: 4}}@container card (min-width: 400px){.masonry-container--container-responsive{--masonry-columns: 2}}@container card (min-width: 700px){.masonry-container--container-responsive{--masonry-columns: 3}}@container card (min-width: 1000px){.masonry-container--container-responsive{--masonry-columns: 4}}.ai-section--info .section-field-grid{grid-template-columns:1fr}@media (min-width: 480px){.ai-section--info .section-field-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.ai-section--info .section-field-grid{grid-template-columns:repeat(3,1fr)}}.ai-section--analytics .metric-grid{grid-template-columns:1fr}@media (min-width: 320px){.ai-section--analytics .metric-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 768px){.ai-section--analytics .metric-grid{grid-template-columns:repeat(3,1fr)}}.ai-section--analytics .metric-value{font-size:var(--text-2xl)}.ai-section--timeline .timeline-items{flex-direction:column}@media (min-width: 1024px){.ai-section--timeline .timeline-items{flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory}.ai-section--timeline .timeline-items>*{scroll-snap-align:start;min-width:280px}}.ai-section--contact .contact-grid{grid-template-columns:1fr}@media (min-width: 480px){.ai-section--contact .contact-grid{grid-template-columns:repeat(2,1fr)}}.text-responsive{font-size:.875rem;line-height:1.5}.heading-responsive{font-size:1.25rem;line-height:1.2}.space-responsive{padding:.5rem}.gap-responsive{gap:.5rem}.touch-target{min-height:44px;min-width:44px}@media (min-width: 1024px){.touch-target{min-height:36px;min-width:36px}}@media (max-width: 767px){.hide-mobile{display:none!important}}@media (min-width: 768px){.hide-desktop{display:none!important}}.show-mobile{display:none!important}@media (max-width: 767px){.show-mobile{display:block!important}}.show-desktop{display:none!important}@media (min-width: 768px){.show-desktop{display:block!important}}@media print{.osi-card-container{--card-padding: 1rem;box-shadow:none;border:1px solid #ddd;break-inside:avoid}.masonry-container{--masonry-columns: 2;display:block}.masonry-container .masonry-item{break-inside:avoid;margin-bottom:1rem}.hide-print{display:none!important}}:root{--spacing-none: 0;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-base: 16px;--spacing-lg: 20px;--spacing-xl: 28px;--spacing-2xl: 40px;--spacing-3xl: 56px;--spacing-compact-xs: 3px;--spacing-compact-sm: 6px;--spacing-compact-md: 9px;--spacing-compact-base: 12px;--spacing-compact-lg: 16px;--section-card-min-height: 110px;--section-card-compact-height: 90px;--section-header-gap: 2px;--section-content-gap: var(--spacing-sm);--section-card-gap: var(--spacing-md);--section-card-padding: var(--spacing-md)}:root{--text-xs: .6875rem;--text-sm: .75rem;--text-base: .8125rem;--text-md: .875rem;--text-lg: 1.0625rem;--text-xl: 1.1875rem;--text-2xl: 1.375rem;--text-3xl: 1.625rem;--text-4xl: 2rem;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--leading-tight: 1.2;--leading-snug: 1.3;--leading-normal: 1.4;--leading-relaxed: 1.5;--leading-loose: 1.75}:root{--radius-none: 0;--radius-xs: 2px;--radius-sm: 3px;--radius-md: 5px;--radius-lg: 7px;--radius-xl: 10px;--radius-2xl: 14px;--radius-full: 9999px}:root{--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .05);--glow-sm: 0 0 10px rgba(var(--accent-rgb), .15);--glow-md: 0 0 20px rgba(var(--accent-rgb), .2);--glow-lg: 0 0 30px rgba(var(--accent-rgb), .25)}@media (prefers-color-scheme: dark){:root{--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .2);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .3), 0 1px 2px -1px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -2px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -4px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .5), 0 8px 10px -6px rgba(0, 0, 0, .5)}}:root{--duration-fast: .15s;--duration-base: .2s;--duration-slow: .3s;--duration-slower: .5s;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--ease-smooth: cubic-bezier(.4, 0, .6, 1);--transition-base: all var(--duration-base) var(--ease-out);--transition-fast: all var(--duration-fast) var(--ease-out);--transition-slow: all var(--duration-slow) var(--ease-out);--transition-colors: background-color var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out);--transition-shadow: box-shadow var(--duration-base) var(--ease-out);--transition-transform: transform var(--duration-base) var(--ease-out)}:root{--z-base: 1;--z-dropdown: 100;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-toast: 800;--z-max: 9999}:root{--blur-none: 0;--blur-sm: 4px;--blur-md: 8px;--blur-lg: 16px;--blur-xl: 24px;--glass-bg: rgba(255, 255, 255, .7);--glass-border: rgba(255, 255, 255, .2);--glass-blur: var(--blur-md)}@media (prefers-color-scheme: dark){:root{--glass-bg: rgba(0, 0, 0, .4);--glass-border: rgba(255, 255, 255, .1)}}:root{--opacity-0: 0;--opacity-5: .05;--opacity-10: .1;--opacity-20: .2;--opacity-30: .3;--opacity-40: .4;--opacity-50: .5;--opacity-60: .6;--opacity-70: .7;--opacity-80: .8;--opacity-90: .9;--opacity-100: 1}:root{--surface-base: var(--osi-section-item-background);--surface-raised: var(--osi-section-item-background-hover);--surface-overlay: var(--glass-bg);--border-light: rgba(var(--foreground-rgb), .08);--border-base: var(--border);--border-strong: rgba(var(--foreground-rgb), .2);--state-hover-opacity: .08;--state-active-opacity: .12;--state-focus-opacity: .16;--state-disabled-opacity: .5}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes fade-in-up{0%{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes fade-in-scale{0%{opacity:0;transform:translateZ(0) scale(.95)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes metal-sweep-ltr{0%{transform:translate(-100%);opacity:0}20%{opacity:.3}50%{opacity:.5}80%{opacity:.3}to{transform:translate(200%);opacity:0}}@keyframes metal-sweep-rtl{0%{transform:translate(200%);opacity:0}20%{opacity:.3}50%{opacity:.5}80%{opacity:.3}to{transform:translate(-100%);opacity:0}}@keyframes section-fade-in{0%{opacity:0}to{opacity:1}}@keyframes section-fade-in-up{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.unified-card,.section-card,[class*=__card],[class*=-card],[class*=__item],[class*=-item],.metric-card,.list-item,.analytics-card{transition:none!important;animation:none!important}.unified-card:hover,.section-card:hover,[class*=__card]:hover,[class*=-card]:hover,[class*=__item]:hover,[class*=-item]:hover,.metric-card:hover,.list-item:hover,.analytics-card:hover{transform:none!important}}.unified-card{background:var(--osi-section-item-background);border:var(--osi-section-item-border);border-radius:var(--osi-section-item-border-radius);box-shadow:var(--osi-section-item-shadow);padding:var(--osi-section-item-padding-normal);display:flex;flex-direction:column;gap:var(--osi-section-item-gap);min-height:var(--card-min-height, auto);cursor:pointer;overflow-x:hidden;width:100%!important;max-width:100%!important;box-sizing:border-box!important;text-align:left;word-wrap:break-word;overflow-wrap:break-word;transition:var(--osi-section-item-transition);position:relative;overflow:hidden}.unified-card:before{content:\"\";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;border-radius:inherit;animation:none;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%);width:50%;mix-blend-mode:overlay}.unified-card:hover:before{opacity:1;animation:metal-sweep-ltr .23s ease-out forwards}.unified-card:not(:hover):before{animation:none;opacity:0}@media (prefers-reduced-motion: reduce){.unified-card:before{display:none}}.unified-card:hover{border-color:var(--osi-section-item-border-hover-enhanced-color);box-shadow:var(--osi-section-item-shadow-hover-enhanced)}.unified-card:focus-visible{outline:none}@media (prefers-reduced-motion: reduce){.unified-card{transition:none}}.section-card{background:var(--osi-section-item-background);border:var(--osi-section-item-border);border-radius:var(--osi-section-item-border-radius);box-shadow:var(--osi-section-item-shadow);padding:var(--osi-section-item-padding-normal);display:flex;flex-direction:column;gap:var(--osi-section-item-gap);min-height:var(--card-min-height, auto);cursor:pointer;overflow-x:hidden;width:100%!important;max-width:100%!important;box-sizing:border-box!important;text-align:left;word-wrap:break-word;overflow-wrap:break-word;transition:var(--osi-section-item-transition);position:relative;overflow:hidden}.section-card:before{content:\"\";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;border-radius:inherit;animation:none;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%);width:50%;mix-blend-mode:overlay}.section-card:hover:before{opacity:1;animation:metal-sweep-ltr .23s ease-out forwards}.section-card:not(:hover):before{animation:none;opacity:0}@media (prefers-reduced-motion: reduce){.section-card:before{display:none}}.section-card:hover{border-color:var(--osi-section-item-border-hover-enhanced-color);box-shadow:var(--osi-section-item-shadow-hover-enhanced)}.section-card:focus-visible{outline:none}@media (prefers-reduced-motion: reduce){.section-card{transition:none}}.section-card{width:100%!important;max-width:100%!important;box-sizing:border-box!important}.section-item{transition:border-color var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),box-shadow var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),var(--osi-section-item-transition);position:relative;overflow:hidden}.section-item:hover{border-color:var(--osi-section-item-border-hover-enhanced-color)!important;box-shadow:var(--osi-section-item-shadow-hover-enhanced)!important;background:var(--osi-section-item-background)!important}@media (prefers-reduced-motion: reduce){.section-item{transition:none}.section-item:after{display:none}}.status--completed,.status--success{color:#22c55e;background:#22c55e1a}.status--active,.status--in-progress{color:var(--accent);background:#ff79001a}.status--pending,.status--warning{color:#f59e0b;background:#f59e0b1a}.status--blocked,.status--cancelled,.status--delayed,.status--inactive,.status--error{color:#ef4444;background:#ef44441a}.status--default{color:var(--muted-foreground);background:var(--muted)}.priority--high{color:#ef4444;background:#ef44441a}.priority--medium{color:#f59e0b;background:#f59e0b1a}.priority--low{color:#22c55e;background:#22c55e1a}.priority--default{color:var(--muted-foreground);background:var(--muted)}.masonry-container .masonry-item:nth-child(4n+1) .section-item:before,.masonry-container .masonry-item:nth-child(4n+1) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+1) .section-card:before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+2) .section-item:before,.masonry-container .masonry-item:nth-child(4n+2) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+2) .section-card:before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):before{background:linear-gradient(270deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container .masonry-item:nth-child(4n+1) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+1) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+1) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+2) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+2) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+2) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-rtl .23s ease-out forwards!important}.masonry-container .masonry-item:nth-child(4n+3) .section-item:before,.masonry-container .masonry-item:nth-child(4n+3) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+3) .section-card:before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+4) .section-item:before,.masonry-container .masonry-item:nth-child(4n+4) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+4) .section-card:before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-item:before,.masonry-container .masonry-item[data-col-span=\"3\"] .unified-card:before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-card:before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-item:before,.masonry-container .masonry-item[data-col-span=\"4\"] .unified-card:before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-card:before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-item:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .unified-card:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-card:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-item:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .unified-card:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-card:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):before{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container .masonry-item:nth-child(4n+3) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+3) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+3) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+4) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+4) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+4) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-item:hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] .unified-card:hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-card:hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-item:hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] .unified-card:hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-card:hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-item:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .unified-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-item:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .unified-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-ltr .23s ease-out forwards!important}@supports (grid-template-rows: masonry){.masonry-container--native .masonry-item:nth-child(4n+1) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+1) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+1) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+2) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):before{background:linear-gradient(270deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container--native .masonry-item:nth-child(4n+1) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-rtl .23s ease-out forwards!important}.masonry-container--native .masonry-item:nth-child(4n+3) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+3) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+3) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+4) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):before{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container--native .masonry-item:nth-child(4n+3) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-ltr .23s ease-out forwards!important}}@media (prefers-reduced-motion: reduce){.unified-card,.section-card,[class*=__card],[class*=-card],[class*=__item],[class*=-item]{transition:none;animation:none}}@keyframes item-stream{0%{opacity:0;transform:translate3d(0,var(--osi-motion-distance-sm, 8px),0)}to{opacity:1;transform:translateZ(0)}}.ai-section h1,.ai-section h2,.ai-section h3,.ai-section h4,.ai-section h5,.ai-section h6,.ai-section [class*=title],.ai-section [class*=heading],.ai-section [class*=header]{margin-bottom:.05em!important;line-height:1.3!important}.ai-section br{margin-top:.05em!important;line-height:1.3!important}.ai-section p,.ai-section div,.ai-section span{line-height:1.3!important}.ai-section h1+p,.ai-section h1+div,.ai-section h1+span,.ai-section h2+p,.ai-section h2+div,.ai-section h2+span,.ai-section h3+p,.ai-section h3+div,.ai-section h3+span,.ai-section h4+p,.ai-section h4+div,.ai-section h4+span,.ai-section h5+p,.ai-section h5+div,.ai-section h5+span,.ai-section h6+p,.ai-section h6+div,.ai-section h6+span,.ai-section [class*=title]+p,.ai-section [class*=title]+div,.ai-section [class*=title]+span,.ai-section [class*=heading]+p,.ai-section [class*=heading]+div,.ai-section [class*=heading]+span,.ai-section [class*=header]+p,.ai-section [class*=header]+div,.ai-section [class*=header]+span{margin-top:.05em!important}.ai-section.ai-section--overview .overview-item--single-text .overview-item__value--single-text br{margin-top:7px!important;height:7px!important;line-height:1.3!important;display:block!important;content:\"\"}.ai-section{--section-accent: var(--osi-section-accent);--section-border: var(--osi-section-border);--section-border-hover: var(--osi-section-border-hover);--section-box-shadow: var(--osi-section-shadow);--section-background: var(--osi-section-background);--section-background-hover: var(--osi-section-background-hover);--section-backdrop-filter: var(--osi-section-backdrop-filter);--section-spacing-bottom: var(--osi-section-spacing-bottom, 12px);--section-glow-background: var(--osi-section-glow-background);--section-glow-opacity-hover: var(--osi-section-glow-opacity-hover);--section-title-underline-length: var(--osi-section-title-underline-length);--section-title-underline-hover-length: var(--osi-section-title-underline-hover-length);--section-title-underline-height: var(--osi-section-title-underline-height);--section-title-underline-offset: var(--osi-section-title-underline-offset);--section-title-hover-color: var(--osi-section-title-hover-color);width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;margin-bottom:var(--section-spacing-bottom, 12px)!important;margin-top:0!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;contain:layout style;transition:border-color var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),box-shadow var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1)}.ai-section *{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.ai-section:not(.masonry-item .ai-section){position:relative;display:flex;flex-direction:column;gap:var(--section-card-gap);padding:0!important;border-radius:var(--osi-section-item-border-radius);background:var(--section-background);border:var(--section-border);box-shadow:var(--section-box-shadow);width:100%!important;max-width:100%!important;box-sizing:border-box!important;transition:border-color var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),box-shadow var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1)}.ai-section:not(.masonry-item .ai-section):hover{border-color:var(--osi-section-border-hover-enhanced-color);box-shadow:var(--osi-section-shadow-hover-enhanced)}@media (prefers-reduced-motion: reduce){.ai-section:not(.masonry-item .ai-section){transition:none}}.masonry-item .ai-section{display:flex!important;flex-direction:column!important;gap:var(--osi-section-gap, 8px)!important;height:auto!important}.ai-section:hover{border-color:var(--osi-section-border-hover-enhanced-color);box-shadow:var(--osi-section-shadow-hover-enhanced)}@media (prefers-reduced-motion: reduce){.ai-section{transition:none}}.ai-section__header{display:flex;flex-direction:column;gap:var(--osi-section-header-gap);width:100%;box-sizing:border-box;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;padding:0 0 var(--osi-section-header-padding-bottom) 0!important;border-bottom:none!important;background:transparent!important;margin:0!important;flex-wrap:wrap!important;gap:var(--osi-section-header-gap)!important;text-align:left!important}.ai-section__title{font-size:var(--section-title-font-size, .9375rem);font-weight:var(--section-title-font-weight, 700);letter-spacing:var(--section-title-letter-spacing, -.02em);line-height:var(--section-title-line-height, 1.3);color:var(--card-text-primary, #1c1c1f);margin:0;font-size:var(--osi-section-title-font-size)!important;font-weight:700!important;letter-spacing:var(--osi-section-title-letter-spacing)!important;line-height:var(--osi-section-title-line-height)!important;color:var(--osi-section-title-color)!important;opacity:1!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;position:relative!important;transition:var(--osi-section-title-transition)!important;padding:0!important;margin:0 0 var(--osi-section-title-margin-bottom) 0!important;text-align:left!important;font-family:inherit!important;border:none!important}.ai-section__title:before{content:\"\"!important;position:absolute!important;left:0!important;bottom:var(--osi-section-title-underline-offset)!important;width:var(--osi-section-title-underline-length)!important;height:var(--osi-section-title-underline-height)!important;background:var(--osi-section-title-underline-color)!important;border-radius:var(--radius-xs)!important;transition:width .22s ease,opacity .22s ease!important;transform-origin:left!important;opacity:.6!important}.ai-section__title:hover{color:var(--osi-section-title-color)!important}.ai-section__title:hover:before{width:var(--osi-section-title-underline-hover-length)!important;opacity:1!important}.ai-section__icon{display:none!important;width:var(--icon-size-section)!important;height:var(--icon-size-section)!important}.ai-section__details{display:flex!important;flex-direction:column!important;gap:var(--osi-section-header-gap)!important;align-items:flex-start!important;text-align:left!important}.ai-section__description{font-size:var(--section-description-font-size, .75rem);font-weight:400;color:var(--card-text-secondary, rgba(28, 28, 31, .6));line-height:1.3;margin:0;color:var(--osi-section-description-color)!important;letter-spacing:.01em!important;line-height:1.2!important;font-weight:400!important;overflow:hidden!important;text-overflow:ellipsis!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;margin-top:0!important;padding-top:0!important;text-align:left!important;transition:var(--osi-section-description-transition)!important;font-family:inherit!important}.ai-section:hover .ai-section__description{color:var(--osi-section-description-color-hover)!important}.ai-section__badge{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;font-size:.55rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:#ff7900;background:#ff79001a;border-radius:4px;white-space:nowrap;display:none!important;padding:var(--tag-padding-y-sm) var(--tag-padding-x)!important;border-radius:var(--radius-sm)!important}.ai-section--contact-card .ai-section__badge,.ai-section--solutions .ai-section__badge,.ai-section--event .ai-section__badge,.ai-section--chart .ai-section__badge,.ai-section--financials .ai-section__badge{display:none!important;align-items:center!important;padding:var(--osi-section-badge-padding)!important;background:var(--osi-section-badge-bg)!important;color:var(--osi-section-badge-color)!important;border:none!important;box-shadow:none!important;border-radius:var(--osi-section-border-radius)!important;font-size:var(--card-meta-font-size, .6rem)!important;font-weight:var(--card-meta-font-weight, 500)!important;transition:opacity .2s ease,background .2s ease!important;line-height:1.2!important}.ai-section:hover .ai-section__badge{opacity:1!important;background:var(--osi-section-badge-bg-hover)!important}.ai-section__body{display:flex;flex-direction:column;gap:var(--osi-section-gap-internal);width:100%;box-sizing:border-box;padding:0!important;margin:0!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}.ai-section .section-empty{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;padding:var(--osi-section-padding)!important;text-align:center!important;color:var(--muted-foreground)!important;min-height:auto!important;border-radius:var(--radius-md)!important;background:var(--osi-section-empty-bg)!important;border:var(--osi-section-empty-border)!important;transition:opacity .2s ease,background .2s ease!important}.ai-section .section-empty lucide-icon{margin-bottom:var(--osi-section-gap)!important;opacity:var(--osi-section-empty-icon-opacity)!important;color:var(--accent)!important;transition:all .2s ease!important}.ai-section .section-empty p{font-size:var(--font-section-description, .85rem)!important;margin:0!important;font-weight:500!important;font-family:inherit!important}.ai-section .section-empty:hover{background:var(--osi-section-empty-bg-hover)!important;border-color:var(--osi-section-empty-border-hover)!important}.ai-section .section-empty:hover lucide-icon{opacity:var(--osi-section-empty-icon-opacity-hover)!important}.ai-section--info{--section-accent: var(--osi-section-accent-info)}.ai-section--analytics{--section-accent: var(--osi-section-accent-analytics)}.ai-section--financials{--section-accent: var(--osi-section-accent-financials)}.ai-section--map{--section-accent: var(--osi-section-accent-map)}.ai-section--network-card{--section-accent: var(--osi-section-accent-network)}.ai-section--contact-card{--section-accent: var(--osi-section-accent-contact)}.ai-section--product{--section-accent: var(--osi-section-accent-product)}.ai-section--solutions{--section-accent: var(--osi-section-accent-solutions)}.ai-section--overview{--section-accent: var(--osi-section-accent-overview)}.ai-section--overview .ai-section__title{font-size:calc(var(--osi-section-title-font-size) - 1.5px)!important}.ai-section--list,.ai-section--info-list{--section-accent: var(--osi-section-accent-list)}.ai-section--event{--section-accent: var(--osi-section-accent-event)}.ai-section--chart{--section-accent: var(--osi-section-accent-chart)}.ai-section--text-reference{--section-accent: var(--osi-section-accent-reference)}.ai-section--quotation{--section-accent: var(--osi-section-accent-quotation)}.ai-card-surface--fullscreen .ai-section{--section-padding: var(--osi-section-padding);--section-spacing-bottom: var(--osi-section-spacing-bottom);--section-gap: var(--osi-section-gap);--section-gap-internal: var(--osi-section-gap-internal);--section-title-underline-length: var(--osi-section-title-underline-length);--section-title-underline-hover-length: var(--osi-section-title-underline-hover-length);--section-title-underline-height: var(--osi-section-title-underline-height);--section-title-underline-offset: var(--osi-section-title-underline-offset);--section-box-shadow: none !important;--section-box-shadow-hover: none !important}.ai-card-surface--fullscreen .masonry-item,.ai-card-surface--fullscreen .masonry-item:hover{box-shadow:var(--osi-section-shadow-fullscreen)!important}.ai-card-surface--fullscreen .ai-section__header{padding:0 0 var(--osi-section-header-padding-bottom) 0!important;gap:var(--osi-section-header-gap)!important}.ai-card-surface--fullscreen .ai-section__title{font-size:var(--card-title-font-size, .95rem)!important}.ai-card-surface--fullscreen .ai-section__body{gap:var(--osi-section-gap-internal)!important}.ai-card-surface--fullscreen .ai-section__description{font-size:var(--card-meta-font-size, .6rem)!important;margin-top:0!important;padding-top:0!important}.section-content{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;padding:0!important;margin:0!important}.section-content>*{width:100%!important;max-width:100%!important;box-sizing:border-box!important}.ai-section--faq,.ai-section--faq .list,.ai-section--faq .item{min-width:0!important;width:100%!important;max-width:100%!important}:host{display:block;width:100%;max-width:100%;min-width:0}@media (max-width: 479px){:host{min-width:0}}.list-section{display:flex;flex-direction:column;gap:var(--osi-section-item-gap)!important}.list-container{width:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:var(--osi-section-item-gap)!important}.section-item{background:var(--osi-section-item-background);border:var(--osi-section-item-border);border-radius:var(--osi-section-item-border-radius);box-shadow:var(--osi-section-item-shadow);padding:var(--osi-section-item-padding-normal);flex-direction:column;gap:var(--osi-section-item-gap);min-height:var(--card-min-height, auto);cursor:pointer;overflow-x:hidden;width:100%!important;max-width:100%!important;box-sizing:border-box!important;text-align:left;word-wrap:break-word;overflow-wrap:break-word;width:100%;display:flex;align-items:flex-start;box-sizing:border-box;-webkit-tap-highlight-color:transparent;transition:var(--osi-section-item-transition);position:relative;overflow:hidden}.section-item:focus-visible{outline:none}@media (prefers-reduced-motion: reduce){.section-item{transition:none}}.section-item:before{content:\"\";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;border-radius:inherit;animation:none;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%);width:50%;mix-blend-mode:overlay}.section-item:hover:before{opacity:1;animation:metal-sweep-ltr .23s ease-out forwards}.section-item:not(:hover):before{animation:none;opacity:0}@media (prefers-reduced-motion: reduce){.section-item:before{display:none}}.section-item:hover{border-color:var(--osi-section-item-border-hover-enhanced-color);box-shadow:var(--osi-section-item-shadow-hover-enhanced)}.section-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:var(--shadow-lg),0 0 0 4px rgba(var(--accent-rgb, 255, 121, 0),.1)}@media (prefers-reduced-motion: reduce){.section-item{transition:none}.section-item:hover{box-shadow:var(--shadow-md)}}.section-item:hover .list-bullet,.section-item:hover .list-icon{color:var(--accent);opacity:1}.section-item:hover .list-title{color:var(--accent)}.section-item:focus-visible{outline:2px solid rgba(var(--accent-rgb),.7);outline-offset:2px}.list-bullet{font-size:var(--text-lg);color:var(--accent);opacity:.6;line-height:1;font-weight:var(--font-bold);transition:color var(--osi-section-item-transition),opacity var(--osi-section-item-transition);margin-top:var(--osi-spacing-2px);flex-shrink:0}.list-icon{font-size:var(--text-2xl);line-height:1;transition:color var(--osi-section-item-transition),opacity var(--osi-section-item-transition);margin-top:var(--osi-spacing-2px);flex-shrink:0;opacity:.8;display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem}.list-content{flex:1;display:flex;flex-direction:column;gap:var(--osi-section-item-gap-xs);min-width:0;width:100%;box-sizing:border-box}.list-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--osi-section-item-gap);flex-wrap:wrap}.list-title{font-size:var(--text-sm);font-weight:var(--font-semibold);line-height:var(--leading-normal);color:var(--foreground);flex:1;margin:0;transition:color var(--osi-section-item-transition)}.list-badges{display:flex;gap:var(--osi-section-item-gap-xs);flex-shrink:0}.list-description-wrapper{display:flex;flex-direction:column;gap:var(--osi-section-item-gap-xs)}.list-description{font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--foreground);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;max-width:100%;box-sizing:border-box;color:color-mix(in srgb,var(--foreground) 75%,transparent);margin:0;line-height:var(--leading-relaxed);word-wrap:break-word;overflow-wrap:break-word;font-weight:var(--font-normal)}.list-description--expanded{display:block;-webkit-line-clamp:unset;overflow:visible}.list-expand-btn{align-self:flex-start;background:none;border:none;color:var(--accent);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;padding:var(--osi-section-item-padding-compact) 0;text-decoration:underline;transition:opacity var(--osi-section-item-transition)}.list-expand-btn:hover{opacity:.8}.list-expand-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--osi-radius-xs)}.list-item.expanded{background:var(--osi-section-item-background-hover);border-color:var(--osi-section-item-border-hover);box-shadow:var(--osi-section-item-shadow-hover)}@media (max-width: 479px){.list-container,.list-item{max-width:100%;overflow-x:hidden}.list-header{flex-direction:column;gap:var(--osi-section-item-gap-xs)}.list-content{max-width:100%;min-width:0}}@media (max-width: 600px){.list-container{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.list-item{transition:none;transform:none!important}.list-bullet,.list-icon{transition:none}}\n"] }]
20116
20320
  }] });
20117
20321
 
20118
20322
  var listSection_component = /*#__PURE__*/Object.freeze({
@@ -21654,16 +21858,14 @@ class SolutionsSectionComponent extends BaseSectionComponent {
21654
21858
  if (!solution?.expressoLink) {
21655
21859
  return '';
21656
21860
  }
21657
- return typeof solution.expressoLink === 'string'
21658
- ? solution.expressoLink
21659
- : String(solution.expressoLink);
21861
+ return 'See the Solution on Expresso';
21660
21862
  }
21661
21863
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: SolutionsSectionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
21662
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.14", type: SolutionsSectionComponent, isStandalone: true, selector: "lib-solutions-section", viewQueries: [{ propertyName: "solutionsGrid", first: true, predicate: ["solutionsGrid"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ai-section ai-section--solutions section-content\">\n <!-- Section Header -->\n <lib-section-header [title]=\"section.title\" [description]=\"section.description\"> </lib-section-header>\n\n <!-- Solutions Grid -->\n <div class=\"solutions-grid\" #solutionsGrid *ngIf=\"section.fields && section.fields.length > 0\">\n <div class=\"section-item\" *ngFor=\"let solution of section.fields; let i = index\" [class.expanded]=\"isExpanded(i)\">\n <!-- Solution Header -->\n <div class=\"solution-header\">\n <!-- Title and Logo on same line -->\n <div class=\"solution-title-row\">\n <h4 class=\"solution-title\">{{ solution.title }}</h4>\n <!-- Expresso Logo -->\n <div\n class=\"solution-logo-container\"\n [class.clickable]=\"solution.expressoLink\"\n (click)=\"onExpressoLogoClick(solution)\"\n [style.cursor]=\"solution.expressoLink ? 'pointer' : 'default'\"\n >\n <svg\n class=\"solution-logo\"\n viewBox=\"0 0 16 16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n preserveAspectRatio=\"xMidYMid meet\"\n [appTooltip]=\"getExpressoTooltip(solution)\"\n tooltipPosition=\"top\"\n [tooltipDelay]=\"200\"\n [tooltipDisabled]=\"!solution.expressoLink\"\n [attr.role]=\"solution.expressoLink ? 'button' : 'img'\"\n [attr.aria-label]=\"solution.expressoLink ? 'Open Expresso product page' : 'Expresso logo'\"\n width=\"16\"\n height=\"16\"\n >\n <!-- Orange square background -->\n <rect width=\"16\" height=\"16\" fill=\"#ff7e00\" />\n <!-- White circular \"O\" - large and prominent -->\n <circle cx=\"8\" cy=\"8\" r=\"5.6\" fill=\"none\" stroke=\"white\" stroke-width=\"1.6\" />\n <!-- White banner with expresso text, positioned diagonally from top right -->\n <g transform=\"translate(8, 8) rotate(35) translate(-8, -8)\">\n <rect x=\"7.2\" y=\"2.4\" width=\"8\" height=\"3.2\" fill=\"white\" rx=\"0.64\" />\n <text\n x=\"11.2\"\n y=\"4.48\"\n font-family=\"Arial, sans-serif\"\n font-size=\"1.76\"\n font-weight=\"600\"\n fill=\"#ff7e00\"\n text-anchor=\"middle\"\n dominant-baseline=\"middle\"\n >\n expresso\n </text>\n </g>\n </svg>\n </div>\n </div>\n <span class=\"solution-category\" *ngIf=\"solution.category\">{{ solution.category }}</span>\n </div>\n\n <!-- Solution Description -->\n <p class=\"solution-description\" *ngIf=\"solution.description\" [class.expanded]=\"isDescriptionExpanded(i)\">\n {{ solution.description }}\n </p>\n <button\n *ngIf=\"shouldShowExpandButton(solution)\"\n class=\"solution-description-expand-button\"\n type=\"button\"\n (click)=\"toggleDescriptionExpanded(i)\"\n [attr.aria-expanded]=\"isDescriptionExpanded(i)\"\n [attr.aria-label]=\"\n (isDescriptionExpanded(i) ? 'Show less' : 'Show more') + ' description for ' + solution.title\n \"\n >\n {{ isDescriptionExpanded(i) ? 'Show less' : 'Show more' }}\n </button>\n\n <!-- Benefits -->\n <ul class=\"solution-benefits\" *ngIf=\"solution.benefits && solution.benefits.length > 0\">\n <li *ngFor=\"let benefit of getVisibleBenefits(solution.benefits, i)\">{{ benefit }}</li>\n </ul>\n\n <button class=\"solution-more\" type=\"button\" *ngIf=\"shouldShowMoreButton(solution, i)\" (click)=\"toggleExpanded(i)\">\n {{ isExpanded(i) ? 'Show less' : '+' + getRemainingBenefitsCount(solution) + ' more' }}\n </button>\n\n <!-- Match Score Bar -->\n <div class=\"solution-score\" *ngIf=\"solution.score !== undefined && solution.score !== null\">\n <div class=\"solution-score-label\">\n <span>Match Score</span>\n <span class=\"solution-score-value\">{{ solution.score }}/10</span>\n </div>\n <div class=\"solution-score-bar\">\n <div class=\"solution-score-fill\" [style.width.%]=\"getScorePercentage(solution)\"></div>\n </div>\n </div>\n\n <!-- Meta Info -->\n <div class=\"solution-meta\">\n <span class=\"solution-meta-label\" *ngIf=\"getMetaLabel(solution) as label\">\n {{ label }}\n </span>\n </div>\n </div>\n </div>\n\n <!-- Empty State -->\n <lib-empty-state\n *ngIf=\"!section.fields || section.fields.length === 0\"\n message=\"No solution data\"\n icon=\"\uD83D\uDCA1\"\n variant=\"minimal\"\n >\n </lib-empty-state>\n</div>\n", styles: ["@charset \"UTF-8\";:root{--osi-spacing-2px: 2px;--osi-spacing-4px: 4px;--osi-spacing-6px: 6px;--osi-spacing-8px: 8px;--osi-spacing-10px: 10px;--osi-spacing-xs: 4px;--osi-spacing-sm: 8px;--osi-spacing-md: 12px;--osi-spacing-lg: 16px;--osi-spacing-xl: 24px;--osi-spacing-2xl: 32px;--osi-spacing-3xl: 48px;--osi-section-header-gap: 2px;--osi-section-padding: var(--osi-spacing-sm);--osi-section-gap: var(--osi-spacing-md);--osi-item-padding: var(--osi-spacing-sm);--osi-item-gap: var(--osi-spacing-xs);--osi-element-gap: 2px;--osi-text-xs: .75rem;--osi-text-sm: .875rem;--osi-text-base: 1rem;--osi-text-md: 1.125rem;--osi-text-lg: 1.25rem;--osi-text-xl: 1.5rem;--osi-text-2xl: 1.875rem;--osi-text-3xl: 2.25rem;--text-xs: .6875rem;--text-sm: .75rem;--text-base: .8125rem;--text-md: .875rem;--text-lg: 1.0625rem;--text-xl: 1.1875rem;--text-2xl: 1.375rem;--text-3xl: 1.625rem;--osi-font-normal: 400;--osi-font-medium: 500;--osi-font-semibold: 600;--osi-font-bold: 700;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--osi-leading-tight: 1.25;--osi-leading-snug: 1.375;--osi-leading-normal: 1.5;--osi-leading-relaxed: 1.625;--osi-leading-loose: 2;--leading-tight: 1.2;--leading-snug: 1.3;--leading-normal: 1.4;--leading-relaxed: 1.5;--leading-loose: 1.75;--osi-tracking-tight: -.025em;--osi-tracking-normal: 0;--osi-tracking-wide: .025em;--osi-tracking-wider: .05em;--osi-surface: hsl(0, 0%, 10%);--osi-surface-raised: hsl(0, 0%, 15%);--osi-surface-hover: hsl(0, 0%, 20%);--osi-surface-subtle: hsl(0, 0%, 12%);--osi-foreground: var( --foreground, hsl(0, 0%, 95%) );--osi-foreground-strong: var(--foreground, hsl(0, 0%, 100%));--osi-muted-foreground: var( --muted-foreground, hsl(0, 0%, 60%) );--osi-disabled-foreground: var(--muted-foreground, hsl(0, 0%, 40%));--osi-accent: hsl(25, 100%, 50%);--osi-accent-bright: hsl(25, 100%, 60%);--osi-accent-muted: hsl(25, 50%, 40%);--osi-success: hsl(142, 71%, 45%);--osi-success-bg: hsla(142, 71%, 45%, .15);--osi-success-bright: hsl(142, 71%, 55%);--osi-error: hsl(0, 84%, 60%);--osi-error-bg: hsla(0, 84%, 60%, .15);--osi-error-bright: hsl(0, 84%, 70%);--osi-warning: hsl(45, 93%, 47%);--osi-warning-bg: hsla(45, 93%, 47%, .15);--osi-warning-bright: hsl(45, 93%, 57%);--osi-info: hsl(221, 83%, 53%);--osi-info-bg: hsla(221, 83%, 53%, .15);--osi-info-bright: hsl(221, 83%, 63%);--osi-border: hsla(0, 0%, 100%, .2);--osi-border-muted: hsla(0, 0%, 100%, .06);--osi-border-strong: hsla(0, 0%, 100%, .35);--osi-radius-none: 0;--osi-radius-xs: 2px;--osi-radius-sm: 4px;--osi-radius-md: 8px;--osi-radius-lg: 12px;--osi-radius-xl: 16px;--osi-radius-full: 9999px;--osi-shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--osi-shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--osi-shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--osi-shadow-xl: 0 20px 25px rgba(0, 0, 0, .15);--osi-shadow-2xl: 0 25px 50px rgba(0, 0, 0, .25);--osi-duration-fast: .15s;--osi-duration-normal: .2s;--osi-duration-medium: .3s;--osi-duration-slow: .6s;--osi-ease-linear: linear;--osi-ease-in: cubic-bezier(.4, 0, 1, 1);--osi-ease-out: cubic-bezier(0, 0, .2, 1);--osi-ease-in-out: cubic-bezier(.4, 0, .2, 1);--osi-ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--osi-z-base: 0;--osi-z-raised: 10;--osi-z-dropdown: 100;--osi-z-fixed: 300;--osi-z-modal: 400;--osi-z-popover: 500;--osi-z-tooltip: 600;--osi-grid-gap: var(--osi-spacing-md);--osi-grid-row-gap: var(--osi-grid-gap);--osi-grid-column-gap: var(--osi-grid-gap);--osi-grid-min-small: 140px;--osi-grid-min-medium: 200px;--osi-grid-min-large: 300px;--osi-grid-min-xs: 120px;--osi-grid-min-sm: 140px;--osi-grid-min-md: 160px;--osi-grid-min-lg: 180px;--osi-grid-min-xl: 200px;--osi-grid-min-2xl: 250px;--osi-grid-min-3xl: 280px;--osi-grid-min-4xl: 300px;--osi-card-min-height: 90px;--osi-card-min-height-large: 120px;--osi-card-min-height-xs: 70px;--osi-card-min-height-sm: 80px;--osi-card-min-height-md: 90px;--osi-card-min-height-lg: 95px;--osi-card-min-height-xl: 110px}@media (prefers-color-scheme: dark){:root{--osi-surface: hsl(0, 0%, 8%);--osi-surface-raised: hsl(0, 0%, 12%);--osi-surface-hover: hsl(0, 0%, 16%);--osi-border-muted: hsla(0, 0%, 100%, .04)}}@media (prefers-contrast: high){:root{--osi-border: hsla(0, 0%, 100%, .4);--osi-border-strong: hsla(0, 0%, 100%, .6)}}@media (prefers-reduced-motion: reduce){:root{--osi-duration-fast: 0ms;--osi-duration-normal: 0ms;--osi-duration-medium: 0ms;--osi-duration-slow: 0ms}}.osi-card-container{container-type:inline-size;container-name:card;--card-padding: 4px;--card-gap: .5rem;--card-title-size: 1rem;--section-title-size: .875rem;--field-label-size: .75rem;--field-value-size: .875rem}.masonry-container{--masonry-columns: 1}@media (min-width: 480px){.masonry-container{--masonry-columns: 2}}@media (min-width: 1024px){.masonry-container{--masonry-columns: 3}}@media (min-width: 1280px){.masonry-container{--masonry-columns: 4}}@container card (min-width: 400px){.masonry-container--container-responsive{--masonry-columns: 2}}@container card (min-width: 700px){.masonry-container--container-responsive{--masonry-columns: 3}}@container card (min-width: 1000px){.masonry-container--container-responsive{--masonry-columns: 4}}.ai-section--info .section-field-grid{grid-template-columns:1fr}@media (min-width: 480px){.ai-section--info .section-field-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.ai-section--info .section-field-grid{grid-template-columns:repeat(3,1fr)}}.ai-section--analytics .metric-grid{grid-template-columns:1fr}@media (min-width: 320px){.ai-section--analytics .metric-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 768px){.ai-section--analytics .metric-grid{grid-template-columns:repeat(3,1fr)}}.ai-section--analytics .metric-value{font-size:var(--text-2xl)}.ai-section--timeline .timeline-items{flex-direction:column}@media (min-width: 1024px){.ai-section--timeline .timeline-items{flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory}.ai-section--timeline .timeline-items>*{scroll-snap-align:start;min-width:280px}}.ai-section--contact .contact-grid{grid-template-columns:1fr}@media (min-width: 480px){.ai-section--contact .contact-grid{grid-template-columns:repeat(2,1fr)}}.text-responsive{font-size:.875rem;line-height:1.5}.heading-responsive{font-size:1.25rem;line-height:1.2}.space-responsive{padding:.5rem}.gap-responsive{gap:.5rem}.touch-target{min-height:44px;min-width:44px}@media (min-width: 1024px){.touch-target{min-height:36px;min-width:36px}}@media (max-width: 767px){.hide-mobile{display:none!important}}@media (min-width: 768px){.hide-desktop{display:none!important}}.show-mobile{display:none!important}@media (max-width: 767px){.show-mobile{display:block!important}}.show-desktop{display:none!important}@media (min-width: 768px){.show-desktop{display:block!important}}@media print{.osi-card-container{--card-padding: 1rem;box-shadow:none;border:1px solid #ddd;break-inside:avoid}.masonry-container{--masonry-columns: 2;display:block}.masonry-container .masonry-item{break-inside:avoid;margin-bottom:1rem}.hide-print{display:none!important}}:root{--spacing-none: 0;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-base: 16px;--spacing-lg: 20px;--spacing-xl: 28px;--spacing-2xl: 40px;--spacing-3xl: 56px;--spacing-compact-xs: 3px;--spacing-compact-sm: 6px;--spacing-compact-md: 9px;--spacing-compact-base: 12px;--spacing-compact-lg: 16px;--section-card-min-height: 110px;--section-card-compact-height: 90px;--section-header-gap: 2px;--section-content-gap: var(--spacing-sm);--section-card-gap: var(--spacing-md);--section-card-padding: var(--spacing-md)}:root{--text-xs: .6875rem;--text-sm: .75rem;--text-base: .8125rem;--text-md: .875rem;--text-lg: 1.0625rem;--text-xl: 1.1875rem;--text-2xl: 1.375rem;--text-3xl: 1.625rem;--text-4xl: 2rem;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--leading-tight: 1.2;--leading-snug: 1.3;--leading-normal: 1.4;--leading-relaxed: 1.5;--leading-loose: 1.75}:root{--radius-none: 0;--radius-xs: 2px;--radius-sm: 3px;--radius-md: 5px;--radius-lg: 7px;--radius-xl: 10px;--radius-2xl: 14px;--radius-full: 9999px}:root{--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .05);--glow-sm: 0 0 10px rgba(var(--accent-rgb), .15);--glow-md: 0 0 20px rgba(var(--accent-rgb), .2);--glow-lg: 0 0 30px rgba(var(--accent-rgb), .25)}@media (prefers-color-scheme: dark){:root{--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .2);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .3), 0 1px 2px -1px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -2px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -4px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .5), 0 8px 10px -6px rgba(0, 0, 0, .5)}}:root{--duration-fast: .15s;--duration-base: .2s;--duration-slow: .3s;--duration-slower: .5s;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--ease-smooth: cubic-bezier(.4, 0, .6, 1);--transition-base: all var(--duration-base) var(--ease-out);--transition-fast: all var(--duration-fast) var(--ease-out);--transition-slow: all var(--duration-slow) var(--ease-out);--transition-colors: background-color var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out);--transition-shadow: box-shadow var(--duration-base) var(--ease-out);--transition-transform: transform var(--duration-base) var(--ease-out)}:root{--z-base: 1;--z-dropdown: 100;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-toast: 800;--z-max: 9999}:root{--blur-none: 0;--blur-sm: 4px;--blur-md: 8px;--blur-lg: 16px;--blur-xl: 24px;--glass-bg: rgba(255, 255, 255, .7);--glass-border: rgba(255, 255, 255, .2);--glass-blur: var(--blur-md)}@media (prefers-color-scheme: dark){:root{--glass-bg: rgba(0, 0, 0, .4);--glass-border: rgba(255, 255, 255, .1)}}:root{--opacity-0: 0;--opacity-5: .05;--opacity-10: .1;--opacity-20: .2;--opacity-30: .3;--opacity-40: .4;--opacity-50: .5;--opacity-60: .6;--opacity-70: .7;--opacity-80: .8;--opacity-90: .9;--opacity-100: 1}:root{--surface-base: var(--osi-section-item-background);--surface-raised: var(--osi-section-item-background-hover);--surface-overlay: var(--glass-bg);--border-light: rgba(var(--foreground-rgb), .08);--border-base: var(--border);--border-strong: rgba(var(--foreground-rgb), .2);--state-hover-opacity: .08;--state-active-opacity: .12;--state-focus-opacity: .16;--state-disabled-opacity: .5}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes fade-in-up{0%{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes fade-in-scale{0%{opacity:0;transform:translateZ(0) scale(.95)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes metal-sweep-ltr{0%{transform:translate(-100%);opacity:0}20%{opacity:.3}50%{opacity:.5}80%{opacity:.3}to{transform:translate(200%);opacity:0}}@keyframes metal-sweep-rtl{0%{transform:translate(200%);opacity:0}20%{opacity:.3}50%{opacity:.5}80%{opacity:.3}to{transform:translate(-100%);opacity:0}}@keyframes section-fade-in{0%{opacity:0}to{opacity:1}}@keyframes section-fade-in-up{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.unified-card,.section-card,[class*=__card],[class*=-card],[class*=__item],[class*=-item],.metric-card,.list-item,.analytics-card{transition:none!important;animation:none!important}.unified-card:hover,.section-card:hover,[class*=__card]:hover,[class*=-card]:hover,[class*=__item]:hover,[class*=-item]:hover,.metric-card:hover,.list-item:hover,.analytics-card:hover{transform:none!important}}.unified-card{background:var(--osi-section-item-background);border:var(--osi-section-item-border);border-radius:var(--osi-section-item-border-radius);box-shadow:var(--osi-section-item-shadow);padding:var(--osi-section-item-padding-normal);display:flex;flex-direction:column;gap:var(--osi-section-item-gap);min-height:var(--card-min-height, auto);cursor:pointer;overflow-x:hidden;width:100%!important;max-width:100%!important;box-sizing:border-box!important;text-align:left;word-wrap:break-word;overflow-wrap:break-word;transition:var(--osi-section-item-transition);position:relative;overflow:hidden}.unified-card:before{content:\"\";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;border-radius:inherit;animation:none;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%);width:50%;mix-blend-mode:overlay}.unified-card:hover:before{opacity:1;animation:metal-sweep-ltr .23s ease-out forwards}.unified-card:not(:hover):before{animation:none;opacity:0}@media (prefers-reduced-motion: reduce){.unified-card:before{display:none}}.unified-card:hover{border-color:var(--osi-section-item-border-hover-enhanced-color);box-shadow:var(--osi-section-item-shadow-hover-enhanced)}.unified-card:focus-visible{outline:none}@media (prefers-reduced-motion: reduce){.unified-card{transition:none}}.section-card{background:var(--osi-section-item-background);border:var(--osi-section-item-border);border-radius:var(--osi-section-item-border-radius);box-shadow:var(--osi-section-item-shadow);padding:var(--osi-section-item-padding-normal);display:flex;flex-direction:column;gap:var(--osi-section-item-gap);min-height:var(--card-min-height, auto);cursor:pointer;overflow-x:hidden;width:100%!important;max-width:100%!important;box-sizing:border-box!important;text-align:left;word-wrap:break-word;overflow-wrap:break-word;transition:var(--osi-section-item-transition);position:relative;overflow:hidden}.section-card:before{content:\"\";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;border-radius:inherit;animation:none;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%);width:50%;mix-blend-mode:overlay}.section-card:hover:before{opacity:1;animation:metal-sweep-ltr .23s ease-out forwards}.section-card:not(:hover):before{animation:none;opacity:0}@media (prefers-reduced-motion: reduce){.section-card:before{display:none}}.section-card:hover{border-color:var(--osi-section-item-border-hover-enhanced-color);box-shadow:var(--osi-section-item-shadow-hover-enhanced)}.section-card:focus-visible{outline:none}@media (prefers-reduced-motion: reduce){.section-card{transition:none}}.section-card{width:100%!important;max-width:100%!important;box-sizing:border-box!important}.section-item{transition:border-color var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),box-shadow var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),var(--osi-section-item-transition);position:relative;overflow:hidden}.section-item:hover{border-color:var(--osi-section-item-border-hover-enhanced-color)!important;box-shadow:var(--osi-section-item-shadow-hover-enhanced)!important;background:var(--osi-section-item-background)!important}@media (prefers-reduced-motion: reduce){.section-item{transition:none}.section-item:after{display:none}}.status--completed,.status--success{color:#22c55e;background:#22c55e1a}.status--active,.status--in-progress{color:var(--accent);background:#ff79001a}.status--pending,.status--warning{color:#f59e0b;background:#f59e0b1a}.status--blocked,.status--cancelled,.status--delayed,.status--inactive,.status--error{color:#ef4444;background:#ef44441a}.status--default{color:var(--muted-foreground);background:var(--muted)}.priority--high{color:#ef4444;background:#ef44441a}.priority--medium{color:#f59e0b;background:#f59e0b1a}.priority--low{color:#22c55e;background:#22c55e1a}.priority--default{color:var(--muted-foreground);background:var(--muted)}.masonry-container .masonry-item:nth-child(4n+1) .section-item:before,.masonry-container .masonry-item:nth-child(4n+1) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+1) .section-card:before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+2) .section-item:before,.masonry-container .masonry-item:nth-child(4n+2) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+2) .section-card:before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):before{background:linear-gradient(270deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container .masonry-item:nth-child(4n+1) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+1) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+1) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+2) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+2) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+2) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-rtl .23s ease-out forwards!important}.masonry-container .masonry-item:nth-child(4n+3) .section-item:before,.masonry-container .masonry-item:nth-child(4n+3) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+3) .section-card:before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+4) .section-item:before,.masonry-container .masonry-item:nth-child(4n+4) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+4) .section-card:before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-item:before,.masonry-container .masonry-item[data-col-span=\"3\"] .unified-card:before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-card:before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-item:before,.masonry-container .masonry-item[data-col-span=\"4\"] .unified-card:before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-card:before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-item:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .unified-card:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-card:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-item:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .unified-card:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-card:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):before{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container .masonry-item:nth-child(4n+3) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+3) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+3) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+4) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+4) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+4) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-item:hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] .unified-card:hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-card:hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-item:hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] .unified-card:hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-card:hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-item:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .unified-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-item:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .unified-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-ltr .23s ease-out forwards!important}@supports (grid-template-rows: masonry){.masonry-container--native .masonry-item:nth-child(4n+1) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+1) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+1) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+2) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):before{background:linear-gradient(270deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container--native .masonry-item:nth-child(4n+1) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-rtl .23s ease-out forwards!important}.masonry-container--native .masonry-item:nth-child(4n+3) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+3) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+3) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+4) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):before{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container--native .masonry-item:nth-child(4n+3) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-ltr .23s ease-out forwards!important}}@media (prefers-reduced-motion: reduce){.unified-card,.section-card,[class*=__card],[class*=-card],[class*=__item],[class*=-item]{transition:none;animation:none}}@keyframes item-stream{0%{opacity:0;transform:translate3d(0,var(--osi-motion-distance-sm, 8px),0)}to{opacity:1;transform:translateZ(0)}}.ai-section h1,.ai-section h2,.ai-section h3,.ai-section h4,.ai-section h5,.ai-section h6,.ai-section [class*=title],.ai-section [class*=heading],.ai-section [class*=header]{margin-bottom:.05em!important;line-height:1.3!important}.ai-section br{margin-top:.05em!important;line-height:1.3!important}.ai-section p,.ai-section div,.ai-section span{line-height:1.3!important}.ai-section h1+p,.ai-section h1+div,.ai-section h1+span,.ai-section h2+p,.ai-section h2+div,.ai-section h2+span,.ai-section h3+p,.ai-section h3+div,.ai-section h3+span,.ai-section h4+p,.ai-section h4+div,.ai-section h4+span,.ai-section h5+p,.ai-section h5+div,.ai-section h5+span,.ai-section h6+p,.ai-section h6+div,.ai-section h6+span,.ai-section [class*=title]+p,.ai-section [class*=title]+div,.ai-section [class*=title]+span,.ai-section [class*=heading]+p,.ai-section [class*=heading]+div,.ai-section [class*=heading]+span,.ai-section [class*=header]+p,.ai-section [class*=header]+div,.ai-section [class*=header]+span{margin-top:.05em!important}.ai-section.ai-section--overview .overview-item--single-text .overview-item__value--single-text br{margin-top:7px!important;height:7px!important;line-height:1.3!important;display:block!important;content:\"\"}.ai-section{--section-accent: var(--osi-section-accent);--section-border: var(--osi-section-border);--section-border-hover: var(--osi-section-border-hover);--section-box-shadow: var(--osi-section-shadow);--section-background: var(--osi-section-background);--section-background-hover: var(--osi-section-background-hover);--section-backdrop-filter: var(--osi-section-backdrop-filter);--section-spacing-bottom: var(--osi-section-spacing-bottom, 12px);--section-glow-background: var(--osi-section-glow-background);--section-glow-opacity-hover: var(--osi-section-glow-opacity-hover);--section-title-underline-length: var(--osi-section-title-underline-length);--section-title-underline-hover-length: var(--osi-section-title-underline-hover-length);--section-title-underline-height: var(--osi-section-title-underline-height);--section-title-underline-offset: var(--osi-section-title-underline-offset);--section-title-hover-color: var(--osi-section-title-hover-color);width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;margin-bottom:var(--section-spacing-bottom, 12px)!important;margin-top:0!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;contain:layout style;transition:border-color var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),box-shadow var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1)}.ai-section *{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.ai-section:not(.masonry-item .ai-section){position:relative;display:flex;flex-direction:column;gap:var(--section-card-gap);padding:0!important;border-radius:var(--osi-section-item-border-radius);background:var(--section-background);border:var(--section-border);box-shadow:var(--section-box-shadow);width:100%!important;max-width:100%!important;box-sizing:border-box!important;transition:border-color var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),box-shadow var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1)}.ai-section:not(.masonry-item .ai-section):hover{border-color:var(--osi-section-border-hover-enhanced-color);box-shadow:var(--osi-section-shadow-hover-enhanced)}@media (prefers-reduced-motion: reduce){.ai-section:not(.masonry-item .ai-section){transition:none}}.masonry-item .ai-section{display:flex!important;flex-direction:column!important;gap:var(--osi-section-gap, 8px)!important;height:auto!important}.ai-section:hover{border-color:var(--osi-section-border-hover-enhanced-color);box-shadow:var(--osi-section-shadow-hover-enhanced)}@media (prefers-reduced-motion: reduce){.ai-section{transition:none}}.ai-section__header{display:flex;flex-direction:column;gap:var(--osi-section-header-gap);width:100%;box-sizing:border-box;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;padding:0 0 var(--osi-section-header-padding-bottom) 0!important;border-bottom:none!important;background:transparent!important;margin:0!important;flex-wrap:wrap!important;gap:var(--osi-section-header-gap)!important;text-align:left!important}.ai-section__title{font-size:var(--section-title-font-size, .9375rem);font-weight:var(--section-title-font-weight, 700);letter-spacing:var(--section-title-letter-spacing, -.02em);line-height:var(--section-title-line-height, 1.3);color:var(--card-text-primary, #1c1c1f);margin:0;font-size:var(--osi-section-title-font-size)!important;font-weight:700!important;letter-spacing:var(--osi-section-title-letter-spacing)!important;line-height:var(--osi-section-title-line-height)!important;color:var(--osi-section-title-color)!important;opacity:1!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;position:relative!important;transition:var(--osi-section-title-transition)!important;padding:0!important;margin:0 0 var(--osi-section-title-margin-bottom) 0!important;text-align:left!important;font-family:inherit!important;border:none!important}.ai-section__title:before{content:\"\"!important;position:absolute!important;left:0!important;bottom:var(--osi-section-title-underline-offset)!important;width:var(--osi-section-title-underline-length)!important;height:var(--osi-section-title-underline-height)!important;background:var(--osi-section-title-underline-color)!important;border-radius:var(--radius-xs)!important;transition:width .22s ease,opacity .22s ease!important;transform-origin:left!important;opacity:.6!important}.ai-section__title:hover{color:var(--osi-section-title-color)!important}.ai-section__title:hover:before{width:var(--osi-section-title-underline-hover-length)!important;opacity:1!important}.ai-section__icon{display:none!important;width:var(--icon-size-section)!important;height:var(--icon-size-section)!important}.ai-section__details{display:flex!important;flex-direction:column!important;gap:var(--osi-section-header-gap)!important;align-items:flex-start!important;text-align:left!important}.ai-section__description{font-size:var(--section-description-font-size, .75rem);font-weight:400;color:var(--card-text-secondary, rgba(28, 28, 31, .6));line-height:1.3;margin:0;color:var(--osi-section-description-color)!important;letter-spacing:.01em!important;line-height:1.2!important;font-weight:400!important;overflow:hidden!important;text-overflow:ellipsis!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;margin-top:0!important;padding-top:0!important;text-align:left!important;transition:var(--osi-section-description-transition)!important;font-family:inherit!important}.ai-section:hover .ai-section__description{color:var(--osi-section-description-color-hover)!important}.ai-section__badge{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;font-size:.55rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:#ff7900;background:#ff79001a;border-radius:4px;white-space:nowrap;display:none!important;padding:var(--tag-padding-y-sm) var(--tag-padding-x)!important;border-radius:var(--radius-sm)!important}.ai-section--contact-card .ai-section__badge,.ai-section--solutions .ai-section__badge,.ai-section--event .ai-section__badge,.ai-section--chart .ai-section__badge,.ai-section--financials .ai-section__badge{display:none!important;align-items:center!important;padding:var(--osi-section-badge-padding)!important;background:var(--osi-section-badge-bg)!important;color:var(--osi-section-badge-color)!important;border:none!important;box-shadow:none!important;border-radius:var(--osi-section-border-radius)!important;font-size:var(--card-meta-font-size, .6rem)!important;font-weight:var(--card-meta-font-weight, 500)!important;transition:opacity .2s ease,background .2s ease!important;line-height:1.2!important}.ai-section:hover .ai-section__badge{opacity:1!important;background:var(--osi-section-badge-bg-hover)!important}.ai-section__body{display:flex;flex-direction:column;gap:var(--osi-section-gap-internal);width:100%;box-sizing:border-box;padding:0!important;margin:0!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}.ai-section .section-empty{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;padding:var(--osi-section-padding)!important;text-align:center!important;color:var(--muted-foreground)!important;min-height:auto!important;border-radius:var(--radius-md)!important;background:var(--osi-section-empty-bg)!important;border:var(--osi-section-empty-border)!important;transition:opacity .2s ease,background .2s ease!important}.ai-section .section-empty lucide-icon{margin-bottom:var(--osi-section-gap)!important;opacity:var(--osi-section-empty-icon-opacity)!important;color:var(--accent)!important;transition:all .2s ease!important}.ai-section .section-empty p{font-size:var(--font-section-description, .85rem)!important;margin:0!important;font-weight:500!important;font-family:inherit!important}.ai-section .section-empty:hover{background:var(--osi-section-empty-bg-hover)!important;border-color:var(--osi-section-empty-border-hover)!important}.ai-section .section-empty:hover lucide-icon{opacity:var(--osi-section-empty-icon-opacity-hover)!important}.ai-section--info{--section-accent: var(--osi-section-accent-info)}.ai-section--analytics{--section-accent: var(--osi-section-accent-analytics)}.ai-section--financials{--section-accent: var(--osi-section-accent-financials)}.ai-section--map{--section-accent: var(--osi-section-accent-map)}.ai-section--network-card{--section-accent: var(--osi-section-accent-network)}.ai-section--contact-card{--section-accent: var(--osi-section-accent-contact)}.ai-section--product{--section-accent: var(--osi-section-accent-product)}.ai-section--solutions{--section-accent: var(--osi-section-accent-solutions)}.ai-section--overview{--section-accent: var(--osi-section-accent-overview)}.ai-section--overview .ai-section__title{font-size:calc(var(--osi-section-title-font-size) - 1.5px)!important}.ai-section--list,.ai-section--info-list{--section-accent: var(--osi-section-accent-list)}.ai-section--event{--section-accent: var(--osi-section-accent-event)}.ai-section--chart{--section-accent: var(--osi-section-accent-chart)}.ai-section--text-reference{--section-accent: var(--osi-section-accent-reference)}.ai-section--quotation{--section-accent: var(--osi-section-accent-quotation)}.ai-card-surface--fullscreen .ai-section{--section-padding: var(--osi-section-padding);--section-spacing-bottom: var(--osi-section-spacing-bottom);--section-gap: var(--osi-section-gap);--section-gap-internal: var(--osi-section-gap-internal);--section-title-underline-length: var(--osi-section-title-underline-length);--section-title-underline-hover-length: var(--osi-section-title-underline-hover-length);--section-title-underline-height: var(--osi-section-title-underline-height);--section-title-underline-offset: var(--osi-section-title-underline-offset);--section-box-shadow: none !important;--section-box-shadow-hover: none !important}.ai-card-surface--fullscreen .masonry-item,.ai-card-surface--fullscreen .masonry-item:hover{box-shadow:var(--osi-section-shadow-fullscreen)!important}.ai-card-surface--fullscreen .ai-section__header{padding:0 0 var(--osi-section-header-padding-bottom) 0!important;gap:var(--osi-section-header-gap)!important}.ai-card-surface--fullscreen .ai-section__title{font-size:var(--card-title-font-size, .95rem)!important}.ai-card-surface--fullscreen .ai-section__body{gap:var(--osi-section-gap-internal)!important}.ai-card-surface--fullscreen .ai-section__description{font-size:var(--card-meta-font-size, .6rem)!important;margin-top:0!important;padding-top:0!important}.section-content{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;padding:0!important;margin:0!important}.section-content>*{width:100%!important;max-width:100%!important;box-sizing:border-box!important}.ai-section--faq,.ai-section--faq .list,.ai-section--faq .item{min-width:0!important;width:100%!important;max-width:100%!important}:host{display:block;width:100%}.solutions-container{display:flex;flex-direction:column;gap:var(--osi-section-item-gap)!important}.solutions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--osi-section-item-gap)!important;width:100%;box-sizing:border-box}@media (max-width: 767px){.solutions-grid{grid-template-columns:repeat(2,1fr);gap:var(--osi-section-item-gap)}}@media (max-width: 479px){.solutions-grid{grid-template-columns:1fr;gap:var(--osi-section-item-gap)}}.section-item{background:var(--osi-section-item-background);border:var(--osi-section-item-border);border-radius:var(--osi-section-item-border-radius);box-shadow:var(--osi-section-item-shadow);padding:var(--osi-section-item-padding-normal);min-height:var(--card-min-height, auto);cursor:pointer;overflow-x:hidden;width:100%!important;max-width:100%!important;box-sizing:border-box!important;word-wrap:break-word;overflow-wrap:break-word;min-height:180px;display:flex;flex-direction:column;gap:var(--osi-section-item-gap);text-align:left;align-items:stretch;transition:var(--osi-section-item-transition);position:relative;overflow:hidden}.section-item:focus-visible{outline:none}@media (prefers-reduced-motion: reduce){.section-item{transition:none}}.section-item>*{margin-left:0!important;margin-right:0!important;padding-left:0;padding-right:0}.section-item:before{content:\"\";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;border-radius:inherit;animation:none;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%);width:50%;mix-blend-mode:overlay}.section-item:hover:before{opacity:1;animation:metal-sweep-ltr .23s ease-out forwards}.section-item:not(:hover):before{animation:none;opacity:0}@media (prefers-reduced-motion: reduce){.section-item:before{display:none}}.section-item:hover{border-color:var(--osi-section-item-border-hover-enhanced-color);box-shadow:var(--osi-section-item-shadow-hover-enhanced)}.section-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:var(--shadow-lg),0 0 0 4px rgba(var(--accent-rgb, 255, 121, 0),.1)}@media (prefers-reduced-motion: reduce){.section-item{transition:none}.section-item:hover{box-shadow:var(--shadow-md)}}.section-item:after{content:\"\";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent) 0%,transparent 100%);opacity:0;transition:opacity var(--osi-section-item-transition);top:auto!important}.section-item:hover:after{opacity:.8}.section-item:hover .solution-title{color:var(--accent)}.solution-header{display:flex;flex-direction:column;align-items:flex-start;gap:var(--osi-section-item-gap-xs);width:100%;margin:0;padding:0}.solution-title-row{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;width:100%;gap:var(--osi-section-item-gap);margin:0;padding:0;flex-wrap:nowrap}.solution-logo-container{flex-shrink:0;flex-grow:0;pointer-events:auto;line-height:0;margin:0;padding:0;align-self:flex-start;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;order:2;box-sizing:border-box;min-width:16px;max-width:16px;min-height:16px;max-height:16px;overflow:hidden;transition:opacity var(--osi-section-item-transition),transform var(--osi-section-item-transition)}.solution-logo-container.clickable:hover{opacity:.8;transform:scale(1.1)}.solution-logo-container.clickable:active{transform:scale(.95)}.solution-logo{width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;max-width:16px!important;max-height:16px!important;display:block;cursor:pointer;flex-shrink:0;margin:0;padding:0;aspect-ratio:1/1;box-sizing:border-box}.solution-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--foreground);margin:0;padding:0;line-height:var(--leading-normal);text-align:left;transition:color var(--osi-section-item-transition);flex:1 1 auto;min-width:0;white-space:normal;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word}.solution-category{font-size:var(--text-xs);font-weight:var(--font-medium);line-height:var(--leading-tight);color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.05em;opacity:.7;text-align:left;margin:0;padding:0}.solution-description{font-size:var(--text-sm);font-weight:var(--font-normal);line-height:var(--leading-normal);color:var(--foreground);color:var(--muted-foreground);line-height:var(--leading-relaxed);margin:0;padding:0;margin-bottom:var(--osi-section-item-gap);opacity:.9;text-align:left;width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-break:break-word;max-width:100%;box-sizing:border-box;overflow-wrap:break-word;word-wrap:break-word;transition:opacity var(--osi-section-item-transition),color var(--osi-section-item-transition)}.solution-description.expanded{display:block;-webkit-line-clamp:unset;overflow:visible;word-break:break-word;overflow-wrap:break-word;word-wrap:break-word;max-width:100%;box-sizing:border-box}.solution-description-expand-button{background:none;border:none;font-size:.7rem;font-weight:var(--font-medium);cursor:pointer;padding:var(--osi-spacing-compact-xs, 2px) 0;transition:opacity .2s var(--ease-out);margin:var(--osi-section-item-gap-xs) 0 0 0;padding:0;align-self:flex-start;font-size:var(--text-sm);color:var(--accent);text-align:left}.solution-description-expand-button:hover{text-decoration:underline;opacity:.8}.solution-description-expand-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.solution-description-expand-button:hover{text-decoration:underline}.solution-benefits{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--osi-section-item-gap-xs);flex:1;text-align:left;width:100%}.solution-benefits li{font-size:var(--text-sm);color:var(--muted-foreground);padding:0 0 0 18px;margin:0;position:relative;line-height:var(--leading-normal);text-align:left}.solution-benefits li:before{content:\"\\2713\";position:absolute;left:0;color:var(--accent);font-size:var(--text-sm);font-weight:var(--font-bold)}.solution-more{align-self:flex-start;margin:0;margin-bottom:var(--osi-section-item-gap);padding:0;border:0;background:transparent;color:var(--accent);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;line-height:var(--leading-tight);text-align:left}.solution-more:hover{text-decoration:underline}.solution-more:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--osi-radius-sm)}.solution-score{display:flex;flex-direction:column;gap:var(--osi-section-item-gap-xs);margin:var(--osi-section-item-gap) 0 0 0;padding:0;width:100%}.solution-score-label{display:flex;align-items:center;justify-content:space-between;font-size:var(--text-xs);color:var(--muted-foreground);font-weight:var(--font-medium);margin:0;padding:0}.solution-score-value{font-weight:var(--font-semibold);color:var(--accent, var(--color-brand, #ff7900))}.solution-score-bar{width:100%;height:6px;background:color-mix(in srgb,var(--accent, var(--color-brand, #ff7900)) 15%,transparent);border-radius:var(--osi-radius-sm, 3px);overflow:hidden;position:relative}.solution-score-fill{height:100%;background:linear-gradient(90deg,var(--accent, var(--color-brand, #ff7900)) 0%,var(--osi-accent-bright, var(--color-brand-light, #ff9933)) 100%);border-radius:var(--osi-radius-sm, 3px);transition:width .3s ease;box-shadow:0 0 4px color-mix(in srgb,var(--accent, var(--color-brand, #ff7900)) 40%,transparent)}.solution-meta{display:flex;align-items:center;justify-content:flex-start;gap:var(--osi-section-item-gap);margin:auto 0 0;padding:var(--osi-section-item-padding-compact) 0 0 0;border-top:1px solid var(--border);width:100%}.delivery-time,.solution-meta-label{font-size:var(--text-sm);color:var(--muted-foreground);opacity:.7;text-align:left;margin:0;padding:0;display:inline-flex;align-items:center;gap:4px}@media (max-width: 479px){.section-item{min-height:160px}.solution-description{font-size:var(--text-sm)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SectionHeaderComponent, selector: "lib-section-header", inputs: ["title", "description", "level", "headerClass", "titleClass", "descriptionClass"] }, { kind: "component", type: EmptyStateComponent, selector: "lib-empty-state", inputs: ["message", "icon", "actionLabel", "variant", "size", "containerClass"], outputs: ["action"] }, { kind: "directive", type: TooltipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "tooltipPosition", "tooltipDelay", "tooltipDuration", "tooltipClass", "tooltipDisabled", "tooltipShowArrow", "tooltipMaxWidth"] }] }); }
21864
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.14", type: SolutionsSectionComponent, isStandalone: true, selector: "lib-solutions-section", viewQueries: [{ propertyName: "solutionsGrid", first: true, predicate: ["solutionsGrid"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ai-section ai-section--solutions section-content\">\n <!-- Section Header -->\n <lib-section-header [title]=\"section.title\" [description]=\"section.description\"> </lib-section-header>\n\n <!-- Solutions Grid -->\n <div class=\"solutions-grid\" #solutionsGrid *ngIf=\"section.fields && section.fields.length > 0\">\n <div class=\"section-item\" *ngFor=\"let solution of section.fields; let i = index\" [class.expanded]=\"isExpanded(i)\">\n <!-- Solution Header -->\n <div class=\"solution-header\">\n <!-- Title and Logo on same line -->\n <div class=\"solution-title-row\">\n <h4 class=\"solution-title\">{{ solution.title }}</h4>\n <!-- Expresso Logo -->\n <div\n class=\"solution-logo-container\"\n [class.clickable]=\"solution.expressoLink\"\n (click)=\"onExpressoLogoClick(solution)\"\n [style.cursor]=\"solution.expressoLink ? 'pointer' : 'default'\"\n >\n <svg\n class=\"solution-logo\"\n viewBox=\"0 0 16 16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n preserveAspectRatio=\"xMidYMid meet\"\n [appTooltip]=\"getExpressoTooltip(solution)\"\n tooltipPosition=\"top\"\n [tooltipDelay]=\"200\"\n [tooltipDisabled]=\"!solution.expressoLink\"\n [attr.role]=\"solution.expressoLink ? 'button' : 'img'\"\n [attr.aria-label]=\"solution.expressoLink ? 'Open Expresso product page' : 'Expresso logo'\"\n width=\"16\"\n height=\"16\"\n >\n <!-- Orange square background -->\n <rect width=\"16\" height=\"16\" fill=\"#ff7e00\" />\n <!-- White circular \"O\" - large and prominent -->\n <circle cx=\"8\" cy=\"8\" r=\"5.6\" fill=\"none\" stroke=\"white\" stroke-width=\"1.6\" />\n <!-- White banner with expresso text, positioned diagonally from top right -->\n <g transform=\"translate(8, 8) rotate(35) translate(-8, -8)\">\n <rect x=\"7.2\" y=\"2.4\" width=\"8\" height=\"3.2\" fill=\"white\" rx=\"0.64\" />\n <text\n x=\"11.2\"\n y=\"4.48\"\n font-family=\"Arial, sans-serif\"\n font-size=\"1.76\"\n font-weight=\"600\"\n fill=\"#ff7e00\"\n text-anchor=\"middle\"\n dominant-baseline=\"middle\"\n >\n expresso\n </text>\n </g>\n </svg>\n </div>\n </div>\n <span class=\"solution-category\" *ngIf=\"solution.category\">{{ solution.category }}</span>\n </div>\n\n <!-- Solution Description -->\n <p class=\"solution-description\" *ngIf=\"solution.description\">\n {{ solution.description }}\n </p>\n\n <!-- Benefits -->\n <ul class=\"solution-benefits\" *ngIf=\"solution.benefits && solution.benefits.length > 0\">\n <li *ngFor=\"let benefit of getVisibleBenefits(solution.benefits, i)\">{{ benefit }}</li>\n </ul>\n\n <button class=\"solution-more\" type=\"button\" *ngIf=\"shouldShowMoreButton(solution, i)\" (click)=\"toggleExpanded(i)\">\n {{ isExpanded(i) ? 'Show less' : '+' + getRemainingBenefitsCount(solution) + ' more' }}\n </button>\n\n <!-- Match Score Bar -->\n <div class=\"solution-score\" *ngIf=\"solution.score !== undefined && solution.score !== null\">\n <div class=\"solution-score-label\">\n <span>Match Score</span>\n <span class=\"solution-score-value\">{{ solution.score }}/10</span>\n </div>\n <div class=\"solution-score-bar\">\n <div class=\"solution-score-fill\" [style.width.%]=\"getScorePercentage(solution)\"></div>\n </div>\n </div>\n\n <!-- Meta Info -->\n <div class=\"solution-meta\">\n <span class=\"solution-meta-label\" *ngIf=\"getMetaLabel(solution) as label\">\n {{ label }}\n </span>\n </div>\n </div>\n </div>\n\n <!-- Empty State -->\n <lib-empty-state\n *ngIf=\"!section.fields || section.fields.length === 0\"\n message=\"No solution data\"\n icon=\"\uD83D\uDCA1\"\n variant=\"minimal\"\n >\n </lib-empty-state>\n</div>\n", styles: ["@charset \"UTF-8\";:root{--osi-spacing-2px: 2px;--osi-spacing-4px: 4px;--osi-spacing-6px: 6px;--osi-spacing-8px: 8px;--osi-spacing-10px: 10px;--osi-spacing-xs: 4px;--osi-spacing-sm: 8px;--osi-spacing-md: 12px;--osi-spacing-lg: 16px;--osi-spacing-xl: 24px;--osi-spacing-2xl: 32px;--osi-spacing-3xl: 48px;--osi-section-header-gap: 2px;--osi-section-padding: var(--osi-spacing-sm);--osi-section-gap: var(--osi-spacing-md);--osi-item-padding: var(--osi-spacing-sm);--osi-item-gap: var(--osi-spacing-xs);--osi-element-gap: 2px;--osi-text-xs: .75rem;--osi-text-sm: .875rem;--osi-text-base: 1rem;--osi-text-md: 1.125rem;--osi-text-lg: 1.25rem;--osi-text-xl: 1.5rem;--osi-text-2xl: 1.875rem;--osi-text-3xl: 2.25rem;--text-xs: .6875rem;--text-sm: .75rem;--text-base: .8125rem;--text-md: .875rem;--text-lg: 1.0625rem;--text-xl: 1.1875rem;--text-2xl: 1.375rem;--text-3xl: 1.625rem;--osi-font-normal: 400;--osi-font-medium: 500;--osi-font-semibold: 600;--osi-font-bold: 700;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--osi-leading-tight: 1.25;--osi-leading-snug: 1.375;--osi-leading-normal: 1.5;--osi-leading-relaxed: 1.625;--osi-leading-loose: 2;--leading-tight: 1.2;--leading-snug: 1.3;--leading-normal: 1.4;--leading-relaxed: 1.5;--leading-loose: 1.75;--osi-tracking-tight: -.025em;--osi-tracking-normal: 0;--osi-tracking-wide: .025em;--osi-tracking-wider: .05em;--osi-surface: hsl(0, 0%, 10%);--osi-surface-raised: hsl(0, 0%, 15%);--osi-surface-hover: hsl(0, 0%, 20%);--osi-surface-subtle: hsl(0, 0%, 12%);--osi-foreground: var( --foreground, hsl(0, 0%, 95%) );--osi-foreground-strong: var(--foreground, hsl(0, 0%, 100%));--osi-muted-foreground: var( --muted-foreground, hsl(0, 0%, 60%) );--osi-disabled-foreground: var(--muted-foreground, hsl(0, 0%, 40%));--osi-accent: hsl(25, 100%, 50%);--osi-accent-bright: hsl(25, 100%, 60%);--osi-accent-muted: hsl(25, 50%, 40%);--osi-success: hsl(142, 71%, 45%);--osi-success-bg: hsla(142, 71%, 45%, .15);--osi-success-bright: hsl(142, 71%, 55%);--osi-error: hsl(0, 84%, 60%);--osi-error-bg: hsla(0, 84%, 60%, .15);--osi-error-bright: hsl(0, 84%, 70%);--osi-warning: hsl(45, 93%, 47%);--osi-warning-bg: hsla(45, 93%, 47%, .15);--osi-warning-bright: hsl(45, 93%, 57%);--osi-info: hsl(221, 83%, 53%);--osi-info-bg: hsla(221, 83%, 53%, .15);--osi-info-bright: hsl(221, 83%, 63%);--osi-border: hsla(0, 0%, 100%, .2);--osi-border-muted: hsla(0, 0%, 100%, .06);--osi-border-strong: hsla(0, 0%, 100%, .35);--osi-radius-none: 0;--osi-radius-xs: 2px;--osi-radius-sm: 4px;--osi-radius-md: 8px;--osi-radius-lg: 12px;--osi-radius-xl: 16px;--osi-radius-full: 9999px;--osi-shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--osi-shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--osi-shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--osi-shadow-xl: 0 20px 25px rgba(0, 0, 0, .15);--osi-shadow-2xl: 0 25px 50px rgba(0, 0, 0, .25);--osi-duration-fast: .15s;--osi-duration-normal: .2s;--osi-duration-medium: .3s;--osi-duration-slow: .6s;--osi-ease-linear: linear;--osi-ease-in: cubic-bezier(.4, 0, 1, 1);--osi-ease-out: cubic-bezier(0, 0, .2, 1);--osi-ease-in-out: cubic-bezier(.4, 0, .2, 1);--osi-ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--osi-z-base: 0;--osi-z-raised: 10;--osi-z-dropdown: 100;--osi-z-fixed: 300;--osi-z-modal: 400;--osi-z-popover: 500;--osi-z-tooltip: 600;--osi-grid-gap: var(--osi-spacing-md);--osi-grid-row-gap: var(--osi-grid-gap);--osi-grid-column-gap: var(--osi-grid-gap);--osi-grid-min-small: 140px;--osi-grid-min-medium: 200px;--osi-grid-min-large: 300px;--osi-grid-min-xs: 120px;--osi-grid-min-sm: 140px;--osi-grid-min-md: 160px;--osi-grid-min-lg: 180px;--osi-grid-min-xl: 200px;--osi-grid-min-2xl: 250px;--osi-grid-min-3xl: 280px;--osi-grid-min-4xl: 300px;--osi-card-min-height: 90px;--osi-card-min-height-large: 120px;--osi-card-min-height-xs: 70px;--osi-card-min-height-sm: 80px;--osi-card-min-height-md: 90px;--osi-card-min-height-lg: 95px;--osi-card-min-height-xl: 110px}@media (prefers-color-scheme: dark){:root{--osi-surface: hsl(0, 0%, 8%);--osi-surface-raised: hsl(0, 0%, 12%);--osi-surface-hover: hsl(0, 0%, 16%);--osi-border-muted: hsla(0, 0%, 100%, .04)}}@media (prefers-contrast: high){:root{--osi-border: hsla(0, 0%, 100%, .4);--osi-border-strong: hsla(0, 0%, 100%, .6)}}@media (prefers-reduced-motion: reduce){:root{--osi-duration-fast: 0ms;--osi-duration-normal: 0ms;--osi-duration-medium: 0ms;--osi-duration-slow: 0ms}}.osi-card-container{container-type:inline-size;container-name:card;--card-padding: 4px;--card-gap: .5rem;--card-title-size: 1rem;--section-title-size: .875rem;--field-label-size: .75rem;--field-value-size: .875rem}.masonry-container{--masonry-columns: 1}@media (min-width: 480px){.masonry-container{--masonry-columns: 2}}@media (min-width: 1024px){.masonry-container{--masonry-columns: 3}}@media (min-width: 1280px){.masonry-container{--masonry-columns: 4}}@container card (min-width: 400px){.masonry-container--container-responsive{--masonry-columns: 2}}@container card (min-width: 700px){.masonry-container--container-responsive{--masonry-columns: 3}}@container card (min-width: 1000px){.masonry-container--container-responsive{--masonry-columns: 4}}.ai-section--info .section-field-grid{grid-template-columns:1fr}@media (min-width: 480px){.ai-section--info .section-field-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.ai-section--info .section-field-grid{grid-template-columns:repeat(3,1fr)}}.ai-section--analytics .metric-grid{grid-template-columns:1fr}@media (min-width: 320px){.ai-section--analytics .metric-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 768px){.ai-section--analytics .metric-grid{grid-template-columns:repeat(3,1fr)}}.ai-section--analytics .metric-value{font-size:var(--text-2xl)}.ai-section--timeline .timeline-items{flex-direction:column}@media (min-width: 1024px){.ai-section--timeline .timeline-items{flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory}.ai-section--timeline .timeline-items>*{scroll-snap-align:start;min-width:280px}}.ai-section--contact .contact-grid{grid-template-columns:1fr}@media (min-width: 480px){.ai-section--contact .contact-grid{grid-template-columns:repeat(2,1fr)}}.text-responsive{font-size:.875rem;line-height:1.5}.heading-responsive{font-size:1.25rem;line-height:1.2}.space-responsive{padding:.5rem}.gap-responsive{gap:.5rem}.touch-target{min-height:44px;min-width:44px}@media (min-width: 1024px){.touch-target{min-height:36px;min-width:36px}}@media (max-width: 767px){.hide-mobile{display:none!important}}@media (min-width: 768px){.hide-desktop{display:none!important}}.show-mobile{display:none!important}@media (max-width: 767px){.show-mobile{display:block!important}}.show-desktop{display:none!important}@media (min-width: 768px){.show-desktop{display:block!important}}@media print{.osi-card-container{--card-padding: 1rem;box-shadow:none;border:1px solid #ddd;break-inside:avoid}.masonry-container{--masonry-columns: 2;display:block}.masonry-container .masonry-item{break-inside:avoid;margin-bottom:1rem}.hide-print{display:none!important}}:root{--spacing-none: 0;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-base: 16px;--spacing-lg: 20px;--spacing-xl: 28px;--spacing-2xl: 40px;--spacing-3xl: 56px;--spacing-compact-xs: 3px;--spacing-compact-sm: 6px;--spacing-compact-md: 9px;--spacing-compact-base: 12px;--spacing-compact-lg: 16px;--section-card-min-height: 110px;--section-card-compact-height: 90px;--section-header-gap: 2px;--section-content-gap: var(--spacing-sm);--section-card-gap: var(--spacing-md);--section-card-padding: var(--spacing-md)}:root{--text-xs: .6875rem;--text-sm: .75rem;--text-base: .8125rem;--text-md: .875rem;--text-lg: 1.0625rem;--text-xl: 1.1875rem;--text-2xl: 1.375rem;--text-3xl: 1.625rem;--text-4xl: 2rem;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--leading-tight: 1.2;--leading-snug: 1.3;--leading-normal: 1.4;--leading-relaxed: 1.5;--leading-loose: 1.75}:root{--radius-none: 0;--radius-xs: 2px;--radius-sm: 3px;--radius-md: 5px;--radius-lg: 7px;--radius-xl: 10px;--radius-2xl: 14px;--radius-full: 9999px}:root{--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .05);--glow-sm: 0 0 10px rgba(var(--accent-rgb), .15);--glow-md: 0 0 20px rgba(var(--accent-rgb), .2);--glow-lg: 0 0 30px rgba(var(--accent-rgb), .25)}@media (prefers-color-scheme: dark){:root{--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .2);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .3), 0 1px 2px -1px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -2px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -4px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .5), 0 8px 10px -6px rgba(0, 0, 0, .5)}}:root{--duration-fast: .15s;--duration-base: .2s;--duration-slow: .3s;--duration-slower: .5s;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--ease-smooth: cubic-bezier(.4, 0, .6, 1);--transition-base: all var(--duration-base) var(--ease-out);--transition-fast: all var(--duration-fast) var(--ease-out);--transition-slow: all var(--duration-slow) var(--ease-out);--transition-colors: background-color var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out);--transition-shadow: box-shadow var(--duration-base) var(--ease-out);--transition-transform: transform var(--duration-base) var(--ease-out)}:root{--z-base: 1;--z-dropdown: 100;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-toast: 800;--z-max: 9999}:root{--blur-none: 0;--blur-sm: 4px;--blur-md: 8px;--blur-lg: 16px;--blur-xl: 24px;--glass-bg: rgba(255, 255, 255, .7);--glass-border: rgba(255, 255, 255, .2);--glass-blur: var(--blur-md)}@media (prefers-color-scheme: dark){:root{--glass-bg: rgba(0, 0, 0, .4);--glass-border: rgba(255, 255, 255, .1)}}:root{--opacity-0: 0;--opacity-5: .05;--opacity-10: .1;--opacity-20: .2;--opacity-30: .3;--opacity-40: .4;--opacity-50: .5;--opacity-60: .6;--opacity-70: .7;--opacity-80: .8;--opacity-90: .9;--opacity-100: 1}:root{--surface-base: var(--osi-section-item-background);--surface-raised: var(--osi-section-item-background-hover);--surface-overlay: var(--glass-bg);--border-light: rgba(var(--foreground-rgb), .08);--border-base: var(--border);--border-strong: rgba(var(--foreground-rgb), .2);--state-hover-opacity: .08;--state-active-opacity: .12;--state-focus-opacity: .16;--state-disabled-opacity: .5}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes fade-in-up{0%{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes fade-in-scale{0%{opacity:0;transform:translateZ(0) scale(.95)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes metal-sweep-ltr{0%{transform:translate(-100%);opacity:0}20%{opacity:.3}50%{opacity:.5}80%{opacity:.3}to{transform:translate(200%);opacity:0}}@keyframes metal-sweep-rtl{0%{transform:translate(200%);opacity:0}20%{opacity:.3}50%{opacity:.5}80%{opacity:.3}to{transform:translate(-100%);opacity:0}}@keyframes section-fade-in{0%{opacity:0}to{opacity:1}}@keyframes section-fade-in-up{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.unified-card,.section-card,[class*=__card],[class*=-card],[class*=__item],[class*=-item],.metric-card,.list-item,.analytics-card{transition:none!important;animation:none!important}.unified-card:hover,.section-card:hover,[class*=__card]:hover,[class*=-card]:hover,[class*=__item]:hover,[class*=-item]:hover,.metric-card:hover,.list-item:hover,.analytics-card:hover{transform:none!important}}.unified-card{background:var(--osi-section-item-background);border:var(--osi-section-item-border);border-radius:var(--osi-section-item-border-radius);box-shadow:var(--osi-section-item-shadow);padding:var(--osi-section-item-padding-normal);display:flex;flex-direction:column;gap:var(--osi-section-item-gap);min-height:var(--card-min-height, auto);cursor:pointer;overflow-x:hidden;width:100%!important;max-width:100%!important;box-sizing:border-box!important;text-align:left;word-wrap:break-word;overflow-wrap:break-word;transition:var(--osi-section-item-transition);position:relative;overflow:hidden}.unified-card:before{content:\"\";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;border-radius:inherit;animation:none;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%);width:50%;mix-blend-mode:overlay}.unified-card:hover:before{opacity:1;animation:metal-sweep-ltr .23s ease-out forwards}.unified-card:not(:hover):before{animation:none;opacity:0}@media (prefers-reduced-motion: reduce){.unified-card:before{display:none}}.unified-card:hover{border-color:var(--osi-section-item-border-hover-enhanced-color);box-shadow:var(--osi-section-item-shadow-hover-enhanced)}.unified-card:focus-visible{outline:none}@media (prefers-reduced-motion: reduce){.unified-card{transition:none}}.section-card{background:var(--osi-section-item-background);border:var(--osi-section-item-border);border-radius:var(--osi-section-item-border-radius);box-shadow:var(--osi-section-item-shadow);padding:var(--osi-section-item-padding-normal);display:flex;flex-direction:column;gap:var(--osi-section-item-gap);min-height:var(--card-min-height, auto);cursor:pointer;overflow-x:hidden;width:100%!important;max-width:100%!important;box-sizing:border-box!important;text-align:left;word-wrap:break-word;overflow-wrap:break-word;transition:var(--osi-section-item-transition);position:relative;overflow:hidden}.section-card:before{content:\"\";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;border-radius:inherit;animation:none;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%);width:50%;mix-blend-mode:overlay}.section-card:hover:before{opacity:1;animation:metal-sweep-ltr .23s ease-out forwards}.section-card:not(:hover):before{animation:none;opacity:0}@media (prefers-reduced-motion: reduce){.section-card:before{display:none}}.section-card:hover{border-color:var(--osi-section-item-border-hover-enhanced-color);box-shadow:var(--osi-section-item-shadow-hover-enhanced)}.section-card:focus-visible{outline:none}@media (prefers-reduced-motion: reduce){.section-card{transition:none}}.section-card{width:100%!important;max-width:100%!important;box-sizing:border-box!important}.section-item{transition:border-color var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),box-shadow var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),var(--osi-section-item-transition);position:relative;overflow:hidden}.section-item:hover{border-color:var(--osi-section-item-border-hover-enhanced-color)!important;box-shadow:var(--osi-section-item-shadow-hover-enhanced)!important;background:var(--osi-section-item-background)!important}@media (prefers-reduced-motion: reduce){.section-item{transition:none}.section-item:after{display:none}}.status--completed,.status--success{color:#22c55e;background:#22c55e1a}.status--active,.status--in-progress{color:var(--accent);background:#ff79001a}.status--pending,.status--warning{color:#f59e0b;background:#f59e0b1a}.status--blocked,.status--cancelled,.status--delayed,.status--inactive,.status--error{color:#ef4444;background:#ef44441a}.status--default{color:var(--muted-foreground);background:var(--muted)}.priority--high{color:#ef4444;background:#ef44441a}.priority--medium{color:#f59e0b;background:#f59e0b1a}.priority--low{color:#22c55e;background:#22c55e1a}.priority--default{color:var(--muted-foreground);background:var(--muted)}.masonry-container .masonry-item:nth-child(4n+1) .section-item:before,.masonry-container .masonry-item:nth-child(4n+1) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+1) .section-card:before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+2) .section-item:before,.masonry-container .masonry-item:nth-child(4n+2) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+2) .section-card:before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):before{background:linear-gradient(270deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container .masonry-item:nth-child(4n+1) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+1) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+1) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+2) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+2) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+2) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-rtl .23s ease-out forwards!important}.masonry-container .masonry-item:nth-child(4n+3) .section-item:before,.masonry-container .masonry-item:nth-child(4n+3) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+3) .section-card:before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+4) .section-item:before,.masonry-container .masonry-item:nth-child(4n+4) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+4) .section-card:before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-item:before,.masonry-container .masonry-item[data-col-span=\"3\"] .unified-card:before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-card:before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-item:before,.masonry-container .masonry-item[data-col-span=\"4\"] .unified-card:before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-card:before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-item:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .unified-card:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-card:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-item:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .unified-card:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-card:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):before{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container .masonry-item:nth-child(4n+3) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+3) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+3) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+4) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+4) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+4) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-item:hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] .unified-card:hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-card:hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-item:hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] .unified-card:hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-card:hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-item:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .unified-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-item:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .unified-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-ltr .23s ease-out forwards!important}@supports (grid-template-rows: masonry){.masonry-container--native .masonry-item:nth-child(4n+1) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+1) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+1) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+2) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):before{background:linear-gradient(270deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container--native .masonry-item:nth-child(4n+1) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-rtl .23s ease-out forwards!important}.masonry-container--native .masonry-item:nth-child(4n+3) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+3) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+3) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+4) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):before{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container--native .masonry-item:nth-child(4n+3) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-ltr .23s ease-out forwards!important}}@media (prefers-reduced-motion: reduce){.unified-card,.section-card,[class*=__card],[class*=-card],[class*=__item],[class*=-item]{transition:none;animation:none}}@keyframes item-stream{0%{opacity:0;transform:translate3d(0,var(--osi-motion-distance-sm, 8px),0)}to{opacity:1;transform:translateZ(0)}}.ai-section h1,.ai-section h2,.ai-section h3,.ai-section h4,.ai-section h5,.ai-section h6,.ai-section [class*=title],.ai-section [class*=heading],.ai-section [class*=header]{margin-bottom:.05em!important;line-height:1.3!important}.ai-section br{margin-top:.05em!important;line-height:1.3!important}.ai-section p,.ai-section div,.ai-section span{line-height:1.3!important}.ai-section h1+p,.ai-section h1+div,.ai-section h1+span,.ai-section h2+p,.ai-section h2+div,.ai-section h2+span,.ai-section h3+p,.ai-section h3+div,.ai-section h3+span,.ai-section h4+p,.ai-section h4+div,.ai-section h4+span,.ai-section h5+p,.ai-section h5+div,.ai-section h5+span,.ai-section h6+p,.ai-section h6+div,.ai-section h6+span,.ai-section [class*=title]+p,.ai-section [class*=title]+div,.ai-section [class*=title]+span,.ai-section [class*=heading]+p,.ai-section [class*=heading]+div,.ai-section [class*=heading]+span,.ai-section [class*=header]+p,.ai-section [class*=header]+div,.ai-section [class*=header]+span{margin-top:.05em!important}.ai-section.ai-section--overview .overview-item--single-text .overview-item__value--single-text br{margin-top:7px!important;height:7px!important;line-height:1.3!important;display:block!important;content:\"\"}.ai-section{--section-accent: var(--osi-section-accent);--section-border: var(--osi-section-border);--section-border-hover: var(--osi-section-border-hover);--section-box-shadow: var(--osi-section-shadow);--section-background: var(--osi-section-background);--section-background-hover: var(--osi-section-background-hover);--section-backdrop-filter: var(--osi-section-backdrop-filter);--section-spacing-bottom: var(--osi-section-spacing-bottom, 12px);--section-glow-background: var(--osi-section-glow-background);--section-glow-opacity-hover: var(--osi-section-glow-opacity-hover);--section-title-underline-length: var(--osi-section-title-underline-length);--section-title-underline-hover-length: var(--osi-section-title-underline-hover-length);--section-title-underline-height: var(--osi-section-title-underline-height);--section-title-underline-offset: var(--osi-section-title-underline-offset);--section-title-hover-color: var(--osi-section-title-hover-color);width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;margin-bottom:var(--section-spacing-bottom, 12px)!important;margin-top:0!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;contain:layout style;transition:border-color var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),box-shadow var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1)}.ai-section *{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.ai-section:not(.masonry-item .ai-section){position:relative;display:flex;flex-direction:column;gap:var(--section-card-gap);padding:0!important;border-radius:var(--osi-section-item-border-radius);background:var(--section-background);border:var(--section-border);box-shadow:var(--section-box-shadow);width:100%!important;max-width:100%!important;box-sizing:border-box!important;transition:border-color var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),box-shadow var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1)}.ai-section:not(.masonry-item .ai-section):hover{border-color:var(--osi-section-border-hover-enhanced-color);box-shadow:var(--osi-section-shadow-hover-enhanced)}@media (prefers-reduced-motion: reduce){.ai-section:not(.masonry-item .ai-section){transition:none}}.masonry-item .ai-section{display:flex!important;flex-direction:column!important;gap:var(--osi-section-gap, 8px)!important;height:auto!important}.ai-section:hover{border-color:var(--osi-section-border-hover-enhanced-color);box-shadow:var(--osi-section-shadow-hover-enhanced)}@media (prefers-reduced-motion: reduce){.ai-section{transition:none}}.ai-section__header{display:flex;flex-direction:column;gap:var(--osi-section-header-gap);width:100%;box-sizing:border-box;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;padding:0 0 var(--osi-section-header-padding-bottom) 0!important;border-bottom:none!important;background:transparent!important;margin:0!important;flex-wrap:wrap!important;gap:var(--osi-section-header-gap)!important;text-align:left!important}.ai-section__title{font-size:var(--section-title-font-size, .9375rem);font-weight:var(--section-title-font-weight, 700);letter-spacing:var(--section-title-letter-spacing, -.02em);line-height:var(--section-title-line-height, 1.3);color:var(--card-text-primary, #1c1c1f);margin:0;font-size:var(--osi-section-title-font-size)!important;font-weight:700!important;letter-spacing:var(--osi-section-title-letter-spacing)!important;line-height:var(--osi-section-title-line-height)!important;color:var(--osi-section-title-color)!important;opacity:1!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;position:relative!important;transition:var(--osi-section-title-transition)!important;padding:0!important;margin:0 0 var(--osi-section-title-margin-bottom) 0!important;text-align:left!important;font-family:inherit!important;border:none!important}.ai-section__title:before{content:\"\"!important;position:absolute!important;left:0!important;bottom:var(--osi-section-title-underline-offset)!important;width:var(--osi-section-title-underline-length)!important;height:var(--osi-section-title-underline-height)!important;background:var(--osi-section-title-underline-color)!important;border-radius:var(--radius-xs)!important;transition:width .22s ease,opacity .22s ease!important;transform-origin:left!important;opacity:.6!important}.ai-section__title:hover{color:var(--osi-section-title-color)!important}.ai-section__title:hover:before{width:var(--osi-section-title-underline-hover-length)!important;opacity:1!important}.ai-section__icon{display:none!important;width:var(--icon-size-section)!important;height:var(--icon-size-section)!important}.ai-section__details{display:flex!important;flex-direction:column!important;gap:var(--osi-section-header-gap)!important;align-items:flex-start!important;text-align:left!important}.ai-section__description{font-size:var(--section-description-font-size, .75rem);font-weight:400;color:var(--card-text-secondary, rgba(28, 28, 31, .6));line-height:1.3;margin:0;color:var(--osi-section-description-color)!important;letter-spacing:.01em!important;line-height:1.2!important;font-weight:400!important;overflow:hidden!important;text-overflow:ellipsis!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;margin-top:0!important;padding-top:0!important;text-align:left!important;transition:var(--osi-section-description-transition)!important;font-family:inherit!important}.ai-section:hover .ai-section__description{color:var(--osi-section-description-color-hover)!important}.ai-section__badge{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;font-size:.55rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:#ff7900;background:#ff79001a;border-radius:4px;white-space:nowrap;display:none!important;padding:var(--tag-padding-y-sm) var(--tag-padding-x)!important;border-radius:var(--radius-sm)!important}.ai-section--contact-card .ai-section__badge,.ai-section--solutions .ai-section__badge,.ai-section--event .ai-section__badge,.ai-section--chart .ai-section__badge,.ai-section--financials .ai-section__badge{display:none!important;align-items:center!important;padding:var(--osi-section-badge-padding)!important;background:var(--osi-section-badge-bg)!important;color:var(--osi-section-badge-color)!important;border:none!important;box-shadow:none!important;border-radius:var(--osi-section-border-radius)!important;font-size:var(--card-meta-font-size, .6rem)!important;font-weight:var(--card-meta-font-weight, 500)!important;transition:opacity .2s ease,background .2s ease!important;line-height:1.2!important}.ai-section:hover .ai-section__badge{opacity:1!important;background:var(--osi-section-badge-bg-hover)!important}.ai-section__body{display:flex;flex-direction:column;gap:var(--osi-section-gap-internal);width:100%;box-sizing:border-box;padding:0!important;margin:0!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}.ai-section .section-empty{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;padding:var(--osi-section-padding)!important;text-align:center!important;color:var(--muted-foreground)!important;min-height:auto!important;border-radius:var(--radius-md)!important;background:var(--osi-section-empty-bg)!important;border:var(--osi-section-empty-border)!important;transition:opacity .2s ease,background .2s ease!important}.ai-section .section-empty lucide-icon{margin-bottom:var(--osi-section-gap)!important;opacity:var(--osi-section-empty-icon-opacity)!important;color:var(--accent)!important;transition:all .2s ease!important}.ai-section .section-empty p{font-size:var(--font-section-description, .85rem)!important;margin:0!important;font-weight:500!important;font-family:inherit!important}.ai-section .section-empty:hover{background:var(--osi-section-empty-bg-hover)!important;border-color:var(--osi-section-empty-border-hover)!important}.ai-section .section-empty:hover lucide-icon{opacity:var(--osi-section-empty-icon-opacity-hover)!important}.ai-section--info{--section-accent: var(--osi-section-accent-info)}.ai-section--analytics{--section-accent: var(--osi-section-accent-analytics)}.ai-section--financials{--section-accent: var(--osi-section-accent-financials)}.ai-section--map{--section-accent: var(--osi-section-accent-map)}.ai-section--network-card{--section-accent: var(--osi-section-accent-network)}.ai-section--contact-card{--section-accent: var(--osi-section-accent-contact)}.ai-section--product{--section-accent: var(--osi-section-accent-product)}.ai-section--solutions{--section-accent: var(--osi-section-accent-solutions)}.ai-section--overview{--section-accent: var(--osi-section-accent-overview)}.ai-section--overview .ai-section__title{font-size:calc(var(--osi-section-title-font-size) - 1.5px)!important}.ai-section--list,.ai-section--info-list{--section-accent: var(--osi-section-accent-list)}.ai-section--event{--section-accent: var(--osi-section-accent-event)}.ai-section--chart{--section-accent: var(--osi-section-accent-chart)}.ai-section--text-reference{--section-accent: var(--osi-section-accent-reference)}.ai-section--quotation{--section-accent: var(--osi-section-accent-quotation)}.ai-card-surface--fullscreen .ai-section{--section-padding: var(--osi-section-padding);--section-spacing-bottom: var(--osi-section-spacing-bottom);--section-gap: var(--osi-section-gap);--section-gap-internal: var(--osi-section-gap-internal);--section-title-underline-length: var(--osi-section-title-underline-length);--section-title-underline-hover-length: var(--osi-section-title-underline-hover-length);--section-title-underline-height: var(--osi-section-title-underline-height);--section-title-underline-offset: var(--osi-section-title-underline-offset);--section-box-shadow: none !important;--section-box-shadow-hover: none !important}.ai-card-surface--fullscreen .masonry-item,.ai-card-surface--fullscreen .masonry-item:hover{box-shadow:var(--osi-section-shadow-fullscreen)!important}.ai-card-surface--fullscreen .ai-section__header{padding:0 0 var(--osi-section-header-padding-bottom) 0!important;gap:var(--osi-section-header-gap)!important}.ai-card-surface--fullscreen .ai-section__title{font-size:var(--card-title-font-size, .95rem)!important}.ai-card-surface--fullscreen .ai-section__body{gap:var(--osi-section-gap-internal)!important}.ai-card-surface--fullscreen .ai-section__description{font-size:var(--card-meta-font-size, .6rem)!important;margin-top:0!important;padding-top:0!important}.section-content{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;padding:0!important;margin:0!important}.section-content>*{width:100%!important;max-width:100%!important;box-sizing:border-box!important}.ai-section--faq,.ai-section--faq .list,.ai-section--faq .item{min-width:0!important;width:100%!important;max-width:100%!important}:host{display:block;width:100%}.solutions-container{display:flex;flex-direction:column;gap:var(--osi-section-item-gap)!important}.solutions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--osi-section-item-gap)!important;width:100%;box-sizing:border-box}@media (max-width: 767px){.solutions-grid{grid-template-columns:repeat(2,1fr);gap:var(--osi-section-item-gap)}}@media (max-width: 479px){.solutions-grid{grid-template-columns:1fr;gap:var(--osi-section-item-gap)}}.section-item{background:var(--osi-section-item-background);border:var(--osi-section-item-border);border-radius:var(--osi-section-item-border-radius);box-shadow:var(--osi-section-item-shadow);padding:var(--osi-section-item-padding-normal);min-height:var(--card-min-height, auto);cursor:pointer;overflow-x:hidden;width:100%!important;max-width:100%!important;box-sizing:border-box!important;word-wrap:break-word;overflow-wrap:break-word;min-height:180px;display:flex;flex-direction:column;gap:var(--osi-section-item-gap);text-align:left;align-items:stretch;transition:var(--osi-section-item-transition);position:relative;overflow:hidden}.section-item:focus-visible{outline:none}@media (prefers-reduced-motion: reduce){.section-item{transition:none}}.section-item>*{margin-left:0!important;margin-right:0!important;padding-left:0;padding-right:0}.section-item:before{content:\"\";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;border-radius:inherit;animation:none;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%);width:50%;mix-blend-mode:overlay}.section-item:hover:before{opacity:1;animation:metal-sweep-ltr .23s ease-out forwards}.section-item:not(:hover):before{animation:none;opacity:0}@media (prefers-reduced-motion: reduce){.section-item:before{display:none}}.section-item:hover{border-color:var(--osi-section-item-border-hover-enhanced-color);box-shadow:var(--osi-section-item-shadow-hover-enhanced)}.section-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:var(--shadow-lg),0 0 0 4px rgba(var(--accent-rgb, 255, 121, 0),.1)}@media (prefers-reduced-motion: reduce){.section-item{transition:none}.section-item:hover{box-shadow:var(--shadow-md)}}.section-item:after{content:\"\";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent) 0%,transparent 100%);opacity:0;transition:opacity var(--osi-section-item-transition);top:auto!important}.section-item:hover:after{opacity:.8}.section-item:hover .solution-title{color:var(--accent)}.solution-header{display:flex;flex-direction:column;align-items:flex-start;gap:var(--osi-section-item-gap-xs);width:100%;margin:0;padding:0}.solution-title-row{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;width:100%;gap:var(--osi-section-item-gap);margin:0;padding:0;flex-wrap:nowrap}.solution-logo-container{flex-shrink:0;flex-grow:0;pointer-events:auto;line-height:0;margin:0;padding:0;align-self:flex-start;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;order:2;box-sizing:border-box;min-width:16px;max-width:16px;min-height:16px;max-height:16px;overflow:hidden;transition:opacity var(--osi-section-item-transition),transform var(--osi-section-item-transition)}.solution-logo-container.clickable:hover{opacity:.8;transform:scale(1.1)}.solution-logo-container.clickable:active{transform:scale(.95)}.solution-logo{width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;max-width:16px!important;max-height:16px!important;display:block;cursor:pointer;flex-shrink:0;margin:0;padding:0;aspect-ratio:1/1;box-sizing:border-box}.solution-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--foreground);margin:0;padding:0;line-height:var(--leading-normal);text-align:left;transition:color var(--osi-section-item-transition);flex:1 1 auto;min-width:0;white-space:normal;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word}.solution-category{font-size:var(--text-xs);font-weight:var(--font-medium);line-height:var(--leading-tight);color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.05em;opacity:.7;text-align:left;margin:0;padding:0}.solution-description{font-size:var(--text-sm);font-weight:var(--font-normal);line-height:var(--leading-normal);color:var(--foreground);color:var(--muted-foreground);line-height:var(--leading-relaxed);margin:0;padding:0;margin-bottom:var(--osi-section-item-gap);opacity:.9;text-align:left;width:100%;overflow-wrap:break-word;word-wrap:break-word;transition:opacity var(--osi-section-item-transition),color var(--osi-section-item-transition)}.solution-benefits{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--osi-section-item-gap-xs);flex:1;text-align:left;width:100%}.solution-benefits li{font-size:var(--text-sm);color:var(--muted-foreground);padding:0 0 0 18px;margin:0;position:relative;line-height:var(--leading-normal);text-align:left}.solution-benefits li:before{content:\"\\2713\";position:absolute;left:0;color:var(--accent);font-size:var(--text-sm);font-weight:var(--font-bold)}.solution-more{align-self:flex-start;margin:0;margin-bottom:var(--osi-section-item-gap);padding:0;border:0;background:transparent;color:var(--accent);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;line-height:var(--leading-tight);text-align:left}.solution-more:hover{text-decoration:underline}.solution-more:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--osi-radius-sm)}.solution-score{display:flex;flex-direction:column;gap:var(--osi-section-item-gap-xs);margin:var(--osi-section-item-gap) 0 0 0;padding:0;width:100%}.solution-score-label{display:flex;align-items:center;justify-content:space-between;font-size:var(--text-xs);color:var(--muted-foreground);font-weight:var(--font-medium);margin:0;padding:0}.solution-score-value{font-weight:var(--font-semibold);color:var(--accent, var(--color-brand, #ff7900))}.solution-score-bar{width:100%;height:6px;background:color-mix(in srgb,var(--accent, var(--color-brand, #ff7900)) 15%,transparent);border-radius:var(--osi-radius-sm, 3px);overflow:hidden;position:relative}.solution-score-fill{height:100%;background:linear-gradient(90deg,var(--accent, var(--color-brand, #ff7900)) 0%,var(--osi-accent-bright, var(--color-brand-light, #ff9933)) 100%);border-radius:var(--osi-radius-sm, 3px);transition:width .3s ease;box-shadow:0 0 4px color-mix(in srgb,var(--accent, var(--color-brand, #ff7900)) 40%,transparent)}.solution-meta{display:flex;align-items:center;justify-content:flex-start;gap:var(--osi-section-item-gap);margin:auto 0 0;padding:var(--osi-section-item-padding-compact) 0 0 0;border-top:1px solid var(--border);width:100%}.delivery-time,.solution-meta-label{font-size:var(--text-sm);color:var(--muted-foreground);opacity:.7;text-align:left;margin:0;padding:0;display:inline-flex;align-items:center;gap:4px}@media (max-width: 479px){.section-item{min-height:160px}.solution-description{font-size:var(--text-sm)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SectionHeaderComponent, selector: "lib-section-header", inputs: ["title", "description", "level", "headerClass", "titleClass", "descriptionClass"] }, { kind: "component", type: EmptyStateComponent, selector: "lib-empty-state", inputs: ["message", "icon", "actionLabel", "variant", "size", "containerClass"], outputs: ["action"] }, { kind: "directive", type: TooltipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "tooltipPosition", "tooltipDelay", "tooltipDuration", "tooltipClass", "tooltipDisabled", "tooltipShowArrow", "tooltipMaxWidth"] }] }); }
21663
21865
  }
21664
21866
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: SolutionsSectionComponent, decorators: [{
21665
21867
  type: Component,
21666
- args: [{ selector: 'lib-solutions-section', standalone: true, imports: [CommonModule, SectionHeaderComponent, EmptyStateComponent, TooltipDirective], template: "<div class=\"ai-section ai-section--solutions section-content\">\n <!-- Section Header -->\n <lib-section-header [title]=\"section.title\" [description]=\"section.description\"> </lib-section-header>\n\n <!-- Solutions Grid -->\n <div class=\"solutions-grid\" #solutionsGrid *ngIf=\"section.fields && section.fields.length > 0\">\n <div class=\"section-item\" *ngFor=\"let solution of section.fields; let i = index\" [class.expanded]=\"isExpanded(i)\">\n <!-- Solution Header -->\n <div class=\"solution-header\">\n <!-- Title and Logo on same line -->\n <div class=\"solution-title-row\">\n <h4 class=\"solution-title\">{{ solution.title }}</h4>\n <!-- Expresso Logo -->\n <div\n class=\"solution-logo-container\"\n [class.clickable]=\"solution.expressoLink\"\n (click)=\"onExpressoLogoClick(solution)\"\n [style.cursor]=\"solution.expressoLink ? 'pointer' : 'default'\"\n >\n <svg\n class=\"solution-logo\"\n viewBox=\"0 0 16 16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n preserveAspectRatio=\"xMidYMid meet\"\n [appTooltip]=\"getExpressoTooltip(solution)\"\n tooltipPosition=\"top\"\n [tooltipDelay]=\"200\"\n [tooltipDisabled]=\"!solution.expressoLink\"\n [attr.role]=\"solution.expressoLink ? 'button' : 'img'\"\n [attr.aria-label]=\"solution.expressoLink ? 'Open Expresso product page' : 'Expresso logo'\"\n width=\"16\"\n height=\"16\"\n >\n <!-- Orange square background -->\n <rect width=\"16\" height=\"16\" fill=\"#ff7e00\" />\n <!-- White circular \"O\" - large and prominent -->\n <circle cx=\"8\" cy=\"8\" r=\"5.6\" fill=\"none\" stroke=\"white\" stroke-width=\"1.6\" />\n <!-- White banner with expresso text, positioned diagonally from top right -->\n <g transform=\"translate(8, 8) rotate(35) translate(-8, -8)\">\n <rect x=\"7.2\" y=\"2.4\" width=\"8\" height=\"3.2\" fill=\"white\" rx=\"0.64\" />\n <text\n x=\"11.2\"\n y=\"4.48\"\n font-family=\"Arial, sans-serif\"\n font-size=\"1.76\"\n font-weight=\"600\"\n fill=\"#ff7e00\"\n text-anchor=\"middle\"\n dominant-baseline=\"middle\"\n >\n expresso\n </text>\n </g>\n </svg>\n </div>\n </div>\n <span class=\"solution-category\" *ngIf=\"solution.category\">{{ solution.category }}</span>\n </div>\n\n <!-- Solution Description -->\n <p class=\"solution-description\" *ngIf=\"solution.description\" [class.expanded]=\"isDescriptionExpanded(i)\">\n {{ solution.description }}\n </p>\n <button\n *ngIf=\"shouldShowExpandButton(solution)\"\n class=\"solution-description-expand-button\"\n type=\"button\"\n (click)=\"toggleDescriptionExpanded(i)\"\n [attr.aria-expanded]=\"isDescriptionExpanded(i)\"\n [attr.aria-label]=\"\n (isDescriptionExpanded(i) ? 'Show less' : 'Show more') + ' description for ' + solution.title\n \"\n >\n {{ isDescriptionExpanded(i) ? 'Show less' : 'Show more' }}\n </button>\n\n <!-- Benefits -->\n <ul class=\"solution-benefits\" *ngIf=\"solution.benefits && solution.benefits.length > 0\">\n <li *ngFor=\"let benefit of getVisibleBenefits(solution.benefits, i)\">{{ benefit }}</li>\n </ul>\n\n <button class=\"solution-more\" type=\"button\" *ngIf=\"shouldShowMoreButton(solution, i)\" (click)=\"toggleExpanded(i)\">\n {{ isExpanded(i) ? 'Show less' : '+' + getRemainingBenefitsCount(solution) + ' more' }}\n </button>\n\n <!-- Match Score Bar -->\n <div class=\"solution-score\" *ngIf=\"solution.score !== undefined && solution.score !== null\">\n <div class=\"solution-score-label\">\n <span>Match Score</span>\n <span class=\"solution-score-value\">{{ solution.score }}/10</span>\n </div>\n <div class=\"solution-score-bar\">\n <div class=\"solution-score-fill\" [style.width.%]=\"getScorePercentage(solution)\"></div>\n </div>\n </div>\n\n <!-- Meta Info -->\n <div class=\"solution-meta\">\n <span class=\"solution-meta-label\" *ngIf=\"getMetaLabel(solution) as label\">\n {{ label }}\n </span>\n </div>\n </div>\n </div>\n\n <!-- Empty State -->\n <lib-empty-state\n *ngIf=\"!section.fields || section.fields.length === 0\"\n message=\"No solution data\"\n icon=\"\uD83D\uDCA1\"\n variant=\"minimal\"\n >\n </lib-empty-state>\n</div>\n", styles: ["@charset \"UTF-8\";:root{--osi-spacing-2px: 2px;--osi-spacing-4px: 4px;--osi-spacing-6px: 6px;--osi-spacing-8px: 8px;--osi-spacing-10px: 10px;--osi-spacing-xs: 4px;--osi-spacing-sm: 8px;--osi-spacing-md: 12px;--osi-spacing-lg: 16px;--osi-spacing-xl: 24px;--osi-spacing-2xl: 32px;--osi-spacing-3xl: 48px;--osi-section-header-gap: 2px;--osi-section-padding: var(--osi-spacing-sm);--osi-section-gap: var(--osi-spacing-md);--osi-item-padding: var(--osi-spacing-sm);--osi-item-gap: var(--osi-spacing-xs);--osi-element-gap: 2px;--osi-text-xs: .75rem;--osi-text-sm: .875rem;--osi-text-base: 1rem;--osi-text-md: 1.125rem;--osi-text-lg: 1.25rem;--osi-text-xl: 1.5rem;--osi-text-2xl: 1.875rem;--osi-text-3xl: 2.25rem;--text-xs: .6875rem;--text-sm: .75rem;--text-base: .8125rem;--text-md: .875rem;--text-lg: 1.0625rem;--text-xl: 1.1875rem;--text-2xl: 1.375rem;--text-3xl: 1.625rem;--osi-font-normal: 400;--osi-font-medium: 500;--osi-font-semibold: 600;--osi-font-bold: 700;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--osi-leading-tight: 1.25;--osi-leading-snug: 1.375;--osi-leading-normal: 1.5;--osi-leading-relaxed: 1.625;--osi-leading-loose: 2;--leading-tight: 1.2;--leading-snug: 1.3;--leading-normal: 1.4;--leading-relaxed: 1.5;--leading-loose: 1.75;--osi-tracking-tight: -.025em;--osi-tracking-normal: 0;--osi-tracking-wide: .025em;--osi-tracking-wider: .05em;--osi-surface: hsl(0, 0%, 10%);--osi-surface-raised: hsl(0, 0%, 15%);--osi-surface-hover: hsl(0, 0%, 20%);--osi-surface-subtle: hsl(0, 0%, 12%);--osi-foreground: var( --foreground, hsl(0, 0%, 95%) );--osi-foreground-strong: var(--foreground, hsl(0, 0%, 100%));--osi-muted-foreground: var( --muted-foreground, hsl(0, 0%, 60%) );--osi-disabled-foreground: var(--muted-foreground, hsl(0, 0%, 40%));--osi-accent: hsl(25, 100%, 50%);--osi-accent-bright: hsl(25, 100%, 60%);--osi-accent-muted: hsl(25, 50%, 40%);--osi-success: hsl(142, 71%, 45%);--osi-success-bg: hsla(142, 71%, 45%, .15);--osi-success-bright: hsl(142, 71%, 55%);--osi-error: hsl(0, 84%, 60%);--osi-error-bg: hsla(0, 84%, 60%, .15);--osi-error-bright: hsl(0, 84%, 70%);--osi-warning: hsl(45, 93%, 47%);--osi-warning-bg: hsla(45, 93%, 47%, .15);--osi-warning-bright: hsl(45, 93%, 57%);--osi-info: hsl(221, 83%, 53%);--osi-info-bg: hsla(221, 83%, 53%, .15);--osi-info-bright: hsl(221, 83%, 63%);--osi-border: hsla(0, 0%, 100%, .2);--osi-border-muted: hsla(0, 0%, 100%, .06);--osi-border-strong: hsla(0, 0%, 100%, .35);--osi-radius-none: 0;--osi-radius-xs: 2px;--osi-radius-sm: 4px;--osi-radius-md: 8px;--osi-radius-lg: 12px;--osi-radius-xl: 16px;--osi-radius-full: 9999px;--osi-shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--osi-shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--osi-shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--osi-shadow-xl: 0 20px 25px rgba(0, 0, 0, .15);--osi-shadow-2xl: 0 25px 50px rgba(0, 0, 0, .25);--osi-duration-fast: .15s;--osi-duration-normal: .2s;--osi-duration-medium: .3s;--osi-duration-slow: .6s;--osi-ease-linear: linear;--osi-ease-in: cubic-bezier(.4, 0, 1, 1);--osi-ease-out: cubic-bezier(0, 0, .2, 1);--osi-ease-in-out: cubic-bezier(.4, 0, .2, 1);--osi-ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--osi-z-base: 0;--osi-z-raised: 10;--osi-z-dropdown: 100;--osi-z-fixed: 300;--osi-z-modal: 400;--osi-z-popover: 500;--osi-z-tooltip: 600;--osi-grid-gap: var(--osi-spacing-md);--osi-grid-row-gap: var(--osi-grid-gap);--osi-grid-column-gap: var(--osi-grid-gap);--osi-grid-min-small: 140px;--osi-grid-min-medium: 200px;--osi-grid-min-large: 300px;--osi-grid-min-xs: 120px;--osi-grid-min-sm: 140px;--osi-grid-min-md: 160px;--osi-grid-min-lg: 180px;--osi-grid-min-xl: 200px;--osi-grid-min-2xl: 250px;--osi-grid-min-3xl: 280px;--osi-grid-min-4xl: 300px;--osi-card-min-height: 90px;--osi-card-min-height-large: 120px;--osi-card-min-height-xs: 70px;--osi-card-min-height-sm: 80px;--osi-card-min-height-md: 90px;--osi-card-min-height-lg: 95px;--osi-card-min-height-xl: 110px}@media (prefers-color-scheme: dark){:root{--osi-surface: hsl(0, 0%, 8%);--osi-surface-raised: hsl(0, 0%, 12%);--osi-surface-hover: hsl(0, 0%, 16%);--osi-border-muted: hsla(0, 0%, 100%, .04)}}@media (prefers-contrast: high){:root{--osi-border: hsla(0, 0%, 100%, .4);--osi-border-strong: hsla(0, 0%, 100%, .6)}}@media (prefers-reduced-motion: reduce){:root{--osi-duration-fast: 0ms;--osi-duration-normal: 0ms;--osi-duration-medium: 0ms;--osi-duration-slow: 0ms}}.osi-card-container{container-type:inline-size;container-name:card;--card-padding: 4px;--card-gap: .5rem;--card-title-size: 1rem;--section-title-size: .875rem;--field-label-size: .75rem;--field-value-size: .875rem}.masonry-container{--masonry-columns: 1}@media (min-width: 480px){.masonry-container{--masonry-columns: 2}}@media (min-width: 1024px){.masonry-container{--masonry-columns: 3}}@media (min-width: 1280px){.masonry-container{--masonry-columns: 4}}@container card (min-width: 400px){.masonry-container--container-responsive{--masonry-columns: 2}}@container card (min-width: 700px){.masonry-container--container-responsive{--masonry-columns: 3}}@container card (min-width: 1000px){.masonry-container--container-responsive{--masonry-columns: 4}}.ai-section--info .section-field-grid{grid-template-columns:1fr}@media (min-width: 480px){.ai-section--info .section-field-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.ai-section--info .section-field-grid{grid-template-columns:repeat(3,1fr)}}.ai-section--analytics .metric-grid{grid-template-columns:1fr}@media (min-width: 320px){.ai-section--analytics .metric-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 768px){.ai-section--analytics .metric-grid{grid-template-columns:repeat(3,1fr)}}.ai-section--analytics .metric-value{font-size:var(--text-2xl)}.ai-section--timeline .timeline-items{flex-direction:column}@media (min-width: 1024px){.ai-section--timeline .timeline-items{flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory}.ai-section--timeline .timeline-items>*{scroll-snap-align:start;min-width:280px}}.ai-section--contact .contact-grid{grid-template-columns:1fr}@media (min-width: 480px){.ai-section--contact .contact-grid{grid-template-columns:repeat(2,1fr)}}.text-responsive{font-size:.875rem;line-height:1.5}.heading-responsive{font-size:1.25rem;line-height:1.2}.space-responsive{padding:.5rem}.gap-responsive{gap:.5rem}.touch-target{min-height:44px;min-width:44px}@media (min-width: 1024px){.touch-target{min-height:36px;min-width:36px}}@media (max-width: 767px){.hide-mobile{display:none!important}}@media (min-width: 768px){.hide-desktop{display:none!important}}.show-mobile{display:none!important}@media (max-width: 767px){.show-mobile{display:block!important}}.show-desktop{display:none!important}@media (min-width: 768px){.show-desktop{display:block!important}}@media print{.osi-card-container{--card-padding: 1rem;box-shadow:none;border:1px solid #ddd;break-inside:avoid}.masonry-container{--masonry-columns: 2;display:block}.masonry-container .masonry-item{break-inside:avoid;margin-bottom:1rem}.hide-print{display:none!important}}:root{--spacing-none: 0;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-base: 16px;--spacing-lg: 20px;--spacing-xl: 28px;--spacing-2xl: 40px;--spacing-3xl: 56px;--spacing-compact-xs: 3px;--spacing-compact-sm: 6px;--spacing-compact-md: 9px;--spacing-compact-base: 12px;--spacing-compact-lg: 16px;--section-card-min-height: 110px;--section-card-compact-height: 90px;--section-header-gap: 2px;--section-content-gap: var(--spacing-sm);--section-card-gap: var(--spacing-md);--section-card-padding: var(--spacing-md)}:root{--text-xs: .6875rem;--text-sm: .75rem;--text-base: .8125rem;--text-md: .875rem;--text-lg: 1.0625rem;--text-xl: 1.1875rem;--text-2xl: 1.375rem;--text-3xl: 1.625rem;--text-4xl: 2rem;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--leading-tight: 1.2;--leading-snug: 1.3;--leading-normal: 1.4;--leading-relaxed: 1.5;--leading-loose: 1.75}:root{--radius-none: 0;--radius-xs: 2px;--radius-sm: 3px;--radius-md: 5px;--radius-lg: 7px;--radius-xl: 10px;--radius-2xl: 14px;--radius-full: 9999px}:root{--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .05);--glow-sm: 0 0 10px rgba(var(--accent-rgb), .15);--glow-md: 0 0 20px rgba(var(--accent-rgb), .2);--glow-lg: 0 0 30px rgba(var(--accent-rgb), .25)}@media (prefers-color-scheme: dark){:root{--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .2);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .3), 0 1px 2px -1px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -2px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -4px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .5), 0 8px 10px -6px rgba(0, 0, 0, .5)}}:root{--duration-fast: .15s;--duration-base: .2s;--duration-slow: .3s;--duration-slower: .5s;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--ease-smooth: cubic-bezier(.4, 0, .6, 1);--transition-base: all var(--duration-base) var(--ease-out);--transition-fast: all var(--duration-fast) var(--ease-out);--transition-slow: all var(--duration-slow) var(--ease-out);--transition-colors: background-color var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out);--transition-shadow: box-shadow var(--duration-base) var(--ease-out);--transition-transform: transform var(--duration-base) var(--ease-out)}:root{--z-base: 1;--z-dropdown: 100;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-toast: 800;--z-max: 9999}:root{--blur-none: 0;--blur-sm: 4px;--blur-md: 8px;--blur-lg: 16px;--blur-xl: 24px;--glass-bg: rgba(255, 255, 255, .7);--glass-border: rgba(255, 255, 255, .2);--glass-blur: var(--blur-md)}@media (prefers-color-scheme: dark){:root{--glass-bg: rgba(0, 0, 0, .4);--glass-border: rgba(255, 255, 255, .1)}}:root{--opacity-0: 0;--opacity-5: .05;--opacity-10: .1;--opacity-20: .2;--opacity-30: .3;--opacity-40: .4;--opacity-50: .5;--opacity-60: .6;--opacity-70: .7;--opacity-80: .8;--opacity-90: .9;--opacity-100: 1}:root{--surface-base: var(--osi-section-item-background);--surface-raised: var(--osi-section-item-background-hover);--surface-overlay: var(--glass-bg);--border-light: rgba(var(--foreground-rgb), .08);--border-base: var(--border);--border-strong: rgba(var(--foreground-rgb), .2);--state-hover-opacity: .08;--state-active-opacity: .12;--state-focus-opacity: .16;--state-disabled-opacity: .5}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes fade-in-up{0%{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes fade-in-scale{0%{opacity:0;transform:translateZ(0) scale(.95)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes metal-sweep-ltr{0%{transform:translate(-100%);opacity:0}20%{opacity:.3}50%{opacity:.5}80%{opacity:.3}to{transform:translate(200%);opacity:0}}@keyframes metal-sweep-rtl{0%{transform:translate(200%);opacity:0}20%{opacity:.3}50%{opacity:.5}80%{opacity:.3}to{transform:translate(-100%);opacity:0}}@keyframes section-fade-in{0%{opacity:0}to{opacity:1}}@keyframes section-fade-in-up{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.unified-card,.section-card,[class*=__card],[class*=-card],[class*=__item],[class*=-item],.metric-card,.list-item,.analytics-card{transition:none!important;animation:none!important}.unified-card:hover,.section-card:hover,[class*=__card]:hover,[class*=-card]:hover,[class*=__item]:hover,[class*=-item]:hover,.metric-card:hover,.list-item:hover,.analytics-card:hover{transform:none!important}}.unified-card{background:var(--osi-section-item-background);border:var(--osi-section-item-border);border-radius:var(--osi-section-item-border-radius);box-shadow:var(--osi-section-item-shadow);padding:var(--osi-section-item-padding-normal);display:flex;flex-direction:column;gap:var(--osi-section-item-gap);min-height:var(--card-min-height, auto);cursor:pointer;overflow-x:hidden;width:100%!important;max-width:100%!important;box-sizing:border-box!important;text-align:left;word-wrap:break-word;overflow-wrap:break-word;transition:var(--osi-section-item-transition);position:relative;overflow:hidden}.unified-card:before{content:\"\";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;border-radius:inherit;animation:none;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%);width:50%;mix-blend-mode:overlay}.unified-card:hover:before{opacity:1;animation:metal-sweep-ltr .23s ease-out forwards}.unified-card:not(:hover):before{animation:none;opacity:0}@media (prefers-reduced-motion: reduce){.unified-card:before{display:none}}.unified-card:hover{border-color:var(--osi-section-item-border-hover-enhanced-color);box-shadow:var(--osi-section-item-shadow-hover-enhanced)}.unified-card:focus-visible{outline:none}@media (prefers-reduced-motion: reduce){.unified-card{transition:none}}.section-card{background:var(--osi-section-item-background);border:var(--osi-section-item-border);border-radius:var(--osi-section-item-border-radius);box-shadow:var(--osi-section-item-shadow);padding:var(--osi-section-item-padding-normal);display:flex;flex-direction:column;gap:var(--osi-section-item-gap);min-height:var(--card-min-height, auto);cursor:pointer;overflow-x:hidden;width:100%!important;max-width:100%!important;box-sizing:border-box!important;text-align:left;word-wrap:break-word;overflow-wrap:break-word;transition:var(--osi-section-item-transition);position:relative;overflow:hidden}.section-card:before{content:\"\";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;border-radius:inherit;animation:none;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%);width:50%;mix-blend-mode:overlay}.section-card:hover:before{opacity:1;animation:metal-sweep-ltr .23s ease-out forwards}.section-card:not(:hover):before{animation:none;opacity:0}@media (prefers-reduced-motion: reduce){.section-card:before{display:none}}.section-card:hover{border-color:var(--osi-section-item-border-hover-enhanced-color);box-shadow:var(--osi-section-item-shadow-hover-enhanced)}.section-card:focus-visible{outline:none}@media (prefers-reduced-motion: reduce){.section-card{transition:none}}.section-card{width:100%!important;max-width:100%!important;box-sizing:border-box!important}.section-item{transition:border-color var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),box-shadow var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),var(--osi-section-item-transition);position:relative;overflow:hidden}.section-item:hover{border-color:var(--osi-section-item-border-hover-enhanced-color)!important;box-shadow:var(--osi-section-item-shadow-hover-enhanced)!important;background:var(--osi-section-item-background)!important}@media (prefers-reduced-motion: reduce){.section-item{transition:none}.section-item:after{display:none}}.status--completed,.status--success{color:#22c55e;background:#22c55e1a}.status--active,.status--in-progress{color:var(--accent);background:#ff79001a}.status--pending,.status--warning{color:#f59e0b;background:#f59e0b1a}.status--blocked,.status--cancelled,.status--delayed,.status--inactive,.status--error{color:#ef4444;background:#ef44441a}.status--default{color:var(--muted-foreground);background:var(--muted)}.priority--high{color:#ef4444;background:#ef44441a}.priority--medium{color:#f59e0b;background:#f59e0b1a}.priority--low{color:#22c55e;background:#22c55e1a}.priority--default{color:var(--muted-foreground);background:var(--muted)}.masonry-container .masonry-item:nth-child(4n+1) .section-item:before,.masonry-container .masonry-item:nth-child(4n+1) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+1) .section-card:before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+2) .section-item:before,.masonry-container .masonry-item:nth-child(4n+2) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+2) .section-card:before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):before{background:linear-gradient(270deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container .masonry-item:nth-child(4n+1) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+1) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+1) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+2) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+2) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+2) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-rtl .23s ease-out forwards!important}.masonry-container .masonry-item:nth-child(4n+3) .section-item:before,.masonry-container .masonry-item:nth-child(4n+3) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+3) .section-card:before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+4) .section-item:before,.masonry-container .masonry-item:nth-child(4n+4) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+4) .section-card:before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-item:before,.masonry-container .masonry-item[data-col-span=\"3\"] .unified-card:before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-card:before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-item:before,.masonry-container .masonry-item[data-col-span=\"4\"] .unified-card:before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-card:before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-item:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .unified-card:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-card:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-item:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .unified-card:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-card:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):before{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container .masonry-item:nth-child(4n+3) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+3) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+3) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+4) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+4) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+4) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-item:hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] .unified-card:hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-card:hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-item:hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] .unified-card:hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-card:hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-item:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .unified-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-item:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .unified-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-ltr .23s ease-out forwards!important}@supports (grid-template-rows: masonry){.masonry-container--native .masonry-item:nth-child(4n+1) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+1) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+1) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+2) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):before{background:linear-gradient(270deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container--native .masonry-item:nth-child(4n+1) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-rtl .23s ease-out forwards!important}.masonry-container--native .masonry-item:nth-child(4n+3) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+3) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+3) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+4) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):before{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container--native .masonry-item:nth-child(4n+3) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-ltr .23s ease-out forwards!important}}@media (prefers-reduced-motion: reduce){.unified-card,.section-card,[class*=__card],[class*=-card],[class*=__item],[class*=-item]{transition:none;animation:none}}@keyframes item-stream{0%{opacity:0;transform:translate3d(0,var(--osi-motion-distance-sm, 8px),0)}to{opacity:1;transform:translateZ(0)}}.ai-section h1,.ai-section h2,.ai-section h3,.ai-section h4,.ai-section h5,.ai-section h6,.ai-section [class*=title],.ai-section [class*=heading],.ai-section [class*=header]{margin-bottom:.05em!important;line-height:1.3!important}.ai-section br{margin-top:.05em!important;line-height:1.3!important}.ai-section p,.ai-section div,.ai-section span{line-height:1.3!important}.ai-section h1+p,.ai-section h1+div,.ai-section h1+span,.ai-section h2+p,.ai-section h2+div,.ai-section h2+span,.ai-section h3+p,.ai-section h3+div,.ai-section h3+span,.ai-section h4+p,.ai-section h4+div,.ai-section h4+span,.ai-section h5+p,.ai-section h5+div,.ai-section h5+span,.ai-section h6+p,.ai-section h6+div,.ai-section h6+span,.ai-section [class*=title]+p,.ai-section [class*=title]+div,.ai-section [class*=title]+span,.ai-section [class*=heading]+p,.ai-section [class*=heading]+div,.ai-section [class*=heading]+span,.ai-section [class*=header]+p,.ai-section [class*=header]+div,.ai-section [class*=header]+span{margin-top:.05em!important}.ai-section.ai-section--overview .overview-item--single-text .overview-item__value--single-text br{margin-top:7px!important;height:7px!important;line-height:1.3!important;display:block!important;content:\"\"}.ai-section{--section-accent: var(--osi-section-accent);--section-border: var(--osi-section-border);--section-border-hover: var(--osi-section-border-hover);--section-box-shadow: var(--osi-section-shadow);--section-background: var(--osi-section-background);--section-background-hover: var(--osi-section-background-hover);--section-backdrop-filter: var(--osi-section-backdrop-filter);--section-spacing-bottom: var(--osi-section-spacing-bottom, 12px);--section-glow-background: var(--osi-section-glow-background);--section-glow-opacity-hover: var(--osi-section-glow-opacity-hover);--section-title-underline-length: var(--osi-section-title-underline-length);--section-title-underline-hover-length: var(--osi-section-title-underline-hover-length);--section-title-underline-height: var(--osi-section-title-underline-height);--section-title-underline-offset: var(--osi-section-title-underline-offset);--section-title-hover-color: var(--osi-section-title-hover-color);width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;margin-bottom:var(--section-spacing-bottom, 12px)!important;margin-top:0!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;contain:layout style;transition:border-color var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),box-shadow var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1)}.ai-section *{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.ai-section:not(.masonry-item .ai-section){position:relative;display:flex;flex-direction:column;gap:var(--section-card-gap);padding:0!important;border-radius:var(--osi-section-item-border-radius);background:var(--section-background);border:var(--section-border);box-shadow:var(--section-box-shadow);width:100%!important;max-width:100%!important;box-sizing:border-box!important;transition:border-color var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),box-shadow var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1)}.ai-section:not(.masonry-item .ai-section):hover{border-color:var(--osi-section-border-hover-enhanced-color);box-shadow:var(--osi-section-shadow-hover-enhanced)}@media (prefers-reduced-motion: reduce){.ai-section:not(.masonry-item .ai-section){transition:none}}.masonry-item .ai-section{display:flex!important;flex-direction:column!important;gap:var(--osi-section-gap, 8px)!important;height:auto!important}.ai-section:hover{border-color:var(--osi-section-border-hover-enhanced-color);box-shadow:var(--osi-section-shadow-hover-enhanced)}@media (prefers-reduced-motion: reduce){.ai-section{transition:none}}.ai-section__header{display:flex;flex-direction:column;gap:var(--osi-section-header-gap);width:100%;box-sizing:border-box;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;padding:0 0 var(--osi-section-header-padding-bottom) 0!important;border-bottom:none!important;background:transparent!important;margin:0!important;flex-wrap:wrap!important;gap:var(--osi-section-header-gap)!important;text-align:left!important}.ai-section__title{font-size:var(--section-title-font-size, .9375rem);font-weight:var(--section-title-font-weight, 700);letter-spacing:var(--section-title-letter-spacing, -.02em);line-height:var(--section-title-line-height, 1.3);color:var(--card-text-primary, #1c1c1f);margin:0;font-size:var(--osi-section-title-font-size)!important;font-weight:700!important;letter-spacing:var(--osi-section-title-letter-spacing)!important;line-height:var(--osi-section-title-line-height)!important;color:var(--osi-section-title-color)!important;opacity:1!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;position:relative!important;transition:var(--osi-section-title-transition)!important;padding:0!important;margin:0 0 var(--osi-section-title-margin-bottom) 0!important;text-align:left!important;font-family:inherit!important;border:none!important}.ai-section__title:before{content:\"\"!important;position:absolute!important;left:0!important;bottom:var(--osi-section-title-underline-offset)!important;width:var(--osi-section-title-underline-length)!important;height:var(--osi-section-title-underline-height)!important;background:var(--osi-section-title-underline-color)!important;border-radius:var(--radius-xs)!important;transition:width .22s ease,opacity .22s ease!important;transform-origin:left!important;opacity:.6!important}.ai-section__title:hover{color:var(--osi-section-title-color)!important}.ai-section__title:hover:before{width:var(--osi-section-title-underline-hover-length)!important;opacity:1!important}.ai-section__icon{display:none!important;width:var(--icon-size-section)!important;height:var(--icon-size-section)!important}.ai-section__details{display:flex!important;flex-direction:column!important;gap:var(--osi-section-header-gap)!important;align-items:flex-start!important;text-align:left!important}.ai-section__description{font-size:var(--section-description-font-size, .75rem);font-weight:400;color:var(--card-text-secondary, rgba(28, 28, 31, .6));line-height:1.3;margin:0;color:var(--osi-section-description-color)!important;letter-spacing:.01em!important;line-height:1.2!important;font-weight:400!important;overflow:hidden!important;text-overflow:ellipsis!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;margin-top:0!important;padding-top:0!important;text-align:left!important;transition:var(--osi-section-description-transition)!important;font-family:inherit!important}.ai-section:hover .ai-section__description{color:var(--osi-section-description-color-hover)!important}.ai-section__badge{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;font-size:.55rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:#ff7900;background:#ff79001a;border-radius:4px;white-space:nowrap;display:none!important;padding:var(--tag-padding-y-sm) var(--tag-padding-x)!important;border-radius:var(--radius-sm)!important}.ai-section--contact-card .ai-section__badge,.ai-section--solutions .ai-section__badge,.ai-section--event .ai-section__badge,.ai-section--chart .ai-section__badge,.ai-section--financials .ai-section__badge{display:none!important;align-items:center!important;padding:var(--osi-section-badge-padding)!important;background:var(--osi-section-badge-bg)!important;color:var(--osi-section-badge-color)!important;border:none!important;box-shadow:none!important;border-radius:var(--osi-section-border-radius)!important;font-size:var(--card-meta-font-size, .6rem)!important;font-weight:var(--card-meta-font-weight, 500)!important;transition:opacity .2s ease,background .2s ease!important;line-height:1.2!important}.ai-section:hover .ai-section__badge{opacity:1!important;background:var(--osi-section-badge-bg-hover)!important}.ai-section__body{display:flex;flex-direction:column;gap:var(--osi-section-gap-internal);width:100%;box-sizing:border-box;padding:0!important;margin:0!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}.ai-section .section-empty{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;padding:var(--osi-section-padding)!important;text-align:center!important;color:var(--muted-foreground)!important;min-height:auto!important;border-radius:var(--radius-md)!important;background:var(--osi-section-empty-bg)!important;border:var(--osi-section-empty-border)!important;transition:opacity .2s ease,background .2s ease!important}.ai-section .section-empty lucide-icon{margin-bottom:var(--osi-section-gap)!important;opacity:var(--osi-section-empty-icon-opacity)!important;color:var(--accent)!important;transition:all .2s ease!important}.ai-section .section-empty p{font-size:var(--font-section-description, .85rem)!important;margin:0!important;font-weight:500!important;font-family:inherit!important}.ai-section .section-empty:hover{background:var(--osi-section-empty-bg-hover)!important;border-color:var(--osi-section-empty-border-hover)!important}.ai-section .section-empty:hover lucide-icon{opacity:var(--osi-section-empty-icon-opacity-hover)!important}.ai-section--info{--section-accent: var(--osi-section-accent-info)}.ai-section--analytics{--section-accent: var(--osi-section-accent-analytics)}.ai-section--financials{--section-accent: var(--osi-section-accent-financials)}.ai-section--map{--section-accent: var(--osi-section-accent-map)}.ai-section--network-card{--section-accent: var(--osi-section-accent-network)}.ai-section--contact-card{--section-accent: var(--osi-section-accent-contact)}.ai-section--product{--section-accent: var(--osi-section-accent-product)}.ai-section--solutions{--section-accent: var(--osi-section-accent-solutions)}.ai-section--overview{--section-accent: var(--osi-section-accent-overview)}.ai-section--overview .ai-section__title{font-size:calc(var(--osi-section-title-font-size) - 1.5px)!important}.ai-section--list,.ai-section--info-list{--section-accent: var(--osi-section-accent-list)}.ai-section--event{--section-accent: var(--osi-section-accent-event)}.ai-section--chart{--section-accent: var(--osi-section-accent-chart)}.ai-section--text-reference{--section-accent: var(--osi-section-accent-reference)}.ai-section--quotation{--section-accent: var(--osi-section-accent-quotation)}.ai-card-surface--fullscreen .ai-section{--section-padding: var(--osi-section-padding);--section-spacing-bottom: var(--osi-section-spacing-bottom);--section-gap: var(--osi-section-gap);--section-gap-internal: var(--osi-section-gap-internal);--section-title-underline-length: var(--osi-section-title-underline-length);--section-title-underline-hover-length: var(--osi-section-title-underline-hover-length);--section-title-underline-height: var(--osi-section-title-underline-height);--section-title-underline-offset: var(--osi-section-title-underline-offset);--section-box-shadow: none !important;--section-box-shadow-hover: none !important}.ai-card-surface--fullscreen .masonry-item,.ai-card-surface--fullscreen .masonry-item:hover{box-shadow:var(--osi-section-shadow-fullscreen)!important}.ai-card-surface--fullscreen .ai-section__header{padding:0 0 var(--osi-section-header-padding-bottom) 0!important;gap:var(--osi-section-header-gap)!important}.ai-card-surface--fullscreen .ai-section__title{font-size:var(--card-title-font-size, .95rem)!important}.ai-card-surface--fullscreen .ai-section__body{gap:var(--osi-section-gap-internal)!important}.ai-card-surface--fullscreen .ai-section__description{font-size:var(--card-meta-font-size, .6rem)!important;margin-top:0!important;padding-top:0!important}.section-content{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;padding:0!important;margin:0!important}.section-content>*{width:100%!important;max-width:100%!important;box-sizing:border-box!important}.ai-section--faq,.ai-section--faq .list,.ai-section--faq .item{min-width:0!important;width:100%!important;max-width:100%!important}:host{display:block;width:100%}.solutions-container{display:flex;flex-direction:column;gap:var(--osi-section-item-gap)!important}.solutions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--osi-section-item-gap)!important;width:100%;box-sizing:border-box}@media (max-width: 767px){.solutions-grid{grid-template-columns:repeat(2,1fr);gap:var(--osi-section-item-gap)}}@media (max-width: 479px){.solutions-grid{grid-template-columns:1fr;gap:var(--osi-section-item-gap)}}.section-item{background:var(--osi-section-item-background);border:var(--osi-section-item-border);border-radius:var(--osi-section-item-border-radius);box-shadow:var(--osi-section-item-shadow);padding:var(--osi-section-item-padding-normal);min-height:var(--card-min-height, auto);cursor:pointer;overflow-x:hidden;width:100%!important;max-width:100%!important;box-sizing:border-box!important;word-wrap:break-word;overflow-wrap:break-word;min-height:180px;display:flex;flex-direction:column;gap:var(--osi-section-item-gap);text-align:left;align-items:stretch;transition:var(--osi-section-item-transition);position:relative;overflow:hidden}.section-item:focus-visible{outline:none}@media (prefers-reduced-motion: reduce){.section-item{transition:none}}.section-item>*{margin-left:0!important;margin-right:0!important;padding-left:0;padding-right:0}.section-item:before{content:\"\";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;border-radius:inherit;animation:none;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%);width:50%;mix-blend-mode:overlay}.section-item:hover:before{opacity:1;animation:metal-sweep-ltr .23s ease-out forwards}.section-item:not(:hover):before{animation:none;opacity:0}@media (prefers-reduced-motion: reduce){.section-item:before{display:none}}.section-item:hover{border-color:var(--osi-section-item-border-hover-enhanced-color);box-shadow:var(--osi-section-item-shadow-hover-enhanced)}.section-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:var(--shadow-lg),0 0 0 4px rgba(var(--accent-rgb, 255, 121, 0),.1)}@media (prefers-reduced-motion: reduce){.section-item{transition:none}.section-item:hover{box-shadow:var(--shadow-md)}}.section-item:after{content:\"\";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent) 0%,transparent 100%);opacity:0;transition:opacity var(--osi-section-item-transition);top:auto!important}.section-item:hover:after{opacity:.8}.section-item:hover .solution-title{color:var(--accent)}.solution-header{display:flex;flex-direction:column;align-items:flex-start;gap:var(--osi-section-item-gap-xs);width:100%;margin:0;padding:0}.solution-title-row{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;width:100%;gap:var(--osi-section-item-gap);margin:0;padding:0;flex-wrap:nowrap}.solution-logo-container{flex-shrink:0;flex-grow:0;pointer-events:auto;line-height:0;margin:0;padding:0;align-self:flex-start;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;order:2;box-sizing:border-box;min-width:16px;max-width:16px;min-height:16px;max-height:16px;overflow:hidden;transition:opacity var(--osi-section-item-transition),transform var(--osi-section-item-transition)}.solution-logo-container.clickable:hover{opacity:.8;transform:scale(1.1)}.solution-logo-container.clickable:active{transform:scale(.95)}.solution-logo{width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;max-width:16px!important;max-height:16px!important;display:block;cursor:pointer;flex-shrink:0;margin:0;padding:0;aspect-ratio:1/1;box-sizing:border-box}.solution-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--foreground);margin:0;padding:0;line-height:var(--leading-normal);text-align:left;transition:color var(--osi-section-item-transition);flex:1 1 auto;min-width:0;white-space:normal;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word}.solution-category{font-size:var(--text-xs);font-weight:var(--font-medium);line-height:var(--leading-tight);color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.05em;opacity:.7;text-align:left;margin:0;padding:0}.solution-description{font-size:var(--text-sm);font-weight:var(--font-normal);line-height:var(--leading-normal);color:var(--foreground);color:var(--muted-foreground);line-height:var(--leading-relaxed);margin:0;padding:0;margin-bottom:var(--osi-section-item-gap);opacity:.9;text-align:left;width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-break:break-word;max-width:100%;box-sizing:border-box;overflow-wrap:break-word;word-wrap:break-word;transition:opacity var(--osi-section-item-transition),color var(--osi-section-item-transition)}.solution-description.expanded{display:block;-webkit-line-clamp:unset;overflow:visible;word-break:break-word;overflow-wrap:break-word;word-wrap:break-word;max-width:100%;box-sizing:border-box}.solution-description-expand-button{background:none;border:none;font-size:.7rem;font-weight:var(--font-medium);cursor:pointer;padding:var(--osi-spacing-compact-xs, 2px) 0;transition:opacity .2s var(--ease-out);margin:var(--osi-section-item-gap-xs) 0 0 0;padding:0;align-self:flex-start;font-size:var(--text-sm);color:var(--accent);text-align:left}.solution-description-expand-button:hover{text-decoration:underline;opacity:.8}.solution-description-expand-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.solution-description-expand-button:hover{text-decoration:underline}.solution-benefits{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--osi-section-item-gap-xs);flex:1;text-align:left;width:100%}.solution-benefits li{font-size:var(--text-sm);color:var(--muted-foreground);padding:0 0 0 18px;margin:0;position:relative;line-height:var(--leading-normal);text-align:left}.solution-benefits li:before{content:\"\\2713\";position:absolute;left:0;color:var(--accent);font-size:var(--text-sm);font-weight:var(--font-bold)}.solution-more{align-self:flex-start;margin:0;margin-bottom:var(--osi-section-item-gap);padding:0;border:0;background:transparent;color:var(--accent);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;line-height:var(--leading-tight);text-align:left}.solution-more:hover{text-decoration:underline}.solution-more:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--osi-radius-sm)}.solution-score{display:flex;flex-direction:column;gap:var(--osi-section-item-gap-xs);margin:var(--osi-section-item-gap) 0 0 0;padding:0;width:100%}.solution-score-label{display:flex;align-items:center;justify-content:space-between;font-size:var(--text-xs);color:var(--muted-foreground);font-weight:var(--font-medium);margin:0;padding:0}.solution-score-value{font-weight:var(--font-semibold);color:var(--accent, var(--color-brand, #ff7900))}.solution-score-bar{width:100%;height:6px;background:color-mix(in srgb,var(--accent, var(--color-brand, #ff7900)) 15%,transparent);border-radius:var(--osi-radius-sm, 3px);overflow:hidden;position:relative}.solution-score-fill{height:100%;background:linear-gradient(90deg,var(--accent, var(--color-brand, #ff7900)) 0%,var(--osi-accent-bright, var(--color-brand-light, #ff9933)) 100%);border-radius:var(--osi-radius-sm, 3px);transition:width .3s ease;box-shadow:0 0 4px color-mix(in srgb,var(--accent, var(--color-brand, #ff7900)) 40%,transparent)}.solution-meta{display:flex;align-items:center;justify-content:flex-start;gap:var(--osi-section-item-gap);margin:auto 0 0;padding:var(--osi-section-item-padding-compact) 0 0 0;border-top:1px solid var(--border);width:100%}.delivery-time,.solution-meta-label{font-size:var(--text-sm);color:var(--muted-foreground);opacity:.7;text-align:left;margin:0;padding:0;display:inline-flex;align-items:center;gap:4px}@media (max-width: 479px){.section-item{min-height:160px}.solution-description{font-size:var(--text-sm)}}\n"] }]
21868
+ args: [{ selector: 'lib-solutions-section', standalone: true, imports: [CommonModule, SectionHeaderComponent, EmptyStateComponent, TooltipDirective], template: "<div class=\"ai-section ai-section--solutions section-content\">\n <!-- Section Header -->\n <lib-section-header [title]=\"section.title\" [description]=\"section.description\"> </lib-section-header>\n\n <!-- Solutions Grid -->\n <div class=\"solutions-grid\" #solutionsGrid *ngIf=\"section.fields && section.fields.length > 0\">\n <div class=\"section-item\" *ngFor=\"let solution of section.fields; let i = index\" [class.expanded]=\"isExpanded(i)\">\n <!-- Solution Header -->\n <div class=\"solution-header\">\n <!-- Title and Logo on same line -->\n <div class=\"solution-title-row\">\n <h4 class=\"solution-title\">{{ solution.title }}</h4>\n <!-- Expresso Logo -->\n <div\n class=\"solution-logo-container\"\n [class.clickable]=\"solution.expressoLink\"\n (click)=\"onExpressoLogoClick(solution)\"\n [style.cursor]=\"solution.expressoLink ? 'pointer' : 'default'\"\n >\n <svg\n class=\"solution-logo\"\n viewBox=\"0 0 16 16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n preserveAspectRatio=\"xMidYMid meet\"\n [appTooltip]=\"getExpressoTooltip(solution)\"\n tooltipPosition=\"top\"\n [tooltipDelay]=\"200\"\n [tooltipDisabled]=\"!solution.expressoLink\"\n [attr.role]=\"solution.expressoLink ? 'button' : 'img'\"\n [attr.aria-label]=\"solution.expressoLink ? 'Open Expresso product page' : 'Expresso logo'\"\n width=\"16\"\n height=\"16\"\n >\n <!-- Orange square background -->\n <rect width=\"16\" height=\"16\" fill=\"#ff7e00\" />\n <!-- White circular \"O\" - large and prominent -->\n <circle cx=\"8\" cy=\"8\" r=\"5.6\" fill=\"none\" stroke=\"white\" stroke-width=\"1.6\" />\n <!-- White banner with expresso text, positioned diagonally from top right -->\n <g transform=\"translate(8, 8) rotate(35) translate(-8, -8)\">\n <rect x=\"7.2\" y=\"2.4\" width=\"8\" height=\"3.2\" fill=\"white\" rx=\"0.64\" />\n <text\n x=\"11.2\"\n y=\"4.48\"\n font-family=\"Arial, sans-serif\"\n font-size=\"1.76\"\n font-weight=\"600\"\n fill=\"#ff7e00\"\n text-anchor=\"middle\"\n dominant-baseline=\"middle\"\n >\n expresso\n </text>\n </g>\n </svg>\n </div>\n </div>\n <span class=\"solution-category\" *ngIf=\"solution.category\">{{ solution.category }}</span>\n </div>\n\n <!-- Solution Description -->\n <p class=\"solution-description\" *ngIf=\"solution.description\">\n {{ solution.description }}\n </p>\n\n <!-- Benefits -->\n <ul class=\"solution-benefits\" *ngIf=\"solution.benefits && solution.benefits.length > 0\">\n <li *ngFor=\"let benefit of getVisibleBenefits(solution.benefits, i)\">{{ benefit }}</li>\n </ul>\n\n <button class=\"solution-more\" type=\"button\" *ngIf=\"shouldShowMoreButton(solution, i)\" (click)=\"toggleExpanded(i)\">\n {{ isExpanded(i) ? 'Show less' : '+' + getRemainingBenefitsCount(solution) + ' more' }}\n </button>\n\n <!-- Match Score Bar -->\n <div class=\"solution-score\" *ngIf=\"solution.score !== undefined && solution.score !== null\">\n <div class=\"solution-score-label\">\n <span>Match Score</span>\n <span class=\"solution-score-value\">{{ solution.score }}/10</span>\n </div>\n <div class=\"solution-score-bar\">\n <div class=\"solution-score-fill\" [style.width.%]=\"getScorePercentage(solution)\"></div>\n </div>\n </div>\n\n <!-- Meta Info -->\n <div class=\"solution-meta\">\n <span class=\"solution-meta-label\" *ngIf=\"getMetaLabel(solution) as label\">\n {{ label }}\n </span>\n </div>\n </div>\n </div>\n\n <!-- Empty State -->\n <lib-empty-state\n *ngIf=\"!section.fields || section.fields.length === 0\"\n message=\"No solution data\"\n icon=\"\uD83D\uDCA1\"\n variant=\"minimal\"\n >\n </lib-empty-state>\n</div>\n", styles: ["@charset \"UTF-8\";:root{--osi-spacing-2px: 2px;--osi-spacing-4px: 4px;--osi-spacing-6px: 6px;--osi-spacing-8px: 8px;--osi-spacing-10px: 10px;--osi-spacing-xs: 4px;--osi-spacing-sm: 8px;--osi-spacing-md: 12px;--osi-spacing-lg: 16px;--osi-spacing-xl: 24px;--osi-spacing-2xl: 32px;--osi-spacing-3xl: 48px;--osi-section-header-gap: 2px;--osi-section-padding: var(--osi-spacing-sm);--osi-section-gap: var(--osi-spacing-md);--osi-item-padding: var(--osi-spacing-sm);--osi-item-gap: var(--osi-spacing-xs);--osi-element-gap: 2px;--osi-text-xs: .75rem;--osi-text-sm: .875rem;--osi-text-base: 1rem;--osi-text-md: 1.125rem;--osi-text-lg: 1.25rem;--osi-text-xl: 1.5rem;--osi-text-2xl: 1.875rem;--osi-text-3xl: 2.25rem;--text-xs: .6875rem;--text-sm: .75rem;--text-base: .8125rem;--text-md: .875rem;--text-lg: 1.0625rem;--text-xl: 1.1875rem;--text-2xl: 1.375rem;--text-3xl: 1.625rem;--osi-font-normal: 400;--osi-font-medium: 500;--osi-font-semibold: 600;--osi-font-bold: 700;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--osi-leading-tight: 1.25;--osi-leading-snug: 1.375;--osi-leading-normal: 1.5;--osi-leading-relaxed: 1.625;--osi-leading-loose: 2;--leading-tight: 1.2;--leading-snug: 1.3;--leading-normal: 1.4;--leading-relaxed: 1.5;--leading-loose: 1.75;--osi-tracking-tight: -.025em;--osi-tracking-normal: 0;--osi-tracking-wide: .025em;--osi-tracking-wider: .05em;--osi-surface: hsl(0, 0%, 10%);--osi-surface-raised: hsl(0, 0%, 15%);--osi-surface-hover: hsl(0, 0%, 20%);--osi-surface-subtle: hsl(0, 0%, 12%);--osi-foreground: var( --foreground, hsl(0, 0%, 95%) );--osi-foreground-strong: var(--foreground, hsl(0, 0%, 100%));--osi-muted-foreground: var( --muted-foreground, hsl(0, 0%, 60%) );--osi-disabled-foreground: var(--muted-foreground, hsl(0, 0%, 40%));--osi-accent: hsl(25, 100%, 50%);--osi-accent-bright: hsl(25, 100%, 60%);--osi-accent-muted: hsl(25, 50%, 40%);--osi-success: hsl(142, 71%, 45%);--osi-success-bg: hsla(142, 71%, 45%, .15);--osi-success-bright: hsl(142, 71%, 55%);--osi-error: hsl(0, 84%, 60%);--osi-error-bg: hsla(0, 84%, 60%, .15);--osi-error-bright: hsl(0, 84%, 70%);--osi-warning: hsl(45, 93%, 47%);--osi-warning-bg: hsla(45, 93%, 47%, .15);--osi-warning-bright: hsl(45, 93%, 57%);--osi-info: hsl(221, 83%, 53%);--osi-info-bg: hsla(221, 83%, 53%, .15);--osi-info-bright: hsl(221, 83%, 63%);--osi-border: hsla(0, 0%, 100%, .2);--osi-border-muted: hsla(0, 0%, 100%, .06);--osi-border-strong: hsla(0, 0%, 100%, .35);--osi-radius-none: 0;--osi-radius-xs: 2px;--osi-radius-sm: 4px;--osi-radius-md: 8px;--osi-radius-lg: 12px;--osi-radius-xl: 16px;--osi-radius-full: 9999px;--osi-shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--osi-shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--osi-shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--osi-shadow-xl: 0 20px 25px rgba(0, 0, 0, .15);--osi-shadow-2xl: 0 25px 50px rgba(0, 0, 0, .25);--osi-duration-fast: .15s;--osi-duration-normal: .2s;--osi-duration-medium: .3s;--osi-duration-slow: .6s;--osi-ease-linear: linear;--osi-ease-in: cubic-bezier(.4, 0, 1, 1);--osi-ease-out: cubic-bezier(0, 0, .2, 1);--osi-ease-in-out: cubic-bezier(.4, 0, .2, 1);--osi-ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--osi-z-base: 0;--osi-z-raised: 10;--osi-z-dropdown: 100;--osi-z-fixed: 300;--osi-z-modal: 400;--osi-z-popover: 500;--osi-z-tooltip: 600;--osi-grid-gap: var(--osi-spacing-md);--osi-grid-row-gap: var(--osi-grid-gap);--osi-grid-column-gap: var(--osi-grid-gap);--osi-grid-min-small: 140px;--osi-grid-min-medium: 200px;--osi-grid-min-large: 300px;--osi-grid-min-xs: 120px;--osi-grid-min-sm: 140px;--osi-grid-min-md: 160px;--osi-grid-min-lg: 180px;--osi-grid-min-xl: 200px;--osi-grid-min-2xl: 250px;--osi-grid-min-3xl: 280px;--osi-grid-min-4xl: 300px;--osi-card-min-height: 90px;--osi-card-min-height-large: 120px;--osi-card-min-height-xs: 70px;--osi-card-min-height-sm: 80px;--osi-card-min-height-md: 90px;--osi-card-min-height-lg: 95px;--osi-card-min-height-xl: 110px}@media (prefers-color-scheme: dark){:root{--osi-surface: hsl(0, 0%, 8%);--osi-surface-raised: hsl(0, 0%, 12%);--osi-surface-hover: hsl(0, 0%, 16%);--osi-border-muted: hsla(0, 0%, 100%, .04)}}@media (prefers-contrast: high){:root{--osi-border: hsla(0, 0%, 100%, .4);--osi-border-strong: hsla(0, 0%, 100%, .6)}}@media (prefers-reduced-motion: reduce){:root{--osi-duration-fast: 0ms;--osi-duration-normal: 0ms;--osi-duration-medium: 0ms;--osi-duration-slow: 0ms}}.osi-card-container{container-type:inline-size;container-name:card;--card-padding: 4px;--card-gap: .5rem;--card-title-size: 1rem;--section-title-size: .875rem;--field-label-size: .75rem;--field-value-size: .875rem}.masonry-container{--masonry-columns: 1}@media (min-width: 480px){.masonry-container{--masonry-columns: 2}}@media (min-width: 1024px){.masonry-container{--masonry-columns: 3}}@media (min-width: 1280px){.masonry-container{--masonry-columns: 4}}@container card (min-width: 400px){.masonry-container--container-responsive{--masonry-columns: 2}}@container card (min-width: 700px){.masonry-container--container-responsive{--masonry-columns: 3}}@container card (min-width: 1000px){.masonry-container--container-responsive{--masonry-columns: 4}}.ai-section--info .section-field-grid{grid-template-columns:1fr}@media (min-width: 480px){.ai-section--info .section-field-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.ai-section--info .section-field-grid{grid-template-columns:repeat(3,1fr)}}.ai-section--analytics .metric-grid{grid-template-columns:1fr}@media (min-width: 320px){.ai-section--analytics .metric-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 768px){.ai-section--analytics .metric-grid{grid-template-columns:repeat(3,1fr)}}.ai-section--analytics .metric-value{font-size:var(--text-2xl)}.ai-section--timeline .timeline-items{flex-direction:column}@media (min-width: 1024px){.ai-section--timeline .timeline-items{flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory}.ai-section--timeline .timeline-items>*{scroll-snap-align:start;min-width:280px}}.ai-section--contact .contact-grid{grid-template-columns:1fr}@media (min-width: 480px){.ai-section--contact .contact-grid{grid-template-columns:repeat(2,1fr)}}.text-responsive{font-size:.875rem;line-height:1.5}.heading-responsive{font-size:1.25rem;line-height:1.2}.space-responsive{padding:.5rem}.gap-responsive{gap:.5rem}.touch-target{min-height:44px;min-width:44px}@media (min-width: 1024px){.touch-target{min-height:36px;min-width:36px}}@media (max-width: 767px){.hide-mobile{display:none!important}}@media (min-width: 768px){.hide-desktop{display:none!important}}.show-mobile{display:none!important}@media (max-width: 767px){.show-mobile{display:block!important}}.show-desktop{display:none!important}@media (min-width: 768px){.show-desktop{display:block!important}}@media print{.osi-card-container{--card-padding: 1rem;box-shadow:none;border:1px solid #ddd;break-inside:avoid}.masonry-container{--masonry-columns: 2;display:block}.masonry-container .masonry-item{break-inside:avoid;margin-bottom:1rem}.hide-print{display:none!important}}:root{--spacing-none: 0;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-base: 16px;--spacing-lg: 20px;--spacing-xl: 28px;--spacing-2xl: 40px;--spacing-3xl: 56px;--spacing-compact-xs: 3px;--spacing-compact-sm: 6px;--spacing-compact-md: 9px;--spacing-compact-base: 12px;--spacing-compact-lg: 16px;--section-card-min-height: 110px;--section-card-compact-height: 90px;--section-header-gap: 2px;--section-content-gap: var(--spacing-sm);--section-card-gap: var(--spacing-md);--section-card-padding: var(--spacing-md)}:root{--text-xs: .6875rem;--text-sm: .75rem;--text-base: .8125rem;--text-md: .875rem;--text-lg: 1.0625rem;--text-xl: 1.1875rem;--text-2xl: 1.375rem;--text-3xl: 1.625rem;--text-4xl: 2rem;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--leading-tight: 1.2;--leading-snug: 1.3;--leading-normal: 1.4;--leading-relaxed: 1.5;--leading-loose: 1.75}:root{--radius-none: 0;--radius-xs: 2px;--radius-sm: 3px;--radius-md: 5px;--radius-lg: 7px;--radius-xl: 10px;--radius-2xl: 14px;--radius-full: 9999px}:root{--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .05);--glow-sm: 0 0 10px rgba(var(--accent-rgb), .15);--glow-md: 0 0 20px rgba(var(--accent-rgb), .2);--glow-lg: 0 0 30px rgba(var(--accent-rgb), .25)}@media (prefers-color-scheme: dark){:root{--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .2);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .3), 0 1px 2px -1px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -2px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -4px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .5), 0 8px 10px -6px rgba(0, 0, 0, .5)}}:root{--duration-fast: .15s;--duration-base: .2s;--duration-slow: .3s;--duration-slower: .5s;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--ease-smooth: cubic-bezier(.4, 0, .6, 1);--transition-base: all var(--duration-base) var(--ease-out);--transition-fast: all var(--duration-fast) var(--ease-out);--transition-slow: all var(--duration-slow) var(--ease-out);--transition-colors: background-color var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out);--transition-shadow: box-shadow var(--duration-base) var(--ease-out);--transition-transform: transform var(--duration-base) var(--ease-out)}:root{--z-base: 1;--z-dropdown: 100;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-toast: 800;--z-max: 9999}:root{--blur-none: 0;--blur-sm: 4px;--blur-md: 8px;--blur-lg: 16px;--blur-xl: 24px;--glass-bg: rgba(255, 255, 255, .7);--glass-border: rgba(255, 255, 255, .2);--glass-blur: var(--blur-md)}@media (prefers-color-scheme: dark){:root{--glass-bg: rgba(0, 0, 0, .4);--glass-border: rgba(255, 255, 255, .1)}}:root{--opacity-0: 0;--opacity-5: .05;--opacity-10: .1;--opacity-20: .2;--opacity-30: .3;--opacity-40: .4;--opacity-50: .5;--opacity-60: .6;--opacity-70: .7;--opacity-80: .8;--opacity-90: .9;--opacity-100: 1}:root{--surface-base: var(--osi-section-item-background);--surface-raised: var(--osi-section-item-background-hover);--surface-overlay: var(--glass-bg);--border-light: rgba(var(--foreground-rgb), .08);--border-base: var(--border);--border-strong: rgba(var(--foreground-rgb), .2);--state-hover-opacity: .08;--state-active-opacity: .12;--state-focus-opacity: .16;--state-disabled-opacity: .5}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes fade-in-up{0%{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes fade-in-scale{0%{opacity:0;transform:translateZ(0) scale(.95)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes metal-sweep-ltr{0%{transform:translate(-100%);opacity:0}20%{opacity:.3}50%{opacity:.5}80%{opacity:.3}to{transform:translate(200%);opacity:0}}@keyframes metal-sweep-rtl{0%{transform:translate(200%);opacity:0}20%{opacity:.3}50%{opacity:.5}80%{opacity:.3}to{transform:translate(-100%);opacity:0}}@keyframes section-fade-in{0%{opacity:0}to{opacity:1}}@keyframes section-fade-in-up{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.unified-card,.section-card,[class*=__card],[class*=-card],[class*=__item],[class*=-item],.metric-card,.list-item,.analytics-card{transition:none!important;animation:none!important}.unified-card:hover,.section-card:hover,[class*=__card]:hover,[class*=-card]:hover,[class*=__item]:hover,[class*=-item]:hover,.metric-card:hover,.list-item:hover,.analytics-card:hover{transform:none!important}}.unified-card{background:var(--osi-section-item-background);border:var(--osi-section-item-border);border-radius:var(--osi-section-item-border-radius);box-shadow:var(--osi-section-item-shadow);padding:var(--osi-section-item-padding-normal);display:flex;flex-direction:column;gap:var(--osi-section-item-gap);min-height:var(--card-min-height, auto);cursor:pointer;overflow-x:hidden;width:100%!important;max-width:100%!important;box-sizing:border-box!important;text-align:left;word-wrap:break-word;overflow-wrap:break-word;transition:var(--osi-section-item-transition);position:relative;overflow:hidden}.unified-card:before{content:\"\";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;border-radius:inherit;animation:none;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%);width:50%;mix-blend-mode:overlay}.unified-card:hover:before{opacity:1;animation:metal-sweep-ltr .23s ease-out forwards}.unified-card:not(:hover):before{animation:none;opacity:0}@media (prefers-reduced-motion: reduce){.unified-card:before{display:none}}.unified-card:hover{border-color:var(--osi-section-item-border-hover-enhanced-color);box-shadow:var(--osi-section-item-shadow-hover-enhanced)}.unified-card:focus-visible{outline:none}@media (prefers-reduced-motion: reduce){.unified-card{transition:none}}.section-card{background:var(--osi-section-item-background);border:var(--osi-section-item-border);border-radius:var(--osi-section-item-border-radius);box-shadow:var(--osi-section-item-shadow);padding:var(--osi-section-item-padding-normal);display:flex;flex-direction:column;gap:var(--osi-section-item-gap);min-height:var(--card-min-height, auto);cursor:pointer;overflow-x:hidden;width:100%!important;max-width:100%!important;box-sizing:border-box!important;text-align:left;word-wrap:break-word;overflow-wrap:break-word;transition:var(--osi-section-item-transition);position:relative;overflow:hidden}.section-card:before{content:\"\";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;border-radius:inherit;animation:none;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%);width:50%;mix-blend-mode:overlay}.section-card:hover:before{opacity:1;animation:metal-sweep-ltr .23s ease-out forwards}.section-card:not(:hover):before{animation:none;opacity:0}@media (prefers-reduced-motion: reduce){.section-card:before{display:none}}.section-card:hover{border-color:var(--osi-section-item-border-hover-enhanced-color);box-shadow:var(--osi-section-item-shadow-hover-enhanced)}.section-card:focus-visible{outline:none}@media (prefers-reduced-motion: reduce){.section-card{transition:none}}.section-card{width:100%!important;max-width:100%!important;box-sizing:border-box!important}.section-item{transition:border-color var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),box-shadow var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),var(--osi-section-item-transition);position:relative;overflow:hidden}.section-item:hover{border-color:var(--osi-section-item-border-hover-enhanced-color)!important;box-shadow:var(--osi-section-item-shadow-hover-enhanced)!important;background:var(--osi-section-item-background)!important}@media (prefers-reduced-motion: reduce){.section-item{transition:none}.section-item:after{display:none}}.status--completed,.status--success{color:#22c55e;background:#22c55e1a}.status--active,.status--in-progress{color:var(--accent);background:#ff79001a}.status--pending,.status--warning{color:#f59e0b;background:#f59e0b1a}.status--blocked,.status--cancelled,.status--delayed,.status--inactive,.status--error{color:#ef4444;background:#ef44441a}.status--default{color:var(--muted-foreground);background:var(--muted)}.priority--high{color:#ef4444;background:#ef44441a}.priority--medium{color:#f59e0b;background:#f59e0b1a}.priority--low{color:#22c55e;background:#22c55e1a}.priority--default{color:var(--muted-foreground);background:var(--muted)}.masonry-container .masonry-item:nth-child(4n+1) .section-item:before,.masonry-container .masonry-item:nth-child(4n+1) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+1) .section-card:before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+2) .section-item:before,.masonry-container .masonry-item:nth-child(4n+2) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+2) .section-card:before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):before{background:linear-gradient(270deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container .masonry-item:nth-child(4n+1) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+1) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+1) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+2) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+2) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+2) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-rtl .23s ease-out forwards!important}.masonry-container .masonry-item:nth-child(4n+3) .section-item:before,.masonry-container .masonry-item:nth-child(4n+3) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+3) .section-card:before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+4) .section-item:before,.masonry-container .masonry-item:nth-child(4n+4) .unified-card:before,.masonry-container .masonry-item:nth-child(4n+4) .section-card:before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-item:before,.masonry-container .masonry-item[data-col-span=\"3\"] .unified-card:before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-card:before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-item:before,.masonry-container .masonry-item[data-col-span=\"4\"] .unified-card:before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-card:before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-item:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .unified-card:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-card:before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-item:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .unified-card:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-card:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-item:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .unified-card:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-card:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):before{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container .masonry-item:nth-child(4n+3) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+3) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+3) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+4) .section-item:hover:before,.masonry-container .masonry-item:nth-child(4n+4) .unified-card:hover:before,.masonry-container .masonry-item:nth-child(4n+4) .section-card:hover:before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-item:hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] .unified-card:hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] .section-card:hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-item:hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] .unified-card:hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] .section-card:hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):hover:before,.masonry-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-item:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .unified-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) .section-card:hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-item:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .unified-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) .section-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"2\"]:nth-child(odd) [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-item:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .unified-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] .section-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"3\"] [class*=-item]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-item:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .unified-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] .section-card:hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-card]:not([class*=__]):hover:before,.masonry-grid-container .masonry-item[data-col-span=\"4\"] [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-ltr .23s ease-out forwards!important}@supports (grid-template-rows: masonry){.masonry-container--native .masonry-item:nth-child(4n+1) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+1) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+1) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+2) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):before{background:linear-gradient(270deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container--native .masonry-item:nth-child(4n+1) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+1) [class*=-item]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+2) [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-rtl .23s ease-out forwards!important}.masonry-container--native .masonry-item:nth-child(4n+3) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+3) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+3) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-item:before,.masonry-container--native .masonry-item:nth-child(4n+4) .unified-card:before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-card:before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):before{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%)!important}.masonry-container--native .masonry-item:nth-child(4n+3) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+3) [class*=-item]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-item:hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) .unified-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) .section-card:hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-card]:not([class*=__]):hover:before,.masonry-container--native .masonry-item:nth-child(4n+4) [class*=-item]:not([class*=__]):hover:before{animation:metal-sweep-ltr .23s ease-out forwards!important}}@media (prefers-reduced-motion: reduce){.unified-card,.section-card,[class*=__card],[class*=-card],[class*=__item],[class*=-item]{transition:none;animation:none}}@keyframes item-stream{0%{opacity:0;transform:translate3d(0,var(--osi-motion-distance-sm, 8px),0)}to{opacity:1;transform:translateZ(0)}}.ai-section h1,.ai-section h2,.ai-section h3,.ai-section h4,.ai-section h5,.ai-section h6,.ai-section [class*=title],.ai-section [class*=heading],.ai-section [class*=header]{margin-bottom:.05em!important;line-height:1.3!important}.ai-section br{margin-top:.05em!important;line-height:1.3!important}.ai-section p,.ai-section div,.ai-section span{line-height:1.3!important}.ai-section h1+p,.ai-section h1+div,.ai-section h1+span,.ai-section h2+p,.ai-section h2+div,.ai-section h2+span,.ai-section h3+p,.ai-section h3+div,.ai-section h3+span,.ai-section h4+p,.ai-section h4+div,.ai-section h4+span,.ai-section h5+p,.ai-section h5+div,.ai-section h5+span,.ai-section h6+p,.ai-section h6+div,.ai-section h6+span,.ai-section [class*=title]+p,.ai-section [class*=title]+div,.ai-section [class*=title]+span,.ai-section [class*=heading]+p,.ai-section [class*=heading]+div,.ai-section [class*=heading]+span,.ai-section [class*=header]+p,.ai-section [class*=header]+div,.ai-section [class*=header]+span{margin-top:.05em!important}.ai-section.ai-section--overview .overview-item--single-text .overview-item__value--single-text br{margin-top:7px!important;height:7px!important;line-height:1.3!important;display:block!important;content:\"\"}.ai-section{--section-accent: var(--osi-section-accent);--section-border: var(--osi-section-border);--section-border-hover: var(--osi-section-border-hover);--section-box-shadow: var(--osi-section-shadow);--section-background: var(--osi-section-background);--section-background-hover: var(--osi-section-background-hover);--section-backdrop-filter: var(--osi-section-backdrop-filter);--section-spacing-bottom: var(--osi-section-spacing-bottom, 12px);--section-glow-background: var(--osi-section-glow-background);--section-glow-opacity-hover: var(--osi-section-glow-opacity-hover);--section-title-underline-length: var(--osi-section-title-underline-length);--section-title-underline-hover-length: var(--osi-section-title-underline-hover-length);--section-title-underline-height: var(--osi-section-title-underline-height);--section-title-underline-offset: var(--osi-section-title-underline-offset);--section-title-hover-color: var(--osi-section-title-hover-color);width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;margin-bottom:var(--section-spacing-bottom, 12px)!important;margin-top:0!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;contain:layout style;transition:border-color var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),box-shadow var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1)}.ai-section *{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.ai-section:not(.masonry-item .ai-section){position:relative;display:flex;flex-direction:column;gap:var(--section-card-gap);padding:0!important;border-radius:var(--osi-section-item-border-radius);background:var(--section-background);border:var(--section-border);box-shadow:var(--section-box-shadow);width:100%!important;max-width:100%!important;box-sizing:border-box!important;transition:border-color var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1),box-shadow var(--osi-card-transition-normal, .22s) cubic-bezier(.4,0,.2,1)}.ai-section:not(.masonry-item .ai-section):hover{border-color:var(--osi-section-border-hover-enhanced-color);box-shadow:var(--osi-section-shadow-hover-enhanced)}@media (prefers-reduced-motion: reduce){.ai-section:not(.masonry-item .ai-section){transition:none}}.masonry-item .ai-section{display:flex!important;flex-direction:column!important;gap:var(--osi-section-gap, 8px)!important;height:auto!important}.ai-section:hover{border-color:var(--osi-section-border-hover-enhanced-color);box-shadow:var(--osi-section-shadow-hover-enhanced)}@media (prefers-reduced-motion: reduce){.ai-section{transition:none}}.ai-section__header{display:flex;flex-direction:column;gap:var(--osi-section-header-gap);width:100%;box-sizing:border-box;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;padding:0 0 var(--osi-section-header-padding-bottom) 0!important;border-bottom:none!important;background:transparent!important;margin:0!important;flex-wrap:wrap!important;gap:var(--osi-section-header-gap)!important;text-align:left!important}.ai-section__title{font-size:var(--section-title-font-size, .9375rem);font-weight:var(--section-title-font-weight, 700);letter-spacing:var(--section-title-letter-spacing, -.02em);line-height:var(--section-title-line-height, 1.3);color:var(--card-text-primary, #1c1c1f);margin:0;font-size:var(--osi-section-title-font-size)!important;font-weight:700!important;letter-spacing:var(--osi-section-title-letter-spacing)!important;line-height:var(--osi-section-title-line-height)!important;color:var(--osi-section-title-color)!important;opacity:1!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;position:relative!important;transition:var(--osi-section-title-transition)!important;padding:0!important;margin:0 0 var(--osi-section-title-margin-bottom) 0!important;text-align:left!important;font-family:inherit!important;border:none!important}.ai-section__title:before{content:\"\"!important;position:absolute!important;left:0!important;bottom:var(--osi-section-title-underline-offset)!important;width:var(--osi-section-title-underline-length)!important;height:var(--osi-section-title-underline-height)!important;background:var(--osi-section-title-underline-color)!important;border-radius:var(--radius-xs)!important;transition:width .22s ease,opacity .22s ease!important;transform-origin:left!important;opacity:.6!important}.ai-section__title:hover{color:var(--osi-section-title-color)!important}.ai-section__title:hover:before{width:var(--osi-section-title-underline-hover-length)!important;opacity:1!important}.ai-section__icon{display:none!important;width:var(--icon-size-section)!important;height:var(--icon-size-section)!important}.ai-section__details{display:flex!important;flex-direction:column!important;gap:var(--osi-section-header-gap)!important;align-items:flex-start!important;text-align:left!important}.ai-section__description{font-size:var(--section-description-font-size, .75rem);font-weight:400;color:var(--card-text-secondary, rgba(28, 28, 31, .6));line-height:1.3;margin:0;color:var(--osi-section-description-color)!important;letter-spacing:.01em!important;line-height:1.2!important;font-weight:400!important;overflow:hidden!important;text-overflow:ellipsis!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;margin-top:0!important;padding-top:0!important;text-align:left!important;transition:var(--osi-section-description-transition)!important;font-family:inherit!important}.ai-section:hover .ai-section__description{color:var(--osi-section-description-color-hover)!important}.ai-section__badge{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;font-size:.55rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:#ff7900;background:#ff79001a;border-radius:4px;white-space:nowrap;display:none!important;padding:var(--tag-padding-y-sm) var(--tag-padding-x)!important;border-radius:var(--radius-sm)!important}.ai-section--contact-card .ai-section__badge,.ai-section--solutions .ai-section__badge,.ai-section--event .ai-section__badge,.ai-section--chart .ai-section__badge,.ai-section--financials .ai-section__badge{display:none!important;align-items:center!important;padding:var(--osi-section-badge-padding)!important;background:var(--osi-section-badge-bg)!important;color:var(--osi-section-badge-color)!important;border:none!important;box-shadow:none!important;border-radius:var(--osi-section-border-radius)!important;font-size:var(--card-meta-font-size, .6rem)!important;font-weight:var(--card-meta-font-weight, 500)!important;transition:opacity .2s ease,background .2s ease!important;line-height:1.2!important}.ai-section:hover .ai-section__badge{opacity:1!important;background:var(--osi-section-badge-bg-hover)!important}.ai-section__body{display:flex;flex-direction:column;gap:var(--osi-section-gap-internal);width:100%;box-sizing:border-box;padding:0!important;margin:0!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}.ai-section .section-empty{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;padding:var(--osi-section-padding)!important;text-align:center!important;color:var(--muted-foreground)!important;min-height:auto!important;border-radius:var(--radius-md)!important;background:var(--osi-section-empty-bg)!important;border:var(--osi-section-empty-border)!important;transition:opacity .2s ease,background .2s ease!important}.ai-section .section-empty lucide-icon{margin-bottom:var(--osi-section-gap)!important;opacity:var(--osi-section-empty-icon-opacity)!important;color:var(--accent)!important;transition:all .2s ease!important}.ai-section .section-empty p{font-size:var(--font-section-description, .85rem)!important;margin:0!important;font-weight:500!important;font-family:inherit!important}.ai-section .section-empty:hover{background:var(--osi-section-empty-bg-hover)!important;border-color:var(--osi-section-empty-border-hover)!important}.ai-section .section-empty:hover lucide-icon{opacity:var(--osi-section-empty-icon-opacity-hover)!important}.ai-section--info{--section-accent: var(--osi-section-accent-info)}.ai-section--analytics{--section-accent: var(--osi-section-accent-analytics)}.ai-section--financials{--section-accent: var(--osi-section-accent-financials)}.ai-section--map{--section-accent: var(--osi-section-accent-map)}.ai-section--network-card{--section-accent: var(--osi-section-accent-network)}.ai-section--contact-card{--section-accent: var(--osi-section-accent-contact)}.ai-section--product{--section-accent: var(--osi-section-accent-product)}.ai-section--solutions{--section-accent: var(--osi-section-accent-solutions)}.ai-section--overview{--section-accent: var(--osi-section-accent-overview)}.ai-section--overview .ai-section__title{font-size:calc(var(--osi-section-title-font-size) - 1.5px)!important}.ai-section--list,.ai-section--info-list{--section-accent: var(--osi-section-accent-list)}.ai-section--event{--section-accent: var(--osi-section-accent-event)}.ai-section--chart{--section-accent: var(--osi-section-accent-chart)}.ai-section--text-reference{--section-accent: var(--osi-section-accent-reference)}.ai-section--quotation{--section-accent: var(--osi-section-accent-quotation)}.ai-card-surface--fullscreen .ai-section{--section-padding: var(--osi-section-padding);--section-spacing-bottom: var(--osi-section-spacing-bottom);--section-gap: var(--osi-section-gap);--section-gap-internal: var(--osi-section-gap-internal);--section-title-underline-length: var(--osi-section-title-underline-length);--section-title-underline-hover-length: var(--osi-section-title-underline-hover-length);--section-title-underline-height: var(--osi-section-title-underline-height);--section-title-underline-offset: var(--osi-section-title-underline-offset);--section-box-shadow: none !important;--section-box-shadow-hover: none !important}.ai-card-surface--fullscreen .masonry-item,.ai-card-surface--fullscreen .masonry-item:hover{box-shadow:var(--osi-section-shadow-fullscreen)!important}.ai-card-surface--fullscreen .ai-section__header{padding:0 0 var(--osi-section-header-padding-bottom) 0!important;gap:var(--osi-section-header-gap)!important}.ai-card-surface--fullscreen .ai-section__title{font-size:var(--card-title-font-size, .95rem)!important}.ai-card-surface--fullscreen .ai-section__body{gap:var(--osi-section-gap-internal)!important}.ai-card-surface--fullscreen .ai-section__description{font-size:var(--card-meta-font-size, .6rem)!important;margin-top:0!important;padding-top:0!important}.section-content{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;padding:0!important;margin:0!important}.section-content>*{width:100%!important;max-width:100%!important;box-sizing:border-box!important}.ai-section--faq,.ai-section--faq .list,.ai-section--faq .item{min-width:0!important;width:100%!important;max-width:100%!important}:host{display:block;width:100%}.solutions-container{display:flex;flex-direction:column;gap:var(--osi-section-item-gap)!important}.solutions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--osi-section-item-gap)!important;width:100%;box-sizing:border-box}@media (max-width: 767px){.solutions-grid{grid-template-columns:repeat(2,1fr);gap:var(--osi-section-item-gap)}}@media (max-width: 479px){.solutions-grid{grid-template-columns:1fr;gap:var(--osi-section-item-gap)}}.section-item{background:var(--osi-section-item-background);border:var(--osi-section-item-border);border-radius:var(--osi-section-item-border-radius);box-shadow:var(--osi-section-item-shadow);padding:var(--osi-section-item-padding-normal);min-height:var(--card-min-height, auto);cursor:pointer;overflow-x:hidden;width:100%!important;max-width:100%!important;box-sizing:border-box!important;word-wrap:break-word;overflow-wrap:break-word;min-height:180px;display:flex;flex-direction:column;gap:var(--osi-section-item-gap);text-align:left;align-items:stretch;transition:var(--osi-section-item-transition);position:relative;overflow:hidden}.section-item:focus-visible{outline:none}@media (prefers-reduced-motion: reduce){.section-item{transition:none}}.section-item>*{margin-left:0!important;margin-right:0!important;padding-left:0;padding-right:0}.section-item:before{content:\"\";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;border-radius:inherit;animation:none;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 20%,rgba(255,255,255,.3) 40%,rgba(255,255,255,.2) 60%,transparent 100%);width:50%;mix-blend-mode:overlay}.section-item:hover:before{opacity:1;animation:metal-sweep-ltr .23s ease-out forwards}.section-item:not(:hover):before{animation:none;opacity:0}@media (prefers-reduced-motion: reduce){.section-item:before{display:none}}.section-item:hover{border-color:var(--osi-section-item-border-hover-enhanced-color);box-shadow:var(--osi-section-item-shadow-hover-enhanced)}.section-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:var(--shadow-lg),0 0 0 4px rgba(var(--accent-rgb, 255, 121, 0),.1)}@media (prefers-reduced-motion: reduce){.section-item{transition:none}.section-item:hover{box-shadow:var(--shadow-md)}}.section-item:after{content:\"\";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent) 0%,transparent 100%);opacity:0;transition:opacity var(--osi-section-item-transition);top:auto!important}.section-item:hover:after{opacity:.8}.section-item:hover .solution-title{color:var(--accent)}.solution-header{display:flex;flex-direction:column;align-items:flex-start;gap:var(--osi-section-item-gap-xs);width:100%;margin:0;padding:0}.solution-title-row{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;width:100%;gap:var(--osi-section-item-gap);margin:0;padding:0;flex-wrap:nowrap}.solution-logo-container{flex-shrink:0;flex-grow:0;pointer-events:auto;line-height:0;margin:0;padding:0;align-self:flex-start;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;order:2;box-sizing:border-box;min-width:16px;max-width:16px;min-height:16px;max-height:16px;overflow:hidden;transition:opacity var(--osi-section-item-transition),transform var(--osi-section-item-transition)}.solution-logo-container.clickable:hover{opacity:.8;transform:scale(1.1)}.solution-logo-container.clickable:active{transform:scale(.95)}.solution-logo{width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;max-width:16px!important;max-height:16px!important;display:block;cursor:pointer;flex-shrink:0;margin:0;padding:0;aspect-ratio:1/1;box-sizing:border-box}.solution-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--foreground);margin:0;padding:0;line-height:var(--leading-normal);text-align:left;transition:color var(--osi-section-item-transition);flex:1 1 auto;min-width:0;white-space:normal;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word}.solution-category{font-size:var(--text-xs);font-weight:var(--font-medium);line-height:var(--leading-tight);color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.05em;opacity:.7;text-align:left;margin:0;padding:0}.solution-description{font-size:var(--text-sm);font-weight:var(--font-normal);line-height:var(--leading-normal);color:var(--foreground);color:var(--muted-foreground);line-height:var(--leading-relaxed);margin:0;padding:0;margin-bottom:var(--osi-section-item-gap);opacity:.9;text-align:left;width:100%;overflow-wrap:break-word;word-wrap:break-word;transition:opacity var(--osi-section-item-transition),color var(--osi-section-item-transition)}.solution-benefits{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--osi-section-item-gap-xs);flex:1;text-align:left;width:100%}.solution-benefits li{font-size:var(--text-sm);color:var(--muted-foreground);padding:0 0 0 18px;margin:0;position:relative;line-height:var(--leading-normal);text-align:left}.solution-benefits li:before{content:\"\\2713\";position:absolute;left:0;color:var(--accent);font-size:var(--text-sm);font-weight:var(--font-bold)}.solution-more{align-self:flex-start;margin:0;margin-bottom:var(--osi-section-item-gap);padding:0;border:0;background:transparent;color:var(--accent);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;line-height:var(--leading-tight);text-align:left}.solution-more:hover{text-decoration:underline}.solution-more:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--osi-radius-sm)}.solution-score{display:flex;flex-direction:column;gap:var(--osi-section-item-gap-xs);margin:var(--osi-section-item-gap) 0 0 0;padding:0;width:100%}.solution-score-label{display:flex;align-items:center;justify-content:space-between;font-size:var(--text-xs);color:var(--muted-foreground);font-weight:var(--font-medium);margin:0;padding:0}.solution-score-value{font-weight:var(--font-semibold);color:var(--accent, var(--color-brand, #ff7900))}.solution-score-bar{width:100%;height:6px;background:color-mix(in srgb,var(--accent, var(--color-brand, #ff7900)) 15%,transparent);border-radius:var(--osi-radius-sm, 3px);overflow:hidden;position:relative}.solution-score-fill{height:100%;background:linear-gradient(90deg,var(--accent, var(--color-brand, #ff7900)) 0%,var(--osi-accent-bright, var(--color-brand-light, #ff9933)) 100%);border-radius:var(--osi-radius-sm, 3px);transition:width .3s ease;box-shadow:0 0 4px color-mix(in srgb,var(--accent, var(--color-brand, #ff7900)) 40%,transparent)}.solution-meta{display:flex;align-items:center;justify-content:flex-start;gap:var(--osi-section-item-gap);margin:auto 0 0;padding:var(--osi-section-item-padding-compact) 0 0 0;border-top:1px solid var(--border);width:100%}.delivery-time,.solution-meta-label{font-size:var(--text-sm);color:var(--muted-foreground);opacity:.7;text-align:left;margin:0;padding:0;display:inline-flex;align-items:center;gap:4px}@media (max-width: 479px){.section-item{min-height:160px}.solution-description{font-size:var(--text-sm)}}\n"] }]
21667
21869
  }], propDecorators: { solutionsGrid: [{
21668
21870
  type: ViewChild,
21669
21871
  args: ['solutionsGrid', { static: false }]
@@ -25487,11 +25689,11 @@ function generateBriefSummary(card) {
25487
25689
  * Do not edit manually - generated by scripts/generate-version.js
25488
25690
  *
25489
25691
  * Source of truth: version.config.json
25490
- * Last synced: 2026-01-08T11:23:10.755Z
25692
+ * Last synced: 2026-01-08T13:31:21.984Z
25491
25693
  */
25492
- const VERSION = '1.5.45';
25493
- const BUILD_DATE = '2026-01-08T11:23:10.755Z';
25494
- const BUILD_HASH = '6af2c47';
25694
+ const VERSION = '1.5.46';
25695
+ const BUILD_DATE = '2026-01-08T13:31:21.984Z';
25696
+ const BUILD_HASH = '1964431';
25495
25697
  const BUILD_BRANCH = 'main';
25496
25698
  const VERSION_INFO = {
25497
25699
  version: VERSION,