/* Architecture is a read-only workspace. All colors/actions inherit Socialed. */
.architecture [hidden] { display:none !important; }
body.architecture-open .shell { width:min(1720px,calc(100% - 32px)); }
.architecture-card { box-shadow:0 8px 26px #00000005; }
.architecture-intro { display:flex;justify-content:space-between;align-items:center;gap:28px;padding:25px 26px 20px; }
.architecture-intro h2 { font-size:clamp(22px,2.2vw,29px);letter-spacing:-.045em;line-height:1.15;margin:0 0 8px;font-weight:820; }
.architecture-intro p:not(.eyebrow) { margin:0;font-size:13px;line-height:1.55;color:var(--muted); }
.architecture-intro .eyebrow {font-size:10px;letter-spacing:.13em;margin-bottom:8px;}
.architecture-live { display:grid;grid-template-columns:8px 1fr;gap:5px 8px;flex:none;font-size:12px;font-weight:750; }
.architecture-live small {grid-column:2;color:var(--muted);font-size:11px;font-weight:500;}
.architecture-live-dot {width:7px;height:7px;border-radius:50%;background:#999;align-self:center;}
.architecture-live.fresh .architecture-live-dot {background:#34815a;box-shadow:0 0 0 4px #34815a10;}
.architecture-live.stale .architecture-live-dot {background:#b57b22;}
.architecture-message {margin:0 26px 16px;padding:12px 14px;border:1px solid #e8d8b9;background:#fffbf1;border-radius:8px;color:#735a29;font-size:12px;line-height:1.55;}
.architecture-message.error {border-color:#f2cdcf;background:#fff4f4;color:#8b262c;}
.architecture-stats {display:flex;gap:0;margin:0 26px 22px;padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.architecture-stat {padding:0 24px;min-width:0;border-right:1px solid var(--line);}
.architecture-stat:first-child {padding-left:0;}
.architecture-stat:last-child {border-right:0;}
.architecture-stat strong {display:block;font-size:23px;line-height:1.1;letter-spacing:-.05em;font-weight:800;}
.architecture-stat span {display:block;margin-top:5px;color:var(--muted);font-size:11px;line-height:1.4;}
.architecture-views {margin:0 26px 0;gap:12px;}
.architecture-views .subnav-item {padding:11px 0;font-size:12px;}
.architecture-toolbar {display:flex;gap:14px;align-items:center;padding:18px 26px;}
.architecture-search {display:flex;align-items:center;gap:8px;border:1px solid #dedede;border-radius:8px;flex:1;min-width:160px;background:#fff;padding-left:11px;}
.architecture-search:focus-within {border-color:var(--red);box-shadow:0 0 0 2px #f41c2610;}
.architecture-search input {border:0;box-shadow:none;min-height:39px;font-size:12px;padding-left:0;background:transparent;}
.architecture-search-icon {font-size:23px;color:#888;line-height:1;}
.architecture-scope {display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);white-space:nowrap;}
.architecture-scope select {min-height:39px;font-size:12px;width:160px;}
.architecture-toolbar .text-action {font-size:12px;white-space:nowrap;}
.architecture-workbench {display:grid;grid-template-columns:minmax(0,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.architecture-workbench.has-selection {grid-template-columns:minmax(0,1fr) 350px;}
.architecture-map-wrap {min-width:0;position:relative;background:#fafafa;}
.architecture-map-caption {position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:17px 20px 12px;gap:14px;}
.architecture-map-caption strong {display:block;font-size:12px;}
.architecture-map-caption span:not(#architecture-zoom) {display:block;font-size:10px;color:var(--muted);margin-top:4px;}
.architecture-map-controls {display:flex;align-items:center;flex:none;gap:1px;background:#fff;border:1px solid var(--line);border-radius:7px;padding:2px;}
.architecture-map-controls > div {display:grid;place-items:center;min-width:29px;height:28px;font-size:18px;color:#555;cursor:pointer;border-radius:4px;}
.architecture-map-controls > div:hover,.architecture-map-controls > div:focus-visible {background:#f4f4f4;color:var(--red);outline:2px solid #f41c2644;}
#architecture-zoom {font-size:10px;min-width:37px;text-align:center;color:#888;}
.architecture-map {height:590px;position:relative;overflow:hidden;background-image:radial-gradient(#d3d3d3 0.65px,transparent .65px);background-size:16px 16px;}
.architecture-map svg {display:block;width:100%;height:100%;touch-action:none;cursor:grab;outline:none;}
.architecture-map svg:focus-visible {outline:2px solid #f41c2644;outline-offset:-3px;}
.architecture-map svg.dragging {cursor:grabbing;}
.architecture-region {fill:#ffffff70;stroke:#e5e5e5;stroke-width:1;pointer-events:none;}
.architecture-region.external {fill:#f2f4f770;stroke-dasharray:5 4;}
.architecture-region.internet {fill:#fcf6f680;stroke:#e9d9d9;stroke-dasharray:5 4;}
.architecture-region-label {font-size:10px;font-weight:650;fill:#929292;letter-spacing:.5px;pointer-events:none;}
.architecture-edge-halo {fill:none;stroke:#fafafa;stroke-width:4.2;pointer-events:none;}
.architecture-edge {fill:none;stroke:#939fa8;stroke-width:1.4;marker-end:url(#architecture-arrow);opacity:.85;}
.architecture-edge.replication {stroke:#6b778b;stroke-dasharray:5 3;}
.architecture-edge.protects,.architecture-edge.hosts,.architecture-edge.placement,.architecture-edge.contains,.architecture-edge.stores,.architecture-edge.uses_identity {stroke:#adb2b5;stroke-dasharray:2 4;}
.architecture-edge.membership {marker-end:none;}
.architecture-edge.backup {stroke:#738d7c;stroke-dasharray:7 3;}
.architecture-edge.active {stroke:var(--red);stroke-width:1.8;opacity:.85;}
.architecture-tracing .architecture-edge:not(.traced) {opacity:.15;}
.architecture-edge.traced {stroke:var(--red);stroke-width:2;opacity:1;}
.architecture-edge-hit {fill:none;stroke:transparent;stroke-width:12;pointer-events:stroke;cursor:pointer;}
.architecture-edge-hit:hover,.architecture-edge-hit:focus-visible {stroke:#f41c2622;outline:none;}
.architecture-edge-label {font-size:9px;fill:#92969a;paint-order:stroke;stroke:#fafafa;stroke-width:4px;stroke-linejoin:round;pointer-events:none;}
.architecture-node {cursor:pointer;outline:none;}
.architecture-node .node-shell {fill:#fff;stroke:#dedede;stroke-width:1;filter:drop-shadow(0 3px 5px #00000005);}
.architecture-node:hover .node-shell,.architecture-node:focus-visible .node-shell {stroke:#b6b6b6;stroke-width:1.6;}
.architecture-node.selected .node-shell {stroke:var(--red);stroke-width:1.7;fill:#fffdfd;}
.architecture-node .node-icon-box {fill:#f4f4f4;stroke:none;}
.architecture-node.selected .node-icon-box {fill:#fff0f1;}
.architecture-node .node-icon {fill:none;stroke:#555;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;}
.architecture-node.selected .node-icon {stroke:var(--red);}
.architecture-node .node-label {font-size:12px;font-weight:750;fill:#292929;letter-spacing:-.15px;}
.architecture-node .node-subtitle {font-size:9.5px;fill:#858585;}
.architecture-node .node-status {fill:#8b9691;}
.architecture-node.ready .node-status,.architecture-node.running .node-status {fill:#438362;}
.architecture-node.stale .node-status,.architecture-node.degraded .node-status {fill:#bc8c40;}
.architecture-node.unknown .node-status,.architecture-node.declared .node-status {fill:#b8b8b8;}
.architecture-node.stale .node-shell {stroke-dasharray:4 3;}
.architecture-node .node-count {font-size:9px;font-weight:750;fill:#787878;}
.architecture-map-footer {display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 20px 3px;font-size:10px;color:#8b8b8b;}
.architecture-legend {display:flex;flex-wrap:wrap;gap:13px;font-size:10px;color:#777;}
.architecture-legend > span {display:flex;align-items:center;gap:5px;}
.architecture-legend-line {width:18px;height:0;border-top:1.5px solid #9a9fa5;}
.architecture-legend-line.replication {border-top-style:dashed;border-color:#6b778b;}
.architecture-legend-line.protects {border-top-style:dotted;border-color:#aaa;}
.architecture-legend-line.backup {border-top-style:dashed;border-color:#738d7c;}
.architecture-map-hint {margin:6px 20px 13px;font-size:10px;color:#999;}
.architecture-loading,.architecture-empty {position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#fafafaf5;color:#777;text-align:center;padding:25px;}
.architecture-loading strong,.architecture-empty strong {font-size:13px;color:#444;}
.architecture-loading span,.architecture-empty span {font-size:11px;max-width:330px;line-height:1.6;}
.architecture-loading-symbol {display:flex;gap:6px;margin-bottom:8px;}
.architecture-loading-symbol i {display:block;width:11px;height:11px;border:1.5px solid #ddd;border-radius:3px;animation:architecture-pulse 1s ease-in-out infinite;}
.architecture-loading-symbol i:nth-child(2) {animation-delay:.12s;}
.architecture-loading-symbol i:nth-child(3) {animation-delay:.24s;}
@keyframes architecture-pulse {50%{border-color:var(--red);background:#f41c2610;transform:translateY(-3px);}}
.architecture-inspector {background:#fff;border-left:1px solid var(--line);min-width:0;max-height:748px;overflow:auto;}
.architecture-inspector-heading {position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:start;gap:12px;padding:22px 20px 17px;background:#fffffffa;backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
.architecture-inspector-heading .eyebrow {font-size:9px;margin-bottom:7px;}
.architecture-inspector-heading h3 {margin:0 0 7px;font-size:19px;line-height:1.25;overflow-wrap:anywhere;letter-spacing:-.035em;}
.architecture-inspector-heading .text-action {font-size:10px;margin-top:2px;}
.architecture-status {display:inline-block;font-size:10px;border-radius:4px;background:#f3f3f3;color:#777;padding:4px 7px;font-weight:650;}
.architecture-status.ready,.architecture-status.running {background:#f0f7f2;color:#3c7455;}
.architecture-status.stale,.architecture-status.degraded {background:#fbf5e8;color:#94702f;}
.architecture-detail-section {padding:18px 20px;border-bottom:1px solid var(--line);}
.architecture-detail-section:last-child {border-bottom:0;}
.architecture-detail-section h4 {font-size:11px;color:#555;margin:0 0 11px;letter-spacing:.02em;}
.architecture-detail-section p {margin:0 0 10px;font-size:11.5px;line-height:1.65;color:#666;overflow-wrap:anywhere;}
.architecture-detail-section p:last-child {margin-bottom:0;}
.architecture-detail-section .muted {font-size:10px;color:#999;}
.architecture-detail-section dl {margin:0;display:grid;gap:10px;}
.architecture-detail-section dt {font-size:10px;color:#929292;margin-bottom:3px;}
.architecture-detail-section dd {margin:0;font-size:11px;line-height:1.55;color:#444;overflow-wrap:anywhere;}
.architecture-detail-tabs {display:flex;overflow:auto;border-bottom:1px solid var(--line);padding:0 12px;gap:6px;}
.architecture-detail-tabs > div {padding:12px 7px;font-size:10px;font-weight:750;white-space:nowrap;cursor:pointer;border-bottom:2px solid transparent;}
.architecture-detail-tabs > div.active {color:var(--red);border-color:var(--red);}
.architecture-detail-tabs > div:focus-visible {outline:2px solid #f41c2644;outline-offset:-2px;}
.architecture-object-link {display:flex;gap:10px;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid #f1f1f1;cursor:pointer;}
.architecture-object-link:last-child {border:0;}
.architecture-object-link:hover strong,.architecture-object-link:focus-visible strong {color:var(--red);}
.architecture-object-link:focus-visible {outline:2px solid #f41c2644;}
.architecture-object-link strong {display:block;font-size:11px;color:#444;overflow-wrap:anywhere;line-height:1.5;}
.architecture-object-link small {display:block;font-size:9px;color:#999;margin-top:3px;}
.architecture-object-link .arrow {font-size:16px;color:#aaa;}
.architecture-detail-loading {padding:15px 20px;font-size:11px;color:#888;border-bottom:1px solid var(--line);}
.architecture-port {display:flex;justify-content:space-between;gap:8px;padding:9px 0;border-bottom:1px solid #f0f0f0;font-size:11px;line-height:1.5;}
.architecture-port span {font-size:10px;color:#888;overflow-wrap:anywhere;}
.architecture-credential {padding:10px 0;border-bottom:1px solid #eee;}
.architecture-credential strong {font-size:11px;overflow-wrap:anywhere;}
.architecture-credential p {font-size:10px;margin:3px 0;}
.architecture-mini-note {background:#f8f8f8;padding:10px 12px;border-radius:6px;font-size:10px !important;line-height:1.6 !important;}
.architecture-endpoint-label {display:block;color:#929292;font-size:9px;margin-top:8px;}
.architecture-flow-steps {margin:0;padding-left:20px;font-size:11.5px;line-height:1.7;color:#555;}
.architecture-flow-steps li {padding:0 0 12px 5px;}
.architecture-flow-steps li:last-child {padding-bottom:0;}
.architecture-flow-steps li::marker {color:var(--red);font-weight:750;}
.architecture-glossary {gap:14px !important;}
.architecture-glossary dt {font-size:11px !important;color:#555 !important;font-weight:700;}
.architecture-glossary dd {font-size:11px !important;color:#777 !important;}
.architecture-connection-row {padding:14px 0;border-bottom:1px solid var(--line);cursor:pointer;}
.architecture-connection-row:last-child {border-bottom:0;}
.architecture-connection-row>strong {display:block;font-size:12px;margin:5px 0 7px;}
.architecture-connection-row p {font-size:10.5px;margin-bottom:8px;}
.architecture-connection-row .text-action {font-size:10px;}
.architecture-connection-type {font-size:9px;color:#888;}
.architecture-connection-direction {font-weight:650;color:#555 !important;}
.architecture-connection-row:hover>strong {color:var(--red);}
.architecture-connection-row:focus-visible {outline:2px solid #f41c2644;outline-offset:3px;}
.architecture-results {padding:0 26px 18px;max-height:550px;overflow:auto;}
.architecture-result {display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 4px;border-bottom:1px solid var(--line);cursor:pointer;}
.architecture-result strong {font-size:12px;display:block;overflow-wrap:anywhere;}
.architecture-result small {font-size:10px;color:#999;display:block;margin-top:4px;}
.architecture-result:hover strong,.architecture-result:focus-visible strong {color:var(--red);}
.architecture-result:focus-visible {outline:2px solid #f41c2644;}
.architecture-pagination {display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:12px;font-size:10px;color:#888;}
.architecture-pagination .text-action {font-size:11px;}
.architecture-pagination [aria-disabled=true] {opacity:.35;cursor:default;pointer-events:none;}
.architecture-source-area {padding:22px 26px 25px;}
.architecture-source-heading {display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:15px;}
.architecture-source-heading strong {font-size:12px;}
.architecture-source-heading p {font-size:11px;color:#888;line-height:1.6;max-width:700px;margin:5px 0 0;}
.architecture-source-heading > span {font-size:10px;color:#888;white-space:nowrap;}
.architecture-sources {display:grid;grid-template-columns:repeat(auto-fit,minmax(195px,1fr));gap:8px;}
.architecture-source {display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line);padding:9px 11px;border-radius:6px;font-size:10px;}
.architecture-source strong {font-size:10px;display:block;}
.architecture-source small {font-size:9px;color:#999;display:block;margin-top:3px;}
.architecture-source.stale {border-color:#e8d8b9;background:#fffcf6;}
.architecture-source .source-dot {width:6px;height:6px;flex:none;border-radius:50%;background:#438362;}
.architecture-source.stale .source-dot {background:#b9914c;}
.architecture-source.unknown .source-dot {background:#bbb;}
@media(max-width:1200px) {.architecture-workbench.has-selection{grid-template-columns:minmax(0,1fr) 320px;}.architecture-stat{padding:0 15px;}.architecture-intro{gap:15px;}.architecture-toolbar{gap:10px;}.architecture-scope>span{display:none;}.architecture-views{gap:10px;}}
@media(max-width:900px) {.architecture-workbench.has-selection{grid-template-columns:1fr;}.architecture-inspector{border-left:0;border-top:1px solid var(--line);max-height:none;}.architecture-map{height:490px;}.architecture-live{font-size:10px;}.architecture-intro{padding:20px;}.architecture-toolbar{padding:16px 20px;flex-wrap:wrap;}.architecture-search{min-width:200px;}.architecture-stats{margin:0 20px 16px;}.architecture-stat{padding:0 13px;}.architecture-stat strong{font-size:20px;}.architecture-stat span{font-size:9px;}.architecture-views{margin:0 20px;}.architecture-views .subnav-item{font-size:10px;}.architecture-source-area{padding:20px;}.architecture-detail-section{padding:18px 20px;}}
@media(max-width:600px) {.architecture-intro{display:block;}.architecture-live{margin-top:14px;}.architecture-intro h2{font-size:22px;}.architecture-intro p:not(.eyebrow){font-size:12px;}.architecture-stats{overflow:auto;}.architecture-stat{flex:none;padding:0 14px;}.architecture-views{overflow:auto;flex-wrap:nowrap;gap:16px;}.architecture-views .subnav-item{white-space:nowrap;font-size:11px;}.architecture-map{height:440px;}.architecture-map-caption{align-items:start;}.architecture-source-heading{display:block;}.architecture-source-heading>span{display:block;margin-top:9px;}.architecture-legend{gap:8px;}.architecture-map-footer{display:block;}.architecture-map-footer>span{display:block;margin-top:8px;}.architecture-scope{flex:1;}.architecture-scope select{width:100%;}.architecture-search{width:100%;flex-basis:100%;}}
@media(prefers-reduced-motion:reduce) {.architecture-loading-symbol i{animation:none;}.architecture-node *{transition:none !important;}}

/* Keep the map within reach: the page already has a workspace heading. */
body.architecture-open .intro {padding:0 0 10px;justify-content:flex-end;}
body.architecture-open .intro > div:first-child {display:none;}
.architecture-intro {padding:15px 24px;}
.architecture-intro > p {font-size:12px;line-height:1.5;color:#888;margin:0;}
.architecture-stats {padding:12px 0;margin-bottom:11px;}
.architecture-stat strong {font-size:21px;}
.architecture-toolbar {padding-top:13px;padding-bottom:13px;}
