.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px;opacity:0}.react-grid-item:hover>.react-resizable-handle{opacity:1}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e,.react-grid-item>.react-resizable-handle.react-resizable-handle-w{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}:root{color-scheme:dark;--bg:#121212;--surface:#1a1a1a;--border:#2e2e2e;--text:#f2f2f2;--text-2:#c1c1c1;--muted:#8e8e8e;--good:#4cc26b;--warning:#f2b33d;--critical:#ff7a66;--unknown:#a3a3a3;--card-good-bg:#1a1a1a;--card-good-border:#2e2e2e;--card-warning-bg:#2b230c;--card-warning-border:#a07a18;--card-critical-bg:#34150f;--card-critical-border:#c44a36;--card-unknown-bg:#1c1c1c;--card-unknown-border:#474747;--pill-good-bg:#4cc26b;--pill-good-text:#0e1a12;--pill-warning-bg:#f2b33d;--pill-warning-text:#1a1300;--pill-critical-bg:#ff7a66;--pill-critical-text:#1f0a06;--pill-unknown-bg:#a3a3a3;--pill-unknown-text:#121212;font-family:system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text)}body,h1{margin:0}h1{font-size:18px}.muted{color:var(--muted);margin:0}.topbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:16px 16px 8px}button{background:transparent;color:var(--text-2);border:1px solid var(--border);border-radius:6px;padding:6px 12px;font:inherit;cursor:pointer}button:hover{color:var(--text)}button[aria-pressed=true]{background:var(--surface);color:var(--text);border-color:var(--text-2)}:focus-visible{outline:2px solid var(--text);outline-offset:2px}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;padding:0 16px;font-size:14px}.toolbar button{-webkit-user-select:none;-moz-user-select:none;user-select:none}.toolbar-end{margin-left:auto;display:flex;gap:8px}.seg{display:inline-grid;grid-auto-flow:column;grid-auto-columns:1fr}.seg button{border-radius:0;margin-left:-1px;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:6px}.seg button:first-child{border-radius:6px 0 0 6px;margin-left:0}.seg button:last-child{border-radius:0 6px 6px 0}.seg button[aria-pressed=true]{position:relative;z-index:1}.seg button:focus-visible{z-index:2}.env-dot{width:8px;height:8px;border-radius:50%;background:var(--env);flex-shrink:0}.search{position:relative;display:flex;align-items:center}.search input{width:220px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:6px 30px 6px 10px;font:inherit}.search input::placeholder{color:var(--muted)}.search input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}.search-clear,.search-key{position:absolute;right:6px}.search-key{color:var(--muted);border:1px solid var(--border);border-radius:4px;padding:0 5px;font-size:12px;line-height:16px;font-family:inherit;pointer-events:none}.search input:focus+.search-key{display:none}.search-clear{border:0;padding:0 6px;font-size:18px;line-height:1}.favorites-toggle,.menu-button{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.menu-button[aria-expanded=true]{color:var(--text);border-color:var(--text-2)}.menu-caret{font-size:10px;color:var(--muted)}.menu{position:absolute;top:0;left:0;z-index:100;min-width:180px;max-width:calc(100vw - 16px);display:flex;flex-direction:column;padding:4px;font-size:14px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px rgb(0 0 0/.5)}.menu-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;white-space:nowrap;border:0;border-radius:4px;padding:6px 10px;color:var(--text)}.menu-item:focus,.menu-item:hover{background:rgb(255 255 255/.08);outline:none}.menu-item:focus-visible{outline:2px solid var(--text);outline-offset:-2px}.menu-item[aria-disabled=true],.menu-item[aria-disabled=true]:hover{color:var(--muted);cursor:default}.menu-item.is-armed,.menu-item.is-failed{color:var(--warning)}.menu-check{width:12px;flex-shrink:0}.menu-separator{height:1px;margin:4px 0;background:var(--border)}.hidden-env{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--env)}.hidden-title{flex:1 1;margin-right:12px}.match-line{margin:0;padding:8px 16px;min-height:36px;font-size:13px;color:var(--text-2)}.link-button{border:0;padding:0;color:var(--text);text-decoration:underline;font-size:inherit}.headline{margin:0;padding:0 16px 14px;font-size:15px;font-weight:600;overflow-wrap:anywhere}.headline-good{color:var(--good)}.headline-warning{color:var(--warning)}.headline-critical{color:var(--critical)}.headline-unknown{color:var(--unknown)}.grid-host{padding:0 16px calc(3 * 88px)}.grid{position:relative}.grid-host[data-dragging] .grid:before{content:"";position:absolute;left:0;top:0;width:100%;height:calc(100% + 3 * 88px);pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='88'%3E%3Crect x='0.5' y='0.5' width='79' height='79' rx='6' fill='white' fill-opacity='0.03' stroke='white' stroke-opacity='0.07'/%3E%3C/svg%3E");background-size:88px 88px}.cell{min-width:0}.cell.is-dimmed{opacity:.3;filter:grayscale(.85)}.cell.is-dimmed:hover{opacity:.75}.react-grid-item.cell.cssTransforms{transition-property:transform,width,height,opacity,filter;transition-duration:.2s,.2s,.2s,.15s,.15s}.react-grid-item.cell.react-draggable-dragging{transition:none}.grid-host[data-drag-off] .card-head{cursor:default}.grid-host:not([data-ready]) .grid{visibility:hidden}.grid-host:not([data-ready]) .grid,.grid-host:not([data-ready]) .react-grid-item.cell{transition:none}.react-grid-item.react-grid-placeholder{background:var(--text-2);opacity:.15;border-radius:8px}.react-grid-item.react-draggable-dragging .card{box-shadow:0 8px 24px rgb(0 0 0/.5)}.card{position:relative;height:100%;display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1px solid;border-radius:8px;min-width:0;overflow:hidden;color:var(--text);container-type:inline-size}.card-good{background:var(--card-good-bg);border-color:var(--card-good-border)}.card-warning{background:var(--card-warning-bg);border-color:var(--card-warning-border)}.card-critical{background:var(--card-critical-bg);border-color:var(--card-critical-border)}.card-unknown{background:var(--card-unknown-bg);border-color:var(--card-unknown-border)}.card-head{display:flex;align-items:center;gap:8px;min-width:0;margin:0 -12px;padding:0 12px 6px;font-size:14px;font-weight:600;cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-bottom:1px solid rgb(255 255 255/.06)}.react-draggable-dragging .card-head{cursor:-webkit-grabbing;cursor:grabbing}.card-title{flex:1 1;white-space:nowrap}.env-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--env);white-space:nowrap}.env-short{display:none}.fav-mark{font-size:12px;line-height:1;color:var(--text);margin-left:-4px}@container (max-width: 300px){.card-head{flex-wrap:wrap;row-gap:2px}.env-label{order:1}.fav-mark{order:2}.pill{order:3;margin-left:auto}.card-head:after{content:"";order:4;flex-basis:100%}.card-title{order:5}.card-more{order:6}}@container (max-width: 200px){.env-long{display:none}.env-short{display:inline}}.pill{display:inline-flex;gap:4px;align-items:center;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:700;line-height:16px;white-space:nowrap;flex-shrink:0}.pill-good{background:var(--pill-good-bg);color:var(--pill-good-text)}.pill-warning{background:var(--pill-warning-bg);color:var(--pill-warning-text)}.pill-critical{background:var(--pill-critical-bg);color:var(--pill-critical-text)}.pill-unknown{background:var(--pill-unknown-bg);color:var(--pill-unknown-text)}.card-action{display:inline-flex;align-items:center;justify-content:center;width:24px;height:22px;padding:0;border:0;border-radius:4px;flex-shrink:0;font-size:16px;line-height:1;opacity:.35}.card-action:hover,.card-action[aria-expanded=true]{background:rgb(255 255 255/.08)}.card-action[aria-expanded=true],.card:focus-within .card-action,.card:hover .card-action{opacity:1}@media (hover:none){.card-action{opacity:1}}.card-action.is-busy{opacity:1;animation:busy-pulse 1.2s ease-in-out infinite}.card-action.is-failed{opacity:1;color:var(--warning)}@keyframes busy-pulse{0%,to{opacity:1}50%{opacity:.35}}.card-age{position:absolute;right:8px;bottom:6px;padding:1px 4px;border-radius:4px;display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--muted);background:inherit;pointer-events:none;opacity:0}.card-age .card-refresh{pointer-events:auto;width:20px;height:18px;font-size:13px}.card:focus-within .card-age,.card:hover .card-age{opacity:1}@media (hover:none){.card-age{opacity:1}}.card-reason~.card-body .spare-line{display:none}.card-reason{margin:-4px 0;font-size:13px;font-weight:600}.card-reason span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reason-good{color:var(--good)}.reason-warning{color:var(--warning)}.reason-critical{color:var(--critical)}.reason-unknown{color:var(--unknown)}.card-body{display:flex;flex-direction:column;gap:4px;min-height:0;flex:1 1;overflow:hidden}.scroll-list{flex:1 1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.scroll-list thead th{position:-webkit-sticky;position:sticky;top:0;z-index:1}.card-good .scroll-list thead th{background:var(--card-good-bg)}.card-warning .scroll-list thead th{background:var(--card-warning-bg)}.card-critical .scroll-list thead th{background:var(--card-critical-bg)}.card-unknown .scroll-list thead th{background:var(--card-unknown-bg)}.card-foot{align-items:center;margin-top:auto;padding-right:100px}.card-foot,.card-links{display:flex;gap:4px 12px;min-width:0}.card-links{flex-wrap:wrap;font-size:12px;line-height:1.2}.card-settings{flex-shrink:0}.card-settings button{padding:0 6px;font-size:11px;line-height:16px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.card-settings button:hover,.card-settings button[aria-pressed=true]{color:var(--text)}.chart{transition:opacity .15s}.card:has(.card-settings[aria-busy=true]) .chart{opacity:.5}.chart-failed{color:var(--warning);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alarm-name,.card-links a{color:var(--text-2);text-decoration:none;white-space:nowrap}.card-links a{min-width:0;overflow:hidden;text-overflow:ellipsis}.alarm-name:hover,.card-links a:hover{color:var(--text);text-decoration:underline}.card-error-text{color:var(--critical);margin:0;overflow-wrap:anywhere}.badge{display:block;font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.badge-good{color:var(--good)}.badge-warning{color:var(--warning)}.badge-critical{color:var(--critical)}.badge-unknown{color:var(--unknown)}.metric{display:flex;gap:8px;align-items:baseline;min-width:0;font-size:13px}.metric-label{color:var(--text-2);white-space:nowrap}.metric-value{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric-row{display:flex;gap:16px;flex-wrap:wrap}.stat-line{margin:0;font-size:13px}.hero{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.hero-value{font-size:36px;line-height:1;font-weight:600}.hero-label{color:var(--text-2);font-size:14px}.chart{position:relative;margin:0;width:100%;min-width:0}.chart svg{display:block;overflow:visible;outline:none}.chart svg:focus-visible{outline:2px solid var(--text);outline-offset:2px;border-radius:4px}.chart-grid{stroke:rgb(255 255 255/.08);stroke-width:1}.chart-axis{stroke:rgb(255 255 255/.2);stroke-width:1}.chart-tick{fill:var(--muted);font-size:10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chart-bar{fill:var(--env)}.chart-bar.is-hover{fill:var(--text)}.chart-line{fill:none;stroke:var(--env);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.chart-area{fill:var(--env);opacity:.12}.chart-crosshair{stroke:var(--text-2);stroke-width:1}.chart-dot{fill:var(--env);stroke:var(--surface);stroke-width:2}.chart-tip{position:absolute;transform:translate(-50%);pointer-events:none;white-space:nowrap;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:2px 6px}.chart-empty,.chart-tip{font-size:12px}.chart figcaption{font-size:11px;color:var(--muted);margin-top:2px}.facts{display:grid;grid-template-columns:auto 1fr;grid-gap:2px 12px;gap:2px 12px;margin:0;font-size:13px}.facts dt{color:var(--text-2)}.facts dd{margin:0;overflow-wrap:anywhere;min-width:0}.recent{width:100%;border-collapse:collapse;font-size:12px;line-height:1.2}.recent th{text-align:left;color:var(--muted);font-weight:500}.recent td,.recent th{padding:2px 6px 2px 0;border-top:1px solid rgb(255 255 255/.08);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.recent .signed-in{min-width:150px;max-width:none}.recent .suffix,.recent .then-none{color:var(--muted)}.alarm-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:13px}.alarm-name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alarm-list small{display:block;color:var(--muted);overflow-wrap:anywhere}.backup-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:6fr 5fr minmax(58px,auto);grid-column-gap:10px;column-gap:10px;grid-row-gap:2px;row-gap:2px;font-size:13px;line-height:1.25;align-items:baseline}.backup-list li{display:contents}.backup-list a{min-width:0;color:var(--text-2);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.backup-list a:hover{color:var(--text);text-decoration:underline}.backup-age{min-width:0;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.backup-footer-row{margin-top:0}.backup-probe{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.signin{align-items:flex-start;gap:16px;padding:48px 16px;max-width:420px;margin:0 auto}.instance-list,.signin{display:flex;flex-direction:column}.instance-list{list-style:none;margin:0;padding:0;gap:3px;font-size:13px}.instance-list li{display:flex;justify-content:space-between;align-items:baseline;gap:10px;min-width:0}.instance-list a{min-width:0;color:var(--text-2);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.instance-list a:hover{color:var(--text);text-decoration:underline}