/* NEXEI v292 - Canvas estável, Painel Gerencial executivo, Logs e Saúde do Sistema. */

/* ========================================================================== 
   CANVAS v292 — renderização única e previsível
   ========================================================================== */
.canvas-page{--canvas-ink:#0f172a;--canvas-muted:#64748b;--canvas-line:#dbe6f6;--canvas-blue:#3157e8}
.canvas-page .workflow-saas-topbar{overflow:hidden}
.canvas-page .canvas-layout.improved{display:block!important;min-width:0!important}
.canvas-page .component-panel{
  display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;
  width:fit-content!important;max-width:100%!important;min-width:0!important;margin:12px 0!important;padding:10px!important;
  background:#101a35!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:16px!important;
  box-shadow:0 10px 30px rgba(15,23,42,.14)!important;overflow-x:auto!important;overflow-y:visible!important;
}
.canvas-page .component-panel h3,.canvas-page .component-panel .muted-light,.canvas-page .component-panel .canvas-hint{display:none!important}
.canvas-page .component-panel form,.canvas-page .component-panel .component-help-card{
  display:block!important;flex:0 0 auto!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important;
  background:transparent!important;border:0!important;overflow:visible!important;
}
.canvas-page .component-panel form select,.canvas-page .component-panel form .component-no-owner{display:none!important}
.canvas-page .component-panel .component-btn,.canvas-page .component-panel .component-help-card .component-btn{
  position:relative!important;display:grid!important;place-items:center!important;width:38px!important;height:38px!important;min-width:38px!important;
  padding:0!important;margin:0!important;border:1px solid #cfdbf2!important;border-radius:10px!important;background:#f8fbff!important;
  color:#15213c!important;box-shadow:0 3px 9px rgba(15,23,42,.1)!important;overflow:visible!important;font-size:0!important;
  transition:transform .15s ease,background .15s ease,border-color .15s ease!important;
}
.canvas-page .component-panel .component-btn:hover{transform:translateY(-2px)!important;background:#fff!important;border-color:#8da8ec!important}
.canvas-page .component-panel .component-btn::before{content:none!important}
.canvas-page .component-panel .component-btn>span:last-child{display:none!important}
.canvas-page .component-panel .component-symbol{
  display:grid!important;place-items:center!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;
  color:#263d91!important;font-size:17px!important;line-height:1!important;font-weight:800!important;overflow:hidden!important;
}
.canvas-page .component-panel .component-btn::after{
  content:attr(title);position:absolute;left:50%;bottom:calc(100% + 9px);transform:translate(-50%,4px);z-index:80;
  width:max-content;max-width:220px;padding:7px 9px;border-radius:8px;background:#0f172a;color:#fff;font-size:11px;font-weight:700;
  line-height:1.25;white-space:nowrap;opacity:0;pointer-events:none;transition:.15s ease;box-shadow:0 8px 24px rgba(15,23,42,.25)
}
.canvas-page .component-panel .component-btn:hover::after{opacity:1;transform:translate(-50%,0)}
.canvas-page .zoom-tools{display:flex!important;align-items:center!important;gap:5px!important;flex:0 0 auto!important;margin:0 0 0 4px!important}
.canvas-page .zoom-tools button{width:38px!important;height:38px!important;min-width:38px!important;padding:0!important;border:1px solid #cfdbf2!important;border-radius:10px!important;background:#fff!important;color:#172554!important;font-weight:900!important}
.canvas-page .workflow-pending-note{margin:0 0 10px!important;border-radius:12px!important;background:#f8fbff!important;border:1px solid #dbe7ff!important}
.canvas-page .workflow-canvas-viewport{
  position:relative!important;height:640px!important;min-height:520px!important;overflow:auto!important;border:1px solid #d7e4fa!important;
  border-radius:18px!important;background:#f8fbff!important;box-shadow:inset 0 1px 0 #fff!important;
}
.canvas-page .workflow-canvas-grid.workflow-canvas-v292{
  position:relative!important;width:2900px!important;min-width:2900px!important;height:1550px!important;min-height:1550px!important;
  border:0!important;border-radius:0!important;overflow:hidden!important;background-color:#fbfdff!important;
  background-image:radial-gradient(circle,#cbdcf8 1.15px,transparent 1.25px)!important;background-size:24px 24px!important;
}
.canvas-page .workflow-canvas-v292 .workflow-edges{position:absolute!important;inset:0!important;width:2900px!important;height:1550px!important;pointer-events:none!important;z-index:1!important;overflow:visible!important}
.canvas-page .workflow-canvas-v292 .edge-path{fill:none!important;stroke:#3b82f6!important;stroke-width:3!important;stroke-linecap:round!important;stroke-linejoin:round!important;filter:drop-shadow(0 1px 1px rgba(15,23,42,.13))}
.canvas-page .workflow-canvas-v292 .edge-path.false,.canvas-page .workflow-canvas-v292 .edge-path[data-port="false"]{stroke:#ef4444!important;stroke-dasharray:8 6!important}
.canvas-page .workflow-canvas-v292 .edge-path.true,.canvas-page .workflow-canvas-v292 .edge-path[data-port="true"]{stroke:#22a95a!important}

/* Todos os nodes de ação usam uma ficha quadrada compacta. */
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-card{
  --node-accent:#3157e8;--node-soft:#edf3ff;position:absolute!important;z-index:4!important;box-sizing:border-box!important;
  width:108px!important;min-width:108px!important;max-width:108px!important;height:112px!important;min-height:112px!important;max-height:112px!important;
  padding:11px 8px 9px!important;margin:0!important;border:1px solid color-mix(in srgb,var(--node-accent) 32%,#d9e4f3)!important;
  border-radius:20px!important;background:linear-gradient(160deg,#fff 0%,var(--node-soft) 100%)!important;
  box-shadow:0 10px 24px rgba(15,23,42,.12),0 1px 0 rgba(255,255,255,.9) inset!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:7px!important;
  overflow:visible!important;text-align:center!important;cursor:grab!important;user-select:none!important;transform:none!important;
}
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-card:hover,.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-card.selected{
  border-color:var(--node-accent)!important;box-shadow:0 16px 34px rgba(15,23,42,.17),0 0 0 4px color-mix(in srgb,var(--node-accent) 12%,transparent)!important;transform:translateY(-2px)!important
}
.canvas-page .workflow-canvas-v292 .canvas-node.node-icon-card.dragging{cursor:grabbing!important;transform:scale(1.025)!important;z-index:20!important}
.canvas-page .workflow-canvas-v292 .canvas-node-symbol{
  position:static!important;inset:auto!important;display:grid!important;place-items:center!important;flex:0 0 48px!important;
  width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;margin:0!important;padding:0!important;
  border:1px solid color-mix(in srgb,var(--node-accent) 24%,#dbe6f5)!important;border-radius:15px!important;background:#fff!important;
  color:var(--node-accent)!important;font-size:22px!important;line-height:1!important;font-weight:900!important;text-indent:0!important;
  white-space:nowrap!important;overflow:hidden!important;box-shadow:0 6px 14px color-mix(in srgb,var(--node-accent) 15%,transparent)!important;
}
.canvas-page .workflow-canvas-v292 .node-head{position:static!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:28px!important;padding:0 2px!important;margin:0!important}
.canvas-page .workflow-canvas-v292 .node-head>b{
  display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;width:100%!important;max-width:94px!important;
  margin:0!important;color:#0f172a!important;font-size:10.5px!important;line-height:1.17!important;font-weight:800!important;letter-spacing:-.01em!important;
  white-space:normal!important;overflow:hidden!important;overflow-wrap:anywhere!important;text-transform:none!important;
}
.canvas-page .workflow-canvas-v292 .node-meta,.canvas-page .workflow-canvas-v292 .node-sla{display:none!important}
.canvas-page .workflow-canvas-v292 .node-delete{
  position:absolute!important;top:-8px!important;right:-8px!important;z-index:10!important;display:grid!important;place-items:center!important;
  width:23px!important;height:23px!important;min-width:23px!important;min-height:23px!important;margin:0!important;padding:0!important;
  border:1px solid #d5dfed!important;border-radius:999px!important;background:#fff!important;color:#64748b!important;font-size:15px!important;line-height:1!important;
  box-shadow:0 5px 12px rgba(15,23,42,.15)!important;opacity:0!important;transition:.15s ease!important;
}
.canvas-page .workflow-canvas-v292 .canvas-node:hover .node-delete,.canvas-page .workflow-canvas-v292 .canvas-node.selected .node-delete{opacity:1!important}
.canvas-page .workflow-canvas-v292 .node-delete:hover{background:#fff1f2!important;color:#e11d48!important;border-color:#fecdd3!important}

/* Portas de conexão claras e acessíveis. */
.canvas-page .workflow-canvas-v292 .port{
  position:absolute!important;z-index:12!important;display:grid!important;place-items:center!important;box-sizing:border-box!important;
  width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;margin:0!important;padding:0!important;
  border:2px solid #fff!important;border-radius:999px!important;color:#fff!important;font-size:7px!important;line-height:1!important;font-weight:900!important;
  cursor:crosshair!important;box-shadow:0 0 0 1px rgba(15,23,42,.12),0 3px 8px rgba(15,23,42,.18)!important;
}
.canvas-page .workflow-canvas-v292 .port-in{left:-9px!important;right:auto!important;top:50%!important;transform:translateY(-50%)!important;background:#64748b!important}
.canvas-page .workflow-canvas-v292 .port-true{right:-9px!important;left:auto!important;top:34%!important;transform:translateY(-50%)!important;background:#16a34a!important}
.canvas-page .workflow-canvas-v292 .port-false{right:-9px!important;left:auto!important;top:70%!important;transform:translateY(-50%)!important;background:#ef4444!important}
.canvas-page .workflow-canvas-v292 .port:hover{width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;box-shadow:0 0 0 5px rgba(49,87,232,.14)!important}

/* Início, fim e cancelamento: círculos consistentes, sem texto sobreposto. */
.canvas-page .workflow-canvas-v292 .canvas-node.start,.canvas-page .workflow-canvas-v292 .canvas-node.end,.canvas-page .workflow-canvas-v292 .canvas-node.cancel{
  width:82px!important;min-width:82px!important;max-width:82px!important;height:82px!important;min-height:82px!important;max-height:82px!important;
  padding:9px!important;border-radius:999px!important;gap:3px!important;color:#fff!important;box-shadow:0 12px 26px rgba(15,23,42,.18)!important;
}
.canvas-page .workflow-canvas-v292 .canvas-node.start{--node-accent:#16a34a;--node-soft:#dcfce7;background:linear-gradient(145deg,#22c55e,#15803d)!important;border:4px solid #dcfce7!important}
.canvas-page .workflow-canvas-v292 .canvas-node.end{--node-accent:#e11d48;--node-soft:#ffe4e6;background:linear-gradient(145deg,#fb4168,#be123c)!important;border:4px solid #ffe4e6!important}
.canvas-page .workflow-canvas-v292 .canvas-node.cancel{--node-accent:#64748b;--node-soft:#e2e8f0;background:linear-gradient(145deg,#64748b,#334155)!important;border:4px solid #e2e8f0!important}
.canvas-page .workflow-canvas-v292 .canvas-node.start .canvas-node-symbol,.canvas-page .workflow-canvas-v292 .canvas-node.end .canvas-node-symbol,.canvas-page .workflow-canvas-v292 .canvas-node.cancel .canvas-node-symbol{
  width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;flex-basis:30px!important;border:0!important;border-radius:999px!important;
  background:rgba(255,255,255,.18)!important;color:#fff!important;font-size:16px!important;box-shadow:none!important;
}
.canvas-page .workflow-canvas-v292 .canvas-node.start .node-head,.canvas-page .workflow-canvas-v292 .canvas-node.end .node-head,.canvas-page .workflow-canvas-v292 .canvas-node.cancel .node-head{min-height:22px!important}
.canvas-page .workflow-canvas-v292 .canvas-node.start .node-head>b,.canvas-page .workflow-canvas-v292 .canvas-node.end .node-head>b,.canvas-page .workflow-canvas-v292 .canvas-node.cancel .node-head>b{
  max-width:64px!important;color:#fff!important;font-size:9px!important;line-height:1.05!important;text-shadow:0 1px 2px rgba(0,0,0,.18)!important
}
.canvas-page .workflow-canvas-v292 .canvas-node.start .port-in{display:none!important}
.canvas-page .workflow-canvas-v292 .canvas-node.end .port-true,.canvas-page .workflow-canvas-v292 .canvas-node.end .port-false,.canvas-page .workflow-canvas-v292 .canvas-node.cancel .port-true,.canvas-page .workflow-canvas-v292 .canvas-node.cancel .port-false{display:none!important}

/* Paleta semântica. */
.canvas-page .workflow-canvas-v292 .canvas-node.approval{--node-accent:#3157e8;--node-soft:#edf3ff}
.canvas-page .workflow-canvas-v292 .canvas-node.condition,.canvas-page .workflow-canvas-v292 .canvas-node.gateway_exclusive{--node-accent:#d97706;--node-soft:#fff8e8}
.canvas-page .workflow-canvas-v292 .canvas-node.gateway_parallel{--node-accent:#c88a05;--node-soft:#fffbea}
.canvas-page .workflow-canvas-v292 .canvas-node.email{--node-accent:#2563eb;--node-soft:#eff6ff}
.canvas-page .workflow-canvas-v292 .canvas-node.notification{--node-accent:#d97706;--node-soft:#fffbeb}
.canvas-page .workflow-canvas-v292 .canvas-node.document_request{--node-accent:#dc2626;--node-soft:#fff1f2}
.canvas-page .workflow-canvas-v292 .canvas-node.status_change{--node-accent:#7c3aed;--node-soft:#f5f3ff}
.canvas-page .workflow-canvas-v292 .canvas-node.task{--node-accent:#0891b2;--node-soft:#ecfeff}
.canvas-page .workflow-canvas-v292 .canvas-node.history_event{--node-accent:#475569;--node-soft:#f8fafc}
.canvas-page .workflow-canvas-v292 .canvas-node.route_user{--node-accent:#0f766e;--node-soft:#f0fdfa}
.canvas-page .workflow-canvas-v292 .canvas-node.route_department{--node-accent:#0369a1;--node-soft:#f0f9ff}
.canvas-page .workflow-canvas-v292 .canvas-node.deadline{--node-accent:#ea580c;--node-soft:#fff7ed}
.canvas-page .workflow-canvas-v292 .canvas-node.webhook{--node-accent:#4f46e5;--node-soft:#eef2ff}
.canvas-page .workflow-canvas-v292 .canvas-node.subprocess{--node-accent:#9333ea;--node-soft:#faf5ff}
.canvas-page .workflow-canvas-v292 .canvas-node.lane{--node-accent:#334155;--node-soft:#f8fafc}

/* ========================================================================== 
   PAINEL GERENCIAL v292
   ========================================================================== */
.executive-v292{--ex-ink:#0f172a;--ex-muted:#64748b;--ex-line:#dbe6f5;--ex-blue:#3157e8;--ex-violet:#7048ed;--ex-cyan:#0ea5e9;--ex-green:#16a34a;--ex-amber:#d97706;padding:18px!important;background:linear-gradient(180deg,#f8fbff 0%,#f3f7fd 100%)!important}
.executive-v292 .executive-head{align-items:flex-start!important;padding:4px 2px 12px!important}
.executive-v292 .executive-eyebrow,.executive-v292 .section-title>div>span{display:block;color:#3157e8;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.executive-v292 .executive-head h2{margin:4px 0 3px;font-size:25px;letter-spacing:-.03em;color:#0f172a}
.executive-v292 .executive-head-actions{display:flex;gap:8px;flex-wrap:wrap}
.executive-filters{display:grid!important;grid-template-columns:repeat(5,minmax(150px,1fr)) auto!important;gap:10px!important;align-items:end!important;margin:0 0 12px!important;padding:14px!important;border:1px solid var(--ex-line)!important;border-radius:17px!important;background:#fff!important;box-shadow:0 8px 24px rgba(15,23,42,.045)!important}
.executive-filters label{display:grid;gap:5px;color:#53627a;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.executive-filters input,.executive-filters select{width:100%;height:40px;padding:0 11px;border:1px solid #d5e1f1;border-radius:11px;background:#fbfdff;color:#0f172a;font-size:12px}
.executive-filters .filter-actions{display:flex;gap:7px;align-items:center}
.executive-nav{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 14px;padding:5px;border-radius:13px;background:#eaf0fb;width:max-content;max-width:100%;overflow:auto}
.executive-nav a{padding:8px 12px;border-radius:9px;color:#334155;font-size:11px;font-weight:800;white-space:nowrap;text-decoration:none}
.executive-nav a:hover{background:#fff;color:#3157e8;box-shadow:0 4px 12px rgba(15,23,42,.08)}
.executive-kpis{display:grid!important;grid-template-columns:repeat(4,minmax(145px,1fr))!important;gap:11px!important;margin:0 0 14px!important}
.executive-kpi{position:relative;display:grid!important;gap:5px!important;min-height:116px!important;padding:15px!important;border:1px solid var(--ex-line)!important;border-radius:18px!important;background:#fff!important;color:#0f172a!important;text-decoration:none!important;box-shadow:0 8px 24px rgba(15,23,42,.055)!important;overflow:hidden!important;transition:.16s ease!important}
.executive-kpi::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--kpi,#3157e8)}
.executive-kpi::after{content:"";position:absolute;right:-24px;top:-25px;width:88px;height:88px;border-radius:999px;background:color-mix(in srgb,var(--kpi,#3157e8) 9%,transparent)}
.executive-kpi:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--kpi,#3157e8) 40%,#dbe6f5);box-shadow:0 14px 32px rgba(15,23,42,.1)}
.executive-kpi span{color:#64748b;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.executive-kpi b{position:relative;z-index:1;font-size:29px;line-height:1;color:var(--kpi,#3157e8);letter-spacing:-.04em}
.executive-kpi small{color:#64748b;font-size:10px;line-height:1.25}
.executive-kpi.total{--kpi:#3157e8}.executive-kpi.pending{--kpi:#d97706}.executive-kpi.approved{--kpi:#16a34a}.executive-kpi.rejected{--kpi:#dc2626}.executive-kpi.cancelled{--kpi:#64748b}.executive-kpi.time{--kpi:#7048ed}
.executive-grid{display:grid!important;gap:12px!important;margin:0 0 12px!important}
.executive-grid.top-grid{grid-template-columns:minmax(0,1.8fr) minmax(300px,.8fr)!important}
.executive-grid.charts-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.executive-grid.productivity-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.executive-card{min-width:0;padding:17px;border:1px solid var(--ex-line);border-radius:19px;background:#fff;box-shadow:0 8px 25px rgba(15,23,42,.05)}
.executive-card .card-head,.system-health-v292 .section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.executive-card .card-head h3,.system-health-v292 .section-title h3{margin:2px 0 0;color:#0f172a;font-size:16px;letter-spacing:-.02em}
.executive-card .card-head p,.system-health-v292 .section-title p{margin:3px 0 0;color:#64748b;font-size:11px}
.executive-card .card-head a,.system-health-v292 .section-title a{color:#3157e8;font-size:11px;font-weight:800;text-decoration:none}
.trend-svg{display:block;width:100%;height:auto;min-height:230px;overflow:visible}
.trend-svg .grid-line{stroke:#e8eef8;stroke-width:1}.trend-svg .area{fill:url(#trendGradient);opacity:.2}.trend-svg .line{fill:none;stroke:#3157e8;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}.trend-svg .dot{fill:#fff;stroke:#3157e8;stroke-width:3}.trend-svg text{fill:#64748b;font-size:9px}
.exec-donut-wrap{display:grid;grid-template-columns:minmax(150px,210px) 1fr;gap:18px;align-items:center}
.exec-donut{position:relative;display:grid;place-items:center;aspect-ratio:1;border-radius:999px;background:conic-gradient(#3157e8 0 var(--approved),#d97706 var(--approved) var(--pending),#dc2626 var(--pending) var(--rejected),#64748b var(--rejected) 100%)}
.exec-donut::after{content:"";width:62%;height:62%;border-radius:999px;background:#fff;box-shadow:0 0 0 1px #eef3fa}
.exec-donut .donut-center{position:absolute;z-index:2;display:grid;place-items:center}.exec-donut .donut-center b{font-size:24px;color:#0f172a}.exec-donut .donut-center small{font-size:9px;color:#64748b;text-transform:uppercase;font-weight:800}
.donut-legend{display:grid;gap:9px}.donut-legend a{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid #eff3f9;color:#334155;text-decoration:none;font-size:11px}.donut-legend i{width:9px;height:9px;border-radius:3px}.donut-legend b{color:#0f172a}
.exec-bars{display:grid;gap:11px}.exec-bar{display:grid;grid-template-columns:minmax(110px,1.1fr) minmax(100px,2fr) 34px;gap:10px;align-items:center;color:#334155;font-size:11px;text-decoration:none}.exec-bar>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exec-bar i{display:block;height:9px;border-radius:99px;background:#e9eff8;overflow:hidden}.exec-bar i::after{content:"";display:block;width:var(--pct,0%);height:100%;border-radius:inherit;background:linear-gradient(90deg,#3157e8,#7048ed)}.exec-bar strong{text-align:right;color:#0f172a}
.rank-list{display:grid;gap:7px}.rank-list a,.rank-list>div{display:grid;grid-template-columns:31px minmax(0,1fr) auto;gap:9px;align-items:center;padding:9px;border-radius:12px;background:#f8fbff;color:#0f172a;text-decoration:none}.rank-list .rank-no{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#e9efff;color:#3157e8;font-size:11px;font-weight:900}.rank-list b{display:block;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-list small{display:block;color:#64748b;font-size:9px}.rank-list em{font-style:normal;font-size:12px;font-weight:900;color:#3157e8}
.bottleneck-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.bottleneck-grid a{padding:12px;border:1px solid #e4ebf6;border-radius:13px;background:#fbfdff;color:#0f172a;text-decoration:none}.bottleneck-grid span{display:block;color:#64748b;font-size:9px;text-transform:uppercase;font-weight:800}.bottleneck-grid b{display:block;margin-top:4px;font-size:19px;color:#d97706}.bottleneck-grid small{display:block;margin-top:2px;color:#64748b;font-size:9px}
.activity-list{display:grid;gap:7px}.activity-list a{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #eef3f9;color:#0f172a;text-decoration:none}.activity-list b{display:block;font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-list small{display:block;color:#64748b;font-size:9px}.activity-list em{font-style:normal;color:#64748b;font-size:9px;white-space:nowrap}.activity-list strong{padding:5px 7px;border-radius:99px;background:#edf3ff;color:#3157e8;font-size:8px;text-transform:uppercase}
.empty-mini{padding:18px;text-align:center;color:#94a3b8;font-size:11px}

/* Saúde do sistema integrada. */
.system-health-v292{margin-top:14px;padding:18px;border:1px solid #cad9f0;border-radius:20px;background:linear-gradient(145deg,#0f1b39 0%,#172b59 100%);box-shadow:0 16px 38px rgba(15,23,42,.15);color:#fff}
.system-health-v292 .section-title h3{color:#fff}.system-health-v292 .section-title p{color:#b9c8e6}.system-health-v292 .section-title>div>span{color:#7dd3fc}.system-health-v292 .section-title a{color:#dbeafe}
.health-kpis{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px}.health-kpi{position:relative;display:grid;gap:5px;min-height:94px;padding:13px;border:1px solid rgba(255,255,255,.1);border-radius:15px;background:rgba(255,255,255,.07);overflow:hidden}.health-kpi::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#22c55e}.health-kpi.warn::before{background:#f59e0b}.health-kpi.bad::before{background:#ef4444}.health-kpi span{color:#b9c8e6;font-size:9px;font-weight:800;text-transform:uppercase}.health-kpi b{font-size:18px;color:#fff;overflow-wrap:anywhere}.health-kpi small{color:#9fb2d6;font-size:9px}
.health-errors{margin-top:13px;padding:13px;border-radius:15px;background:rgba(4,10,25,.22)}.health-errors h4{margin:0 0 8px;font-size:12px}.health-error-row{display:grid;grid-template-columns:9px minmax(110px,.7fr) minmax(0,2fr) auto;gap:9px;align-items:center;padding:8px 0;border-top:1px solid rgba(255,255,255,.08)}.health-error-row>span{width:8px;height:8px;border-radius:99px;background:#ef4444}.health-error-row>span.warning{background:#f59e0b}.health-error-row>span.info{background:#38bdf8}.health-error-row b{font-size:10px}.health-error-row p{margin:0;color:#c4d2eb;font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.health-error-row time{color:#9fb2d6;font-size:9px;white-space:nowrap}

/* ========================================================================== 
   LOGS v292
   ========================================================================== */
.logs-v292{padding:18px!important;background:linear-gradient(180deg,#f8fbff,#f4f7fc)!important}
.logs-v292 .panel-head{margin-bottom:12px}
.logs-filter-panel{display:grid!important;grid-template-columns:repeat(4,minmax(155px,1fr))!important;gap:10px!important;padding:14px!important;margin-bottom:12px!important;border:1px solid #dbe6f5!important;border-radius:17px!important;background:#fff!important;box-shadow:0 7px 22px rgba(15,23,42,.045)!important}
.logs-filter-panel label{display:grid;gap:5px;color:#53627a;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.035em}
.logs-filter-panel input,.logs-filter-panel select{width:100%;height:39px;padding:0 10px;border:1px solid #d5e1f1;border-radius:10px;background:#fbfdff;color:#0f172a;font-size:11px}
.logs-filter-panel .filter-actions{display:flex;align-items:end;gap:7px;grid-column:1/-1}
.logs-result-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px;padding:4px 2px}.logs-result-head>div:first-child{display:flex;align-items:baseline;gap:8px}.logs-result-head b{font-size:12px}.logs-result-head span{font-size:10px;color:#64748b}.logs-legend{display:flex;gap:6px;flex-wrap:wrap}
.log-chip{display:inline-flex;align-items:center;width:max-content;padding:4px 7px;border-radius:99px;font-size:8px!important;font-style:normal!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.02em}.log-chip.success{background:#dcfce7;color:#15803d}.log-chip.info{background:#dbeafe;color:#1d4ed8}.log-chip.warning{background:#fef3c7;color:#b45309}.log-chip.error{background:#fee2e2;color:#b91c1c}
.log-timeline{position:relative;display:grid;gap:9px;padding-left:25px}.log-timeline::before{content:"";position:absolute;left:11px;top:16px;bottom:16px;width:2px;background:#dce6f4}
.log-card{position:relative;border:1px solid #dbe6f5;border-radius:15px;background:#fff;box-shadow:0 6px 20px rgba(15,23,42,.045);overflow:visible}.log-card::before{content:"";position:absolute;left:-20px;top:22px;width:10px;height:10px;border:3px solid #fff;border-radius:99px;background:#3b82f6;box-shadow:0 0 0 1px #cbd8eb}.log-card.log-success::before{background:#22c55e}.log-card.log-warning::before{background:#f59e0b}.log-card.log-error::before{background:#ef4444}
.log-card summary{list-style:none;display:grid;grid-template-columns:38px minmax(0,1fr) auto 20px;gap:11px;align-items:center;padding:12px;cursor:pointer}.log-card summary::-webkit-details-marker{display:none}.log-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#eaf2ff;color:#2563eb;font-size:16px;font-weight:900}.log-success .log-icon{background:#e6faed;color:#15803d}.log-warning .log-icon{background:#fff7dd;color:#b45309}.log-error .log-icon{background:#fff0f0;color:#b91c1c}
.log-main{min-width:0}.log-title-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.log-title-row>b{font-size:11.5px;color:#0f172a}.log-type{font-style:normal;color:#64748b;font-size:8px;text-transform:uppercase;font-weight:800}.log-context{display:block;margin-top:3px;color:#64748b;font-size:9.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-time{display:grid;text-align:right;gap:2px}.log-time b{font-size:10px;color:#334155}.log-time small{font-size:8px;color:#94a3b8}.log-expand{color:#64748b;font-size:15px;transition:transform .15s ease}.log-card[open] .log-expand{transform:rotate(180deg)}
.log-details-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:12px;border-top:1px solid #e8eef7;background:#f8fbff}.log-details-grid>div{padding:9px;border:1px solid #e4ebf6;border-radius:11px;background:#fff}.log-details-grid span{display:block;margin-bottom:4px;color:#64748b;font-size:8px;font-weight:900;text-transform:uppercase}.log-details-grid b,.log-details-grid a{color:#0f172a;font-size:10px;text-decoration:none}.log-details-grid small{display:block;color:#64748b;font-size:9px}.log-detail-wide{grid-column:span 2}.log-detail-wide p{margin:0;color:#334155;font-size:10px;line-height:1.45;overflow-wrap:anywhere}

@media(max-width:1450px){
  .executive-kpis{grid-template-columns:repeat(4,minmax(150px,1fr))!important}
  .executive-filters{grid-template-columns:repeat(3,minmax(150px,1fr)) auto!important}
  .health-kpis{grid-template-columns:repeat(4,minmax(130px,1fr))}
}
@media(max-width:1100px){
  .executive-kpis{grid-template-columns:repeat(2,minmax(150px,1fr))!important}
  .executive-grid.top-grid,.executive-grid.charts-grid{grid-template-columns:1fr!important}
  .executive-grid.productivity-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .logs-filter-panel{grid-template-columns:repeat(2,minmax(150px,1fr))!important}
  .health-kpis{grid-template-columns:repeat(2,minmax(140px,1fr))}
}
@media(max-width:760px){
  .canvas-page .component-panel{width:100%!important;flex-wrap:nowrap!important;padding:8px!important;border-radius:13px!important}
  .canvas-page .workflow-canvas-viewport{height:68vh!important;min-height:460px!important}
  .canvas-page .workflow-canvas-v292 .canvas-node.node-icon-card{width:102px!important;min-width:102px!important;max-width:102px!important;height:106px!important;min-height:106px!important;max-height:106px!important}
  .executive-v292,.logs-v292{padding:11px!important}
  .executive-v292 .executive-head{display:grid!important;gap:10px!important}
  .executive-filters{grid-template-columns:1fr 1fr!important;padding:11px!important}.executive-filters .filter-actions{grid-column:1/-1}
  .executive-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}.executive-kpi{min-height:105px!important;padding:13px!important}.executive-kpi b{font-size:25px}
  .executive-grid.productivity-grid{grid-template-columns:1fr!important}.exec-donut-wrap{grid-template-columns:150px 1fr}.health-kpis{grid-template-columns:1fr 1fr}.health-error-row{grid-template-columns:9px 1fr auto}.health-error-row p{grid-column:2/-1;white-space:normal}.health-error-row time{grid-column:3}
  .logs-filter-panel{grid-template-columns:1fr!important}.logs-filter-panel .filter-actions{grid-column:1}.logs-result-head{align-items:flex-start;flex-direction:column}.logs-legend{display:none}.log-timeline{padding-left:18px}.log-timeline::before{left:6px}.log-card::before{left:-17px}.log-card summary{grid-template-columns:35px minmax(0,1fr) 18px}.log-time{grid-column:2;text-align:left}.log-expand{grid-column:3;grid-row:1/3}.log-details-grid{grid-template-columns:1fr 1fr}.log-detail-wide{grid-column:1/-1}
}
@media(max-width:480px){
  .executive-filters{grid-template-columns:1fr!important}.executive-kpis{grid-template-columns:1fr 1fr!important}.exec-donut-wrap{grid-template-columns:1fr}.exec-donut{width:150px;margin:auto}.health-kpis{grid-template-columns:1fr}.activity-list a{grid-template-columns:1fr auto}.activity-list strong{grid-column:1/-1;width:max-content}.log-details-grid{grid-template-columns:1fr}.log-detail-wide{grid-column:auto}
}

/* Compatibilidade exata com o markup executivo gerado pela v292. */
.executive-v292 .executive-kpi.kpi-blue{--kpi:#3157e8}.executive-v292 .executive-kpi.kpi-amber{--kpi:#d97706}.executive-v292 .executive-kpi.kpi-green{--kpi:#16a34a}.executive-v292 .executive-kpi.kpi-red{--kpi:#dc2626}.executive-v292 .executive-kpi.kpi-slate{--kpi:#64748b}.executive-v292 .executive-kpi.kpi-rose{--kpi:#e11d48}.executive-v292 .executive-kpi.kpi-violet{--kpi:#7048ed}.executive-v292 .executive-kpi.kpi-cyan{--kpi:#0891b2}
.executive-v292 .executive-kpi .kpi-icon{position:absolute;right:13px;top:12px;z-index:1;display:grid;place-items:center;width:29px;height:29px;border-radius:10px;background:color-mix(in srgb,var(--kpi) 10%,#fff);color:var(--kpi);font-size:14px!important;font-weight:900!important}
.executive-v292 .card-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px}.executive-v292 .card-title>div>span{display:block;color:#3157e8;font-size:9px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.executive-v292 .card-title h3{margin:3px 0 0;color:#0f172a;font-size:16px;letter-spacing:-.02em}.executive-v292 .card-title>b{color:#3157e8;font-size:11px}.executive-v292 .card-title>a{color:#3157e8;font-size:10px;font-weight:800;text-decoration:none}
.executive-v292 .trend-svg .chart-axis{stroke:#dfe8f5;stroke-width:1}.executive-v292 .trend-svg .trend-line{fill:none;stroke:#3157e8;stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 4px 5px rgba(49,87,232,.18))}.executive-v292 .trend-svg .trend-point{fill:#fff;stroke:#3157e8;stroke-width:3;cursor:pointer}.executive-v292 .trend-svg .trend-point:hover{r:7;fill:#3157e8}.executive-v292 .trend-svg .chart-label{fill:#64748b;font-size:9px;font-weight:700}
.executive-v292 .donut-wrap{display:grid;grid-template-columns:minmax(145px,205px) 1fr;gap:18px;align-items:center}.executive-v292 .exec-donut{position:relative;display:grid;place-items:center;aspect-ratio:1;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(15,23,42,.05)}.executive-v292 .exec-donut::after{content:"";position:absolute;width:62%;height:62%;border-radius:999px;background:#fff;box-shadow:0 0 0 1px #edf2f8}.executive-v292 .exec-donut>div{position:relative;z-index:2;display:grid;place-items:center}.executive-v292 .exec-donut>div b{font-size:24px;color:#0f172a}.executive-v292 .exec-donut>div span{color:#64748b;font-size:8px;font-weight:900;text-transform:uppercase}
.executive-v292 .exec-bars>a{display:grid;grid-template-columns:minmax(110px,1.1fr) minmax(100px,2fr) 34px;gap:10px;align-items:center;color:#334155;font-size:10.5px;text-decoration:none}.executive-v292 .exec-bars>a>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.executive-v292 .exec-bars>a>i{display:block;height:9px;border-radius:99px;background:#e9eff8;overflow:hidden}.executive-v292 .exec-bars>a>i>em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3157e8,#7048ed)}.executive-v292 .exec-bars>a>b{text-align:right;color:#0f172a}
.executive-v292 .rank-list>a,.executive-v292 .rank-list>div{grid-template-columns:31px minmax(0,1fr) auto}.executive-v292 .rank-list em{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#e9efff;color:#3157e8;font-size:10px;font-style:normal;font-weight:900}.executive-v292 .rank-list span{min-width:0;color:#0f172a;font-size:10.5px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.executive-v292 .rank-list b{color:#3157e8;font-size:9.5px;white-space:nowrap}
.executive-v292 .activity-list a{grid-template-columns:10px minmax(0,1fr) auto auto}.executive-v292 .activity-status{width:9px;height:9px;border-radius:99px;background:#3157e8}.executive-v292 .activity-status.pending{background:#d97706}.executive-v292 .activity-status.approved{background:#16a34a}.executive-v292 .activity-status.requester_pending{background:#dc2626}.executive-v292 .activity-status.cancelled{background:#64748b}
@media(max-width:760px){.executive-v292 .donut-wrap{grid-template-columns:145px 1fr}.executive-v292 .activity-list a{grid-template-columns:9px minmax(0,1fr) auto}.executive-v292 .activity-list strong{grid-column:2/-1}}
@media(max-width:480px){.executive-v292 .donut-wrap{grid-template-columns:1fr}.executive-v292 .exec-donut{width:145px;margin:auto}}
/* Neutraliza etiquetas e ornamentos de renderizadores históricos. */
.canvas-page .workflow-canvas-v292 .canvas-node::before,.canvas-page .workflow-canvas-v292 .canvas-node::after{content:none!important;display:none!important}
.canvas-page .workflow-canvas-v292 .canvas-node.gateway_exclusive,.canvas-page .workflow-canvas-v292 .canvas-node.gateway_parallel{transform:none!important;border-radius:20px!important}
.canvas-page .workflow-canvas-v292 .canvas-node.gateway_exclusive .node-head,.canvas-page .workflow-canvas-v292 .canvas-node.gateway_exclusive span,.canvas-page .workflow-canvas-v292 .canvas-node.gateway_exclusive small,.canvas-page .workflow-canvas-v292 .canvas-node.gateway_parallel .node-head,.canvas-page .workflow-canvas-v292 .canvas-node.gateway_parallel span,.canvas-page .workflow-canvas-v292 .canvas-node.gateway_parallel small{transform:none!important}
