/* Shared LanternLight mission-control theme. Individual dashboards keep their
   layout rules, while this file supplies the common navigation and atmosphere. */
:root {
  color-scheme: dark !important;
  --space-void: #060816;
  --space-deep: #0b1024;
  --space-panel: rgba(16, 24, 52, 0.86);
  --space-panel-soft: rgba(21, 31, 66, 0.72);
  --space-line: rgba(132, 163, 228, 0.34);
  --space-ink: #eef4ff;
  --space-muted: #aab9d8;
  --space-cyan: #72e4ff;
  --space-violet: #b69aff;
  --space-amber: #ffd27a;
  --space-red: #ff8f9d;
  --space-green: #80e6b0;
  --bg: var(--space-void) !important;
  --bg-dark: var(--space-void) !important;
  --page: var(--space-void) !important;
  --card: var(--space-panel) !important;
  --panel: var(--space-panel) !important;
  --panel-soft: var(--space-panel-soft) !important;
  --glass-bg: var(--space-panel) !important;
  --ink: var(--space-ink) !important;
  --text-main: var(--space-ink) !important;
  --muted: var(--space-muted) !important;
  --text-muted: var(--space-muted) !important;
  --line: var(--space-line) !important;
  --edge: var(--space-line) !important;
  --glass-border: var(--space-line) !important;
  --accent: var(--space-cyan) !important;
  --accent-glow: var(--space-cyan) !important;
  --accent-2: var(--space-violet) !important;
  --accent-strong: var(--space-cyan) !important;
  --signal: var(--space-cyan) !important;
  --action: var(--space-cyan) !important;
  --warm: var(--space-amber) !important;
  --danger: var(--space-red) !important;
  --blocked: var(--space-red) !important;
  --ready: var(--space-green) !important;
  --success: var(--space-green) !important;
  --warning: var(--space-amber) !important;
}

html { background: var(--space-void); }

body {
  background:
    radial-gradient(circle at 12% 8%, rgba(114, 228, 255, .15), transparent 27rem),
    radial-gradient(circle at 88% 16%, rgba(182, 154, 255, .14), transparent 30rem),
    radial-gradient(circle at 52% 100%, rgba(64, 94, 185, .15), transparent 34rem),
    var(--space-void) !important;
  color: var(--space-ink) !important;
  position: relative;
}

body::before {
  background-image:
    radial-gradient(circle, rgba(255,255,255,.72) 0 1px, transparent 1.5px),
    radial-gradient(circle, rgba(114,228,255,.45) 0 1px, transparent 1.5px);
  background-position: 12px 20px, 86px 72px;
  background-size: 137px 113px, 211px 179px;
  content: "";
  inset: 0;
  opacity: .18;
  pointer-events: none;
  position: fixed;
  z-index: 0;
}

body > * { position: relative; z-index: 1; }

/* Normalize the older dashboard surfaces that still use literal warm colors. */
body .panel,
body .glass-panel,
body article {
  background: var(--space-panel) !important;
  border-color: var(--space-line) !important;
  color: var(--space-ink);
}

body input,
body select,
body textarea,
body pre {
  background: rgba(4, 8, 22, .82) !important;
  border-color: var(--space-line) !important;
  color: var(--space-ink) !important;
}

body .panel button,
body .glass-panel button,
body article button {
  background: var(--space-cyan) !important;
  color: #06101f !important;
}

body .panel button.secondary,
body .glass-panel button.secondary,
body article button.secondary,
body button.btn-secondary {
  background: rgba(114, 135, 184, .34) !important;
  color: var(--space-ink) !important;
}

body .panel button.danger,
body .glass-panel button.danger,
body article button.danger { background: var(--space-red) !important; color: #1a0710 !important; }

.space-nav {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 20px;
}

.space-header > .space-nav,
header .space-nav,
.topbar-actions > .space-nav { margin-bottom: 0; }

.space-nav a {
  background: rgba(13, 21, 47, .76);
  border: 1px solid var(--space-line);
  border-radius: 999px;
  color: var(--space-muted) !important;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .04em;
  padding: 7px 11px;
  text-decoration: none !important;
  transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

.space-nav a:hover,
.space-nav a:focus-visible,
.space-nav a[aria-current="page"] {
  background: rgba(114, 228, 255, .13);
  border-color: var(--space-cyan);
  color: var(--space-ink) !important;
  outline: none;
  transform: translateY(-1px);
}

.space-nav a:first-child { color: var(--space-cyan) !important; }

.space-header {
  align-items: flex-start;
  display: flex;
  gap: 18px;
  justify-content: space-between;
}

.topbar-actions { flex-wrap: wrap; justify-content: flex-end; }

.space-kicker {
  color: var(--space-cyan) !important;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .16em;
  margin: 0 0 7px;
  text-transform: uppercase;
}

.space-subtitle { color: var(--space-muted) !important; }

html.embedded .space-nav { display: none !important; }
html.embedded body { background-attachment: fixed; }

@media (max-width: 680px) {
  .space-header { display: block; }
  .space-header .space-nav { margin-top: 14px; }
  .topbar-actions { align-items: flex-start; flex-direction: column; }
  .topbar-actions .space-nav { justify-content: flex-start; }
  .space-nav a { padding: 6px 9px; }
}
