@keyframes heartbeat{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.1)}}.animate-heartbeat{animation:1s ease-in-out infinite heartbeat}@keyframes ecg-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.animate-ecg-scroll{animation:3s linear infinite ecg-scroll}@keyframes breathe{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.15)}}.animate-breathe{animation:3.5s ease-in-out infinite breathe}@keyframes fluid-fill{0%{height:0%}to{height:var(--fluid-level,50%)}}.animate-fluid-fill{animation:1.5s ease-out forwards fluid-fill}@keyframes liquid-wave{0%{border-radius:40% 60% 70% 30%/40% 50% 60%}50%{border-radius:60% 40% 30% 70%/50% 60% 40% 50%}to{border-radius:40% 60% 70% 30%/40% 50% 60%}}.animate-liquid-wave{animation:4s ease-in-out infinite liquid-wave}@keyframes status-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}.animate-status-pulse{animation:2s ease-in-out infinite status-pulse}@keyframes alert-flash{0%,to{background-color:#0000;border-color:currentColor}50%{background-color:#ef44441a;border-color:#ef4444}}.animate-alert-flash{animation:1.5s ease-in-out infinite alert-flash}@keyframes value-update{0%{transform:scale(1)}50%{color:#06b6d4;transform:scale(1.05)}to{transform:scale(1)}}.animate-value-update{animation:.3s ease-out value-update}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.animate-shimmer{background:linear-gradient(90deg,#0000 0%,#06b6d41a 50%,#0000 100%) 0 0/1000px 100%;animation:2s infinite shimmer}@keyframes threshold-breach{0%,to{box-shadow:0 0 #ef4444b3}50%{box-shadow:0 0 0 10px #ef444400}}.animate-threshold-breach{animation:1s ease-out infinite threshold-breach}@keyframes fade-in-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:.4s ease-out fade-in-up}@keyframes gauge-needle{0%{transform:rotate(var(--start-angle,-90deg))}to{transform:rotate(var(--end-angle,0deg))}}.animate-gauge-needle{animation:1s ease-out forwards gauge-needle}@keyframes gradient-slide{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.animate-gradient-slide{background:linear-gradient(90deg,#14b8a6,#06b6d4,#14b8a6) 0 0/200% 100%;animation:3s infinite gradient-slide}.animation-delay-100{animation-delay:.1s}.animation-delay-200{animation-delay:.2s}.animation-delay-300{animation-delay:.3s}.animation-delay-500{animation-delay:.5s}.ecg-grid{background-image:linear-gradient(#64748b1a 1px,#0000 1px),linear-gradient(90deg,#64748b1a 1px,#0000 1px);background-size:10px 10px}.dark .ecg-grid{background-image:linear-gradient(#94a3b81a 1px,#0000 1px),linear-gradient(90deg,#94a3b81a 1px,#0000 1px)}
