body {
  font-size: .875rem;
}

.feather {
  width: 16px;
  height: 16px;
  vertical-align: text-bottom;
}

/*
 * Sidebar
 */

.sidebar {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 100; /* Behind the navbar */
  padding: 48px 0 0; /* Height of navbar */
  box-shadow: inset -1px 0 0 rgba(0, 0, 0, .1);
}

@media (max-width: 767.98px) {
  .sidebar {
    top: 5rem;
  }
}

.sidebar-sticky {
  position: relative;
  top: 0;
  height: calc(100vh - 48px);
  padding-top: .5rem;
  overflow-x: hidden;
  overflow-y: auto; /* Scrollable contents if viewport is shorter than content. */
}

.sidebar .nav-link {
  font-weight: 500;
  color: #ccc;
}

.sidebar .nav-link .bi {
  margin-right: 4px;
  color: #999;
}

.sidebar .nav-link.active {
  color: #fff;
}

.sidebar .nav-link:hover .bi,
.sidebar .nav-link.active .bi {
  color: inherit;
}

/*
 * Navbar
 */

.navbar-brand {
  padding-top: .75rem;
  padding-bottom: .75rem;
  font-size: 1rem;
  background-color: rgba(0, 0, 0, .25);
  box-shadow: inset -1px 0 0 rgba(0, 0, 0, .25);
}

.navbar .navbar-toggler {
  top: .25rem;
  right: 1rem;
}

/* Channel table */
.channel-logo {
  width: 40px;
  height: 40px;
  object-fit: contain;
}

.channel-row {
  cursor: pointer;
}

.channel-row:hover {
  background-color: rgba(0, 0, 0, 0.05);
}

.channel-actions {
  white-space: nowrap;
}

/* Drag and drop */
.sortable-ghost {
  opacity: 0.4;
  background-color: #f8f9fa;
}

.handle {
  cursor: grab;
}

.handle:active {
  cursor: grabbing;
}

/* Status badges */
.badge-active {
  background-color: #28a745;
}

.badge-inactive {
  background-color: #dc3545;
}

/* Truncate long text */
.truncate {
  max-width: 150px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Toast notifications */
.toast {
  min-width: 300px;
}
