:root{
  --diagram-artboard-width:1600px;
}
body.diagram-viewer-ready{
  overflow:hidden;
  background:#f4f7fb;
}
body.diagram-presentation-mode .diagram-editor-toolbar{
  display:none !important;
}
.diagram-viewer-frame{
  position:fixed;
  inset:0;
  overflow:auto;
  background:#f4f7fb;
  padding:22px;
}
body.diagram-viewer-hand .diagram-viewer-frame{
  cursor:grab;
}
body.diagram-viewer-hand.diagram-viewer-panning .diagram-viewer-frame{
  cursor:grabbing;
}
body.diagram-viewer-hand .diagram-viewer-frame a,
body.diagram-viewer-hand .diagram-viewer-frame button,
body.diagram-viewer-hand .diagram-viewer-frame [contenteditable="true"]{
  cursor:auto;
}
.diagram-artboard{
  width:var(--diagram-artboard-width);
  min-height:900px;
  transform-origin:top left;
  background:#fff;
  box-shadow:0 16px 42px rgba(15,23,42,.14);
}
.diagram-artboard > .diagram{
  width:var(--diagram-artboard-width);
  max-width:none !important;
  margin:0 !important;
}
body.diagram-viewer-ready .diagram-artboard .diagram{
  padding-left:30px;
  padding-right:30px;
}
body.diagram-viewer-ready .diagram-artboard .layout{
  display:grid;
}
body.diagram-viewer-ready .diagram-artboard .agent-grid{
  display:grid;
}
body.diagram-viewer-ready .diagram-artboard .platform-grid{
  display:grid;
}
.diagram-viewer-toolbar{
  position:fixed;
  right:18px;
  bottom:78px;
  z-index:9998;
  display:flex;
  align-items:center;
  gap:8px;
  max-width:calc(100vw - 36px);
  padding:9px;
  border:1px solid #cbd5e1;
  border-radius:10px;
  background:rgba(255,255,255,.96);
  box-shadow:0 12px 30px rgba(15,23,42,.14);
  font-family:"Segoe UI","Helvetica Neue",Arial,sans-serif;
}
.diagram-viewer-toolbar button{
  border:1px solid #cbd5e1;
  border-radius:7px;
  background:#fff;
  color:#1f2937;
  padding:7px 10px;
  font-size:13px;
  line-height:1;
  font-weight:700;
  cursor:pointer;
}
.diagram-viewer-toolbar button:hover{
  border-color:#2f7df0;
  color:#1f6fe0;
}
.diagram-viewer-toolbar .primary{
  background:#1f6fe0;
  border-color:#1f6fe0;
  color:#fff;
}
.diagram-viewer-toolbar .primary:hover{
  color:#fff;
  background:#1d63d8;
}
.diagram-viewer-toolbar button.active{
  background:#eef4ff;
  border-color:#1f6fe0;
  color:#1f6fe0;
}
.diagram-viewer-zoom{
  min-width:48px;
  color:#667085;
  font-size:12px;
  font-weight:800;
  text-align:center;
  white-space:nowrap;
}
@media (max-width:760px){
  .diagram-viewer-frame{
    padding:10px;
  }
  .diagram-viewer-toolbar{
    left:10px;
    right:10px;
    bottom:10px;
    overflow-x:auto;
  }
  body:not(.diagram-presentation-mode) .diagram-viewer-toolbar{
    bottom:68px;
  }
  body.diagram-presentation-mode .diagram-viewer-toolbar button{
    padding:7px 9px;
  }
  .diagram-viewer-toolbar button{
    flex:0 0 auto;
  }
}
@media print{
  body.diagram-viewer-ready{
    overflow:visible;
    background:#fff;
  }
  .diagram-viewer-frame{
    position:static;
    overflow:visible;
    padding:0;
    background:#fff;
  }
  .diagram-artboard{
    width:var(--diagram-artboard-width);
    transform:none !important;
    box-shadow:none;
  }
  .diagram-viewer-toolbar{display:none;}
}
