/* status dots */
.status-dot{width:.625rem;height:.625rem;border-radius:9999px;display:inline-block}
.status-online{background:#22c55e}.status-offline{background:#ef4444}
.status-error{background:#f59e0b}.status-idle{background:#a3a3a3}

/* KPI */
.kpi-icon{opacity:.9}

/* sidebar rail */
.rail-btn{width:42px;height:42px;border-radius:12px;border:1px solid rgb(226 232 240);
  display:grid;place-items:center;background:#fff;color:#64748b;transition:all .15s}
.rail-btn:hover{background:#f8fafc}
.rail-btn svg{width:20px;height:20px;stroke:currentColor}
.rail-active{background:#eaf2ff;border-color:#3b82f6;color:#2563eb;box-shadow:inset 0 0 0 2px rgba(59,130,246,.45)}

/* chips & detail fields */
.chip{font-size:11px;padding:2px 8px;border-radius:9999px;border:1px solid;display:inline-flex;align-items:center;gap:6px}
.chip-online{color:#059669;border-color:#34d399;background:#ecfdf5}
.chip-offline{color:#dc2626;border-color:#fecaca;background:#fef2f2}
.chip-error{color:#b45309;border-color:#fcd34d;background:#fffbeb}
.field-row{display:flex;align-items:center;gap:16px;padding:10px 12px;border-radius:8px}
.field-label{width:220px;color:#64748b;font-size:12px}
.field-value{flex:1}
.card{border:1px solid #e5e7eb;background:#fff;border-radius:16px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
