/* NEXEI v297 - correção definitiva: ícones centralizados, nodes sem cards e sidebar fixa. */

/* ========================================================================== 
   PALETA DO CANVAS: ícones realmente centralizados dentro dos botões
   ========================================================================== */
.canvas-page .component-panel .component-btn,
.canvas-page .component-panel .component-help-card .component-btn{
  display:grid!important;
  place-items:center!important;
  grid-template-columns:1fr!important;
  grid-template-rows:1fr!important;
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  max-width:40px!important;
  padding:0!important;
  margin:0!important;
  gap:0!important;
  text-align:center!important;
}
.canvas-page .component-panel .component-symbol,
.canvas-page .component-panel .component-help-card .component-symbol{
  position:static!important;
  inset:auto!important;
  display:grid!important;
  place-items:center!important;
  align-self:center!important;
  justify-self:center!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  text-align:center!important;
  line-height:1!important;
  transform:none!important;
  overflow:visible!important;
}
.canvas-page .component-panel .component-btn>span:last-child{display:none!important}

/* ========================================================================== 
   NODES: somente ícone + legenda; sem retângulo, fundo, moldura ou sombra
   ========================================================================== */
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only{
  --node-accent:#2563eb;
  position:absolute!important;
  z-index:4!important;
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  width:118px!important;
  min-width:118px!important;
  max-width:118px!important;
  height:88px!important;
  min-height:88px!important;
  max-height:88px!important;
  margin:0!important;
  padding:7px 14px!important;
  border:0!important;
  border-left:0!important;
  border-radius:0!important;
  outline:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  filter:none!important;
  overflow:visible!important;
  text-align:center!important;
  cursor:grab!important;
  user-select:none!important;
  transform:none!important;
  transition:transform .14s ease!important;
}
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only:hover,
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only.selected{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  outline:0!important;
  transform:none!important;
}
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only.dragging{
  z-index:20!important;
  cursor:grabbing!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:scale(1.03)!important;
}
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only::before,
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only::after{
  content:none!important;
  display:none!important;
}

.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only .canvas-node-symbol{
  position:static!important;
  inset:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  flex:0 0 auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  color:var(--node-accent)!important;
  font-family:"Segoe UI Symbol","Noto Sans Symbols 2","Arial Unicode MS",sans-serif!important;
  font-size:25px!important;
  line-height:1!important;
  font-weight:900!important;
  text-align:center!important;
  text-indent:0!important;
  white-space:nowrap!important;
  overflow:visible!important;
  transform:none!important;
  filter:none!important;
}
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only .canvas-node-symbol::before,
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only .canvas-node-symbol::after{
  content:none!important;
  display:none!important;
}

.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only .node-head{
  position:static!important;
  display:block!important;
  width:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  text-align:center!important;
}
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only .node-head>b{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  width:100%!important;
  max-width:112px!important;
  margin:0 auto!important;
  color:#0f172a!important;
  font-size:10.5px!important;
  line-height:1.15!important;
  font-weight:850!important;
  text-align:center!important;
  white-space:normal!important;
  overflow:hidden!important;
  overflow-wrap:anywhere!important;
  text-shadow:none!important;
}
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only .node-meta,
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only .node-sla{display:none!important}
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only .node-delete{
  top:-4px!important;
  right:2px!important;
}

/* Portas mantidas e ancoradas no hitbox transparente do node. */
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only .port-in{
  left:-8px!important;
  right:auto!important;
  top:43%!important;
  transform:translateY(-50%)!important;
}
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only .port-true{
  left:auto!important;
  right:-8px!important;
  top:34%!important;
  transform:translateY(-50%)!important;
}
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only .port-false{
  left:auto!important;
  right:-8px!important;
  top:67%!important;
  transform:translateY(-50%)!important;
}
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only.start .port-in{display:none!important}
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only.start .port-true{top:43%!important}
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only.start .port-false{display:none!important}
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only.end .port-true,
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only.end .port-false,
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only.cancel .port-true,
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only.cancel .port-false{display:none!important}
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only.end .port-in,
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only.cancel .port-in{top:43%!important}

/* Cores semânticas dos nodes. */
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only.start{--node-accent:#16a34a!important}
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only.approval{--node-accent:#2563eb!important}
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only.condition,
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only.gateway_exclusive{--node-accent:#d97706!important}
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only.gateway_parallel{--node-accent:#c2410c!important}
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only.email{--node-accent:#7c3aed!important}
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only.notification{--node-accent:#ca8a04!important}
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only.document_request{--node-accent:#e11d48!important}
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only.status_change{--node-accent:#0891b2!important}
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only.task{--node-accent:#059669!important}
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only.history_event{--node-accent:#475569!important}
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only.route_user{--node-accent:#7c3aed!important}
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only.route_department{--node-accent:#0f766e!important}
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only.deadline{--node-accent:#ea580c!important}
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only.webhook{--node-accent:#0284c7!important}
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only.subprocess{--node-accent:#4f46e5!important}
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only.lane{--node-accent:#0e7490!important}
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only.end{--node-accent:#e11d48!important}
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-only.cancel{--node-accent:#64748b!important}

/* ========================================================================== 
   SIDEBAR DESKTOP: estado único e fixo em todas as páginas
   ========================================================================== */
@media (min-width:901px){
  body:not(.page-login){--nexei-sidebar:220px!important}
  body:not(.page-login) .sidebar,
  body:not(.page-login) .sidebar:hover,
  body.page-admin_workflow_canvas .sidebar,
  body.page-admin_workflow_canvas .sidebar:not(:hover),
  body.page-admin_workflow_canvas .sidebar:hover{
    position:fixed!important;
    inset:0 auto 0 0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    width:220px!important;
    min-width:220px!important;
    max-width:220px!important;
    height:100vh!important;
    padding:22px 18px!important;
    overflow:hidden!important;
    transform:none!important;
    transition:none!important;
  }
  body:not(.page-login) .sidebar::after,
  body:not(.page-login) .sidebar:hover::after,
  body.page-admin_workflow_canvas .sidebar::after,
  body.page-admin_workflow_canvas .sidebar:hover::after{
    content:none!important;
    display:none!important;
  }
  body:not(.page-login) .main,
  body:not(.page-login) .sidebar + .main,
  body:not(.page-login) .sidebar:hover + .main,
  body:not(.page-login) .sidebar:hover ~ .main,
  body.page-admin_workflow_canvas .main,
  body.page-admin_workflow_canvas .sidebar:hover ~ .main{
    margin-left:220px!important;
    width:calc(100vw - 220px)!important;
    max-width:calc(100vw - 220px)!important;
    transition:none!important;
  }
  body:not(.page-login) .sidebar .brand,
  body:not(.page-login) .sidebar:hover .brand,
  body.page-admin_workflow_canvas .sidebar .brand,
  body.page-admin_workflow_canvas .sidebar:hover .brand{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:12px!important;
    width:100%!important;
    padding:0!important;
    margin:0 0 30px!important;
  }
  body:not(.page-login) .sidebar .brand>div:not(.brand-mark),
  body:not(.page-login) .sidebar:hover .brand>div:not(.brand-mark),
  body:not(.page-login) .sidebar .brand-text,
  body:not(.page-login) .sidebar:hover .brand-text,
  body:not(.page-login) .sidebar .nav-text,
  body:not(.page-login) .sidebar:hover .nav-text,
  body.page-admin_workflow_canvas .sidebar .brand>div:not(.brand-mark),
  body.page-admin_workflow_canvas .sidebar:hover .brand>div:not(.brand-mark),
  body.page-admin_workflow_canvas .sidebar .nav-text,
  body.page-admin_workflow_canvas .sidebar:hover .nav-text{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
  body:not(.page-login) .sidebar nav,
  body:not(.page-login) .sidebar:hover nav,
  body.page-admin_workflow_canvas .sidebar nav,
  body.page-admin_workflow_canvas .sidebar:hover nav{
    display:grid!important;
    width:100%!important;
    gap:8px!important;
  }
  body:not(.page-login) .sidebar nav a,
  body:not(.page-login) .sidebar:hover nav a,
  body.page-admin_workflow_canvas .sidebar nav a,
  body.page-admin_workflow_canvas .sidebar:hover nav a{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    min-height:42px!important;
    height:auto!important;
    padding:11px 12px!important;
    gap:10px!important;
    white-space:nowrap!important;
  }
  body:not(.page-login) .sidebar .user-card,
  body:not(.page-login) .sidebar:not(:hover) .user-card,
  body:not(.page-login) .sidebar:hover .user-card,
  body.page-admin_workflow_canvas .sidebar .user-card,
  body.page-admin_workflow_canvas .sidebar:not(:hover) .user-card,
  body.page-admin_workflow_canvas .sidebar:hover .user-card{
    position:absolute!important;
    left:16px!important;
    right:16px!important;
    bottom:18px!important;
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    width:auto!important;
    height:auto!important;
    min-height:76px!important;
    max-height:none!important;
    margin:0!important;
    padding:12px 13px!important;
    overflow:visible!important;
    transform:none!important;
    transition:none!important;
  }
  body:not(.page-login) .sidebar .user-card b,
  body:not(.page-login) .sidebar .user-card span,
  body:not(.page-login) .sidebar .user-card a,
  body.page-admin_workflow_canvas .sidebar .user-card b,
  body.page-admin_workflow_canvas .sidebar .user-card span,
  body.page-admin_workflow_canvas .sidebar .user-card a{
    display:inline-block!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
  body:not(.page-login) .sidebar .user-card b,
  body:not(.page-login) .sidebar .user-card span,
  body.page-admin_workflow_canvas .sidebar .user-card b,
  body.page-admin_workflow_canvas .sidebar .user-card span{
    display:block!important;
  }
}
