/* Shared styles for all Terminal pages. */

body { background-color: #020617; color: #dae2fd; }

.glass-panel {
  background: rgba(30, 41, 59, 0.7);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.glass-panel:hover {
  background: rgba(30, 41, 59, 0.8);
  border-color: rgba(152, 203, 255, 0.3);
}

.scrolling-ticker { animation: ticker 120s linear infinite; }
.scrolling-ticker:hover { animation-play-state: paused; }
@keyframes ticker { 0% { transform: translateX(100%); } 100% { transform: translateX(-100%); } }

/* Sparkline minimal styling */
svg.sparkline path {
  fill: none;
  stroke-width: 2px;
  stroke-linejoin: round;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
}
.spark-up { stroke: #4edea3; }
.spark-down { stroke: #ffb2b7; }
.spark-flat { stroke: #64748B; }

/* Scrollbars */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #2d3449; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #3f4852; }

.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

/* Data-freshness state pill */
.state-fresh { background: rgba(78, 222, 163, 0.15); color: #4edea3; }
.state-stale { background: rgba(245, 158, 11, 0.15); color: #F59E0B; }
.state-dead  { background: rgba(255, 178, 183, 0.15); color: #ffb2b7; }

/* Row hover for tables */
tbody tr.data-row:hover { background-color: rgba(255, 255, 255, 0.03); }

/* Muted / positive / negative helper classes so JS doesn't need to inline styles */
.positive-change { color: #4edea3; }
.negative-change { color: #ffb2b7; }
.neutral-change { color: #64748B; }

/* Focus rings kept subtle */
button:focus-visible, a:focus-visible, input:focus-visible {
  outline: 2px solid rgba(152, 203, 255, 0.6);
  outline-offset: 2px;
}
