// 【重要】必须使用 const Component 作为组件变量名
// ONEOS-web - 加氢站数字孪生监控大屏（1920×1080 设计稿级布局，高对比科技风）

const Component = function () {
	var useState = React.useState;
	var useEffect = React.useEffect;

	var _now = useState(function () { return new Date(); });
	var now = _now[0];
	var setNow = _now[1];

	useEffect(function () {
		var t = setInterval(function () { setNow(new Date()); }, 1000);
		return function () { clearInterval(t); };
	}, []);

	var pad = function (n) { return n < 10 ? '0' + n : '' + n; };
	var timeStr = now.getFullYear() + '-' + pad(now.getMonth() + 1) + '-' + pad(now.getDate()) + ' ' + pad(now.getHours()) + ':' + pad(now.getMinutes()) + ':' + pad(now.getSeconds());

	var h2PanelTitle = {
		margin: 0,
		fontSize: 15,
		fontWeight: 600,
		letterSpacing: '0.06em',
		color: '#e8f4ff',
		textShadow: '0 0 12px rgba(0, 242, 255, 0.35)',
		display: 'flex',
		alignItems: 'center',
		gap: 8
	};

	var panelShell = {
		background: 'linear-gradient(145deg, rgba(6, 28, 58, 0.88) 0%, rgba(4, 15, 35, 0.92) 100%)',
		border: '1px solid rgba(0, 242, 255, 0.22)',
		borderRadius: 4,
		boxShadow: 'inset 0 0 0 1px rgba(255,255,255,0.04), 0 8px 32px rgba(0,0,0,0.45)',
		backdropFilter: 'blur(8px)',
		overflow: 'hidden',
		position: 'relative'
	};

	var panelHead = {
		height: 40,
		padding: '0 14px',
		display: 'flex',
		alignItems: 'center',
		justifyContent: 'space-between',
		background: 'linear-gradient(90deg, rgba(0, 242, 255, 0.12) 0%, transparent 55%)',
		borderBottom: '1px solid rgba(0, 242, 255, 0.15)'
	};

	var kpiCard = function (label, value, unit, sub) {
		return React.createElement('div', {
			key: label,
			style: {
				flex: 1,
				minWidth: 0,
				padding: '12px 16px',
				background: 'linear-gradient(180deg, rgba(10, 40, 72, 0.75) 0%, rgba(4, 18, 40, 0.85) 100%)',
				border: '1px solid rgba(0, 242, 255, 0.2)',
				borderRadius: 4,
				position: 'relative',
				overflow: 'hidden'
			}
		},
			React.createElement('div', { style: { position: 'absolute', inset: 0, background: 'radial-gradient(ellipse 80% 50% at 0% 0%, rgba(0,242,255,0.12), transparent 55%)', pointerEvents: 'none' } }),
			React.createElement('div', { style: { fontSize: 12, color: '#7a9bb8', marginBottom: 6, letterSpacing: '0.04em' } }, label),
			React.createElement('div', { style: { display: 'flex', alignItems: 'baseline', gap: 6 } },
				React.createElement('span', { style: { fontSize: 26, fontWeight: 700, color: '#00f2ff', fontFamily: '"DIN Alternate", "Roboto Mono", monospace', textShadow: '0 0 20px rgba(0,242,255,0.45)' } }, value),
				React.createElement('span', { style: { fontSize: 12, color: '#5a8aad' } }, unit)
			),
			sub && React.createElement('div', { style: { marginTop: 6, fontSize: 11, color: '#4a7a9c' } }, sub)
		);
	};

	var navItem = function (label, active) {
		return React.createElement('div', {
			key: label,
			style: {
				padding: '6px 14px',
				fontSize: 12,
				color: active ? '#00f2ff' : '#6a8faf',
				border: active ? '1px solid rgba(0,242,255,0.5)' : '1px solid transparent',
				borderRadius: 2,
				background: active ? 'rgba(0,242,255,0.08)' : 'transparent',
				cursor: 'pointer',
				letterSpacing: '0.05em',
				whiteSpace: 'nowrap'
			}
		}, label);
	};

	var subNavBtn = function (label, icon) {
		return React.createElement('div', {
			key: label,
			style: {
				width: 72,
				height: 64,
				display: 'flex',
				flexDirection: 'column',
				alignItems: 'center',
				justifyContent: 'center',
				gap: 6,
				background: 'linear-gradient(180deg, rgba(0,40,80,0.5) 0%, rgba(4,20,45,0.8) 100%)',
				border: '1px solid rgba(0, 242, 255, 0.18)',
				borderRadius: 4,
				fontSize: 11,
				color: '#9ec8e8',
				cursor: 'pointer'
			}
		},
			React.createElement('div', { style: { width: 28, height: 28, borderRadius: 4, border: '1px solid rgba(0,242,255,0.35)', background: 'rgba(0,242,255,0.06)', display: 'flex', alignItems: 'center', justifyContent: 'center', fontSize: 14, color: '#00f2ff' } }, icon),
			label
		);
	};

	var alarmRows = [
		{ t: '10:28:06', lv: '紧急', name: '压缩机出口压力超限', loc: '压缩单元-A' },
		{ t: '10:15:42', lv: '一般', name: '储罐液位波动提醒', loc: '储氢区-3#' },
		{ t: '09:52:11', lv: '重要', name: '加氢枪通讯短时中断', loc: '加氢岛-2' }
	];

	return React.createElement('div', {
		className: 'h2-station-screen-root',
		style: {
			width: 1920,
			height: 1080,
			margin: '0 auto',
			position: 'relative',
			background: '#040b1a',
			color: '#e8f4ff',
			fontFamily: '"Inter", "PingFang SC", "Microsoft YaHei", sans-serif',
			overflow: 'hidden',
			boxSizing: 'border-box',
			textRendering: 'geometricPrecision',
			WebkitFontSmoothing: 'antialiased'
		}
	},
		React.createElement('style', null, `
			.h2-station-screen-root * { box-sizing: border-box; }
			@keyframes h2-pulse-border {
				0%, 100% { box-shadow: 0 0 0 1px rgba(0,242,255,0.15), 0 0 24px rgba(0,242,255,0.08); }
				50% { box-shadow: 0 0 0 1px rgba(0,242,255,0.35), 0 0 36px rgba(0,242,255,0.15); }
			}
			.h2-station-screen-root .h2-center-stage {
				animation: h2-pulse-border 4s ease-in-out infinite;
			}
			@keyframes h2-scan {
				0% { transform: translateY(-100%); opacity: 0; }
				10% { opacity: 0.06; }
				90% { opacity: 0.06; }
				100% { transform: translateY(100%); opacity: 0; }
			}
			.h2-station-screen-root .h2-scanline::after {
				content: '';
				position: absolute;
				left: 0; right: 0; top: 0;
				height: 120px;
				background: linear-gradient(180deg, transparent, rgba(0,242,255,0.04), transparent);
				animation: h2-scan 8s linear infinite;
				pointer-events: none;
			}
		`),

		/* 背景网格与光晕 */
		React.createElement('div', {
			style: {
				position: 'absolute',
				inset: 0,
				backgroundImage: `
					linear-gradient(rgba(0, 242, 255, 0.03) 1px, transparent 1px),
					linear-gradient(90deg, rgba(0, 242, 255, 0.03) 1px, transparent 1px)
				`,
				backgroundSize: '48px 48px',
				pointerEvents: 'none'
			}
		}),
		React.createElement('div', {
			style: {
				position: 'absolute',
				width: 900,
				height: 900,
				left: '50%',
				top: '42%',
				transform: 'translate(-50%, -50%)',
				background: 'radial-gradient(circle, rgba(22, 93, 255, 0.12) 0%, transparent 65%)',
				pointerEvents: 'none'
			}
		}),

		/* 顶栏 */
		React.createElement('header', {
			style: {
				position: 'absolute',
				left: 24,
				right: 24,
				top: 16,
				height: 56,
				display: 'flex',
				alignItems: 'center',
				justifyContent: 'space-between',
				zIndex: 20
			}
		},
			React.createElement('div', { style: { fontSize: 13, color: '#7a9bb8', letterSpacing: '0.02em' } },
				timeStr, React.createElement('span', { style: { margin: '0 12px', color: 'rgba(0,242,255,0.35)' } }, '|'),
				'24°C 晴', React.createElement('span', { style: { margin: '0 12px', color: 'rgba(0,242,255,0.35)' } }, '|'),
				'空气质量：优'
			),
			React.createElement('div', {
				style: {
					fontSize: 28,
					fontWeight: 700,
					letterSpacing: '0.12em',
					color: '#f0f8ff',
					textShadow: '0 0 24px rgba(0, 242, 255, 0.55), 0 0 60px rgba(22, 93, 255, 0.35)'
				}
			}, '加氢站数字孪生监控平台'),
			React.createElement('div', { style: { display: 'flex', gap: 8 } },
				['首页', '三维监控', '设备管理', '告警管理', '运营报表', '系统设置'].map(function (x, i) {
					return React.createElement('div', {
						key: x,
						style: {
							padding: '6px 10px',
							fontSize: 12,
							color: i === 1 ? '#00f2ff' : '#6a8faf',
							borderBottom: i === 1 ? '2px solid #00f2ff' : '2px solid transparent'
						}
					}, x);
				})
			)
		),

		/* KPI 行 */
		React.createElement('div', {
			style: {
				position: 'absolute',
				left: 24,
				right: 24,
				top: 84,
				display: 'flex',
				gap: 12,
				zIndex: 15
			}
		},
			kpiCard('氢气最高压力', '35.0', 'MPa', '设计上限 45 MPa'),
			kpiCard('氢气平均温度', '22.5', '°C', '管束区均值'),
			kpiCard('储罐液位', '85', '%', '5 座储罐加权'),
			kpiCard('瞬时流量', '120', 'Nm³/h', '加氢岛合计'),
			kpiCard('H₂ 浓度', '0', 'ppm', '站区环测'),
			kpiCard('安全等级', '一级', '', '连续安全运行 337 天')
		),

		/* 左列 */
		React.createElement('aside', {
			style: {
				position: 'absolute',
				left: 24,
				top: 168,
				width: 400,
				bottom: 200,
				display: 'flex',
				flexDirection: 'column',
				gap: 10,
				zIndex: 12
			}
		},
			React.createElement('div', { style: Object.assign({}, panelShell, { flex: '0 0 auto' }) },
				React.createElement('div', { style: panelHead },
					React.createElement('h2', { style: h2PanelTitle }, React.createElement('span', { style: { width: 3, height: 14, background: '#00f2ff', borderRadius: 1 } }), '站点概况')
				),
				React.createElement('div', { style: { padding: '14px 16px', fontSize: 12, lineHeight: 2, color: '#9ec8e8' } },
					React.createElement('div', null, '投运日期：', React.createElement('span', { style: { color: '#00f2ff' } }, '2023-06-18')),
					React.createElement('div', null, '接入设备：', React.createElement('span', { style: { color: '#00f2ff' } }, '28'), ' 台'),
					React.createElement('div', null, '累计加氢量：', React.createElement('span', { style: { color: '#00f2ff' } }, '385,621'), ' kg'),
					React.createElement('div', null, '安全运行：', React.createElement('span', { style: { color: '#00f2ff' } }, '337'), ' 天')
				)
			),
			React.createElement('div', { style: Object.assign({}, panelShell, { flex: '1 1 0', minHeight: 0 }) },
				React.createElement('div', { style: panelHead },
					React.createElement('h2', { style: h2PanelTitle }, React.createElement('span', { style: { width: 3, height: 14, background: '#00f2ff', borderRadius: 1 } }), '加氢量统计'),
					React.createElement('div', { style: { display: 'flex', gap: 4 } }, navItem('日', true), navItem('月', false), navItem('年', false))
				),
				React.createElement('div', { style: { padding: '8px 12px 4px', fontSize: 11, color: '#5a8aad' } }, '较昨日 ', React.createElement('span', { style: { color: '#52c41a' } }, '+12.5%')),
				React.createElement('div', { style: { padding: '0 8px 8px', height: 140 } },
					React.createElement('svg', { width: '100%', height: '100%', viewBox: '0 0 360 120', preserveAspectRatio: 'none' },
						React.createElement('defs', null,
							React.createElement('linearGradient', { id: 'h2lg1', x1: '0', y1: '0', x2: '0', y2: '1' },
								React.createElement('stop', { offset: '0%', stopColor: 'rgba(0,242,255,0.45)' }),
								React.createElement('stop', { offset: '100%', stopColor: 'rgba(0,242,255,0)' })
							)
						),
						React.createElement('polyline', { fill: 'none', stroke: 'rgba(0,242,255,0.35)', strokeWidth: '1', points: '0,100 360,100' }),
						React.createElement('polygon', { fill: 'url(#h2lg1)', points: '0,100 0,70 40,55 80,62 120,40 160,48 200,35 240,50 280,38 320,45 360,30 360,100' }),
						React.createElement('polyline', { fill: 'none', stroke: '#00f2ff', strokeWidth: '2', points: '0,70 40,55 80,62 120,40 160,48 200,35 240,50 280,38 320,45 360,30' })
					)
				)
			),
			React.createElement('div', { style: Object.assign({}, panelShell, { flex: '0 0 160px' }) },
				React.createElement('div', { style: panelHead },
					React.createElement('h2', { style: h2PanelTitle }, React.createElement('span', { style: { width: 3, height: 14, background: '#00f2ff', borderRadius: 1 } }), '设备状态统计')
				),
				React.createElement('div', { style: { display: 'flex', alignItems: 'center', padding: '8px 16px', gap: 16 } },
					React.createElement('svg', { width: 100, height: 100, viewBox: '0 0 100 100' },
						React.createElement('circle', { cx: 50, cy: 50, r: 38, fill: 'none', stroke: 'rgba(0,242,255,0.15)', strokeWidth: 10 }),
						React.createElement('circle', { cx: 50, cy: 50, r: 38, fill: 'none', stroke: '#00f2ff', strokeWidth: 10, strokeDasharray: '80 159', strokeLinecap: 'round', transform: 'rotate(-90 50 50)' }),
						React.createElement('circle', { cx: 50, cy: 50, r: 38, fill: 'none', stroke: '#165dff', strokeWidth: 10, strokeDasharray: '50 159', strokeDashoffset: -80, strokeLinecap: 'round', transform: 'rotate(-90 50 50)' }),
						React.createElement('text', { x: 50, y: 54, textAnchor: 'middle', fill: '#e8f4ff', fontSize: 14, fontWeight: 700 }, '28')
					),
					React.createElement('div', { style: { fontSize: 11, lineHeight: 1.8, color: '#7a9bb8' } },
						React.createElement('div', null, React.createElement('span', { style: { color: '#00f2ff' } }, '●'), ' 运行 22'),
						React.createElement('div', null, React.createElement('span', { style: { color: '#165dff' } }, '●'), ' 待机 4'),
						React.createElement('div', null, React.createElement('span', { style: { color: '#faad14' } }, '●'), ' 维护 2')
					)
				)
			),
			React.createElement('div', { style: Object.assign({}, panelShell, { flex: '0 0 140px' }) },
				React.createElement('div', { style: panelHead },
					React.createElement('h2', { style: h2PanelTitle }, React.createElement('span', { style: { width: 3, height: 14, background: '#00f2ff', borderRadius: 1 } }), '能耗统计'),
					React.createElement('div', { style: { display: 'flex', gap: 4 } }, navItem('时', true), navItem('日', false))
				),
				React.createElement('div', { style: { padding: '12px 16px', display: 'flex', alignItems: 'flex-end', gap: 6, height: 88 } },
					[40, 65, 55, 80, 48, 72, 60, 90, 52, 68, 75, 58].map(function (h, i) {
						return React.createElement('div', {
							key: i,
							style: {
								flex: 1,
								height: h + '%',
								background: 'linear-gradient(180deg, #00f2ff 0%, rgba(22,93,255,0.4) 100%)',
								borderRadius: 2,
								opacity: 0.85
							}
						});
					})
				)
			)
		),

		/* 右列 */
		React.createElement('aside', {
			style: {
				position: 'absolute',
				right: 24,
				top: 168,
				width: 400,
				bottom: 200,
				display: 'flex',
				flexDirection: 'column',
				gap: 10,
				zIndex: 12
			}
		},
			React.createElement('div', { style: Object.assign({}, panelShell, { flex: '0 0 200px' }) },
				React.createElement('div', { style: panelHead },
					React.createElement('h2', { style: h2PanelTitle }, React.createElement('span', { style: { width: 3, height: 14, background: '#ff4d4f', borderRadius: 1 } }), '实时报警')
				),
				React.createElement('div', { style: { display: 'flex', gap: 8, padding: '8px 12px', fontSize: 11 } },
					React.createElement('span', { style: { color: '#ff4d4f' } }, '紧急 1'),
					React.createElement('span', { style: { color: '#faad14' } }, '重要 1'),
					React.createElement('span', { style: { color: '#52c41a' } }, '一般 1')
				),
				React.createElement('div', { style: { padding: '0 8px 8px', overflow: 'auto', maxHeight: 120 } },
					React.createElement('table', { style: { width: '100%', fontSize: 11, borderCollapse: 'collapse', color: '#9ec8e8' } },
						React.createElement('thead', null,
							React.createElement('tr', { style: { color: '#5a8aad' } },
								React.createElement('th', { style: { textAlign: 'left', padding: '4px 4px', borderBottom: '1px solid rgba(0,242,255,0.12)' } }, '时间'),
								React.createElement('th', { style: { textAlign: 'left', padding: '4px 4px', borderBottom: '1px solid rgba(0,242,255,0.12)' } }, '级别'),
								React.createElement('th', { style: { textAlign: 'left', padding: '4px 4px', borderBottom: '1px solid rgba(0,242,255,0.12)' } }, '事件')
							)
						),
						React.createElement('tbody', null,
							alarmRows.map(function (r) {
								return React.createElement('tr', { key: r.t },
									React.createElement('td', { style: { padding: '6px 4px', borderBottom: '1px solid rgba(255,255,255,0.04)' } }, r.t),
									React.createElement('td', { style: { padding: '6px 4px', borderBottom: '1px solid rgba(255,255,255,0.04)', color: r.lv === '紧急' ? '#ff4d4f' : r.lv === '重要' ? '#faad14' : '#52c41a' } }, r.lv),
									React.createElement('td', { style: { padding: '6px 4px', borderBottom: '1px solid rgba(255,255,255,0.04)' } }, r.name)
								);
							})
						)
					)
				)
			),
			React.createElement('div', { style: Object.assign({}, panelShell, { flex: '0 0 160px' }) },
				React.createElement('div', { style: panelHead },
					React.createElement('h2', { style: h2PanelTitle }, React.createElement('span', { style: { width: 3, height: 14, background: '#00f2ff', borderRadius: 1 } }), '储氢系统监控')
				),
				React.createElement('div', { style: { padding: '12px 16px', display: 'flex', gap: 10, alignItems: 'flex-end' } },
					[88, 92, 76, 85, 79].map(function (pct, i) {
						return React.createElement('div', { key: i, style: { flex: 1, textAlign: 'center' } },
							React.createElement('div', { style: { height: 72, background: 'rgba(0,30,60,0.6)', borderRadius: 2, position: 'relative', border: '1px solid rgba(0,242,255,0.15)' } },
								React.createElement('div', { style: { position: 'absolute', bottom: 0, left: 2, right: 2, height: pct + '%', background: 'linear-gradient(180deg, #00f2ff, #165dff)', borderRadius: '0 0 2px 2px' } })
							),
							React.createElement('div', { style: { fontSize: 10, marginTop: 4, color: '#6a8faf' } }, (i + 1) + '#')
						);
					})
				),
				React.createElement('div', { style: { padding: '0 16px 10px', fontSize: 11, color: '#7a9bb8', display: 'flex', justifyContent: 'space-between' } },
					React.createElement('span', null, '管汇压力 ', React.createElement('b', { style: { color: '#00f2ff' } }, '35.2'), ' MPa'),
					React.createElement('span', null, '可用氢量 ', React.createElement('b', { style: { color: '#00f2ff' } }, '4,250'), ' kg')
				)
			),
			React.createElement('div', { style: Object.assign({}, panelShell, { flex: '0 0 120px' }) },
				React.createElement('div', { style: panelHead },
					React.createElement('h2', { style: h2PanelTitle }, React.createElement('span', { style: { width: 3, height: 14, background: '#00f2ff', borderRadius: 1 } }), '安全环境监测')
				),
				React.createElement('div', { style: { padding: '10px 12px', display: 'grid', gridTemplateColumns: '1fr 1fr 1fr', gap: 8, fontSize: 10 } },
					['氢浓度', '可燃气体', '温度', '湿度', '风速', '风向'].map(function (lab) {
						return React.createElement('div', { key: lab, style: { background: 'rgba(0,40,70,0.4)', padding: '6px 8px', borderRadius: 2, border: '1px solid rgba(0,242,255,0.1)' } },
							React.createElement('div', { style: { color: '#5a8aad' } }, lab),
							React.createElement('div', { style: { color: '#52c41a', marginTop: 2 } }, '正常')
						);
					})
				)
			),
			React.createElement('div', { style: Object.assign({}, panelShell, { flex: '1 1 0', minHeight: 0 }) },
				React.createElement('div', { style: panelHead },
					React.createElement('h2', { style: h2PanelTitle }, React.createElement('span', { style: { width: 3, height: 14, background: '#00f2ff', borderRadius: 1 } }), '当日关键指标')
				),
				React.createElement('div', { style: { display: 'flex', justifyContent: 'space-around', padding: '16px 8px' } },
					[{ v: 78, l: '完成率' }, { v: 92, l: '能效' }, { v: 100, l: '安全' }].map(function (g) {
						return React.createElement('div', { key: g.l, style: { textAlign: 'center' } },
							React.createElement('svg', { width: 72, height: 72, viewBox: '0 0 72 72' },
								React.createElement('circle', { cx: 36, cy: 36, r: 30, fill: 'none', stroke: 'rgba(0,242,255,0.12)', strokeWidth: 8 }),
								React.createElement('circle', {
									cx: 36, cy: 36, r: 30, fill: 'none', stroke: '#00f2ff', strokeWidth: 8,
									strokeDasharray: (g.v / 100 * 188) + ' 188',
									strokeLinecap: 'round',
									transform: 'rotate(-90 36 36)'
								}),
								React.createElement('text', { x: 36, y: 40, textAnchor: 'middle', fill: '#e8f4ff', fontSize: 14, fontWeight: 700 }, g.v + '%')
							),
							React.createElement('div', { style: { fontSize: 11, color: '#7a9bb8', marginTop: 6 } }, g.l)
						);
					})
				)
			)
		),

		/* 中央孪生区 */
		React.createElement('div', {
			className: 'h2-center-stage',
			style: {
				position: 'absolute',
				left: 448,
				right: 448,
				top: 168,
				bottom: 288,
				borderRadius: 6,
				border: '1px solid rgba(0, 242, 255, 0.28)',
				background: 'linear-gradient(165deg, rgba(6, 22, 48, 0.92) 0%, rgba(2, 8, 22, 0.96) 100%)',
				zIndex: 10,
				overflow: 'hidden'
			}
		},
			React.createElement('div', { className: 'h2-scanline', style: { position: 'absolute', inset: 0, overflow: 'hidden', pointerEvents: 'none' } }),
			/* 模拟夜景站场视觉 */
			React.createElement('div', {
				style: {
					position: 'absolute',
					inset: 0,
					background: `
						radial-gradient(ellipse 70% 45% at 50% 55%, rgba(0, 80, 120, 0.35) 0%, transparent 60%),
						linear-gradient(180deg, #020810 0%, #061a32 40%, #02060c 100%)
					`
				}
			}),
			React.createElement('div', {
				style: {
					position: 'absolute',
					left: '8%',
					top: '42%',
					width: 120,
					height: 48,
					border: '1px solid rgba(0,242,255,0.45)',
					borderRadius: 4,
					background: 'rgba(0,20,40,0.5)',
					fontSize: 11,
					color: '#00f2ff',
					display: 'flex',
					alignItems: 'center',
					justifyContent: 'center',
					boxShadow: '0 0 20px rgba(0,242,255,0.2)'
				}
			}, '制氢单元'),
			React.createElement('div', {
				style: {
					position: 'absolute',
					left: '38%',
					top: '28%',
					width: 100,
					height: 44,
					border: '1px solid rgba(22,93,255,0.5)',
					borderRadius: 4,
					background: 'rgba(10,30,60,0.45)',
					fontSize: 11,
					color: '#7ab6ff',
					display: 'flex',
					alignItems: 'center',
					justifyContent: 'center'
				}
			}, '压缩系统'),
			React.createElement('div', {
				style: {
					position: 'absolute',
					right: '18%',
					top: '38%',
					width: 110,
					height: 52,
					border: '1px solid rgba(0,242,255,0.4)',
					borderRadius: 4,
					background: 'rgba(0,30,55,0.5)',
					fontSize: 11,
					color: '#00f2ff',
					display: 'flex',
					alignItems: 'center',
					justifyContent: 'center'
				}
			}, '储氢罐组'),
			React.createElement('div', {
				style: {
					position: 'absolute',
					left: '42%',
					bottom: '22%',
					width: 140,
					height: 56,
					border: '1px solid rgba(0,242,255,0.55)',
					borderRadius: 4,
					background: 'rgba(0,40,70,0.55)',
					fontSize: 11,
					color: '#e8f4ff',
					display: 'flex',
					alignItems: 'center',
					justifyContent: 'center',
					boxShadow: '0 0 24px rgba(0,242,255,0.25)'
				}
			}, '加氢岛 · 数字孪生'),
			React.createElement('div', {
				style: {
					position: 'absolute',
					right: 16,
					top: 16,
					width: 56,
					height: 56,
					borderRadius: '50%',
					border: '2px solid rgba(0,242,255,0.35)',
					display: 'flex',
					alignItems: 'center',
					justifyContent: 'center',
					fontSize: 10,
					color: '#7a9bb8'
				}
			}, 'N'),
			React.createElement('div', {
				style: {
					position: 'absolute',
					left: 16,
					bottom: 72,
					fontSize: 11,
					color: 'rgba(0,242,255,0.6)',
					letterSpacing: '0.08em'
				}
			}, '视角：鸟瞰 · LOD 高 · 实时数据叠加'),
			React.createElement('div', {
				style: {
					position: 'absolute',
					left: 0,
					right: 0,
					bottom: 0,
					height: 76,
					padding: '10px 12px',
					background: 'linear-gradient(0deg, rgba(4,12,28,0.95) 0%, transparent 100%)',
					display: 'flex',
					alignItems: 'center',
					justifyContent: 'center',
					gap: 10
				}
			},
				subNavBtn('总览', '◎'),
				subNavBtn('压缩', '▣'),
				subNavBtn('储氢', '◉'),
				subNavBtn('加氢', '⬡'),
				subNavBtn('安全', '⚠'),
				subNavBtn('能耗', '⌁'),
				subNavBtn('管网', '⊞'),
				subNavBtn('报表', '≡')
			)
		),

		/* 底栏三图表面板 */
		React.createElement('footer', {
			style: {
				position: 'absolute',
				left: 448,
				right: 448,
				bottom: 24,
				height: 160,
				display: 'flex',
				gap: 12,
				zIndex: 12
			}
		},
			React.createElement('div', { style: Object.assign({}, panelShell, { flex: 1 }) },
				React.createElement('div', { style: panelHead },
					React.createElement('h2', { style: h2PanelTitle }, React.createElement('span', { style: { width: 3, height: 14, background: '#00f2ff', borderRadius: 1 } }), '加氢车辆统计')
				),
				React.createElement('div', { style: { display: 'flex', alignItems: 'center', padding: '12px 20px', gap: 20 } },
					React.createElement('svg', { width: 100, height: 100, viewBox: '0 0 100 100' },
						React.createElement('circle', { cx: 50, cy: 50, r: 36, fill: 'none', stroke: 'rgba(0,242,255,0.12)', strokeWidth: 14 }),
						React.createElement('circle', { cx: 50, cy: 50, r: 36, fill: 'none', stroke: '#00f2ff', strokeWidth: 14, strokeDasharray: '90 226', strokeLinecap: 'round', transform: 'rotate(-90 50 50)' }),
						React.createElement('circle', { cx: 50, cy: 50, r: 36, fill: 'none', stroke: '#165dff', strokeWidth: 14, strokeDasharray: '55 226', strokeDashoffset: -90, strokeLinecap: 'round', transform: 'rotate(-90 50 50)' }),
						React.createElement('circle', { cx: 50, cy: 50, r: 36, fill: 'none', stroke: '#52c41a', strokeWidth: 14, strokeDasharray: '40 226', strokeDashoffset: -145, strokeLinecap: 'round', transform: 'rotate(-90 50 50)' })
					),
					React.createElement('div', { style: { fontSize: 11, lineHeight: 1.9, color: '#7a9bb8' } },
						React.createElement('div', null, React.createElement('span', { style: { color: '#00f2ff' } }, '●'), ' 重卡 38%'),
						React.createElement('div', null, React.createElement('span', { style: { color: '#165dff' } }, '●'), ' 物流 28%'),
						React.createElement('div', null, React.createElement('span', { style: { color: '#52c41a' } }, '●'), ' 公交 22%'),
						React.createElement('div', null, React.createElement('span', { style: { color: '#8b9bb5' } }, '●'), ' 其他 12%')
					)
				)
			),
			React.createElement('div', { style: Object.assign({}, panelShell, { flex: 1.2 }) },
				React.createElement('div', { style: panelHead },
					React.createElement('h2', { style: h2PanelTitle }, React.createElement('span', { style: { width: 3, height: 14, background: '#00f2ff', borderRadius: 1 } }), '累计加氢量趋势')
				),
				React.createElement('div', { style: { padding: '8px 12px', height: 108 } },
					React.createElement('svg', { width: '100%', height: '100%', viewBox: '0 0 400 100', preserveAspectRatio: 'none' },
						React.createElement('polyline', { fill: 'none', stroke: 'rgba(0,242,255,0.25)', strokeWidth: '1', points: '0,80 400,80' }),
						React.createElement('polyline', { fill: 'none', stroke: '#00f2ff', strokeWidth: '2', points: '0,85 40,78 80,72 120,65 160,58 200,50 240,45 280,38 320,32 360,28 400,22' }),
						React.createElement('polyline', { fill: 'none', stroke: 'rgba(122,155,184,0.6)', strokeWidth: '1.5', strokeDasharray: '4 3', points: '0,90 40,88 80,86 120,82 160,78 200,75 240,72 280,68 320,65 360,62 400,58' })
					)
				),
				React.createElement('div', { style: { padding: '0 12px 8px', fontSize: 10, color: '#5a8aad', display: 'flex', gap: 16 } },
					React.createElement('span', null, '━━ 本年累计'),
					React.createElement('span', null, '- - 去年同期')
				)
			),
			React.createElement('div', { style: Object.assign({}, panelShell, { flex: 1 }) },
				React.createElement('div', { style: panelHead },
					React.createElement('h2', { style: h2PanelTitle }, React.createElement('span', { style: { width: 3, height: 14, background: '#00f2ff', borderRadius: 1 } }), '运行时长统计')
				),
				React.createElement('div', { style: { padding: '16px 20px', display: 'flex', flexDirection: 'column', gap: 10, justifyContent: 'center', height: 108 } },
					[
						{ n: '加氢系统', p: 92 },
						{ n: '压缩系统', p: 88 },
						{ n: '冷却循环', p: 76 },
						{ n: '站控 PLC', p: 100 }
					].map(function (row) {
						return React.createElement('div', { key: row.n, style: { display: 'flex', alignItems: 'center', gap: 10 } },
							React.createElement('div', { style: { width: 72, fontSize: 10, color: '#7a9bb8' } }, row.n),
							React.createElement('div', { style: { flex: 1, height: 8, background: 'rgba(0,40,70,0.5)', borderRadius: 4, overflow: 'hidden' } },
								React.createElement('div', { style: { width: row.p + '%', height: '100%', background: 'linear-gradient(90deg, #165dff, #00f2ff)', borderRadius: 4 } })
							),
							React.createElement('div', { style: { width: 36, fontSize: 10, color: '#00f2ff', textAlign: 'right' } }, row.p + '%')
						);
					})
				)
			)
		),

		/* 四角装饰线 */
		React.createElement('div', { style: { position: 'absolute', left: 12, top: 12, width: 48, height: 48, borderLeft: '2px solid #00f2ff', borderTop: '2px solid #00f2ff', opacity: 0.6, pointerEvents: 'none' } }),
		React.createElement('div', { style: { position: 'absolute', right: 12, top: 12, width: 48, height: 48, borderRight: '2px solid #00f2ff', borderTop: '2px solid #00f2ff', opacity: 0.6, pointerEvents: 'none' } }),
		React.createElement('div', { style: { position: 'absolute', left: 12, bottom: 12, width: 48, height: 48, borderLeft: '2px solid #00f2ff', borderBottom: '2px solid #00f2ff', opacity: 0.6, pointerEvents: 'none' } }),
		React.createElement('div', { style: { position: 'absolute', right: 12, bottom: 12, width: 48, height: 48, borderRight: '2px solid #00f2ff', borderBottom: '2px solid #00f2ff', opacity: 0.6, pointerEvents: 'none' } })
	);
};

if (typeof module !== 'undefined' && module.exports) module.exports = Component;
