repospend 0.0.7 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,9 +2,19 @@
2
2
 
3
3
  All notable changes to RepoSpend will be documented in this file.
4
4
 
5
+ ## 0.0.8
6
+
7
+ - Make `repospend serve` and `npx repospend` recover when the default localhost port is already in use by trying nearby ports instead of exiting with `EADDRINUSE`.
8
+ - Print a clear message when RepoSpend falls back from the requested port to the actual dashboard port.
9
+ - Add a Models view with per-model token shape, API-equivalent cost, cache reuse, top repo, latest activity, and one-click filter into Sessions.
10
+ - Reorder the Overview so the Top repositories and Waste signals panels appear higher on the page.
11
+ - Refresh the dashboard accent color from purple to teal across nav, KPI cards, and the metric timeline.
12
+ - Replace the Sessions page mini-stats with filter-aware totals (tokens, API-equivalent cost, sessions needing review, edits, commands).
13
+ - Make the filters bar scroll with the page instead of sticking to the top.
14
+ - Collapse the "How Agent Friction is classified" explainer into a disclosure to reduce vertical noise on the Agent Friction page.
15
+
5
16
  ## 0.0.7
6
17
 
7
- - Bump RepoSpend package versions to 0.0.7.
8
18
  - Add experimental Cursor support with read-only discovery for local JSONL transcripts and SQLite/vscdb storage, keeping sessions visible when token or cost data is unavailable.
9
19
  - Include Cursor in source filters, dashboard source health, README data-source documentation, and CLI help.
10
20
  - Track known vs. unknown-cost sessions in grouped breakdowns so mixed Cursor or Claude data does not hide partial cost coverage.
package/README.md CHANGED
@@ -121,6 +121,13 @@ token intensity across projects.
121
121
  Repo detail explains why a project stands out, including cost concentration,
122
122
  warnings, token shape, sessions, and command signals.
123
123
 
124
+ ### Models
125
+
126
+ ![RepoSpend models view with fictional model usage and token shape](docs/screenshots/models-view.png)
127
+
128
+ The models view compares token shape, API-equivalent cost, cache reuse, sessions,
129
+ and repo concentration across the models used in the current scan.
130
+
124
131
  ### Sessions
125
132
 
126
133
  ![RepoSpend sessions table with fictional session titles](docs/screenshots/sessions-view.png)
package/dist/cli.js CHANGED
@@ -4491,9 +4491,28 @@ function readPackageVersion() {
4491
4491
  async function startServer(options = {}) {
4492
4492
  const port = options.port ?? Number(process.env.REPOSPEND_PORT ?? 2005);
4493
4493
  const host = options.host ?? "127.0.0.1";
4494
- const app = createServer(options);
4495
- await app.listen({ host, port });
4496
- return { app, url: `http://localhost:${port}` };
4494
+ const candidatePorts = portCandidates(port, options.portFallbackCount ?? 20);
4495
+ let lastError;
4496
+ for (const candidatePort of candidatePorts) {
4497
+ const app = createServer(options);
4498
+ try {
4499
+ await app.listen({ host, port: candidatePort });
4500
+ return { app, url: `http://localhost:${candidatePort}`, port: candidatePort };
4501
+ } catch (error) {
4502
+ await app.close().catch(() => void 0);
4503
+ lastError = error;
4504
+ if (!isAddressInUse(error)) throw error;
4505
+ }
4506
+ }
4507
+ throw lastError;
4508
+ }
4509
+ function portCandidates(startPort, fallbackCount) {
4510
+ if (!Number.isInteger(startPort) || startPort <= 0 || startPort > 65535) return [2005];
4511
+ const count2 = Math.max(0, Math.min(fallbackCount, 100));
4512
+ return Array.from({ length: count2 + 1 }, (_value, index) => startPort + index).filter((port) => port <= 65535);
4513
+ }
4514
+ function isAddressInUse(error) {
4515
+ return Boolean(error && typeof error === "object" && "code" in error && error.code === "EADDRINUSE");
4497
4516
  }
4498
4517
  function validatePricingBody(body) {
4499
4518
  if (!body || typeof body !== "object" || Array.isArray(body)) {
@@ -4537,7 +4556,9 @@ try {
4537
4556
  if (command === "--help" || command === "-h" || command === "help") {
4538
4557
  printHelp();
4539
4558
  } else if (command === "serve") {
4540
- const { url } = await startServer({ port: Number(process.env.REPOSPEND_PORT ?? 2005), serveWeb: true });
4559
+ const requestedPort = Number(process.env.REPOSPEND_PORT ?? 2005);
4560
+ const { url, port } = await startServer({ port: requestedPort, serveWeb: true });
4561
+ if (port !== requestedPort) console.log(`Port ${requestedPort} is already in use; using ${port} instead.`);
4541
4562
  console.log(`RepoSpend dashboard: ${url}`);
4542
4563
  openBrowser(url);
4543
4564
  } else if (command === "scan") {
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "repospend",
3
- "version": "0.0.7",
3
+ "version": "0.0.8",
4
4
  "description": "Local-first dashboard for tracking AI coding token usage by repo, source, session, model, and day.",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Mehmet Mustafa Demir",
@@ -24,6 +24,7 @@
24
24
  "CHANGELOG.md",
25
25
  "SECURITY.md",
26
26
  "docs/PUBLISHING.md",
27
+ "docs/screenshots/*.png",
27
28
  "LICENSE"
28
29
  ],
29
30
  "publishConfig": {
@@ -0,0 +1 @@
1
+ *,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.mb-2{margin-bottom:.5rem}.ml-1{margin-left:.25rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.min-w-0{min-width:0px}.max-w-72{max-width:18rem}.max-w-80{max-width:20rem}.max-w-96{max-width:24rem}.shrink-0{flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.border{border-width:1px}.border-line{--tw-border-opacity: 1;border-color:rgb(217 221 229 / var(--tw-border-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.text-amber{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-plum{--tw-text-opacity: 1;color:rgb(124 58 237 / var(--tw-text-opacity, 1))}.text-slate-100{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.text-teal{--tw-text-opacity: 1;color:rgb(15 118 110 / var(--tw-text-opacity, 1))}.\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 18% 0%,rgba(37,99,235,.12),transparent 26rem),radial-gradient(circle at 88% 8%,rgba(20,184,166,.08),transparent 24rem),#060b12;color:#e5e7eb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,select,input{font:inherit}.panel{border:1px solid rgba(148,163,184,.18);background:linear-gradient(180deg,#0f172ae0,#0a121dd1);border-radius:8px;box-shadow:0 14px 42px #0000003d,inset 0 1px #ffffff08}.panel-heading{display:flex;min-height:56px;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(148,163,184,.16);padding:12px 16px}.panel-heading h2{font-size:15px;font-weight:650;color:#f8fafc}.panel-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.chart-panel{display:flex;min-width:0;flex-direction:column}.chart-panel-body{flex:1;min-height:0}.app-shell{display:grid;min-height:100vh;grid-template-columns:260px minmax(0,1fr)}.app-shell.sidebar-collapsed{grid-template-columns:72px minmax(0,1fr)}.sidebar{position:sticky;top:0;display:flex;height:100vh;flex-direction:column;gap:22px;border-right:1px solid rgba(148,163,184,.18);background:#030712d1;padding:22px 16px;transition:width .16s ease,padding .16s ease;overflow:hidden}.sidebar-collapsed .sidebar{align-items:center;padding:18px 10px}.brand-lockup{display:flex;align-items:center;gap:12px;padding:4px;min-width:0;width:100%}.brand-mark{display:grid;height:38px;width:38px;place-items:center;border-radius:10px;background:linear-gradient(135deg,#6d5dfc,#2dd4bf);color:#fff}.brand-lockup h1{color:#fff;font-size:19px;font-weight:760;letter-spacing:0}.brand-lockup p{color:#94a3b8;font-size:12px}.brand-text{min-width:0}.sidebar-toggle{display:grid;height:30px;width:30px;flex:0 0 auto;place-items:center;border:1px solid rgba(148,163,184,.18);border-radius:8px;background:#0f172ad1;color:#cbd5e1;cursor:pointer;margin-left:auto}.sidebar-toggle:hover{background:#1e293beb;color:#fff}.sidebar-collapsed .brand-lockup{justify-content:center;flex-direction:column;gap:8px}.sidebar-collapsed .brand-text,.sidebar-collapsed .nav-item span,.sidebar-collapsed .sidebar-label,.sidebar-collapsed .sidebar-status div,.sidebar-collapsed .quick-link-label,.sidebar-collapsed .quick-link-external{display:none}.sidebar-collapsed .sidebar-toggle{margin-left:0}.sidebar-nav{display:grid;gap:6px}.nav-item{position:relative;display:flex;min-height:40px;align-items:center;gap:10px;border:1px solid transparent;border-radius:8px;background:transparent;color:#cbd5e1;cursor:pointer;padding:0 11px;text-align:left}.nav-badge{display:inline-flex;min-width:22px;height:22px;align-items:center;justify-content:center;border:1px solid rgba(245,158,11,.36);border-radius:999px;background:#f59e0b1f;color:#fbbf24;font-size:11px;font-weight:800;margin-left:auto;padding:0 6px}.sidebar-collapsed .nav-item{width:42px;justify-content:center;padding:0}.sidebar-collapsed .nav-badge{position:absolute;right:4px;top:4px;min-width:16px;height:16px;font-size:9px;padding:0 4px}.sidebar-collapsed .quick-link{width:42px;justify-content:center;padding:0}.nav-item:hover{background:#94a3b814;color:#fff}.nav-item.active{border-color:#2dd4bf75;background:linear-gradient(135deg,#0d9488eb,#1e40afc2);color:#fff}.sidebar-section{display:grid;gap:8px;border-top:1px solid rgba(148,163,184,.14);padding-top:16px;width:100%}.quick-links{display:grid;gap:7px}.quick-link{--quick-link-accent: #94a3b8;position:relative;display:flex;min-height:38px;min-width:0;align-items:center;gap:9px;overflow:hidden;border:1px solid rgba(148,163,184,.16);border-radius:8px;background:linear-gradient(135deg,#0f172ac7,#020617e6);color:#dbeafe;padding:0 9px;text-decoration:none;transition:background-color .14s ease,border-color .14s ease,color .14s ease,transform .14s ease}.quick-link:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,color-mix(in srgb,var(--quick-link-accent) 18%,transparent),transparent 56%);opacity:0;transition:opacity .14s ease}.quick-link:hover{border-color:color-mix(in srgb,var(--quick-link-accent) 48%,rgba(148,163,184,.2));color:#fff;transform:translateY(-1px)}.quick-link:hover:before{opacity:1}.quick-link-icon,.quick-link-label,.quick-link-external{position:relative;z-index:1}.quick-link-icon{display:grid;width:24px;height:24px;flex:0 0 auto;place-items:center;border:1px solid color-mix(in srgb,var(--quick-link-accent) 36%,transparent);border-radius:7px;background:color-mix(in srgb,var(--quick-link-accent) 12%,rgba(15,23,42,.88));color:var(--quick-link-accent)}.quick-link-label{min-width:0;flex:1 1 auto;overflow:hidden;font-size:13px;font-weight:720;text-overflow:ellipsis;white-space:nowrap}.quick-link-external{flex:0 0 auto;color:#64748b;transition:color .14s ease,transform .14s ease}.quick-link:hover .quick-link-external{color:var(--quick-link-accent);transform:translate(1px,-1px)}.quick-link-codex{--quick-link-accent: #5eead4}.quick-link-claude{--quick-link-accent: #fb923c}.quick-link-cursor{--quick-link-accent: #38bdf8}.quick-link-github{--quick-link-accent: #c4b5fd}.sidebar-label{color:#64748b;font-size:11px;font-weight:700;text-transform:uppercase}.sidebar-status{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;margin-top:auto;border-top:1px solid rgba(148,163,184,.14);color:#e2e8f0;font-size:13px;padding-top:16px}.sidebar-collapsed .sidebar-status{grid-template-columns:1fr;justify-items:center;width:100%}.sidebar-collapsed .sidebar-status .icon-button{margin-top:8px}.sidebar-status span:not(.status-dot){color:#64748b;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:11px}.status-dot{display:inline-block;height:9px;width:9px;border-radius:999px;background:#22c55e;box-shadow:0 0 16px #22c55ebf}.icon-button{display:grid;height:34px;width:34px;place-items:center;border:1px solid rgba(148,163,184,.18);border-radius:8px;background:#0f172ae6;color:#cbd5e1;cursor:pointer}.content-shell{min-width:0;width:100%;max-width:2400px;padding:24px}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.page-title-lockup{display:flex;min-width:0;align-items:center;gap:12px}.page-title-icon{display:grid;height:40px;width:40px;flex:0 0 auto;place-items:center;border:1px solid rgba(45,212,191,.2);border-radius:8px;background:#0f172ab8;color:#5eead4}.page-header h2{color:#fff;font-size:22px;font-weight:760}.page-header p{color:#94a3b8;font-size:13px}.header-filter-strip{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:9px}.header-filter-chip{display:inline-flex;min-height:24px;max-width:240px;align-items:center;border:1px solid rgba(148,163,184,.16);border-radius:999px;background:#0f172aa8;color:#cbd5e1;font-size:11px;font-weight:700;overflow:hidden;padding:3px 8px;text-overflow:ellipsis;white-space:nowrap}.header-filter-chip.strong{border-color:#2dd4bf4d;color:#99f6e4}.header-filter-chip.attention{border-color:#f59e0b52;background:#f59e0b1a;color:#fcd34d}.header-filter-reset{font-size:12px}.page-header-actions{display:flex;flex:0 0 auto;align-items:center;gap:8px}.page-header-badge{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(148,163,184,.16);border-radius:8px;background:#0f172ab8;color:#cbd5e1;font-size:12px;padding:8px 10px}.page-summary-panel{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px}.overview-chart-stack{display:grid;align-items:stretch;gap:16px}.overview-chart-panel{height:100%;min-height:332px}.model-chart-panel{min-height:340px}.model-shape-panel{overflow:hidden}.chart-panel-actions .field{min-width:220px}.model-shape-list{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));padding:14px}.overview-chart-pair{display:grid;align-items:stretch;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.timeline-context-row{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid rgba(148,163,184,.12);margin:-2px 0 12px;padding:0 2px 12px}.timeline-context-item{min-width:0}.timeline-context-item span{display:block;color:#64748b;font-size:11px;font-weight:750;text-transform:uppercase}.timeline-context-item strong{display:block;overflow:hidden;color:#e2e8f0;font-size:13px;font-weight:700;margin-top:3px;text-overflow:ellipsis;white-space:nowrap}.primary-kpi-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.top-actions-card{overflow:hidden}.top-actions-list{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));padding:12px}.top-action-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;min-height:72px;border:1px solid rgba(148,163,184,.14);border-radius:8px;background:#02061742;color:#e2e8f0;cursor:pointer;padding:12px;text-align:left}.top-action-row:hover,.top-action-row:focus-visible{border-color:#2dd4bf57;background:#2dd4bf14;outline:none}.top-action-row strong,.top-action-row small{display:block;min-width:0}.top-action-row strong{color:#f8fafc;font-size:13px;font-weight:760}.top-action-row small{color:#94a3b8;font-size:12px;margin-top:3px}.top-action-icon{display:grid;height:30px;width:30px;place-items:center;border-radius:8px}.top-action-attention{background:#f59e0b1f;color:#fbbf24}.top-action-good{background:#22c55e1f;color:#86efac}.top-action-neutral{background:#6d5dfc24;color:#a78bfa}.kpi-card{overflow:hidden;padding:14px}.kpi-card-strong{border-color:#2dd4bf57;background:linear-gradient(180deg,#0e242ff5,#0b1422e6)}.kpi-label{display:inline-flex;align-items:center;gap:6px;color:#cbd5e1;font-size:12px}.kpi-icon{display:grid;height:28px;width:28px;place-items:center;border:1px solid rgba(45,212,191,.24);border-radius:8px;background:#2dd4bf1f;color:#5eead4}.kpi-value{margin-top:8px;color:#fff;font-size:24px;font-weight:760;line-height:1.1;overflow-wrap:anywhere}.kpi-detail{margin-top:6px;color:#94a3b8;font-size:12px}.kpi-link{max-width:100%;overflow:hidden;color:inherit;cursor:pointer;font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap}.kpi-link:hover,.kpi-link:focus-visible{color:#5eead4;outline:none}.secondary-metric-grid,.data-health-grid,.waste-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.source-breakdown-panel{overflow:hidden}.source-breakdown-grid{display:grid;gap:10px;padding:12px}.source-breakdown-row{display:grid;grid-template-columns:160px repeat(4,minmax(0,1fr));align-items:center;gap:10px;border:1px solid rgba(148,163,184,.12);border-radius:8px;background:#0206173d;padding:10px}.source-note{border-top:1px solid rgba(148,163,184,.12);color:#94a3b8;font-size:12px;padding:10px 14px 12px}.breakdown-heading{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.breakdown-heading-text{justify-self:start}.breakdown-tabs{display:inline-flex;gap:4px;border:1px solid rgba(148,163,184,.16);border-radius:8px;background:#02061747;justify-self:center;padding:4px}.breakdown-tabs button{border:0;border-radius:6px;background:transparent;color:#94a3b8;cursor:pointer;font-size:12px;font-weight:700;padding:6px 10px}.breakdown-tabs button:hover{color:#f8fafc}.breakdown-tabs button.active{background:#2dd4bf1f;color:#5eead4}.data-health-card{overflow:hidden;padding:14px}.data-health-main{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:2px 2px 14px}.data-health-main h2{color:#f8fafc;font-size:15px;font-weight:650}.data-health-main p{color:#94a3b8;font-size:13px}.token-accuracy-card{padding:14px}.token-accuracy-main{padding:2px 2px 14px}.token-accuracy-main h2{color:#f8fafc;font-size:15px;font-weight:650}.token-accuracy-main p{color:#94a3b8;font-size:13px}.token-accuracy-grid,.parser-health-grid{display:grid;gap:12px;grid-template-columns:repeat(5,minmax(0,1fr))}.parser-health-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.panel-inline-heading{display:flex;align-items:center;gap:8px}.panel-inline-heading h2{color:#f8fafc;font-size:15px;font-weight:650}.empty-panel{padding:18px}.loading-state{border-color:#2dd4bf57;margin-top:16px;padding:18px}.loading-state-compact{position:sticky;top:12px;z-index:15;margin-top:12px;padding:12px 14px;box-shadow:0 14px 38px #0000005c,0 0 0 1px #2dd4bf1f}.loading-state-inner{display:flex;align-items:flex-start;gap:12px}.loading-state-icon{height:20px;width:20px;color:#2dd4bf;margin-top:2px}.loading-state h2{color:#f8fafc;font-size:15px;font-weight:760}.loading-state p{color:#94a3b8;font-size:13px;margin-top:3px}.loading-source-grid{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:14px}.loading-source-row{display:flex;align-items:flex-start;gap:8px;min-width:0;border:1px solid rgba(148,163,184,.14);border-radius:8px;background:#0206174d;padding:9px}.loading-source-row strong,.loading-stage-row strong{display:block;color:#e2e8f0;font-size:12px;font-weight:720}.loading-source-row small,.loading-stage-row small{display:block;color:#94a3b8;font-size:11px;line-height:1.35;margin-top:2px}.loading-source-dot{flex:0 0 auto;width:8px;height:8px;border-radius:999px;background:#2dd4bf;margin-top:5px;box-shadow:0 0 0 4px #2dd4bf1a}.loading-source-dot-claude{background:#f59e0b;box-shadow:0 0 0 4px #f59e0b1a}.loading-source-dot-cursor{background:#8b5cf6;box-shadow:0 0 0 4px #8b5cf61a}.loading-source-dot-rtk{background:#38bdf8;box-shadow:0 0 0 4px #38bdf81a}.loading-stage-list{display:grid;gap:8px;margin-top:12px}.loading-stage-row{display:flex;align-items:flex-start;gap:9px;color:#64748b}.loading-stage-row>span{display:grid;place-items:center;flex:0 0 auto;width:22px;height:22px;border:1px solid rgba(148,163,184,.18);border-radius:999px;background:#0f172ab3;color:#94a3b8;font-size:11px;font-weight:800}.loading-stage-row.active>span{border-color:#2dd4bf80;background:#2dd4bf24;color:#ccfbf1}.loading-stage-row.active strong{color:#f8fafc}.loading-state-note{border-top:1px solid rgba(148,163,184,.12);padding-top:10px}.key-insights-grid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.key-insights-list{display:grid;gap:10px}.key-insight{border:1px solid rgba(148,163,184,.14);border-radius:8px;background:#0206176b;color:#dbeafe;font-size:13px;line-height:1.45;padding:12px}.key-insight-topline{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#94a3b8;font-size:11px;font-weight:750;text-transform:uppercase}.key-insight-topline strong{color:#f8fafc;font-size:12px;text-transform:none}.key-insight p{margin-top:7px}.key-insight-good{border-color:#2dd4bf42}.key-insight-attention{border-color:#f59e0b4d}.waste-card{border:1px solid rgba(245,158,11,.24);border-radius:8px;background:#f59e0b14;padding:12px}.waste-good{border-color:#2dd4bf42;background:#2dd4bf12}.button{display:inline-flex;min-height:36px;align-items:center;gap:8px;border:1px solid rgba(148,163,184,.18);border-radius:8px;background:#0f172ad1;color:#dbeafe;padding:7px 10px;text-decoration:none;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.button:hover{background:#1e293be6}.compact-button{min-height:30px;padding:5px 9px}.danger-button{border-color:#ef44446b;background:#7f1d1d47;color:#fecaca}.danger-button:hover{background:#7f1d1d6b;color:#fff1f2}.active-button{border-color:#6d5dfc8c;background:#6d5dfc2e;color:#c4b5fd;font-weight:650}.red-zone{display:flex;align-items:center;justify-content:space-between;gap:16px;border-color:#ef444452}.red-zone h2{color:#fecaca;font-size:15px;font-weight:760}.red-zone p{color:#cbd5e1;font-size:13px;line-height:1.55;margin-top:4px}.red-zone code{color:#fca5a5}.text-button{border:0;background:transparent;color:#2dd4bf;cursor:pointer;font-size:12px;font-weight:700;padding:0;text-decoration:none}.text-button:focus-visible,.button:focus-visible,.icon-button:focus-visible,.sidebar-toggle:focus-visible,.nav-item:focus-visible,.quick-filter:focus-visible,.settings-tab:focus-visible,.repo-detail-tabs button:focus-visible,.session-detail-tabs button:focus-visible,.date-range-shortcuts button:focus-visible,.breakdown-tabs button:focus-visible{outline:2px solid rgba(45,212,191,.76);outline-offset:2px}.row-link-button{border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:700;padding:0;text-align:left}.row-link-button:hover,.row-link-button:focus-visible{color:#5eead4;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:4px}.field{display:flex;min-width:0;flex-direction:column;gap:6px}.filter-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.field>span{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:650;color:#94a3b8}.field select,.field input{min-width:0;height:38px;border:1px solid rgba(148,163,184,.2);border-radius:8px;background:#020617ad;color:#f8fafc;padding:0 10px}.display-control-row,.settings-control-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.settings-toggle-card{display:flex;min-width:0;align-items:flex-start;gap:10px;border:1px solid rgba(148,163,184,.16);border-radius:8px;background:#0206176b;color:#e2e8f0;cursor:pointer;padding:12px}.settings-toggle-card:hover{border-color:#2dd4bf47}.settings-toggle-card input{width:16px;height:16px;margin-top:2px;accent-color:#2dd4bf}.settings-toggle-copy{display:grid;gap:4px}.settings-toggle-copy strong{color:#f8fafc;font-size:13px;font-weight:750}.settings-toggle-copy span{color:#94a3b8;font-size:12px;line-height:1.45}.limit-select{display:grid;gap:6px}.limit-select span{color:#94a3b8;font-size:12px;font-weight:700;text-transform:uppercase}.limit-select select{min-height:38px;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:#0206176b;color:#f8fafc;padding:0 10px}.app-picker-field{min-width:0}.app-picker{display:flex;min-height:38px;min-width:0;flex-wrap:wrap;gap:6px;align-content:flex-start;border:1px solid rgba(148,163,184,.2);border-radius:8px;background:#02061775;overflow:visible;padding:5px}.filter-search-field{display:flex;min-height:32px;align-items:center;gap:7px;border:1px solid rgba(148,163,184,.18);border-radius:8px;background:#02061761;color:#94a3b8;margin-bottom:6px;padding:0 8px}.filter-search-field input{min-width:0;width:100%;border:0;background:transparent;color:#f8fafc;font-size:12px;outline:none}.filter-search-field input::-moz-placeholder{color:#64748b}.filter-search-field input::placeholder{color:#64748b}.filter-empty{align-self:center;color:#94a3b8;font-size:12px;padding:4px 8px}.app-pill{display:inline-flex;max-width:100%;min-height:28px;align-items:center;gap:6px;border:1px solid transparent;border-radius:7px;background:transparent;color:#cbd5e1;cursor:pointer;font-size:12px;font-weight:650;padding:4px 8px}.app-pill:hover{background:#94a3b81a;color:#f8fafc}.app-pill.active{border-color:#2dd4bf57;background:#2dd4bf1f;color:#5eead4}.app-pill span{color:inherit;font-size:inherit;font-weight:inherit;line-height:1.2;overflow-wrap:anywhere;white-space:normal}.date-range-picker{min-width:240px}.date-range-select-row{display:grid}.date-range-shortcuts{display:flex;flex-wrap:wrap;gap:6px}.date-range-shortcuts button{min-height:28px;border:1px solid rgba(148,163,184,.16);border-radius:999px;background:#0f172a8a;color:#94a3b8;cursor:pointer;font-size:12px;font-weight:700;padding:4px 10px}.date-range-shortcuts button:hover,.date-range-shortcuts button.active{border-color:#2dd4bf57;background:#2dd4bf1a;color:#5eead4}.app-label{display:inline-flex;align-items:center;gap:7px;color:#e2e8f0}.source-badge{display:inline-flex;align-items:center;gap:7px;width:-moz-max-content;width:max-content;max-width:100%;border:1px solid rgba(148,163,184,.16);border-radius:999px;background:#0f172ab8;color:#e2e8f0;font-size:12px;font-weight:700;padding:5px 8px}.source-badge-codex{border-color:#5eead43d;color:#99f6e4}.source-badge-claude{border-color:#f59e0b47;color:#fcd34d}.source-badge-cursor{border-color:#38bdf847;color:#7dd3fc}.source-app-cell{display:flex;min-width:0;flex-direction:column;gap:5px}.combo-icon{position:relative;display:inline-flex;width:25px;height:18px;flex:0 0 25px;align-items:center}.combo-icon-main{display:grid;width:18px;height:18px;place-items:center}.combo-icon-main .brand-icon{width:18px;height:18px}.combo-icon-corner{position:absolute;right:0;bottom:-1px;display:grid;width:13px;height:13px;place-items:center;border:1px solid rgba(15,23,42,.96);border-radius:5px;background:#0f172a;box-shadow:0 1px 5px #00000059}.combo-icon-corner .brand-icon{width:11px;height:11px}.combo-icon-claude-vscode .combo-icon-corner,.combo-icon-claude-terminal .combo-icon-corner{background:#fff7ed;border-color:#0f172ae0}.combo-icon-codex-vscode .combo-icon-corner,.combo-icon-codex-terminal .combo-icon-corner{background:#042f2e;border-color:#0f172ae0}.terminal-combo-icon{color:#cbd5e1}.brand-icon{height:16px;width:16px;flex:0 0 auto}.vscode-icon{color:#1f9cf0}.codex-icon{color:#5eead4}.codex-app-icon{filter:drop-shadow(0 1px 2px rgba(99,102,241,.45))}.claude-icon{color:#e8643a}.claude-desktop-icon{color:#f59e0b}.active-filters{display:flex;flex-wrap:wrap;align-items:center;gap:7px;border-top:1px solid rgba(148,163,184,.12);margin-top:12px;padding-top:12px}.active-filter-label{color:#94a3b8;font-size:11px;font-weight:750;text-transform:uppercase}.active-filter-chip{display:inline-flex;min-height:28px;align-items:center;gap:6px;border:1px solid rgba(45,212,191,.28);border-radius:999px;background:#2dd4bf14;color:#dbeafe;cursor:pointer;font-size:12px;font-weight:650;padding:4px 9px}.active-filter-chip.muted{border-color:#94a3b829;background:#0f172a8a;color:#94a3b8;cursor:default}.active-filter-empty{color:#64748b;font-size:12px}.active-filter-reset{margin-left:auto}.filter-panel{position:relative;z-index:4}.source-checklist{display:grid;gap:8px}.source-check-row{display:grid;grid-template-columns:minmax(160px,1.4fr) auto auto minmax(180px,1.6fr);align-items:center;gap:10px;border:1px solid rgba(148,163,184,.14);border-radius:8px;background:#02061742;padding:10px}.source-check-row strong,.source-check-row span{display:block;min-width:0}.source-check-row strong{color:#f8fafc;font-size:13px;font-weight:760}.source-check-row span{color:#94a3b8;font-size:12px;overflow-wrap:anywhere}.source-check-fix{color:#cbd5e1!important}.repo-compact-filters{padding:10px}.repo-compact-filter-row{display:grid;align-items:start;gap:10px;grid-template-columns:repeat(4,minmax(150px,1fr)) auto}.repo-more-filters{position:relative}.repo-more-filters summary{display:inline-flex;min-height:38px;align-items:center;gap:8px;border:1px solid rgba(148,163,184,.18);border-radius:8px;background:#0f172ab8;color:#cbd5e1;cursor:pointer;font-size:12px;font-weight:750;padding:0 12px;list-style:none}.repo-more-filters summary::-webkit-details-marker{display:none}.repo-more-filter-body{position:absolute;right:0;top:calc(100% + 8px);z-index:20;width:min(640px,calc(100vw - 32px));display:grid;gap:12px;border:1px solid rgba(148,163,184,.24);border-radius:10px;background:#111827;box-shadow:0 18px 45px #00000061;padding:12px}.repo-custom-dates{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.repo-filter-date-note{color:#94a3b8;font-size:11px;margin-top:8px}.input{min-width:0;height:38px;border:1px solid rgba(148,163,184,.2);border-radius:8px;background:#020617ad;color:#f8fafc;padding:0 10px}.pricing-table{min-width:860px}.session-controls{display:grid;gap:10px;border-bottom:1px solid rgba(148,163,184,.12);padding:12px 16px}.search-field{display:flex;min-height:38px;align-items:center;gap:8px;border:1px solid rgba(148,163,184,.18);border-radius:8px;background:#02061785;color:#94a3b8;padding:0 10px}.search-field input{min-width:0;width:100%;border:0;background:transparent;color:#f8fafc;outline:none}.quick-filter-row{display:flex;flex-wrap:wrap;gap:7px}.quick-filter{min-height:28px;border:1px solid rgba(148,163,184,.18);border-radius:999px;background:#0f172a9e;color:#cbd5e1;cursor:pointer;font-size:12px;font-weight:650;padding:4px 9px}.quick-filter:hover:not(:disabled),.quick-filter.active{border-color:#2dd4bf57;background:#2dd4bf1f;color:#5eead4}.quick-filter:disabled{cursor:not-allowed;opacity:.38}.price-input{width:124px;height:38px;border:1px solid rgba(148,163,184,.2);border-radius:7px;background:#020617ad;color:#f8fafc;padding:0 8px}.table-wrap{width:100%;overflow-x:auto}.panel>.table-wrap{scrollbar-color:rgba(45,212,191,.42) rgba(15,23,42,.72)}.settings-page{display:grid;gap:16px}.settings-status-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid rgba(45,212,191,.18);border-radius:10px;background:linear-gradient(180deg,#0d222dc7,#09121dc7);padding:14px 16px}.settings-status-title{color:#f8fafc;font-size:14px;font-weight:760}.settings-status-banner p{color:#94a3b8;font-size:13px;margin-top:2px}.settings-tabs{display:flex;flex-wrap:wrap;gap:8px}.settings-tab{min-height:36px;border:1px solid rgba(148,163,184,.14);border-radius:999px;background:#0f172a85;color:#94a3b8;cursor:pointer;font-size:13px;font-weight:700;padding:7px 13px}.settings-tab:hover,.settings-tab.active{border-color:#2dd4bf57;background:#2dd4bf1a;color:#dbeafe}.settings-panel{overflow:hidden}.settings-tab-panel{display:grid;gap:18px;padding:20px}.settings-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.settings-section-header h2{color:#f8fafc;font-size:18px;font-weight:760}.settings-section-header p,.settings-supporting-copy{max-width:860px;color:#94a3b8;font-size:13px;line-height:1.55;margin-top:5px}.settings-primary-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.pricing-toolbar{display:grid;gap:10px}.pricing-filter-group{display:inline-flex;width:-moz-fit-content;width:fit-content;flex-wrap:wrap;gap:7px;border:1px solid rgba(148,163,184,.12);border-radius:999px;background:#0206173d;padding:5px}.pricing-search{max-width:520px}.pricing-add-row{display:grid;gap:10px;grid-template-columns:minmax(220px,520px) auto;justify-content:start}.pricing-meta-row,.source-card-grid,.privacy-grid,.settings-detail-grid{display:grid;gap:12px}.pricing-meta-row{grid-template-columns:repeat(4,minmax(0,1fr))}.settings-table-wrap{border:1px solid rgba(148,163,184,.12);border-radius:10px;background:#02061742}.spacious-pricing-table th,.spacious-pricing-table td{padding:14px 16px}.pricing-model-cell{display:grid;gap:4px;min-width:260px}.pricing-model-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:#94a3b8;font-size:12px}.settings-empty-note{color:#94a3b8;font-size:13px}.settings-supporting-copy{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:0}.settings-supporting-copy code{color:#cbd5e1}.source-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-source-card{display:grid;gap:16px;border:1px solid rgba(148,163,184,.13);border-radius:10px;background:#02061747;padding:16px}.settings-source-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.settings-source-card h3,.settings-subsection h3,.settings-info-panel h2{color:#f8fafc;font-size:15px;font-weight:720}.settings-source-card-header p{color:#94a3b8;font-size:13px;margin-top:3px}.settings-source-metrics,.settings-token-grid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.settings-details{border-top:1px solid rgba(148,163,184,.12);padding-top:10px}.settings-details summary{cursor:pointer;color:#2dd4bf;font-size:12px;font-weight:750}.settings-path-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.settings-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:10px}.privacy-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-info-panel{border-radius:10px;background:#02061742;padding:16px}.settings-info-panel p{color:#94a3b8;font-size:13px;line-height:1.55;margin-top:7px}.advanced-settings-grid{display:grid;gap:16px}.settings-subsection{display:grid;gap:12px;border-radius:10px;background:#0206173d;padding:16px}.settings-danger-zone{margin-top:2px;background:#7f1d1d1f}.pagination-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid rgba(148,163,184,.14);color:#94a3b8;font-size:12px;padding:10px 12px}.results-summary{display:inline-flex;width:-moz-fit-content;width:fit-content;align-items:center;gap:6px;border:1px solid rgba(148,163,184,.14);border-radius:999px;background:#0f172a85;color:#94a3b8;font-size:12px;padding:6px 9px}.panel-heading .results-summary{margin-left:auto}.session-controls .results-summary{align-self:start}.results-summary strong{color:#f8fafc;font-weight:760}.pagination-buttons{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pagination-size{display:inline-flex;align-items:center;gap:6px;color:#94a3b8;font-size:12px;font-weight:700}.pagination-size select{min-height:30px;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:#02061799;color:#f8fafc;padding:0 8px}.pagination-buttons .button{min-height:30px;padding:5px 9px}.pagination-buttons .button:disabled{cursor:not-allowed;opacity:.45}table{width:100%;min-width:1500px;border-collapse:collapse;font-size:13px}.sessions-table th:first-child,.sessions-table td:first-child,.repo-table th:first-child,.repo-table td:first-child,.model-table th:first-child,.model-table td:first-child,.command-health-table th:first-child,.command-health-table td:first-child,.expensive-table th:first-child,.expensive-table td:first-child{position:sticky;left:0;z-index:2;background:#0b1220}.sessions-table th:first-child,.repo-table th:first-child,.model-table th:first-child,.command-health-table th:first-child,.expensive-table th:first-child{z-index:3}.column-menu-wrap{position:relative}.column-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:30;width:280px;max-height:min(560px,72vh);overflow:auto;border:1px solid rgba(148,163,184,.24);border-radius:12px;background:#111827;box-shadow:0 18px 45px #00000061;padding:10px}.column-menu-header{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid rgba(148,163,184,.14);color:#f8fafc;font-size:13px;font-weight:750;padding:2px 2px 8px}.column-menu-group{padding-top:10px}.column-menu-label{color:#94a3b8;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px}.column-menu-option{display:flex;min-height:30px;align-items:center;gap:8px;border-radius:7px;color:#cbd5e1;cursor:pointer;font-size:12px;padding:4px 6px}.column-menu-option:hover{background:#94a3b81a;color:#f8fafc}.column-menu-option input{accent-color:#2dd4bf}thead th{position:sticky;top:0;z-index:1}.expensive-table{min-width:1500px}.compact-table{min-width:980px}th,td{border-bottom:1px solid rgba(148,163,184,.12);padding:12px;text-align:left;white-space:nowrap}th{background:#0f172aad;color:#94a3b8;font-size:12px;font-weight:700}td{color:#e2e8f0}.sort-header{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:inherit;cursor:pointer;padding:0;font-weight:700}.sort-header.active{color:#2dd4bf}.inline-code{border:1px solid rgba(148,163,184,.18);background:#0206178c;color:#cbd5e1;padding:3px 6px;font-size:12px}.price-chip{border:1px solid rgba(148,163,184,.18);background:#0206178c;color:#cbd5e1;padding:4px 7px;font-size:11px}.value-with-detail{cursor:help;text-decoration:underline;text-decoration-color:#2dd4bf61;text-decoration-style:dotted;text-underline-offset:3px;overflow-wrap:anywhere}.mini-stat-label{display:inline-flex;align-items:center;gap:6px;color:#94a3b8;font-size:12px;text-transform:uppercase}.mini-stat-label+div{overflow-wrap:anywhere}.metric-help-button{display:inline-grid;height:18px;width:18px;place-items:center;border:1px solid rgba(45,212,191,.28);border-radius:999px;background:#2dd4bf14;color:#5eead4;line-height:1;vertical-align:middle}.metric-help-button:hover,.metric-help-button:focus-visible{border-color:#2dd4bf94;background:#2dd4bf29;outline:none}.metric-popover-trigger-wrap{display:inline-flex;align-items:center}.metric-popover{position:fixed;z-index:100;width:min(420px,calc(100vw - 24px));max-width:420px;overflow:visible;border:1px solid rgba(148,163,184,.24);border-radius:10px;background:#111827;box-shadow:0 18px 44px #0000006b,0 0 0 1px #0f172a73;color:#e5e7eb;padding:12px;white-space:normal}.metric-popover-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.metric-popover-title{color:#f8fafc;font-size:12px;font-weight:760}.metric-popover-value{margin-top:4px;color:#fff;font-size:20px;font-weight:780;line-height:1.1;word-break:break-word}.metric-popover-body,.metric-popover-note{margin-top:10px;color:#a8b3c7;font-size:12px;font-weight:500;line-height:1.45;white-space:normal;overflow-wrap:anywhere}.metric-popover-note{border-left:2px solid rgba(245,158,11,.54);color:#f8d08c;font-weight:650;padding-left:10px}.metric-popover-section,.metric-popover-footer{margin-top:12px;border-top:1px solid rgba(148,163,184,.14);padding-top:12px}.metric-popover-row{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#94a3b8;font-size:12px;white-space:normal}.metric-popover-row+.metric-popover-row{margin-top:8px}.metric-popover-row strong{color:#e5e7eb;font-weight:720;text-align:right}.metric-popover-close{display:grid;height:24px;width:24px;flex:0 0 auto;place-items:center;border:1px solid rgba(148,163,184,.18);border-radius:8px;color:#cbd5e1}.metric-popover-close:hover,.metric-popover-close:focus-visible{border-color:#94a3b86b;outline:none}.cost-value{font-variant-numeric:tabular-nums}.summary-action{cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}.summary-action:hover{border-color:#6d5dfc8c;box-shadow:0 12px 36px #00000057;transform:translateY(-1px)}.meter{height:10px;overflow:hidden;border:1px solid rgba(148,163,184,.18);border-radius:999px;background:#0f172ae6}.meter div{height:100%;background:linear-gradient(90deg,#6d5dfc,#2dd4bf)}.rtk-impact-bars{display:grid;gap:13px;margin-top:16px}.rtk-impact-stats{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:14px}.rtk-impact-row{display:grid;gap:7px}.rtk-impact-label,.rtk-impact-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#94a3b8;font-size:12px}.rtk-impact-label strong,.rtk-impact-footer strong{color:#f8fafc;font-weight:700}.rtk-impact-track{height:12px;overflow:hidden;border:1px solid rgba(148,163,184,.18);border-radius:999px;background:#0206179e}.rtk-impact-track div{height:100%;border-radius:inherit}.rtk-impact-before div{background:#6d5dfc}.rtk-impact-after div{background:#38bdf8}.rtk-impact-saved div{background:#2dd4bf}.rtk-impact-footer{margin-top:14px;border-top:1px solid rgba(148,163,184,.12);padding-top:12px}.plain-summary-list,.action-list{display:grid;gap:9px;color:#cbd5e1;font-size:14px}.plain-summary-list li,.action-list li{border:1px solid rgba(148,163,184,.12);border-radius:8px;background:#02061752;padding:9px 10px}.signal-list{display:grid;gap:8px;color:#cbd5e1;font-size:13px}.signal-list li{border:1px solid rgba(148,163,184,.12);border-radius:8px;background:#02061752;padding:8px 9px}.section-title-row,.issue-row-badges,.timeline-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.section-title-row{justify-content:space-between}.issue-row{display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;border:1px solid rgba(148,163,184,.12);border-radius:8px;background:#02061752;padding:10px}.timeline-list{display:grid;gap:10px}.timeline-list li{border:1px solid rgba(148,163,184,.12);border-radius:8px;background:#02061752;padding:10px}.timeline-meta{color:#94a3b8;font-size:11px;margin-bottom:6px}.timeline-list p{color:#dbeafe;font-size:13px;line-height:1.55}.timeline-list p:not(.expanded){display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.session-detail-panel{display:grid}.session-detail-heading{display:grid;gap:14px;grid-template-columns:minmax(0,1fr) auto;align-items:start;border-bottom:1px solid rgba(148,163,184,.16);padding:18px}.session-detail-heading h2{overflow:hidden;color:#f8fafc;font-size:19px;font-weight:760;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.session-detail-heading p{margin-top:8px;color:#cbd5e1;font-size:14px}.session-detail-eyebrow{color:#94a3b8;font-size:11px;font-weight:760;letter-spacing:0;text-transform:uppercase}.session-summary-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:9px;color:#94a3b8;font-size:12px;font-weight:650}.session-summary-meta>span:not(.status-badge){display:inline-flex;align-items:center;min-height:24px}.session-summary-meta>span:not(.status-badge):before{content:"";display:inline-block;width:3px;height:3px;border-radius:999px;background:#94a3b89e;margin-right:8px}.session-key-metrics{display:grid;gap:10px;grid-template-columns:repeat(6,minmax(0,1fr));border-bottom:1px solid rgba(148,163,184,.12);padding:14px 18px}.session-detail-tabs{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid rgba(148,163,184,.12);padding:12px 18px}.session-detail-tabs button,.session-filter-buttons button{min-height:34px;border:1px solid rgba(148,163,184,.14);border-radius:999px;background:#0f172a85;color:#94a3b8;cursor:pointer;font-size:13px;font-weight:700;padding:7px 12px}.session-detail-tabs button:hover,.session-detail-tabs button.active,.session-filter-buttons button:hover,.session-filter-buttons button.active{border-color:#2dd4bf57;background:#2dd4bf1a;color:#dbeafe}.session-detail-body{padding:18px}.session-tab-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.session-tab-stack{display:grid;gap:14px}.session-card-wide{grid-column:1 / -1}.session-mini-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.session-timeline-toolbar{display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center}.session-filter-buttons{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.session-message-list{margin:0;padding:0;list-style:none}.metadata-list{display:grid;gap:8px}.metadata-row{display:grid;gap:10px;grid-template-columns:140px minmax(0,1fr);align-items:start;border-bottom:1px solid rgba(148,163,184,.1);padding:8px 0}.metadata-row:last-child{border-bottom:0}.metadata-row span{color:#94a3b8;font-size:12px;font-weight:700}.metadata-row strong{overflow-wrap:anywhere;color:#e2e8f0;font-size:13px;font-weight:650}.detail-muted{color:#cbd5e1;font-size:13px;line-height:1.55}.rtk-install-cmd{flex:1;min-width:0;display:block;padding:7px 10px;border:1px solid rgba(148,163,184,.18);background:#0206178c;color:#cbd5e1;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;border-radius:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rtk-init-row{display:grid;grid-template-columns:170px 1fr auto;align-items:center;gap:8px}.rtk-tool-label{font-size:12px;color:#64748b}.rtk-health-banner{padding:14px}.rtk-health-banner h2{color:#f8fafc;font-size:15px;font-weight:760}.rtk-health-banner p{color:#cbd5e1;font-size:13px}.rtk-health-good{border-color:#2dd4bf47;background:linear-gradient(180deg,#141f36f5,#0d26298a);color:#5eead4}.rtk-health-critical{border-color:#ef444466;background:linear-gradient(180deg,#30141dbd,#0f172aeb);color:#fca5a5}.developer-details-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;border-top:1px solid rgba(148,163,184,.12);padding:12px 14px 0}.recent-command{border:1px solid rgba(148,163,184,.14);background:#02061773;color:#cbd5e1;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;padding:7px 8px}.recent-rtk-list{display:grid;gap:7px}.recent-rtk-item{display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid rgba(148,163,184,.14);border-radius:8px;background:#02061773;padding:9px 10px}.recent-rtk-time,.recent-rtk-savings{color:#94a3b8;font-size:12px;white-space:nowrap}.recent-rtk-command{overflow:hidden;color:#e2e8f0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.rtk-command-table{display:grid;gap:6px}.rtk-command-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;border:1px solid rgba(148,163,184,.14);border-radius:8px;background:#02061773;padding:8px 10px}.session-list{display:grid}.session-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;border-bottom:1px solid rgba(148,163,184,.1);padding:11px 14px}.session-row-button{width:100%;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;text-align:left}.session-row-button:hover,.session-row-button:focus-visible{background:#6d5dfc1f;outline:2px solid rgba(45,212,191,.7);outline-offset:-2px}.session-row-rich{align-items:start}.session-row:last-child{border-bottom:0}.session-icon{display:grid;height:34px;width:34px;place-items:center;border-radius:9px;background:#6d5dfc29;color:#a78bfa}.repo-rank-list{display:grid;gap:12px;padding:14px}.repo-rank-row{display:grid;gap:6px}.repo-rank-topline{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;color:#e2e8f0;font-size:13px}.repo-bar{height:6px;overflow:hidden;border-radius:999px;background:#94a3b81a}.repo-bar div{height:100%;border-radius:inherit}.status-badge{display:inline-flex;align-items:center;border:1px solid rgba(148,163,184,.18);border-radius:999px;background:#0f172ab8;color:#cbd5e1;font-size:11px;font-weight:650;line-height:1;padding:5px 9px;text-transform:capitalize;white-space:nowrap}.status-files-edited,.status-completed,.status-high,.status-medium{border-color:#2dd4bf57;color:#5eead4}.status-high-token,.status-no-code-change,.status-unknown-repo,.status-unknown-surface,.status-low{border-color:#f59e0b57;color:#fbbf24}.status-failed-commands,.status-command-failures-detected,.status-command-issue,.status-command-issues-detected{border-color:#ef444457;color:#fca5a5}.repo-detail-summary,.health-summary-row{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.repo-detail-page,.repo-tab-body{display:grid;gap:16px}.repo-hero{display:grid;gap:18px;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);padding:18px}.repo-hero-main{min-width:0}.repo-hero-eyebrow{color:#94a3b8;font-size:12px;font-weight:750;text-transform:uppercase}.repo-hero h2{color:#f8fafc;font-size:30px;font-weight:820;line-height:1.12;margin-top:6px;overflow-wrap:anywhere}.repo-hero p{color:#cbd5e1;font-size:14px;line-height:1.5;margin-top:8px}.repo-hero-warning{display:inline-flex;align-items:center;gap:8px;color:#fbbf24!important;font-weight:650}.repo-cost-note{color:#94a3b8!important;font-size:12px!important}.repo-hero-metrics{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.repo-detail-tabs{display:flex;flex-wrap:wrap;gap:8px}.repo-detail-tabs button{min-height:36px;border:1px solid rgba(148,163,184,.14);border-radius:999px;background:#0f172a85;color:#94a3b8;cursor:pointer;font-size:13px;font-weight:700;padding:7px 13px}.repo-detail-tabs button:hover,.repo-detail-tabs button.active{border-color:#2dd4bf57;background:#2dd4bf1a;color:#dbeafe}.repo-overview-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr)}.repo-diagnosis-card{border-left:3px solid #2dd4bf}.repo-diagnosis-text{color:#f8fafc;font-size:18px;font-weight:650;line-height:1.45;margin-top:12px}.repo-diagnosis-points{display:grid;gap:8px;margin-top:14px}.repo-diagnosis-points span,.compact-warning,.success-state{border:1px solid rgba(148,163,184,.13);border-radius:8px;background:#0f172a80;color:#cbd5e1;font-size:13px;line-height:1.45;padding:9px 10px}.success-state{border-color:#2dd4bf47;color:#5eead4}.compact-warning{border-color:#f59e0b47;color:#fbbf24}.compact-warning details{margin-top:8px}.compact-warning summary{cursor:pointer;color:#f8fafc;font-weight:750}.repo-warning-card{border-color:#f59e0b57;background:linear-gradient(180deg,#2d1c0aad,#0a121ddb)}.repo-concentration-stats{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}.repo-concentration-list,.repo-review-list,.repo-warning-list,.repo-model-list{display:grid;gap:8px}.repo-concentration-list{margin-top:12px}.repo-concentration-row{display:grid;gap:7px;border:1px solid rgba(148,163,184,.12);border-radius:8px;background:#02061757;color:#e2e8f0;cursor:pointer;padding:9px 10px;text-align:left}.repo-concentration-row span,.repo-review-main strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.repo-concentration-row:hover,.buttonless-row:hover{background:#6d5dfc1f}.repo-review-list{padding:12px}.repo-review-row{display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;border:1px solid rgba(148,163,184,.12);border-radius:8px;background:#02061757;padding:10px 12px}.repo-review-main{display:grid;gap:4px;min-width:0}.repo-review-main span,.repo-model-row span{color:#94a3b8;font-size:12px}.repo-review-metrics{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;color:#cbd5e1;font-size:12px}.repo-warning-list{padding:12px}.repo-warning-row{display:flex;align-items:flex-start;gap:8px;border:1px solid rgba(245,158,11,.18);border-radius:8px;background:#f59e0b14;color:#fbbf24;font-size:13px;line-height:1.45;padding:10px}.repo-model-row{display:grid;gap:4px;border:1px solid rgba(148,163,184,.12);border-radius:8px;background:#02061757;color:#e2e8f0;padding:10px}.buttonless-row{width:100%;cursor:pointer;text-align:left}.cost-outlier-row td:first-child{box-shadow:inset 3px 0 #f59e0b}.cost-outlier-row td{background:#f59e0b0b}.detail-card{border:1px solid rgba(148,163,184,.14);border-radius:8px;background:#0206176b;padding:14px}.detail-card h3{color:#f8fafc;font-size:13px;font-weight:700}.advanced-summary{cursor:pointer;color:#f8fafc;font-weight:650;padding:14px 16px}.badge-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.source-card{display:grid;gap:8px;border:1px solid rgba(148,163,184,.12);border-radius:8px;background:#02061752;padding:10px}.command-health-note{overflow:hidden}.command-health-note h2{color:#f8fafc;font-size:15px;font-weight:700}.command-health-note p{margin-top:6px;color:#cbd5e1;font-size:13px;line-height:1.5}.command-health-note .advanced-summary{border-bottom:0}.command-health-note[open] .advanced-summary{border-bottom:1px solid rgba(148,163,184,.12)}.command-health-note-body{padding:12px 16px 16px}.command-health-table{min-width:1080px}.status-completed,.status-ok,.status-vs-code{border-color:#2dd4bf57;color:#5eead4}.status-partial,.status-setup-debugging,.status-research-only{border-color:#f59e0b57;color:#fbbf24}.status-failed,.status-unknown{border-color:#ef444457;color:#fca5a5}.raw-output{max-height:360px;overflow:auto;background:#0f172a;color:#e2e8f0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.55;margin:0;padding:14px 16px;white-space:pre-wrap}.insights-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.insight-card{border:1px solid rgba(148,163,184,.14);border-radius:8px;background:#0206176b;padding:12px}.insight-good{border-left:3px solid #2dd4bf}.insight-attention{border-left:3px solid #f59e0b}.insight-metric{flex:0 0 auto;border:1px solid rgba(148,163,184,.18);background:#0f172ac7;color:#cbd5e1;padding:3px 6px;font-size:12px;font-weight:650}.severity-pill{display:inline-flex;align-items:center;border:1px solid rgba(148,163,184,.18);border-radius:999px;color:#cbd5e1;font-size:10px;font-weight:760;line-height:1;padding:4px 7px;text-transform:uppercase}.severity-info{border-color:#2dd4bf4d;color:#5eead4}.severity-warning{border-color:#f59e0b57;color:#fbbf24}.severity-critical{border-color:#ef444457;color:#fca5a5}@media(min-width:1800px){.content-shell{padding:24px 32px 32px 24px}.overview-chart-stack{align-items:stretch;grid-template-columns:minmax(520px,1.15fr) repeat(2,minmax(360px,.9fr))}.overview-chart-pair{display:contents}}@media(min-width:2600px){.overview-chart-stack{grid-template-columns:minmax(680px,1.2fr) repeat(2,minmax(520px,.9fr))}}@media(max-width:900px){.insights-grid{grid-template-columns:1fr}}tbody tr{cursor:default}tbody tr.clickable-row{cursor:pointer}tbody tr.clickable-row:focus-visible{background:#6d5dfc29;outline:2px solid rgba(45,212,191,.7);outline-offset:-2px}tbody tr:hover,tbody tr.selected{background:#6d5dfc1f}.mini-stat{min-width:0;border:1px solid rgba(148,163,184,.15);border-radius:8px;background:#0f172a8a;padding:12px}.mini-stat-value{margin-top:5px;overflow-wrap:anywhere;color:#f8fafc;font-size:14px;font-weight:700;line-height:1.35}.warning-pill{display:inline-flex;align-items:center;gap:5px;border:1px solid rgba(245,158,11,.32);background:#f59e0b1a;color:#fbbf24;padding:5px 8px;font-size:12px}.warning-text{overflow-wrap:anywhere;word-break:break-word}.error-state{display:flex;align-items:flex-start;gap:12px;border-color:#ef444452;background:linear-gradient(180deg,#30141db8,#0f172ae0);color:#fca5a5;padding:16px}.error-state strong{display:block;color:#fecaca;font-size:14px;font-weight:760}.error-state p{margin-top:4px;color:#f8d2d2;font-size:13px}.text-slate-500{color:#94a3b8!important}.text-slate-600,.text-slate-700{color:#cbd5e1!important}.text-teal{color:#2dd4bf!important}.text-plum{color:#a78bfa!important}.text-amber{color:#f59e0b!important}.bg-white{background:#0f172ab8!important}.border-line{border-color:#94a3b829!important}@media(max-width:1200px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.sidebar-nav{grid-template-columns:repeat(4,minmax(0,1fr))}.sidebar-section,.sidebar-status{display:none}.dashboard-grid,.overview-chart-pair{grid-template-columns:1fr}.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.repo-compact-filter-row,.repo-hero,.repo-overview-grid{grid-template-columns:1fr}.repo-more-filter-body{left:0;right:auto}.top-actions-list,.primary-kpi-grid,.secondary-metric-grid,.session-key-metrics,.source-breakdown-row,.data-health-grid,.waste-grid,.token-accuracy-grid,.parser-health-grid,.key-insights-grid,.pricing-meta-row,.source-card-grid,.privacy-grid,.settings-detail-grid,.settings-source-metrics,.settings-token-grid,.loading-source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.session-tab-grid{grid-template-columns:1fr}}@media(max-width:700px){.content-shell{padding:16px}.page-header{align-items:flex-start;flex-direction:column}.page-header-actions,.page-header-badge{width:100%}.page-header-badge{justify-content:center}.page-title-lockup{align-items:flex-start}.sidebar-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-grid,.repo-compact-filter-row,.repo-hero-metrics,.repo-detail-summary,.repo-concentration-stats,.repo-custom-dates,.repo-review-row{grid-template-columns:1fr}.repo-review-metrics{justify-content:flex-start}.settings-status-banner,.settings-section-header,.session-detail-heading,.session-timeline-toolbar,.red-zone{align-items:stretch;grid-template-columns:1fr;flex-direction:column}.settings-primary-actions{justify-content:flex-start}.pricing-add-row,.top-actions-list,.primary-kpi-grid,.secondary-metric-grid,.timeline-context-row,.session-key-metrics,.session-mini-grid,.source-breakdown-row,.data-health-grid,.waste-grid,.token-accuracy-grid,.parser-health-grid,.key-insights-grid,.pricing-meta-row,.source-card-grid,.privacy-grid,.settings-detail-grid,.settings-source-metrics,.settings-token-grid,.settings-control-grid,.loading-source-grid{grid-template-columns:1fr}.session-detail-heading h2{white-space:normal}.metadata-row,.recent-rtk-item{grid-template-columns:1fr}.recent-rtk-time,.recent-rtk-savings{white-space:normal}.source-check-row{grid-template-columns:1fr}}@media(min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:1280px){.xl\:col-span-2{grid-column:span 2 / span 2}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-\[1\.15fr_0\.85fr\]{grid-template-columns:1.15fr .85fr}.xl\:grid-cols-\[1\.1fr_0\.9fr\]{grid-template-columns:1.1fr .9fr}}