/* StreamGuard – Dark Admin Theme */

:root {
  --sg-bg: #111317;
  --sg-sidebar-bg: #0d0f12;
  --sg-card-bg: #1a1d23;
  --sg-border: #2a2d35;
  --sg-text-muted: #7a8090;
  --sg-primary: #3d8bfd;
  --sg-success: #25c77a;
  --sg-danger: #e05252;
  --sg-warning: #f4b942;
}

body {
  background-color: var(--sg-bg);
  font-size: 0.9rem;
}

/* Sidebar */
.sidebar {
  background-color: var(--sg-sidebar-bg) !important;
  min-width: 200px;
}

.sidebar .nav-link {
  padding: 0.5rem 1rem;
  border-radius: 6px;
  margin-bottom: 2px;
  font-size: 0.875rem;
  transition: background 0.15s, color 0.15s;
}

.sidebar .nav-link:hover {
  background: rgba(61, 139, 253, 0.12);
  color: #fff !important;
}

.sidebar .nav-link.active {
  background: rgba(61, 139, 253, 0.18);
  color: var(--sg-primary) !important;
}

/* Cards */
.card {
  border-radius: 8px;
}

/* Status badges */
.badge.bg-success { background-color: var(--sg-success) !important; }
.badge.bg-danger  { background-color: var(--sg-danger) !important; }
.badge.bg-warning { background-color: var(--sg-warning) !important; }

/* Tables */
.table-dark td, .table-dark th {
  border-color: var(--sg-border);
  vertical-align: middle;
}

.table-hover.table-dark > tbody > tr:hover > * {
  background-color: rgba(255,255,255,0.04);
}

/* Navbar */
.navbar.bg-dark {
  background-color: var(--sg-sidebar-bg) !important;
}

/* Form controls */
.form-control.bg-dark,
.form-select.bg-dark {
  color: #e0e0e0;
}

.form-control.bg-dark::placeholder {
  color: #5a5e6a;
}

.form-control.bg-dark:focus,
.form-select.bg-dark:focus {
  border-color: var(--sg-primary);
  box-shadow: 0 0 0 0.2rem rgba(61, 139, 253, 0.2);
}

/* Status indicator dot */
.status-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  margin-right: 5px;
}
.status-dot.healthy { background: var(--sg-success); box-shadow: 0 0 6px var(--sg-success); }
.status-dot.dead    { background: var(--sg-danger); }
.status-dot.unknown { background: #5a5e6a; }

/* Mono URLs */
.url-mono {
  font-family: "Fira Code", "Courier New", monospace;
  font-size: 0.8rem;
  color: #8ab4f8;
  word-break: break-all;
}

/* Card headers */
.card-header {
  font-weight: 600;
  font-size: 0.85rem;
  letter-spacing: 0.02em;
  padding: 0.6rem 1rem;
  background: transparent;
}

/* Live endpoint input */
input[readonly].text-info {
  cursor: pointer;
}

/* Responsive adjustments */
@media (max-width: 767px) {
  .sidebar { display: none !important; }
  main { padding: 1rem !important; }
}

/* Scrollbar */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: var(--sg-bg); }
::-webkit-scrollbar-thumb { background: #3a3d47; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #5a5e6a; }
