@import url('https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

:root {
  --bg: #0b0f1a;
  --surface: #121a2b;
  --surface-2: #1a2440;
  --border: #26325a;
  --text: #e7ecf7;
  --text-muted: #8c9ab8;
  --accent: #2dd4bf;
  --accent-dark: #14b8a6;
  --accent-soft: rgba(45, 212, 191, 0.12);
  --warn: #f5a524;
}

body {
  background: var(--bg);
  color: var(--text);
  font-family: 'IBM Plex Sans', -apple-system, 'Segoe UI', sans-serif;
}

.font-display { font-family: 'Space Mono', ui-monospace, monospace; }
.font-mono { font-family: 'IBM Plex Mono', ui-monospace, monospace; }

/* Subtiles Punktraster im Hintergrund, wie ein Schaltplan/Dashboard */
.grid-bg {
  background-image: radial-gradient(rgba(140, 154, 184, 0.16) 1px, transparent 1px);
  background-size: 28px 28px;
}

.hero-glow {
  background: radial-gradient(circle, rgba(45, 212, 191, 0.18) 0%, rgba(45, 212, 191, 0) 70%);
  filter: blur(10px);
}

/* Nachgebaute Admin->Objekte-Tabelle als Hero-Visual */
.admin-panel {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 30px 60px -20px rgba(0, 0, 0, 0.6);
}
.admin-panel-header {
  background: var(--surface-2);
  border-bottom: 1px solid var(--border);
}
.admin-row {
  border-bottom: 1px solid var(--border);
}
.admin-row:last-child { border-bottom: none; }
.live-dot {
  width: 7px; height: 7px; border-radius: 999px;
  background: var(--accent);
  box-shadow: 0 0 0 0 rgba(45, 212, 191, 0.6);
  animation: pulse 2.2s infinite;
}
@keyframes pulse {
  0%   { box-shadow: 0 0 0 0 rgba(45, 212, 191, 0.55); }
  70%  { box-shadow: 0 0 0 8px rgba(45, 212, 191, 0); }
  100% { box-shadow: 0 0 0 0 rgba(45, 212, 191, 0); }
}

.code-panel {
  background: #0d1424;
  border: 1px solid var(--border);
  border-radius: 12px;
}

.card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 16px;
}

::selection { background: var(--accent-soft); color: var(--text); }
