:root{--ok:#3b82f6;--warn:#f59e0b;--crit:#ef4444;--maint:#22d3ee;--unknown:#94a3b8;--radius:14px;--gap:16px;--maxw:1100px;font-synthesis:none;-webkit-text-size-adjust:100%}:root[data-theme=dark]{--bg:#0b1220;--bg-soft:#111a2e;--card:#16223b;--card-2:#1c2a48;--border:#36496c;--text:#e7edf7;--muted:#93a3bd;--brand:#6ea8fe;--shadow:0 8px 30px #00000059}:root[data-theme=light]{--bg:#f4f6fb;--bg-soft:#eef1f8;--card:#fff;--card-2:#f7f9fe;--border:#dde3ee;--text:#1a2336;--muted:#5b6b86;--brand:#2563eb;--shadow:0 8px 24px #14235014}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:radial-gradient(1200px 600px at 80% -10%,var(--bg-soft),var(--bg));color:var(--text);-webkit-hyphenate-limit-after:6;-webkit-hyphenate-limit-before:4;-ms-hyphenate-limit-chars:10 4 6;hyphenate-limit-chars:10 4 6;hyphens:auto;overflow-wrap:break-word;text-wrap:balance;-ms-word-break:break-all;word-break:break-word;word-wrap:break-word;min-height:100vh;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;line-height:1.5}label{cursor:pointer}#app{display:flex;flex-direction:column;min-height:100vh}a{color:var(--brand);text-decoration:none}h1{margin:0 0 .25rem;font-size:1.5rem}h2{margin:0 0 .75rem;font-size:1.1rem}h3{margin:1rem 0 .4rem;font-size:.95rem}.muted{color:var(--muted)}code{background:var(--card-2);border-radius:6px;padding:.1em .4em;font-size:.85em}.appbar{position:sticky;z-index:20;display:flex;background:color-mix(in srgb,var(--bg)82%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items: center;gap:12px;padding:10px 16px;top:0}.brand{display:flex;color:var(--text);align-items: center;gap:8px;font-weight:600}.brand__logo{font-size:1.3rem}.brand__name b{color:var(--brand)}.appbar__status{display:flex;color:var(--muted);border-radius:8px;align-items: center;gap:6px;margin-left:auto;padding:4px 8px;font-size:.85rem}.appbar__status:hover{background:var(--card);color:var(--text)}.appbar__nav{display:flex;align-items: center;gap:6px}.navlink{color:var(--muted);border-radius:9px;padding:6px 10px;font-size:.9rem}.navlink.is-active,.navlink:hover{background:var(--card);color:var(--text)}.btn{display:inline-flex;border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;border-radius:10px;align-items: center;gap:6px;padding:8px 14px;transition:all .15s;font-size:.9rem}.btn:hover{border-color:var(--brand)}.btn--primary{background:var(--brand);border-color:var(--brand);color:#05122b;font-weight:600}.btn--ghost{background:0 0}.btn--small{padding:5px 10px;font-size:.8rem}.btn--danger{color:var(--crit)}.btn--danger:hover{border-color:var(--crit)}.iconbtn{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:10px;padding:6px 8px;font-size:.95rem}.btn:disabled{cursor:default;opacity:.7}.btn.is-loading{color:var(--brand);border-color:var(--brand)}.page{max-width:var(--maxw);flex:1;width:100%;margin:0 auto;padding:18px 16px 40px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:var(--gap);box-shadow:var(--shadow);padding:18px}.card__head{display:flex;justify-content:space-between;align-items: center;gap:12px;margin-bottom:10px}.grid2{display:grid;gap:var(--gap)}.dot{display:inline-flex;box-shadow:0 0 0 4px color-mix(in srgb,currentColor 18%,transparent);border-radius:50%;flex:none;justify-content:center;align-items: center}.dot--sm{width:9px;height:9px}.dot--md{width:12px;height:12px}.dot--lg{width:16px;height:16px}.dot--ok{background:var(--ok);color:var(--ok)}.dot--warn{background:var(--warn);color:var(--warn)}.dot--crit{background:var(--crit);color:var(--crit)}.dot--maint{background:var(--maint);color:var(--maint)}.dot--unknown{background:var(--unknown);color:var(--unknown)}.dot__icon{color:#0b1220;font-weight:700;line-height:1}.dot--md .dot__icon{font-size:8px}.dot--lg .dot__icon{font-size:11px}.dot--sm .dot__icon{display:none}.overview{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px}.overview__stat{background:var(--card);border:1px solid var(--border);display:flex;color:var(--text);border-radius:12px;flex-direction:column;padding:12px 14px;transition:border-color .12s,transform .12s}.overview__stat:hover{border-color:var(--brand);transform:translateY(-2px)}.overview__stat.is-active{border-color:var(--brand);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand)40%,transparent)}.overview__stat b{font-size:1.6rem;line-height:1}.overview__stat span{color:var(--muted);margin-top:4px;font-size:.82rem}.overview__stat--ok b{color:var(--ok)}.overview__stat--warn b{color:var(--warn)}.overview__stat--crit b{color:var(--crit)}.tiles{display:grid;grid-template-columns:1fr;gap:12px}.tile{display:block;background:var(--card);border:1px solid var(--border);border-left:5px solid var(--unknown);color:var(--text);border-radius:12px;padding:14px 16px;transition:transform .12s,border-color .12s}.tile:hover{border-color:var(--brand);transform:translateY(-2px)}.tile--ok{border-left-color:var(--ok)}.tile--warn{border-left-color:var(--warn)}.tile--crit{border-left-color:var(--crit)}.tile--maint{border-left-color:var(--maint)}.tile__top{display:flex;align-items: center;gap:10px}.tile__name{margin:0;font-size:1.05rem}.tile__meta{display:flex;flex-wrap:wrap;align-items: center;gap:8px;margin-top:10px}.tile__since{color:var(--muted);margin-left:auto;font-size:.8rem}.badge{border:1px solid var(--border);border-radius:999px;padding:2px 8px;font-size:.72rem}.badge--crit{color:var(--crit);border-color:color-mix(in srgb,var(--crit)50%,var(--border))}.badge--warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn)50%,var(--border))}.badge--maint{color:var(--maint);border-color:color-mix(in srgb,var(--maint)50%,var(--border))}.chip{display:inline-block;background:var(--card-2);border:1px solid var(--border);border-radius:999px;padding:2px 10px;font-size:.82rem}.back{display:inline-block;color:var(--muted);margin-bottom:12px}.detail__head{border-top:4px solid var(--unknown)}.detail__head.status-ok{border-top-color:var(--ok)}.detail__head.status-warn{border-top-color:var(--warn)}.detail__head.status-crit{border-top-color:var(--crit)}.detail__head.status-maint{border-top-color:var(--maint)}.detail__title{display:flex;align-items: center;gap:12px}.detail__title h1{margin:0}.detail__facts{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px}.detail__facts>div{display:flex;flex-direction:column}.detail__facts span{font-size:.78rem}.detail__facts b{font-size:.98rem}.detail__facts .fact--muted{opacity:.4}.factlink{color:var(--brand);font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;margin:0;padding:0;font-size:.98rem;font-weight:600}.factlink:hover{text-decoration:underline}.incident-anchor{display:inline-flex;background:var(--card-2);border:1px solid var(--border);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;align-items: center;gap:6px;margin-top:14px;padding:6px 14px;font-size:.88rem}.incident-anchor:hover{border-color:var(--brand)}.incident-anchor--active{color:var(--crit);border-color:color-mix(in srgb,var(--crit)50%,var(--border));font-weight:600}.hint{display:block;margin-top:5px;font-size:.78rem;line-height:1.4}.export-bar{display:flex;flex-wrap:wrap;align-items: flex-end;gap:10px;margin-bottom:14px}.contact{border-bottom:1px solid var(--border);padding:8px 0}.contact:last-child{border-bottom:none}.contact__links{display:flex;flex-wrap:wrap;gap:14px;margin-top:4px;font-size:.9rem}.runbook{white-space:pre-wrap;background:var(--card-2);overflow-x:auto;border-radius:10px;padding:12px;font-size:.85rem}.rows{display:flex;flex-direction:column;gap:10px}.rows--compact{gap:6px}.row{background:var(--card-2);border:1px solid var(--border);display:flex;border-radius:12px;flex-direction:column;gap:6px;padding:12px 14px}.row__head{display:flex;flex-wrap:wrap;align-items: center;gap:8px;font-size:.98rem}.row__head__path{background-color:var(--maint);color:#000;font-family:monospace}.row__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.targets-toolbar{display:flex;justify-content:space-between;align-items: center;gap:10px;margin-bottom:10px}.target-cols-label{display:flex;color:var(--muted);white-space:nowrap;align-items: center;gap:6px;font-size:.85rem}.target-cols-label input[type=range]{accent-color:var(--brand);cursor:pointer;width:80px}#target-cols-value{font-variant-numeric:tabular-nums;min-width:1ch}.rows--grid{display:grid;grid-template-columns:repeat(var(--target-cols,2),minmax(0,1fr));align-items: start;gap:10px}.rows--grid>details.row{min-width:0}@media (max-width:720px){.rows--grid{grid-template-columns:1fr}}details.row{gap:0;padding:0}details.row>summary.row__head{cursor:pointer;list-style:none;user-select:none;border-radius:12px;padding:12px 14px}details.row>summary.row__head::-webkit-details-marker{display:none}details.row[open]>summary.row__head:before{transform:rotate(90deg)}details.row>summary.row__head:hover{background:color-mix(in srgb,var(--brand)8%,transparent)}details.row[open]>summary.row__head{border-bottom:1px solid var(--border);border-radius:12px 12px 0 0}.row__body{display:flex;flex-direction:column;gap:6px;padding:12px 14px}.cell{display:flex;align-items:baseline;gap:10px;font-size:.88rem}.cell__label{color:var(--muted);flex:none;min-width:110px;font-size:.78rem}.cell__val{word-break:break-word;flex:1}.row.is-resolved{opacity:.55}.details-json{background:var(--panel,#7f7f7f14);border:1px solid var(--border,#7f7f7f40);white-space:pre-wrap;word-break:break-word;overflow-x:auto;border-radius:6px;margin:0;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem;line-height:1.4}.cell--bars,.cell--norm{align-items: center}.normbars{display:flex;flex-direction:column;flex:1;gap:3px;min-width:0}.normbar{text-align:center;font-variant-numeric:tabular-nums;color:#04121f;border-radius:4px;flex:none;min-width:0;padding:4px 6px;font-size:.72rem;font-weight:600}.normbar--ok{background:var(--ok)}.normbar--warn{background:var(--warn)}.normbar--crit{background:var(--crit)}.bars{display:flex;flex-wrap:nowrap;align-items: flex-end;gap:2px;width:100%}.bars--empty{font-size:.8rem}.bar{background:var(--unknown);cursor:pointer;border-radius:2px;flex:1 1 0;min-width:2px;max-width:24px;height:48px}.bar:hover{transform:scaleY(1.05)}.bar--ok{background:var(--ok)}.bar--warn{background:var(--warn)}.bar--crit{background:var(--crit)}.bar--maint{background:var(--maint)}.bar--unknown{background:var(--unknown)}.range-tabs{display:flex;flex-wrap:wrap;gap:4px}.range-tabs .tab{padding:4px 10px;font-size:.78rem}.cell--chart{display:block}.cell--chart .cell__label{display:block;margin-bottom:4px}.ag-chart{width:100%;min-height:180px}.ag-strip{overflow-x:auto;-webkit-overflow-scrolling:touch;flex:1;min-width:0}.ag-strip__chart{min-width:100%;min-height:46px}.chart-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.chart{display:block;width:100%;min-width:520px;height:auto}.chart--empty{padding:18px 0;font-size:.85rem}.chart__frame{stroke:var(--border);stroke-width:1}.chart__axis{fill:var(--muted);font-size:9px}.chart__axis--unit{font-size:8px}.chart__line{fill:none;stroke:var(--brand);stroke-width:1.5}.chart__dot{fill:transparent;pointer-events:all;cursor:pointer}.chart__marker{fill:var(--brand);pointer-events:none}.chart__marker--ok{fill:var(--ok)}.chart__marker--warn{fill:var(--warn)}.chart__marker--crit{fill:var(--crit)}.chart__marker--maint{fill:var(--maint)}.chart__marker--unknown{fill:var(--unknown)}.chart__thresh{stroke-width:1;stroke-dasharray:4 3;opacity:.55}.chart__thresh.is-warn{stroke:var(--warn)}.chart__thresh.is-crit{stroke:var(--crit)}.chart__thresh-label{font-size:8px}.chart__thresh-label.is-warn{fill:var(--warn)}.chart__thresh-label.is-crit{fill:var(--crit)}@keyframes row-flash{0%{border-color:var(--brand);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand)45%,transparent)}to{border-color:var(--border);box-shadow:none}}.row--flash{animation:1.4s ease-out row-flash}@media (prefers-reduced-motion:reduce){.row--flash{animation:none}}.doc h3{margin-top:16px}.schema{list-style:none;display:flex;flex-direction:column;gap:6px;margin:6px 0;padding:0}.schema li{display:flex;flex-wrap:wrap;align-items: center;gap:8px;font-size:.88rem}.tag{border:1px solid var(--border);text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:1px 7px;font-size:.68rem}.tag--req{color:var(--crit);border-color:color-mix(in srgb,var(--crit)50%,var(--border))}.tag--opt{color:var(--muted)}.ingest-builder{display:flex;flex-wrap:wrap;align-items: flex-end;gap:10px;margin:6px 0 10px}.ingest-builder .field{flex:1;min-width:160px;margin-bottom:0}.doc__example{display:flex;flex-direction:column;align-items: flex-start;gap:8px}.doc__example .runbook{width:100%;margin:0}.alert{border:1px solid var(--border);border-radius:10px;margin:10px 0;padding:10px 14px;font-size:.9rem}.alert--error{color:var(--crit);border-color:color-mix(in srgb,var(--crit)45%,var(--border));background:color-mix(in srgb,var(--crit)10%,transparent)}.alert--ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok)45%,var(--border));background:color-mix(in srgb,var(--ok)10%,transparent)}.alert--maint{color:var(--maint);border-color:color-mix(in srgb,var(--maint)45%,var(--border));background:color-mix(in srgb,var(--maint)10%,transparent);margin-top:14px}.toasts{position:fixed;z-index:1000;display:flex;pointer-events:none;flex-direction:column;align-items:stretch;gap:8px;width:min(360px,100vw - 32px);bottom:16px;right:16px}.toasts__list{display:flex;overflow-y:auto;pointer-events:auto;flex-direction:column;gap:10px;max-height:calc(100vh - 88px);margin:-2px;padding:2px}.toasts__close-all{pointer-events:auto;background:var(--card);border:1px solid var(--border);color:var(--muted);cursor:pointer;font:inherit;box-shadow:var(--shadow);border-radius:10px;align-self: flex-end;padding:6px 12px;font-size:.82rem;font-weight:600}.toasts__close-all:hover{color:var(--text)}.toasts__close-all:focus-visible{outline:2px solid color-mix(in srgb,var(--brand)60%,transparent);outline-offset:1px}.toast{pointer-events:auto;display:flex;background:var(--card);border:1px solid var(--border);border-left:4px solid var(--unknown);box-shadow:var(--shadow);animation:.18s ease-out toast-in;border-radius:12px;align-items: flex-start;gap:10px;padding:12px 12px 12px 14px}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.toast--ok{border-left-color:var(--ok)}.toast--error,.toast--warn{border-left-color:var(--warn)}.toast--crit{border-left-color:var(--crit)}.toast--info{border-left-color:var(--brand)}.toast__icon{flex:none;font-size:1rem;line-height:1.4}.toast__content{flex:1;min-width:0}.toast__title{display:block;margin-bottom:2px;font-size:.9rem}.toast__msg{color:var(--text);word-break:break-word;font-size:.86rem}.toast__link{display:inline-block;margin-top:6px;font-size:.82rem;font-weight:600}.toast__close{color:var(--muted);cursor:pointer;background:0 0;border:none;flex:none;padding:0 2px;font-size:.95rem;line-height:1}.toast__close:hover{color:var(--text)}dialog.modal{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);color:var(--text);box-shadow:var(--shadow);overflow:auto;animation:.16s ease-out toast-in;width:min(560px,100vw - 32px);max-height:85vh;padding:0}dialog.modal::backdrop{backdrop-filter:blur(2px);background:#03081499}.modal__head{display:flex;border-bottom:1px solid var(--border);justify-content:space-between;align-items: center;gap:12px;padding:16px 18px}.modal__head h2{margin:0}.modal__close{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:1.1rem;line-height:1}.modal__close:hover{color:var(--text)}.modal__body{padding:18px;font-size:.9rem}.modal__body p{margin:0 0 10px}.modal__body ul{margin:0 0 10px;padding-left:18px}.modal__body li{margin:3px 0}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.field.field--inline{margin-bottom:0}.field.field--inline input{padding:6px 9px}.field>span,.field>legend{color:var(--muted);font-size:.82rem}input,select,textarea{background:var(--card-2);border:1px solid var(--border);color:var(--text);font:inherit;border-radius:9px;width:100%;padding:9px 11px}input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb,var(--brand)60%,transparent);outline-offset:1px}textarea{resize:vertical}fieldset{border:1px solid var(--border);border-radius:10px;padding:10px 12px}.check{display:inline-flex;align-items: center;gap:6px;margin-right:14px;font-size:.9rem}.check input{width:auto}.form-actions{display:flex;gap:10px;margin-top:8px}.inline-form{display:flex;flex-wrap:wrap;gap:10px}.inline-form input{flex:1;min-width:180px}.grid-form{display:grid;grid-template-columns:1fr;gap:10px}input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.targets{display:flex;flex-direction:column;gap:24px;margin:8px 0 16px}.target-row{display:flex;border:3px dashed var(--border);border-radius:10px;align-items: flex-start;gap:8px;padding:10px 12px;transition:all .1s linear}.target-row:hover{background-color:var(--card-2)}.targets{position:relative}.targets .target-row{box-sizing:border-box;width:100%;margin:0 0 12px}.tr-handle{cursor:grab;user-select:none;color:var(--muted);touch-action:none;flex:none;align-self: center;padding:4px 2px;font-size:1.1rem;line-height:1}.tr-handle:active{cursor:grabbing}.tr-handle:focus-visible{outline:2px solid var(--brand);border-radius:4px}.target-row.is-dragging{opacity:.9;z-index:2;box-shadow:0 6px 18px #00000059}.tr-text{flex:1;margin:0;line-height:2.5}.tr-in{field-sizing:content;font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);vertical-align:middle;box-sizing:border-box;border-radius:6px;width:auto;min-width:3ch;max-width:100%;height:32px;padding:0 8px;font-size:.92rem}select.tr-in{max-width:100%;padding-right:4px}.tr-in--url{min-width:12ch}.tr-urls-btn{cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:40ch}.tr-urls-btn:hover{border-color:var(--brand)}.tr-urls-btn:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.modal__body textarea{box-sizing:border-box;width:100%;min-height:8em;font-family:inherit}.tr-in--keyword{min-width:6ch}.tr-in--interval,.tr-in--warn,.tr-in--crit,.tr-in--status,.tr-in--timeout,.tr-in--confirm,.tr-in--expiry{text-align:right}.tabs{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}.tab{border:1px solid var(--border);background:var(--card);color:var(--muted);cursor:pointer;border-radius:999px;padding:7px 14px;font-size:.85rem}.tab.is-active{background:var(--brand);border-color:var(--brand);color:#05122b;font-weight:600}.tab:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.admin__body:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.copyable{user-select:all}.key-reveal{background:var(--card-2);border:1px solid var(--border);border-radius:8px;margin:4px 0 14px;padding:12px}.key-reveal code{display:block;word-break:break-all;background:0 0;padding:0;font-size:1rem}.login{display:grid;flex:1;place-items: center;padding:24px 16px}.login__card{width:100%;max-width:380px;margin:0}.login__brand{margin-bottom:6px;font-size:1.25rem;font-weight:600}.login__brand b{color:var(--brand)}.login__hint{color:var(--muted);margin-bottom:14px;font-size:.88rem}.login__submit{justify-content:center;width:100%;margin-top:4px}.login__demo{color:var(--muted);text-align:center;margin-top:12px;font-size:.8rem}.login__version{color:var(--muted);text-align:center;margin:12px 0 0;font-size:.75rem}.appfoot{border-top:1px solid var(--border);color:var(--muted);display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding:14px 16px;font-size:.8rem}.appfoot__sep{opacity:.5}.appfoot__version{color:var(--muted);opacity:.8}@media (min-width:640px){.overview{grid-template-columns:repeat(4,1fr)}.tiles{grid-template-columns:repeat(2,1fr)}.detail__facts{grid-template-columns:repeat(4,1fr)}.grid-form{grid-template-columns:repeat(2,1fr)}.normbars{flex-flow:wrap}.normbar{flex:1 0 auto}}@media (min-width:920px){.tiles{grid-template-columns:repeat(3,1fr)}.grid2{grid-template-columns:1fr 1fr}}
