Redirecting...

:root { --bg: #0b1020; --panel: #131a32; --line: #1f2747; --text: #e6ecff; --dim: #8b95b7; --green: #22c55e; --red: #ef4444; --amber: #f59e0b; --blue: #3b82f6; --purple: #a855f7; } * { box-sizing: border-box; } html, body { margin: 0; height: 100%; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif; background: var(--bg); color: var(--text); } header { display: flex; align-items: center; gap: 12px; padding: 12px 18px; border-bottom: 1px solid var(--line); background: #0a0f1f; } header h1 { font-size: 16px; margin: 0; letter-spacing: 0.5px; } header .badge { font-size: 11px; padding: 3px 8px; border-radius: 999px; background: #1c2447; color: var(--dim); } .layout { display: grid; grid-template-columns: 280px 1fr 380px; height: calc(100vh - 49px); } .col { overflow: auto; padding: 14px; } .col + .col { border-left: 1px solid var(--line); } h2 { font-size: 11px; text-transform: uppercase; letter-spacing: 1.5px; color: var(--dim); margin: 4px 0 10px; } .case { padding: 10px 12px; background: var(--panel); border-radius: 10px; margin-bottom: 8px; cursor: pointer; border: 1px solid transparent; } .case.active { border-color: var(--blue); } .case .id { font-family: ui-monospace, monospace; font-size: 13px; font-weight: 700; } .case .meta { font-size: 11px; color: var(--dim); margin-top: 3px; } .case.ended { opacity: 0.45; } .empty { color: var(--dim); font-size: 13px; padding: 20px; text-align: center; } .center { display: flex; flex-direction: column; gap: 14px; } .ecg { background: #000; border-radius: 12px; height: 200px; position: relative; overflow: hidden; } .ecg canvas { width: 100%; height: 100%; display: block; } .ecg .label { position: absolute; top: 8px; left: 12px; color: var(--green); font-size: 11px; letter-spacing: 1px; } .vitals { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; } .tile { background: var(--panel); border-radius: 12px; padding: 14px 16px; } .tile .k { font-size: 10px; color: var(--dim); letter-spacing: 1.5px; text-transform: uppercase; } .tile .v { font-size: 36px; font-weight: 800; line-height: 1.1; font-variant-numeric: tabular-nums; } .tile .u { font-size: 11px; color: var(--dim); margin-left: 4px; } .tile.hr .v { color: var(--red); } .tile.spo2 .v { color: var(--blue); } .tile.bp .v { color: var(--purple); font-size: 28px; } .tile.rr .v { color: #14b8a6; } .tile.tmp .v { color: var(--amber); font-size: 28px; } .tile.eta .v { color: #22d3ee; } #map { height: 320px; border-radius: 12px; overflow: hidden; } .header-row { display: flex; align-items: baseline; justify-content: space-between; } .pill { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; padding: 3px 8px; border-radius: 999px; background: #1c2447; color: var(--dim); } .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--dim); } .dot.live { background: var(--green); box-shadow: 0 0 0 4px rgba(34,197,94,0.18); animation: pulse 1.4s infinite; } @keyframes pulse { 0%,100%{opacity:1} 50%{opacity:0.55} } .placeholder { text-align: center; padding: 80px 20px; color: var(--dim); } .placeholder .big { font-size: 18px; color: var(--text); margin-bottom: 6px; } .patient { background: var(--panel); border-radius: 12px; padding: 12px 16px; font-size: 13px; } .patient strong { color: var(--text); } .patient span { color: var(--dim); } .conn { font-size: 11px; margin-left: auto; } .conn .ok { color: var(--green); } .conn .bad { color: var(--red); }

πŸš‘ RescueLink β€” ER Live Dashboard

0 cases Paramedic Mode β†’ ● disconnected
No case selected
Pick an active case on the left, or start one from the paramedic app.