.infrastructure-heading { align-items:center; }
.infrastructure-caption { display:flex;justify-content:space-between;gap:12px;color:#5d6b80;font-size:12px;margin:8px 0 18px; }
.infrastructure-grid { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px; }
.infrastructure-card[data-component="c"] { grid-column:1 / -1; }
button.infrastructure-card { display:flex;flex-direction:column;width:100%;min-width:0;text-align:left;white-space:normal;background:#fff;color:#182b45;border:1px solid #d9e2ed;border-radius:16px;padding:22px;box-shadow:0 3px 12px #203d6510;cursor:pointer;transition:box-shadow .15s,border-color .15s; }
button.infrastructure-card:hover { background:#fff;border-color:#648dd0;box-shadow:0 6px 24px #203d6520; }
button.infrastructure-card:focus-visible { outline:3px solid #3268ba;outline-offset:4px; }
.infrastructure-card-head { display:flex;align-items:center;gap:12px;width:100%; }
.infrastructure-icon { display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:11px;background:#eaf1fc;color:#2455a0;font-size:22px;font-weight:700; }
.infrastructure-title { font-size:20px;font-weight:700;letter-spacing:-.35px; }
.infrastructure-badge { margin-left:auto;display:inline-block;border-radius:20px;padding:5px 9px;line-height:1.3;font-size:11px;font-weight:700;white-space:nowrap;background:#edf0f4;color:#596779; }
.infrastructure-badge[data-state="healthy"] { background:#e5f4ee;color:#18674e; }
.infrastructure-badge[data-state="attention"] { background:#fff0d9;color:#83500c; }
.infrastructure-summary { display:block;font-size:13px;font-weight:400;color:#5c6d82;margin:14px 0;line-height:1.5; }
.infrastructure-processes { display:flex;flex-wrap:wrap;gap:7px;margin:0 0 16px; }
.infrastructure-processes .infrastructure-badge { margin:0;font-size:10px; }
.infrastructure-metrics { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px;width:100%;margin:4px 0 20px; }
.infrastructure-metric { display:flex;flex-direction:column;gap:4px;min-width:0; }
.infrastructure-metric-label { font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:#607086;font-weight:600; }
.infrastructure-metric-value { font-size:27px;font-weight:700;line-height:1.2;overflow-wrap:anywhere; }
.infrastructure-metric-value.is-text { font-size:17px; }
.infrastructure-metric-note { font-size:11px;font-weight:400;color:#637287;line-height:1.4; }
.infrastructure-loading { display:block;min-height:145px;padding-top:45px;color:#6c7c91;font-size:14px;font-weight:400; }
.infrastructure-card-foot { display:flex;width:100%;justify-content:space-between;gap:8px;border-top:1px solid #e9edf3;padding-top:14px;margin-top:auto;font-size:11px;font-weight:400;color:#64748a; }
.infrastructure-card-foot>span:last-child { color:#2455a0;font-weight:700; }
.infrastructure-help { font-size:12px;color:#67768a;line-height:1.6;margin:16px 0 30px; }
.infrastructure-pool { display:grid;gap:5px;font-size:11px;font-weight:400;margin:0 0 15px;width:100%; }
.infrastructure-listeners { display:flex;flex-wrap:wrap;gap:5px;font-size:10px;font-weight:400;margin-bottom:12px; }
.infrastructure-listeners>span { padding:4px 6px;background:#f1f5fa;border-radius:4px;overflow-wrap:anywhere; }
.infrastructure-pool-row { display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid #eff2f6; }
.infrastructure-pool-row>span { overflow-wrap:anywhere; }
#infrastructure-dialog { width:min(1050px,calc(100vw - 40px));max-height:85vh;border:1px solid #cbd6e5;border-radius:18px;background:#fff;color:#182b45;padding:28px;box-shadow:0 24px 80px #10284b44; }
#infrastructure-dialog::backdrop { background:#10213c99;backdrop-filter:blur(3px); }
.infrastructure-dialog-head { display:flex;align-items:center;justify-content:space-between;gap:20px; }
.infrastructure-dialog-head h2 { margin:0; }
#infrastructure-dialog-summary { color:#637287;line-height:1.6; }
.infrastructure-detail { margin:24px 0; }
.infrastructure-detail h3 { font-size:15px;margin-bottom:10px; }
.infrastructure-detail table { width:100%;font-size:12px;border-collapse:collapse; }
.infrastructure-detail table.infrastructure-wide-table { min-width:600px; }
.infrastructure-wide-table th { white-space:nowrap; }
.infrastructure-detail td,.infrastructure-detail th { padding:10px;text-align:left;border-bottom:1px solid #e7edf4;overflow-wrap:anywhere; }
.infrastructure-detail th { color:#5d6b80;background:#f4f7fb; }
.infrastructure-detail .table-wrap { overflow:auto; }
@media(max-width:1100px) { .infrastructure-grid { gap:14px; }button.infrastructure-card { padding:17px; }.infrastructure-title { font-size:17px; }.infrastructure-card-head { gap:8px; }.infrastructure-icon { width:32px;height:32px; } }
@media(max-width:800px) { .infrastructure-grid { grid-template-columns:minmax(0,1fr); }.infrastructure-caption { flex-direction:column; }.infrastructure-heading { align-items:flex-start; }#infrastructure-dialog { padding:18px; }.infrastructure-dialog-head { align-items:flex-start; } }
@media(prefers-reduced-motion:reduce) { button.infrastructure-card { transition:none; } }
