/* Shared dense connectivity operating surface. */
.connectivity{container-type:inline-size;color:var(--im-text);background:var(--im-surface);border:1px solid var(--im-line);border-radius:12px;padding:20px;margin-block:16px;font-size:14px;min-width:0}
.connectivity *{box-sizing:border-box}.connectivity [hidden]{display:none!important}.cx-heading{display:flex;justify-content:space-between;gap:16px;align-items:start}.cx-heading h2{margin:4px 0 12px}.cx-heading p,.cx-detail header>p{font-size:12px;letter-spacing:.09em;color:var(--im-muted);font-weight:700}.cx-coverage{display:flex;flex-wrap:wrap;gap:8px 18px;background:var(--im-surface);padding:12px;border:1px solid var(--im-line);border-radius:8px}.cx-note{color:var(--im-muted)}.cx-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-block:16px}.cx-metrics>div{border:1px solid var(--im-line);border-radius:8px;padding:14px;display:flex;flex-direction:column;gap:6px}.cx-metrics strong{font-size:22px}.cx-metrics small,.connectivity small{display:block;color:var(--im-muted);overflow-wrap:anywhere}.cx-layout{display:grid;grid-template-columns:minmax(260px,2fr) minmax(360px,3fr);gap:20px;align-items:start}.cx-layout>*{min-width:0}.cx-detail{border-left:1px solid var(--im-line);padding-left:20px}.cx-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cx-facts div{border-bottom:1px solid var(--im-line);padding-bottom:10px}.cx-facts dt{color:var(--im-muted);font-size:12px}.cx-facts dd{margin:4px 0 0;overflow-wrap:anywhere}.connectivity button,.connectivity input,.connectivity select{font:inherit;color:inherit;border:1px solid var(--im-line);border-radius:6px;background:var(--im-surface);padding:9px 12px;min-height:40px}.connectivity button{cursor:pointer}.connectivity button:disabled{cursor:default;opacity:.6}.connectivity button[aria-pressed=true]{background:var(--im-surface);border-color:var(--im-focus)}.connectivity :focus-visible,.cx-pipeline-tabs :focus-visible{outline:3px solid var(--im-focus);outline-offset:2px}.connectivity form{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:16px 0}.connectivity label{display:flex;flex-direction:column;gap:6px}.cx-scroll{max-width:100%;overflow:auto}.connectivity table{width:100%;border-collapse:collapse;font-size:13px}.connectivity th,.connectivity td{text-align:left;vertical-align:top;padding:10px 8px;border-bottom:1px solid var(--im-line);overflow-wrap:anywhere}.connectivity caption{text-align:left;padding:8px;color:var(--im-muted)}.cx-state{display:inline-flex;border:1px solid var(--im-line);border-radius:99px;padding:3px 8px;font-size:12px}.cx-state[data-state=failed]{color:var(--im-error)}.cx-state[data-state=partial]{color:var(--im-warn)}.cx-state[data-state=success]{color:var(--im-ok)}.cx-pages{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:12px 0}.cx-recovery{border:1px solid var(--im-line);border-radius:8px;padding:14px;margin:16px 0}.connectivity pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:320px;overflow:auto;font-size:12px;border:1px solid var(--im-line);padding:12px;border-radius:6px}.connectivity summary{cursor:pointer;padding:10px 0}.cx-pipeline-tabs{display:flex;gap:8px;margin:16px 0}.cx-pipeline-tabs button[aria-selected=true]{border-color:var(--im-focus);background:var(--im-surface)}[data-cx-pipeline-panel][hidden]{display:none!important}
@container (max-width:900px){.cx-layout{grid-template-columns:1fr}.cx-detail{border-left:0;border-top:1px solid var(--im-line);padding:16px 0 0}}@media(max-width:700px){.connectivity{padding:12px}.cx-layout{grid-template-columns:1fr}.cx-heading{display:block}.cx-facts{grid-template-columns:1fr}.cx-detail{border-left:0;padding:0}}
/* IM-UX-GA-06 — operational connectivity topology and bounded impact. */
.cx-operational-flow{margin:18px 0;border:1px solid var(--im-line);border-radius:10px;padding:16px;background:color-mix(in srgb,var(--im-surface) 94%,var(--im-focus) 6%)}
.cx-flow-head{display:flex;justify-content:space-between;align-items:start;gap:16px}.cx-flow-head p{margin:0;font-size:11px;letter-spacing:.1em;color:var(--im-muted);font-weight:700}.cx-flow-head h3{margin:4px 0 0}.cx-runtime-summary{display:flex;gap:10px;flex-wrap:wrap}.cx-runtime-summary span{border:1px solid var(--im-line);border-radius:999px;padding:5px 9px;font-size:12px}.cx-runtime-summary b{font-size:14px;margin-right:4px}
.cx-flow-stages{display:grid;grid-template-columns:minmax(120px,1fr) auto minmax(120px,1fr) auto minmax(140px,1fr) auto minmax(120px,1fr) auto minmax(120px,1fr);gap:8px;align-items:center;margin-top:14px}.cx-flow-stage{min-height:86px;border:1px solid var(--im-line);border-radius:8px;padding:11px;display:flex;flex-direction:column;justify-content:center;gap:4px;background:var(--im-surface)}.cx-flow-stage small{font-size:10px;letter-spacing:.1em;color:var(--im-muted)}.cx-flow-stage strong{font-size:13px}.cx-flow-stage span{font-size:12px;color:var(--im-muted)}.cx-flow-arrow{font-size:20px;color:var(--im-muted);text-align:center}
.cx-impact{border:1px solid var(--im-line);border-radius:8px;padding:14px;margin:14px 0}.cx-impact>div{display:flex;justify-content:space-between;gap:12px;align-items:center}.cx-impact h4{margin:0}.cx-impact p{color:var(--im-muted)}.cx-impact ul{margin:10px 0 0;padding-left:20px;max-height:220px;overflow:auto}.cx-impact[data-impact-state=potential]{border-color:color-mix(in srgb,var(--im-warn) 55%,var(--im-line))}.cx-impact[data-impact-state=none_known]{border-color:color-mix(in srgb,var(--im-ok) 35%,var(--im-line))}
@container (max-width:900px){.cx-flow-head{display:block}.cx-runtime-summary{margin-top:10px}.cx-flow-stages{grid-template-columns:1fr}.cx-flow-arrow{transform:rotate(90deg)}}
.cx-flow-paths{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px;margin-top:12px}.cx-flow-path{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;align-items:center;border-top:1px solid var(--im-line);padding:10px 0}.cx-flow-path>div{min-width:0}.cx-flow-path small{display:block;color:var(--im-muted);overflow-wrap:anywhere}.cx-flow-path>span:last-child{grid-column:1/-1;color:var(--im-muted);font-size:12px}
