/* ArealLyn Platform Signal Layer V5.1.1 */
:root {
  --signal-offline: #ff3158;
  --signal-idle: #66738a;
  --signal-low: #22d9ff;
  --signal-medium: #ffd52f;
  --signal-high: #24ff8a;
  --signal-hot: #ff38d1;
}
.signal-offline { --signal: var(--signal-offline); }
.signal-idle { --signal: var(--signal-idle); }
.signal-low { --signal: var(--signal-low); }
.signal-medium { --signal: var(--signal-medium); }
.signal-high { --signal: var(--signal-high); }
.signal-hot { --signal: var(--signal-hot); }

.status-indicator {
  border-color: rgba(102,115,138,.58);
  color: var(--signal-idle);
  background: rgba(14,20,31,.74);
  box-shadow: inset 0 0 12px rgba(102,115,138,.05);
}
.status-indicator.offline {
  border-color: rgba(255,49,88,.65);
  color: var(--signal-offline);
  background: rgba(48,10,20,.72);
  box-shadow: inset 0 0 14px rgba(255,49,88,.08), 0 0 8px rgba(255,49,88,.08);
}
.status-indicator.online {
  border-color: rgba(36,255,138,.82);
  color: var(--signal-high);
  background: rgba(11,42,31,.82);
  box-shadow: inset 0 0 18px rgba(36,255,138,.15), 0 0 14px rgba(36,255,138,.18);
}
.status-indicator.partial {
  border-color: rgba(255,213,47,.76);
  color: var(--signal-medium);
  background: rgba(47,39,10,.78);
  box-shadow: inset 0 0 16px rgba(255,213,47,.13), 0 0 12px rgba(255,213,47,.14);
}
.status-indicator i,
.status-indicator.online i,
.status-indicator.partial i,
.status-indicator.offline i {
  background: currentColor;
  box-shadow: 0 0 12px currentColor, 0 0 20px color-mix(in srgb, currentColor 55%, transparent);
}

.endpoint-row,
.stream-card,
.sql-connections button,
.model-table-row,
.flow-list-row,
.flow-summary-card,
.flow-traffic-card {
  --signal: var(--signal-idle);
  border-color: color-mix(in srgb, var(--signal) 70%, var(--line)) !important;
  box-shadow: inset 0 0 25px color-mix(in srgb, var(--signal) 9%, transparent), 0 0 14px color-mix(in srgb, var(--signal) 10%, transparent);
}
.endpoint-row[class*="signal-"] strong,
.stream-card[class*="signal-"] h2,
.sql-connections button[class*="signal-"] strong,
.model-table-row[class*="signal-"] .model-table-main strong,
.flow-list-row[class*="signal-"] strong {
  color: var(--signal) !important;
  text-shadow: 0 0 12px color-mix(in srgb, var(--signal) 50%, transparent);
}
.endpoint-row[class*="signal-"] {
  border-left: 4px solid var(--signal) !important;
  background: linear-gradient(90deg, color-mix(in srgb, var(--signal) 11%, transparent), transparent 44%), rgba(9,15,24,.80);
}
.stream-card[class*="signal-"] {
  border-top: 3px solid var(--signal) !important;
}
.sql-connections button[class*="signal-"] {
  border-left: 4px solid var(--signal) !important;
}
.signal-pill[class*="signal-"] {
  color: var(--signal);
  border-color: color-mix(in srgb, var(--signal) 72%, var(--line));
  background: color-mix(in srgb, var(--signal) 13%, rgba(4,8,14,.8));
  box-shadow: 0 0 12px color-mix(in srgb, var(--signal) 22%, transparent);
}
.activity-dot {
  background: var(--signal) !important;
  box-shadow: 0 0 10px var(--signal), 0 0 18px color-mix(in srgb, var(--signal) 55%, transparent) !important;
}
.flow-connection-dot {
  width: 8px;
  height: 8px;
  background: var(--signal) !important;
  box-shadow: 0 0 10px var(--signal), 0 0 20px color-mix(in srgb, var(--signal) 72%, transparent) !important;
}
.flow-dot-cluster {
  max-width: min(180px, 28vw);
  gap: 4px;
}

.endpoint-registry-card {
  border-color: rgba(36,255,138,.58);
  background: linear-gradient(135deg, rgba(36,255,138,.07), rgba(34,217,255,.05)), rgba(9,15,24,.76);
}
.registry-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 7px;
  margin: 10px 0;
}
.registry-summary span {
  display: grid;
  gap: 2px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: rgba(4,8,14,.60);
  color: var(--muted);
  padding: 8px;
  font-size: 9px;
}
.registry-summary strong { color: var(--signal-high); font-size: 17px; }
.arealyn-registry-version { color: var(--signal-high); font-size: 7px; white-space: nowrap; }

.floating-bubble {
  position: fixed !important;
  z-index: 2147483000;
  box-shadow: 0 0 22px rgba(34,217,255,.28), 0 14px 38px rgba(0,0,0,.45);
}
.admin-rail { overscroll-behavior: contain; }
.rail-panel { overscroll-behavior: contain; }

@media (max-width: 900px) {
  .connection-indicators { max-width: 42vw; overflow-x: auto; scrollbar-width: none; }
  .connection-indicators::-webkit-scrollbar { display: none; }
  .flow-status-indicator { width: auto !important; min-width: 30px; padding: 0 5px !important; }
  .flow-dot-cluster { max-width: 105px; }
  .registry-summary { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 520px) {
  .registry-summary { grid-template-columns: 1fr 1fr; }
  .model-table-row { grid-template-columns: 1fr !important; }
  .model-table-row > div { display: grid !important; }
  .model-table-actions { grid-column: 1 !important; }
}
