/* Native Nutanix and VMware diagrams; management relations stay separate from resource relations. */
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) {
  --hv-bg:#fff;--hv-text:#183850;--hv-muted:#496278;--hv-blue:#3c79a8;--hv-line:#c7d7e5;
  --hv-device:#d8e8f5;--hv-top:#edf6fd;--hv-side:#acc6dc;--hv-face:#fafdff;
  --hv-shadow:#234e741c;--hv-orange:#a95119;
  color:var(--hv-text);font-size:14px;line-height:1.65;font-weight:400;
}
html[data-theme="dark"] #public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) {
  --hv-bg:#070b12;--hv-text:#e4effb;--hv-muted:#aec2d6;--hv-blue:#8dbbe3;--hv-line:#34516a;
  --hv-device:#24435c;--hv-top:#3a5f7b;--hv-side:#1a344d;--hv-face:#173247;
  --hv-shadow:#0004;--hv-orange:#ffbb88;
}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) * {box-sizing:border-box;min-width:0;}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-responsive :where(h4,p) {margin:0;font-weight:400;word-break:keep-all;}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-responsive {width:100%;max-width:100%;margin-inline:auto;container:infra-virtualization / inline-size;}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-map {position:relative;max-width:600px;margin:27px auto 0;}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-wires {position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:1;}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-wire {fill:none;stroke:var(--hv-blue);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-wire--management {stroke:var(--hv-muted);stroke-width:1.2;stroke-dasharray:3 4;}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-manager {position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;z-index:2;}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-manager h4 {font-size:13px;line-height:1.5;font-weight:500;}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-console {position:relative;width:128px;height:58px;border:1px solid var(--hv-blue);border-radius:4px;background:linear-gradient(140deg,var(--hv-face),var(--hv-top));box-shadow:0 5px 9px var(--hv-shadow);display:flex;align-items:center;justify-content:center;padding-top:10px;}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-console::before {content:'';position:absolute;top:10px;left:0;right:0;border-top:1px solid var(--hv-line);}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-console::after {content:'';position:absolute;left:8px;top:4px;width:3px;height:3px;border-radius:50%;background:var(--hv-orange);box-shadow:7px 0 0 var(--hv-blue),14px 0 0 var(--hv-line);}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-console > svg {width:27px !important;height:27px !important;stroke:var(--hv-blue);stroke-width:1.2;}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-depth::before {content:'';position:absolute;top:-6px;left:-1px;width:calc(100% + 8px);height:6px;clip-path:polygon(0 100%,12% 0,100% 0,88% 100%);background:linear-gradient(160deg,var(--hv-top),var(--hv-side));}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-depth::after {content:'';position:absolute;left:calc(100% - 1px);top:-6px;width:8px;height:calc(100% + 6px);clip-path:polygon(0 6px,100% 0,100% calc(100% - 6px),0 100%);background:var(--hv-side);}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-hci-cluster {position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:42px;padding-inline:10px;}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-hci-node {position:relative;z-index:2;text-align:center;}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-node-name {font-size:12px;line-height:18px;font-weight:500;}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-hci-chassis {position:relative;width:140px;max-width:calc(100% - 8px);height:174px;border:1px solid var(--hv-blue);border-radius:3px;background:linear-gradient(110deg,var(--hv-top),var(--hv-device));box-shadow:0 7px 11px var(--hv-shadow);padding:10px;display:grid;grid-template-rows:18px 26px 26px 22px 28px;gap:6px;margin-inline:auto;transform:translateX(-4px);}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-workloads {display:flex;justify-content:center;gap:5px;}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-chip {position:relative;display:flex;align-items:center;justify-content:center;flex:1;border:1px solid var(--hv-blue);border-radius:2px;background:var(--hv-face);font-size:11px;line-height:1.4;color:var(--hv-text);}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-chip--controller {color:var(--hv-orange);}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-hci-virtual {display:flex;align-items:center;justify-content:center;border-block:1px solid var(--hv-line);font-size:11px;line-height:1.35;color:var(--hv-text);background:var(--hv-top);letter-spacing:-.02em;}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-term-narrow {display:none;}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-compute {display:flex;align-items:center;justify-content:center;font-size:11px;line-height:1.5;color:var(--hv-muted);white-space:nowrap;}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-local-storage {position:relative;display:flex;align-items:center;justify-content:center;border:1px solid var(--hv-blue);border-radius:2px;background:var(--hv-face);font-size:11px;line-height:1.5;color:var(--hv-text);white-space:nowrap;}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-storage-pool {position:relative;z-index:2;max-width:560px;margin:32px auto 0;padding:10px;border-block:1px solid var(--hv-blue);background:color-mix(in srgb,var(--hv-device) 42%,var(--hv-bg));text-align:center;font-size:13px;line-height:1.5;font-weight:500;}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-pool-mosaic {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:480px;margin:0 auto 8px;}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-pool-segment {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;align-items:end;height:18px;}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-pool-segment > i {display:block;height:12px;border-radius:1px;background:color-mix(in srgb,var(--hv-blue) 36%,var(--hv-top));}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-pool-segment > i:nth-child(2n) {height:17px;background:color-mix(in srgb,var(--hv-blue) 60%,var(--hv-top));}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-pool-segment:nth-child(2) > i:nth-child(3n) {height:8px;}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-pool-segment:nth-child(3) > i:nth-child(2n) {height:9px;}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-pool-title {display:flex;align-items:center;justify-content:center;gap:6px;}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-pool-title > svg {width:16px !important;height:16px !important;stroke:var(--hv-blue);stroke-width:1.4;}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-hci-foot {max-width:560px;margin:13px auto 0;display:flex;justify-content:space-between;align-items:center;gap:9px 16px;flex-wrap:wrap;font-size:11px;line-height:1.7;color:var(--hv-muted);}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-expand {display:inline-flex;align-items:center;gap:5px;color:var(--hv-text);}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-expand > svg {width:15px !important;height:15px !important;stroke:var(--hv-orange);stroke-width:1.7;}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-cvm-note {max-width:600px;width:100%;font-size:11px;line-height:1.7;color:var(--hv-muted);text-align:center;margin:12px auto 0;}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-vm-cluster {position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px;max-width:560px;margin:42px auto 0;padding:25px 12px 0;border-top:1px solid var(--hv-line);}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-cluster-label {position:absolute;left:50%;top:-10px;transform:translateX(-50%);padding:0 8px;background:var(--hv-bg);font-size:11px;line-height:1.6;color:var(--hv-muted);}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-host {position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-host-vms {display:flex;gap:8px;width:160px;max-width:100%;height:30px;}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-hypervisor {position:relative;display:flex;align-items:start;justify-content:center;width:160px;max-width:100%;min-height:60px;margin-top:16px;font-size:12px;line-height:1.5;}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-hypervisor::before {content:'';position:absolute;inset:8px 4px 0;border:1px solid var(--hv-line);background:color-mix(in srgb,var(--hv-side) 55%,var(--hv-bg));}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-hypervisor::after {content:'';position:absolute;inset:4px 2px 4px;border:1px solid var(--hv-blue);background:var(--hv-device);}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-hypervisor-face {position:relative;z-index:1;width:100%;min-height:52px;padding:6px 4px;margin-bottom:8px;border:1px solid var(--hv-blue);background:linear-gradient(130deg,var(--hv-face),var(--hv-top));}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-virtual-heading {display:flex;align-items:center;justify-content:center;gap:5px;}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-virtual-heading > svg {width:15px !important;height:15px !important;flex-shrink:0;stroke:var(--hv-blue);stroke-width:1.4;}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-virtual-resources {display:block;font-size:11px;line-height:1.5;color:var(--hv-muted);margin-top:3px;white-space:nowrap;text-align:center;}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-physical {position:relative;display:flex;align-items:center;gap:5px;width:150px;max-width:calc(100% - 8px);height:42px;padding:8px;margin:22px auto 0;border:1px solid var(--hv-blue);border-radius:3px;background:linear-gradient(140deg,var(--hv-top),var(--hv-device));box-shadow:0 7px 11px var(--hv-shadow);transform:translateX(-4px);}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-physical > span {position:relative;flex:1;height:20px;border:1px solid var(--hv-blue);border-radius:1px;background:var(--hv-face);}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-physical > span::before {content:'';position:absolute;left:3px;top:3px;bottom:4px;border-left:1px solid var(--hv-line);}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-physical > span::after {content:'';position:absolute;right:3px;bottom:3px;width:2px;height:2px;background:var(--hv-orange);}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-host > h4 {font-size:12px;line-height:1.5;font-weight:500;text-align:center;margin-top:11px;}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-legend {display:flex;justify-content:center;gap:9px 21px;align-items:center;flex-wrap:wrap;max-width:600px;margin:23px auto 0;font-size:11px;line-height:1.7;color:var(--hv-muted);}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-legend > span {display:flex;align-items:center;gap:7px;}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-swatch {display:inline-block;width:24px;border-top:1.6px solid var(--hv-blue);}
#public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-swatch--management {border-top:1.2px dashed var(--hv-muted);}
@container infra-virtualization (max-width:620px) {
  #public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-map {margin-top:23px;max-width:380px;}
  #public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-console {width:112px;height:52px;}
  #public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-console > svg {width:24px !important;height:24px !important;}
  #public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-hci-cluster {gap:10px;padding-inline:8px;margin-top:36px;}
  #public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-node-name {font-size:11px;line-height:16px;}
  #public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-hci-chassis {height:160px;padding:8px 4px;grid-template-rows:16px 24px 24px 20px 26px;gap:5px;}
  #public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-workloads {gap:3px;}
  #public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-storage-pool {margin-top:27px;font-size:12px;}
  #public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-pool-mosaic {gap:10px;}
  #public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-pool-segment {gap:3px;}
  #public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-hci-foot {justify-content:center;text-align:center;margin-top:12px;}
  #public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-cvm-note {text-align:center;margin-top:10px;}
  #public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-vm-cluster {gap:24px;margin-top:36px;padding-inline:10px;}
  #public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-host-vms {width:140px;height:28px;gap:5px;}
  #public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-hypervisor {width:140px;min-height:60px;font-size:11px;}
  #public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-physical {width:104px;height:38px;padding:6px;gap:4px;}
  #public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-host > h4 {font-size:11px;}
  #public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-legend {margin-top:20px;gap:8px 15px;}
}
@container infra-virtualization (max-width:300px) {
  #public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-term-full {display:none;}
  #public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-term-narrow {display:inline;}
  #public-main :is(#b-diagram-infra-hci,#b-diagram-infra-vmware) .hv-hci-chassis {height:168px;grid-template-rows:16px 24px 32px 20px 26px;}
}
