.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;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;-ms-user-select:none;-o-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}.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-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{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)}.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}html,body,#root{height:100%;margin:0}body{background:var(--itr-bg);color:var(--itr-text);font-family:var(--itr-font-sans);font-size:var(--itr-font-size);line-height:1.5;overscroll-behavior:none}:root[data-mode=dark]{color-scheme:dark}:root[data-mode=light]{color-scheme:light}h1,h2,h3,h4,h5,h6{margin:0;font-weight:620;letter-spacing:-.011em;line-height:1.25}p{margin:0}a{color:var(--itr-primary);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}:focus{outline:none}:focus-visible{outline:none;box-shadow:var(--itr-focus-ring);border-radius:var(--itr-radius-sm)}::selection{background:color-mix(in srgb,var(--itr-primary) 26%,transparent)}*{scrollbar-width:thin;scrollbar-color:var(--itr-border-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--itr-border-strong);border:3px solid transparent;border-radius:999px;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--itr-text-subtle);background-clip:content-box;border:3px solid transparent}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.shell{display:grid;grid-template-columns:auto 1fr;height:100dvh;overflow:hidden}.sidebar{display:flex;flex-direction:column;width:248px;background:var(--itr-surface);border-right:var(--itr-border-w) solid var(--itr-border);transition:width var(--itr-motion) cubic-bezier(.2,0,0,1);overflow:hidden}.sidebar[data-collapsed=true]{width:64px}.sidebar-brand{display:flex;align-items:center;gap:10px;height:56px;padding:0 16px;flex-shrink:0;border-bottom:var(--itr-border-w) solid var(--itr-border)}.sidebar-brand-mark{display:grid;place-items:center;width:30px;height:30px;flex-shrink:0;border-radius:var(--itr-radius-sm);background:var(--itr-primary);color:var(--itr-primary-text);font-weight:700;font-size:13px;letter-spacing:-.03em}.sidebar-brand-name{font-weight:640;font-size:14px;letter-spacing:-.012em;white-space:nowrap;overflow:hidden}.sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:10px 8px 16px}.nav-section{margin-top:14px}.nav-section:first-child{margin-top:0}.nav-section-label{padding:6px 10px 4px;font-size:10.5px;font-weight:650;letter-spacing:.07em;text-transform:uppercase;color:var(--itr-text-subtle);white-space:nowrap}.sidebar[data-collapsed=true] .nav-section-label{opacity:0;height:8px;padding:0}.nav-item{position:relative;display:flex;align-items:center;gap:10px;height:var(--itr-row-h);padding:0 10px;margin-bottom:1px;border-radius:var(--itr-radius-sm);color:var(--itr-text-muted);font-size:13.5px;font-weight:500;white-space:nowrap;cursor:pointer;transition:background var(--itr-motion),color var(--itr-motion)}.nav-item:hover{background:var(--itr-surface-sunken);color:var(--itr-text);text-decoration:none}.nav-item[aria-current=page]{background:color-mix(in srgb,var(--itr-primary) 12%,transparent);color:var(--itr-primary);font-weight:580}.nav-item[aria-current=page]:before{content:"";position:absolute;left:-8px;top:50%;translate:0 -50%;width:3px;height:18px;border-radius:0 3px 3px 0;background:var(--itr-primary)}.nav-item svg{flex-shrink:0}.nav-item-label{overflow:hidden;text-overflow:ellipsis}.nav-item-badge{margin-left:auto;min-width:20px;height:18px;padding:0 6px;display:grid;place-items:center;border-radius:999px;background:var(--itr-critical);color:#fff;font-size:10.5px;font-weight:700;font-variant-numeric:tabular-nums}.main{display:flex;flex-direction:column;min-width:0;overflow:hidden}.topbar{display:flex;align-items:center;gap:12px;height:56px;padding:0 20px;flex-shrink:0;background:var(--itr-surface);border-bottom:var(--itr-border-w) solid var(--itr-border)}.topbar-title{font-size:15px;font-weight:620;letter-spacing:-.012em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-spacer{flex:1}.content{flex:1;overflow-y:auto;padding:20px;scroll-behavior:smooth}.content-narrow{max-width:940px;margin:0 auto}.card{background:var(--itr-surface);border:var(--itr-border-w) solid var(--itr-border);border-radius:var(--itr-radius);overflow:hidden}.card-header{display:flex;align-items:center;gap:10px;padding:12px var(--itr-pad);border-bottom:var(--itr-border-w) solid var(--itr-border)}.card-title{font-size:13px;font-weight:620;letter-spacing:-.005em}.card-subtitle{font-size:12px;color:var(--itr-text-subtle)}.card-body{padding:var(--itr-pad)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:34px;padding:0 13px;border:var(--itr-border-w) solid var(--itr-border);border-radius:var(--itr-radius-sm);background:var(--itr-surface);color:var(--itr-text);font-size:13px;font-weight:550;white-space:nowrap;cursor:pointer;transition:background var(--itr-motion),border-color var(--itr-motion),transform var(--itr-motion)}.btn:hover{background:var(--itr-surface-sunken);border-color:var(--itr-border-strong)}.btn:active{transform:translateY(.5px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--itr-primary);border-color:var(--itr-primary);color:var(--itr-primary-text)}.btn-primary:hover{background:var(--itr-primary-hover);border-color:var(--itr-primary-hover)}.btn-danger{background:var(--itr-critical);border-color:var(--itr-critical);color:#fff}.btn-danger:hover{filter:brightness(1.08)}.btn-ghost{background:transparent;border-color:transparent}.btn-ghost:hover{background:var(--itr-surface-sunken);border-color:transparent}.btn-icon{width:34px;padding:0}.btn-sm{height:28px;padding:0 10px;font-size:12.5px}.input,.select,.textarea{width:100%;height:34px;padding:0 11px;border:var(--itr-border-w) solid var(--itr-border);border-radius:var(--itr-radius-sm);background:var(--itr-bg);color:var(--itr-text);font-size:13.5px;transition:border-color var(--itr-motion),box-shadow var(--itr-motion)}.textarea{height:auto;min-height:84px;padding:9px 11px;resize:vertical;line-height:1.55}.input:hover,.select:hover,.textarea:hover{border-color:var(--itr-border-strong)}.input:focus,.select:focus,.textarea:focus{border-color:var(--itr-primary);box-shadow:var(--itr-focus-ring)}.input::placeholder,.textarea::placeholder{color:var(--itr-text-subtle)}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.field-label{font-size:12.5px;font-weight:560;color:var(--itr-text-muted)}.field-help{font-size:12px;color:var(--itr-text-subtle);line-height:1.45}.field-error{font-size:12px;color:var(--itr-critical)}.health{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:550;text-transform:capitalize;white-space:nowrap}.health-dot{width:8px;height:8px;border-radius:999px;flex-shrink:0;background:var(--health-color)}.health[data-health=degraded] .health-dot{border-radius:2px;rotate:45deg}.health[data-health=down] .health-dot{border-radius:2px}.health[data-health=unknown] .health-dot{background:transparent;border:2px solid var(--health-color)}.health[data-health=maintenance] .health-dot{background:repeating-linear-gradient(45deg,var(--health-color) 0 2px,transparent 2px 4px)}.health[data-health=up]{color:var(--itr-text-muted)}.health[data-health=degraded]{color:var(--itr-warning)}.health[data-health=down]{color:var(--itr-critical)}.health[data-has-reason=true]{cursor:help;text-decoration:underline dotted currentColor 1px;text-underline-offset:3px}.health[data-has-reason=true][data-labelled=false]{text-decoration:none}.health[data-has-reason=true][data-labelled=false] .health-dot{box-shadow:0 0 0 2px var(--itr-surface),0 0 0 3px var(--health-color)}.health-tooltip{max-width:260px;white-space:pre-line;color:var(--itr-text)}.health-tooltip-title{text-transform:capitalize}.health-tooltip[data-interactive=true]{pointer-events:auto;white-space:normal;max-width:320px}.notice-list{display:flex;flex-direction:column;gap:6px}.notice-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.notice-row[data-ignored=true] .notice-text{color:var(--itr-text-subtle);text-decoration:line-through}.notice-row .btn{flex-shrink:0}.health[data-health=down] .health-dot{animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.badge{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 8px;border-radius:999px;background:var(--itr-surface-sunken);border:var(--itr-border-w) solid var(--itr-border);color:var(--itr-text-muted);font-size:11.5px;font-weight:560;white-space:nowrap}.badge[data-intent=bad]{background:color-mix(in srgb,var(--itr-critical) 14%,transparent);border-color:color-mix(in srgb,var(--itr-critical) 34%,transparent);color:var(--itr-critical)}.badge[data-intent=warn]{background:color-mix(in srgb,var(--itr-warning) 18%,transparent);border-color:color-mix(in srgb,var(--itr-warning) 40%,transparent);color:color-mix(in srgb,var(--itr-warning) 78%,var(--itr-text))}.badge[data-intent=good]{background:color-mix(in srgb,var(--itr-success) 14%,transparent);border-color:color-mix(in srgb,var(--itr-success) 34%,transparent);color:var(--itr-success)}.badge[data-intent=info]{background:color-mix(in srgb,var(--itr-info) 14%,transparent);border-color:color-mix(in srgb,var(--itr-info) 34%,transparent);color:var(--itr-info)}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{position:sticky;top:0;z-index:1;padding:8px 12px;background:var(--itr-surface);border-bottom:var(--itr-border-w) solid var(--itr-border);text-align:left;font-size:11.5px;font-weight:620;letter-spacing:.02em;color:var(--itr-text-subtle);text-transform:uppercase;white-space:nowrap}.table td{padding:9px 12px;border-bottom:var(--itr-border-w) solid var(--itr-border);vertical-align:middle}.table tbody tr{transition:background var(--itr-motion)}.table tbody tr:hover{background:var(--itr-surface-sunken)}.table tbody tr[data-clickable=true]{cursor:pointer}.table tbody tr:last-child td{border-bottom:none}.table td[data-align=right],.table th[data-align=right]{text-align:right;font-variant-numeric:tabular-nums}.table td[data-align=center],.table th[data-align=center]{text-align:center}.select-cell{display:inline-flex;align-items:center;justify-content:center;padding:10px;margin:-10px;border-radius:var(--itr-radius-sm);cursor:pointer}.select-cell:hover{background:color-mix(in srgb,var(--itr-primary) 10%,transparent)}.select-cell input[type=checkbox]{width:15px;height:15px;cursor:pointer}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:48px 24px;text-align:center;color:var(--itr-text-subtle)}.empty-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--itr-radius);background:var(--itr-surface-sunken);color:var(--itr-text-subtle)}.empty-title{font-size:14px;font-weight:580;color:var(--itr-text-muted)}.empty-text{font-size:13px;max-width:380px;line-height:1.55}.skeleton{background:linear-gradient(90deg,var(--itr-surface-sunken) 25%,color-mix(in srgb,var(--itr-border) 60%,var(--itr-surface-sunken)) 37%,var(--itr-surface-sunken) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;border-radius:var(--itr-radius-sm)}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.spinner{width:16px;height:16px;border:2px solid color-mix(in srgb,var(--itr-text) 18%,transparent);border-top-color:var(--itr-primary);border-radius:999px;animation:spin .7s linear infinite}@keyframes spin{to{rotate:360deg}}.react-grid-item.react-grid-placeholder{background:color-mix(in srgb,var(--itr-primary) 18%,transparent)!important;border:2px dashed var(--itr-primary);border-radius:var(--itr-radius);opacity:1!important}.react-grid-item>.react-resizable-handle{opacity:0;transition:opacity var(--itr-motion)}.react-grid-item:hover>.react-resizable-handle{opacity:.55}.react-grid-item>.react-resizable-handle:after{border-color:var(--itr-text-subtle)!important}.widget{display:flex;flex-direction:column;height:100%;background:var(--itr-surface);border:var(--itr-border-w) solid var(--itr-border);border-radius:var(--itr-radius);overflow:hidden;transition:border-color var(--itr-motion),box-shadow var(--itr-motion)}.widget:hover{border-color:var(--itr-border-strong)}.widget[data-editing=true]{box-shadow:var(--itr-shadow)}.widget-header{display:flex;align-items:center;gap:8px;padding:10px 13px 8px;flex-shrink:0}.widget-title{font-size:12.5px;font-weight:620;letter-spacing:-.004em;color:var(--itr-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.widget-actions{margin-left:auto;display:flex;gap:2px;opacity:0;transition:opacity var(--itr-motion)}.widget:hover .widget-actions,.widget:focus-within .widget-actions{opacity:1}.widget-body{flex:1;min-height:0;padding:0 13px 12px;overflow:hidden;display:flex;flex-direction:column}.widget-drag-handle{cursor:grab}.widget-drag-handle:active{cursor:grabbing}.chart{width:100%;height:100%;display:block;overflow:visible}.chart-grid line{stroke:var(--itr-border);stroke-width:1;shape-rendering:crispEdges}.chart-axis text{fill:var(--itr-text-subtle);font-size:10.5px;font-variant-numeric:tabular-nums}.chart-line{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.chart-area{opacity:.13}.chart-crosshair{stroke:var(--itr-text-subtle);stroke-width:1;stroke-dasharray:3 3;pointer-events:none}.chart-dot{stroke:var(--itr-surface);stroke-width:2}.legend{display:flex;flex-wrap:wrap;gap:4px 14px;padding-top:8px;font-size:11.5px;color:var(--itr-text-muted)}.legend-item{display:inline-flex;align-items:center;gap:6px;cursor:pointer;transition:opacity var(--itr-motion)}.legend-item[data-muted=true]{opacity:.35}.legend-swatch{width:9px;height:9px;border-radius:2px;flex-shrink:0}.tooltip{position:fixed;z-index:60;pointer-events:none;padding:8px 10px;min-width:130px;background:var(--itr-overlay);border:var(--itr-border-w) solid var(--itr-border-strong);border-radius:var(--itr-radius-sm);box-shadow:var(--itr-shadow);font-size:12px;line-height:1.5}.tooltip-title{font-size:11px;color:var(--itr-text-subtle);margin-bottom:5px;font-variant-numeric:tabular-nums}.tooltip-row{display:flex;align-items:center;gap:7px;justify-content:space-between}.tooltip-row-label{display:inline-flex;align-items:center;gap:6px;color:var(--itr-text-muted)}.tooltip-row-value{font-weight:620;font-variant-numeric:tabular-nums}.status-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:6px;overflow-y:auto;align-content:start;padding-bottom:2px}.status-tile{position:relative;display:flex;flex-direction:column;gap:3px;padding:9px 10px;min-height:54px;border-radius:var(--itr-radius-sm);border:var(--itr-border-w) solid var(--itr-border);background:var(--itr-surface-sunken);color:inherit;overflow:hidden;transition:transform var(--itr-motion),border-color var(--itr-motion)}.status-tile:hover{transform:translateY(-1px);border-color:var(--itr-border-strong);text-decoration:none}.status-tile:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--tile-color)}.status-tile-label{font-size:12px;font-weight:580;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-tile-sub{font-size:11px;color:var(--itr-text-subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-tile[data-health=down]{background:color-mix(in srgb,var(--itr-critical) 11%,var(--itr-surface));border-color:color-mix(in srgb,var(--itr-critical) 32%,transparent)}.status-tile[data-health=degraded]{background:color-mix(in srgb,var(--itr-warning) 12%,var(--itr-surface));border-color:color-mix(in srgb,var(--itr-warning) 30%,transparent)}.stat{display:flex;flex-direction:column;justify-content:center;height:100%;gap:3px}.stat-value{font-size:clamp(24px,3.2vw,34px);font-weight:660;letter-spacing:-.028em;line-height:1.05}.stat-label{font-size:12.5px;color:var(--itr-text-muted)}.stat-foot{font-size:11.5px;color:var(--itr-text-subtle);margin-top:3px;line-height:1.5}.stat-delta{display:inline-flex;align-items:center;gap:3px;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.bars{display:flex;flex-direction:column;gap:7px;overflow-y:auto}.bar-row{display:grid;grid-template-columns:minmax(60px,34%) 1fr auto;gap:10px;align-items:center}.bar-label{font-size:12px;color:var(--itr-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-track{height:8px;border-radius:999px;background:var(--itr-surface-sunken);overflow:hidden}.bar-fill{height:100%;border-radius:0 4px 4px 0;transition:width .42s cubic-bezier(.2,0,0,1)}.bar-value{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--itr-text-muted);min-width:44px;text-align:right}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:color-mix(in srgb,#000 45%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade var(--itr-motion) ease}@keyframes fade{0%{opacity:0}}.palette{position:fixed;top:14vh;left:50%;translate:-50% 0;z-index:51;width:min(620px,calc(100vw - 32px));max-height:62vh;display:flex;flex-direction:column;background:var(--itr-overlay);border:var(--itr-border-w) solid var(--itr-border-strong);border-radius:var(--itr-radius-lg);box-shadow:var(--itr-shadow);overflow:hidden;animation:rise .18s cubic-bezier(.2,0,0,1)}@keyframes rise{0%{opacity:0;translate:-50% 8px;scale:.985}}.palette-input{height:50px;padding:0 16px;border:none;border-bottom:var(--itr-border-w) solid var(--itr-border);background:transparent;font-size:15px;outline:none}.palette-list{overflow-y:auto;padding:6px}.palette-group-label{padding:8px 10px 4px;font-size:10.5px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--itr-text-subtle)}.palette-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--itr-radius-sm);cursor:pointer;font-size:13.5px}.palette-item[data-active=true]{background:var(--itr-surface-sunken)}.palette-item-sub{margin-left:auto;font-size:11.5px;color:var(--itr-text-subtle)}.kbd{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border:var(--itr-border-w) solid var(--itr-border);border-bottom-width:2px;border-radius:4px;background:var(--itr-surface-sunken);font-family:var(--itr-font-mono);font-size:10.5px;color:var(--itr-text-subtle)}.drawer{position:fixed;top:0;right:0;bottom:0;z-index:51;width:min(560px,100vw);display:flex;flex-direction:column;background:var(--itr-surface);border-left:var(--itr-border-w) solid var(--itr-border);box-shadow:var(--itr-shadow);animation:slide-in .22s cubic-bezier(.2,0,0,1)}.drawer.wide{width:min(860px,100vw)}@keyframes slide-in{0%{translate:24px 0;opacity:0}}.drawer-header{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:var(--itr-border-w) solid var(--itr-border);flex-shrink:0}.drawer-body{flex:1;overflow-y:auto;padding:18px}.drawer-footer{display:flex;gap:8px;justify-content:flex-end;padding:13px 18px;border-top:var(--itr-border-w) solid var(--itr-border);flex-shrink:0}.run-log{margin:0;padding:12px;max-height:60vh;overflow:auto;font-size:11.5px;line-height:1.55;white-space:pre-wrap;word-break:break-word;background:var(--itr-surface-sunken);border:var(--itr-border-w) solid var(--itr-border);border-radius:var(--itr-radius-sm)}.run-log-error{padding:10px 12px;font-size:13px;line-height:1.5;white-space:pre-wrap;word-break:break-word;color:var(--itr-critical);background:color-mix(in srgb,var(--itr-critical) 9%,transparent);border:var(--itr-border-w) solid color-mix(in srgb,var(--itr-critical) 35%,transparent);border-radius:var(--itr-radius-sm)}.run-error-link{display:block;max-width:100%;padding:0;border:none;background:none;font:inherit;text-align:left;color:var(--itr-critical);cursor:pointer}.run-error-link:hover{text-decoration:underline}.btn-icon[data-intent=bad]{color:var(--itr-critical)}.overlay.conn-lost-overlay{z-index:90}.conn-lost{position:fixed;top:50%;left:50%;translate:-50% -50%;z-index:91;width:min(420px,calc(100vw - 32px));padding:26px 22px 20px;text-align:center;background:var(--itr-overlay);border:var(--itr-border-w) solid var(--itr-border-strong);border-radius:var(--itr-radius-lg);box-shadow:var(--itr-shadow);animation:conn-lost-rise .18s cubic-bezier(.2,0,0,1)}@keyframes conn-lost-rise{0%{opacity:0;translate:-50% calc(-50% + 8px);scale:.985}}.conn-lost-icon{display:grid;place-items:center;width:46px;height:46px;margin:0 auto 14px;border-radius:50%;color:var(--itr-critical);background:color-mix(in srgb,var(--itr-critical) 14%,transparent)}.conn-lost-icon[data-offline]{color:var(--itr-warning);background:color-mix(in srgb,var(--itr-warning) 16%,transparent)}.conn-lost-title{margin:0 0 8px;font-size:16px;font-weight:640;letter-spacing:-.012em}.conn-lost-body{margin:0 0 12px;font-size:13px;line-height:1.5;color:var(--itr-text-subtle)}.conn-lost-meta{margin-bottom:18px;font-size:12px;color:var(--itr-text-subtle)}.toasts{position:fixed;bottom:18px;right:18px;z-index:70;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{display:flex;align-items:flex-start;gap:10px;min-width:280px;max-width:400px;padding:11px 13px;background:var(--itr-overlay);border:var(--itr-border-w) solid var(--itr-border-strong);border-left-width:3px;border-radius:var(--itr-radius-sm);box-shadow:var(--itr-shadow);font-size:13px;pointer-events:auto;animation:toast-in .22s cubic-bezier(.2,0,0,1)}@keyframes toast-in{0%{translate:0 10px;opacity:0}}.toast[data-intent=bad]{border-left-color:var(--itr-critical)}.toast[data-intent=warn]{border-left-color:var(--itr-warning)}.toast[data-intent=good]{border-left-color:var(--itr-success)}.toast[data-intent=info]{border-left-color:var(--itr-info)}.row{display:flex;align-items:center;gap:8px}.col{display:flex;flex-direction:column;gap:8px}.grow{flex:1}.muted{color:var(--itr-text-muted)}.subtle{color:var(--itr-text-subtle)}.mono{font-family:var(--itr-font-mono);font-size:12.5px}.nums{font-variant-numeric:tabular-nums}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page-header{display:flex;align-items:flex-start;gap:14px;margin-bottom:18px}.page-title{font-size:21px;font-weight:650;letter-spacing:-.02em}.page-subtitle{font-size:13px;color:var(--itr-text-subtle);margin-top:3px}.grid-auto{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.stat-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:16px}.stat-chip{padding:12px 14px;border:var(--itr-border-w) solid var(--itr-border);border-radius:var(--itr-radius);background:var(--itr-surface)}.stat-chip-label{font-size:11.5px;color:var(--itr-text-subtle);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.stat-chip-value{font-size:22px;font-weight:660;letter-spacing:-.02em;margin-top:3px;font-variant-numeric:tabular-nums}.stat-chip-sub{font-size:11px;color:var(--itr-text-subtle);margin-top:2px}.stat-chip.alerting{border-color:var(--itr-critical);animation:pulse 1.4s ease-in-out infinite}.bell-ringing{color:var(--itr-critical)!important;animation:pulse 1s ease-in-out infinite}.bell-ringing.bell-ok{color:var(--itr-up)!important}.bell-count-ok{background:var(--itr-up)!important}.bell-count{position:absolute;top:2px;right:2px;min-width:15px;height:15px;padding:0 4px;display:grid;place-items:center;border-radius:999px;background:var(--itr-critical);color:#fff;font-size:9.5px;font-weight:700;line-height:1}.bell-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:51;width:320px;max-height:360px;overflow-y:auto;background:var(--itr-overlay);border:var(--itr-border-w) solid var(--itr-border-strong);border-radius:var(--itr-radius-lg);box-shadow:var(--itr-shadow);animation:rise .16s cubic-bezier(.2,0,0,1)}.bell-item{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;padding:10px 14px;border:none;border-bottom:var(--itr-border-w) solid var(--itr-border);background:none;cursor:pointer;color:inherit}.bell-item:hover{background:var(--itr-surface-sunken)}.bell-item:last-child{border-bottom:none}.netdiagram-scroll{overflow:auto;padding:8px 0 14px;touch-action:none;-webkit-user-select:none;user-select:none}.nd-zoom{margin:0 auto}.nd-canvas{position:relative;transform-origin:0 0}.nd-zoom-controls{display:inline-flex;gap:2px}.nd-canvas .nd-node{position:absolute;width:210px;min-width:0;max-width:none;box-sizing:border-box}.nd-canvas[data-arrange=true] .nd-node{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab}.nd-canvas[data-arrange=true] .nd-node:active{cursor:grabbing}.nd-node[data-moving=true]{z-index:3;transform:none;transition:none;box-shadow:var(--itr-shadow);cursor:grabbing}.nd-edges{position:absolute;inset:0 auto auto 0;pointer-events:none;overflow:visible}.nd-edges path{fill:none;stroke:var(--itr-border-strong);stroke-width:1.2}.nd-node{display:flex;flex-direction:column;gap:4px;min-width:150px;max-width:190px;padding:9px 12px;background:var(--itr-surface);border:var(--itr-border-w) solid var(--itr-border);border-radius:var(--itr-radius);font-size:12.5px;text-align:left}.nd-node[data-clickable=true]{cursor:pointer;transition:border-color var(--itr-motion),transform var(--itr-motion),box-shadow var(--itr-motion)}.nd-node[data-clickable=true]:hover{border-color:var(--itr-primary);transform:translateY(-1px);box-shadow:var(--itr-shadow)}.nd-node[data-health=down]{border-color:var(--itr-critical)}.nd-node[data-health=degraded]{border-color:var(--itr-warning)}.nd-node[data-selected=true]{border-color:var(--itr-primary);background:color-mix(in srgb,var(--itr-primary) 10%,var(--itr-surface));box-shadow:0 0 0 2px color-mix(in srgb,var(--itr-primary) 30%,transparent)}.nd-node-check{color:var(--itr-primary);flex-shrink:0}.nd-node[data-drag-over=true]{border-color:var(--itr-primary);border-style:dashed;box-shadow:0 0 0 2px color-mix(in srgb,var(--itr-primary) 22%,transparent)}.nd-node-root{align-items:center;text-align:center;border-color:var(--itr-border-strong);min-width:170px}.nd-node-title-row{display:flex;align-items:center;gap:5px;min-width:0}.nd-node-icon{flex-shrink:0;color:var(--itr-text-subtle)}.nd-node-title{font-weight:620;letter-spacing:-.005em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.nd-node-sub{font-size:11px;color:var(--itr-text-subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.nd-node-ip{font-family:var(--itr-font-mono);font-size:11px;color:var(--itr-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.nd-node-addrs{display:flex;flex-direction:column;gap:1px;min-width:0}.nd-node-ip[data-tunnel=true]{color:var(--itr-primary)}.nd-node-ip-icon{vertical-align:-1px;margin-right:3px}.vpn-mask{color:var(--itr-text-subtle)}.nd-vpn-svg{position:absolute;inset:0 auto auto 0;pointer-events:none;overflow:visible}.nd-vpn-label{position:absolute;z-index:2;pointer-events:none;translate:-50% -50%;display:flex;flex-direction:column;align-items:center;gap:1px;padding:3px 8px;background:var(--itr-surface);border:var(--itr-border-w) dashed var(--itr-primary);border-radius:var(--itr-radius);font-size:11px;white-space:nowrap;box-shadow:var(--itr-shadow)}.nd-vpn-label-name{font-weight:600}.nd-vpn-label-ends{font-family:var(--itr-font-mono);font-size:10.5px;color:var(--itr-text-muted)}.nd-node-group{align-items:center;text-align:center;color:var(--itr-text-subtle);font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;border-style:dashed}@media(max-width:860px){.shell{grid-template-columns:1fr}.sidebar{position:fixed;inset:0 auto 0 0;z-index:40;translate:-100% 0;transition:translate var(--itr-motion) cubic-bezier(.2,0,0,1);box-shadow:var(--itr-shadow)}.sidebar[data-open=true]{translate:0 0}.content{padding:14px}.topbar{padding:0 14px}.status-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}}@media print{.sidebar,.topbar,.widget-actions,.toasts,.no-print{display:none!important}.content{overflow:visible;padding:0}.widget,.card{break-inside:avoid;border-color:#ccc}}
