:root{
  --infsec-bg:#050505;
  --infsec-card:#080808;
  --infsec-border:#262626;
  --infsec-accent:#34d399;
  --infsec-muted:#9ca3af;
}

.infsec-live{
  margin:1.5rem 0;
  padding:1rem 1.1rem;
  border-radius:18px;
  background:var(--infsec-card);
  border:1px solid var(--infsec-border);
  box-shadow:0 18px 50px rgba(0,0,0,0.9);
}

.infsec-live__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:.75rem;
}

.infsec-live__title{
  margin:0;
  font-size:1rem;
  font-family:'Source Code Pro','Fira Code','JetBrains Mono',monospace;
  color:var(--infsec-accent);
}

.infsec-live__badge{
  font-size:.7rem;
  padding:.15rem .5rem;
  border-radius:999px;
  border:1px solid rgba(52,211,153,.65);
  color:var(--infsec-accent);
}

.infsec-live__body{
  min-height:3rem;
  font-size:.85rem;
}

.infsec-live__footer{
  margin-top:.4rem;
  font-size:.7rem;
  color:var(--infsec-muted);
}

.infsec-live__loading{
  display:flex;
  align-items:center;
  gap:.4rem;
  color:var(--infsec-muted);
}

.infsec-live__spinner{
  width:.7rem;
  height:.7rem;
  border-radius:999px;
  border:2px solid rgba(52,211,153,0.2);
  border-top-color:var(--infsec-accent);
  animation:infsec-spin .8s linear infinite;
}

@keyframes infsec-spin{
  to{transform:rotate(360deg);}
}

.infsec-live__list{
  list-style:none;
  margin:0;
  padding:0;
}

.infsec-live__item{
  padding:.5rem 0;
  border-bottom:1px solid rgba(38,38,38,.8);
}

.infsec-live__item:last-child{
  border-bottom:none;
}

.infsec-live__item-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.5rem;
  font-size:.78rem;
}

.infsec-live__item-head a{
  color:var(--infsec-accent);
  text-decoration:none;
}

.infsec-live__item-head a:hover{
  text-decoration:underline;
}

.infsec-live__item-text{
  margin:.25rem 0 0 0;
  color:#e5e5e5;
  font-size:.8rem;
}

.infsec-live__pill{
  font-size:.68rem;
  padding:.1rem .4rem;
  border-radius:999px;
  border:1px solid rgba(148,163,184,.7);
}

.infsec-live__pill--severity{
  margin-left:.25rem;
}

.infsec-live__empty,
.infsec-live__error,
.infsec-live__note{
  font-size:.8rem;
  color:var(--infsec-muted);
}

.infsec-live__error{
  color:#f97373;
}

.infsec-live__dashboard{
  display:flex;
  flex-direction:column;
  gap:.4rem;
}

.infsec-live__stats{
  display:flex;
  gap:1rem;
}

.infsec-live__stat-label{
  font-size:.7rem;
  color:var(--infsec-muted);
}

.infsec-live__stat-value{
  font-size:1.1rem;
  color:var(--infsec-accent);
}

.infsec-live__mini-list{
  display:flex;
  flex-wrap:wrap;
  gap:.25rem .75rem;
  margin-top:.25rem;
}

.infsec-live__mini-item{
  font-size:.7rem;
  color:var(--infsec-muted);
}

.infsec-live__map-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:.78rem;
  padding:.2rem 0;
}

.infsec-live__map-dot{
  width:.45rem;
  height:.45rem;
  border-radius:999px;
  background:var(--infsec-accent);
  margin-right:.4rem;
}

.infsec-live__map-label{
  flex:1;
}

.infsec-live__map-meta{
  font-size:.68rem;
  color:var(--infsec-muted);
}

.infsec-live__ip{
  font-size:.8rem;
}

.infsec-live__ip-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:.2rem;
}

.infsec-live__ip-row span{
  color:var(--infsec-muted);
}

/* Editor styling */
.infsec-live-block-edit{
  border-radius:14px;
  border:1px dashed rgba(75,85,99,.9);
  padding:.75rem;
  background:#020617;
}

.infsec-live-block-edit__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:.4rem;
}

.infsec-live-block-edit__badge{
  font-size:.7rem;
  border-radius:999px;
  padding:.05rem .4rem;
  border:1px solid rgba(52,211,153,.6);
  color:var(--infsec-accent);
}

.infsec-live-block-edit__description{
  font-size:.8rem;
  color:var(--infsec-muted);
}

.infsec-live-block-edit__preview{
  margin-top:.5rem;
}
