@keyframes barGrow{0%{opacity:0;height:0}to{opacity:1}}@keyframes lineReveal{0%{stroke-dashoffset:500px}to{stroke-dashoffset:0}}@keyframes dataPointPop{0%,50%{opacity:0;transform:scale(0)}70%{transform:scale(1.3)}to{opacity:1;transform:scale(1)}}.chart-animation{justify-content:center;align-items:center;width:100%;height:100%;min-height:280px;display:flex;position:relative;overflow:hidden}.chart-container{background:linear-gradient(135deg,#6f848d0d,#4a9eb20d);border-radius:12px;width:280px;height:200px;padding:20px;position:relative;box-shadow:0 10px 40px #00000014}.chart-bars{border-bottom:2px solid #6f848d33;justify-content:space-around;align-items:flex-end;height:140px;padding-top:20px;display:flex}.chart-bar{border-radius:6px 6px 0 0;width:32px;animation:1s ease-out forwards barGrow}.chart-bar:first-child{background:linear-gradient(#26b4e2,#4a9eb2);height:60%;animation-delay:.1s}.chart-bar:nth-child(2){background:linear-gradient(#4a9eb2,#6f848d);height:85%;animation-delay:.2s}.chart-bar:nth-child(3){background:linear-gradient(#6f848d,#26b4e2);height:45%;animation-delay:.3s}.chart-bar:nth-child(4){background:linear-gradient(#26b4e2,#4a9eb2);height:70%;animation-delay:.4s}.chart-bar:nth-child(5){background:linear-gradient(#4a9eb2,#26b4e2);height:95%;animation-delay:.5s}.chart-line-overlay{pointer-events:none;height:140px;position:absolute;top:20px;left:20px;right:20px}.chart-line-overlay svg{width:100%;height:100%}.chart-trend-line{fill:none;stroke:#ef4444;stroke-width:3px;stroke-linecap:round;stroke-dasharray:500;animation:2s ease-out .8s forwards lineReveal}@keyframes streamFlow{0%{opacity:0;transform:translate(-100%)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translate(300%)}}@keyframes processorPulse{0%,to{transform:scale(1);box-shadow:0 0 20px #4a9eb266}50%{transform:scale(1.05);box-shadow:0 0 35px #4a9eb2b3}}@keyframes dataParticle{0%{opacity:0;left:0}5%{opacity:1}45%{opacity:1}50%{opacity:0;left:45%}51%{opacity:0;left:55%}55%{opacity:1}95%{opacity:1}to{opacity:0;left:100%}}.datastream-animation{justify-content:center;align-items:center;width:100%;height:100%;min-height:280px;display:flex;position:relative;overflow:hidden}.datastream-container{width:300px;height:180px;position:relative}.datastream-processor{z-index:2;background:linear-gradient(135deg,#4a9eb24d,#6f848d33);border:3px solid #4a9eb2;border-radius:16px;justify-content:center;align-items:center;width:80px;height:80px;animation:2s ease-in-out infinite processorPulse;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.datastream-processor svg{stroke:#4a9eb2;stroke-width:2px;fill:none;width:36px;height:36px}.datastream-input,.datastream-output{background:linear-gradient(90deg,#4a9eb24d,#4a9eb299);height:4px;position:absolute;top:50%;transform:translateY(-50%)}.datastream-input{border-radius:2px 0 0 2px;width:calc(50% - 50px);left:0}.datastream-output{background:linear-gradient(90deg,#4a9eb299,#26b4e24d);border-radius:0 2px 2px 0;width:calc(50% - 50px);right:0}.datastream-particle{background:radial-gradient(circle,#4a9eb2,#0000);border-radius:50%;width:12px;height:12px;animation:3s linear infinite dataParticle;position:absolute;top:50%;transform:translateY(-50%)}.datastream-particle:nth-child(4){animation-delay:0s}.datastream-particle:nth-child(5){animation-delay:.5s}.datastream-particle:nth-child(6){animation-delay:1s}.datastream-particle:nth-child(7){animation-delay:1.5s}.datastream-particle:nth-child(8){animation-delay:2s}@keyframes metricCount{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes gaugeRotate{0%{transform:rotate(-90deg)}to{transform:rotate(45deg)}}@keyframes sparklineReveal{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}.dashboard-animation{justify-content:center;align-items:center;width:100%;height:100%;min-height:280px;display:flex;position:relative;overflow:hidden}.dashboard-container{grid-template-columns:repeat(2,1fr);gap:12px;width:280px;display:grid}.dashboard-card{opacity:0;background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #4a9eb21a;border-radius:10px;padding:16px;animation:.5s ease-out forwards metricCount;box-shadow:0 4px 20px #0000000f}.dashboard-card:first-child{animation-delay:.1s}.dashboard-card:nth-child(2){animation-delay:.2s}.dashboard-card:nth-child(3){animation-delay:.3s}.dashboard-card:nth-child(4){animation-delay:.4s}.dashboard-label{text-transform:uppercase;letter-spacing:.05em;color:#6f848d;margin-bottom:8px;font-size:.65rem;font-weight:600}.dashboard-value{color:#1a1a1a;font-size:1.5rem;font-weight:700;line-height:1}.dashboard-trend{align-items:center;gap:4px;margin-top:6px;font-size:.7rem;font-weight:600;display:flex}.dashboard-trend.up{color:#22c55e}.dashboard-trend.down{color:#ef4444}.dashboard-sparkline{height:24px;margin-top:8px;animation:1s ease-out .6s both sparklineReveal}.dashboard-sparkline svg{width:100%;height:100%}.sparkline-path{fill:none;stroke:#4a9eb2;stroke-width:2px;stroke-linecap:round}@keyframes pulseWave{0%{opacity:1;transform:scaleX(0)}to{opacity:.3;transform:scaleX(1)}}@keyframes liveDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}@keyframes ecgLine{0%{stroke-dashoffset:1000px}to{stroke-dashoffset:0}}@keyframes heartbeat{0%,to{transform:scale(1)}14%{transform:scale(1.1)}28%{transform:scale(1)}42%{transform:scale(1.15)}70%{transform:scale(1)}}.realtime-animation{justify-content:center;align-items:center;width:100%;height:100%;min-height:280px;display:flex;position:relative;overflow:hidden}.realtime-container{background:linear-gradient(135deg,#26b4e20d,#4a9eb20d);border-radius:12px;width:300px;height:160px;padding:20px;position:relative;overflow:hidden}.realtime-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.realtime-label{text-transform:uppercase;letter-spacing:.05em;color:#6f848d;font-size:.75rem;font-weight:600}.realtime-live{color:#22c55e;align-items:center;gap:6px;font-size:.7rem;font-weight:700;display:flex}.realtime-live-dot{background:#22c55e;border-radius:50%;width:8px;height:8px;animation:1s ease-in-out infinite liveDot}.realtime-ecg{height:80px;position:relative;overflow:hidden}.realtime-ecg svg{width:200%;height:100%;animation:2s linear infinite ecgLine}.ecg-path{fill:none;stroke:#26b4e2;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 6px #26b4e280)}.realtime-pulse-icon{animation:1.5s ease-in-out infinite heartbeat;position:absolute;bottom:20px;right:20px}.realtime-pulse-icon svg{stroke:#26b4e2;stroke-width:2px;fill:#26b4e233;width:28px;height:28px}
