:root{color-scheme:light dark;--bg: #f6f7f9;--surface: #ffffff;--surface-2: #f0f2f5;--border: #dfe3e8;--text: #14171a;--text-dim: #5b6570;--accent: #1d6fd8;--accent-text: #ffffff;--danger: #c0392b;--warn: #b8860b;--ok: #2e7d32;--radius: 8px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, "SF Mono", Menlo, monospace}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #14171a;--surface: #1d2125;--surface-2: #24292e;--border: #333a41;--text: #e6e9ec;--text-dim: #9aa4ae;--accent: #4a9eff;--danger: #ff6b5b;--warn: #e0a800;--ok: #57c46a}}:root[data-theme=dark]{--bg: #14171a;--surface: #1d2125;--surface-2: #24292e;--border: #333a41;--text: #e6e9ec;--text-dim: #9aa4ae;--accent: #4a9eff;--danger: #ff6b5b;--warn: #e0a800;--ok: #57c46a}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 var(--font)}button{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--radius);padding:7px 14px}button:hover:not(:disabled){background:var(--surface-2)}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);color:var(--accent-text);border-color:transparent}button.primary:hover:not(:disabled){filter:brightness(1.08)}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:7px 10px;width:100%}input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.side{background:var(--surface);border-right:1px solid var(--border);padding:16px 12px;display:flex;flex-direction:column;gap:4px}.side h1{font-size:15px;margin:0 0 12px 8px}.side a{display:block;padding:7px 10px;border-radius:var(--radius);color:var(--text);text-decoration:none}.side a:hover{background:var(--surface-2)}.side a[aria-current=page]{background:var(--accent);color:var(--accent-text)}.side .spacer{flex:1}.main{padding:20px 24px;min-width:0}.main>header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.main h2{margin:0;font-size:18px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border)}th{color:var(--text-dim);font-weight:600;white-space:nowrap}td.mono{font-family:var(--mono);font-size:12px}tbody tr:hover{background:var(--surface-2)}.badge{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px;border:1px solid var(--border)}.badge.ok{color:var(--ok);border-color:currentColor}.badge.err{color:var(--danger);border-color:currentColor}.badge.warn{color:var(--warn);border-color:currentColor}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.filters>*{width:auto;min-width:140px}.muted{color:var(--text-dim)}.center{display:grid;place-items:center;min-height:100vh;padding:16px}.login{width:100%;max-width:340px;display:grid;gap:12px}.error{color:var(--danger)}.embed{width:100%;height:calc(100vh - 90px);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}@media(max-width:720px){.shell{grid-template-columns:1fr}.side{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--border)}.side h1,.side .spacer{display:none}}.main>header{flex-wrap:wrap}.row-gap{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.hint{display:block;font-size:12px;margin-top:2px}td.actions{white-space:nowrap}td.actions button{margin-right:6px}button.danger{color:var(--danger)}a.button{display:inline-block;padding:7px 12px;border-radius:var(--radius);border:1px solid var(--border);text-decoration:none;font-size:13px}a.button.primary{background:var(--accent);color:var(--accent-text);border-color:transparent}.toggle{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:start;cursor:pointer}.toggle input{width:auto;margin:2px 0 0}.grid-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.grid-fields label,.grid-fields label.wide{display:grid;gap:4px;font-size:13px}.grid-fields label.wide{grid-column:1 / -1}.grid-fields span{color:var(--text-dim)}.grid-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}.row-head{display:flex;align-items:center;gap:12px;width:100%;background:none;border:none;padding:0;text-align:left;font:inherit;color:inherit}.row-head:hover:not(:disabled){background:none}.row-head .muted{margin-left:auto}.row-head strong{margin-right:4px}.action-row{border-top:1px solid var(--border);padding-top:10px;display:grid;gap:8px}.action-row:first-child{border-top:none;padding-top:0}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:16px}.tile{display:grid;gap:2px}.tile strong{font-size:24px}.chart .legend{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-dim)}.chart .legend i{width:10px;height:10px;border-radius:2px}.chart .legend i.in{background:var(--accent)}.chart .legend i.out{background:var(--ok)}.bars{display:flex;align-items:flex-end;gap:4px;height:160px;margin-top:12px;overflow-x:auto}.bar-slot{flex:1 1 0;min-width:18px;height:100%;position:relative;display:flex;align-items:flex-end;gap:2px;padding-bottom:18px}.bar{flex:1;border-radius:2px 2px 0 0;min-height:1px}.bar.in{background:var(--accent)}.bar.out{background:var(--ok)}.bar-label{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:10px;color:var(--text-dim);white-space:nowrap;overflow:hidden}.plain-list{list-style:none;margin:0;padding:0}.chat-row{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}.chat-row:last-child{border-bottom:none}.chat-row label{display:flex;align-items:center;gap:8px;flex:1;min-width:0;cursor:pointer}.chat-main{display:flex;flex-direction:column;min-width:0}.chat-title{font-weight:500}.chat-last{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
