react-dashstream 0.0.10 → 0.1.0
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.
- package/README.md +1057 -916
- package/dashstream-skill.md +985 -842
- package/dist/components/EventView/EventView.d.ts +3 -0
- package/dist/components/EventView/EventView.d.ts.map +1 -0
- package/dist/components/EventView/index.d.ts +3 -0
- package/dist/components/EventView/index.d.ts.map +1 -0
- package/dist/components/EventView/mockData.d.ts +3 -0
- package/dist/components/EventView/mockData.d.ts.map +1 -0
- package/dist/components/EventView/types.d.ts +123 -0
- package/dist/components/EventView/types.d.ts.map +1 -0
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/data/DataProvider.d.ts +2 -0
- package/dist/data/DataProvider.d.ts.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.js +1642 -1271
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventView.d.ts","sourceRoot":"","sources":["../../../src/components/EventView/EventView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAKR,cAAc,EAGjB,MAAM,SAAS,CAAC;AAIjB,OAAO,iBAAiB,CAAC;AAsNzB,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAC9B,SAAS,EACT,MAAM,EAAE,cAAc,EACtB,WAAW,EAAE,SAAS,EACtB,QAAQ,EAAE,eAAoB,EAC9B,KAAuB,GAC1B,EAAE,cAAc,2CA4UhB"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { default as EventView } from './EventView';
|
|
2
|
+
export type { AIOpsEvent, EventSeverity, EventClass, SMSStatus, MonitoringCategory, SortDirection, SortableColumn, EventFieldMapping, EventSeverityMap, EventApiConfig, EventViewProps, } from './types';
|
|
3
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/EventView/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EACR,UAAU,EACV,aAAa,EACb,UAAU,EACV,SAAS,EACT,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,cAAc,GACjB,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mockData.d.ts","sourceRoot":"","sources":["../../../src/components/EventView/mockData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,eAAO,MAAM,WAAW,EAAE,UAAU,EA6dnC,CAAC"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { Credentials } from '../../data/DataProvider';
|
|
2
|
+
export type EventSeverity = "Minor" | "Major" | "Critical";
|
|
3
|
+
export type EventClass = "Self-monitoring" | "SCOM" | "Situation" | "Alarm" | "Event";
|
|
4
|
+
export type SMSStatus = "" | "SUCCESS" | "FAILED";
|
|
5
|
+
export type MonitoringCategory = "24/7" | "Office Hours";
|
|
6
|
+
export interface AIOpsEvent {
|
|
7
|
+
id: string;
|
|
8
|
+
occurrence: string;
|
|
9
|
+
severityLastModified: string;
|
|
10
|
+
severity: EventSeverity;
|
|
11
|
+
owner: string;
|
|
12
|
+
class: EventClass;
|
|
13
|
+
host: string;
|
|
14
|
+
message: string;
|
|
15
|
+
remedySupportGroup: string;
|
|
16
|
+
incidentId: string;
|
|
17
|
+
smsStatus: SMSStatus;
|
|
18
|
+
onCallNumber: string;
|
|
19
|
+
hostedApplication: string;
|
|
20
|
+
monitoringCategory: MonitoringCategory;
|
|
21
|
+
applicationSupportUnit: string;
|
|
22
|
+
}
|
|
23
|
+
export type SortDirection = "asc" | "desc" | null;
|
|
24
|
+
export type SortableColumn = keyof AIOpsEvent;
|
|
25
|
+
/**
|
|
26
|
+
* Maps each `AIOpsEvent` field to the corresponding key in the API response
|
|
27
|
+
* objects inside `eventList`.
|
|
28
|
+
*
|
|
29
|
+
* Every key is the AIOpsEvent property name; the value is the field name the
|
|
30
|
+
* API returns for that property.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```ts
|
|
34
|
+
* const mapping: EventFieldMapping = {
|
|
35
|
+
* id: "mc_ueid",
|
|
36
|
+
* occurrence: "date_reception",
|
|
37
|
+
* severityLastModified: "severity_last_modified",
|
|
38
|
+
* severity: "severity",
|
|
39
|
+
* owner: "owner",
|
|
40
|
+
* class: "class",
|
|
41
|
+
* host: "mc_host",
|
|
42
|
+
* message: "msg",
|
|
43
|
+
* remedySupportGroup: "ara_remedy_support_group",
|
|
44
|
+
* incidentId: "ara_incident_id",
|
|
45
|
+
* smsStatus: "ara_sms_status",
|
|
46
|
+
* onCallNumber: "ara_on_call_number",
|
|
47
|
+
* hostedApplication: "ara_hosted_application",
|
|
48
|
+
* monitoringCategory: "ara_hosted_app_monitoring",
|
|
49
|
+
* applicationSupportUnit: "ara_application_support_unit",
|
|
50
|
+
* };
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export type EventFieldMapping = Record<keyof AIOpsEvent, string>;
|
|
54
|
+
/**
|
|
55
|
+
* Maps raw API severity values (e.g. `"CRITICAL"`) to the `EventSeverity`
|
|
56
|
+
* type used by the component. Keys are case-insensitive raw values from the
|
|
57
|
+
* API; values are the canonical severity names.
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```ts
|
|
61
|
+
* const severityMap: EventSeverityMap = {
|
|
62
|
+
* CRITICAL: "Critical",
|
|
63
|
+
* MAJOR: "Major",
|
|
64
|
+
* MINOR: "Minor",
|
|
65
|
+
* };
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
68
|
+
export type EventSeverityMap = Record<string, EventSeverity>;
|
|
69
|
+
/**
|
|
70
|
+
* Configuration for the events API endpoint.
|
|
71
|
+
*/
|
|
72
|
+
export interface EventApiConfig {
|
|
73
|
+
/**
|
|
74
|
+
* Base URL of the events API (protocol + host + optional port).
|
|
75
|
+
* @example "https://monitoring.example.com"
|
|
76
|
+
*/
|
|
77
|
+
baseUrl: string;
|
|
78
|
+
/**
|
|
79
|
+
* Path appended to `baseUrl`.
|
|
80
|
+
* @default "/tsws/monitoring/api/v1.0/events/search"
|
|
81
|
+
*/
|
|
82
|
+
endpoint?: string;
|
|
83
|
+
/** POST body sent with every request. */
|
|
84
|
+
payload: Record<string, unknown>;
|
|
85
|
+
/**
|
|
86
|
+
* Maps API response field names to `AIOpsEvent` properties.
|
|
87
|
+
* Every `AIOpsEvent` field must be mapped.
|
|
88
|
+
*/
|
|
89
|
+
fieldMapping: EventFieldMapping;
|
|
90
|
+
/**
|
|
91
|
+
* Maps raw API severity strings to `EventSeverity`.
|
|
92
|
+
* @default { CRITICAL: "Critical", MAJOR: "Major", MINOR: "Minor" }
|
|
93
|
+
*/
|
|
94
|
+
severityMap?: EventSeverityMap;
|
|
95
|
+
/**
|
|
96
|
+
* Polling interval in milliseconds.
|
|
97
|
+
* @default 60000
|
|
98
|
+
*/
|
|
99
|
+
refreshInterval?: number;
|
|
100
|
+
}
|
|
101
|
+
export interface EventViewProps {
|
|
102
|
+
/**
|
|
103
|
+
* API configuration. When provided, EventView fetches events from the
|
|
104
|
+
* endpoint. Required unless `events` is provided.
|
|
105
|
+
*/
|
|
106
|
+
apiConfig?: EventApiConfig;
|
|
107
|
+
/**
|
|
108
|
+
* Pre-fetched events array. When provided, no API call is made and
|
|
109
|
+
* `apiConfig` is ignored.
|
|
110
|
+
*/
|
|
111
|
+
events?: AIOpsEvent[];
|
|
112
|
+
/**
|
|
113
|
+
* Credentials for the events API. When omitted, EventView tries to
|
|
114
|
+
* reuse credentials from a parent `DataProvider` context. If neither
|
|
115
|
+
* is available, a credentials modal is shown.
|
|
116
|
+
*/
|
|
117
|
+
credentials?: Credentials;
|
|
118
|
+
/** Rows per page. @default 15 */
|
|
119
|
+
pageSize?: number;
|
|
120
|
+
/** Title in the component header. @default "Event Console" */
|
|
121
|
+
title?: string;
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/EventView/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC;AAE3D,MAAM,MAAM,UAAU,GAAG,iBAAiB,GAAG,MAAM,GAAG,WAAW,GAAG,OAAO,GAAG,OAAO,CAAC;AAEtF,MAAM,MAAM,SAAS,GAAG,EAAE,GAAG,SAAS,GAAG,QAAQ,CAAC;AAElD,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,cAAc,CAAC;AAEzD,MAAM,WAAW,UAAU;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,QAAQ,EAAE,aAAa,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,UAAU,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,sBAAsB,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC;AAElD,MAAM,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,UAAU,EAAE,MAAM,CAAC,CAAC;AAEjE;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEjC;;;OAGG;IACH,YAAY,EAAE,iBAAiB,CAAC;IAEhC;;;OAGG;IACH,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAE/B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC3B;;;OAGG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;IAE3B;;;OAGG;IACH,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IAEtB;;;;OAIG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB"}
|
|
@@ -81,6 +81,8 @@ export { default as HistoricalGraphPanel } from './HistoricalGraphPanel';
|
|
|
81
81
|
export { default as ComponentDrillView } from './ComponentDrillView';
|
|
82
82
|
export type { ComponentDrillViewProps } from './ComponentDrillView';
|
|
83
83
|
export { CPU3D, Memory3D, DriveBay3D, NetworkBlock3D, ThreadPool3D, Platter3D, Port3D, } from './Internal3DComponents';
|
|
84
|
+
export { EventView } from './EventView';
|
|
85
|
+
export type { AIOpsEvent, EventSeverity, EventClass, SMSStatus, MonitoringCategory, EventFieldMapping, EventSeverityMap, EventApiConfig, EventViewProps, } from './EventView';
|
|
84
86
|
export { CarouselContext, CarouselItemContext, useCarouselContext, useCarouselItemContext, } from './CarouselContext';
|
|
85
87
|
export type { CarouselContextValue, CarouselItemContextValue } from './CarouselContext';
|
|
86
88
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,6 +30,8 @@ export interface DataContextValue {
|
|
|
30
30
|
lastRefreshTime: Date | null;
|
|
31
31
|
/** Whether the end-user has submitted credentials. */
|
|
32
32
|
credentialsSet: boolean;
|
|
33
|
+
/** The current credentials, or `null` if not yet set. */
|
|
34
|
+
credentials: Credentials | null;
|
|
33
35
|
/** Programmatically set credentials (used by the modal). */
|
|
34
36
|
setCredentials: (creds: Credentials) => void;
|
|
35
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataProvider.d.ts","sourceRoot":"","sources":["../../src/data/DataProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8E,MAAM,OAAO,CAAC;AAOnG;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAA;CAAE,CAAC;AAE5F;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;AAEvE,MAAM,WAAW,WAAW;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC7B,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,sDAAsD;IACtD,YAAY,EAAE,OAAO,CAAC;IACtB,wEAAwE;IACxE,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,0EAA0E;IAC1E,eAAe,EAAE,IAAI,GAAG,IAAI,CAAC;IAC7B,sDAAsD;IACtD,cAAc,EAAE,OAAO,CAAC;IACxB,4DAA4D;IAC5D,cAAc,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;CAChD;AAQD,6FAA6F;AAC7F,wBAAgB,YAAY,IAAI,gBAAgB,CAK/C;AAED,6EAA6E;AAC7E,wBAAgB,oBAAoB,IAAI,gBAAgB,GAAG,IAAI,CAE9D;AAED,4EAA4E;AAC5E,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAG3D;AAMD,kEAAkE;AAClE,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,EAAE,CAQrE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAO/D;AAMD,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,6DAA6D;IAC7D,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,UAAU,iBAAiB;IACvB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B;AAED,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"DataProvider.d.ts","sourceRoot":"","sources":["../../src/data/DataProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8E,MAAM,OAAO,CAAC;AAOnG;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAA;CAAE,CAAC;AAE5F;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;AAEvE,MAAM,WAAW,WAAW;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC7B,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,sDAAsD;IACtD,YAAY,EAAE,OAAO,CAAC;IACtB,wEAAwE;IACxE,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,0EAA0E;IAC1E,eAAe,EAAE,IAAI,GAAG,IAAI,CAAC;IAC7B,sDAAsD;IACtD,cAAc,EAAE,OAAO,CAAC;IACxB,yDAAyD;IACzD,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,4DAA4D;IAC5D,cAAc,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;CAChD;AAQD,6FAA6F;AAC7F,wBAAgB,YAAY,IAAI,gBAAgB,CAK/C;AAED,6EAA6E;AAC7E,wBAAgB,oBAAoB,IAAI,gBAAgB,GAAG,IAAI,CAE9D;AAED,4EAA4E;AAC5E,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAG3D;AAMD,kEAAkE;AAClE,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,EAAE,CAQrE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAO/D;AAMD,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,6DAA6D;IAC7D,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,UAAU,iBAAiB;IACvB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B;AAED,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CA2F3E"}
|
package/dist/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@keyframes status-change-pulse{0%{opacity:0;transform:scale(.6)}10%{opacity:1;transform:scale(1.15)}25%{opacity:.1;transform:scale(.95)}40%{opacity:.9;transform:scale(1.1)}60%{opacity:.15;transform:scale(1)}to{opacity:0;transform:scale(1.3)}}.app{display:grid;grid-template-rows:52px 1fr;width:100%;height:100vh;overflow:hidden;position:relative;background:#020810;color:#c8dff0;font-family:var(--aiops-font-family, "Segoe UI", system-ui, -apple-system, sans-serif);-webkit-font-smoothing:antialiased}.app-header{display:flex;align-items:center;gap:18px;padding:0 24px;border-bottom:1px solid rgba(0,229,255,.08);background:#020810eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:relative;z-index:10}.hdr-brand{display:flex;align-items:center;gap:8px}.brand-pulse{width:7px;height:7px;border-radius:50%;background:#00e5ff;box-shadow:0 0 8px #00e5ff,0 0 18px #00e5ff80;animation:holo-led-blink 2s linear infinite}.brand-text{font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#00e5ff;opacity:.7}.hdr-right{display:flex;align-items:center;gap:8px;margin-left:auto}.hdr-tag{font-size:9px;letter-spacing:.2em;color:#00e5ff59;border:1px solid rgba(0,229,255,.15);padding:3px 8px;border-radius:2px}.scene{display:flex;flex-direction:column;align-items:center;overflow:hidden;padding:0;position:relative;z-index:1;gap:0;background:transparent}.float-node{display:flex;flex-direction:column;align-items:center;position:relative}.float-node--interactive:before{content:"";position:absolute;inset:-40px -35px -15px}.float-body{position:relative;animation:holo-float 4s ease-in-out infinite}.scan-line{position:absolute;top:0;left:0;right:0;height:1.5px;animation:holo-scan 3.5s linear infinite;pointer-events:none;z-index:10}.node-tag{font-size:24px;letter-spacing:.2em;text-transform:uppercase;font-family:var(--aiops-font-family, "Courier New", monospace);margin-top:14px;text-align:center;text-shadow:0 0 6px currentColor}.node-subtag{font-size:11px;letter-spacing:.15em;text-transform:uppercase;font-family:var(--aiops-font-family, "Courier New", monospace);margin-top:4px;text-align:center}.sync-bridge{display:flex;flex-direction:column;align-items:center;justify-content:center;width:110px;gap:6px;flex-shrink:0;font-family:var(--aiops-font-family, "Courier New", monospace)}.sync-arrows{display:flex;align-items:center;width:100%;gap:4px}.sync-line{flex:1;height:2px;border-radius:1px;animation:holo-beam-pulse 1.8s ease-in-out infinite}.sync-status{font-size:8px;letter-spacing:.18em;text-transform:uppercase;text-align:center}.sync-latency{font-size:6.5px;letter-spacing:.1em;text-align:center;font-family:var(--aiops-font-family, "Courier New", monospace)}.base-ring{position:absolute;top:50%;left:50%;border-style:solid;border-radius:50%;transform:translate(-50%,-50%) scaleY(.22);animation:holo-ring-pulse 2.5s ease-in-out infinite}.base-hotspot{position:absolute;top:50%;left:50%;width:8%;height:8%;border-radius:50%;transform:translate(-50%,-50%) scaleY(.22);background:radial-gradient(circle,#ffffff 0%,#ff8c00 35%,transparent 70%);box-shadow:0 0 20px #ff8c00,0 0 40px #ff8c0080}@keyframes refresh-error-pulse{0%,to{opacity:1;box-shadow:0 0 6px #f25,0 0 14px #f256}50%{opacity:.5;box-shadow:0 0 3px #f25}}.hdr-refresh-error{display:flex;align-items:center;gap:7px;padding:3px 10px;border:1px solid rgba(255,34,85,.35);border-radius:3px;background:#ff22550f;animation:refresh-error-pulse 2s ease-in-out infinite}.refresh-error-dot{width:6px;height:6px;border-radius:50%;background:#f25;box-shadow:0 0 6px #f25;flex-shrink:0}.refresh-error-text{font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:#f25;white-space:nowrap;font-family:var(--aiops-font-family, "Courier New", monospace)}@keyframes cred-panel-glow{0%,to{border-color:#00e5ff2e;box-shadow:0 0 40px #00e5ff14,0 20px 80px #000c,inset 0 0 60px #00000080}50%{border-color:#00e5ff59;box-shadow:0 0 60px #00e5ff26,0 20px 80px #000c,inset 0 0 60px #00000080}}@keyframes cred-fade-in{0%{opacity:0}to{opacity:1}}@keyframes cred-panel-enter{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes cred-icon-pop{0%{opacity:0;transform:scale(.4) translateY(10px)}60%{opacity:1;transform:scale(1.1) translateY(-3px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes cred-scanline-sweep{0%{top:-2px;opacity:0}5%{opacity:.7}90%{opacity:.4}to{top:100%;opacity:0}}@keyframes cred-btn-shine{0%{left:-100%}to{left:200%}}.cred-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#020810e0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:cred-fade-in .4s ease-out}.cred-panel{position:relative;width:380px;padding:40px 36px 32px;border:1px solid rgba(0,229,255,.18);border-radius:6px;background:linear-gradient(170deg,#061226f7,#030a16fa);animation:cred-panel-enter .5s ease-out,cred-panel-glow 4s ease-in-out infinite;overflow:hidden}.cred-scanline{position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(0,229,255,.5) 50%,transparent 100%);animation:cred-scanline-sweep 4s linear infinite;pointer-events:none;z-index:2}.cred-corner{position:absolute;width:18px;height:18px;pointer-events:none;z-index:3}.cred-corner:before,.cred-corner:after{content:"";position:absolute;background:#00e5ff73}.cred-corner:before{top:0;left:0;width:18px;height:1px}.cred-corner:after{top:0;left:0;width:1px;height:18px}.cred-corner--tl{top:-1px;left:-1px}.cred-corner--tr{top:-1px;right:-1px;transform:scaleX(-1)}.cred-corner--bl{bottom:-1px;left:-1px;transform:scaleY(-1)}.cred-corner--br{bottom:-1px;right:-1px;transform:scale(-1)}.cred-icon{display:flex;justify-content:center;margin-bottom:18px;animation:cred-icon-pop .6s ease-out .15s both}.cred-title{text-align:center;font-size:13px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:#00e5ff;margin-bottom:6px}.cred-subtitle{text-align:center;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:#00e5ff59;margin-bottom:28px;font-family:var(--aiops-font-family, "Courier New", monospace)}.cred-field{margin-bottom:18px}.cred-label{display:block;font-size:8px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#00e5ff8c;margin-bottom:6px;font-family:var(--aiops-font-family, "Courier New", monospace)}.cred-input{width:100%;padding:10px 14px;border:1px solid rgba(0,229,255,.15);border-radius:4px;background:#000a19b3;color:#c8dff0;font-size:13px;font-family:var(--aiops-font-family, "Courier New", monospace);letter-spacing:.04em;outline:none;transition:border-color .25s,box-shadow .25s;box-sizing:border-box}.cred-input::placeholder{color:#c8dff02e;letter-spacing:.06em}.cred-btn{position:relative;display:block;width:100%;margin-top:26px;padding:12px 0;border:1px solid rgba(0,229,255,.3);border-radius:4px;background:#00e5ff0f;color:#00e5ff;font-size:11px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;font-family:inherit;transition:background .25s,box-shadow .25s,opacity .25s;overflow:hidden}.cred-btn-glow{position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,229,255,.08),transparent);pointer-events:none;animation:cred-btn-shine 3s ease-in-out infinite}.cred-footer{margin-top:20px;text-align:center;font-size:7px;letter-spacing:.2em;text-transform:uppercase;color:#c8dff02e;font-family:var(--aiops-font-family, "Courier New", monospace)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:var(--aiops-font-family, "Segoe UI", system-ui, -apple-system, sans-serif);background-color:#020810;color:#c8dff0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#1e508c66;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#22d3ee4d}*{scrollbar-width:thin;scrollbar-color:rgba(30,80,140,.4) transparent}@keyframes holo-ring-pulse{0%,to{transform:scaleY(.22) scale(1)}50%{transform:scaleY(.22) scale(.965)}}@keyframes holo-beam-pulse{0%{opacity:.75;filter:brightness(1)}40%{opacity:1;filter:brightness(1.35)}70%{opacity:.55;filter:brightness(.7)}to{opacity:.75;filter:brightness(1)}}@keyframes holo-scan{0%{top:-3px;opacity:0}6%{opacity:1}90%{opacity:.6}to{top:110%;opacity:0}}@keyframes holo-led-blink{0%,88%,to{opacity:1}93%{opacity:.15}}@keyframes holo-float{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes holo-base-spin{0%{transform:translate(-50%) scaleY(.22) rotate(0)}to{transform:translate(-50%) scaleY(.22) rotate(360deg)}}@keyframes component-drill-pulse{0%,to{box-shadow:0 0 #f253}50%{box-shadow:0 0 12px 2px #ff225526}}@keyframes comp-dialog-border-glow{0%,to{border-color:var(--dialog-color, #00e5ff)33;box-shadow:0 0 30px var(--dialog-color, #00e5ff) 18,0 12px 60px #000000bf,inset 0 0 40px #0006}50%{border-color:var(--dialog-color, #00e5ff)66;box-shadow:0 0 50px var(--dialog-color, #00e5ff) 30,0 12px 60px #000000bf,inset 0 0 40px #0006}}@keyframes comp-dialog-icon-pop{0%{opacity:0;transform:scale(.3) translateY(14px)}60%{opacity:1;transform:scale(1.08) translateY(-3px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes comp-dialog-metric-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}
|
|
1
|
+
@keyframes status-change-pulse{0%{opacity:0;transform:scale(.6)}10%{opacity:1;transform:scale(1.15)}25%{opacity:.1;transform:scale(.95)}40%{opacity:.9;transform:scale(1.1)}60%{opacity:.15;transform:scale(1)}to{opacity:0;transform:scale(1.3)}}.app{display:grid;grid-template-rows:52px 1fr;width:100%;height:100vh;overflow:hidden;position:relative;background:#020810;color:#c8dff0;font-family:var(--aiops-font-family, "Segoe UI", system-ui, -apple-system, sans-serif);-webkit-font-smoothing:antialiased}.app-header{display:flex;align-items:center;gap:18px;padding:0 24px;border-bottom:1px solid rgba(0,229,255,.08);background:#020810eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:relative;z-index:10}.hdr-brand{display:flex;align-items:center;gap:8px}.brand-pulse{width:7px;height:7px;border-radius:50%;background:#00e5ff;box-shadow:0 0 8px #00e5ff,0 0 18px #00e5ff80;animation:holo-led-blink 2s linear infinite}.brand-text{font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#00e5ff;opacity:.7}.hdr-right{display:flex;align-items:center;gap:8px;margin-left:auto}.hdr-tag{font-size:9px;letter-spacing:.2em;color:#00e5ff59;border:1px solid rgba(0,229,255,.15);padding:3px 8px;border-radius:2px}.scene{display:flex;flex-direction:column;align-items:center;overflow:hidden;padding:0;position:relative;z-index:1;gap:0;background:transparent}.float-node{display:flex;flex-direction:column;align-items:center;position:relative}.float-node--interactive:before{content:"";position:absolute;inset:-40px -35px -15px}.float-body{position:relative;animation:holo-float 4s ease-in-out infinite}.scan-line{position:absolute;top:0;left:0;right:0;height:1.5px;animation:holo-scan 3.5s linear infinite;pointer-events:none;z-index:10}.node-tag{font-size:24px;letter-spacing:.2em;text-transform:uppercase;font-family:var(--aiops-font-family, "Courier New", monospace);margin-top:14px;text-align:center;text-shadow:0 0 6px currentColor}.node-subtag{font-size:11px;letter-spacing:.15em;text-transform:uppercase;font-family:var(--aiops-font-family, "Courier New", monospace);margin-top:4px;text-align:center}.sync-bridge{display:flex;flex-direction:column;align-items:center;justify-content:center;width:110px;gap:6px;flex-shrink:0;font-family:var(--aiops-font-family, "Courier New", monospace)}.sync-arrows{display:flex;align-items:center;width:100%;gap:4px}.sync-line{flex:1;height:2px;border-radius:1px;animation:holo-beam-pulse 1.8s ease-in-out infinite}.sync-status{font-size:8px;letter-spacing:.18em;text-transform:uppercase;text-align:center}.sync-latency{font-size:6.5px;letter-spacing:.1em;text-align:center;font-family:var(--aiops-font-family, "Courier New", monospace)}.base-ring{position:absolute;top:50%;left:50%;border-style:solid;border-radius:50%;transform:translate(-50%,-50%) scaleY(.22);animation:holo-ring-pulse 2.5s ease-in-out infinite}.base-hotspot{position:absolute;top:50%;left:50%;width:8%;height:8%;border-radius:50%;transform:translate(-50%,-50%) scaleY(.22);background:radial-gradient(circle,#ffffff 0%,#ff8c00 35%,transparent 70%);box-shadow:0 0 20px #ff8c00,0 0 40px #ff8c0080}@keyframes refresh-error-pulse{0%,to{opacity:1;box-shadow:0 0 6px #f25,0 0 14px #f256}50%{opacity:.5;box-shadow:0 0 3px #f25}}.hdr-refresh-error{display:flex;align-items:center;gap:7px;padding:3px 10px;border:1px solid rgba(255,34,85,.35);border-radius:3px;background:#ff22550f;animation:refresh-error-pulse 2s ease-in-out infinite}.refresh-error-dot{width:6px;height:6px;border-radius:50%;background:#f25;box-shadow:0 0 6px #f25;flex-shrink:0}.refresh-error-text{font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:#f25;white-space:nowrap;font-family:var(--aiops-font-family, "Courier New", monospace)}@keyframes cred-panel-glow{0%,to{border-color:#00e5ff2e;box-shadow:0 0 40px #00e5ff14,0 20px 80px #000c,inset 0 0 60px #00000080}50%{border-color:#00e5ff59;box-shadow:0 0 60px #00e5ff26,0 20px 80px #000c,inset 0 0 60px #00000080}}@keyframes cred-fade-in{0%{opacity:0}to{opacity:1}}@keyframes cred-panel-enter{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes cred-icon-pop{0%{opacity:0;transform:scale(.4) translateY(10px)}60%{opacity:1;transform:scale(1.1) translateY(-3px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes cred-scanline-sweep{0%{top:-2px;opacity:0}5%{opacity:.7}90%{opacity:.4}to{top:100%;opacity:0}}@keyframes cred-btn-shine{0%{left:-100%}to{left:200%}}.cred-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#020810e0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:cred-fade-in .4s ease-out}.cred-panel{position:relative;width:380px;padding:40px 36px 32px;border:1px solid rgba(0,229,255,.18);border-radius:6px;background:linear-gradient(170deg,#061226f7,#030a16fa);animation:cred-panel-enter .5s ease-out,cred-panel-glow 4s ease-in-out infinite;overflow:hidden}.cred-scanline{position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(0,229,255,.5) 50%,transparent 100%);animation:cred-scanline-sweep 4s linear infinite;pointer-events:none;z-index:2}.cred-corner{position:absolute;width:18px;height:18px;pointer-events:none;z-index:3}.cred-corner:before,.cred-corner:after{content:"";position:absolute;background:#00e5ff73}.cred-corner:before{top:0;left:0;width:18px;height:1px}.cred-corner:after{top:0;left:0;width:1px;height:18px}.cred-corner--tl{top:-1px;left:-1px}.cred-corner--tr{top:-1px;right:-1px;transform:scaleX(-1)}.cred-corner--bl{bottom:-1px;left:-1px;transform:scaleY(-1)}.cred-corner--br{bottom:-1px;right:-1px;transform:scale(-1)}.cred-icon{display:flex;justify-content:center;margin-bottom:18px;animation:cred-icon-pop .6s ease-out .15s both}.cred-title{text-align:center;font-size:13px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:#00e5ff;margin-bottom:6px}.cred-subtitle{text-align:center;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:#00e5ff59;margin-bottom:28px;font-family:var(--aiops-font-family, "Courier New", monospace)}.cred-field{margin-bottom:18px}.cred-label{display:block;font-size:8px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#00e5ff8c;margin-bottom:6px;font-family:var(--aiops-font-family, "Courier New", monospace)}.cred-input{width:100%;padding:10px 14px;border:1px solid rgba(0,229,255,.15);border-radius:4px;background:#000a19b3;color:#c8dff0;font-size:13px;font-family:var(--aiops-font-family, "Courier New", monospace);letter-spacing:.04em;outline:none;transition:border-color .25s,box-shadow .25s;box-sizing:border-box}.cred-input::placeholder{color:#c8dff02e;letter-spacing:.06em}.cred-btn{position:relative;display:block;width:100%;margin-top:26px;padding:12px 0;border:1px solid rgba(0,229,255,.3);border-radius:4px;background:#00e5ff0f;color:#00e5ff;font-size:11px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;font-family:inherit;transition:background .25s,box-shadow .25s,opacity .25s;overflow:hidden}.cred-btn-glow{position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,229,255,.08),transparent);pointer-events:none;animation:cred-btn-shine 3s ease-in-out infinite}.cred-footer{margin-top:20px;text-align:center;font-size:7px;letter-spacing:.2em;text-transform:uppercase;color:#c8dff02e;font-family:var(--aiops-font-family, "Courier New", monospace)}.ev-root{display:flex;flex-direction:column;height:100%;width:100%;background:linear-gradient(180deg,#020810f7,#030c18fa);color:#c8dff0;font-family:var(--aiops-font-family, "Segoe UI", system-ui, -apple-system, sans-serif);overflow:hidden}.ev-header{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-bottom:1px solid rgba(0,229,255,.1);background:#040e1cd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-shrink:0}.ev-header-left{display:flex;align-items:center;gap:12px}.ev-header-pulse{width:7px;height:7px;border-radius:50%;background:#00e5ff;box-shadow:0 0 8px #00e5ff,0 0 18px #00e5ff80;animation:holo-led-blink 2s linear infinite}.ev-title{font-size:14px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#00e5ff;margin:0}.ev-event-count{font-size:11px;color:#00e5ff73;letter-spacing:.08em;border:1px solid rgba(0,229,255,.15);padding:2px 10px;border-radius:10px}.ev-header-right{display:flex;align-items:center;gap:12px}.ev-live-tag{display:flex;align-items:center;gap:6px;font-size:9px;font-weight:700;letter-spacing:.25em;color:#0f8;border:1px solid rgba(0,255,136,.25);padding:3px 10px;border-radius:3px}.ev-live-dot{width:6px;height:6px;border-radius:50%;background:#0f8;box-shadow:0 0 6px #0f8;animation:holo-led-blink 1.5s linear infinite}.ev-live-dot--err{background:#f25;box-shadow:0 0 6px #f25}.ev-error-tag{display:flex;align-items:center;gap:5px;font-size:9px;font-weight:700;letter-spacing:.15em;color:#f25;cursor:default}.ev-error-dot{width:5px;height:5px;border-radius:50%;background:#f25;box-shadow:0 0 5px #f25;animation:holo-led-blink 1s linear infinite}.ev-loading-tag{display:flex;align-items:center;gap:6px;font-size:9px;font-weight:600;letter-spacing:.15em;color:#00e5ff99}.ev-loading-spinner{width:10px;height:10px;border:1.5px solid rgba(0,229,255,.15);border-top-color:#00e5ff;border-radius:50%;animation:ev-spin .8s linear infinite}@keyframes ev-spin{to{transform:rotate(360deg)}}.ev-refresh-tag{font-size:9px;letter-spacing:.06em;color:#648caa73;font-family:Cascadia Code,Fira Code,Consolas,monospace}.ev-refresh-btn{padding:2px 8px;border:1px solid rgba(0,229,255,.15);border-radius:3px;background:transparent;color:#00e5ff99;font-size:14px;cursor:pointer;transition:all .2s ease;font-family:inherit;line-height:1}.ev-refresh-btn:hover:not(:disabled){background:#00e5ff0f;border-color:#00e5ff4d;color:#00e5ff}.ev-refresh-btn:disabled{opacity:.25;cursor:default}.ev-toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;gap:16px;border-bottom:1px solid rgba(0,229,255,.06);flex-shrink:0;flex-wrap:wrap}.ev-filters{display:flex;gap:8px}.ev-filter-chip{display:flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid rgba(100,120,140,.25);border-radius:4px;background:#0a142399;color:#6a8198;font-size:11px;font-weight:600;letter-spacing:.06em;cursor:pointer;transition:all .25s ease;font-family:inherit}.ev-filter-chip:hover{background:#0f1e32cc;border-color:#64788c73}.ev-filter-chip--active{background:#0a1423d9}.ev-chip-dot{width:6px;height:6px;border-radius:50%;transition:background .25s ease}.ev-chip-count{font-size:10px;opacity:.6;margin-left:2px}.ev-search-wrap{position:relative;flex:1;max-width:380px;min-width:200px}.ev-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:#00e5ff59;pointer-events:none}.ev-search{width:100%;padding:7px 12px 7px 32px;border:1px solid rgba(0,229,255,.12);border-radius:4px;background:#060e1cb3;color:#c8dff0;font-size:12px;font-family:inherit;outline:none;transition:border-color .3s ease,box-shadow .3s ease}.ev-search::placeholder{color:#648caa73}.ev-search:focus{border-color:#00e5ff66;box-shadow:0 0 12px #00e5ff1f,inset 0 0 20px #00e5ff08}.ev-table-wrap{flex:1;overflow:auto;position:relative}.ev-table-wrap::-webkit-scrollbar{width:5px;height:5px}.ev-table-wrap::-webkit-scrollbar-track{background:transparent}.ev-table-wrap::-webkit-scrollbar-thumb{background:#00e5ff26;border-radius:3px}.ev-table-wrap::-webkit-scrollbar-thumb:hover{background:#00e5ff4d}.ev-table{width:100%;border-collapse:separate;border-spacing:0;font-size:11.5px}.ev-th{position:sticky;top:0;z-index:4;padding:10px 14px;background:#040c18f2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid rgba(0,229,255,.15);text-align:left;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#00e5ffb3;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:color .2s ease}.ev-th:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(0,229,255,.2),transparent)}.ev-th:hover{color:#00e5ff}.ev-th-inner{display:flex;align-items:center;gap:5px}.ev-sort-arrow{font-size:8px;line-height:1}.ev-sort-arrow--idle{opacity:.3}.ev-sort-arrow--active{color:#00e5ff;text-shadow:0 0 6px rgba(0,229,255,.6)}.ev-row{transition:background .2s ease,box-shadow .2s ease;border-bottom:1px solid rgba(0,229,255,.04)}.ev-row:nth-child(2n){background:#0610204d}.ev-row:hover{background:#00e5ff0a;box-shadow:inset 0 0 30px var(--row-glow, rgba(0, 229, 255, .03)),inset 3px 0 0 var(--row-color, #00e5ff)}.ev-td{padding:9px 14px;vertical-align:middle;white-space:nowrap;border-bottom:1px solid rgba(15,30,50,.5);max-width:300px;overflow:hidden;text-overflow:ellipsis}.ev-td-mono{font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:11px;letter-spacing:.02em}.ev-td-msg{max-width:340px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ev-cell-dim{color:#6482a059}.ev-severity-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border:1px solid;border-radius:3px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.ev-severity-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.ev-sms-badge{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:600;letter-spacing:.06em}.ev-sms-badge--ok{color:#0f8}.ev-sms-badge--ok .ev-sms-dot{background:#0f8;box-shadow:0 0 5px #0f8}.ev-sms-badge--fail{color:#f25}.ev-sms-badge--fail .ev-sms-dot{background:#f25;box-shadow:0 0 5px #f25}.ev-sms-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.ev-class-tag{display:inline-block;padding:2px 8px;border:1px solid rgba(0,229,255,.15);border-radius:3px;font-size:10px;letter-spacing:.04em;color:#00e5ffb3;background:#00e5ff0a;white-space:nowrap}.ev-mon-cat{font-size:10px;letter-spacing:.04em;color:#6a8198}.ev-mon-cat--247{color:#00e5ff;font-weight:600}.ev-empty{text-align:center;padding:48px 24px;color:#648caa73;font-size:13px;letter-spacing:.1em}.ev-pagination{display:flex;align-items:center;justify-content:space-between;padding:10px 24px;border-top:1px solid rgba(0,229,255,.08);background:#040c18e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-shrink:0;gap:16px;flex-wrap:wrap}.ev-page-info{font-size:11px;color:#648caa99;letter-spacing:.04em;white-space:nowrap}.ev-page-controls{display:flex;align-items:center;gap:4px}.ev-page-btn{padding:4px 10px;border:1px solid rgba(0,229,255,.15);border-radius:3px;background:#06102099;color:#00e5ffb3;font-size:11px;cursor:pointer;transition:all .2s ease;font-family:inherit}.ev-page-btn:hover:not(:disabled){background:#00e5ff14;border-color:#00e5ff59;box-shadow:0 0 8px #00e5ff1f}.ev-page-btn:disabled{opacity:.25;cursor:default}.ev-page-num{padding:0 10px;font-size:11px;color:#c8dff0;letter-spacing:.06em;font-family:Cascadia Code,Fira Code,Consolas,monospace}.ev-page-size{display:flex;align-items:center;gap:6px}.ev-page-size-label{font-size:11px;color:#648caa80;letter-spacing:.04em}.ev-page-size-select{padding:3px 6px;border:1px solid rgba(0,229,255,.15);border-radius:3px;background:#061020b3;color:#c8dff0;font-size:11px;font-family:inherit;outline:none;cursor:pointer;transition:border-color .2s ease}.ev-page-size-select:focus{border-color:#00e5ff59}.ev-page-size-select option{background:#0a1828;color:#c8dff0}.ev-header:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,#00e5ff 50%,transparent 100%);opacity:.5;animation:ev-scan-slide 4s linear infinite}@keyframes ev-scan-slide{0%{transform:translate(-100%)}to{transform:translate(100%)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:var(--aiops-font-family, "Segoe UI", system-ui, -apple-system, sans-serif);background-color:#020810;color:#c8dff0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#1e508c66;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#22d3ee4d}*{scrollbar-width:thin;scrollbar-color:rgba(30,80,140,.4) transparent}@keyframes holo-ring-pulse{0%,to{transform:scaleY(.22) scale(1)}50%{transform:scaleY(.22) scale(.965)}}@keyframes holo-beam-pulse{0%{opacity:.75;filter:brightness(1)}40%{opacity:1;filter:brightness(1.35)}70%{opacity:.55;filter:brightness(.7)}to{opacity:.75;filter:brightness(1)}}@keyframes holo-scan{0%{top:-3px;opacity:0}6%{opacity:1}90%{opacity:.6}to{top:110%;opacity:0}}@keyframes holo-led-blink{0%,88%,to{opacity:1}93%{opacity:.15}}@keyframes holo-float{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes holo-base-spin{0%{transform:translate(-50%) scaleY(.22) rotate(0)}to{transform:translate(-50%) scaleY(.22) rotate(360deg)}}@keyframes component-drill-pulse{0%,to{box-shadow:0 0 #f253}50%{box-shadow:0 0 12px 2px #ff225526}}@keyframes comp-dialog-border-glow{0%,to{border-color:var(--dialog-color, #00e5ff)33;box-shadow:0 0 30px var(--dialog-color, #00e5ff) 18,0 12px 60px #000000bf,inset 0 0 40px #0006}50%{border-color:var(--dialog-color, #00e5ff)66;box-shadow:0 0 50px var(--dialog-color, #00e5ff) 30,0 12px 60px #000000bf,inset 0 0 40px #0006}}@keyframes comp-dialog-icon-pop{0%{opacity:0;transform:scale(.3) translateY(14px)}60%{opacity:1;transform:scale(1.08) translateY(-3px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes comp-dialog-metric-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}
|