
.status-online { color: #28a745;
}
.status-offline { color: #dc3545;
}
.card-header { background-color: #f8f9fa;
}
.table th { border-top: none;
}
.table td { vertical-align: middle;
}
.filter-container { 
  background-color: #f8f9fa; 
  padding: 10px; 
  border-radius: 5px; 
  margin-bottom: 15px;
}
.agent-table-container {
  max-height: calc(100vh - 300px);
  overflow-y: auto;
}

/* For larger screens, add padding for better visual appeal */
@media (min-width: 1200px) {
.container-fluid {
    padding-left: 2rem;
    padding-right: 2rem;
}
.agent-table-container {
    max-height: calc(100vh - 250px);
}
}

/* For extra large screens like 1920px+, add more padding */
@media (min-width: 1920px) {
.container-fluid {
    padding-left: 4rem;
    padding-right: 4rem;
}
.agent-table-container {
    max-height: calc(100vh - 220px);
}
}

/* Responsive improvements for mobile and tablet */
@media (max-width: 768px) {
.container-fluid {
    padding-left: 10px;
    padding-right: 10px;
}
.agent-table-container {
    max-height: calc(100vh - 350px);
}
  
  /* Make table responsive on mobile */
.table-responsive {
    font-size: 0.875rem;
}
}
@media (max-width: 576px) {
.agent-table-container {
    max-height: calc(100vh - 400px);
}
}
.copy-link {
  cursor: pointer;
  text-decoration: none;
  position: relative;
}
.copy-link:hover {
  text-decoration: underline;
  opacity: 0.8;
}
.login-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
}
.login-container {
  background: white;
  padding: 2rem;
  border-radius: 10px;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
  max-width: 400px;
  width: 90%;
}

/* Spin animation for refresh indicators */
.spin {
  animation: spin 1s linear infinite;
}
@keyframes spin {
from { transform: rotate(0deg);
}
to { transform: rotate(360deg);
}
}

.traffic-sparkline-wrapper[data-v-66f2de62] {
  position: relative;
  display: inline-block;
}
.traffic-sparkline[data-v-66f2de62] {
  display: inline-block;
  position: relative;
}
.traffic-sparkline canvas[data-v-66f2de62] {
  position: relative;
  z-index: 1;
}

/* 外部 tooltip 样式 */
.chartjs-tooltip[data-v-66f2de62] {
  opacity: 0;
  position: fixed;
  background: rgba(0, 0, 0, 0.9);
  color: white;
  border-radius: 6px;
  pointer-events: none;
  transform: translate(-50%, 10px);
  transition: all 0.1s ease;
  padding: 10px 14px;
  font-size: 12px;
  z-index: 99999;
  white-space: nowrap;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.1);
}
.tooltip-title[data-v-66f2de62] {
  font-weight: bold;
  margin-bottom: 4px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  padding-bottom: 4px;
}
.tooltip-body[data-v-66f2de62] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.tooltip-item[data-v-66f2de62] {
  display: flex;
  align-items: center;
  gap: 6px;
}
.tooltip-color[data-v-66f2de62] {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 2px;
}
.tooltip-label[data-v-66f2de62] {
  font-weight: 500;
}
.tooltip-value[data-v-66f2de62] {
  font-weight: bold;
}
