/* JDServer-Webs v6.1 — overview.css (Apple-Aurora-Live) */
.ov-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:16px;
}

.ov-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow-1);
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:10px;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.ov-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow-2);
  border-color:var(--brand-200);
}

.ov-head{ display:flex; align-items:center; gap:10px; }
.ov-dot{
  width:10px; height:10px; border-radius:50%;
  box-shadow:0 0 0 1px var(--border) inset;
  background:#9ca3af; /* gris default */
  flex:0 0 auto;
}
.ov-dot.ok{ background:#16a34a; }
.ov-dot.err{ background:#dc2626; }
.ov-icon{
  width:26px; height:26px; border-radius:8px;
  box-shadow:0 4px 12px rgba(0,0,0,.12);
}
.ov-title{ display:flex; flex-direction:column; min-width:0; }
.ov-title strong{
  font-weight:600; font-size:1.02rem; line-height:1.2;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.ov-title .muted{ font-size:.86rem; }

.ov-kpis{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.kpi{
  background:linear-gradient(180deg, rgba(0,0,0,.02), transparent);
  border:1px solid var(--border);
  border-radius:12px;
  padding:10px;
  min-height:64px;
  display:flex; flex-direction:column; justify-content:center; gap:4px;
}
.kpi span{ color:var(--muted); font-size:.86rem; }
.kpi strong{ font-variant-numeric:tabular-nums; font-size:1.2rem; }

.ov-foot{
  display:flex; align-items:center;
  justify-content:space-between;
  gap:10px; margin-top:4px;
}
.btn{
  padding:.4rem .75rem; border-radius:999px; border:1px solid var(--border);
  background:linear-gradient(180deg, var(--brand-accent), var(--brand));
  color:#fff; font-weight:600;
  box-shadow:0 6px 18px rgba(0,0,0,.16);
}
.btn:hover{ filter:saturate(1.05) brightness(1.02); }

@media (max-width:520px){
  .ov-kpis{ grid-template-columns:1fr; }
}
