@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-pill:999px;--shadow-card:0 6px 18px #11274314;--shadow-raised:0 10px 24px #0912212e;--text-label:.72rem;--text-sm:.8rem;--text-body:.9rem;--text-h2:1.1rem;--tracking-label:.06em;--color-text:#173654;--color-heading:#12304d;--color-text-strong:#1e293b;--color-text-body:#334155;--color-text-muted:#5f7893;--color-text-subtle:#64748b;--color-surface:#fff;--color-border:#d4dde7;--color-divider:#e5edf5;--state-neutral:#94a3b8;--badge-neutral-bg:#f3f4f6;--badge-neutral-fg:#374151;--badge-neutral-border:#d1d5db;--state-info:#2563eb;--state-info-strong:#1d4ed8;--state-info-soft:#f1f7ff;--state-ai:#6366f1;--state-ai-strong:#4338ca;--state-ai-soft:#eef2ff;--state-ai-border:#c7d2fe;--state-warn:#f59e0b;--state-warn-text:#b45309;--state-warn-soft:#fffbeb;--state-warn-border:#fde68a;--badge-warn-bg:#ffedd5;--badge-warn-fg:#c2410c;--badge-warn-border:#fdba74;--state-ok:#16a34a;--state-ok-text:#15803d;--state-ok-soft:#ecfdf5;--state-ok-border:#bbf7d0;--badge-ok-bg:#dcfce7;--badge-ok-fg:#15803d;--badge-ok-border:#86efac;--state-danger:#dc2626;--state-danger-text:#b91c1c;--state-danger-soft:#fff5f5;--state-danger-border:#fecaca;--badge-danger-bg:#fee2e2;--badge-danger-fg:#b91c1c;--badge-danger-border:#fca5a5;font-family:Space Grotesk,Segoe UI,sans-serif}*{box-sizing:border-box}body{color:#173650;background:radial-gradient(circle at 8% 8%,#2e6aa821 0,#0000 45%),radial-gradient(circle at 92% 14%,#1091ae26 0,#0000 35%),#f4f8fb;margin:0}#root{min-height:100vh}.dashboard-shell{box-sizing:border-box;width:min(1180px,100%);min-height:100vh;margin:0 auto;padding:1.5rem 1.25rem 2rem}.shell-header{color:#eef4fa;background:linear-gradient(130deg,#0f1726 0%,#1a2e47 48%,#153852 100%);border:1px solid #264466;border-radius:16px;padding:1.2rem 1.2rem 1rem;box-shadow:0 10px 24px #0912213d}.kicker{text-transform:uppercase;letter-spacing:.12em;color:#9fbedb;margin:0;font-size:.75rem}.shell-header h1{color:#f7fafc;margin:.5rem 0;font-size:clamp(1.5rem,2vw + 1rem,2.3rem)}.subtitle{color:#c6d9ea;margin:0}.api-hint{color:#d7e6f3;margin:.85rem 0 0;font-size:.95rem}.connection-state{color:#d7e6f3;margin:.6rem 0 0;font-size:.9rem}.conn-connected{color:#9ce7bf;font-weight:600}.conn-reconnecting{color:#ffd2a0;font-weight:600}.mood-banner{margin-top:var(--space-4);border:1px solid var(--color-border);border-left:6px solid var(--state-neutral);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-card);flex-wrap:wrap;align-items:center;gap:.3rem .7rem;padding:.7rem 1rem;transition:border-color .22s,background-color .22s;display:flex}.mood-dot{background:var(--state-neutral);border-radius:50%;flex-shrink:0;width:.9rem;height:.9rem}.mood-dot-pulse{animation:1.6s ease-in-out infinite mood-pulse}@keyframes mood-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.78)}}.mood-title{color:var(--color-heading);font-size:1rem;font-weight:700}.mood-sub{color:var(--color-text-muted);font-size:var(--text-body)}.mood-baseline{background:linear-gradient(180deg, #f5f9fc 0%, var(--color-surface) 60%);border-left-color:#5b8bb0}.mood-baseline .mood-dot{background:#5b8bb0}.mood-incident{border-left-color:var(--state-danger);border-color:var(--state-danger-border);background:linear-gradient(180deg, var(--state-danger-soft) 0%, var(--color-surface) 60%)}.mood-incident .mood-dot{background:var(--state-danger)}.mood-incident .mood-title{color:var(--state-danger-text)}.mood-recovering{border-left-color:var(--state-info);background:linear-gradient(180deg, var(--state-info-soft) 0%, var(--color-surface) 60%);border-color:#bfdbfe}.mood-recovering .mood-dot{background:var(--state-info)}.mood-recovering .mood-title{color:var(--state-info-strong)}.mood-recovered{border-left-color:var(--state-ok);border-color:var(--state-ok-border);background:linear-gradient(180deg, var(--state-ok-soft) 0%, var(--color-surface) 60%)}.mood-recovered .mood-dot{background:var(--state-ok)}.mood-recovered .mood-title{color:var(--state-ok-text)}.mood-failed{border-left-color:var(--state-danger);border-color:var(--state-danger-border);background:linear-gradient(180deg, var(--state-danger-soft) 0%, var(--color-surface) 60%);box-shadow:0 10px 24px #b91c1c29}.mood-failed .mood-dot{background:var(--state-danger)}.mood-failed .mood-title{color:var(--state-danger-text)}.control-bar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);flex-wrap:wrap;align-items:flex-end;gap:1rem 1.5rem;margin-top:1rem;padding:.85rem 1rem;display:flex}.control-group{flex-direction:column;gap:.35rem;display:flex}.control-group>label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);font-size:.72rem}.control-bar .agent-select{min-width:12rem}.control-devices{flex:16rem}.control-status{flex-direction:row;align-items:center;gap:.45rem;margin-left:auto}.control-badge{text-transform:uppercase;letter-spacing:.04em;border:1px solid #d1d5db;border-radius:999px;padding:.2rem .6rem;font-size:.72rem;font-weight:600;display:inline-block}.dashboard-flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin-top:1rem;display:grid}.flow-stage{flex-direction:column;gap:.5rem;display:flex}.flow-health,.flow-incident,.flow-investigation,.flow-remediation{grid-column:1/-1}.remediation-sequence{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:.6rem;display:grid}.remediation-sequence>.status-card{margin:0}.sequence-connector{justify-content:center;align-items:center;display:flex}.sequence-connector span{color:#94a3b8;font-size:1.6rem;font-weight:700;line-height:1}.flow-stage-label{align-items:center;gap:.5rem;display:flex}.flow-step{color:#eef4fa;background:#1a2e47;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-size:.8rem;font-weight:700;display:inline-flex}.flow-stage-name{color:#12304d;font-size:.95rem;font-weight:700}.flow-stage-flow{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin-left:auto;font-size:.7rem}.flow-stage>.status-card{flex:auto}.status-card,.hero-panel{transition:border-color .18s,box-shadow .18s,background-color .18s,outline-color .18s}.flow-stage.is-updated .status-card,.flow-stage.is-updated .hero-panel{outline-offset:2px;outline:2px solid #0000;animation:1.2s ease-out flow-flash}@keyframes flow-flash{0%{outline-color:#2563eb00}18%{outline-color:#2563eb8c}to{outline-color:#2563eb00}}.lifecycle-current .lifecycle-node{animation:1.8s ease-in-out infinite lifecycle-node-pulse}@keyframes lifecycle-node-pulse{0%,to{box-shadow:0 0 0 4px #2563eb2e}50%{box-shadow:0 0 0 6px #2563eb47}}@media (prefers-reduced-motion:reduce){.flow-stage.is-updated .status-card,.flow-stage.is-updated .hero-panel,.mood-dot-pulse,.lifecycle-current .lifecycle-node,.validation-cycle-dot.cycle-next,.hero-recovering .hero-dot,.exec-panel.exec-running .card-chip,.validation-panel.validation-validating .card-chip,.summary-panel.summary-pending .card-chip,.summary-loading,.investigation-loading{animation:none!important}}.investigation-card .investigation-status-chip{margin-top:.4rem}.status-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-card)}.status-card.status-running{border-left:4px solid var(--state-ok)}.status-card.status-stopped{border-left:4px solid var(--state-danger)}.status-card.status-degraded{border-left:4px solid #f97316}.status-card.status-unknown{border-left:4px solid #6b7280}.incident-panel{transition:border-color .16s,box-shadow .16s,background-color .16s}.incident-panel.incident-idle{border-left:4px solid #9ca3af}.incident-panel.incident-active{background:linear-gradient(#fff8f8 0%,#fff 100%);border-color:#fecaca;border-left-style:solid;border-left-width:4px;box-shadow:0 10px 22px #b91c1c24}.incident-details{border-top:1px solid var(--color-divider);margin-top:.75rem;padding-top:.75rem}.incident-lifecycle{margin-top:.9rem}.lifecycle-strip{align-items:flex-start;margin:0;padding:0;list-style:none;display:flex}.lifecycle-step{text-align:center;flex-direction:column;flex:1 1 0;align-items:center;min-width:0;padding:0 .2rem;display:flex;position:relative}.lifecycle-step:before{content:"";z-index:0;background:#d8e0ea;width:100%;height:3px;position:absolute;top:.85rem;left:-50%}.lifecycle-step:first-child:before{display:none}.lifecycle-complete:before,.lifecycle-current:before{background:var(--state-ok)}.lifecycle-failed:before{background:#dc2626}.lifecycle-node{z-index:1;color:#64748b;background:#fff;border:2px solid #cbd5e1;border-radius:50%;justify-content:center;align-items:center;width:1.7rem;height:1.7rem;font-size:.8rem;font-weight:700;display:inline-flex;position:relative}.lifecycle-complete .lifecycle-node{background:var(--state-ok);color:#fff;border-color:#16a34a}.lifecycle-current .lifecycle-node{color:#fff;background:#2563eb;border-color:#1d4ed8;box-shadow:0 0 0 4px #2563eb2e}.lifecycle-failed .lifecycle-node{color:#fff;background:#dc2626;border-color:#b91c1c;box-shadow:0 0 0 4px #dc26262e}.lifecycle-label{color:#334155;margin-top:.4rem;font-size:.78rem;font-weight:600;line-height:1.15}.lifecycle-current .lifecycle-label{color:#1d4ed8}.lifecycle-failed .lifecycle-label{color:#b91c1c}.lifecycle-pending .lifecycle-label{color:#94a3b8;font-weight:500}.lifecycle-time{color:#64748b;white-space:nowrap;margin-top:.15rem;font-size:.7rem}.investigation-panel{border-top:1px dashed #0000000f;margin-top:12px;padding-top:8px}.investigation-status-chip{text-transform:uppercase;letter-spacing:.06em;border:1px solid #d1d5db;border-radius:999px;margin:.2rem 0 .45rem;padding:.2rem .5rem;font-size:.72rem;font-weight:600;display:inline-block}.investigation-status-chip.investigation-idle{color:#374151;background:#f3f4f6;border-color:#d1d5db}.investigation-status-chip.investigation-pending{color:#9a3412;background:#ffedd5;border-color:#fdba74}.investigation-status-chip.investigation-completed{color:var(--state-ok-text);background:#dcfce7;border-color:#86efac}.investigation-status-chip.investigation-failed{color:#991b1b;background:#fee2e2;border-color:#fca5a5}.investigation-result p{margin:6px 0}.investigation-result ul,.investigation-result ol{margin:6px 0 12px 18px}.investigation-failed .error{color:var(--state-danger-text)}.investigation-card{border-left:4px solid #6366f1}.investigation-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.badge-ai{background:var(--state-ai-soft);color:var(--state-ai-strong);border-color:var(--state-ai-border)}.investigation-loading{animation:1.4s ease-in-out infinite exec-pulse}.ai-headline{align-items:flex-start;gap:1.25rem;margin-top:.4rem;display:flex}.ai-cause{flex:auto;min-width:0}.ai-confidence{flex-direction:column;flex:0 0 9.5rem;gap:.25rem;display:flex}.ai-field-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);font-size:.72rem;display:block}.ai-cause-text{color:#1e293b;margin:.2rem 0 0;font-size:1.02rem;font-weight:600;line-height:1.3}.confidence-meter{background:#e7ebf2;border-radius:999px;height:.55rem;overflow:hidden}.confidence-fill{border-radius:999px;height:100%;transition:width .22s;display:block}.confidence-high{background:var(--state-ok)}.confidence-medium{background:#f59e0b}.confidence-low{background:var(--state-danger)}.confidence-na{background:#cbd5e1}.confidence-value{font-size:.95rem;font-weight:700}.confidence-text-high{color:#15803d}.confidence-text-medium{color:#b45309}.confidence-text-low{color:#b91c1c}.confidence-text-na{color:#64748b}.ai-summary{color:#334155;margin:.85rem 0 0;line-height:1.4}.ai-section{border-top:1px solid var(--color-divider);margin-top:.95rem;padding-top:.7rem}.ai-section>strong{text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin-bottom:.4rem;font-size:.78rem;display:block}.ai-section-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.4rem;display:flex}.ai-section-head>strong{text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-size:.78rem}.ai-proposed-tag{text-transform:uppercase;letter-spacing:.04em;color:#4338ca;background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;flex-shrink:0;padding:.15rem .5rem;font-size:.68rem;font-weight:700}.ai-action-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.ai-action{background:#f5f6ff;border:1px solid #e0e3f8;border-radius:8px;flex-wrap:wrap;align-items:baseline;gap:.4rem;padding:.4rem .55rem;display:flex}.ai-action-id{color:#3730a3;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;font-weight:700}.ai-action-target{color:var(--color-text-muted);font-size:.8rem}.ai-action-desc{color:#334155;flex-basis:100%;font-size:.85rem}.ai-validation-list{color:#334155;flex-direction:column;gap:.25rem;margin:0;padding-left:1.15rem;font-size:.88rem;display:flex}.ai-evidence-line{color:#475569;word-break:break-word;align-items:baseline;gap:.5rem;margin:.3rem 0 0;font-size:.82rem;line-height:1.35;display:flex}.ai-evidence-tag{text-transform:uppercase;letter-spacing:.05em;color:#475569;background:#e2e8f0;border-radius:4px;flex-shrink:0;padding:.1rem .35rem;font-size:.68rem;font-weight:700}.approval-panel{transition:border-color .16s,box-shadow .16s,background-color .16s}.approval-panel.approval-idle{border-left:4px solid #9ca3af}.approval-panel.approval-awaiting{border-left:4px solid var(--state-warn);background:linear-gradient(#fffbeb 0%,#fff 100%);border-color:#fde68a;box-shadow:0 10px 22px #d9770624}.approval-panel.approval-approved{background:linear-gradient(180deg, var(--state-ok-soft) 0%, #fff 100%);border-color:#bbf7d0;border-left-style:solid;border-left-width:4px;box-shadow:0 10px 22px #16a34a24}.approval-body{border-top:1px solid var(--color-divider);margin-top:.75rem;padding-top:.75rem}.exec-panel.exec-running{border-left:4px solid #f59e0b}.exec-panel.exec-succeeded{border-left:4px solid var(--state-ok)}.exec-panel.exec-failed{border-left:4px solid var(--state-danger)}.exec-panel.exec-queued{border-left:4px solid #94a3b8}.exec-panel.exec-running .card-chip{animation:1.4s ease-in-out infinite exec-pulse}@keyframes exec-pulse{0%,to{opacity:1}50%{opacity:.55}}.validation-panel{transition:border-color .18s,box-shadow .18s,background-color .18s}.validation-panel.validation-executing{border-left:6px solid #94a3b8}.validation-panel.validation-validating{background:linear-gradient(#fffbeb 0%,#fff 60%);border-color:#fde68a;border-left-style:solid;border-left-width:6px;box-shadow:0 10px 22px #f59e0b24}.validation-panel.validation-resolved{background:linear-gradient(#ecfdf5 0%,#fff 60%);border-color:#bbf7d0;border-left-style:solid;border-left-width:6px;box-shadow:0 10px 26px #16a34a29}.validation-panel.validation-failed{background:linear-gradient(#fff5f5 0%,#fff 55%);border-color:#fecaca;border-left-style:solid;border-left-width:6px;box-shadow:0 10px 26px #b91c1c29}.validation-panel.validation-validating .card-chip{animation:1.4s ease-in-out infinite exec-pulse}.validation-cycle-dot.cycle-next{background:#fde68a;border-color:#f59e0b;animation:1.2s ease-in-out infinite hero-pulse}.validation-progress-note{color:#b45309;margin:.5rem 0 0;font-size:.83rem}.validation-body{margin-top:.75rem}.validation-section{border-top:1px solid var(--color-divider);margin-top:.9rem;padding-top:.75rem}.validation-section>strong{margin-bottom:.5rem;display:block}.validation-state-pill{text-transform:uppercase;letter-spacing:.02em;border-radius:999px;padding:.1rem .5rem;font-size:.78rem;font-weight:600;display:inline-block}.validation-state-executing{color:#475569;background:#e2e8f0}.validation-state-validating{color:#b45309;background:#fef3c7}.validation-state-resolved{color:#15803d;background:#dcfce7}.validation-state-failed{color:#b91c1c;background:#fee2e2}.validation-cycles{align-items:center;gap:.6rem;display:flex}.validation-cycle-dots{gap:.35rem;display:inline-flex}.validation-cycle-dot{border:1px solid #cbd5e1;border-radius:50%;width:.85rem;height:.85rem}.validation-cycle-dot.cycle-filled{background:var(--state-ok);border-color:#16a34a}.validation-cycle-dot.cycle-empty{background:#f1f5f9}.validation-cycle-text{color:#475569;font-size:.85rem}.validation-criteria-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.validation-criterion{align-items:center;gap:.5rem;display:flex}.validation-criterion-text{color:#334155;font-size:.88rem}.validation-snapshot-meta{color:#64748b;margin-top:.5rem;font-size:.8rem}.validation-outcome{border:1px solid #0000;border-radius:10px;margin-top:1rem;padding:.75rem .85rem;font-size:.95rem;font-weight:600;line-height:1.35}.validation-outcome-resolved{color:#15803d;background:#dcfce7;border-color:#86efac}.validation-outcome-failed{color:#b91c1c;background:#fee2e2;border-color:#fca5a5}.validation-command-failed-note{color:#64748b;margin-top:.5rem;font-size:.85rem}.summary-panel{transition:border-color .18s,box-shadow .18s,background-color .18s}.summary-panel.summary-ready{background:linear-gradient(#ecfdf5 0%,#fff 60%);border-color:#bbf7d0;border-left-style:solid;border-left-width:6px;box-shadow:0 10px 26px #16a34a29}.summary-panel.summary-failed-outcome,.summary-panel.summary-failed{background:linear-gradient(#fff5f5 0%,#fff 55%);border-color:#fecaca;border-left-style:solid;border-left-width:6px;box-shadow:0 10px 26px #b91c1c29}.summary-panel.summary-pending{border-left:6px solid #f59e0b}.summary-panel.summary-pending .card-chip{animation:1.4s ease-in-out infinite exec-pulse}.summary-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.summary-copy-button{color:#334155;cursor:pointer;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:6px;flex-shrink:0;padding:.25rem .7rem;font-size:.78rem;font-weight:600;transition:background .15s,border-color .15s}.summary-copy-button:hover{background:#e2e8f0;border-color:#94a3b8}.summary-copy-button:focus-visible{outline-offset:1px;outline:2px solid #2563eb}.summary-body{-webkit-user-select:text;user-select:text;margin-top:.75rem}.summary-operator{color:#1e293b;background:#f1f5f9;border-radius:8px;margin:0 0 .75rem;padding:.6rem .75rem;font-size:.95rem;font-weight:600}.summary-section{border-top:1px solid var(--color-divider);margin-top:.9rem;padding-top:.75rem}.summary-section>strong{text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin-bottom:.4rem;font-size:.78rem;display:block}.summary-root-cause{color:#1e293b;margin:0;font-size:.92rem}.summary-list{flex-direction:column;gap:.3rem;margin:0;padding-left:1.1rem;list-style:outside;display:flex}.summary-list li{color:#334155;font-size:.88rem}.summary-result{border:1px solid #0000;border-radius:10px;margin-top:1rem;padding:.75rem .85rem;font-size:.98rem;font-weight:700;line-height:1.35}.summary-result-resolved{color:#15803d;background:#dcfce7;border-color:#86efac}.summary-result-failed{color:#b91c1c;background:#fee2e2;border-color:#fca5a5}.summary-loading{animation:1.4s ease-in-out infinite exec-pulse}.summary-fallback-note{color:#64748b;margin-top:.5rem;font-size:.85rem}.summary-fallback-banner{color:#854d0e;background:#fef9c3;border:1px solid #fde047;border-radius:6px;margin:0 0 .75rem;padding:.45rem .65rem;font-size:.82rem}.summary-meta{color:#94a3b8;margin-top:.6rem;font-size:.8rem}.exec-body{margin-top:.5rem}.exec-approved-list{flex-direction:column;gap:.25rem;margin:.4rem 0 0;padding:0;list-style:none;display:flex}.exec-action-list{flex-direction:column;gap:.55rem;margin:.4rem 0 0;padding:0;list-style:none;display:flex}.exec-action{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.5rem .6rem}.exec-action-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.exec-action-meta{color:var(--color-text-muted);gap:.75rem;margin-top:.25rem;font-size:.72rem;display:flex}.exec-log{white-space:pre-wrap;word-break:break-word;border-radius:6px;max-height:7.5rem;margin:.4rem 0 0;padding:.45rem .55rem;font-size:.72rem;line-height:1.35;overflow:auto}.exec-stdout{color:#e2e8f0;background:#0f172a}.exec-stderr{color:#fecaca;background:#2a0f12}.exec-log-truncated{color:#94a3b8;margin:.25rem 0 0;font-size:.68rem;font-style:italic}.exec-evidence-note{color:var(--color-text-muted);margin:.5rem 0 0;font-size:.76rem}.exec-timeline{flex-direction:column;gap:.2rem;margin:.4rem 0 0;padding:0;list-style:none;display:flex}.exec-timeline li{justify-content:space-between;gap:.75rem;font-size:.78rem;display:flex}.exec-timeline-label{color:#173654;font-weight:600}.exec-timeline-time{color:var(--color-text-muted)}.approval-section{margin:.6rem 0}.approval-section ol{margin:6px 0 12px 18px}.approval-action-list{flex-direction:column;gap:.35rem;margin:6px 0 12px;padding:0;list-style:none;display:flex}.approval-action-option{cursor:pointer;align-items:flex-start;gap:.5rem;display:flex}.approval-action-option input{margin-top:.2rem}.approval-action-approved{color:var(--state-ok-text);font-weight:600}.approval-controls{flex-direction:column;gap:.3rem;margin-top:.5rem;display:flex}.approval-controls label{color:#334155;font-size:.8rem;font-weight:600}.approval-input{font:inherit;border:1px solid #c3d4e5;border-radius:8px;padding:.4rem .6rem;font-size:.85rem}.approval-input:disabled{color:#94a3b8;background:#f1f5f9}.approval-button{color:#fff;cursor:pointer;background:#16a34a;border:1px solid #15803d;border-radius:8px;align-self:flex-start;margin-top:.4rem;padding:.45rem .9rem;font-weight:600;transition:background-color .12s,opacity .12s}.approval-button:hover:not(:disabled){background:#15803d}.approval-button:disabled{color:#f8fafc;cursor:not-allowed;background:#cbd5e1;border-color:#cbd5e1}.approval-feedback{margin:.5rem 0 0;font-size:.85rem}.approval-feedback-success{color:var(--state-ok-text)}.approval-feedback-error{color:var(--state-danger-text)}.approval-result p{margin:6px 0}.approval-meta{background:var(--state-ok-soft);border:1px solid #bbf7d0;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin:.4rem 0 0;padding:.6rem .7rem;display:grid}.approval-meta dt{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);font-size:.72rem}.approval-meta dd{color:#14532d;word-break:break-word;margin:.2rem 0 0;font-weight:600}.approval-note{color:#475569;margin:.6rem 0 0;font-style:italic}.approval-handoff{color:#15803d;margin:.6rem 0 0;font-weight:600}.exec-gate-note{color:var(--color-text-muted);margin:.1rem 0 0;font-size:.78rem}.exec-panel.exec-locked{background:repeating-linear-gradient(135deg,#f8fafc,#f8fafc 10px,#f1f5f9 10px 20px);border-left:4px solid #94a3b8}.exec-gate{background:#fff;border:1px dashed #cbd5e1;border-radius:8px;align-items:center;gap:.6rem;margin-top:.75rem;padding:.7rem .8rem;display:flex}.exec-gate-icon{flex-shrink:0;font-size:1.3rem;line-height:1}.exec-gate p{color:#475569;margin:0;font-size:.88rem}.card-chip{border-radius:var(--radius-pill);color:#24496f;text-transform:uppercase;letter-spacing:.08em;background:#edf5ff;border:1px solid #8fa7c2;padding:.22rem .55rem;font-size:.7rem;font-weight:600;display:inline-block}.status-card h2{color:#12304d;margin:.7rem 0 .45rem;font-size:1.1rem}.status-card p{color:#3e5873;margin:0}.badge-running{background:var(--badge-ok-bg);color:var(--badge-ok-fg);border-color:var(--badge-ok-border)}.badge-stopped{background:var(--badge-danger-bg);color:var(--badge-danger-fg);border-color:var(--badge-danger-border)}.badge-degraded{background:var(--badge-warn-bg);color:var(--badge-warn-fg);border-color:var(--badge-warn-border)}.badge-unknown,.badge-placeholder{background:var(--badge-neutral-bg);color:var(--badge-neutral-fg);border-color:var(--badge-neutral-border)}.incident-list-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-card);margin-bottom:var(--space-4)}.incident-list-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.incident-list-header h2{color:#12304d;margin:0;font-size:1.05rem}.incident-list-count{border-radius:var(--radius-pill);background:var(--badge-neutral-bg,#eef2f7);color:#3e5873;justify-content:center;align-items:center;min-width:1.6rem;height:1.6rem;padding:0 .5rem;font-size:.8rem;font-weight:600;display:inline-flex}.incident-list-empty{color:#6b7280;margin:0;font-size:.9rem}.incident-list{flex-direction:column;gap:.4rem;max-height:16rem;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.incident-row{border:1px solid var(--color-border);background:var(--color-surface);border-radius:.5rem;align-items:stretch;gap:.4rem;display:flex;overflow:hidden}.incident-row.is-selected{border-color:#2563eb;box-shadow:0 0 0 1px #2563eb40}.incident-row-main{cursor:pointer;text-align:left;color:inherit;font:inherit;background:0 0;border:none;flex:1;grid-template-columns:6.5rem 8rem 1fr auto;align-items:center;gap:.6rem;min-width:0;padding:.55rem .7rem;display:grid}.incident-row-main:hover{background:#f4f8ff}.incident-row-state{border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border:1px solid #0000;justify-self:start;padding:.18rem .5rem;font-size:.65rem;font-weight:700;display:inline-block}.incident-row-service{color:#12304d;white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;overflow:hidden}.incident-row-status{color:#3e5873;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:.82rem;overflow:hidden}.incident-row-time{color:#6b7280;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.75rem}.incident-row-clear{border:none;border-left:1px solid var(--color-border);color:var(--badge-danger-fg,#b42318);cursor:pointer;background:0 0;flex:none;padding:0 .85rem;font-size:.78rem;font-weight:600}.incident-row-clear:hover{background:var(--badge-danger-bg,#fee4e2)}@media (width<=720px){.incident-row-main{grid-template-columns:5rem 1fr}.incident-row-time{display:none}}.device-metrics{border-top:1px solid var(--color-divider);margin-top:.75rem;padding-top:.75rem}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:0;display:grid}.metrics-grid dt{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);font-size:.75rem}.metrics-grid dd{color:#173654;overflow-wrap:anywhere;margin:.2rem 0 0;font-weight:600}.metric-bar{background:#eaf0f7;border-radius:999px;height:6px;margin-top:.3rem;overflow:hidden}.metric-bar span{background:linear-gradient(90deg,#2f8fdd 0%,#2bc59a 100%);height:100%;display:block}.recent-logs{margin-top:.8rem}.recent-logs h3{color:#234564;margin:0 0 .35rem;font-size:.85rem}.recent-logs ul{color:#3b556f;margin:0;padding-left:1rem}.recent-logs li{margin-bottom:.15rem;font-size:.87rem}.empty-log{color:var(--color-text-muted);font-size:.87rem;line-height:1.4}p.empty-log{margin:var(--space-2) 0 0;padding:var(--space-3);border:1px solid var(--color-divider);border-left:3px solid var(--state-neutral);border-radius:var(--radius-md);background:#f7fafc}p.empty-log.investigation-loading,p.empty-log.summary-loading{border-left-color:var(--state-warn);color:var(--state-warn-text)}.agent-list-wrap{border-top:1px solid var(--color-divider);margin-top:.75rem;padding-top:.75rem}.agent-list-wrap label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:.35rem;font-size:.75rem;display:block}.agent-select{color:#173654;background:#fbfdff;border:1px solid #cad8e6;border-radius:10px;width:100%;padding:.45rem .6rem}.agent-list-wrap h3{color:#234564;margin:.75rem 0 .35rem;font-size:.85rem}.agent-list{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.agent-pill{color:#1b466f;cursor:pointer;background:#f4f9ff;border:1px solid #c3d4e5;border-radius:999px;padding:.25rem .6rem;font-size:.8rem}.agent-pill-active{color:#0f3a5e;background:#dbeeff;border-color:#6aa4d8;font-weight:600}.api-hint code{color:#fff;background:#ffffff1f;border-radius:8px;padding:.15rem .4rem}@media (width<=760px){.dashboard-shell{padding:1rem .75rem}.dashboard-flow{grid-template-columns:1fr}.flow-investigation{grid-column:auto}.control-status{flex-wrap:wrap;margin-left:0}.metrics-grid{grid-template-columns:1fr}.hero-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-banner{flex-wrap:wrap}.lifecycle-strip{flex-direction:column;align-items:stretch}.lifecycle-step{text-align:left;flex-direction:row;align-items:center;gap:.6rem;padding:.35rem 0}.lifecycle-step:before{width:3px;height:100%;top:-50%;left:.82rem}.lifecycle-label{margin-top:0}.lifecycle-time{margin-top:0;margin-left:auto}.ai-headline{flex-direction:column;gap:.7rem}.ai-confidence{flex-basis:auto;width:100%}}@media (width<=1024px){.remediation-sequence{grid-template-columns:1fr}.sequence-connector span{display:inline-block;transform:rotate(90deg)}}.hero-panel{background:#fff;border:1px solid #d4dde7;border-left:8px solid #9ca3af;border-radius:16px;padding:1.1rem 1.25rem;transition:border-color .18s,box-shadow .18s,background-color .18s;box-shadow:0 8px 22px #11274314}.hero-banner{align-items:center;gap:1rem;display:flex}.hero-dot{background:#9ca3af;border-radius:50%;flex-shrink:0;width:1.5rem;height:1.5rem;box-shadow:0 0 0 6px #9ca3af2e}.hero-headline{flex-direction:column;gap:.1rem;display:flex}.hero-state-word{color:#12304d;margin:0;font-size:clamp(1.5rem,1.2vw + 1.1rem,2.1rem);font-weight:800;line-height:1.05}.hero-state-sub{color:var(--color-text-muted);margin:0;font-size:.92rem}.hero-flags{align-items:center;gap:.4rem;margin-left:auto;display:flex}.hero-flag{text-transform:uppercase;letter-spacing:.06em;color:#374151;background:#f3f4f6;border:1px solid #d1d5db;border-radius:999px;padding:.2rem .6rem;font-size:.7rem;font-weight:700;display:inline-block}.hero-flag-live{color:#15803d;background:#dcfce7;border-color:#86efac}.hero-flag-stale{color:#c2410c;background:#ffedd5;border-color:#fdba74}.hero-flag-recovered{color:#047857;background:#d1fae5;border-color:#6ee7b7}.hero-facts{border-top:1px solid var(--color-divider);grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.8rem 1rem;margin:1rem 0 0;padding-top:.9rem;display:grid}.hero-facts dt{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);font-size:.72rem}.hero-facts dd{color:#173654;word-break:break-word;margin:.25rem 0 0;font-size:.95rem;font-weight:600}.hero-status-value{text-transform:capitalize}.hero-telemetry{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1.5rem;margin-top:.85rem;display:grid}.hero-metric-head{justify-content:space-between;align-items:baseline;display:flex}.hero-metric-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);font-size:.72rem}.hero-metric-value{color:#173654;font-size:.9rem;font-weight:700}.hero-metric-bar{background:#eaf0f7;border-radius:999px;height:6px;margin-top:.3rem;overflow:hidden}.hero-metric-fill{background:linear-gradient(90deg,#2f8fdd 0%,#2bc59a 100%);border-radius:999px;height:100%;transition:width .22s;display:block}.hero-metric-fill.metric-hot{background:linear-gradient(90deg, #f97316 0%, var(--state-danger) 100%)}.status-text-running{color:#15803d}.status-text-degraded{color:#c2410c}.status-text-stopped{color:#b91c1c}.status-text-unknown{color:#6b7280}.hero-ok{color:#15803d}.hero-bad{color:#b91c1c}.hero-healthy{border-left-color:var(--state-ok);background:linear-gradient(#f4fdf7 0%,#fff 60%)}.hero-healthy .hero-dot{background:var(--state-ok);box-shadow:0 0 0 6px #22c55e2e}.hero-degraded{background:linear-gradient(#fff8f1 0%,#fff 60%);border-left-color:#f97316}.hero-degraded .hero-dot{background:#f97316;box-shadow:0 0 0 6px #f9731633}.hero-stopped,.hero-failed{background:linear-gradient(#fff5f5 0%,#fff 55%);border-left-color:#dc2626;box-shadow:0 10px 26px #b91c1c29}.hero-stopped .hero-dot,.hero-failed .hero-dot{background:#dc2626;box-shadow:0 0 0 6px #dc262638}.hero-failed .hero-state-word{color:#991b1b}.hero-recovering{background:linear-gradient(#f1f7ff 0%,#fff 60%);border-left-color:#2563eb}.hero-recovering .hero-dot{background:#2563eb;animation:1.4s ease-in-out infinite hero-pulse;box-shadow:0 0 0 6px #2563eb33}.hero-recovering .hero-state-word{color:#1d4ed8}.hero-resolved{background:linear-gradient(#ecfdf5 0%,#fff 60%);border-left-color:#16a34a;box-shadow:0 10px 26px #16a34a29}.hero-resolved .hero-dot{background:#16a34a;box-shadow:0 0 0 6px #16a34a38}.hero-resolved .hero-state-word{color:#15803d}@keyframes hero-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.65;transform:scale(1.12)}}.demo-controls-panel{background:linear-gradient(180deg, #faf5ff 0%, var(--color-surface) 62%);margin-bottom:var(--space-4);border-left:4px solid #7c3aed}.badge-demo{color:#6d28d9;background:#f3e8ff;border-color:#c4b5fd}.demo-controls-sub{color:var(--color-text-muted);margin:.2rem 0 .7rem;font-size:.85rem}.demo-controls-grid{gap:var(--space-3) var(--space-4);flex-wrap:wrap;align-items:flex-end;display:flex}.demo-device-value{color:var(--color-text-body);font-variant-numeric:tabular-nums;padding:.3rem 0;font-weight:600}.demo-auto-approve{color:var(--color-text-body);cursor:pointer;align-items:flex-start;gap:.5rem;margin:.75rem 0 .2rem;font-size:.85rem;display:flex}.demo-auto-approve input{flex-shrink:0;margin-top:.15rem}.demo-auto-approve em{color:var(--color-text-muted);font-style:normal}.demo-controls-note{border-radius:var(--radius-md);color:#5b4b8a;background:#faf5ff;border:1px dashed #c4b5fd;margin:.55rem 0 0;padding:.45rem .6rem;font-size:.8rem}.demo-controls-actions{gap:var(--space-3);flex-wrap:wrap;margin-top:.85rem;display:flex}.demo-button{border-radius:var(--radius-md);cursor:pointer;padding:.5rem 1rem;font-weight:600;transition:background-color .12s,opacity .12s}.demo-button:disabled{opacity:.55;cursor:not-allowed}.demo-button-primary{color:#fff;background:#7c3aed;border:1px solid #6d28d9}.demo-button-primary:hover:not(:disabled){background:#6d28d9}.demo-button-secondary{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-body)}.demo-button-secondary:hover:not(:disabled){background:#f1f5f9}.demo-controls-status{margin:.7rem 0 0;font-size:.85rem}.demo-controls-error{color:var(--state-danger-text)}.demo-controls-success{color:var(--state-ok-text)}.investigation-progress{flex-direction:column;gap:.6rem;display:flex}.ai-orchestration{flex-wrap:wrap;align-items:center;gap:.35rem .4rem;display:flex}.ai-orchestration-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-right:.15rem;font-size:.72rem}.summary-actions{flex-wrap:wrap;gap:.4rem;display:flex}.summary-download-button{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.summary-download-button:hover{background:#dbeafe;border-color:#93c5fd}.arch-strip{flex-wrap:wrap;gap:.4rem;margin-top:.85rem;display:flex}.arch-pill{letter-spacing:.02em;color:#dbeafe;background:#ffffff1a;border:1px solid #ffffff2e;border-radius:999px;padding:.22rem .6rem;font-size:.72rem;font-weight:600}.arch-pill-human{color:#bbf7d0;background:#86efac29;border-color:#86efac5c}.hero-idle{background:linear-gradient(#f8fafc 0%,#fff 60%);border-left-color:#94a3b8}.hero-idle .hero-dot{background:#94a3b8;box-shadow:0 0 0 6px #94a3b82e}.hero-muted{color:var(--color-text-muted)}.incident-live-banner{border:1px solid #0000;border-radius:10px;align-items:center;gap:.6rem;margin-top:.7rem;padding:.5rem .75rem;display:flex}.incident-live-dot{border-radius:50%;flex-shrink:0;width:.7rem;height:.7rem;animation:1.4s ease-in-out infinite mood-pulse}.incident-live-stage{font-weight:700}.incident-live-timer{font-variant-numeric:tabular-nums;margin-left:auto;font-size:1.05rem;font-weight:700}.incident-live-banner.tone-danger{background:#dc26260f;border-color:#fecaca}.incident-live-banner.tone-danger .incident-live-dot{background:#dc2626}.incident-live-banner.tone-danger .incident-live-stage,.incident-live-banner.tone-danger .incident-live-timer{color:#991b1b}.incident-live-banner.tone-info{background:#2563eb12;border-color:#bfdbfe}.incident-live-banner.tone-info .incident-live-dot{background:#2563eb}.incident-live-banner.tone-info .incident-live-stage,.incident-live-banner.tone-info .incident-live-timer{color:#1d4ed8}.severity-pill{text-transform:uppercase;letter-spacing:.04em;border:1px solid #0000;border-radius:999px;padding:.12rem .55rem;font-size:.72rem;font-weight:700;display:inline-block}.severity-low{color:#475569;background:#e2e8f0;border-color:#cbd5e1}.severity-medium{color:#b45309;background:#fef3c7;border-color:#fde68a}.severity-high{color:#be123c;background:#ffe4e6;border-color:#fecdd3}.severity-critical{color:#991b1b;background:#fee2e2;border-color:#fca5a5}.flow-pipeline-preview{grid-column:1/-1}.pipeline-preview-card{border-left:4px solid #cbd5e1}.pipeline-preview-steps{flex-wrap:wrap;gap:.5rem;margin:.85rem 0 0;padding:0;list-style:none;display:flex}.pipeline-preview-steps li{border:1px dashed var(--color-divider);color:var(--color-text-muted);border-radius:999px;align-items:center;gap:.45rem;padding:.4rem .75rem;font-size:.85rem;font-weight:600;display:flex}.pipeline-preview-steps li span{color:#475569;background:#e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:1.3rem;height:1.3rem;font-size:.72rem;font-weight:700;display:inline-flex}.ai-thinking-spinner{border:2px solid var(--state-warn,#f59e0b);vertical-align:-.1rem;border-top-color:#0000;border-radius:50%;width:.8rem;height:.8rem;margin-right:.45rem;animation:.7s linear infinite ai-spin;display:inline-block}@keyframes ai-spin{to{transform:rotate(360deg)}}.thinking-dots span{animation:1.4s infinite both thinking-blink}.thinking-dots span:nth-child(2){animation-delay:.2s}.thinking-dots span:nth-child(3){animation-delay:.4s}@keyframes thinking-blink{0%,80%,to{opacity:.2}40%{opacity:1}}.ai-orchestration .badge-ai{animation:1.6s ease-in-out infinite chip-pulse}.ai-orchestration .badge-ai:nth-child(3){animation-delay:.25s}.ai-orchestration .badge-ai:nth-child(4){animation-delay:.5s}@keyframes chip-pulse{0%,to{opacity:1}50%{opacity:.55}}.investigation-result{animation:.42s ease-out ai-reveal}@keyframes ai-reveal{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.hero-resolved .hero-dot{animation:.9s ease-out resolved-ring}@keyframes resolved-ring{0%{box-shadow:0 0 #16a34a80}to{box-shadow:0 0 0 22px #16a34a00}}.hero-flag-recovered{animation:.5s ease-out flag-pop}@keyframes flag-pop{0%{opacity:0;transform:scale(.6)}60%{transform:scale(1.12)}to{opacity:1;transform:scale(1)}}.summary-ready .summary-download-button{color:#fff;background:#16a34a;border-color:#15803d;padding:.42rem .95rem;font-size:.85rem}.summary-ready .summary-download-button:hover{background:#15803d;border-color:#166534}@media (prefers-reduced-motion:reduce){.incident-live-dot,.ai-thinking-spinner,.thinking-dots span,.ai-orchestration .badge-ai,.investigation-result,.hero-resolved .hero-dot,.hero-flag-recovered{animation:none!important}}
