:root{color-scheme:light;--page: #f9f9f7;--surface-1: #fcfcfb;--text-primary: #0b0b0b;--text-secondary: #52514e;--text-muted: #898781;--grid: #e1e0d9;--baseline: #c3c2b7;--border: rgba(11, 11, 11, .1);--series-1: #2a78d6;--meter-track: #cde2fb;--status-good: #0ca30c;--status-warning: #fab219;--status-critical: #d03b3b;--delta-good: #006300}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--page: #0d0d0d;--surface-1: #1a1a19;--text-primary: #ffffff;--text-secondary: #c3c2b7;--text-muted: #898781;--grid: #2c2c2a;--baseline: #383835;--border: rgba(255, 255, 255, .1);--series-1: #3987e5;--meter-track: #16324f;--delta-good: #0ca30c}}*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--text-primary);font:14px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}button,input,select,textarea{font:inherit;color:inherit}.shell{max-width:1080px;margin:0 auto;padding:20px 24px 80px}header.top{display:flex;align-items:center;gap:16px;padding:8px 0 20px}header.top h1{font-size:18px;margin:0;letter-spacing:-.01em}.mode-badge{font-size:11px;font-weight:600;letter-spacing:.04em;padding:2px 8px;border-radius:99px;border:1px solid var(--border);color:var(--text-secondary)}.mode-badge.mock{border-color:var(--status-warning)}nav.tabs{display:flex;gap:4px;margin-left:auto}nav.tabs button{background:none;border:none;padding:6px 12px;border-radius:8px;color:var(--text-secondary);cursor:pointer}nav.tabs button:hover{background:var(--grid)}nav.tabs button.active{background:var(--surface-1);color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--border)}.filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.filters select,.filters input[type=search],.filters input[type=text]{background:var(--surface-1);border:1px solid var(--border);border-radius:8px;padding:6px 10px}.month-nav{display:flex;align-items:center;gap:4px}.month-nav b{min-width:130px;text-align:center;font-weight:600}.month-nav button{background:var(--surface-1);border:1px solid var(--border);border-radius:8px;width:28px;height:28px;cursor:pointer;color:var(--text-secondary)}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:12px;padding:16px 18px;margin-bottom:16px}.card h2{font-size:13px;font-weight:600;color:var(--text-secondary);margin:0 0 12px}.card .head{display:flex;align-items:baseline;gap:12px}.card .head .hint{margin-left:auto;font-size:12px;color:var(--text-muted)}.card .head .hint b.pace-key{display:inline-block;width:2px;height:10px;border-radius:1px;background:var(--text-primary);opacity:.45;margin-right:5px;vertical-align:-1px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:16px}.tile{background:var(--surface-1);border:1px solid var(--border);border-radius:12px;padding:14px 16px}.tile .label{font-size:12px;color:var(--text-secondary)}.tile .value{font-size:26px;font-weight:600;margin-top:2px}.tile .delta{font-size:12px;margin-top:2px;color:var(--text-secondary)}.tile .delta.good{color:var(--delta-good)}.tile .delta.bad{color:var(--status-critical)}.meter-row{display:grid;grid-template-columns:150px 1fr auto;gap:12px;align-items:center;padding:7px 0}.meter-row .name{color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meter-row .nums{color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.meter-row .nums b{color:var(--text-primary);font-weight:600}.meter{position:relative;height:10px;border-radius:5px;background:var(--meter-track)}.meter>i{position:absolute;inset:0 auto 0 0;border-radius:5px;background:var(--series-1);min-width:2px;max-width:100%}.meter>b.pace{position:absolute;top:-4px;bottom:-4px;width:2px;border-radius:1px;background:var(--text-primary);opacity:.45;transform:translate(-1px)}.meter>i.warning{background:var(--status-warning)}.meter>i.critical{background:var(--status-critical)}.flag{font-size:11px;font-weight:600}.flag.warning{color:var(--text-secondary)}.flag.critical{color:var(--status-critical)}.bar-row{display:grid;grid-template-columns:150px 1fr 90px;gap:12px;align-items:center;padding:6px 0}.bar-row .track{height:14px;position:relative}.bar-row .track>i{position:absolute;left:0;top:1px;bottom:1px;border-radius:0 4px 4px 0;background:var(--series-1);min-width:2px}.bar-row .val{text-align:right;color:var(--text-secondary);font-variant-numeric:tabular-nums}table.data{width:100%;border-collapse:collapse}table.data th{text-align:left;font-size:11px;font-weight:600;letter-spacing:.03em;color:var(--text-muted);padding:6px 8px;border-bottom:1px solid var(--grid)}table.data td{padding:7px 8px;border-bottom:1px solid var(--grid)}table.data tr:last-child td{border-bottom:none}table.data td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}table.data td.num.pos{color:var(--delta-good)}.desc{max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sub{color:var(--text-muted);font-size:12px}.badge{display:inline-block;font-size:10px;font-weight:600;letter-spacing:.03em;border:1px solid var(--border);color:var(--text-secondary);border-radius:99px;padding:1px 7px;margin-left:6px;vertical-align:1px}select.cat{background:none;border:1px solid transparent;border-radius:6px;padding:3px 4px;color:var(--text-secondary);max-width:160px}select.cat:hover{border-color:var(--border);background:var(--surface-1)}select.cat.unset{color:var(--status-critical);font-weight:600}button.primary{background:var(--series-1);color:#fff;border:none;border-radius:8px;padding:7px 14px;cursor:pointer;font-weight:600}button.primary:disabled{opacity:.5;cursor:default}button.ghost{background:none;border:1px solid var(--border);border-radius:8px;padding:5px 10px;cursor:pointer;color:var(--text-secondary)}button.ghost:hover{background:var(--grid)}button.tiny{font-size:12px;padding:2px 8px}.suggest{color:var(--text-secondary);font-size:12px;white-space:nowrap}.suggest b{color:var(--text-primary)}tr.rule-row td{background:var(--page)}.rule-editor{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:2px 0}.rule-editor input{background:var(--surface-1);border:1px solid var(--series-1);border-radius:6px;padding:4px 8px;min-width:220px;font-variant-numeric:normal}button.primary.tiny{font-size:12px;padding:3px 10px}.callout{display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-left:3px solid var(--status-warning);border-radius:8px;padding:10px 14px;margin-bottom:16px;background:var(--surface-1);color:var(--text-secondary)}.callout button{margin-left:auto}.field-row{display:flex;gap:8px;align-items:center;margin:8px 0;flex-wrap:wrap}.field-row input,.field-row select,.field-row textarea{background:var(--page);border:1px solid var(--border);border-radius:8px;padding:6px 10px}.field-row input.cap{width:110px;text-align:right;font-variant-numeric:tabular-nums}textarea.token{width:100%;min-height:64px}.login-shell{display:flex;align-items:center;justify-content:center;min-height:80vh}.login-card{width:360px;text-align:center}.login-card h1{font-size:22px;margin:4px 0 2px}.login-card .field-row{justify-content:center}.login-card input{flex:1}.chat-layout{display:grid;grid-template-columns:220px 1fr;gap:16px;align-items:start}.chat-side{display:flex;flex-direction:column;gap:8px}.chat-side ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.chat-side li{display:flex;align-items:center;gap:4px;border-radius:8px;padding:2px}.chat-side li.active{background:var(--surface-1);box-shadow:inset 0 0 0 1px var(--border)}.chat-side button.conv{flex:1;text-align:left;background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:6px 8px;border-radius:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:170px}.chat-side li.active button.conv{color:var(--text-primary)}.chat-main{display:flex;flex-direction:column;min-height:60vh;max-height:75vh}.chat-scroll{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding-bottom:12px}.bubble{max-width:85%;padding:8px 12px;border-radius:12px;white-space:pre-wrap;overflow-wrap:break-word}.bubble.user{align-self:flex-end;background:var(--series-1);color:#fff;border-bottom-right-radius:4px}.bubble.assistant{align-self:flex-start;background:var(--page);border:1px solid var(--border);border-bottom-left-radius:4px}.bubble.md{white-space:normal}.bubble.md>:first-child{margin-top:0}.bubble.md>:last-child{margin-bottom:0}.bubble.md p,.bubble.md ul,.bubble.md ol,.bubble.md table,.bubble.md pre,.bubble.md blockquote{margin:8px 0}.bubble.md h1,.bubble.md h2,.bubble.md h3,.bubble.md h4{font-size:14px;margin:12px 0 4px}.bubble.md ul,.bubble.md ol{padding-left:22px}.bubble.md li{margin:2px 0}.bubble.md code{background:var(--grid);border-radius:4px;padding:1px 5px;font-size:12.5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.bubble.md pre{background:var(--grid);border-radius:8px;padding:10px 12px;overflow-x:auto}.bubble.md pre code{background:none;padding:0}.bubble.md table{border-collapse:collapse;font-variant-numeric:tabular-nums}.bubble.md th,.bubble.md td{border:1px solid var(--grid);padding:4px 10px;text-align:left}.bubble.md th{font-size:11px;color:var(--text-muted);font-weight:600}.bubble.md blockquote{border-left:3px solid var(--grid);padding-left:10px;color:var(--text-secondary)}.bubble.md a{color:var(--series-1)}.bubble.md hr{border:none;border-top:1px solid var(--grid)}.chat-tool{font-style:italic}.chat-input{display:flex;gap:8px;align-items:flex-end;border-top:1px solid var(--grid);padding-top:12px}.chat-input textarea{flex:1;min-height:40px;max-height:140px;resize:vertical;background:var(--page);border:1px solid var(--border);border-radius:10px;padding:9px 12px}.error-text{color:var(--status-critical);font-size:12px}.ok-text{color:var(--delta-good);font-size:12px}.spin{opacity:.55;pointer-events:none}
