.device-card { transition: all 0.3s ease; }
.device-card:hover { transform: translateY(-2px); box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
.status-online { color: #28a745; }
.status-offline { color: #dc3545; }
.status-dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; }
.status-dot.online { background: #28a745; }
.status-dot.offline { background: #dc3545; }
#map { height: 400px; border-radius: 8px; }
.alarm-critical { border-left: 4px solid #dc3545; }
.alarm-warning { border-left: 4px solid #ffc107; }
.alarm-info { border-left: 4px solid #17a2b8; }
