:root{--cv-bg:#f4f6fa;--cv-surface:#fff;--cv-surface-2:#eef1f7;--cv-border:#d9dee8;--cv-text:#141a26;--cv-text-muted:#556074;--cv-primary:#0b6e74;--cv-primary-strong:#08555a;--cv-primary-soft:#d9f0f1;--cv-accent:#5b3fd6;--cv-focus:#1f6feb;--cv-sev-critical:#a1122a;--cv-sev-high:#c43d1c;--cv-sev-medium:#9a6200;--cv-sev-low:#2c6b2f;--cv-sev-info:#35517a;--cv-ok:#1f7a3a;--cv-warn:#9a6200;--cv-bad:#b3261e;--cv-node-source:#0b6e74;--cv-node-analytic:#5b3fd6;--cv-node-condition:#b5540a;--cv-node-control:#4a5a73;--cv-node-output:#a1122a;--cv-radius:10px;--cv-radius-sm:6px;--cv-shadow:0 1px 2px #1018280f, 0 1px 3px #10182814;--cv-font:"Inter", "IBM Plex Sans Arabic", "Segoe UI", system-ui, -apple-system, sans-serif;--cv-mono:ui-monospace, "SF Mono", Menlo, monospace}@media (prefers-color-scheme:dark){:root{--cv-bg:#0e131b;--cv-surface:#151c27;--cv-surface-2:#1c2533;--cv-border:#2b3646;--cv-text:#e8edf5;--cv-text-muted:#9aa7bb;--cv-primary:#3fb9bf;--cv-primary-strong:#63cfd4;--cv-primary-soft:#113a3d;--cv-accent:#9d8bff;--cv-sev-critical:#ff6b81;--cv-sev-high:#ff8a65;--cv-sev-medium:#f2b84b;--cv-sev-low:#7bd389;--cv-sev-info:#8fb3ff;--cv-ok:#6fd28d;--cv-warn:#f2b84b;--cv-bad:#ff7a70}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--cv-bg);color:var(--cv-text);font-family:var(--cv-font);font-size:15px;line-height:1.5}a{color:var(--cv-primary)}:focus-visible{outline:3px solid var(--cv-focus);outline-offset:2px;border-radius:4px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{inset-inline-start:-999px;background:var(--cv-surface);z-index:100;padding:8px 12px;position:absolute;top:8px}.skip-link:focus{inset-inline-start:8px}.shell{grid-template-columns:248px 1fr;min-height:100vh;display:grid}.nav{background:var(--cv-surface);border-inline-end:1px solid var(--cv-border);flex-direction:column;gap:4px;padding:16px 12px;display:flex}.brand{letter-spacing:.2px;align-items:center;gap:10px;padding:4px 8px 18px;font-weight:700;display:flex}.brand-mark{border-radius:8px;width:30px;height:30px;display:block}.nav a,.nav .nav-disabled{border-radius:var(--cv-radius-sm);color:var(--cv-text);justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:14px;text-decoration:none;display:flex}.nav a:hover{background:var(--cv-surface-2)}.nav a[aria-current=page]{background:var(--cv-primary-soft);color:var(--cv-primary-strong);font-weight:600}.nav .nav-disabled{color:var(--cv-text-muted);cursor:not-allowed}.nav-foot{color:var(--cv-text-muted);margin-top:auto;padding:8px;font-size:12px}.nav-section{flex-direction:column;gap:4px;display:flex}.nav-group{text-transform:uppercase;letter-spacing:.04em;color:var(--cv-text-muted);padding:12px 10px 2px;font-size:11px;font-weight:600}.main{flex-direction:column;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--cv-border);background:var(--cv-surface);flex-wrap:wrap;align-items:center;gap:12px;padding:10px 24px;display:flex}.topbar .spacer{flex:1}.content{width:100%;max-width:1400px;padding:24px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.page-head h1{margin:0;font-size:22px}.page-head p{color:var(--cv-text-muted);margin:4px 0 0}.card{background:var(--cv-surface);border:1px solid var(--cv-border);border-radius:var(--cv-radius);box-shadow:var(--cv-shadow);padding:16px}.card h2{margin:0 0 12px;font-size:15px}.grid{gap:16px;display:grid}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.stack{flex-direction:column;gap:12px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.muted{color:var(--cv-text-muted)}.small{font-size:13px}.mono{font-family:var(--cv-mono);font-size:12.5px}.kpi{font-size:30px;font-weight:700;line-height:1.1}.kpi-label{color:var(--cv-text-muted);font-size:13px}.btn{border:1px solid var(--cv-border);background:var(--cv-surface);color:var(--cv-text);border-radius:var(--cv-radius-sm);font:inherit;cursor:pointer;align-items:center;gap:6px;min-height:36px;padding:7px 14px;font-size:14px;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){background:var(--cv-surface-2)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--cv-primary);color:#fff;border-color:var(--cv-primary)}.btn-primary:hover:not(:disabled){background:var(--cv-primary-strong)}.btn-danger{color:var(--cv-bad);border-color:var(--cv-bad)}.btn-sm{min-height:30px;padding:4px 10px;font-size:13px}.badge{white-space:nowrap;border:1px solid;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.badge-demo{color:var(--cv-accent);background:color-mix(in srgb, var(--cv-accent) 10%, transparent)}.sev-critical{color:var(--cv-sev-critical)}.sev-high{color:var(--cv-sev-high)}.sev-medium{color:var(--cv-sev-medium)}.sev-low{color:var(--cv-sev-low)}.sev-info{color:var(--cv-sev-info)}.st-open{color:var(--cv-bad)}.st-acknowledged{color:var(--cv-warn)}.st-resolved{color:var(--cv-ok)}.st-false_positive{color:var(--cv-text-muted)}.h-connected{color:var(--cv-ok)}.h-degraded,.h-starting{color:var(--cv-warn)}.h-disconnected,.h-disabled,.h-unknown{color:var(--cv-text-muted)}.dot{background:currentColor;border-radius:50%;width:8px;height:8px;display:inline-block}label.field{flex-direction:column;gap:4px;font-size:13px;font-weight:600;display:flex}label.field .hint{color:var(--cv-text-muted);font-weight:400}input,select,textarea{font:inherit;color:var(--cv-text);background:var(--cv-surface);border:1px solid var(--cv-border);border-radius:var(--cv-radius-sm);min-height:36px;padding:7px 10px;font-size:14px}input[type=range]{accent-color:var(--cv-primary);padding:0}input[type=checkbox],input[type=radio]{min-height:auto;accent-color:var(--cv-primary)}textarea{resize:vertical;min-height:70px}table.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:start;text-transform:uppercase;letter-spacing:.4px;color:var(--cv-text-muted);border-bottom:1px solid var(--cv-border);padding:8px 10px;font-size:12px;font-weight:600}.table td{border-bottom:1px solid var(--cv-border);vertical-align:top;padding:10px}.table tr.unread td:first-child{box-shadow:inset 3px 0 0 var(--cv-bad)}[dir=rtl] .table tr.unread td:first-child{box-shadow:inset -3px 0 0 var(--cv-bad)}.table tr:hover td{background:var(--cv-surface-2)}.alert{border-radius:var(--cv-radius-sm);border:1px solid;padding:10px 14px;font-size:14px}.alert-error{border-color:var(--cv-bad);color:var(--cv-bad);background:color-mix(in srgb, var(--cv-bad) 8%, transparent)}.alert-warn{border-color:var(--cv-warn);color:var(--cv-warn);background:color-mix(in srgb, var(--cv-warn) 8%, transparent)}.alert-info{border-color:var(--cv-sev-info);color:var(--cv-sev-info);background:color-mix(in srgb, var(--cv-sev-info) 8%, transparent)}.alert-ok{border-color:var(--cv-ok);color:var(--cv-ok);background:color-mix(in srgb, var(--cv-ok) 8%, transparent)}.steps{flex-wrap:wrap;gap:6px;margin:0 0 16px;padding:0;list-style:none;display:flex}.steps li{border:1px solid var(--cv-border);color:var(--cv-text-muted);background:var(--cv-surface);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:flex}.steps li[aria-current=step]{border-color:var(--cv-primary);color:var(--cv-primary-strong);background:var(--cv-primary-soft);font-weight:600}.steps li.done{color:var(--cv-ok)}.choice{border:1px solid var(--cv-border);border-radius:var(--cv-radius);cursor:pointer;background:var(--cv-surface);align-items:flex-start;gap:10px;padding:12px;display:flex}.choice:has(input:checked){border-color:var(--cv-primary);box-shadow:0 0 0 1px var(--cv-primary)}.flow{flex-wrap:wrap;align-items:stretch;gap:8px;display:flex}.flow-node{border-radius:var(--cv-radius-sm);border:1px solid var(--cv-border);border-top:4px solid var(--cv-node-control);background:var(--cv-surface);min-width:120px;padding:8px 10px;font-size:13px}.flow-node .k{text-transform:uppercase;letter-spacing:.4px;color:var(--cv-text-muted);font-size:11px}.flow-node.source{border-top-color:var(--cv-node-source)}.flow-node.analytic,.flow-node.filter{border-top-color:var(--cv-node-analytic)}.flow-node.condition{border-top-color:var(--cv-node-condition)}.flow-node.output{border-top-color:var(--cv-node-output)}.flow-arrow{color:var(--cv-text-muted);align-self:center}[dir=rtl] .flow-arrow{transform:scaleX(-1)}.canvas-layout{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:12px;display:grid}.canvas-palette{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:6px 14px;display:flex}.canvas-palette-group{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.canvas-palette-group>.small{margin-inline-end:2px}.canvas-palette-item{text-align:start;border:1px solid var(--cv-border);border-inline-start:4px solid var(--cv-node-control);border-radius:var(--cv-radius-sm);background:var(--cv-surface);font:inherit;color:inherit;cursor:grab;padding:6px 8px;font-size:13px}.canvas-palette-item:disabled{opacity:.55;cursor:not-allowed}.canvas-palette-item.source{border-inline-start-color:var(--cv-node-source)}.canvas-palette-item.analytic,.canvas-palette-item.filter{border-inline-start-color:var(--cv-node-analytic)}.canvas-palette-item.condition{border-inline-start-color:var(--cv-node-condition)}.canvas-palette-item.output{border-inline-start-color:var(--cv-node-output)}.canvas-area{border:1px solid var(--cv-border);border-radius:var(--cv-radius-sm);background-color:var(--cv-bg);background-image:radial-gradient(var(--cv-border) 1px, transparent 1px);touch-action:none;background-size:20px 20px;height:620px;position:relative;overflow:auto}.canvas-inner{transform-origin:0 0;position:relative}.canvas-wires{position:absolute;inset:0 auto auto 0;overflow:visible}.canvas-node{box-sizing:border-box;cursor:grab;-webkit-user-select:none;user-select:none;position:absolute;overflow:visible}.canvas-node:focus-visible,.canvas-node.selected{outline:2px solid var(--cv-primary);outline-offset:2px}.canvas-node.has-error{box-shadow:0 0 0 2px var(--cv-bad)}.canvas-node.has-warning{box-shadow:0 0 0 2px var(--cv-warn)}.canvas-node{font-size:14px}.canvas-node-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.canvas-port{border:2px solid var(--cv-text-muted);background:var(--cv-surface);cursor:crosshair;border-radius:50%;width:14px;height:14px;padding:0;position:absolute}.canvas-port.in{left:-8px}.canvas-port.out{border-color:var(--cv-surface);right:-8px}.canvas-port.target{box-shadow:0 0 0 4px color-mix(in srgb, var(--cv-primary) 45%, transparent)}.canvas-port.active{box-shadow:0 0 0 4px color-mix(in srgb, var(--cv-accent) 55%, transparent)}.canvas-empty{text-align:center;pointer-events:none;position:absolute;inset:40% 0 auto}.canvas-inspector{max-height:620px;overflow:auto}.btn-link{color:var(--cv-primary);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}@media (max-width:1100px){.canvas-layout{grid-template-columns:1fr}.canvas-area{height:480px}}.issue{border-bottom:1px dashed var(--cv-border);gap:8px;padding:6px 0;font-size:13px;display:flex}.login-wrap{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{width:100%;max-width:400px}@media (max-width:1100px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:1fr 1fr}}@media (max-width:820px){.shell{grid-template-columns:1fr}.nav{border-inline-end:0;border-bottom:1px solid var(--cv-border);flex-direction:row;padding:8px;overflow-x:auto}.brand,.nav-foot,.nav .nav-disabled,.nav-group{display:none}.nav-section{flex-direction:row}.nav a{white-space:nowrap}.content{padding:16px}.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}.table .hide-sm{display:none}.table .sm-only{display:block}}.ds-confirmed,.ds-provider_accepted{color:var(--cv-ok)}.ds-sent{color:var(--cv-sev-info)}.ds-queued,.ds-sending{color:var(--cv-text-muted)}.ds-failed{color:var(--cv-bad)}.ds-uncertain{color:var(--cv-warn)}.ds-expired,.ds-cancelled,.ds-suppressed{color:var(--cv-text-muted)}.vf-verified{color:var(--cv-ok)}.vf-simulated{color:var(--cv-sev-info)}.vf-unverified{color:var(--cv-warn)}.badge-physical{color:var(--cv-node-output)}.badge-warn{color:var(--cv-warn);background:color-mix(in srgb, var(--cv-warn) 8%, transparent);white-space:normal}.kv{grid-template-columns:minmax(140px,max-content) 1fr;gap:4px 16px;font-size:13px;display:grid}.kv dt{color:var(--cv-text-muted)}.kv dd{overflow-wrap:anywhere;margin:0}.choice[aria-disabled=true]{opacity:.55;cursor:not-allowed}.bell{position:relative}.bell-count{top:-6px;background:var(--cv-bad);color:#fff;text-align:center;border-radius:999px;min-width:18px;padding:0 5px;font-size:11px;position:absolute;inset-inline-end:-6px}.bell-panel{inset-inline-end:0;z-index:50;width:min(360px,90vw);max-height:420px;position:absolute;top:110%;overflow:auto}.bell-item{border-bottom:1px solid var(--cv-border);padding:8px 0;font-size:13px}.bell-item.unread strong:before{content:"● ";color:var(--cv-bad)}details.disclosure>summary{cursor:pointer;font-size:13px;font-weight:600}.badge-time{color:var(--cv-sev-medium,#b45309)}.table .sm-only{display:none}.linklike{color:var(--cv-accent);cursor:pointer;font:inherit;text-align:start;background:0 0;border:0;padding:0}.linklike:hover{text-decoration:underline}.stat .stat-value{font-size:24px;font-weight:700}.stat-warn{border-color:var(--cv-warn)}.cfg-bad{color:var(--cv-bad)}
