:root{--bg: #eef1f5;--panel: #ffffff;--panel-2: #f6f8fb;--ink: #17202b;--ink-2: #4a5868;--ink-3: #7a8798;--line: #d7dee7;--line-2: #e7ecf2;--accent: #24408f;--accent-2: #3f63d4;--accent-soft: #e4ebfb;--ok: #1f7a4d;--ok-soft: #e3f3ea;--warn: #a86412;--warn-soft: #fbf0df;--err: #b42b2b;--err-soft: #fbe5e5;--info: #4e6a8c;--info-soft: #e8eef5;--hatch: repeating-linear-gradient(135deg, transparent 0 5px, rgba(122, 135, 152, .16) 5px 7px);--mono: ui-monospace, "SFMono-Regular", "Cascadia Mono", Menlo, Consolas, monospace;--sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--radius: 6px;--shadow: 0 1px 0 rgba(23, 32, 43, .04);color-scheme:light}:root[data-theme=dark]{--bg: #0d141d;--panel: #131c27;--panel-2: #182330;--ink: #dde4ec;--ink-2: #a6b2c1;--ink-3: #758397;--line: #243243;--line-2: #1c2836;--accent: #8fb0ff;--accent-2: #a9c1ff;--accent-soft: #1b2a47;--ok: #4cc38a;--ok-soft: #12291f;--warn: #e3a54f;--warn-soft: #2e2313;--err: #f07070;--err-soft: #331717;--info: #93abc9;--info-soft: #1a2533;--hatch: repeating-linear-gradient(135deg, transparent 0 5px, rgba(166, 178, 193, .13) 5px 7px);--shadow: none;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.45 var(--sans);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px;border-radius:3px}h1{font-size:22px;line-height:1.2;margin:0;font-weight:650;letter-spacing:-.01em}h2{font-size:16px;margin:0 0 10px;font-weight:620}h3{font-size:14px;margin:0 0 8px;font-weight:620}p{margin:0 0 8px}code,pre,.mono{font-family:var(--mono);font-size:12.5px}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.shell{display:grid;grid-template-columns:236px 1fr;height:100%}.side{background:var(--panel);border-right:1px solid var(--line);overflow-y:auto;display:flex;flex-direction:column}.brand-co{margin:14px 14px 0;padding:6px 8px;background:#fff;border-radius:6px;border:1px solid var(--line);line-height:0}.brand-co img{height:26px;width:auto;max-width:100%}.brand{display:flex;align-items:center;gap:10px;padding:12px 16px}.brand b{font-size:16px;letter-spacing:-.01em}.brand small{display:block;color:var(--ink-3);font-size:11.5px}.navgroup{padding:6px 8px 4px}.navgroup>div{color:var(--ink-3);font-size:12px;font-weight:600;padding:8px 10px 4px}.navgroup a{display:flex;align-items:center;justify-content:space-between;padding:5px 10px;border-radius:5px;color:var(--ink-2);font-size:13.5px}.navgroup a:hover{background:var(--panel-2);text-decoration:none;color:var(--ink)}.navgroup a.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.navgroup a .count{font-size:11.5px;color:var(--ink-3)}.main{display:flex;flex-direction:column;min-width:0;overflow:hidden}.top{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 20px;background:var(--panel);border-bottom:1px solid var(--line)}.top .grow{flex:1}.content{flex:1;overflow-y:auto;padding:20px 24px 48px}.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;justify-content:space-between;margin-bottom:16px}.page-head p{color:var(--ink-2);margin:4px 0 0;max-width:78ch}.menu-btn{display:none}@media(max-width:900px){.shell{grid-template-columns:1fr}.side{position:fixed;z-index:30;inset:0 auto 0 0;width:260px;transform:translate(-100%);transition:transform .15s}.side.open{transform:none;box-shadow:0 0 0 100vmax #00000059}.menu-btn{display:inline-flex}.content{padding:16px}}button,.btn,select,input,textarea{font:inherit;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:5px;padding:6px 10px}button,.btn{cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}button:hover,.btn:hover{border-color:var(--ink-3);text-decoration:none}button:disabled{opacity:.55;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}:root[data-theme=dark] button.primary{color:#0d141d}button.danger{color:var(--err);border-color:var(--err);background:transparent}button.ghost{border-color:transparent;background:transparent}button.small,.btn.small{padding:3px 8px;font-size:12.5px}input[type=checkbox]{width:auto}select{padding-right:24px}label.field{display:grid;gap:4px;font-size:13px;color:var(--ink-2)}label.field input,label.field select,label.field textarea{width:100%}.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.row.spread{justify-content:space-between}.search{min-width:180px;width:200px}.top select{max-width:190px}.grid{display:grid;gap:14px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g6{grid-template-columns:repeat(6,minmax(0,1fr))}@media(max-width:1200px){.g6{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.g2,.g3,.g4{grid-template-columns:1fr}.g6{grid-template-columns:repeat(2,minmax(0,1fr))}.stat .v{font-size:20px}}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow);min-width:0}.panel.flush{padding:0}.panel>.ph{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:10px}.panel>.ph h2{margin:0}.panel>.ph span{color:var(--ink-3);font-size:12.5px}.stat{display:block;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;color:inherit;min-width:0;position:relative}a.stat:hover{border-color:var(--accent-2);text-decoration:none}.stat .k{color:var(--ink-2);font-size:12.5px}.stat .v{font-size:24px;font-weight:650;letter-spacing:-.01em;margin-top:2px}.stat .s{color:var(--ink-3);font-size:12px;margin-top:2px}.stat.bad{border-left:3px solid var(--err)}.stat.warn{border-left:3px solid var(--warn)}.stat.good{border-left:3px solid var(--ok)}.meter{position:relative;height:8px;background:var(--line-2);border-radius:4px;overflow:hidden;margin:6px 0 2px}.meter i{position:absolute;inset:0 auto 0 0;background:var(--accent-2);border-radius:4px}.meter i.req{background:transparent;border-right:2px solid var(--ink-2);border-radius:0}.meter.meter-na{background:var(--hatch),var(--line-2)}.na{display:inline-flex;align-items:center;gap:6px;padding:1px 8px;border-radius:4px;background:var(--hatch);border:1px dashed var(--ink-3);color:var(--ink-2);font-size:12.5px;font-weight:500}.na-reason{color:var(--ink-3);font-size:12px;margin-top:4px}.badge{display:inline-block;padding:0 7px;border-radius:10px;font-size:12px;font-weight:600;line-height:19px;background:var(--info-soft);color:var(--info);white-space:nowrap}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.warning,.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.error,.badge.critical{background:var(--err-soft);color:var(--err)}.badge.accent{background:var(--accent-soft);color:var(--accent)}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:var(--ink-3);flex:none}.dot.ok{background:var(--ok)}.dot.warning{background:var(--warn)}.dot.error,.dot.critical{background:var(--err)}.dot.info{background:var(--info)}.tablewrap{overflow-x:auto}table.t{width:100%;border-collapse:collapse;font-size:13px}table.t th{text-align:left;font-weight:600;color:var(--ink-2);font-size:12.5px;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--panel-2);position:sticky;top:0}table.t th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}table.t th .arrow{color:var(--accent)}table.t td{padding:7px 10px;border-bottom:1px solid var(--line-2);vertical-align:top;max-width:420px;overflow-wrap:break-word}table.t tr.click{cursor:pointer}table.t tr.click:hover td{background:var(--panel-2)}table.t td.num{text-align:right;white-space:nowrap}table.t td.nw{white-space:nowrap}.pager{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;color:var(--ink-2);font-size:12.5px;flex-wrap:wrap;gap:8px}.empty{padding:28px 16px;text-align:center;color:var(--ink-2)}.err{color:var(--err);background:var(--err-soft);border:1px solid var(--err);border-radius:var(--radius);padding:10px 12px}.notice{background:var(--info-soft);color:var(--ink);border-left:3px solid var(--info);padding:10px 12px;border-radius:4px;font-size:13px}.notice.warn{background:var(--warn-soft);border-left-color:var(--warn)}.muted{color:var(--ink-3)}.small{font-size:12.5px}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:14px;overflow-x:auto}.tabs button{border:none;background:transparent;border-bottom:2px solid transparent;border-radius:0;padding:8px 12px;color:var(--ink-2)}.tabs button.on{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}pre.code{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);padding:12px;overflow:auto;max-height:70vh;margin:0;white-space:pre}pre.logs{white-space:pre-wrap;word-break:break-all;max-height:65vh}.cmd{display:flex;align-items:flex-start;gap:6px;background:var(--panel-2);border:1px solid var(--line);border-radius:4px;padding:4px 6px 4px 10px;margin:4px 0}.cmd code{flex:1;white-space:pre-wrap;word-break:break-all;padding-top:3px}dl.kv{display:grid;grid-template-columns:max-content 1fr;gap:5px 16px;margin:0;font-size:13px}dl.kv dt{color:var(--ink-2)}dl.kv dd{margin:0;overflow-wrap:anywhere}.chips{display:flex;flex-wrap:wrap;gap:4px}.chip{font-family:var(--mono);font-size:11.5px;background:var(--panel-2);border:1px solid var(--line);border-radius:4px;padding:1px 6px}.chart{position:relative}.chart svg{display:block;width:100%;overflow:visible}.chart .tip{position:absolute;pointer-events:none;background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:6px 8px;font-size:12px;box-shadow:0 4px 14px #0000001f;white-space:nowrap;z-index:5}.legend{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--ink-2);margin-top:4px}.legend i{display:inline-block;width:12px;height:3px;border-radius:2px;margin-right:5px;vertical-align:middle}.graph{position:relative;height:70vh;min-height:420px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;cursor:grab}.graph svg{width:100%;height:100%;display:block}.graph .gnode rect{fill:var(--panel);stroke:var(--line)}.graph .gnode.hl rect{stroke:var(--accent-2);stroke-width:2.5}.graph .gnode.dim{opacity:.25}.graph .gnode text{fill:var(--ink);font-size:11.5px}.graph .gnode text.sub{fill:var(--ink-3);font-size:10px}.graph .gnode{cursor:pointer}.graph .edge{fill:none;stroke:var(--ink-3);stroke-width:1.2}.graph .edge.inferred{stroke-dasharray:5 4}.graph .edge.observed{stroke:var(--ok)}.graph .edge.observed.bad{stroke:var(--err)}.graph .elabel{fill:var(--ok);font-size:10px;font-weight:600;paint-order:stroke;stroke:var(--panel);stroke-width:3px}.graph .elabel.bad{fill:var(--err)}.graph .zoomctl{position:absolute;right:10px;top:10px;display:flex;gap:4px}.auth{min-height:100%;display:grid;place-items:center;padding:24px}.auth .box{width:min(420px,100%);background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:26px}.auth .box h1{margin-bottom:4px}.auth-brand{display:flex;flex-direction:column;align-items:center;gap:14px;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--line)}.auth-brand .co{height:44px;width:auto;max-width:100%;background:#fff;padding:6px 10px;border-radius:6px}.auth-brand .prod{display:flex;align-items:center;gap:10px}.auth-brand .prod b{font-size:19px;letter-spacing:-.01em;display:block}.auth-brand .prod small{color:var(--ink-3);font-size:12px}.auth form{display:grid;gap:12px;margin-top:16px}.lc{display:grid;grid-template-columns:150px 92px 1fr;gap:2px 12px;font-size:13px;padding:7px 12px;border-bottom:1px solid var(--line-2)}.lc:hover{background:var(--panel-2)}.act{font-weight:650;font-size:12px}.act.CREATED{color:var(--ok)}.act.DELETED{color:var(--err)}.act.MODIFIED{color:var(--warn)}.act.DISCOVERED,.act.UNKNOWN{color:var(--info)}@media(max-width:700px){.lc{grid-template-columns:1fr}}.modal-back{position:fixed;inset:0;background:#0a0f1673;display:grid;place-items:center;z-index:50;padding:16px}.modal{background:var(--panel);border:1px solid var(--line);border-radius:8px;width:min(560px,100%);max-height:90vh;overflow:auto;padding:20px}.modal h2{margin-bottom:12px}.statusbar{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-2)}.search-pop{position:absolute;top:38px;left:0;width:min(460px,90vw);background:var(--panel);border:1px solid var(--line);border-radius:6px;box-shadow:0 8px 28px #00000029;z-index:40;max-height:60vh;overflow:auto}.search-pop a{display:flex;gap:8px;padding:7px 12px;color:var(--ink);border-bottom:1px solid var(--line-2)}.search-pop a:hover{background:var(--panel-2);text-decoration:none}button.linklike{background:none;border:0;padding:0;color:var(--accent-2);cursor:pointer;font:inherit;text-align:left}button.linklike:hover{text-decoration:underline}td code,.nowrap,table.t td:first-child,table.t td:first-child a{white-space:nowrap}.sso-list{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.sso-btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 14px;border-radius:6px;font-weight:600;font-size:14px;text-decoration:none;border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer}.sso-btn.entra{background:#2f2f2f;border-color:#2f2f2f;color:#fff}.sso-btn.entra:hover{background:#111}.sso-btn.keycloak{background:#0d3b66;border-color:#0d3b66;color:#fff}.sso-btn.keycloak:hover{background:#082a49}.sso-btn.off,.sso-btn.off:hover{background:var(--panel-2);border:1px dashed var(--line);color:var(--ink-3);cursor:not-allowed}.sso-btn small{font-weight:400;font-size:11px;margin-left:4px}.sso-or{display:flex;align-items:center;gap:10px;color:var(--ink-3);font-size:12px;margin-top:6px}.sso-or:before,.sso-or:after{content:"";flex:1;border-top:1px solid var(--line)}.badges{display:inline-flex;flex-wrap:wrap;gap:4px}.checks{display:flex;flex-direction:column;gap:8px}.check{display:flex;gap:10px;align-items:flex-start;padding:6px 8px;border-radius:6px}.check .mark{flex:none;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;color:#fff;background:var(--ok)}.check.fail.warning .mark{background:var(--warn)}.check.fail.critical .mark{background:var(--err)}.check.fail.info .mark{background:var(--accent-2)}.check.fail{background:var(--panel-2)}.timeline{display:flex;flex-direction:column;gap:4px}.tl-row{display:grid;grid-template-columns:minmax(140px,220px) 1fr minmax(200px,280px);gap:12px;align-items:center;padding:4px 6px;border-radius:5px;color:inherit;text-decoration:none}.tl-row:hover{background:var(--panel-2)}.tl-row.sel{background:var(--panel-2);outline:1px solid var(--accent-2)}.tl-tag{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.tl-bar{position:relative;height:10px;background:var(--line-2);border-radius:5px}.tl-bar i{position:absolute;top:0;bottom:0;background:var(--accent-2);border-radius:5px}.tl-axis{display:flex;justify-content:space-between;margin-left:calc(min(220px,30%) + 12px);margin-right:292px}@media(max-width:800px){.tl-row{grid-template-columns:1fr}.tl-axis{display:none}}
