.jsondiffpatch-delta{font-family:Bitstream Vera Sans Mono,DejaVu Sans Mono,Monaco,Courier,monospace;font-size:12px;margin:0;padding:0 0 0 12px;display:inline-block}.jsondiffpatch-delta pre{font-family:Bitstream Vera Sans Mono,DejaVu Sans Mono,Monaco,Courier,monospace;font-size:12px;margin:0;padding:0;display:inline-block}ul.jsondiffpatch-delta,.jsondiffpatch-delta ul{list-style-type:none;padding:0 0 0 20px;margin:0}.jsondiffpatch-added .jsondiffpatch-property-name,.jsondiffpatch-added .jsondiffpatch-value pre,.jsondiffpatch-modified .jsondiffpatch-right-value pre,.jsondiffpatch-textdiff-added{background:#bfb}.jsondiffpatch-deleted .jsondiffpatch-property-name,.jsondiffpatch-deleted pre,.jsondiffpatch-modified .jsondiffpatch-left-value pre,.jsondiffpatch-textdiff-deleted{background:#fbb;text-decoration:line-through}.jsondiffpatch-unchanged,.jsondiffpatch-movedestination{color:gray}.jsondiffpatch-unchanged,.jsondiffpatch-movedestination>.jsondiffpatch-value{transition:all .5s;-webkit-transition:all .5s;overflow-y:hidden}.jsondiffpatch-unchanged-showing .jsondiffpatch-unchanged,.jsondiffpatch-unchanged-showing .jsondiffpatch-movedestination>.jsondiffpatch-value{max-height:100px}.jsondiffpatch-unchanged-hidden .jsondiffpatch-unchanged,.jsondiffpatch-unchanged-hidden .jsondiffpatch-movedestination>.jsondiffpatch-value{max-height:0}.jsondiffpatch-unchanged-hiding .jsondiffpatch-movedestination>.jsondiffpatch-value,.jsondiffpatch-unchanged-hidden .jsondiffpatch-movedestination>.jsondiffpatch-value{display:block}.jsondiffpatch-unchanged-visible .jsondiffpatch-unchanged,.jsondiffpatch-unchanged-visible .jsondiffpatch-movedestination>.jsondiffpatch-value{max-height:100px}.jsondiffpatch-unchanged-hiding .jsondiffpatch-unchanged,.jsondiffpatch-unchanged-hiding .jsondiffpatch-movedestination>.jsondiffpatch-value{max-height:0}.jsondiffpatch-unchanged-showing .jsondiffpatch-arrow,.jsondiffpatch-unchanged-hiding .jsondiffpatch-arrow{display:none}.jsondiffpatch-value{display:inline-block}.jsondiffpatch-property-name{display:inline-block;padding-right:5px;vertical-align:top}.jsondiffpatch-property-name:after{content:": "}.jsondiffpatch-child-node-type-array>.jsondiffpatch-property-name:after{content:": ["}.jsondiffpatch-child-node-type-array:after{content:"],"}div.jsondiffpatch-child-node-type-array:before{content:"["}div.jsondiffpatch-child-node-type-array:after{content:"]"}.jsondiffpatch-child-node-type-object>.jsondiffpatch-property-name:after{content:": {"}.jsondiffpatch-child-node-type-object:after{content:"},"}div.jsondiffpatch-child-node-type-object:before{content:"{"}div.jsondiffpatch-child-node-type-object:after{content:"}"}.jsondiffpatch-value pre:after{content:","}li:last-child>.jsondiffpatch-value pre:after,.jsondiffpatch-modified>.jsondiffpatch-left-value pre:after{content:""}.jsondiffpatch-modified .jsondiffpatch-value{display:inline-block}.jsondiffpatch-modified .jsondiffpatch-right-value{margin-left:5px}.jsondiffpatch-moved .jsondiffpatch-value{display:none}.jsondiffpatch-moved .jsondiffpatch-moved-destination{display:inline-block;background:#ffb;color:#888}.jsondiffpatch-moved .jsondiffpatch-moved-destination:before{content:" => "}ul.jsondiffpatch-textdiff{padding:0}.jsondiffpatch-textdiff-location{color:#bbb;display:inline-block;min-width:60px}.jsondiffpatch-textdiff-line{display:inline-block}.jsondiffpatch-textdiff-line-number:after{content:","}.jsondiffpatch-error{background:red;color:#fff;font-weight:700}:root{--bg: #f6f7f9;--surface: #ffffff;--surface-2: #eef0f3;--border: #dde1e6;--text: #1a1d21;--text-dim: #5f6670;--primary: #4f46e5;--primary-hover: #4338ca;--danger: #d32f2f;--warn: #f59e0b;--ok: #2e7d32;--crash-error: #d32f2f;--crash-dlq: #f59e0b;--crash-incident: #7c3aed;--chart-hover: rgba(0, 0, 0, .04);--active-bg: #eceafd;--unread-bg: #f4f3ff;--radius: 8px;--radius-sm: 5px;--shadow: 0 1px 3px rgba(0, 0, 0, .08);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Inter", sans-serif;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace}[data-theme=dark]{--bg: #111418;--surface: #1a1f26;--surface-2: #232a33;--border: #333b46;--text: #e6e9ed;--text-dim: #97a0ab;--primary: #7b74f0;--primary-hover: #928cf4;--danger: #ef5350;--warn: #d9a514;--ok: #66bb6a;--crash-error: #cf4040;--crash-dlq: #b28a0e;--crash-incident: #8f70e6;--chart-hover: rgba(255, 255, 255, .06);--active-bg: #2d2a52;--unread-bg: #232042;--shadow: 0 1px 3px rgba(0, 0, 0, .4)}[data-theme=dark] .status-active{background:#1d3a20;color:#7ed786}[data-theme=dark] .status-off{background:#2b2f34;color:#9aa2ab}[data-theme=dark] .status-broken{background:#45201f;color:#f28b88}[data-theme=dark] .status-paused{background:#3d3016;color:#e2b93b}[data-theme=dark] .status-deleted{background:#322048;color:#c4a7f5}[data-theme=dark] .status-h-healthy{background:#1d3a20;color:#7ed786}[data-theme=dark] .status-h-degraded{background:#3d3016;color:#e2b93b}[data-theme=dark] .status-h-failing{background:#45201f;color:#f28b88}[data-theme=dark] .status-h-down{background:#b23c3a;color:#fff}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);font-size:14px;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:20px;font-weight:650;margin:0 0 12px}h2{font-size:16px;font-weight:600;margin:0 0 10px}h3{font-size:14px;font-weight:600;margin:0 0 8px}.page-pad{padding:24px}.layout{display:flex;height:100%}.layout-main{flex:1;display:flex;flex-direction:column;min-width:0;overflow:auto}.topbar{display:flex;align-items:center;gap:12px;padding:10px 20px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.topbar .spacer{flex:1}.sidebar{width:230px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);padding:14px;overflow-y:auto}.content{padding:20px;flex:1}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:13px;font-weight:500;cursor:pointer;transition:background .12s}.btn:hover{background:var(--surface-2)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-danger{color:var(--danger);border-color:var(--danger);background:var(--surface)}.btn-sm{padding:4px 9px;font-size:12px}input[type=text],input[type=email],input[type=password],input[type=url],input[type=number],select,textarea{padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;font-family:var(--font);background:var(--surface);color:var(--text);outline:none;width:100%}input:focus,select:focus,textarea:focus{border-color:var(--primary)}label{display:block;font-size:12px;font-weight:600;color:var(--text-dim);margin-bottom:4px}.field{margin-bottom:14px}.field-row{display:flex;gap:12px}.field-row>*{flex:1}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);margin-bottom:16px}table.data{width:100%;border-collapse:collapse;background:var(--surface)}table.data th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);padding:8px 10px;border-bottom:2px solid var(--border);white-space:nowrap}table.data td{padding:9px 10px;border-bottom:1px solid var(--border);vertical-align:middle}table.data tr.clickable{cursor:pointer}table.data th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}table.data th.sortable:hover{color:var(--text)}.star-btn{background:none;border:none;cursor:pointer;font-size:16px;color:var(--warn);padding:2px 4px;line-height:1}.star-btn:hover{transform:scale(1.2)}table.data tr.clickable:hover{background:var(--surface-2)}.chip{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:600;color:#fff;white-space:nowrap}.chip-outline{background:transparent!important;border:1.5px solid}.status-chip{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:700}.status-active{background:#e5f3e6;color:var(--ok)}.status-off{background:#ececec;color:#6b7075}.status-broken{background:#fde8e8;color:var(--danger)}.status-paused{background:#fef3d8;color:#a16207}.status-deleted{background:#f3e8fd;color:#7c3aed}.status-h-healthy{background:#e5f3e6;color:var(--ok)}.status-h-degraded{background:#fef3d8;color:#a16207}.status-h-failing{background:#fde8e8;color:var(--danger)}.status-h-down{background:var(--danger);color:#fff}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--warn);color:#fff;font-size:11px;font-weight:700}.badge-danger{background:var(--danger)}.dim{color:var(--text-dim)}.small{font-size:12px}.mono{font-family:var(--mono)}.mt0{margin-top:0}.flex{display:flex;align-items:center;gap:8px}.flex-wrap{flex-wrap:wrap}.spacer{flex:1}.auth-wrap{display:flex;align-items:center;justify-content:center;height:100%}.auth-card{width:340px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}.auth-card h1{text-align:center;margin-bottom:20px}.auth-error{color:var(--danger);font-size:12.5px;margin:8px 0}.side-section{margin-bottom:18px}.side-title{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);font-weight:700;margin-bottom:6px}.side-item{display:flex;align-items:center;gap:6px;width:100%;padding:5px 8px;border-radius:var(--radius-sm);border:none;background:none;font-size:13px;color:var(--text);cursor:pointer;text-align:left}.side-item:hover{background:var(--surface-2)}.side-item.active{background:var(--active-bg);color:var(--primary);font-weight:600}.side-item .count{margin-left:auto;font-size:11px;color:var(--text-dim)}.side-item.nested{padding-left:24px}.side-scroll{max-height:42vh;overflow-y:auto;scrollbar-width:thin}.notif-item{display:flex;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border)}.notif-item.unread{background:var(--unread-bg)}.notif-dot{width:8px;height:8px;border-radius:50%;margin-top:6px;flex-shrink:0}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:16px}.tab{padding:8px 14px;border:none;background:none;font-size:13.5px;font-weight:500;color:var(--text-dim);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.stat-tiles{display:flex;gap:12px;margin-bottom:16px}.stat-tile{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow)}.stat-tile-value{font-size:26px;font-weight:700;line-height:1.1}.stat-tile-label{font-size:12px;color:var(--text-dim);margin-top:2px}.crash-badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--text);white-space:nowrap}.crash-badge-dot{width:9px;height:9px;border-radius:3px;flex-shrink:0}.chart-legend{display:flex;gap:14px}.chart-tooltip{position:absolute;top:6px;transform:translate(-50%);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 4px 14px #00000021;padding:8px 10px;font-size:12px;pointer-events:none;z-index:20;min-width:130px}.empty{text-align:center;color:var(--text-dim);padding:40px 0}.kv-grid{display:grid;grid-template-columns:160px 1fr;row-gap:8px;column-gap:12px;font-size:13px}.kv-grid dt{color:var(--text-dim);font-weight:500}.kv-grid dd{margin:0}.dropdown{position:absolute;right:0;top:110%;width:340px;max-height:420px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 6px 24px #00000024;z-index:50}.timeline{border-left:2px solid var(--border);margin-left:8px;padding-left:18px}.timeline-entry{position:relative;margin-bottom:18px}.timeline-entry:before{content:"";position:absolute;left:-24.5px;top:4px;width:11px;height:11px;border-radius:50%;background:var(--border)}.timeline-entry.pending:before{background:var(--warn)}.timeline-entry.completed:before{background:var(--ok)}
