:root {
  --bg:#0e1117;
  --card:#161b22;
  --border:#30363d;
  --text:#e6edf3;
  --muted:#8b949e;
  --green:#2ea043;
  --red:#f85149;
}

body {
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:system-ui,-apple-system,Segoe UI,Roboto;
}

header {
  padding:20px 24px;
  font-size:20px;
  font-weight:600;
  border-bottom:1px solid var(--border);
}

.grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:18px;
  padding:24px;
}

.card {
  background:var(--card);
  border-radius:16px;
  padding:16px;
  box-shadow:0 10px 30px rgba(0,0,0,.35);
}

.card.up { border-left:4px solid var(--green); }
.card.down { border-left:4px solid var(--red); opacity:.6; }

.row {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:8px;
  font-size:13px;
}

.title-row {
  display:flex;
  align-items:center;
  gap:10px;
}

.title {
  font-size:16px;
  font-weight:600;
}

.ip {
  font-size:13px;
  color:var(--muted);
}

.material-symbols-outlined {
  font-size:22px;
  color:#e3e3e3;
}

.status-dot {
  width:12px;
  height:12px;
  border-radius:50%;
}

.status-up { background:var(--green); }
.status-down { background:var(--red); }

footer {
  text-align:center;
  padding:12px;
  font-size:12px;
  color:var(--muted);
}
.metric {
  justify-content: flex-start;
  gap: 8px;
}

/* Plupp */
.dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: inline-block;
}

/* Färger */
.dot-green { background: var(--green); }
.dot-yellow { background: #d29922; }
.dot-red { background: var(--red); }
.dot-gray { background: var(--border); }
.metric {
  display: flex;
  align-items: center;
  gap: 8px;
}

.metric-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
}

.dot-green { background: #22c55e; }
.dot-yellow { background: #eab308; }
.dot-red { background: #ef4444; }
.dot-gray { background: #6b7280; }

