:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#f4f4f2;--surface-1:#fcfcfb;--surface-2:#f0efec;--border:#e2e1dc;--grid:#e8e7e3;--text-primary:#0b0b0b;--text-secondary:#52514e;--text-muted:#7a7974;--accent:#2a78d6;--accent-hover:#256abf;--series-1:#2a78d6;--status-good:#0ca30c;--status-warning:#fab219;--status-critical:#d03b3b;--bubble-user:#dbe9fb;color:var(--text-primary);background:var(--page);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.45}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#111110;--surface-1:#1a1a19;--surface-2:#232321;--border:#2f2f2c;--grid:#2a2a28;--text-primary:#fff;--text-secondary:#c3c2b7;--text-muted:#8f8e86;--accent:#3987e5;--accent-hover:#5598e7;--series-1:#3987e5;--bubble-user:#1c3a5e}}*{box-sizing:border-box}body{margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.92em}h1,h2,h3,h4{margin:0;font-weight:600}h2{font-size:15px}h3{color:var(--text-secondary);margin:16px 0 6px;font-size:13px}h4{color:var(--text-secondary);margin:10px 0 4px;font-size:12px}.muted{color:var(--text-muted)}.small{font-size:12px}.center{text-align:center}.nowrap{white-space:nowrap}.ellipsis{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.shell{flex-direction:column;min-height:100vh;display:flex}.nav{background:var(--surface-1);border-bottom:1px solid var(--border);z-index:10;align-items:center;gap:4px;height:52px;padding:0 20px;display:flex;position:sticky;top:0;overflow-x:auto}.nav a{color:var(--text-secondary);white-space:nowrap;border-radius:6px;padding:6px 12px}.nav a:hover{background:var(--surface-2);text-decoration:none}.nav a.active{color:var(--text-primary);background:var(--surface-2);font-weight:600}.brand{margin-right:16px;font-weight:700}.nav-logout{margin-left:auto}main{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:20px}.page{flex-direction:column;gap:16px;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.grid-2{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:16px;display:grid}.grid-3{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:10px;min-width:0;padding:16px}.stack>.card+.card{margin-top:10px}.card-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.card p{margin:0 0 8px}.refetching{opacity:.55;transition:opacity .2s}.button,button.button{border:1px solid var(--border);background:var(--surface-1);color:var(--text-primary);font:inherit;cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;display:inline-flex}.button:hover{background:var(--surface-2);text-decoration:none}.button:disabled{opacity:.5;cursor:default}.button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.button.primary:hover:not(:disabled){background:var(--accent-hover)}.button.recording{border-color:var(--status-critical);color:var(--status-critical)}.link-button{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;padding:0}input[type=search],input[type=password],select,textarea{font:inherit;color:var(--text-primary);background:var(--surface-1);border:1px solid var(--border);border-radius:6px;padding:6px 10px}.checkbox{color:var(--text-secondary);align-items:center;gap:6px;display:inline-flex}.segmented{border:1px solid var(--border);background:var(--surface-1);border-radius:6px;display:inline-flex;overflow:hidden}.segmented button{font:inherit;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:6px 12px}.segmented button+button{border-left:1px solid var(--border)}.segmented button.active{background:var(--surface-2);color:var(--text-primary);font-weight:600}.banner{border:1px solid var(--border);background:var(--surface-1);border-radius:8px;flex-direction:column;gap:2px;padding:10px 14px;display:flex}.banner-error{border-left:4px solid var(--status-critical)}.error-text{color:var(--status-critical)}.status{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:5px;font-size:12px;font-weight:600;display:inline-flex}.status-icon{color:#fff;background:var(--text-muted);border-radius:50%;place-items:center;width:16px;height:16px;font-size:10px;display:inline-grid}.status-ok .status-icon{background:var(--status-good)}.status-warn .status-icon{background:var(--status-warning);color:#0b0b0b}.status-fail .status-icon{background:var(--status-critical)}.tag{background:var(--surface-2);color:var(--text-secondary);border-radius:4px;margin:1px 4px 1px 0;padding:0 6px;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:12px;display:inline-block}.stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.stat{background:var(--surface-1);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.stat-label{color:var(--text-secondary);font-size:12px}.stat-value{margin-top:2px;font-size:24px;font-weight:600}.stat-note{color:var(--text-muted);font-size:12px}.chart{margin:0}.chart-head{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.chart-head figcaption{font-weight:600}.chart-plot{position:relative}.chart svg{width:100%;height:auto;display:block}.chart .grid{stroke:var(--grid);stroke-width:1px}.chart .axis{fill:var(--text-muted);font-size:11px}.chart .bar{fill:var(--series-1)}.chart .bar-hover{opacity:.8}.chart .bar-label{fill:var(--text-secondary);font-size:11px;font-weight:600}.chart g:focus{outline:none}.chart g:focus .bar{opacity:.8}.tooltip{background:var(--surface-1);border:1px solid var(--border);pointer-events:none;white-space:nowrap;border-radius:6px;flex-direction:column;padding:6px 10px;font-size:12px;display:flex;position:absolute;top:0;transform:translate(-50%);box-shadow:0 4px 12px #0000001f}.tooltip span{color:var(--text-secondary)}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th{text-align:left;color:var(--text-secondary);border-bottom:1px solid var(--border);padding:6px 8px;font-size:12px;font-weight:600}.table td{border-bottom:1px solid var(--grid);vertical-align:top;padding:7px 8px}.table .num{text-align:right;font-variant-numeric:tabular-nums}.table.compact td{padding:4px 8px}.table tr.clickable{cursor:pointer}.table tr.clickable:hover td{background:var(--surface-2)}.table .preview{text-overflow:ellipsis;white-space:nowrap;max-width:420px;overflow:hidden}.check-list,.plain-list{margin:0;padding:0;list-style:none}.check-list li{border-bottom:1px solid var(--grid);grid-template-columns:110px auto 1fr;align-items:center;gap:10px;padding:5px 0;display:grid}.check-name{font-weight:600}.plain-list li{align-items:center;gap:10px;padding:4px 0;display:flex}.kv{grid-template-columns:max-content 1fr;gap:4px 14px;margin:0;display:grid}.kv-row{display:contents}.kv dt{color:var(--text-secondary)}.kv dd{overflow-wrap:anywhere;margin:0}.json{background:var(--surface-2);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:6px;max-height:420px;margin:0;padding:10px;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:12px;overflow:auto}.timeline{margin:0;padding:0;list-style:none}.timeline-item{border-bottom:1px solid var(--grid)}.timeline-row{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;grid-template-columns:56px 20px 110px 1fr;gap:8px;padding:7px 4px;display:grid}.timeline-row:hover{background:var(--surface-2)}.timeline-offset{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12px}.timeline-event{color:var(--text-secondary);font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:12px}.timeline-summary{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.timeline-item.level-error .timeline-icon,.timeline-item.level-error .timeline-event{color:var(--status-critical);font-weight:600}.timeline-item.level-warn .timeline-event{font-weight:600}.timeline-detail{padding:4px 8px 12px 84px}.issue-row{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;grid-template-columns:56px 1fr auto;gap:12px;padding:0;display:grid}.issue-count{font-variant-numeric:tabular-nums;font-size:18px;font-weight:600}.issue-main{flex-direction:column;min-width:0;display:flex}.issue-title{font-weight:600}.issue-message{color:var(--text-secondary);overflow-wrap:anywhere}.issue-meta{text-align:right;white-space:nowrap;font-size:12px}.issue-detail{margin-top:12px}.chat-page{height:calc(100vh - 92px)}.chat-log{flex-direction:column;flex:1;gap:10px;padding:8px 2px;display:flex;overflow-y:auto}.bubble-row{display:flex}.bubble-row.user{justify-content:flex-end}.bubble{background:var(--surface-1);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:4px;max-width:min(720px,85%);padding:10px 14px;display:flex}.bubble.user{background:var(--bubble-user);border-color:#0000}.bubble-error{border-left:4px solid var(--status-critical)}.bubble-text{white-space:pre-wrap;overflow-wrap:anywhere}.attachment{color:var(--text-secondary);font-size:12px}.bubble-steps{border-top:1px solid var(--border);margin-top:6px;padding-top:4px}.bubble-steps .timeline-row{grid-template-columns:48px 18px 96px 1fr}.bubble-steps .timeline-detail{padding-left:8px}.composer{background:var(--surface-1);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:8px;padding:10px;display:flex}.composer textarea{resize:vertical;background:0 0;border:none;outline:none;padding:4px}.composer-actions{justify-content:flex-end;gap:8px;display:flex}.composer-attachment{color:var(--text-secondary);gap:10px;font-size:12px;display:flex}.login{place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{flex-direction:column;gap:12px;width:320px;display:flex}.login-card h1{font-size:18px}
