%% Autogenerated business-microservices
graph TD
classDef standard fill:#1e293b,stroke:#38bdf8,stroke-width:1px,color:#e5e7eb;
classDef c-actor fill:#1e293b,stroke:#e5e7eb,stroke-width:1px,stroke-dasharray: 5 5,color:#e5e7eb;
classDef c-compute fill:#422006,stroke:#fb923c,stroke-width:1px,color:#fed7aa;
classDef c-database fill:#064e3b,stroke:#34d399,stroke-width:1px,color:#d1fae5;
classDef c-network fill:#2e1065,stroke:#a855f7,stroke-width:1px,color:#f3e8ff;
classDef c-storage fill:#450a0a,stroke:#f87171,stroke-width:1px,color:#fee2e2;
classDef c-security fill:#450a0a,stroke:#f87171,stroke-width:1px,color:#fee2e2;
classDef c-gateway fill:#2e1065,stroke:#a855f7,stroke-width:1px,color:#f3e8ff;
classDef c-container fill:#422006,stroke:#facc15,stroke-width:1px,color:#fef9c3;
subgraph cluster ["Service Cluster"]
direction TB
gateway(("<img src="/icons/inframap/edge.png" width="32" height="32" /><br/><b>API Gateway</b><br/><i>gateway</i>"))
class gateway c-network
svc_a("<img src="/icons/inframap/compute.png" width="32" height="32" /><br/><b>Identity Service</b><br/><i>service</i>")
class svc_a c-compute
svc_b("<img src="/icons/inframap/compute.png" width="32" height="32" /><br/><b>Billing Service</b><br/><i>service</i>")
class svc_b c-compute
svc_c("<img src="/icons/inframap/compute.png" width="32" height="32" /><br/><b>Product Service</b><br/><i>service</i>")
class svc_c c-compute
end
subgraph data ["Data Plane"]
direction TB
db_a[("<img src="/icons/inframap/database.png" width="32" height="32" /><br/><b>Identity DB</b><br/><i>database</i>")]
class db_a c-database
db_b[("<img src="/icons/inframap/database.png" width="32" height="32" /><br/><b>Billing DB</b><br/><i>database</i>")]
class db_b c-database
db_c[("<img src="/icons/inframap/database.png" width="32" height="32" /><br/><b>Product DB</b><br/><i>database</i>")]
class db_c c-database
bus("<b>Event Bus</b><br/><i>message-broker</i><br/><span style='font-size:0.8em'>Async Events</span>")
class bus standard
end
%% Orphans
user(("<img src="/icons/inframap/user.png" width="32" height="32" /><br/><b>Client Apps</b><br/><i>actor</i>"))
class user c-actor
%% Edges
gateway -.-> svc_a
gateway -.-> svc_b
gateway -.-> svc_c
svc_a -.-> db_a
svc_a -.-> bus
svc_b -.-> db_b
svc_b -.-> bus
svc_c -.-> db_c