:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-color:#f6f8fb;--bg-muted:#eef3f8;--surface:#fff;--surface-subtle:#f8fafc;--text-color:#172033;--text-muted:#64748b;--text-soft:#94a3b8;--border:#dbe3ec;--border-strong:#cbd5e1;--accent:#12805c;--accent-hover:#0f6b4e;--accent-soft:#e7f6ef;--success:#12805c;--success-soft:#def7ec;--warning:#b45309;--warning-soft:#fff4d6;--danger:#b42318;--danger-soft:#fee4e2;--focus-ring:#12805c47;--shadow-sm:0 1px 2px #0f172a0f;--shadow-md:0 16px 40px #0f172a14;--radius-sm:6px;--radius-md:8px;--radius-lg:12px}*{box-sizing:border-box}html{background:var(--bg-color);min-width:320px}body{background:linear-gradient(180deg, #e7f6efb3 0, #f6f8fb00 240px), var(--bg-color);min-height:100vh;color:var(--text-color);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}button,input{font:inherit}button{border:0}a{color:inherit}#root{width:100%}.app-shell{width:min(100%,1240px);margin:0 auto;padding:28px}.app-header{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd1;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;padding:18px;display:flex}.brand-block{grid-template-columns:44px 1fr;align-items:center;gap:12px;min-width:0;display:grid;position:relative}.brand-mark{border-radius:var(--radius-md);object-fit:cover;background:var(--surface);width:44px;height:44px;box-shadow:var(--shadow-sm);display:block}.brand-block h1,.chat-header h2,.vm-title-group h2{color:var(--text-color);letter-spacing:0;margin:0}.brand-block h1{font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.1}.header-subtitle,.last-updated{color:var(--text-muted);margin:3px 0 0;font-size:.88rem}.last-updated{grid-column:2;display:inline-flex}.nav-buttons{background:var(--bg-muted);border:1px solid var(--border);border-radius:var(--radius-md);grid-template-columns:repeat(3,minmax(108px,1fr));gap:4px;padding:4px;display:inline-grid}.nav-buttons button,.expand-button,.chat-input button{border-radius:var(--radius-sm);cursor:pointer;min-height:40px;font-size:.92rem;font-weight:700;transition:background .18s,border-color .18s,box-shadow .18s,color .18s,transform .18s}.nav-buttons button{color:var(--text-muted);background:0 0;padding:0 14px}.nav-buttons button.active{background:var(--surface);color:var(--accent);box-shadow:var(--shadow-sm)}.nav-buttons button:hover:not(.active){color:var(--text-color);background:#ffffff8c}.app-main{min-width:0}.surface-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.empty-state{color:var(--text-muted);padding:28px}.empty-state p{margin:0}.empty-state-danger{background:var(--danger-soft);color:var(--danger);border-color:#b4231842}.overview-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;gap:18px;display:grid}.overview-toolbar{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#ffffffb8;flex-wrap:wrap;gap:8px;margin-bottom:18px;padding:10px;display:flex}.filter-chip{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-height:38px;color:var(--text-muted);cursor:pointer;align-items:center;gap:7px;padding:0 12px;font-size:.86rem;font-weight:800;transition:background .18s,border-color .18s,color .18s,box-shadow .18s;display:inline-flex}.filter-chip svg,.status-badge svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9px;width:14px;height:14px}.filter-chip strong{background:var(--bg-muted);min-width:22px;height:22px;color:var(--text-color);border-radius:999px;place-items:center;padding:0 6px;font-size:.76rem;display:inline-grid}.filter-chip:hover,.filter-chip.active{color:var(--accent);border-color:#12805c59}.filter-chip.active{background:var(--accent-soft);box-shadow:inset 0 0 0 1px #12805c1a}.filter-chip.active strong{color:var(--accent);background:#fff}.filter-alerta:hover,.filter-alerta.active{color:var(--warning);border-color:#b453094d}.filter-critico:hover,.filter-critico.active{color:var(--danger);border-color:#b423184d}.filter-offline:hover,.filter-offline.active{color:#475569;border-color:#64748b59}.vm-card{padding:18px;transition:transform .18s,box-shadow .18s,border-color .18s}.vm-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.vm-card.has-issues{border-color:var(--border-strong)}.vm-card.has-issues:hover{border-color:#12805c61}.vm-card-header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.vm-title-group{min-width:0}.vm-title-group h2{overflow-wrap:anywhere;font-size:1rem;line-height:1.25}.vm-title-group span{color:var(--text-muted);overflow-wrap:anywhere;margin-top:4px;font-size:.82rem;display:block}.grafana-link{color:var(--accent);margin-top:10px;font-size:.84rem;font-weight:700;text-decoration:none;display:inline-flex}.grafana-link:hover{color:var(--accent-hover);text-underline-offset:3px;text-decoration:underline}.status-badge{letter-spacing:0;white-space:nowrap;border:1px solid #0000;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:6px;min-height:26px;padding:0 9px;font-size:.72rem;font-weight:800;display:inline-flex}.status-SAUDAVEL{background:var(--success-soft);color:var(--success);border-color:#12805c2e}.status-ALERTA,.status-MANUTENCAO{background:var(--warning-soft);color:var(--warning);border-color:#b4530933}.status-CRITICO{background:var(--danger-soft);color:var(--danger);border-color:#b4231833}.status-OFFLINE{color:#475569;background:#f1f5f9;border-color:#64748b33}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px;display:grid}.metric-tile{background:var(--surface-subtle);border:1px solid var(--border);border-radius:var(--radius-md);min-width:0;min-height:82px;padding:9px;display:grid;overflow:hidden}.metric-tile span{color:var(--text-muted);font-size:.73rem;font-weight:700;display:block}.metric-tile strong{color:var(--text-color);margin-top:4px;font-size:1.02rem;line-height:1.1;display:block}.sparkline{width:100%;height:34px;color:var(--success);margin-top:5px}.sparkline-alerta,.sparkline-manutencao{color:var(--warning)}.sparkline-critico,.sparkline-offline{color:var(--danger)}.sparkline-line{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2px}.sparkline-fill{fill:currentColor;opacity:.09;stroke:none}.incident-strip{border-radius:var(--radius-md);margin:0 0 14px;padding:10px 12px;font-size:.88rem;font-weight:700}.incident-warning{background:var(--warning-soft);color:var(--warning);border-left:3px solid var(--warning)}.incident-danger{background:var(--danger-soft);color:var(--danger);border-left:3px solid var(--danger)}.expand-button{background:var(--accent-soft);width:100%;color:var(--accent);margin-top:2px}.expand-button:hover{color:var(--accent-hover);background:#d9f0e7}.vm-details{border-top:1px solid var(--border);margin-top:16px;padding-top:16px;animation:.22s ease-out slideDown}.detail-item{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-subtle);padding:12px}.detail-item+.detail-item{margin-top:10px}.detail-title{color:var(--text-color);align-items:center;gap:8px;margin:0;font-size:.82rem;font-weight:800;display:flex}.diagnostic-icon{border-radius:999px;flex:none;place-items:center;width:22px;height:22px;display:inline-grid}.diagnostic-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:14px;height:14px}.diagnostic-critical{background:var(--danger-soft);color:var(--danger)}.diagnostic-warning{background:var(--warning-soft);color:var(--warning)}.detail-message{color:var(--text-muted);margin:8px 0 0;font-size:.9rem}.suggestion-box{border-left:3px solid var(--warning);border-radius:var(--radius-sm);color:var(--text-color);background:#fff;margin-top:10px;padding:10px 12px;font-size:.9rem;font-weight:600}.correlation-note{border-radius:var(--radius-md);background:var(--accent-soft);color:var(--accent-hover);margin-top:12px;padding:10px 12px;font-size:.86rem}.network-page{gap:18px;display:grid}.network-hero{justify-content:space-between;align-items:flex-start;gap:18px;padding:18px;display:flex}.network-eyebrow{color:var(--accent);text-transform:uppercase;font-size:.76rem;font-weight:800;display:block}.network-hero h2{color:var(--text-color);margin:4px 0 0;font-size:1.15rem;line-height:1.25}.network-hero p,.network-target-header p,.network-metric-copy p,.network-health-card p{color:var(--text-muted);margin:4px 0 0;font-size:.88rem}.network-message{margin:0}.network-summary-grid,.network-target-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.network-metric-card,.network-health-card,.network-target-card{padding:16px}.network-metric-card{grid-template-columns:minmax(0,.95fr) minmax(120px,1fr);align-items:end;gap:14px;min-height:138px;display:grid}.network-metric-copy span,.network-health-card>span,.network-target-values span,.network-target-series span{color:var(--text-muted);font-size:.76rem;font-weight:800;display:block}.network-metric-copy strong,.network-health-card>strong{color:var(--text-color);margin-top:6px;font-size:1.55rem;line-height:1.05;display:block}.network-line-chart{width:100%;min-width:0;height:58px;color:var(--success);display:block}.network-empty-series{border:1px dashed var(--border-strong);border-radius:var(--radius-md);min-height:58px;color:var(--text-muted);justify-content:center;align-items:center;font-size:.82rem;font-weight:700;display:flex}.network-health-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:14px;display:grid}.network-health-strip span{border-radius:var(--radius-sm);justify-content:center;min-width:0;padding:7px 6px;font-size:.74rem;font-weight:800;display:inline-flex}.health-ok{background:var(--success-soft);color:var(--success)}.health-warning{background:var(--warning-soft);color:var(--warning)}.health-critical{background:var(--danger-soft);color:var(--danger)}.network-target-card{gap:14px;display:grid}.network-target-header{justify-content:space-between;gap:14px;display:flex}.network-target-header h3{color:var(--text-color);overflow-wrap:anywhere;margin:0;font-size:1rem;line-height:1.25}.network-target-values{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.network-target-values div,.network-target-series>div{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-subtle);min-width:0;padding:10px}.network-target-values strong{color:var(--text-color);margin-top:5px;font-size:.98rem;line-height:1.15;display:block}.network-target-series{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.network-target-series .network-line-chart,.network-target-series .network-empty-series{height:50px;min-height:50px;margin-top:8px}.anomaly-border{border-color:#dc262673!important;box-shadow:0 0 12px #dc262626!important}.network-metric-detail-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px;display:flex}.network-anomaly-pill{color:#f87171;background:#dc26261f;border:1px solid #dc262640;border-radius:9999px;align-items:center;padding:1px 6px;font-size:.68rem;font-weight:600;display:inline-flex}.target-value-cell{flex-direction:column;display:flex;position:relative}.network-anomaly-tag{color:#f87171;border-radius:var(--radius-sm);background:#dc26261f;border:1px solid #dc262640;width:fit-content;margin-top:4px;padding:1px 5px;font-size:.68rem;font-weight:600;display:inline-block}.network-extra-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.network-extra-card{flex-direction:column;gap:14px;min-height:158px;padding:16px;display:flex}.network-extra-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.network-extra-header h3{color:var(--text-color);margin:0;font-size:1.05rem;line-height:1.25}.network-extra-header p{color:var(--text-muted);margin:4px 0 0;font-size:.8rem}.network-extra-values{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:12px;display:grid}.network-extra-placeholder{text-align:center;color:var(--text-muted);background:var(--surface-subtle);border:1px dashed var(--border-strong);border-radius:var(--radius-md);flex:1;justify-content:center;align-items:center;min-height:78px;margin:0;padding:18px;font-size:.88rem;font-style:italic;display:flex}.network-extra-charts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.network-extra-charts>div{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-subtle);padding:10px}.network-extra-charts span{color:var(--text-muted);text-transform:uppercase;font-size:.72rem;font-weight:800;display:block}.extra-value-cell{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-subtle);padding:12px}.extra-value-cell span{color:var(--text-muted);text-transform:uppercase;font-size:.72rem;font-weight:800;display:block}.extra-value-cell strong{color:var(--text-color);margin-top:6px;font-size:1.15rem;line-height:1.15;display:block}.chat-container{flex-direction:column;height:min(76vh,760px);min-height:560px;display:flex;overflow:hidden}.chat-header{border-bottom:1px solid var(--border);background:var(--surface-subtle);justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px;display:flex}.chat-header h2{font-size:1.05rem;line-height:1.25}.chat-header p{color:var(--text-muted);margin:4px 0 0;font-size:.9rem}.agent-state{background:var(--success-soft);min-height:28px;color:var(--success);border-radius:999px;flex:none;align-items:center;padding:0 10px;font-size:.78rem;font-weight:800;display:inline-flex}.agent-state.is-busy{background:var(--warning-soft);color:var(--warning)}.chat-messages{background:linear-gradient(#f8fafca6,#fff);flex-direction:column;flex:1;gap:12px;min-height:0;padding:20px;display:flex;overflow-y:auto}.message{border-radius:var(--radius-lg);max-width:min(82%,760px);box-shadow:var(--shadow-sm);overflow-wrap:anywhere;padding:12px 14px;font-size:.94rem;line-height:1.6}.message.user{background:var(--accent);color:#fff;border-bottom-right-radius:var(--radius-sm);align-self:flex-end}.message.agent{background:var(--surface);color:var(--text-color);border:1px solid var(--border);border-bottom-left-radius:var(--radius-sm);align-self:flex-start}.agent-message-row{align-items:flex-start;gap:10px;display:flex}.bot-avatar{background:var(--accent);color:#fff;width:34px;height:34px;box-shadow:inset 0 0 0 1px #ffffff2e, var(--shadow-sm);border-radius:999px;flex:none;place-items:center;display:inline-grid}.bot-avatar svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:21px;height:21px}.agent-message-row .message-content{min-width:0}.message-content h1,.message-content h2,.message-content h3{color:var(--text-color);margin:18px 0 8px;font-weight:800;line-height:1.25}.message-content h1:first-child,.message-content h2:first-child,.message-content h3:first-child{margin-top:0}.message-content h1{font-size:1.18rem}.message-content h2{font-size:1.08rem}.message-content h3{font-size:1rem}.message-content p{margin:0 0 12px}.message-content p:last-child{margin-bottom:0}.message-content ul,.message-content ol{margin:0 0 12px 18px;padding:0}.message-content li{margin-bottom:4px}.message-content strong{color:var(--text-color);font-weight:800}.message.user strong{color:#fff}.message-content table{border-collapse:collapse;border-radius:var(--radius-md);border:1px solid var(--border);background:#fff;width:100%;margin:12px 0;font-size:.88rem;display:block;overflow-x:auto}.message-content th,.message-content td{border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:10px 12px}.message-content th{background:var(--surface-subtle);color:var(--text-muted);text-transform:uppercase;font-size:.74rem;font-weight:800}.message-content tr:last-child td{border-bottom:0}.message-content pre{border-radius:var(--radius-md);color:#f8fafc;background:#111827;max-width:100%;margin:12px 0;padding:12px;font-family:Fira Code,SFMono-Regular,Consolas,monospace;font-size:.84rem;overflow-x:auto}.message-content code{border-radius:var(--radius-sm);color:#9f1239;background:#0f172a0f;padding:2px 5px;font-family:Fira Code,SFMono-Regular,Consolas,monospace;font-size:.86em}.message-content pre code{color:inherit;background:0 0;padding:0}.debug-details{border-top:1px solid var(--border);margin-top:12px;padding-top:10px}.debug-details summary{cursor:pointer;color:var(--accent);font-size:.85rem;font-weight:800}.debug-info{color:var(--text-muted);margin-top:10px;font-size:.84rem}.debug-entry{border-bottom:1px solid var(--border);gap:4px;padding:8px 0;display:grid}.chat-input{border-top:1px solid var(--border);background:var(--surface);gap:10px;padding:16px;display:flex}.chat-input input{border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface-subtle);min-width:0;height:46px;color:var(--text-color);outline:none;flex:1;padding:0 14px;transition:border-color .18s,box-shadow .18s,background .18s}.chat-input input::placeholder{color:var(--text-soft)}.chat-input input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--focus-ring);background:#fff}.chat-input button{background:var(--accent);color:#fff;min-width:104px;padding:0 18px}.chat-input button:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.chat-input button:disabled{color:#64748b;cursor:not-allowed;background:#cbd5e1}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.24s ease-out forwards fadeIn}.loading-dots:after{content:".";animation:1.5s steps(5,end) infinite dots}@keyframes dots{0%,20%{color:#0000;text-shadow:.25em 0 #0000,.5em 0 #0000}40%{color:var(--text-color);text-shadow:.25em 0 #0000,.5em 0 #0000}60%{text-shadow:.25em 0 0 var(--text-color), .5em 0 0 #0000}80%,to{text-shadow:.25em 0 0 var(--text-color), .5em 0 0 var(--text-color)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=900px){.app-shell{padding:18px}.app-header{flex-direction:column;align-items:stretch}.nav-buttons{width:100%}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.network-metric-card{grid-template-columns:1fr}.overview-toolbar{align-items:stretch}.filter-chip{flex:calc(33.333% - 8px);justify-content:center}}@media (width<=560px){.app-shell{padding:12px}.app-header{gap:16px;padding:14px}.brand-block{grid-template-columns:38px 1fr}.brand-mark{width:38px;height:38px}.header-subtitle{font-size:.82rem}.nav-buttons{grid-template-columns:1fr}.overview-grid{grid-template-columns:1fr;gap:12px}.overview-toolbar{grid-template-columns:1fr 1fr;gap:8px;display:grid}.filter-chip{width:100%}.vm-card{padding:14px}.vm-card-header{flex-direction:column;align-items:flex-start}.status-badge{align-self:flex-start}.metric-grid{grid-template-columns:1fr 1fr}.network-hero,.network-target-header{flex-direction:column;align-items:flex-start}.network-summary-grid,.network-target-grid,.network-target-series{grid-template-columns:1fr}.network-target-values{grid-template-columns:1fr 1fr}.network-health-strip{grid-template-columns:1fr}.metric-tile{min-height:78px;padding:9px}.chat-container{height:calc(100vh - 154px);min-height:520px}.chat-header{flex-direction:column;padding:14px}.chat-messages{padding:14px}.message{max-width:94%;padding:11px 12px}.bot-avatar{width:30px;height:30px}.chat-input{flex-direction:column;padding:12px}.chat-input button{width:100%}}.network-links-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:14px;display:grid}.network-link-card{flex-direction:column;gap:10px;padding:16px;display:flex}.network-link-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.network-link-header h3{margin:0;font-size:1rem}.network-link-header p{opacity:.6;margin:2px 0 0;font-size:.78rem}.network-link-state{font-size:1.05rem}
