.app-brand[data-v-9770318d]{flex-direction:column;line-height:1.2;display:flex}.app-nav[data-v-9770318d]{gap:16px;margin-left:24px;font-size:14px;display:flex}.app-nav a[data-v-9770318d]{color:var(--text-muted);text-decoration:none}.app-nav a.router-link-active[data-v-9770318d]{color:var(--text);font-weight:600}.app-user[data-v-9770318d]{align-items:center;gap:12px;margin-left:auto;display:flex}.user-email[data-v-9770318d]{color:var(--text-muted);font-size:13px}.sign-out[data-v-9770318d]{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:6px;padding:5px 10px;font-size:12px}.login-card[data-v-9770318d]{border:1px solid var(--border);background:var(--surface);text-align:center;border-radius:10px;max-width:360px;margin:10vh auto 0;padding:32px}.muted[data-v-9770318d]{color:var(--text-muted)}.alert[data-v-9770318d]{border:1px solid var(--error-border);background:var(--error-bg);color:var(--error-text);border-radius:6px;padding:10px 12px;font-size:13px}.google-button[data-v-9770318d]{border:1px solid var(--accent);background:var(--accent);color:var(--accent-text);cursor:pointer;border-radius:6px;padding:10px 18px;font-size:14px}.loading[data-v-dc989fc5]{flex-direction:column;gap:8px;display:flex}.track[data-v-dc989fc5]{background:var(--surface-muted);border-radius:999px;height:4px;position:relative;overflow:hidden}.bar[data-v-dc989fc5]{background:var(--accent);border-radius:999px;height:100%;transition:width .2s}.bar.indeterminate[data-v-dc989fc5]{width:40%;animation:1.1s ease-in-out infinite loading-slide-dc989fc5;position:absolute}@keyframes loading-slide-dc989fc5{0%{left:-40%}to{left:100%}}.label[data-v-dc989fc5]{color:var(--text-muted);font-size:13px}.throughput[data-v-53786c7b]{flex-direction:column;gap:14px;display:flex}.controls[data-v-53786c7b]{flex-wrap:wrap;gap:18px;display:flex}.control[data-v-53786c7b]{align-items:center;gap:8px;display:flex}.control-label[data-v-53786c7b]{color:var(--text-muted);font-size:12px}.toggle[data-v-53786c7b]{border:1px solid var(--border);border-radius:6px;display:inline-flex;overflow:hidden}.toggle button[data-v-53786c7b]{border:none;border-right:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;padding:5px 12px;font-size:12px}.toggle button[data-v-53786c7b]:last-child{border-right:none}.toggle button.active[data-v-53786c7b]{background:var(--accent);color:var(--accent-text)}.truncated[data-v-53786c7b]{color:var(--text-muted);margin:0;font-size:12px}.grid-scroll[data-v-53786c7b]{overflow-x:auto}.grid[data-v-53786c7b]{grid-template-columns:200px repeat(var(--week-count), minmax(38px, 1fr));align-items:center;gap:3px;min-width:max-content;display:grid}.week-head[data-v-53786c7b]{color:var(--text-muted);text-align:center;padding-bottom:2px;font-size:11px}.row-label[data-v-53786c7b]{color:var(--text);white-space:nowrap;text-overflow:ellipsis;padding-right:12px;font-size:13px;font-weight:600;overflow:hidden}.cell[data-v-53786c7b]{--heat-base:#eff2f5;--heat-full:#216e39;font-variant-numeric:tabular-nums;height:26px;color:var(--text);background:var(--heat-base);border-radius:4px;justify-content:center;align-items:center;font-size:11px;display:flex}.cell.empty[data-v-53786c7b]{background:var(--surface-muted)}.cell.strong[data-v-53786c7b]{color:#fff}@media (prefers-color-scheme:dark){.cell[data-v-53786c7b]{--heat-base:#1f2a3a;--heat-full:#39d353}.cell.strong[data-v-53786c7b]{color:#0f1720}}.hint[data-v-53786c7b]{color:var(--text-muted);margin:0;font-size:14px}.linear[data-v-da813f3f]{flex-direction:column;gap:16px;margin-top:-32px;display:flex}.subnav[data-v-da813f3f]{border-bottom:1px solid var(--border);align-items:stretch;gap:2px;display:flex}.subnav button[data-v-da813f3f]{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px;padding:7px 10px;font-size:13px}.subnav button.active[data-v-da813f3f]{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.subnav .spacer[data-v-da813f3f]{flex:1}.subnav .refresh[data-v-da813f3f]{color:var(--link)}.login[data-v-da813f3f]{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.settings[data-v-da813f3f]{display:flex}button[data-v-da813f3f]{border:1px solid var(--accent);background:var(--accent);color:var(--accent-text);cursor:pointer;border-radius:6px;padding:8px 14px}button.ghost[data-v-da813f3f]{background:var(--surface);color:var(--text-muted);border-color:var(--border)}button[data-v-da813f3f]:disabled{opacity:.6;cursor:default}.hint[data-v-da813f3f]{color:var(--text-muted);margin:0;font-size:14px}.error[data-v-da813f3f]{border:1px solid var(--error-border);background:var(--error-bg);color:var(--error-text);white-space:pre-wrap;border-radius:6px;margin:0;padding:12px;font-size:13px}.teams[data-v-da813f3f]{border:1px solid var(--border);border-radius:6px;flex-direction:column;display:flex}.team-row[data-v-da813f3f]{border-bottom:1px solid var(--border-subtle);align-items:center;gap:16px;padding:10px 14px;display:flex}.team-row[data-v-da813f3f]:last-child{border-bottom:none}.team-name[data-v-da813f3f]{width:200px;color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:none;font-size:13px;font-weight:600;overflow:hidden}.squares[data-v-da813f3f]{flex-wrap:wrap;gap:4px;display:flex}.square[data-v-da813f3f]{background:var(--border);cursor:pointer;border-radius:3px;width:14px;height:14px;display:block}.group-bar[data-v-da813f3f]{align-items:center;gap:10px;display:flex}.group-label[data-v-da813f3f]{color:var(--text-muted);font-size:12px}.group-toggle[data-v-da813f3f]{border:1px solid var(--border);border-radius:6px;display:inline-flex;overflow:hidden}.group-toggle button[data-v-da813f3f]{border:none;border-right:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:0;padding:5px 12px;font-size:12px}.group-toggle button[data-v-da813f3f]:last-child{border-right:none}.group-toggle button.active[data-v-da813f3f]{background:var(--accent);color:var(--accent-text)}.square.onTrack[data-v-da813f3f]{background:#1a7f4b}.square.atRisk[data-v-da813f3f]{background:#d99000}.square.offTrack[data-v-da813f3f]{background:#b3261e}.square.gray[data-v-da813f3f]{background:#c9ccd1}.badge[data-v-da813f3f]{border:1px solid #0000;border-radius:999px;padding:2px 8px;font-size:11px}.badge.onTrack[data-v-da813f3f]{color:#1a7f4b;background:#1a7f4b1f}.badge.atRisk[data-v-da813f3f]{color:#9a6700;background:#9a670024}.badge.offTrack[data-v-da813f3f]{color:#b3261e;background:#b3261e24}@media (prefers-color-scheme:dark){.badge.onTrack[data-v-da813f3f]{color:#4ade80;background:#4ade8024}.badge.atRisk[data-v-da813f3f]{color:#fbbf24;background:#fbbf2429}.badge.offTrack[data-v-da813f3f]{color:#f87171;background:#f8717129}.square.onTrack[data-v-da813f3f]{background:#4ade80}.square.atRisk[data-v-da813f3f]{background:#fbbf24}.square.offTrack[data-v-da813f3f]{background:#f87171}.square.gray[data-v-da813f3f]{background:#3a4453}}.proj-popover[data-v-da813f3f]{z-index:20;pointer-events:none;background:var(--surface);border:1px solid var(--border);width:max-content;max-width:320px;box-shadow:0 4px 16px var(--shadow);border-radius:8px;padding:10px 12px;position:fixed;transform:translate(-50%,calc(-100% - 8px))}.pp-name[data-v-da813f3f]{color:var(--text);margin-bottom:6px;font-size:13px;font-weight:600}.pp-stale[data-v-da813f3f]{color:var(--text-muted);font-size:12px;font-style:italic}.pp-meta[data-v-da813f3f]{color:var(--text-muted);align-items:center;gap:8px;font-size:12px;display:flex}.pp-body[data-v-da813f3f]{color:var(--text);white-space:pre-wrap;margin:6px 0 0;font-size:12px;line-height:1.45}.panel[data-v-844dd919]{margin:0}.plot[data-v-844dd919]{position:relative}svg[data-v-844dd919]{width:100%;height:auto;display:block}.grid[data-v-844dd919]{stroke:var(--border-subtle);stroke-width:1px}.axis[data-v-844dd919]{stroke:var(--border);stroke-width:1px}.tick[data-v-844dd919]{fill:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11px}.hit.active[data-v-844dd919]{fill:color-mix(in oklab, var(--text) 6%, transparent)}.tooltip[data-v-844dd919]{pointer-events:none;background:var(--surface);border:1px solid var(--border);box-shadow:0 2px 8px var(--shadow);color:var(--text);white-space:nowrap;z-index:5;border-radius:8px;padding:6px 10px;font-size:12px;position:absolute;transform:translate(-50%,calc(-100% - 8px))}.tooltip .val[data-v-844dd919]{font-variant-numeric:tabular-nums;font-weight:650}.tooltip .muted[data-v-844dd919]{color:var(--text-muted)}.metric-card[data-v-a817bc6f]{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px 20px 18px}.head[data-v-a817bc6f]{align-items:center;gap:8px;margin-bottom:14px;display:flex}.swatch[data-v-a817bc6f]{border-radius:3px;flex:none;width:10px;height:10px}.title[data-v-a817bc6f]{color:var(--text);font-size:13px;font-weight:600}.updated[data-v-a817bc6f]{color:var(--text-muted);align-items:center;gap:10px;margin:-8px 0 16px 18px;font-size:12px;display:flex}.refresh[data-v-a817bc6f]{color:var(--link);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px}.refresh[data-v-a817bc6f]:disabled{opacity:.6;cursor:default}.caption[data-v-a817bc6f]{color:var(--text-muted);max-width:72ch;margin:12px 0 6px;font-size:13px;line-height:1.45}.note[data-v-a817bc6f]{color:var(--text-muted);margin:0 0 12px;font-size:12px}.empty[data-v-a817bc6f]{color:var(--text-muted);margin:8px 0;font-size:14px}.error[data-v-a817bc6f]{border:1px solid var(--error-border);background:var(--error-bg);color:var(--error-text);white-space:pre-wrap;border-radius:6px;margin:8px 0;padding:12px;font-size:13px}details[data-v-a817bc6f]{margin-bottom:6px;font-size:13px}summary[data-v-a817bc6f]{cursor:pointer;color:var(--text-muted)}table[data-v-a817bc6f]{border-collapse:collapse;font-variant-numeric:tabular-nums;margin-top:12px;font-size:13px}th[data-v-a817bc6f],td[data-v-a817bc6f]{text-align:right;border-bottom:1px solid var(--border-subtle);padding:4px 16px 4px 0}th[data-v-a817bc6f]:first-child,td[data-v-a817bc6f]:first-child{text-align:left}.sql[data-v-a817bc6f]{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:8px;margin:12px 0 4px;padding:12px 14px;font-size:12px;line-height:1.5;overflow-x:auto}.metrics[data-v-7c9b0e66]{flex-direction:column;gap:20px;margin-top:-32px;display:flex}.subnav[data-v-7c9b0e66]{border-bottom:1px solid var(--border);align-items:stretch;gap:2px;display:flex}.subnav button[data-v-7c9b0e66]{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;align-items:center;gap:6px;margin-bottom:-1px;padding:7px 10px;font-size:13px;display:inline-flex}.subnav button.active[data-v-7c9b0e66]{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.spinner[data-v-7c9b0e66]{border:2px solid var(--border);border-top-color:var(--link);border-radius:50%;width:11px;height:11px;animation:.7s linear infinite spin-7c9b0e66}@keyframes spin-7c9b0e66{to{transform:rotate(360deg)}}.toolbar[data-v-7c9b0e66]{justify-content:flex-end;gap:8px;margin-top:-8px;display:flex}.region-bar[data-v-7c9b0e66]{align-items:center;gap:10px;display:flex}.region-label[data-v-7c9b0e66]{color:var(--text-muted);font-size:12px}.region-group[data-v-7c9b0e66]{border:1px solid var(--border);border-radius:6px;display:inline-flex;overflow:hidden}.region-group button[data-v-7c9b0e66]{border:none;border-right:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;padding:5px 12px;font-size:12px}.region-group button[data-v-7c9b0e66]:last-child{border-right:none}.region-group button.active[data-v-7c9b0e66]{background:var(--accent);color:var(--accent-text)}.connect[data-v-7c9b0e66]{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.connect button[data-v-7c9b0e66]{border:1px solid var(--accent);background:var(--accent);color:var(--accent-text);cursor:pointer;border-radius:6px;padding:8px 14px}.connect button[data-v-7c9b0e66]:disabled{opacity:.6;cursor:default}.hint[data-v-7c9b0e66]{color:var(--text-muted);margin:0;font-size:14px}.error[data-v-7c9b0e66]{border:1px solid var(--error-border);background:var(--error-bg);color:var(--error-text);white-space:pre-wrap;border-radius:6px;margin:0;padding:12px;font-size:13px}.refresh-all[data-v-7c9b0e66]{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:6px;padding:6px 12px;font-size:13px}.cards[data-v-7c9b0e66]{flex-direction:column;gap:20px;display:flex}:root{--bg:#fff;--surface:#fff;--surface-muted:#f6f8fa;--text:#18212f;--text-muted:#55606f;--border:#d8dee7;--border-subtle:#eceff3;--accent:#18212f;--accent-text:#fff;--link:#2f6feb;--error-bg:#fdf1f1;--error-border:#f0b4b4;--error-text:#8a1f1f;--overlay:#18212f66;--shadow:#18212f3d;--series-1:#2a78d6;--series-2:#008300;--series-3:#e87ba4;--series-4:#eda100;--series-5:#1baf7a;--series-6:#eb6834;--series-7:#4a3aa7;--series-8:#e34948;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0f1720;--surface:#18212f;--surface-muted:#1f2a3a;--text:#e6ebf2;--text-muted:#9aa7b8;--border:#2c3849;--border-subtle:#232f3f;--accent:#3b82f6;--accent-text:#fff;--link:#6ea8fe;--error-bg:#3a1e1e;--error-border:#6b2b2b;--error-text:#f3b0b0;--overlay:#0000008c;--shadow:#00000080;--series-1:#3987e5;--series-2:#008300;--series-3:#d55181;--series-4:#c98500;--series-5:#199e70;--series-6:#d95926;--series-7:#9085e9;--series-8:#e66767}}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh}.app-header{border-bottom:1px solid var(--border);align-items:center;min-height:60px;padding:0 24px;display:flex}.app-content{width:min(100% - 48px,1120px);margin:48px auto}h1{letter-spacing:0;margin:0}
